Files
red-valley/resources/luxu_admin/web/assets/css.worker-DJu2Ev1v.js

85 lines
989 KiB
JavaScript
Raw Normal View History

2026-03-29 21:41:17 +03:00
(function(){"use strict";class Xc{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?Rt.isErrorNoTelemetry(t)?new Rt(t.message+`
`+t.stack):new Error(t.message+`
`+t.stack):t},0)}}emit(t){this.listeners.forEach(n=>{n(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const Yc=new Xc;function Yt(e){Qc(e)||Yc.onUnexpectedError(e)}function ys(e){if(e instanceof Error){const{name:t,message:n}=e,r=e.stacktrace||e.stack;return{$isError:!0,name:t,message:n,stack:r,noTelemetry:Rt.isErrorNoTelemetry(e)}}return e}const Er="Canceled";function Qc(e){return e instanceof Kc?!0:e instanceof Error&&e.name===Er&&e.message===Er}class Kc extends Error{constructor(){super(Er),this.name=this.message}}class Rt extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof Rt)return t;const n=new Rt;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}}class Ce extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,Ce.prototype)}}function Zc(e,t){const n=this;let r=!1,i;return function(){return r||(r=!0,i=e.apply(n,arguments)),i}}var kn;(function(e){function t(E){return E&&typeof E=="object"&&typeof E[Symbol.iterator]=="function"}e.is=t;const n=Object.freeze([]);function r(){return n}e.empty=r;function*i(E){yield E}e.single=i;function s(E){return t(E)?E:i(E)}e.wrap=s;function a(E){return E||n}e.from=a;function*l(E){for(let F=E.length-1;F>=0;F--)yield E[F]}e.reverse=l;function o(E){return!E||E[Symbol.iterator]().next().done===!0}e.isEmpty=o;function c(E){return E[Symbol.iterator]().next().value}e.first=c;function d(E,F){let A=0;for(const T of E)if(F(T,A++))return!0;return!1}e.some=d;function u(E,F){for(const A of E)if(F(A))return A}e.find=u;function*f(E,F){for(const A of E)F(A)&&(yield A)}e.filter=f;function*m(E,F){let A=0;for(const T of E)yield F(T,A++)}e.map=m;function*v(E,F){let A=0;for(const T of E)yield*F(T,A++)}e.flatMap=v;function*w(...E){for(const F of E)yield*F}e.concat=w;function k(E,F,A){let T=A;for(const P of E)T=F(T,P);return T}e.reduce=k;function*R(E,F,A=E.length){for(F<0&&(F+=E.length),A<0?A+=E.length:A>E.length&&(A=E.length);F<A;F++)yield E[F]}e.slice=R;function I(E,F=Number.POSITIVE_INFINITY){const A=[];if(F===0)return[A,E];const T=E[Symbol.iterator]();for(let P=0;P<F;P++){const j=T.next();if(j.done)return[A,e.empty()];A.push(j.value)}return[A,{[Symbol.iterator](){return T}}]}e.consume=I;async function N(E){const F=[];for await(const A of E)F.push(A);return Promise.resolve(F)}e.asyncToArray=N})(kn||(kn={}));function vf(e){return e}function wf(e,t){}function xs(e){if(kn.is(e)){const t=[];for(const n of e)if(n)try{n.dispose()}catch(r){t.push(r)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function eh(...e){return En(()=>xs(e))}function En(e){return{dispose:Zc(()=>{e()})}}class Qt{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{xs(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Qt.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(t),t}deleteAndLeak(t){t&&this._toDispose.has(t)&&this._toDispose.delete(t)}}class Fn{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new Qt,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}let ae=class Cr{static{this.Undefined=new Cr(void 0)}constructor(t){this.element=t,this.next=Cr.Undefined,this.prev=Cr.Undefined}};class th{constructor(){this._first=ae.Undefined,this._last=ae.Undefined,this._size=0}get size(){return this._size}isEmpty(){retu
`).slice(2).join(`
`))}}class ih extends Error{constructor(t,n){super(t),this.name="ListenerLeakError",this.stack=n}}class sh extends Error{constructor(t,n){super(t),this.name="ListenerRefusalError",this.stack=n}}class Nr{constructor(t){this.value=t}}const ah=2;class Ne{constructor(t){this._size=0,this._options=t,this._leakageMon=this._options?.leakWarningThreshold?new Fr(t?.onListenerError??Yt,this._options?.leakWarningThreshold??rh):void 0,this._perfMon=this._options?._profName?new Dn(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??=(t,n,r)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const l=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(l);const o=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=new sh(`${l}. HINT: Stack shows most frequent listener (${o[1]}-times)`,o[0]);return(this._options?.onListenerError||Yt)(c),Fn.None}if(this._disposed)return Fn.None;n&&(t=t.bind(n));const i=new Nr(t);let s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(i.stack=Rr.create(),s=this._leakageMon.check(i.stack,this._size+1)),this._listeners?this._listeners instanceof Nr?(this._deliveryQueue??=new oh,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._size++;const a=En(()=>{s?.(),this._removeListener(i)});return r instanceof Qt?r.add(a):Array.isArray(r)&&r.push(a),a},this._event}_removeListener(t){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const n=this._listeners,r=n.indexOf(t);if(r===-1)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--,n[r]=void 0;const i=this._deliveryQueue.current===this;if(this._size*ah<=n.length){let s=0;for(let a=0;a<n.length;a++)n[a]?n[s++]=n[a]:i&&(this._deliveryQueue.end--,s<this._deliveryQueue.i&&this._deliveryQueue.i--);n.length=s}}_deliver(t,n){if(!t)return;const r=this._options?.onListenerError||Yt;if(!r){t.value(n);return}try{t.value(n)}catch(i){r(i)}}_deliverQueue(t){const n=t.current._listeners;for(;t.i<t.end;)this._deliver(n[t.i++],t.value);t.reset()}fire(t){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof Nr)this._deliver(this._listeners,t);else{const n=this._deliveryQueue;n.enqueue(this,t,this._listeners.length),this._deliverQueue(n)}this._perfMon?.stop()}hasListeners(){return this._size>0}}class oh{constructor(){this.i=-1,this.end=0}enqueue(t,n,r){this.i=0,this.end=r,this.current=t,this.value=n}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function lh(){return globalThis._VSCODE_NLS_MESSAGES}function Ss(){return globalThis._VSCODE_NLS_LANGUAGE}const ch=Ss()==="pseudo"||typeof document<"u"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function Cs(e,t){let n;return t.length===0?n=e:n=e.replace(/\{(\d+)\}/g,(r,i)=>{const s=i[0],a=t[s];let l=r;return typeof a=="string"?l=a:(typeof a=="number"||typeof a=="boolean"||a===void 0||a===null)&&(l=String(a)),l}),ch&&(n=""+n.replace(/[aouei]/g,"$&$&")+""),n}function ne(e,t,...n){return Cs(typeof e=="number"?hh(e,t):t,n)}function hh(e,t){const n=lh()?.[e];if(typeof n!="string"){if(typeof t=="string")return t;throw new Error(`!!! NLS MISSING: ${e} !!!`)}return n}const Nt="en";let Dr=!1,Ir=!1,Mr=!1,_s=!1,Ar=!1,In,Lr=Nt,ks=Nt,dh,Ge;const Je=
`||e===" "}class Bn{constructor(t,n,r){this.changes=t,this.moves=n,this.hitTimeout=r}}class Ud{constructor(t,n){this.lineRangeMapping=t,this.changes=n}}class Y{static addRange(t,n){let r=0;for(;r<n.length&&n[r].endExclusive<t.start;)r++;let i=r;for(;i<n.length&&n[i].start<=t.endExclusive;)i++;if(r===i)n.splice(r,0,t);else{const s=Math.min(t.start,n[r].start),a=Math.max(t.endExclusive,n[i-1].endExclusive);n.splice(r,i-r,new Y(s,a))}}static tryCreate(t,n){if(!(t>n))return new Y(t,n)}static ofLength(t){return new Y(0,t)}static ofStartAndLength(t,n){return new Y(t,t+n)}constructor(t,n){if(this.start=t,this.endExclusive=n,t>n)throw new Ce(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(t){return new Y(this.start+t,this.endExclusive+t)}deltaStart(t){return new Y(this.start+t,this.endExclusive)}deltaEnd(t){return new Y(this.start,this.endExclusive+t)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(t){return this.start<=t&&t<this.endExclusive}join(t){return new Y(Math.min(this.start,t.start),Math.max(this.endExclusive,t.endExclusive))}intersect(t){const n=Math.max(this.start,t.start),r=Math.min(this.endExclusive,t.endExclusive);if(n<=r)return new Y(n,r)}intersects(t){const n=Math.max(this.start,t.start),r=Math.min(this.endExclusive,t.endExclusive);return n<r}isBefore(t){return this.endExclusive<=t.start}isAfter(t){return this.start>=t.endExclusive}slice(t){return t.slice(this.start,this.endExclusive)}substring(t){return t.substring(this.start,this.endExclusive)}clip(t){if(this.isEmpty)throw new Ce(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,t))}clipCyclic(t){if(this.isEmpty)throw new Ce(`Invalid clipping range: ${this.toString()}`);return t<this.start?this.endExclusive-(this.start-t)%this.length:t>=this.endExclusive?this.start+(t-this.start)%this.length:t}forEach(t){for(let n=this.start;n<this.endExclusive;n++)t(n)}}function zt(e,t){const n=tn(e,t);return n===-1?void 0:e[n]}function tn(e,t,n=0,r=e.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);t(e[a])?i=a+1:s=a}return i-1}function Vd(e,t){const n=Zr(e,t);return n===e.length?void 0:e[n]}function Zr(e,t,n=0,r=e.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);t(e[a])?s=a:i=a+1}return i}class qn{static{this.assertInvariants=!1}constructor(t){this._array=t,this._findLastMonotonousLastIdx=0}findLastMonotonous(t){if(qn.assertInvariants){if(this._prevFindLastPredicate){for(const r of this._array)if(this._prevFindLastPredicate(r)&&!t(r))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=t}const n=tn(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}}class H{static fromRangeInclusive(t){return new H(t.startLineNumber,t.endLineNumber+1)}static joinMany(t){if(t.length===0)return[];let n=new Ve(t[0].slice());for(let r=1;r<t.length;r++)n=n.getUnion(new Ve(t[r].slice()));return n.ranges}static join(t){if(t.length===0)throw new Ce("lineRanges cannot be empty");let n=t[0].startLineNumber,r=t[0].endLineNumberExclusive;for(let i=1;i<t.length;i++)n=Math.min(n,t[i].startLineNumber),r=Math.max(r,t[i].endLineNumberExclusive);return new H(n,r)}static ofLength(t,n){return new H(t,t+n)}static deserialize(t){return new H(t[0],t[1])}constructor(t,n){if(t>n)throw new Ce(`startLineNumber ${t} cannot be after endLineNumberExclusive ${n}`);this.startLineNumber=t,this.endLineNumberExclusive=n}contains(t){return this.startLineNumber<=t&&t<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(t){return new H(this.startLineNumber+t,this.endLineNumberExclusive+t)}deltaLength(t){return new H(this.startLineNumber,this.endLineNumberExclusive+t)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(t){return new H(Math.min(this.startLineNumber,t.startLineNumber),Math.max(this.endLineNumberExclusive,t.
`?(n++,r=0):r++;return new Pt(n,r)}constructor(t,n){this.lineCount=t,this.columnCount=n}isGreaterThanOrEqualTo(t){return this.lineCount!==t.lineCount?this.lineCount>t.lineCount:this.columnCount>=t.columnCount}createRange(t){return this.lineCount===0?new Q(t.lineNumber,t.column,t.lineNumber,t.column+this.columnCount):new Q(t.lineNumber,t.column,t.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(t){return this.lineCount===0?new ce(t.lineNumber,t.column+this.columnCount):new ce(t.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}class $d{constructor(t,n){this.range=t,this.text=n}toSingleEditOperation(){return{range:this.range,text:this.text}}}class De{static inverse(t,n,r){const i=[];let s=1,a=1;for(const o of t){const c=new De(new H(s,o.original.startLineNumber),new H(a,o.modified.startLineNumber));c.modified.isEmpty||i.push(c),s=o.original.endLineNumberExclusive,a=o.modified.endLineNumberExclusive}const l=new De(new H(s,n+1),new H(a,r+1));return l.modified.isEmpty||i.push(l),i}static clip(t,n,r){const i=[];for(const s of t){const a=s.original.intersect(n),l=s.modified.intersect(r);a&&!a.isEmpty&&l&&!l.isEmpty&&i.push(new De(a,l))}return i}constructor(t,n){this.original=t,this.modified=n}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new De(this.modified,this.original)}join(t){return new De(this.original.join(t.original),this.modified.join(t.modified))}toRangeMapping(){const t=this.original.toInclusiveRange(),n=this.modified.toInclusiveRange();if(t&&n)return new Pe(t,n);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new Ce("not a valid diff");return new Pe(new Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new Pe(new Q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new Q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(t,n){if(co(this.original.endLineNumberExclusive,t)&&co(this.modified.endLineNumberExclusive,n))return new Pe(new Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new Pe(Q.fromPositions(new ce(this.original.startLineNumber,1),Tt(new ce(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)),Q.fromPositions(new ce(this.modified.startLineNumber,1),Tt(new ce(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new Pe(Q.fromPositions(Tt(new ce(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),Tt(new ce(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)),Q.fromPositions(Tt(new ce(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),n),Tt(new ce(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),n)));throw new Ce}}function Tt(e,t){if(e.lineNumber<1)return new ce(1,1);if(e.lineNumber>t.length)return new ce(t.length,t[t.length-1].length+1);const n=t[e.lineNumber-1];return e.column>n.length+1?new ce(e.lineNumber,n.length+1):e}function co(e,t){return e>=1&&e<=t.length}class Ye extends De{static fromRangeMappings(t){const n=H.join(t.map(i=>H.fromRangeInclusive(i.originalRange))),r=H.join(t.map(i=>H.fromRangeInclusive(i.modifiedRange)));return new Ye(n,r,t)}constructor(t,n,r){super(t,n),this.innerChanges=r}flip(){return new Ye(this.modified,this.original,this.innerChanges?.map(t=>t.flip()))}withInnerChangesFromLineRanges(){return new Ye(this.original,this.modified,[this.toRangeMapping()])}}class Pe{static assertSorted(t){for(let n=1;n<t.length;n++){const r=t[n-1],i=t[n];if(!(r.originalRange.getEndPosition().isBeforeOrEqual(i.origina
`);this.histogram[l]=(this.histogram[l]||0)+1}this.totalCount=i}computeSimilarity(t){let n=0;const r=Math.max(this.histogram.length,t.histogram.length);for(let i=0;i<r;i++)n+=Math.abs((this.histogram[i]??0)-(t.histogram[i]??0));return 1-n/(this.totalCount+t.totalCount)}}class tu{compute(t,n,r=rn.instance,i){if(t.length===0||n.length===0)return Qe.trivial(t,n);const s=new ri(t.length,n.length),a=new ri(t.length,n.length),l=new ri(t.length,n.length);for(let v=0;v<t.length;v++)for(let w=0;w<n.length;w++){if(!r.isValid())return Qe.trivialTimedOut(t,n);const k=v===0?0:s.get(v-1,w),R=w===0?0:s.get(v,w-1);let I;t.getElement(v)===n.getElement(w)?(v===0||w===0?I=0:I=s.get(v-1,w-1),v>0&&w>0&&a.get(v-1,w-1)===3&&(I+=l.get(v-1,w-1)),I+=i?i(v,w):1):I=-1;const N=Math.max(k,R,I);if(N===I){const E=v>0&&w>0?l.get(v-1,w-1):0;l.set(v,w,E+1),a.set(v,w,3)}else N===k?(l.set(v,w,0),a.set(v,w,1)):N===R&&(l.set(v,w,0),a.set(v,w,2));s.set(v,w,N)}const o=[];let c=t.length,d=n.length;function u(v,w){(v+1!==c||w+1!==d)&&o.push(new oe(new Y(v+1,c),new Y(w+1,d))),c=v,d=w}let f=t.length-1,m=n.length-1;for(;f>=0&&m>=0;)a.get(f,m)===3?(u(f,m),f--,m--):a.get(f,m)===1?f--:m--;return u(-1,-1),o.reverse(),new Qe(o,!1)}}class mo{compute(t,n,r=rn.instance){if(t.length===0||n.length===0)return Qe.trivial(t,n);const i=t,s=n;function a(w,k){for(;w<i.length&&k<s.length&&i.getElement(w)===s.getElement(k);)w++,k++;return w}let l=0;const o=new nu;o.set(0,a(0,0));const c=new ru;c.set(0,o.get(0)===0?null:new fo(null,0,0,o.get(0)));let d=0;e:for(;;){if(l++,!r.isValid())return Qe.trivialTimedOut(i,s);const w=-Math.min(l,s.length+l%2),k=Math.min(l,i.length+l%2);for(d=w;d<=k;d+=2){const R=d===k?-1:o.get(d+1),I=d===w?-1:o.get(d-1)+1,N=Math.min(Math.max(R,I),i.length),E=N-d;if(N>i.length||E>s.length)continue;const F=a(N,E);o.set(d,F);const A=N===R?c.get(d+1):c.get(d-1);if(c.set(d,F!==N?new fo(A,N,E,F-N):A),o.get(d)===i.length&&o.get(d)-d===s.length)break e}}let u=c.get(d);const f=[];let m=i.length,v=s.length;for(;;){const w=u?u.x+u.length:0,k=u?u.y+u.length:0;if((w!==m||k!==v)&&f.push(new oe(new Y(w,m),new Y(k,v))),!u)break;m=u.x,v=u.y,u=u.prev}return f.reverse(),new Qe(f,!1)}}class fo{constructor(t,n,r,i){this.prev=t,this.x=n,this.y=r,this.length=i}}class nu{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(t){return t<0?(t=-t-1,this.negativeArr[t]):this.positiveArr[t]}set(t,n){if(t<0){if(t=-t-1,t>=this.negativeArr.length){const r=this.negativeArr;this.negativeArr=new Int32Array(r.length*2),this.negativeArr.set(r)}this.negativeArr[t]=n}else{if(t>=this.positiveArr.length){const r=this.positiveArr;this.positiveArr=new Int32Array(r.length*2),this.positiveArr.set(r)}this.positiveArr[t]=n}}}class ru{constructor(){this.positiveArr=[],this.negativeArr=[]}get(t){return t<0?(t=-t-1,this.negativeArr[t]):this.positiveArr[t]}set(t,n){t<0?(t=-t-1,this.negativeArr[t]=n):this.positiveArr[t]=n}}class Jn{constructor(t,n,r){this.lines=t,this.range=n,this.considerWhitespaceChanges=r,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let i=this.range.startLineNumber;i<=this.range.endLineNumber;i++){let s=t[i-1],a=0;i===this.range.startLineNumber&&this.range.startColumn>1&&(a=this.range.startColumn-1,s=s.substring(a)),this.lineStartOffsets.push(a);let l=0;if(!r){const c=s.trimStart();l=s.length-c.length,s=c.trimEnd()}this.trimmedWsLengthsByLineIdx.push(l);const o=i===this.range.endLineNumber?Math.min(this.range.endColumn-1-a-l,s.length):s.length;for(let c=0;c<o;c++)this.elements.push(s.charCodeAt(c));i<this.range.endLineNumber&&(this.elements.push(10),this.firstElementOffsetByLineIdx.push(this.elements.length))}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new Y(0,this.length))}getText(t){return this.elements.slice(t.start,t.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(t){return this.elements[t]}get length(){return this.elements.length}getBoundaryScore(t){const n=bo(t>0?this.elements[t-1]:-1),r=bo(t<this
`).length>=15&&au(u,m=>m.length>=2)>=2}),a=hu(e,a),a}function au(e,t){let n=0;for(const r of e)t(r)&&n++;return n}function ou(e,t,n,r){const i=[],s=e.filter(o=>o.modified.isEmpty&&o.original.length>=3).map(o=>new sn(o.original,t,o)),a=new Set(e.filter(o=>o.original.isEmpty&&o.modified.length>=3).map(o=>new sn(o.modified,n,o))),l=new Set;for(const o of s){let c=-1,d;for(const u of a){const f=o.computeSimilarity(u);f>c&&(c=f,d=u)}if(c>.9&&d&&(a.delete(d),i.push(new De(o.range,d.range)),l.add(o.source),l.add(d.source)),!r.isValid())return{moves:i,excludedChanges:l}}return{moves:i,excludedChanges:l}}function lu(e,t,n,r,i,s){const a=[],l=new Fd;for(const f of e)for(let m=f.original.startLineNumber;m<f.original.endLineNumberExclusive-2;m++){const v=`${t[m-1]}:${t[m+1-1]}:${t[m+2-1]}`;l.add(v,{range:new H(m,m+3)})}const o=[];e.sort(jn(f=>f.modified.startLineNumber,Hn));for(const f of e){let m=[];for(let v=f.modified.startLineNumber;v<f.modified.endLineNumberExclusive-2;v++){const w=`${n[v-1]}:${n[v+1-1]}:${n[v+2-1]}`,k=new H(v,v+3),R=[];l.forEach(w,({range:I})=>{for(const E of m)if(E.originalLineRange.endLineNumberExclusive+1===I.endLineNumberExclusive&&E.modifiedLineRange.endLineNumberExclusive+1===k.endLineNumberExclusive){E.originalLineRange=new H(E.originalLineRange.startLineNumber,I.endLineNumberExclusive),E.modifiedLineRange=new H(E.modifiedLineRange.startLineNumber,k.endLineNumberExclusive),R.push(E);return}const N={modifiedLineRange:k,originalLineRange:I};o.push(N),R.push(N)}),m=R}if(!s.isValid())return[]}o.sort(Zd(jn(f=>f.modifiedLineRange.length,Hn)));const c=new Ve,d=new Ve;for(const f of o){const m=f.modifiedLineRange.startLineNumber-f.originalLineRange.startLineNumber,v=c.subtractFrom(f.modifiedLineRange),w=d.subtractFrom(f.originalLineRange).getWithDelta(m),k=v.getIntersection(w);for(const R of k.ranges){if(R.length<3)continue;const I=R,N=R.delta(-m);a.push(new De(N,I)),c.addRange(I),d.addRange(N)}}a.sort(jn(f=>f.original.startLineNumber,Hn));const u=new qn(e);for(let f=0;f<a.length;f++){const m=a[f],v=u.findLastMonotonous(A=>A.original.startLineNumber<=m.original.startLineNumber),w=zt(e,A=>A.modified.startLineNumber<=m.modified.startLineNumber),k=Math.max(m.original.startLineNumber-v.original.startLineNumber,m.modified.startLineNumber-w.modified.startLineNumber),R=u.findLastMonotonous(A=>A.original.startLineNumber<m.original.endLineNumberExclusive),I=zt(e,A=>A.modified.startLineNumber<m.modified.endLineNumberExclusive),N=Math.max(R.original.endLineNumberExclusive-m.original.endLineNumberExclusive,I.modified.endLineNumberExclusive-m.modified.endLineNumberExclusive);let E;for(E=0;E<k;E++){const A=m.original.startLineNumber-E-1,T=m.modified.startLineNumber-E-1;if(A>r.length||T>i.length||c.contains(T)||d.contains(A)||!vo(r[A-1],i[T-1],s))break}E>0&&(d.addRange(new H(m.original.startLineNumber-E,m.original.startLineNumber)),c.addRange(new H(m.modified.startLineNumber-E,m.modified.startLineNumber)));let F;for(F=0;F<N;F++){const A=m.original.endLineNumberExclusive+F,T=m.modified.endLineNumberExclusive+F;if(A>r.length||T>i.length||c.contains(T)||d.contains(A)||!vo(r[A-1],i[T-1],s))break}F>0&&(d.addRange(new H(m.original.endLineNumberExclusive,m.original.endLineNumberExclusive+F)),c.addRange(new H(m.modified.endLineNumberExclusive,m.modified.endLineNumberExclusive+F))),(E>0||F>0)&&(a[f]=new De(new H(m.original.startLineNumber-E,m.original.endLineNumberExclusive+F),new H(m.modified.startLineNumber-E,m.modified.endLineNumberExclusive+F)))}return a}function vo(e,t,n){if(e.trim()===t.trim())return!0;if(e.length>300&&t.length>300)return!1;const i=new mo().compute(new Jn([e],new Q(1,1,1,e.length),!1),new Jn([t],new Q(1,1,1,t.length),!1),n);let s=0;const a=oe.invert(i.diffs,e.length);for(const d of a)d.seq1Range.forEach(u=>{ii(e.charCodeAt(u))||s++});function l(d){let u=0;for(let f=0;f<e.length;f++)ii(d.charCodeAt(f))||u++;return u}const o=l(e.length>t.length?e:t);return s/o>.6&&o>10}function cu(e){if(e.length===0)return e;e.sort(jn(n=>n.original.startLineNumber,Hn));const t=[e[0]];for(let n=1;n<e.length;n++){const r=t[t.length
`)}isStronglyEqual(t,n){return this.lines[t]===this.lines[n]}}function Co(e){let t=0;for(;t<e.length&&(e.charCodeAt(t)===32||e.charCodeAt(t)===9);)t++;return t}class bu{constructor(){this.dynamicProgrammingDiffing=new tu,this.myersDiffingAlgorithm=new mo}computeDiff(t,n,r){if(t.length<=1&&Jd(t,n,(F,A)=>F===A))return new Bn([],[],!1);if(t.length===1&&t[0].length===0||n.length===1&&n[0].length===0)return new Bn([new Ye(new H(1,t.length+1),new H(1,n.length+1),[new Pe(new Q(1,1,t.length,t[t.length-1].length+1),new Q(1,1,n.length,n[n.length-1].length+1))])],[],!1);const i=r.maxComputationTimeMs===0?rn.instance:new eu(r.maxComputationTimeMs),s=!r.ignoreTrimWhitespace,a=new Map;function l(F){let A=a.get(F);return A===void 0&&(A=a.size,a.set(F,A)),A}const o=t.map(F=>l(F.trim())),c=n.map(F=>l(F.trim())),d=new So(o,t),u=new So(c,n),f=d.length+u.length<1700?this.dynamicProgrammingDiffing.compute(d,u,i,(F,A)=>t[F]===n[A]?n[A].length===0?.1:1+Math.log(1+n[A].length):.99):this.myersDiffingAlgorithm.compute(d,u,i);let m=f.diffs,v=f.hitTimeout;m=wo(d,u,m),m=fu(d,u,m);const w=[],k=F=>{if(s)for(let A=0;A<F;A++){const T=R+A,P=I+A;if(t[T]!==n[P]){const j=this.refineDiff(t,n,new oe(new Y(T,T+1),new Y(P,P+1)),i,s);for(const Z of j.mappings)w.push(Z);j.hitTimeout&&(v=!0)}}};let R=0,I=0;for(const F of m){$n(()=>F.seq1Range.start-R===F.seq2Range.start-I);const A=F.seq1Range.start-R;k(A),R=F.seq1Range.endExclusive,I=F.seq2Range.endExclusive;const T=this.refineDiff(t,n,F,i,s);T.hitTimeout&&(v=!0);for(const P of T.mappings)w.push(P)}k(t.length-R);const N=_o(w,t,n);let E=[];return r.computeMoves&&(E=this.computeMoves(N,t,n,o,c,i,s)),$n(()=>{function F(T,P){if(T.lineNumber<1||T.lineNumber>P.length)return!1;const j=P[T.lineNumber-1];return!(T.column<1||T.column>j.length+1)}function A(T,P){return!(T.startLineNumber<1||T.startLineNumber>P.length+1||T.endLineNumberExclusive<1||T.endLineNumberExclusive>P.length+1)}for(const T of N){if(!T.innerChanges)return!1;for(const P of T.innerChanges)if(!(F(P.modifiedRange.getStartPosition(),n)&&F(P.modifiedRange.getEndPosition(),n)&&F(P.originalRange.getStartPosition(),t)&&F(P.originalRange.getEndPosition(),t)))return!1;if(!A(T.modified,n)||!A(T.original,t))return!1}return!0}),new Bn(N,E,v)}computeMoves(t,n,r,i,s,a,l){return su(t,n,r,i,s,a).map(d=>{const u=this.refineDiff(n,r,new oe(d.original.toOffsetRange(),d.modified.toOffsetRange()),a,l),f=_o(u.mappings,n,r,!0);return new Ud(d,f)})}refineDiff(t,n,r,i,s){const l=wu(r).toRangeMapping2(t,n),o=new Jn(t,l.originalRange,s),c=new Jn(n,l.modifiedRange,s),d=o.length+c.length<500?this.dynamicProgrammingDiffing.compute(o,c,i):this.myersDiffingAlgorithm.compute(o,c,i);let u=d.diffs;return u=wo(o,c,u),u=pu(o,c,u),u=uu(o,c,u),u=gu(o,c,u),{mappings:u.map(m=>new Pe(o.translateRange(m.seq1Range),c.translateRange(m.seq2Range))),hitTimeout:d.hitTimeout}}}function _o(e,t,n,r=!1){const i=[];for(const s of Xd(e.map(a=>vu(a,t,n)),(a,l)=>a.original.overlapOrTouch(l.original)||a.modified.overlapOrTouch(l.modified))){const a=s[0],l=s[s.length-1];i.push(new Ye(a.original.join(l.original),a.modified.join(l.modified),s.map(o=>o.innerChanges[0])))}return $n(()=>!r&&i.length>0&&(i[0].modified.startLineNumber!==i[0].original.startLineNumber||n.length-i[i.length-1].modified.endLineNumberExclusive!==t.length-i[i.length-1].original.endLineNumberExclusive)?!1:ro(i,(s,a)=>a.original.startLineNumber-s.original.endLineNumberExclusive===a.modified.startLineNumber-s.modified.endLineNumberExclusive&&s.original.endLineNumberExclusive<a.original.startLineNumber&&s.modified.endLineNumberExclusive<a.modified.startLineNumber)),i}function vu(e,t,n){let r=0,i=0;e.modifiedRange.endColumn===1&&e.originalRange.endColumn===1&&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.mo
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*/var p;(function(e){e[e.Ident=0]="Ident",e[e.AtKeyword=1]="AtKeyword",e[e.String=2]="String",e[e.BadString=3]="BadString",e[e.UnquotedString=4]="UnquotedString",e[e.Hash=5]="Hash",e[e.Num=6]="Num",e[e.Percentage=7]="Percentage",e[e.Dimension=8]="Dimension",e[e.UnicodeRange=9]="UnicodeRange",e[e.CDO=10]="CDO",e[e.CDC=11]="CDC",e[e.Colon=12]="Colon",e[e.SemiColon=13]="SemiColon",e[e.CurlyL=14]="CurlyL",e[e.CurlyR=15]="CurlyR",e[e.ParenthesisL=16]="ParenthesisL",e[e.ParenthesisR=17]="ParenthesisR",e[e.BracketL=18]="BracketL",e[e.BracketR=19]="BracketR",e[e.Whitespace=20]="Whitespace",e[e.Includes=21]="Includes",e[e.Dashmatch=22]="Dashmatch",e[e.SubstringOperator=23]="SubstringOperator",e[e.PrefixOperator=24]="PrefixOperator",e[e.SuffixOperator=25]="SuffixOperator",e[e.Delim=26]="Delim",e[e.EMS=27]="EMS",e[e.EXS=28]="EXS",e[e.Length=29]="Length",e[e.Angle=30]="Angle",e[e.Time=31]="Time",e[e.Freq=32]="Freq",e[e.Exclamation=33]="Exclamation",e[e.Resolution=34]="Resolution",e[e.Comma=35]="Comma",e[e.Charset=36]="Charset",e[e.EscapedJavaScript=37]="EscapedJavaScript",e[e.BadEscapedJavaScript=38]="BadEscapedJavaScript",e[e.Comment=39]="Comment",e[e.SingleLineComment=40]="SingleLineComment",e[e.EOF=41]="EOF",e[e.ContainerQueryLength=42]="ContainerQueryLength",e[e.CustomToken=43]="CustomToken"})(p||(p={}));var Ao=class{constructor(e){this.source=e,this.len=e.length,this.position=0}substring(e,t=this.position){return this.source.substring(e,t)}eos(){return this.len<=this.position}pos(){return this.position}goBackTo(e){this.position=e}goBack(e){this.position-=e}advance(e){this.position+=e}nextChar(){return this.source.charCodeAt(this.position++)||0}peekChar(e=0){return this.source.charCodeAt(this.position+e)||0}lookbackChar(e=0){return this.source.charCodeAt(this.position-e)||0}advanceIfChar(e){return e===this.source.charCodeAt(this.position)?(this.position++,!0):!1}advanceIfChars(e){if(this.position+e.length>this.source.length)return!1;let t=0;for(;t<e.length;t++)if(this.source.charCodeAt(this.position+t)!==e[t])return!1;return this.advance(t),!0}advanceWhileChar(e){const t=this.position;for(;this.position<this.len&&e(this.source.charCodeAt(this.position));)this.position++;return this.position-t}},Qn=97,Lo=102,zo=122,Kn=65,Po=70,To=90,ln=48,cn=57,Lu=126,zu=94,hn=61,Pu=124,yt=45,Oo=95,Tu=37,li=42,Wo=40,Uo=41,Ou=60,Wu=62,Uu=64,Vu=35,$u=36,ci=92,Vo=47,Ut=10,Vt=13,dn=12,$o=34,Bo=39,hi=32,di=9,Bu=59,qu=58,ju=123,Hu=125,Gu=91,Ju=93,Xu=44,qo=46,jo=33,Yu=63,Qu=43,$e={};$e[Bu]=p.SemiColon,$e[qu]=p.Colon,$e[ju]=p.CurlyL,$e[Hu]=p.CurlyR,$e[Ju]=p.BracketR,$e[Gu]=p.BracketL,$e[Wo]=p.ParenthesisL,$e[Uo]=p.ParenthesisR,$e[Xu]=p.Comma;var re={};re.em=p.EMS,re.ex=p.EXS,re.px=p.Length,re.cm=p.Length,re.mm=p.Length,re.in=p.Length,re.pt=p.Length,re.pc=p.Length,re.deg=p.Angle,re.rad=p.Angle,re.grad=p.Angle,re.ms=p.Time,re.s=p.Time,re.hz=p.Freq,re.khz=p.Freq,re["%"]=p.Percentage,re.fr=p.Percentage,re.dpi=p.Resolution,re.dpcm=p.Resolution,re.cqw=p.ContainerQueryLength,re.cqh=p.ContainerQueryLength,re.cqi=p.ContainerQueryLength,re.cqb=p.ContainerQueryLength,re.cqmin=p.ContainerQueryLength,re.cqmax=p.ContainerQueryLength;var un=class{constructor(){this.stream=new Ao(""),this.ignoreComment=!0,this.ignoreWhitespace=!0,this.inURL=!1}setSource(e){this.stream=new Ao(e)}finishToken(e,t,n){return{offset:e,len:this.stream.pos()-e,type:t,text:n||this.stream.substring(e)}}substring(e,t){return this.stream.substring(e,e+t)}pos(){return this.stream.pos()}goBackTo(e){this.stream.goBackTo(e)}scanUnquotedString(){const e=this.stream.pos(),t=[];return this._unquotedString(t)?this.finishToken(e,p.UnquotedString,t.join("")):null}scan(){const e=this.trivia();if(e!==null)return e;const t=this.stream.pos();return this.stream.eos()?this.finishToken(t,p.EOF):this.scanNext(t)}tryScanUnicode(){const e=this.stream.pos();if(!this.stream.eos()&&this._unicodeRange())return this.finishToken(e,p.UnicodeRange);this.stream.goBackTo(e)}scanNext(e){if(this.stream.advanceIfChars([Ou,jo,yt,yt]))return this.finishT
`),!0}return!1}_escape(e,t){let n=this.stream.peekChar();if(n===ci){this.stream.advance(1),n=this.stream.peekChar();let r=0;for(;r<6&&(n>=ln&&n<=cn||n>=Qn&&n<=Lo||n>=Kn&&n<=Po);)this.stream.advance(1),n=this.stream.peekChar(),r++;if(r>0){try{const i=parseInt(this.stream.substring(this.stream.pos()-r),16);i&&e.push(String.fromCharCode(i))}catch{}return n===hi||n===di?this.stream.advance(1):this._newline([]),!0}if(n!==Vt&&n!==dn&&n!==Ut)return this.stream.advance(1),e.push(String.fromCharCode(n)),!0;if(t)return this._newline(e)}return!1}_stringChar(e,t){const n=this.stream.peekChar();return n!==0&&n!==e&&n!==ci&&n!==Vt&&n!==dn&&n!==Ut?(this.stream.advance(1),t.push(String.fromCharCode(n)),!0):!1}_string(e){if(this.stream.peekChar()===Bo||this.stream.peekChar()===$o){const t=this.stream.nextChar();for(e.push(String.fromCharCode(t));this._stringChar(t,e)||this._escape(e,!0););return this.stream.peekChar()===t?(this.stream.nextChar(),e.push(String.fromCharCode(t)),p.String):p.BadString}return null}_unquotedChar(e){const t=this.stream.peekChar();return t!==0&&t!==ci&&t!==Bo&&t!==$o&&t!==Wo&&t!==Uo&&t!==hi&&t!==di&&t!==Ut&&t!==dn&&t!==Vt?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_unquotedString(e){let t=!1;for(;this._unquotedChar(e)||this._escape(e);)t=!0;return t}_whitespace(){return this.stream.advanceWhileChar(t=>t===hi||t===di||t===Ut||t===dn||t===Vt)>0}_name(e){let t=!1;for(;this._identChar(e)||this._escape(e);)t=!0;return t}ident(e){const t=this.stream.pos();if(this._minus(e)){if(this._minus(e)||this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(t),!1}_identFirstChar(e){const t=this.stream.peekChar();return t===Oo||t>=Qn&&t<=zo||t>=Kn&&t<=To||t>=128&&t<=65535?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_minus(e){const t=this.stream.peekChar();return t===yt?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_identChar(e){const t=this.stream.peekChar();return t===Oo||t===yt||t>=Qn&&t<=zo||t>=Kn&&t<=To||t>=ln&&t<=cn||t>=128&&t<=65535?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1}_unicodeRange(){if(this.stream.advanceIfChar(Qu)){const e=n=>n>=ln&&n<=cn||n>=Qn&&n<=Lo||n>=Kn&&n<=Po,t=this.stream.advanceWhileChar(e)+this.stream.advanceWhileChar(n=>n===Yu);if(t>=1&&t<=6)if(this.stream.advanceIfChar(yt)){const n=this.stream.advanceWhileChar(e);if(n>=1&&n<=6)return!0}else return!0}return!1}};function ue(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}function Ho(e,t){let n=e.length-t.length;return n>0?e.lastIndexOf(t)===n:n===0?e===t:!1}function Ku(e,t,n=4){let r=Math.abs(e.length-t.length);if(r>n)return 0;let i=[],s=[],a,l;for(a=0;a<t.length+1;++a)s.push(0);for(a=0;a<e.length+1;++a)i.push(s);for(a=1;a<e.length+1;++a)for(l=1;l<t.length+1;++l)e[a-1]===t[l-1]?i[a][l]=i[a-1][l-1]+1:i[a][l]=Math.max(i[a-1][l],i[a][l-1]);return i[e.length][t.length]-Math.sqrt(r)}function Go(e,t=!0){return e?e.length<140?e:e.slice(0,140)+(t?"…":""):""}function Zu(e,t){const n=t.exec(e);return n&&n[0].length?e.substr(0,e.length-n[0].length):e}function Jo(e,t){let n="";for(;t>0;)(t&1)===1&&(n+=e),e+=e,t=t>>>1;return n}var b;(function(e){e[e.Undefined=0]="Undefined",e[e.Identifier=1]="Identifier",e[e.Stylesheet=2]="Stylesheet",e[e.Ruleset=3]="Ruleset",e[e.Selector=4]="Selector",e[e.SimpleSelector=5]="SimpleSelector",e[e.SelectorInterpolation=6]="SelectorInterpolation",e[e.SelectorCombinator=7]="SelectorCombinator",e[e.SelectorCombinatorParent=8]="SelectorCombinatorParent",e[e.SelectorCombinatorSibling=9]="SelectorCombinatorSibling",e[e.SelectorCombinatorAllSiblings=10]="SelectorCombinatorAllSiblings",e[e.SelectorCombinatorShadowPiercingDescendant=11]="SelectorCombinatorShadowPiercingDescendant",e[e.Page=12]="Page",e[e.PageBoxMarginBox=13]="PageBoxMarginBox",e[e.ClassSelector=14]="ClassSelector",e[e.IdentifierSelector=15]="IdentifierSelector",e[e.ElementNameSelector=16]="Ele
`,i==="\r"&&r+1<t.length&&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(r===0)return xe.create(0,e);for(;n<r;){let s=Math.floor((n+r)/2);t[s]>e?r=s:n=s+1}let i=n-1;return xe.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}},x;(function(e){const t=Object.prototype.toString;function n(m){return typeof m<"u"}e.defined=n;function r(m){return typeof m>"u"}e.undefined=r;function i(m){return m===!0||m===!1}e.boolean=i;function s(m){return t.call(m)==="[object String]"}e.string=s;function a(m){return t.call(m)==="[object Number]"}e.number=a;function l(m,v,w){return t.call(m)==="[object Number]"&&v<=m&&m<=w}e.numberRange=l;function o(m){return t.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}e.integer=o;function c(m){return t.call(m)==="[object Number]"&&0<=m&&m<=2147483647}e.uinteger=c;function d(m){return t.call(m)==="[object Function]"}e.func=d;function u(m){return m!==null&&typeof m=="object"}e.objectLiteral=u;function f(m,v){return Array.isArray(m)&&m.every(v)}e.typedArray=f})(x||(x={}));var Yl=class bs{constructor(t,n,r,i){this._uri=t,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){const n=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(n,r)}return this._content}update(t,n){for(let r of t)if(bs.isIncremental(r)){const i=Kl(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const l=Math.max(i.start.line,0),o=Math.max(i.end.line,0);let c=this._lineOffsets;const d=Ql(r.text,!1,s);if(o-l===d.length)for(let f=0,m=d.length;f<m;f++)c[f+l+1]=d[f];else d.length<1e4?c.splice(l+1,o-l,...d):this._lineOffsets=c=c.slice(0,l+1).concat(d,c.slice(o+1));const u=r.text.length-(a-s);if(u!==0)for(let f=l+1+d.length,m=c.length;f<m;f++)c[f]=c[f]+u}else if(bs.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Ql(this._content,!0)),this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:t};for(;r<i;){let a=Math.floor((r+i)/2);n[a]>t?i=a:r=a+1}let s=r-1;return{line:s,character:t-n[s]}}offsetAt(t){let n=this.getLineOffsets();if(t.line>=n.length)return this._content.length;if(t.line<0)return 0;let r=n[t.line],i=t.line+1<n.length?n[t.line+1]:this._content.length;return Math.max(Math.min(r+t.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(t){let n=t;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(t){let n=t;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}},Wi;(function(e){function t(i,s,a,l){return new Yl(i,s,a,l)}e.create=t;function n(i,s,a){if(i instanceof Yl)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}e.update=n;function r(i,s){let a=i.getText(),l=Ui(s.map(Up),(d,u)=>{let f=d.range.start.line-u.range.start.line;return f===0?d.range.start.character-u.range.start.character:f}),o=0;const c=[];for(const d of l){let u=i.offsetAt(d.range.start);if(u<o)throw new Error("Overlapping edit");u>o&&c.push(a.substring(o,u)),d.newText.length&&c.push(d.newText),o=i.offsetAt(d.range.end)}return c.push(a.substr(o)),c.join("")}e.applyEdits=r})(Wi||(Wi={}));function Ui(e,t){if(e.length<=1)return e;const n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);Ui(r,t),Ui(i,t);let
`;case"nonstandard":return`🚨 Property is nonstandard. Avoid using it.
`;case"obsolete":return`🚨 Property is obsolete. Avoid using it.
`;default:return""}}function pt(e,t,n){let r;if(t?r={kind:"markdown",value:$p(e,n)}:r={kind:"plaintext",value:Vp(e,n)},r.value!=="")return r}function hr(e){return e=e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&"),e.replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Vp(e,t){if(!e.description||e.description==="")return"";if(typeof e.description!="string")return e.description.value;let n="";if(t?.documentation!==!1){e.status&&(n+=tc(e.status)),n+=e.description;const r=nc(e.browsers);r&&(n+=`
(`+r+")"),"syntax"in e&&(n+=`
Syntax: ${e.syntax}`)}return e.references&&e.references.length>0&&t?.references!==!1&&(n.length>0&&(n+=`
`),n+=e.references.map(r=>`${r.name}: ${r.url}`).join(" | ")),n}function $p(e,t){if(!e.description||e.description==="")return"";let n="";if(t?.documentation!==!1){e.status&&(n+=tc(e.status)),typeof e.description=="string"?n+=hr(e.description):n+=e.description.kind===qe.Markdown?e.description.value:hr(e.description.value);const r=nc(e.browsers);r&&(n+=`
(`+hr(r)+")"),"syntax"in e&&e.syntax&&(n+=`
Syntax: ${hr(e.syntax)}`)}return e.references&&e.references.length>0&&t?.references!==!1&&(n.length>0&&(n+=`
`),n+=e.references.map(r=>`[${r.name}](${r.url})`).join(" | ")),n}function nc(e=[]){return e.length===0?null:e.map(t=>{let n="";const r=t.match(/([A-Z]+)(\d+)?/),i=r[1],s=r[2];return i in ec&&(n+=ec[i]),s&&(n+=" "+s),n}).join(", ")}var Bp=/(^#([0-9A-F]{3}){1,2}$)|(^#([0-9A-F]{4}){1,2}$)/i,qp=[{label:"rgb",func:"rgb($red, $green, $blue)",insertText:"rgb(${1:red}, ${2:green}, ${3:blue})",desc:g("Creates a Color from red, green, and blue values.")},{label:"rgba",func:"rgba($red, $green, $blue, $alpha)",insertText:"rgba(${1:red}, ${2:green}, ${3:blue}, ${4:alpha})",desc:g("Creates a Color from red, green, blue, and alpha values.")},{label:"rgb relative",func:"rgb(from $color $red $green $blue)",insertText:"rgb(from ${1:color} ${2:r} ${3:g} ${4:b})",desc:g("Creates a Color from the red, green, and blue values of another Color.")},{label:"hsl",func:"hsl($hue, $saturation, $lightness)",insertText:"hsl(${1:hue}, ${2:saturation}, ${3:lightness})",desc:g("Creates a Color from hue, saturation, and lightness values.")},{label:"hsla",func:"hsla($hue, $saturation, $lightness, $alpha)",insertText:"hsla(${1:hue}, ${2:saturation}, ${3:lightness}, ${4:alpha})",desc:g("Creates a Color from hue, saturation, lightness, and alpha values.")},{label:"hsl relative",func:"hsl(from $color $hue $saturation $lightness)",insertText:"hsl(from ${1:color} ${2:h} ${3:s} ${4:l})",desc:g("Creates a Color from the hue, saturation, and lightness values of another Color.")},{label:"hwb",func:"hwb($hue $white $black)",insertText:"hwb(${1:hue} ${2:white} ${3:black})",desc:g("Creates a Color from hue, white, and black values.")},{label:"hwb relative",func:"hwb(from $color $hue $white $black)",insertText:"hwb(from ${1:color} ${2:h} ${3:w} ${4:b})",desc:g("Creates a Color from the hue, white, and black values of another Color.")},{label:"lab",func:"lab($lightness $a $b)",insertText:"lab(${1:lightness} ${2:a} ${3:b})",desc:g("Creates a Color from lightness, a, and b values.")},{label:"lab relative",func:"lab(from $color $lightness $a $b)",insertText:"lab(from ${1:color} ${2:l} ${3:a} ${4:b})",desc:g("Creates a Color from the lightness, a, and b values of another Color.")},{label:"oklab",func:"oklab($lightness $a $b)",insertText:"oklab(${1:lightness} ${2:a} ${3:b})",desc:g("Creates a Color from lightness, a, and b values.")},{label:"oklab relative",func:"oklab(from $color $lightness $a $b)",insertText:"oklab(from ${1:color} ${2:l} ${3:a} ${4:b})",desc:g("Creates a Color from the lightness, a, and b values of another Color.")},{label:"lch",func:"lch($lightness $chroma $hue)",insertText:"lch(${1:lightness} ${2:chroma} ${3:hue})",desc:g("Creates a Color from lightness, chroma, and hue values.")},{label:"lch relative",func:"lch(from $color $lightness $chroma $hue)",insertText:"lch(from ${1:color} ${2:l} ${3:c} ${4:h})",desc:g("Creates a Color from the lightness, chroma, and hue values of another Color.")},{label:"oklch",func:"oklch($lightness $chroma $hue)",insertText:"oklch(${1:lightness} ${2:chroma} ${3:hue})",desc:g("Creates a Color from lightness, chroma, and hue values.")},{label:"oklch relative",func:"oklch(from $color $lightness $chroma $hue)",insertText:"oklch(from ${1:color} ${2:l} ${3:c} ${4:h})",desc:g("Creates a Color from the lightness, chroma, and hue values of another Color.")},{label:"color",func:"color($color-space $red $green $blue)",insertText:"color(${1|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${2:red} ${3:green} ${4:blue})",desc:g("Creates a Color in a specific color space from red, green, and blue values.")},{label:"color relative",func:"color(from $color $color-space $red $green $blue)",insertText:"color(from ${1:color} ${2|srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,xyx,xyz-d50,xyz-d65|} ${3:r} ${4:g} ${5:b})",desc:g("Creates a Color in a specific color space from the red, green, and blue values of another Color.")},{label:"color-mix",func:"color-mix(in $color-space, $color $percentage, $color $percentage)",insertText:"color-mix(in ${1|srgb,srgb-linear,lab,oklab,xyz,xyz-d50,xyz-d65|}, ${3:color}
\r":{[()]},*>+`.indexOf(r.charAt(n))===-1;)n--;return r.substring(n+1,t)}var Ji=class vs{constructor(){this.parent=null,this.children=null,this.attributes=null}findAttribute(t){if(this.attributes){for(const n of this.attributes)if(n.name===t)return n.value}return null}addChild(t){t instanceof vs&&(t.parent=this),this.children||(this.children=[]),this.children.push(t)}append(t){if(this.attributes){const n=this.attributes[this.attributes.length-1];n.value=n.value+t}}prepend(t){if(this.attributes){const n=this.attributes[0];n.value=t+n.value}}findRoot(){let t=this;for(;t.parent&&!(t.parent instanceof Jt);)t=t.parent;return t}removeChild(t){if(this.children){const n=this.children.indexOf(t);if(n!==-1)return this.children.splice(n,1),!0}return!1}addAttr(t,n){this.attributes||(this.attributes=[]);for(const r of this.attributes)if(r.name===t){r.value+=" "+n;return}this.attributes.push({name:t,value:n})}clone(t=!0){const n=new vs;if(this.attributes){n.attributes=[];for(const r of this.attributes)n.addAttr(r.name,r.value)}if(t&&this.children){n.children=[];for(let r=0;r<this.children.length;r++)n.addChild(this.children[r].clone())}return n}cloneWithParent(){const t=this.clone(!1);return this.parent&&!(this.parent instanceof Jt)&&this.parent.cloneWithParent().addChild(t),t}},Jt=class extends Ji{},Xi=class extends Ji{constructor(e){super(),this.addAttr("name",e)}},_c=class{constructor(e){this.quote=e,this.result=[]}print(e,t){this.result=[],e instanceof Jt?e.children&&this.doPrint(e.children,0):this.doPrint([e],0);let n;return t?n=`${t.text}
`+this.result.join(`
`):n=this.result.join(`
`),[{language:"html",value:n}]}doPrint(e,t){for(const n of e)this.doPrintElement(n,t),n.children&&this.doPrint(n.children,t+1)}writeLine(e,t){const n=new Array(e+1).join(" ");this.result.push(n+t)}doPrintElement(e,t){const n=e.findAttribute("name");if(e instanceof Xi||n==="…"){this.writeLine(t,n);return}const r=["<"];if(n?r.push(n):r.push("element"),e.attributes){for(const i of e.attributes)if(i.name!=="name"){r.push(" "),r.push(i.name);const s=i.value;s&&(r.push("="),r.push(et.ensure(s,this.quote)))}}r.push(">"),this.writeLine(t,r.join(""))}},et;(function(e){function t(r,i){return i+n(r)+i}e.ensure=t;function n(r){const i=r.match(/^['"](.*)["']$/);return i?i[1]:r}e.remove=n})(et||(et={}));var Yi=class{constructor(){this.id=0,this.attr=0,this.tag=0}};function kc(e,t){let n=new Ji;for(const r of e.getChildren())switch(r.type){case b.SelectorCombinator:if(t){const l=r.getText().split("&");if(l.length===1){n.addAttr("name",l[0]);break}n=t.cloneWithParent(),l[0]&&n.findRoot().prepend(l[0]);for(let o=1;o<l.length;o++){if(o>1){const c=t.cloneWithParent();n.addChild(c.findRoot()),n=c}n.append(l[o])}}break;case b.SelectorPlaceholder:if(r.matches("@at-root"))return n;case b.ElementNameSelector:const i=r.getText();n.addAttr("name",i==="*"?"element":Le(i));break;case b.ClassSelector:n.addAttr("class",Le(r.getText().substring(1)));break;case b.IdentifierSelector:n.addAttr("id",Le(r.getText().substring(1)));break;case b.MixinDeclaration:n.addAttr("class",r.getName());break;case b.PseudoSelector:n.addAttr(Le(r.getText()),"");break;case b.AttributeSelector:const s=r,a=s.getIdentifier();if(a){const l=s.getValue(),o=s.getOperator();let c;if(l&&o)switch(Le(o.getText())){case"|=":c=`${et.remove(Le(l.getText()))}-`;break;case"^=":c=`${et.remove(Le(l.getText()))}`;break;case"$=":c=`${et.remove(Le(l.getText()))}`;break;case"~=":c=` ${et.remove(Le(l.getText()))} `;break;case"*=":c=`${et.remove(Le(l.getText()))}`;break;default:c=et.remove(Le(l.getText()));break}n.addAttr(Le(a.getText()),c)}break}return n}function Le(e){const t=new un;t.setSource(e);const n=t.scanUnquotedString();return n?n.text:e}var bm=class{constructor(e){this.cssDataManager=e}selectorToMarkedString(e,t){const n=ym(e);if(n){const r=new _c('"').print(n,t);return r.push(this.selectorToSpecificityMarkedString(e)),r}else return[]}simpleSelectorToMarkedString(e){const t=kc(e),n=new _c('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n}isPseudoElementIdentifier(e){const t=e.match(/^::?([\w-]+)/);return t?!!this.cssDataManager.getPseudoElement("::"+t[1]):!1}selectorToSpecificityMarkedString(e){const t=i=>{const s=new Yi;let a=new Yi;for(const l of i)for(const o of l.getChildren()){const c=n(o);if(c.id>a.id){a=c;continue}else if(c.id<a.id)continue;if(c.attr>a.attr){a=c;continue}else if(c.attr<a.attr)continue;if(c.tag>a.tag){a=c;continue}}return s.id+=a.id,s.attr+=a.attr,s.tag+=a.tag,s},n=i=>{const s=new Yi;e:for(const a of i.getChildren()){switch(a.type){case b.IdentifierSelector:s.id++;break;case b.ClassSelector:case b.AttributeSelector:s.attr++;break;case b.ElementNameSelector:if(a.matches("*"))break;s.tag++;break;case b.PseudoSelector:const l=a.getText(),o=a.getChildren();if(this.isPseudoElementIdentifier(l)){if(l.match(/^::slotted/i)&&o.length>0){s.tag++;let c=t(o);s.id+=c.id,s.attr+=c.attr,s.tag+=c.tag;continue e}s.tag++;continue e}if(l.match(/^:where/i))continue e;if(l.match(/^:(?:not|has|is)/i)&&o.length>0){let c=t(o);s.id+=c.id,s.attr+=c.attr,s.tag+=c.tag;continue e}if(l.match(/^:(?:host|host-context)/i)&&o.length>0){s.attr++;let c=t(o);s.id+=c.id,s.attr+=c.attr,s.tag+=c.tag;continue e}if(l.match(/^:(?:nth-child|nth-last-child)/i)&&o.length>0){if(s.attr++,o.length===3&&o[1].type===23){let m=t(o[2].getChildren());s.id+=m.id,s.attr+=m.attr,s.tag+=m.tag;continue e}const c=new mr,d=o[1].getText();c.scanner.setSource(d);const u=c.scanner.scan(),f=c.scanner.scan();if(u.text==="n"||u.text==="-n"&&f.text==="of"){const m=[],w=d.slice(f.offset+2).split(",");for(const R of w){const I=c.internalParse(R,c._parseSelector);I&&m.push(I)}let k=
$0
}`,insertTextFormat:Re.Snippet,kind:V.Keyword},{label:"@for",documentation:g("For loop that repeatedly outputs a set of styles for each `$var` in the `from/through` or `from/to` clause."),insertText:"@for \\$${1:var} from ${2:start} ${3|to,through|} ${4:end} {\n $0\n}",insertTextFormat:Re.Snippet,kind:V.Keyword},{label:"@each",documentation:g("Each loop that sets `$var` to each item in the list or map, then outputs the styles it contains using that value of `$var`."),insertText:"@each \\$${1:var} in ${2:list} {\n $0\n}",insertTextFormat:Re.Snippet,kind:V.Keyword},{label:"@while",documentation:g("While loop that takes an expression and repeatedly outputs the nested styles until the statement evaluates to `false`."),insertText:`@while \${1:condition} {
$0
}`,insertTextFormat:Re.Snippet,kind:V.Keyword},{label:"@mixin",documentation:g("Defines styles that can be re-used throughout the stylesheet with `@include`."),insertText:`@mixin \${1:name} {
$0
}`,insertTextFormat:Re.Snippet,kind:V.Keyword},{label:"@include",documentation:g("Includes the styles defined by another mixin into the current rule."),kind:V.Keyword},{label:"@function",documentation:g("Defines complex operations that can be re-used throughout stylesheets."),kind:V.Keyword}],gt.scssModuleLoaders=[{label:"@use",documentation:g("Loads mixins, functions, and variables from other Sass stylesheets as 'modules', and combines CSS from multiple stylesheets together."),references:[{name:rt,url:"https://sass-lang.com/documentation/at-rules/use"}],insertText:"@use $0;",insertTextFormat:Re.Snippet,kind:V.Keyword},{label:"@forward",documentation:g("Loads a Sass stylesheet and makes its mixins, functions, and variables available when this stylesheet is loaded with the @use rule."),references:[{name:rt,url:"https://sass-lang.com/documentation/at-rules/forward"}],insertText:"@forward $0;",insertTextFormat:Re.Snippet,kind:V.Keyword}],gt.scssModuleBuiltIns=[{label:"sass:math",documentation:g("Provides functions that operate on numbers."),references:[{name:rt,url:"https://sass-lang.com/documentation/modules/math"}]},{label:"sass:string",documentation:g("Makes it easy to combine, search, or split apart strings."),references:[{name:rt,url:"https://sass-lang.com/documentation/modules/string"}]},{label:"sass:color",documentation:g("Generates new colors based on existing ones, making it easy to build color themes."),references:[{name:rt,url:"https://sass-lang.com/documentation/modules/color"}]},{label:"sass:list",documentation:g("Lets you access and modify values in lists."),references:[{name:rt,url:"https://sass-lang.com/documentation/modules/list"}]},{label:"sass:map",documentation:g("Makes it possible to look up the value associated with a key in a map, and much more."),references:[{name:rt,url:"https://sass-lang.com/documentation/modules/map"}]},{label:"sass:selector",documentation:g("Provides access to Sasss powerful selector engine."),references:[{name:rt,url:"https://sass-lang.com/documentation/modules/selector"}]},{label:"sass:meta",documentation:g("Exposes the details of Sasss inner workings."),references:[{name:rt,url:"https://sass-lang.com/documentation/modules/meta"}]}];function Oc(e){e.forEach(t=>{if(t.documentation&&t.references&&t.references.length>0){const n=typeof t.documentation=="string"?{kind:"markdown",value:t.documentation}:{kind:"markdown",value:t.documentation.value};n.value+=`
`,n.value+=t.references.map(r=>`[${r.name}](${r.url})`).join(" | "),t.documentation=n}})}var Wc=47,$m=10,Bm=13,qm=12,cs=96,hs=46,jm=p.CustomToken,ds=jm++,Uc=class extends un{scanNext(e){const t=this.escapedJavaScript();return t!==null?this.finishToken(e,t):this.stream.advanceIfChars([hs,hs,hs])?this.finishToken(e,ds):super.scanNext(e)}comment(){return super.comment()?!0:!this.inURL&&this.stream.advanceIfChars([Wc,Wc])?(this.stream.advanceWhileChar(e=>{switch(e){case $m:case Bm:case qm:return!1;default:return!0}}),!0):!1}escapedJavaScript(){return this.stream.peekChar()===cs?(this.stream.advance(1),this.stream.advanceWhileChar(t=>t!==cs),this.stream.advanceIfChar(cs)?p.EscapedJavaScript:p.BadEscapedJavaScript):null}},Hm=class extends mr{constructor(){super(new Uc)}_parseStylesheetStatement(e=!1){return this.peek(p.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||super._parseStylesheetAtStatement(e):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)}_parseImport(){if(!this.peekKeyword("@import")&&!this.peekKeyword("@import-once"))return null;const e=this.create(bi);if(this.consumeToken(),this.accept(p.ParenthesisL)){if(!this.accept(p.Ident))return this.finish(e,y.IdentifierExpected,[p.SemiColon]);do if(!this.accept(p.Comma))break;while(this.accept(p.Ident));if(!this.accept(p.ParenthesisR))return this.finish(e,y.RightParenthesisExpected,[p.SemiColon])}return!e.addChild(this._parseURILiteral())&&!e.addChild(this._parseStringLiteral())?this.finish(e,y.URIOrStringExpected,[p.SemiColon]):(!this.peek(p.SemiColon)&&!this.peek(p.EOF)&&e.setMedialist(this._parseMediaQueryList()),this._completeParseImport(e))}_parsePlugin(){if(!this.peekKeyword("@plugin"))return null;const e=this.createNode(b.Plugin);return this.consumeToken(),e.addChild(this._parseStringLiteral())?this.accept(p.SemiColon)?this.finish(e):this.finish(e,y.SemiColonExpected):this.finish(e,y.StringLiteralExpected)}_parseMediaQuery(){const e=super._parseMediaQuery();if(!e){const t=this.create(el);return t.addChild(this._parseVariable())?this.finish(t):null}return e}_parseMediaDeclaration(e=!1){return this._tryParseRuleset(e)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(e)}_parseMediaFeatureName(){return this._parseIdent()||this._parseVariable()}_parseVariableDeclaration(e=[]){const t=this.create(tr),n=this.mark();if(!t.setVariable(this._parseVariable(!0)))return null;if(this.accept(p.Colon)){if(this.prevToken&&(t.colonPosition=this.prevToken.offset),t.setValue(this._parseDetachedRuleSet()))t.needsSemicolon=!1;else if(!t.setValue(this._parseExpr()))return this.finish(t,y.VariableValueExpected,[],e);t.addChild(this._parsePrio())}else return this.restoreAtMark(n),null;return this.peek(p.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)}_parseDetachedRuleSet(){let e=this.mark();if(this.peekDelim("#")||this.peekDelim("."))if(this.consumeToken(),!this.hasWhitespace()&&this.accept(p.ParenthesisL)){let n=this.create(bn);if(n.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(p.Comma)||this.accept(p.SemiColon))&&!this.peek(p.ParenthesisR);)n.getParameters().addChild(this._parseMixinParameter())||this.markError(n,y.IdentifierExpected,[],[p.ParenthesisR]);if(!this.accept(p.ParenthesisR))return this.restoreAtMark(e),null}else return this.restoreAtMark(e),null;if(!this.peek(p.CurlyL))return null;const t=this.create(ie);return this._parseBody(t,this._parseDetachedRuleSetBody.bind(this)),this.finish(t)}_parseDetachedRuleSetBody(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()}_addLookupChildren(e){if(!e.addChild(this._parseLookupValue()))return!1;let t=!1;for(;this.peek(p.BracketL)&&(t=!0),!!e.addChild(this._parseLookupValue());)t=!1;return!t}_parseLookupValue(){const e=this.create(O),t=this.mark();return this.accept(p.BracketL)?(e.addChild(this._parseVariable(!1,!0))||e.addChild(this._parsePropertyIdentifier()))&&this.accept(p.
`);c!==-1?this.__character_count=o.length-c:this.__character_count+=o.length},s.prototype.pop=function(){var o=null;return this.is_empty()||(o=this.__items.pop(),this.__character_count-=o.length),o},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var o="";return this.is_empty()?this.__parent.indent_empty_lines&&(o=this.__parent.get_indent_string(this.__indent_count)):(o=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),o+=this.__items.join("")),o};function a(o,c){this.__cache=[""],this.__indent_size=o.indent_size,this.__indent_string=o.indent_char,o.indent_with_tabs||(this.__indent_string=new Array(o.indent_size+1).join(o.indent_char)),c=c||"",o.indent_level>0&&(c=new Array(o.indent_level+1).join(this.__indent_string)),this.__base_string=c,this.__base_string_length=c.length}a.prototype.get_indent_size=function(o,c){var d=this.__base_string_length;return c=c||0,o<0&&(d=0),d+=o*this.__indent_size,d+=c,d},a.prototype.get_indent_string=function(o,c){var d=this.__base_string;return c=c||0,o<0&&(o=0,d=""),c+=o*this.__indent_size,this.__ensure_cache(c),d+=this.__cache[c],d},a.prototype.__ensure_cache=function(o){for(;o>=this.__cache.length;)this.__add_column()},a.prototype.__add_column=function(){var o=this.__cache.length,c=0,d="";this.__indent_size&&o>=this.__indent_size&&(c=Math.floor(o/this.__indent_size),o-=c*this.__indent_size,d=new Array(c+1).join(this.__indent_string)),o&&(d+=new Array(o+1).join(" ")),this.__cache.push(d)};function l(o,c){this.__indent_cache=new a(o,c),this.raw=!1,this._end_with_newline=o.end_with_newline,this.indent_size=o.indent_size,this.wrap_line_length=o.wrap_line_length,this.indent_empty_lines=o.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}l.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},l.prototype.get_line_number=function(){return this.__lines.length},l.prototype.get_indent_string=function(o,c){return this.__indent_cache.get_indent_string(o,c)},l.prototype.get_indent_size=function(o,c){return this.__indent_cache.get_indent_size(o,c)},l.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},l.prototype.add_new_line=function(o){return this.is_empty()||!o&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},l.prototype.get_code=function(o){this.trim(!0);var c=this.current_line.pop();c&&(c[c.length-1]===`
`&&(c=c.replace(/\n+$/g,"")),this.current_line.push(c)),this._end_with_newline&&this.__add_outputline();var d=this.__lines.join(`
`);return o!==`
`&&(d=d.replace(/[\n]/g,o)),d},l.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},l.prototype.set_indent=function(o,c){return o=o||0,c=c||0,this.next_line.set_indent(o,c),this.__lines.length>1?(this.current_line.set_indent(o,c),!0):(this.current_line.set_indent(),!1)},l.prototype.add_raw_token=function(o){for(var c=0;c<o.newlines;c++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(o.whitespace_before),this.current_line.push(o.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},l.prototype.add_token=function(o){this.__add_space_before_token(),this.current_line.push(o),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},l.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},l.prototype.remove_indent=function(o){for(var c=this.__lines.length;o<c;)this.__lines[o]._remove_indent(),o++;this.current_line._remove_wrap_indent()},l.prototype.trim=function(o){for(o=o===void 0?!1:o,this.current_line.trim();o&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},l.prototype.just_added_newline=function(){return this.current_line.is_empty()},l.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},l.prototype.ensure_empty_line_above=function(o,c){for(var d=this.__lines.length-2;d>=0;){var u=this.__lines[d];if(u.is_empty())break;if(u.item(0).indexOf(o)!==0&&u.item(-1)!==c){this.__lines.splice(d+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}d--}},i.exports.Output=l},,,,function(i){function s(o,c){this.raw_options=a(o,c),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(o,c){var d=this.raw_options[o],u=c||[];return typeof d=="object"?d!==null&&typeof d.concat=="function"&&(u=d.concat()):typeof d=="string"&&(u=d.split(/[^a-zA-Z0-9_\/\-]+/)),u},s.prototype._get_boolean=function(o,c){var d=this.raw_options[o],u=d===void 0?!!c:!!d;return u},s.prototype._get_characters=function(o,c){var d=this.raw_options[o],u=c||"";return typeof d=="string"&&(u=d.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),u},s.prototype._get_number=function(o,c){var d=this.raw_options[o];c=parseInt(c,10),isNaN(c)&&(c=0);var u=parseInt(d,10);return isNaN(u)&&(u=c),u},s.prototype._get_selection=function(o,c,d){var u=this._get_selection_list(o,c,d);if(u.length!==1)throw new Error("Invalid Option Value: The option '"+o+`' can only be one of the following values:
`+c+`
You passed in: '`+this.raw_options[o]+"'");return u[0]},s.prototype._get_selection_list=function(o,c,d){if(!c||c.length===0)throw new Error("Selection list cannot be empty.");if(d=d||[c[0]],!this._is_valid_selection(d,c))throw new Error("Invalid Default Value!");var u=this._get_array(o,d);if(!this._is_valid_selection(u,c))throw new Error("Invalid Option Value: The option '"+o+`' can contain only the following values:
`+c+`
You passed in: '`+this.raw_options[o]+"'");return u},s.prototype._is_valid_selection=function(o,c){return o.length&&c.length&&!o.some(function(d){return c.indexOf(d)===-1})};function a(o,c){var d={};o=l(o);var u;for(u in o)u!==c&&(d[u]=o[u]);if(c&&o[c])for(u in o[c])d[u]=o[c][u];return d}function l(o){var c={},d;for(d in o){var u=d.replace(/-/g,"_");c[u]=o[d]}return c}i.exports.Options=s,i.exports.normalizeOpts=l,i.exports.mergeOpts=a},,function(i){var s=RegExp.prototype.hasOwnProperty("sticky");function a(l){this.__input=l||"",this.__input_length=this.__input.length,this.__position=0}a.prototype.restart=function(){this.__position=0},a.prototype.back=function(){this.__position>0&&(this.__position-=1)},a.prototype.hasNext=function(){return this.__position<this.__input_length},a.prototype.next=function(){var l=null;return this.hasNext()&&(l=this.__input.charAt(this.__position),this.__position+=1),l},a.prototype.peek=function(l){var o=null;return l=l||0,l+=this.__position,l>=0&&l<this.__input_length&&(o=this.__input.charAt(l)),o},a.prototype.__match=function(l,o){l.lastIndex=o;var c=l.exec(this.__input);return c&&!(s&&l.sticky)&&c.index!==o&&(c=null),c},a.prototype.test=function(l,o){return o=o||0,o+=this.__position,o>=0&&o<this.__input_length?!!this.__match(l,o):!1},a.prototype.testChar=function(l,o){var c=this.peek(o);return l.lastIndex=0,c!==null&&l.test(c)},a.prototype.match=function(l){var o=this.__match(l,this.__position);return o?this.__position+=o[0].length:o=null,o},a.prototype.read=function(l,o,c){var d="",u;return l&&(u=this.match(l),u&&(d+=u[0])),o&&(u||!l)&&(d+=this.readUntil(o,c)),d},a.prototype.readUntil=function(l,o){var c="",d=this.__position;l.lastIndex=this.__position;var u=l.exec(this.__input);return u?(d=u.index,o&&(d+=u[0].length)):d=this.__input_length,c=this.__input.substring(this.__position,d),this.__position=d,c},a.prototype.readUntilAfter=function(l){return this.readUntil(l,!0)},a.prototype.get_regexp=function(l,o){var c=null,d="g";return o&&s&&(d="y"),typeof l=="string"&&l!==""?c=new RegExp(l,d):l&&(c=new RegExp(l.source,d)),c},a.prototype.get_literal_regexp=function(l){return RegExp(l.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},a.prototype.peekUntilAfter=function(l){var o=this.__position,c=this.readUntilAfter(l);return this.__position=o,c},a.prototype.lookBack=function(l){var o=this.__position-1;return o>=l.length&&this.__input.substring(o-l.length,o).toLowerCase()===l},i.exports.InputScanner=a},,,,,function(i){function s(a,l){a=typeof a=="string"?a:a.source,l=typeof l=="string"?l:l.source,this.__directives_block_pattern=new RegExp(a+/ beautify( \w+[:]\w+)+ /.source+l,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(a+/\sbeautify\signore:end\s/.source+l,"g")}s.prototype.get_directives=function(a){if(!a.match(this.__directives_block_pattern))return null;var l={};this.__directive_pattern.lastIndex=0;for(var o=this.__directive_pattern.exec(a);o;)l[o[1]]=o[2],o=this.__directive_pattern.exec(a);return l},s.prototype.readIgnored=function(a){return a.readUntilAfter(this.__directives_end_ignore_pattern)},i.exports.Directives=s},,function(i,s,a){var l=a(16).Beautifier,o=a(17).Options;function c(d,u){var f=new l(d,u);return f.beautify()}i.exports=c,i.exports.defaultOptions=function(){return new o}},function(i,s,a){var l=a(17).Options,o=a(2).Output,c=a(8).InputScanner,d=a(13).Directives,u=new d(/\/\*/,/\*\//),f=/\r\n|[\r\n]/,m=/\r\n|[\r\n]/g,v=/\s/,w=/(?:\s|\n)+/g,k=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,R=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function I(N,E){this._source_text=N||"",this._options=new l(E),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,"font-face":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=["grid-template-areas","grid-template"]}I.prototype.eatString=function(N){var E="";for(this._ch=this._input.next();this._ch;){if(E+=this._ch,this._ch==="\\")E+=this._input.next();else if(N.indexOf(this._ch)!==-1||this._ch===`
`)break;this._ch=this._input.next()}return E},I.prototype.eatWhitespace=function(N){for(var E=v.test(this._input.peek()),F=0;v.test(this._input.peek());)this._ch=this._input.next(),N&&this._ch===`
`&&(F===0||F<this._options.max_preserve_newlines)&&(F++,this._output.add_new_line(!0));return E},I.prototype.foundNestedPseudoClass=function(){for(var N=0,E=1,F=this._input.peek(E);F;){if(F==="{")return!0;if(F==="(")N+=1;else if(F===")"){if(N===0)return!1;N-=1}else if(F===";"||F==="}")return!1;E++,F=this._input.peek(E)}return!1},I.prototype.print_string=function(N){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(N)},I.prototype.preserveSingleSpace=function(N){N&&(this._output.space_before_token=!0)},I.prototype.indent=function(){this._indentLevel++},I.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},I.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var N=this._source_text,E=this._options.eol;E==="auto"&&(E=`
`,N&&f.test(N||"")&&(E=N.match(f)[0])),N=N.replace(m,`
`);var F=N.match(/^[\t ]*/)[0];this._output=new o(this._options,F),this._input=new c(N),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var A=0,T=!1,P=!1,j=!1,Z=!1,M=!1,S=this._ch,_=!1,C,z,D;C=this._input.read(w),z=C!=="",D=S,this._ch=this._input.next(),this._ch==="\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),S=this._ch,this._ch;)if(this._ch==="/"&&this._input.peek()==="*"){this._output.add_new_line(),this._input.back();var L=this._input.read(k),U=u.get_directives(L);U&&U.ignore==="start"&&(L+=u.readIgnored(this._input)),this.print_string(L),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch==="/"&&this._input.peek()==="/")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(R)),this.eatWhitespace(!0);else if(this._ch==="$"){this.preserveSingleSpace(z),this.print_string(this._ch);var B=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);B.match(/[ :]$/)&&(B=this.eatString(": ").replace(/\s+$/,""),this.print_string(B),this._output.space_before_token=!0),A===0&&B.indexOf(":")!==-1&&(P=!0,this.indent())}else if(this._ch==="@")if(this.preserveSingleSpace(z),this._input.peek()==="{")this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var q=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);q.match(/[ :]$/)&&(q=this.eatString(": ").replace(/\s+$/,""),this.print_string(q),this._output.space_before_token=!0),A===0&&q.indexOf(":")!==-1?(P=!0,this.indent()):q in this.NESTED_AT_RULE?(this._nestedLevel+=1,q in this.CONDITIONAL_GROUP_RULE&&(j=!0)):A===0&&!P&&(Z=!0)}else if(this._ch==="#"&&this._input.peek()==="{")this.preserveSingleSpace(z),this.print_string(this._ch+this.eatString("}"));else if(this._ch==="{")P&&(P=!1,this.outdent()),Z=!1,j?(j=!1,T=this._indentLevel>=this._nestedLevel):T=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&T&&this._output.previous_line&&this._output.previous_line.item(-1)!=="{"&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,this._options.brace_style==="expand"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(D==="("?this._output.space_before_token=!1:D!==","&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch==="}")this.outdent(),this._output.add_new_line(),D==="{"&&this._output.trim(!0),P&&(this.outdent(),P=!1),this.print_string(this._ch),T=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!=="}"&&this._output.add_new_line(!0),this._input.peek()===")"&&(this._output.trim(!0),this._options.brace_style==="expand"&&this._output.add_new_line(!0));else if(this._ch===":"){for(var se=0;se<this.NON_SEMICOLON_NEWLINE_PROPERTY.length;se++)if(this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[se])){_=!0;break}(T||j)&&!(this._input.lookBack("&")||this.foundNestedPseudoClass())&&!this._input.lookBack("(")&&!Z&&A===0?(this.print_string(":"),P||(P=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):(this._input.lookBack(" ")&&(this._output.space_before_token=!0),this._input.peek()===":"?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":"))}else if(this._ch==='"'||this._ch==="'"){var bt=D==='"'||D==="'";this.preserveSingleSpace(bt||z),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)}else if(this._ch===";")_=!1,A===0?(P&&(this.outdent(),P=!1),Z=!1,this.print_string(this._ch),this.eatWhitespace(!0),this._input.peek()!=="/"&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0);else if(this._ch==="(")if(this._input.lookBack("url"))this.print_string(this._ch),this.eatWhitespace(),A++,this.indent(),this._ch=this._input.next(),this._ch===")"||this._ch==='"'||this._ch==="'"?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),A&&(A--,thi
`&&_&&this._output.add_new_line()}var gs=this._output.get_code(E);return gs},i.exports.Beautifier=I},function(i,s,a){var l=a(6).Options;function o(c){l.call(this,c,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var d=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||d;var u=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var f=0;f<u.length;f++)u[f]!=="expand"?this.brace_style="collapse":this.brace_style=u[f]}o.prototype=new l,i.exports.Options=o}],t={};function n(i){var s=t[i];if(s!==void 0)return s.exports;var a=t[i]={exports:{}};return e[i](a,a.exports,n),a.exports}var r=n(15);$c=r})();var Ym=$c;function Qm(e,t,n){let r=e.getText(),i=!0,s=0,a=!1;const l=n.tabSize||4;if(t){let d=e.offsetAt(t.start),u=d;for(;u>0&&jc(r,u-1);)u--;u===0||qc(r,u-1)?d=u:u<d&&(d=u+1);let f=e.offsetAt(t.end),m=f;for(;m<r.length&&jc(r,m);)m++;if((m===r.length||qc(r,m))&&(f=m),t=X.create(e.positionAt(d),e.positionAt(f)),a=ef(r,d),i=f===r.length,r=r.substring(d,f),d!==0){const v=e.offsetAt(xe.create(t.start.line,0));s=tf(e.getText(),v,n)}a&&(r=`{
${Bc(r)}`)}else t=X.create(xe.create(0,0),e.positionAt(r.length));const o={indent_size:l,indent_char:n.insertSpaces?" ":" ",end_with_newline:i&&it(n,"insertFinalNewline",!1),selector_separator_newline:it(n,"newlineBetweenSelectors",!0),newline_between_rules:it(n,"newlineBetweenRules",!0),space_around_selector_separator:it(n,"spaceAroundSelectorSeparator",!1),brace_style:it(n,"braceStyle","collapse"),indent_empty_lines:it(n,"indentEmptyLines",!1),max_preserve_newlines:it(n,"maxPreserveNewLines",void 0),preserve_newlines:it(n,"preserveNewLines",!0),wrap_line_length:it(n,"wrapLineLength",void 0),eol:`
`};let c=Ym(r,o);if(a&&(c=Bc(c.substring(2))),s>0){const d=n.insertSpaces?Jo(" ",l*s):Jo(" ",s);c=c.split(`
`).join(`
`+d),t.start.character===0&&(c=d+c)}return[{range:t,newText:c}]}function Bc(e){return e.replace(/^\s+/,"")}var Km=123,Zm=125;function ef(e,t){for(;t>=0;){const n=e.charCodeAt(t);if(n===Km)return!0;if(n===Zm)return!1;t--}return!1}function it(e,t,n){if(e&&e.hasOwnProperty(t)){const r=e[t];if(r!==null)return r}return n}function tf(e,t,n){let r=t,i=0;const s=n.tabSize||4;for(;r<e.length;){const a=e.charAt(r);if(a===" ")i++;else if(a===" ")i+=s;else break;r++}return Math.floor(i/s)}function qc(e,t){return`\r
`.indexOf(e.charAt(t))!==-1}function jc(e,t){return" ".indexOf(e.charAt(t))!==-1}var nf={version:1.1,properties:[{name:"additive-symbols",browsers:["FF33"],atRule:"@counter-style",syntax:"[ <integer> && <symbol> ]#",relevance:50,description:"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.",restrictions:["integer","string","image","identifier"]},{name:"align-content",browsers:["E12","FF28","S9","C29","IE11","O16"],values:[{name:"center",description:"Lines are packed toward the center of the flex container."},{name:"flex-end",description:"Lines are packed toward the end of the flex container."},{name:"flex-start",description:"Lines are packed toward the start of the flex container."},{name:"space-around",description:"Lines are evenly distributed in the flex container, with half-size spaces on either end."},{name:"space-between",description:"Lines are evenly distributed in the flex container."},{name:"stretch",description:"Lines stretch to take up the remaining space."},{name:"start"},{name:"end"},{name:"normal"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"space-around"},{name:"space-between"},{name:"space-evenly"},{name:"stretch"},{name:"safe"},{name:"unsafe"}],syntax:"normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>",relevance:66,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/align-content"}],description:"Aligns a flex container's lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.",restrictions:["enum"]},{name:"align-items",browsers:["E12","FF20","S9","C29","IE11","O16"],values:[{name:"baseline",description:"If the flex item's inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item's margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"normal"},{name:"start"},{name:"end"},{name:"self-start"},{name:"self-end"},{name:"first baseline"},{name:"last baseline"},{name:"stretch"},{name:"safe"},{name:"unsafe"}],syntax:"normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]",relevance:87,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/align-items"}],description:"Aligns flex items along the cross axis of the current line of the flex container.",restrictions:["enum"]},{name:"justify-items",browsers:["E12","FF20","S9","C52","IE11","O12.1"],values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"safe"},{name
This feature is available since Firefox 55, but is only currently supported with SVG images loaded via chrome:// or resource:// URLs. To experiment with the feature in SVG on the Web it is necessary to set the svg.context-properties.content.enabled pref to true.`},{name:"-moz-float-edge",status:"obsolete",syntax:"border-box | content-box | margin-box | padding-box",values:[{name:"border-box"},{name:"content-box"},{name:"margin-box"},{name:"padding-box"}],relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge"}],description:"The non-standard -moz-float-edge CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness."},{name:"-moz-force-broken-image-icon",status:"obsolete",syntax:"0 | 1",values:[{name:"0"},{name:"1"}],relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon"}],description:"The -moz-force-broken-image-icon extended CSS property can be used to force the broken image icon to be shown even when a broken image has an alt attribute."},{name:"-moz-image-region",status:"nonstandard",syntax:"<shape> | auto",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region"}],description:"For certain XUL elements and pseudo-elements that use an image from the list-style-image property, this property specifies a region of the image that is used in place of the whole image. This allows elements to use different pieces of the same image to improve performance."},{name:"-moz-orient",status:"nonstandard",syntax:"inline | block | horizontal | vertical",values:[{name:"inline"},{name:"block"},{name:"horizontal"},{name:"vertical"}],relevance:0,browsers:["FF6"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-orient"}],description:"The -moz-orient CSS property specifies the orientation of the element to which it's applied."},{name:"-moz-outline-radius",status:"nonstandard",syntax:"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?",relevance:0,description:"In Mozilla applications like Firefox, the -moz-outline-radius CSS property can be used to give an element's outline rounded corners."},{name:"-moz-outline-radius-bottomleft",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-bottomleft CSS property can be used to round the bottom-left corner of an element's outline."},{name:"-moz-outline-radius-bottomright",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-bottomright CSS property can be used to round the bottom-right corner of an element's outline."},{name:"-moz-outline-radius-topleft",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-topleft CSS property can be used to round the top-left corner of an element's outline."},{name:"-moz-outline-radius-topright",status:"nonstandard",syntax:"<outline-radius>",relevance:0,description:"In Mozilla applications, the -moz-outline-radius-topright CSS property can be used to round the top-right corner of an element's outline."},{name:"-moz-stack-sizing",status:"nonstandard",syntax:"ignore | stretch-to-fit",values:[{name:"ignore"},{name:"stretch-to-fit"}],relevance:0,description:"-moz-stack-sizing is an extended CSS property. Normally, a stack will change its size so that all of its child elements are completely visible. For example, moving a child of the stack far to the right will widen the stack so the child remains visible."},{name:"-moz-text-blink",status:"nonstandard",syntax:"none | blink",values:[{name:"none"},{name:"blink"}],relevance:0,description:"The -moz-text-blink non-standard Mozilla CSS extension specifies the blink mode."},{name:"-moz-user-input",status:"obsolete",syntax:"auto | none | enabled | disabled",values:[{name:"auto"},{name:"none"},{n
This property is a shorthand for mask-border-source, mask-border-slice, mask-border-width, mask-border-outset, mask-border-repeat, and mask-border-mode. As with all shorthand properties, any omitted sub-values will be set to their initial value.`},{name:"mask-border-mode",syntax:"luminance | alpha",values:[{name:"luminance"},{name:"alpha"}],relevance:50,description:"The mask-border-mode CSS property specifies the blending mode used in a mask border."},{name:"mask-border-outset",syntax:"[ <length> | <number> ]{1,4}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset"}],description:"The mask-border-outset CSS property specifies the distance by which an element's mask border is set out from its border box."},{name:"mask-border-repeat",syntax:"[ stretch | repeat | round | space ]{1,2}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat"}],description:"The mask-border-repeat CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border."},{name:"mask-border-slice",syntax:"<number-percentage>{1,4} fill?",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice"}],description:"The mask-border-slice CSS property divides the image specified by mask-border-source into regions. These regions are used to form the components of an element's mask border."},{name:"mask-border-source",syntax:"none | <image>",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-source"}],description:`The mask-border-source CSS property specifies the source image used to create an element's mask border.
The mask-border-slice property is used to divide the source image into regions, which are then dynamically applied to the final mask border.`},{name:"mask-border-width",syntax:"[ <length-percentage> | <number> | auto ]{1,4}",relevance:50,browsers:["E79","S17.2","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-width"}],description:"The mask-border-width CSS property specifies the width of an element's mask border."},{name:"mask-clip",syntax:"[ <geometry-box> | no-clip ]#",relevance:50,browsers:["E120","FF53","S15.4","C120","O106"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-clip"}],description:"The mask-clip CSS property determines the area, which is affected by a mask. The painted content of an element must be restricted to this area."},{name:"mask-composite",syntax:"<compositing-operator>#",relevance:50,browsers:["E18","FF53","S15.4","C120","O106"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-composite"}],description:"The mask-composite CSS property represents a compositing operation used on the current mask layer with the mask layers below it."},{name:"masonry-auto-flow",status:"experimental",syntax:"[ pack | next ] || [ definite-first | ordered ]",relevance:50,browsers:["Spreview"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow"}],description:"The masonry-auto-flow CSS property modifies how items are placed when using masonry in CSS Grid Layout."},{name:"math-depth",syntax:"auto-add | add(<integer>) | <integer>",relevance:50,browsers:["E109","FF117","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-depth"}],description:'Describe a notion of "depth" for each element of a mathematical formula, with respect to the top-level container of that formula.'},{name:"math-shift",syntax:"normal | compact",values:[{name:"normal"},{name:"compact"}],relevance:50,browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-shift"}],description:"Used for positioning superscript during the layout of MathML scripted elements."},{name:"math-style",syntax:"normal | compact",values:[{name:"normal"},{name:"compact"}],relevance:50,browsers:["E109","FF117","S14.1","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-style"}],description:"The math-style property indicates whether MathML equations should render with normal or compact height."},{name:"max-lines",status:"experimental",syntax:"none | <integer>",relevance:50,description:"The max-lines property forces a break after a set number of lines"},{name:"offset",syntax:"[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?",relevance:50,browsers:["E79","FF72","S16","C55","O42"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset"}],description:"The offset CSS property is a shorthand property for animating an element along a defined path."},{name:"offset-anchor",syntax:"auto | <position>",relevance:50,browsers:["E116","FF72","S16","C116","O102"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-anchor"}],description:"Defines an anchor point of the box positioned along the path. The anchor point specifies the point of the box which is to be considered as the point that is moved along the path."},{name:"offset-distance",syntax:"<length-percentage>",relevance:50,browsers:["E79","FF72","S16","C55","O42"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-distance"}],description:"The offset-distance CSS property specifies a position along an offset-path."},{name:"offset-path",syntax:"none | <offset-path> || <coord-box>",relevance:50,browsers:["E79","FF72","S15.4","C55","O45"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-path"}],descri
In this specification, a direction (or rotation) of 0 degrees is equivalent to the direction of the positive x-axis in the objects local coordinate system. In other words, a rotation of 0 degree points to the right side of the UA if the object and its ancestors have no transformation applied.`},{name:"offset-position",syntax:"normal | auto | <position>",relevance:50,browsers:["E116","FF122","S16","C116","O102"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-position"}],description:"Specifies the initial position of the offset path. If position is specified with static, offset-position would be ignored."},{name:"offset-rotate",syntax:"[ auto | reverse ] || <angle>",relevance:50,browsers:["E79","FF72","S16","C56","O43"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-rotate"}],description:"The offset-rotate CSS property defines the direction of the element while positioning along the offset path."},{name:"overflow-anchor",syntax:"auto | none",values:[{name:"auto"},{name:"none"}],relevance:52,browsers:["E79","FF66","Spreview","C56","O43"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-anchor"}],description:"The overflow-anchor CSS property provides a way to opt out browser scroll anchoring behavior which adjusts scroll position to minimize content shifts."},{name:"overflow-block",syntax:"visible | hidden | clip | scroll | auto",values:[{name:"visible"},{name:"hidden"},{name:"clip"},{name:"scroll"},{name:"auto"}],relevance:50,browsers:["FF69"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-block"}],description:"The overflow-block CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the block axis."},{name:"overflow-clip-box",status:"nonstandard",syntax:"padding-box | content-box",values:[{name:"padding-box"},{name:"content-box"}],relevance:0,description:"The overflow-clip-box CSS property specifies relative to which box the clipping happens when there is an overflow. It is short hand for the overflow-clip-box-inline and overflow-clip-box-block properties."},{name:"overflow-clip-margin",syntax:"<visual-box> || <length [0,∞]>",relevance:50,browsers:["E90","FF102","C90","O76"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-clip-margin"}],description:"The overflow-clip-margin CSS property determines how far outside its bounds an element with overflow: clip may be painted before being clipped."},{name:"overflow-inline",syntax:"visible | hidden | clip | scroll | auto",values:[{name:"visible"},{name:"hidden"},{name:"clip"},{name:"scroll"},{name:"auto"}],relevance:50,browsers:["FF69"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-inline"}],description:"The overflow-inline CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the inline axis."},{name:"overlay",status:"experimental",syntax:"none | auto",values:[{name:"none"},{name:"auto"}],relevance:50,browsers:["E117","C117","O103"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overlay"}],description:'The overlay CSS property specifies whether an element appearing in the top layer (for example, a shown popover or modal {{htmlelement("dialog")}} element) is actually rendered in the top layer. This property is only relevant within a list of transition-property values, and only if allow-discrete is set as the transition-behavior.'},{name:"overscroll-behavior",syntax:"[ contain | none | auto ]{1,2}",relevance:50,browsers:["E18","FF59","S16","C63","O50"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior"}],description:"The overscroll-behavior CSS property is shorthand for the overscroll-behavior-x and overscroll-behavior-y properties, which allow you to control the browser's scroll overflow behavior
Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:"scroll-snap-type-y",status:"obsolete",syntax:"none | mandatory | proximity",values:[{name:"none"},{name:"mandatory"},{name:"proximity"}],relevance:0,description:`The scroll-snap-type-y CSS property defines how strictly snap points are enforced on the vertical axis of the scroll container in case there is one.
Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:"scroll-timeline",status:"experimental",syntax:"[ <'scroll-timeline-name'> <'scroll-timeline-axis'>? ]#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline"}],description:"Defines a name that can be used to identify the source element of a scroll timeline, along with the scrollbar axis that should provide the timeline."},{name:"scroll-timeline-axis",status:"experimental",syntax:"[ block | inline | x | y ]#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-axis"}],description:"Specifies the scrollbar that will be used to provide the timeline for a scroll-timeline animation"},{name:"scroll-timeline-name",status:"experimental",syntax:"none | <dashed-ident>#",relevance:50,browsers:["E115","FF111","C115","O101"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-name"}],description:"Defines a name that can be used to identify an element as the source of a scroll-timeline."},{name:"text-combine-upright",syntax:"none | all | [ digits <integer>? ]",relevance:50,browsers:["E79","FF48","S15.4","C48","IE11","O35"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright"}],description:`The text-combine-upright CSS property specifies the combination of multiple characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.
This is used to produce an effect that is known as tate-chū-yoko (縦中横) in Japanese, or as 直書橫向 in Chinese.`},{name:"text-decoration-skip",status:"experimental",syntax:"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]",relevance:52,browsers:["S12.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip"}],description:"The text-decoration-skip CSS property specifies what parts of the elements content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors."},{name:"text-decoration-skip-ink",syntax:"auto | all | none",values:[{name:"auto"},{name:"all"},{name:"none"}],relevance:51,browsers:["E79","FF70","S15.4","C64","O50"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink"}],description:"The text-decoration-skip-ink CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders."},{name:"text-decoration-thickness",syntax:"auto | from-font | <length> | <percentage> ",relevance:50,browsers:["E89","FF70","S12.1","C89","O75"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness"}],description:"The text-decoration-thickness CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline."},{name:"text-emphasis",syntax:"<'text-emphasis-style'> || <'text-emphasis-color'>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis"}],description:"The text-emphasis CSS property is a shorthand property for setting text-emphasis-style and text-emphasis-color in one declaration. This property will apply the specified emphasis mark to each character of the element's text, except separator characters, like spaces, and control characters."},{name:"text-emphasis-color",syntax:"<color>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color"}],description:"The text-emphasis-color CSS property defines the color used to draw emphasis marks on text being rendered in the HTML document. This value can also be set and reset using the text-emphasis shorthand."},{name:"text-emphasis-position",syntax:"[ over | under ] && [ right | left ]",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position"}],description:"The text-emphasis-position CSS property describes where emphasis marks are drawn at. The effect of emphasis marks on the line height is the same as for ruby text: if there isn't enough place, the line height is increased."},{name:"text-emphasis-style",syntax:"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>",relevance:50,browsers:["E99","FF46","S7","C99","O85"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style"}],description:"The text-emphasis-style CSS property defines the type of emphasis used. It can also be set, and reset, using the text-emphasis shorthand."},{name:"text-size-adjust",status:"experimental",syntax:"none | auto | <percentage>",relevance:57,browsers:["E79","C54","O41"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust"}],description:"The text-size-adjust CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property."},{name:"text-underline-offset",syntax:"auto | <length> | <percentage> ",relevance:51,browsers:["E87","FF70","S12.1","C87","O73"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-underlin
In order to let ::-webkit-progress-value take effect, -webkit-appearance needs to be set to none on the <progress> element.`},{name:"::grammar-error",status:"experimental",browsers:["E121","Spreview","C121"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::grammar-error"}],description:"The ::grammar-error CSS pseudo-element represents a text segment which the user agent has flagged as grammatically incorrect."},{name:"::marker",browsers:["E86","FF68","S11.1","C86","O72"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::marker"}],description:"The ::marker CSS pseudo-element selects the marker box of a list item, which typically contains a bullet or number. It works on any element or pseudo-element set to display: list-item, such as the <li> and <summary> elements."},{name:"::part",status:"experimental",browsers:["E79","FF72","S13.1","C73","O60"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::part"}],description:"The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute."},{name:"::placeholder",browsers:["E79","FF51","S10.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::placeholder"}],description:"The ::placeholder CSS pseudo-element represents the placeholder text of a form element."},{name:"::slotted",browsers:["E79","FF63","S10","C50","O37"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::slotted"}],description:"The :slotted() CSS pseudo-element represents any element that has been placed into a slot inside an HTML template."},{name:"::spelling-error",status:"experimental",browsers:["E121","Spreview","C121"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::spelling-error"}],description:"The ::spelling-error CSS pseudo-element represents a text segment which the user agent has flagged as incorrectly spelled."},{name:"::view-transition",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition"}],description:"The ::view-transition CSS pseudo-element represents the root of the view transitions overlay, which contains all view transitions and sits over the top of all other page content."},{name:"::view-transition-group",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-group"}],description:"The ::view-transition-group CSS pseudo-element represents a single view transition group."},{name:"::view-transition-image-pair",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-image-pair"}],description:`The ::view-transition-image-pair CSS pseudo-element represents a container for a view transition's "old" and "new" view states — before and after the transition.`},{name:"::view-transition-new",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-new"}],description:'The ::view-transition-new CSS pseudo-element represents the "new" view state of a view transition a live representation of the new view, after the transition.'},{name:"::view-transition-old",status:"experimental",browsers:["E109","C109","O95"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::view-transition-old"}],description:'The ::view-transition-old CSS pseudo-element represents the "old" view state of a view transition a static screenshot of the old view, before the transition.'}]},Hc=class{constructor(e){this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.addData(e)}provideProperties(){return this._properties}provideAtDirectives(){return this._atDirectives}providePseudoClasses(){return this._pseudoClasses}providePs