@subconverter/browser 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,136 +1,136 @@
1
- var SubConverter=(()=>{var ws=Object.defineProperty;var kn=Object.getOwnPropertyDescriptor;var $n=Object.getOwnPropertyNames;var In=Object.prototype.hasOwnProperty;var nr=(t,e)=>{for(var s in e)ws(t,s,{get:e[s],enumerable:!0})},An=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of $n(e))!In.call(t,n)&&n!==s&&ws(t,n,{get:()=>e[n],enumerable:!(r=kn(e,n))||r.enumerable});return t};var Nn=t=>An(ws({},"__esModule",{value:!0}),t);var uo={};nr(uo,{default:()=>lo});var bs={};nr(bs,{createExtraSettings:()=>on,fetchSubscription:()=>Sn,loadNodes:()=>co,parseSubscription:()=>ys,toClash:()=>wn,toSurge:()=>vn});var Tt=Symbol.for("yaml.alias"),Lt=Symbol.for("yaml.document"),de=Symbol.for("yaml.map"),vs=Symbol.for("yaml.pair"),ce=Symbol.for("yaml.scalar"),Te=Symbol.for("yaml.seq"),ne=Symbol.for("yaml.node.type"),he=t=>!!t&&typeof t=="object"&&t[ne]===Tt,me=t=>!!t&&typeof t=="object"&&t[ne]===Lt,ge=t=>!!t&&typeof t=="object"&&t[ne]===de,B=t=>!!t&&typeof t=="object"&&t[ne]===vs,F=t=>!!t&&typeof t=="object"&&t[ne]===ce,ye=t=>!!t&&typeof t=="object"&&t[ne]===Te;function G(t){if(t&&typeof t=="object")switch(t[ne]){case de:case Te:return!0}return!1}function j(t){if(t&&typeof t=="object")switch(t[ne]){case Tt:case de:case ce:case Te:return!0}return!1}var Rt=t=>(F(t)||G(t))&&!!t.anchor;var oe=Symbol("break visit"),ir=Symbol("skip children"),Ie=Symbol("remove node");function Ae(t,e){let s=or(e);me(t)?Xe(null,t.contents,s,Object.freeze([t]))===Ie&&(t.contents=null):Xe(null,t,s,Object.freeze([]))}Ae.BREAK=oe;Ae.SKIP=ir;Ae.REMOVE=Ie;function Xe(t,e,s,r){let n=ar(t,e,s,r);if(j(n)||B(n))return cr(t,r,n),Xe(t,n,s,r);if(typeof n!="symbol"){if(G(e)){r=Object.freeze(r.concat(e));for(let i=0;i<e.items.length;++i){let o=Xe(i,e.items[i],s,r);if(typeof o=="number")i=o-1;else{if(o===oe)return oe;o===Ie&&(e.items.splice(i,1),i-=1)}}}else if(B(e)){r=Object.freeze(r.concat(e));let i=Xe("key",e.key,s,r);if(i===oe)return oe;i===Ie&&(e.key=null);let o=Xe("value",e.value,s,r);if(o===oe)return oe;o===Ie&&(e.value=null)}}return n}async function _t(t,e){let s=or(e);me(t)?await Qe(null,t.contents,s,Object.freeze([t]))===Ie&&(t.contents=null):await Qe(null,t,s,Object.freeze([]))}_t.BREAK=oe;_t.SKIP=ir;_t.REMOVE=Ie;async function Qe(t,e,s,r){let n=await ar(t,e,s,r);if(j(n)||B(n))return cr(t,r,n),Qe(t,n,s,r);if(typeof n!="symbol"){if(G(e)){r=Object.freeze(r.concat(e));for(let i=0;i<e.items.length;++i){let o=await Qe(i,e.items[i],s,r);if(typeof o=="number")i=o-1;else{if(o===oe)return oe;o===Ie&&(e.items.splice(i,1),i-=1)}}}else if(B(e)){r=Object.freeze(r.concat(e));let i=await Qe("key",e.key,s,r);if(i===oe)return oe;i===Ie&&(e.key=null);let o=await Qe("value",e.value,s,r);if(o===oe)return oe;o===Ie&&(e.value=null)}}return n}function or(t){return typeof t=="object"&&(t.Collection||t.Node||t.Value)?Object.assign({Alias:t.Node,Map:t.Node,Scalar:t.Node,Seq:t.Node},t.Value&&{Map:t.Value,Scalar:t.Value,Seq:t.Value},t.Collection&&{Map:t.Collection,Seq:t.Collection},t):t}function ar(t,e,s,r){if(typeof s=="function")return s(t,e,r);if(ge(e))return s.Map?.(t,e,r);if(ye(e))return s.Seq?.(t,e,r);if(B(e))return s.Pair?.(t,e,r);if(F(e))return s.Scalar?.(t,e,r);if(he(e))return s.Alias?.(t,e,r)}function cr(t,e,s){let r=e[e.length-1];if(G(r))r.items[t]=s;else if(B(r))t==="key"?r.key=s:r.value=s;else if(me(r))r.contents=s;else{let n=he(r)?"alias":"scalar";throw new Error(`Cannot replace node with ${n} parent`)}}var On={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},En=t=>t.replace(/[!,[\]{}]/g,e=>On[e]),Ne=class t{constructor(e,s){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},t.defaultYaml,e),this.tags=Object.assign({},t.defaultTags,s)}clone(){let e=new t(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new t(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:t.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},t.defaultTags);break}return e}add(e,s){this.atNextDocument&&(this.yaml={explicit:t.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},t.defaultTags),this.atNextDocument=!1);let r=e.trim().split(/[ \t]+/),n=r.shift();switch(n){case"%TAG":{if(r.length!==2&&(s(0,"%TAG directive should contain exactly two parts"),r.length<2))return!1;let[i,o]=r;return this.tags[i]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,r.length!==1)return s(0,"%YAML directive should contain exactly one part"),!1;let[i]=r;if(i==="1.1"||i==="1.2")return this.yaml.version=i,!0;{let o=/^\d+\.\d+$/.test(i);return s(6,`Unsupported YAML version ${i}`,o),!1}}default:return s(0,`Unknown directive ${n}`,!0),!1}}tagName(e,s){if(e==="!")return"!";if(e[0]!=="!")return s(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(s(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&s("Verbatim tags must end with a >"),o)}let[,r,n]=e.match(/^(.*!)([^!]*)$/s);n||s(`The ${e} tag has no suffix`);let i=this.tags[r];if(i)try{return i+decodeURIComponent(n)}catch(o){return s(String(o)),null}return r==="!"?e:(s(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[s,r]of Object.entries(this.tags))if(e.startsWith(r))return s+En(e.substring(r.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let s=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags),n;if(e&&r.length>0&&j(e.contents)){let i={};Ae(e.contents,(o,a)=>{j(a)&&a.tag&&(i[a.tag]=!0)}),n=Object.keys(i)}else n=[];for(let[i,o]of r)i==="!!"&&o==="tag:yaml.org,2002:"||(!e||n.some(a=>a.startsWith(o)))&&s.push(`%TAG ${i} ${o}`);return s.join(`
2
- `)}};Ne.defaultYaml={explicit:!1,version:"1.2"};Ne.defaultTags={"!!":"tag:yaml.org,2002:"};function Ft(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let s=`Anchor must not contain whitespace or control characters: ${JSON.stringify(t)}`;throw new Error(s)}return!0}function Ss(t){let e=new Set;return Ae(t,{Value(s,r){r.anchor&&e.add(r.anchor)}}),e}function ks(t,e){for(let s=1;;++s){let r=`${t}${s}`;if(!e.has(r))return r}}function lr(t,e){let s=[],r=new Map,n=null;return{onAnchor:i=>{s.push(i),n??(n=Ss(t));let o=ks(e,n);return n.add(o),o},setAnchors:()=>{for(let i of s){let o=r.get(i);if(typeof o=="object"&&o.anchor&&(F(o.node)||G(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=i,a}}},sourceObjects:r}}function De(t,e,s,r){if(r&&typeof r=="object")if(Array.isArray(r))for(let n=0,i=r.length;n<i;++n){let o=r[n],a=De(t,r,String(n),o);a===void 0?delete r[n]:a!==o&&(r[n]=a)}else if(r instanceof Map)for(let n of Array.from(r.keys())){let i=r.get(n),o=De(t,r,n,i);o===void 0?r.delete(n):o!==i&&r.set(n,o)}else if(r instanceof Set)for(let n of Array.from(r)){let i=De(t,r,n,n);i===void 0?r.delete(n):i!==n&&(r.delete(n),r.add(i))}else for(let[n,i]of Object.entries(r)){let o=De(t,r,n,i);o===void 0?delete r[n]:o!==i&&(r[n]=o)}return t.call(e,s,r)}function z(t,e,s){if(Array.isArray(t))return t.map((r,n)=>z(r,String(n),s));if(t&&typeof t.toJSON=="function"){if(!s||!Rt(t))return t.toJSON(e,s);let r={aliasCount:0,count:1,res:void 0};s.anchors.set(t,r),s.onCreate=i=>{r.res=i,delete s.onCreate};let n=t.toJSON(e,s);return s.onCreate&&s.onCreate(n),n}return typeof t=="bigint"&&!s?.keep?Number(t):t}var Be=class{constructor(e){Object.defineProperty(this,ne,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:s,maxAliasCount:r,onAnchor:n,reviver:i}={}){if(!me(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},a=z(this,"",o);if(typeof n=="function")for(let{count:c,res:u}of o.anchors.values())n(u,c);return typeof i=="function"?De(i,{"":a},"",a):a}};var Le=class extends Be{constructor(e){super(Tt),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,s){if(s?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let r;s?.aliasResolveCache?r=s.aliasResolveCache:(r=[],Ae(e,{Node:(i,o)=>{(he(o)||Rt(o))&&r.push(o)}}),s&&(s.aliasResolveCache=r));let n;for(let i of r){if(i===this)break;i.anchor===this.source&&(n=i)}if(n&&s){let{anchors:i,doc:o,maxAliasCount:a}=s,c=i.get(n);if(c||(z(n,null,s),c=i.get(n)),c?.res===void 0){let u="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(u)}if(a>=0&&(c.count+=1,c.aliasCount===0&&(c.aliasCount=Mt(o,n,i)),c.count*c.aliasCount>a)){let u="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(u)}}return n}toJSON(e,s){if(!s)return{source:this.source};let r=this.resolve(s.doc,s);if(!r){let n=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(n)}return s.anchors.get(r).res}toString(e,s,r){let n=`*${this.source}`;if(e){if(Ft(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let i=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(i)}if(e.implicitKey)return`${n} `}return n}};function Mt(t,e,s){if(he(e)){let r=e.resolve(t),n=s&&r&&s.get(r);return n?n.count*n.aliasCount:0}else if(G(e)){let r=0;for(let n of e.items){let i=Mt(t,n,s);i>r&&(r=i)}return r}else if(B(e)){let r=Mt(t,e.key,s),n=Mt(t,e.value,s);return Math.max(r,n)}return 1}var Dt=t=>!t||typeof t!="function"&&typeof t!="object",C=class extends Be{constructor(e){super(ce),this.value=e}toJSON(e,s){return s?.keep?this.value:z(this.value,e,s)}toString(){return String(this.value)}};C.BLOCK_FOLDED="BLOCK_FOLDED";C.BLOCK_LITERAL="BLOCK_LITERAL";C.PLAIN="PLAIN";C.QUOTE_DOUBLE="QUOTE_DOUBLE";C.QUOTE_SINGLE="QUOTE_SINGLE";var Cn="tag:yaml.org,2002:";function Pn(t,e,s){if(e){let r=s.filter(i=>i.tag===e),n=r.find(i=>!i.format)??r[0];if(!n)throw new Error(`Tag ${e} not found`);return n}return s.find(r=>r.identify?.(t)&&!r.format)}function Re(t,e,s){if(me(t)&&(t=t.contents),j(t))return t;if(B(t)){let f=s.schema[de].createNode?.(s.schema,null,s);return f.items.push(t),f}(t instanceof String||t instanceof Number||t instanceof Boolean||typeof BigInt<"u"&&t instanceof BigInt)&&(t=t.valueOf());let{aliasDuplicateObjects:r,onAnchor:n,onTagObj:i,schema:o,sourceObjects:a}=s,c;if(r&&t&&typeof t=="object"){if(c=a.get(t),c)return c.anchor??(c.anchor=n(t)),new Le(c.anchor);c={anchor:null,node:null},a.set(t,c)}e?.startsWith("!!")&&(e=Cn+e.slice(2));let u=Pn(t,e,o.tags);if(!u){if(t&&typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object"){let f=new C(t);return c&&(c.node=f),f}u=t instanceof Map?o[de]:Symbol.iterator in Object(t)?o[Te]:o[de]}i&&(i(u),delete s.onTagObj);let p=u?.createNode?u.createNode(s.schema,t,s):typeof u?.nodeClass?.from=="function"?u.nodeClass.from(s.schema,t,s):new C(t);return e?p.tag=e:u.default||(p.tag=u.tag),c&&(c.node=p),p}function ut(t,e,s){let r=s;for(let n=e.length-1;n>=0;--n){let i=e[n];if(typeof i=="number"&&Number.isInteger(i)&&i>=0){let o=[];o[i]=r,r=o}else r=new Map([[i,r]])}return Re(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:t,sourceObjects:new Map})}var Ze=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done,ze=class extends Be{constructor(e,s){super(e),Object.defineProperty(this,"schema",{value:s,configurable:!0,enumerable:!1,writable:!0})}clone(e){let s=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(s.schema=e),s.items=s.items.map(r=>j(r)||B(r)?r.clone(e):r),this.range&&(s.range=this.range.slice()),s}addIn(e,s){if(Ze(e))this.add(s);else{let[r,...n]=e,i=this.get(r,!0);if(G(i))i.addIn(n,s);else if(i===void 0&&this.schema)this.set(r,ut(this.schema,n,s));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}}deleteIn(e){let[s,...r]=e;if(r.length===0)return this.delete(s);let n=this.get(s,!0);if(G(n))return n.deleteIn(r);throw new Error(`Expected YAML collection at ${s}. Remaining path: ${r}`)}getIn(e,s){let[r,...n]=e,i=this.get(r,!0);return n.length===0?!s&&F(i)?i.value:i:G(i)?i.getIn(n,s):void 0}hasAllNullValues(e){return this.items.every(s=>{if(!B(s))return!1;let r=s.value;return r==null||e&&F(r)&&r.value==null&&!r.commentBefore&&!r.comment&&!r.tag})}hasIn(e){let[s,...r]=e;if(r.length===0)return this.has(s);let n=this.get(s,!0);return G(n)?n.hasIn(r):!1}setIn(e,s){let[r,...n]=e;if(n.length===0)this.set(r,s);else{let i=this.get(r,!0);if(G(i))i.setIn(n,s);else if(i===void 0&&this.schema)this.set(r,ut(this.schema,n,s));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}}};var ur=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function fe(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}var Oe=(t,e,s)=>t.endsWith(`
3
- `)?fe(s,e):s.includes(`
1
+ var SubConverter=(()=>{var Ss=Object.defineProperty;var An=Object.getOwnPropertyDescriptor;var On=Object.getOwnPropertyNames;var En=Object.prototype.hasOwnProperty;var ir=(e,t)=>{for(var s in t)Ss(e,s,{get:t[s],enumerable:!0})},Nn=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of On(t))!En.call(e,n)&&n!==s&&Ss(e,n,{get:()=>t[n],enumerable:!(r=An(t,n))||r.enumerable});return e};var Cn=e=>Nn(Ss({},"__esModule",{value:!0}),e);var vo={};ir(vo,{default:()=>wo});var ws={};ir(ws,{createExtraSettings:()=>an,fetchSubscription:()=>In,loadNodes:()=>bo,parseSubscription:()=>bs,toClash:()=>kn,toSurge:()=>$n});var Pt=Symbol.for("yaml.alias"),Tt=Symbol.for("yaml.document"),de=Symbol.for("yaml.map"),ks=Symbol.for("yaml.pair"),ce=Symbol.for("yaml.scalar"),Re=Symbol.for("yaml.seq"),ie=Symbol.for("yaml.node.type"),he=e=>!!e&&typeof e=="object"&&e[ie]===Pt,me=e=>!!e&&typeof e=="object"&&e[ie]===Tt,ge=e=>!!e&&typeof e=="object"&&e[ie]===de,D=e=>!!e&&typeof e=="object"&&e[ie]===ks,F=e=>!!e&&typeof e=="object"&&e[ie]===ce,ye=e=>!!e&&typeof e=="object"&&e[ie]===Re;function G(e){if(e&&typeof e=="object")switch(e[ie]){case de:case Re:return!0}return!1}function B(e){if(e&&typeof e=="object")switch(e[ie]){case Pt:case de:case ce:case Re:return!0}return!1}var Lt=e=>(F(e)||G(e))&&!!e.anchor;var oe=Symbol("break visit"),or=Symbol("skip children"),Ae=Symbol("remove node");function Oe(e,t){let s=ar(t);me(e)?Xe(null,e.contents,s,Object.freeze([e]))===Ae&&(e.contents=null):Xe(null,e,s,Object.freeze([]))}Oe.BREAK=oe;Oe.SKIP=or;Oe.REMOVE=Ae;function Xe(e,t,s,r){let n=cr(e,t,s,r);if(B(n)||D(n))return lr(e,r,n),Xe(e,n,s,r);if(typeof n!="symbol"){if(G(t)){r=Object.freeze(r.concat(t));for(let i=0;i<t.items.length;++i){let o=Xe(i,t.items[i],s,r);if(typeof o=="number")i=o-1;else{if(o===oe)return oe;o===Ae&&(t.items.splice(i,1),i-=1)}}}else if(D(t)){r=Object.freeze(r.concat(t));let i=Xe("key",t.key,s,r);if(i===oe)return oe;i===Ae&&(t.key=null);let o=Xe("value",t.value,s,r);if(o===oe)return oe;o===Ae&&(t.value=null)}}return n}async function Rt(e,t){let s=ar(t);me(e)?await Qe(null,e.contents,s,Object.freeze([e]))===Ae&&(e.contents=null):await Qe(null,e,s,Object.freeze([]))}Rt.BREAK=oe;Rt.SKIP=or;Rt.REMOVE=Ae;async function Qe(e,t,s,r){let n=await cr(e,t,s,r);if(B(n)||D(n))return lr(e,r,n),Qe(e,n,s,r);if(typeof n!="symbol"){if(G(t)){r=Object.freeze(r.concat(t));for(let i=0;i<t.items.length;++i){let o=await Qe(i,t.items[i],s,r);if(typeof o=="number")i=o-1;else{if(o===oe)return oe;o===Ae&&(t.items.splice(i,1),i-=1)}}}else if(D(t)){r=Object.freeze(r.concat(t));let i=await Qe("key",t.key,s,r);if(i===oe)return oe;i===Ae&&(t.key=null);let o=await Qe("value",t.value,s,r);if(o===oe)return oe;o===Ae&&(t.value=null)}}return n}function ar(e){return typeof e=="object"&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function cr(e,t,s,r){if(typeof s=="function")return s(e,t,r);if(ge(t))return s.Map?.(e,t,r);if(ye(t))return s.Seq?.(e,t,r);if(D(t))return s.Pair?.(e,t,r);if(F(t))return s.Scalar?.(e,t,r);if(he(t))return s.Alias?.(e,t,r)}function lr(e,t,s){let r=t[t.length-1];if(G(r))r.items[e]=s;else if(D(r))e==="key"?r.key=s:r.value=s;else if(me(r))r.contents=s;else{let n=he(r)?"alias":"scalar";throw new Error(`Cannot replace node with ${n} parent`)}}var Pn={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Tn=e=>e.replace(/[!,[\]{}]/g,t=>Pn[t]),Ee=class e{constructor(t,s){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,s)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,s){this.atNextDocument&&(this.yaml={explicit:e.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},e.defaultTags),this.atNextDocument=!1);let r=t.trim().split(/[ \t]+/),n=r.shift();switch(n){case"%TAG":{if(r.length!==2&&(s(0,"%TAG directive should contain exactly two parts"),r.length<2))return!1;let[i,o]=r;return this.tags[i]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,r.length!==1)return s(0,"%YAML directive should contain exactly one part"),!1;let[i]=r;if(i==="1.1"||i==="1.2")return this.yaml.version=i,!0;{let o=/^\d+\.\d+$/.test(i);return s(6,`Unsupported YAML version ${i}`,o),!1}}default:return s(0,`Unknown directive ${n}`,!0),!1}}tagName(t,s){if(t==="!")return"!";if(t[0]!=="!")return s(`Not a valid tag: ${t}`),null;if(t[1]==="<"){let o=t.slice(2,-1);return o==="!"||o==="!!"?(s(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&s("Verbatim tags must end with a >"),o)}let[,r,n]=t.match(/^(.*!)([^!]*)$/s);n||s(`The ${t} tag has no suffix`);let i=this.tags[r];if(i)try{return i+decodeURIComponent(n)}catch(o){return s(String(o)),null}return r==="!"?t:(s(`Could not resolve tag: ${t}`),null)}tagString(t){for(let[s,r]of Object.entries(this.tags))if(t.startsWith(r))return s+Tn(t.substring(r.length));return t[0]==="!"?t:`!<${t}>`}toString(t){let s=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags),n;if(t&&r.length>0&&B(t.contents)){let i={};Oe(t.contents,(o,a)=>{B(a)&&a.tag&&(i[a.tag]=!0)}),n=Object.keys(i)}else n=[];for(let[i,o]of r)i==="!!"&&o==="tag:yaml.org,2002:"||(!t||n.some(a=>a.startsWith(o)))&&s.push(`%TAG ${i} ${o}`);return s.join(`
2
+ `)}};Ee.defaultYaml={explicit:!1,version:"1.2"};Ee.defaultTags={"!!":"tag:yaml.org,2002:"};function _t(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let s=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(s)}return!0}function $s(e){let t=new Set;return Oe(e,{Value(s,r){r.anchor&&t.add(r.anchor)}}),t}function Is(e,t){for(let s=1;;++s){let r=`${e}${s}`;if(!t.has(r))return r}}function ur(e,t){let s=[],r=new Map,n=null;return{onAnchor:i=>{s.push(i),n??(n=$s(e));let o=Is(t,n);return n.add(o),o},setAnchors:()=>{for(let i of s){let o=r.get(i);if(typeof o=="object"&&o.anchor&&(F(o.node)||G(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=i,a}}},sourceObjects:r}}function Be(e,t,s,r){if(r&&typeof r=="object")if(Array.isArray(r))for(let n=0,i=r.length;n<i;++n){let o=r[n],a=Be(e,r,String(n),o);a===void 0?delete r[n]:a!==o&&(r[n]=a)}else if(r instanceof Map)for(let n of Array.from(r.keys())){let i=r.get(n),o=Be(e,r,n,i);o===void 0?r.delete(n):o!==i&&r.set(n,o)}else if(r instanceof Set)for(let n of Array.from(r)){let i=Be(e,r,n,n);i===void 0?r.delete(n):i!==n&&(r.delete(n),r.add(i))}else for(let[n,i]of Object.entries(r)){let o=Be(e,r,n,i);o===void 0?delete r[n]:o!==i&&(r[n]=o)}return e.call(t,s,r)}function Z(e,t,s){if(Array.isArray(e))return e.map((r,n)=>Z(r,String(n),s));if(e&&typeof e.toJSON=="function"){if(!s||!Lt(e))return e.toJSON(t,s);let r={aliasCount:0,count:1,res:void 0};s.anchors.set(e,r),s.onCreate=i=>{r.res=i,delete s.onCreate};let n=e.toJSON(t,s);return s.onCreate&&s.onCreate(n),n}return typeof e=="bigint"&&!s?.keep?Number(e):e}var je=class{constructor(t){Object.defineProperty(this,ie,{value:t})}clone(){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:s,maxAliasCount:r,onAnchor:n,reviver:i}={}){if(!me(t))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:t,keep:!0,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},a=Z(this,"",o);if(typeof n=="function")for(let{count:c,res:u}of o.anchors.values())n(u,c);return typeof i=="function"?Be(i,{"":a},"",a):a}};var _e=class extends je{constructor(t){super(Pt),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,s){if(s?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let r;s?.aliasResolveCache?r=s.aliasResolveCache:(r=[],Oe(t,{Node:(i,o)=>{(he(o)||Lt(o))&&r.push(o)}}),s&&(s.aliasResolveCache=r));let n;for(let i of r){if(i===this)break;i.anchor===this.source&&(n=i)}if(n&&s){let{anchors:i,doc:o,maxAliasCount:a}=s,c=i.get(n);if(c||(Z(n,null,s),c=i.get(n)),c?.res===void 0){let u="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(u)}if(a>=0&&(c.count+=1,c.aliasCount===0&&(c.aliasCount=Ft(o,n,i)),c.count*c.aliasCount>a)){let u="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(u)}}return n}toJSON(t,s){if(!s)return{source:this.source};let r=this.resolve(s.doc,s);if(!r){let n=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(n)}return s.anchors.get(r).res}toString(t,s,r){let n=`*${this.source}`;if(t){if(_t(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){let i=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(i)}if(t.implicitKey)return`${n} `}return n}};function Ft(e,t,s){if(he(t)){let r=t.resolve(e),n=s&&r&&s.get(r);return n?n.count*n.aliasCount:0}else if(G(t)){let r=0;for(let n of t.items){let i=Ft(e,n,s);i>r&&(r=i)}return r}else if(D(t)){let r=Ft(e,t.key,s),n=Ft(e,t.value,s);return Math.max(r,n)}return 1}var Mt=e=>!e||typeof e!="function"&&typeof e!="object",C=class extends je{constructor(t){super(ce),this.value=t}toJSON(t,s){return s?.keep?this.value:Z(this.value,t,s)}toString(){return String(this.value)}};C.BLOCK_FOLDED="BLOCK_FOLDED";C.BLOCK_LITERAL="BLOCK_LITERAL";C.PLAIN="PLAIN";C.QUOTE_DOUBLE="QUOTE_DOUBLE";C.QUOTE_SINGLE="QUOTE_SINGLE";var Ln="tag:yaml.org,2002:";function Rn(e,t,s){if(t){let r=s.filter(i=>i.tag===t),n=r.find(i=>!i.format)??r[0];if(!n)throw new Error(`Tag ${t} not found`);return n}return s.find(r=>r.identify?.(e)&&!r.format)}function Fe(e,t,s){if(me(e)&&(e=e.contents),B(e))return e;if(D(e)){let f=s.schema[de].createNode?.(s.schema,null,s);return f.items.push(e),f}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:r,onAnchor:n,onTagObj:i,schema:o,sourceObjects:a}=s,c;if(r&&e&&typeof e=="object"){if(c=a.get(e),c)return c.anchor??(c.anchor=n(e)),new _e(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=Ln+t.slice(2));let u=Rn(e,t,o.tags);if(!u){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let f=new C(e);return c&&(c.node=f),f}u=e instanceof Map?o[de]:Symbol.iterator in Object(e)?o[Re]:o[de]}i&&(i(u),delete s.onTagObj);let p=u?.createNode?u.createNode(s.schema,e,s):typeof u?.nodeClass?.from=="function"?u.nodeClass.from(s.schema,e,s):new C(e);return t?p.tag=t:u.default||(p.tag=u.tag),c&&(c.node=p),p}function lt(e,t,s){let r=s;for(let n=t.length-1;n>=0;--n){let i=t[n];if(typeof i=="number"&&Number.isInteger(i)&&i>=0){let o=[];o[i]=r,r=o}else r=new Map([[i,r]])}return Fe(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}var Ze=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,ze=class extends je{constructor(t,s){super(t),Object.defineProperty(this,"schema",{value:s,configurable:!0,enumerable:!1,writable:!0})}clone(t){let s=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(s.schema=t),s.items=s.items.map(r=>B(r)||D(r)?r.clone(t):r),this.range&&(s.range=this.range.slice()),s}addIn(t,s){if(Ze(t))this.add(s);else{let[r,...n]=t,i=this.get(r,!0);if(G(i))i.addIn(n,s);else if(i===void 0&&this.schema)this.set(r,lt(this.schema,n,s));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}}deleteIn(t){let[s,...r]=t;if(r.length===0)return this.delete(s);let n=this.get(s,!0);if(G(n))return n.deleteIn(r);throw new Error(`Expected YAML collection at ${s}. Remaining path: ${r}`)}getIn(t,s){let[r,...n]=t,i=this.get(r,!0);return n.length===0?!s&&F(i)?i.value:i:G(i)?i.getIn(n,s):void 0}hasAllNullValues(t){return this.items.every(s=>{if(!D(s))return!1;let r=s.value;return r==null||t&&F(r)&&r.value==null&&!r.commentBefore&&!r.comment&&!r.tag})}hasIn(t){let[s,...r]=t;if(r.length===0)return this.has(s);let n=this.get(s,!0);return G(n)?n.hasIn(r):!1}setIn(t,s){let[r,...n]=t;if(n.length===0)this.set(r,s);else{let i=this.get(r,!0);if(G(i))i.setIn(n,s);else if(i===void 0&&this.schema)this.set(r,lt(this.schema,n,s));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}}};var fr=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function fe(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var Ne=(e,t,s)=>e.endsWith(`
3
+ `)?fe(s,t):s.includes(`
4
4
  `)?`
5
- `+fe(s,e):(t.endsWith(" ")?"":" ")+s;var $s="flow",Bt="block",ft="quoted";function pt(t,e,s="flow",{indentAtStart:r,lineWidth:n=80,minContentWidth:i=20,onFold:o,onOverflow:a}={}){if(!n||n<0)return t;n<i&&(i=0);let c=Math.max(1+i,1+n-e.length);if(t.length<=c)return t;let u=[],p={},f=n-e.length;typeof r=="number"&&(r>n-Math.max(2,i)?u.push(0):f=n-r);let l,m,y=!1,d=-1,h=-1,v=-1;s===Bt&&(d=fr(t,d,e.length),d!==-1&&(f=d+c));for(let S;S=t[d+=1];){if(s===ft&&S==="\\"){switch(h=d,t[d+1]){case"x":d+=3;break;case"u":d+=5;break;case"U":d+=9;break;default:d+=1}v=d}if(S===`
6
- `)s===Bt&&(d=fr(t,d,e.length)),f=d+e.length+c,l=void 0;else{if(S===" "&&m&&m!==" "&&m!==`
7
- `&&m!==" "){let $=t[d+1];$&&$!==" "&&$!==`
8
- `&&$!==" "&&(l=d)}if(d>=f)if(l)u.push(l),f=l+c,l=void 0;else if(s===ft){for(;m===" "||m===" ";)m=S,S=t[d+=1],y=!0;let $=d>v+1?d-2:h-1;if(p[$])return t;u.push($),p[$]=!0,f=$+c,l=void 0}else y=!0}m=S}if(y&&a&&a(),u.length===0)return t;o&&o();let b=t.slice(0,u[0]);for(let S=0;S<u.length;++S){let $=u[S],k=u[S+1]||t.length;$===0?b=`
9
- ${e}${t.slice(0,k)}`:(s===ft&&p[$]&&(b+=`${t[$]}\\`),b+=`
10
- ${e}${t.slice($+1,k)}`)}return b}function fr(t,e,s){let r=e,n=e+1,i=t[n];for(;i===" "||i===" ";)if(e<n+s)i=t[++e];else{do i=t[++e];while(i&&i!==`
11
- `);r=e,n=e+1,i=t[n]}return r}var Ut=(t,e)=>({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),Kt=t=>/^(%|---|\.\.\.)/m.test(t);function Tn(t,e,s){if(!e||e<0)return!1;let r=e-s,n=t.length;if(n<=r)return!1;for(let i=0,o=0;i<n;++i)if(t[i]===`
12
- `){if(i-o>r)return!0;if(o=i+1,n-o<=r)return!1}return!0}function dt(t,e){let s=JSON.stringify(t);if(e.options.doubleQuotedAsJSON)return s;let{implicitKey:r}=e,n=e.options.doubleQuotedMinMultiLineLength,i=e.indent||(Kt(t)?" ":""),o="",a=0;for(let c=0,u=s[c];u;u=s[++c])if(u===" "&&s[c+1]==="\\"&&s[c+2]==="n"&&(o+=s.slice(a,c)+"\\ ",c+=1,a=c,u="\\"),u==="\\")switch(s[c+1]){case"u":{o+=s.slice(a,c);let p=s.substr(c+2,4);switch(p){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:p.substr(0,2)==="00"?o+="\\x"+p.substr(2):o+=s.substr(c,6)}c+=5,a=c+1}break;case"n":if(r||s[c+2]==='"'||s.length<n)c+=1;else{for(o+=s.slice(a,c)+`
5
+ `+fe(s,t):(e.endsWith(" ")?"":" ")+s;var As="flow",Dt="block",ut="quoted";function ft(e,t,s="flow",{indentAtStart:r,lineWidth:n=80,minContentWidth:i=20,onFold:o,onOverflow:a}={}){if(!n||n<0)return e;n<i&&(i=0);let c=Math.max(1+i,1+n-t.length);if(e.length<=c)return e;let u=[],p={},f=n-t.length;typeof r=="number"&&(r>n-Math.max(2,i)?u.push(0):f=n-r);let l,h,g=!1,d=-1,m=-1,v=-1;s===Dt&&(d=pr(e,d,t.length),d!==-1&&(f=d+c));for(let S;S=e[d+=1];){if(s===ut&&S==="\\"){switch(m=d,e[d+1]){case"x":d+=3;break;case"u":d+=5;break;case"U":d+=9;break;default:d+=1}v=d}if(S===`
6
+ `)s===Dt&&(d=pr(e,d,t.length)),f=d+t.length+c,l=void 0;else{if(S===" "&&h&&h!==" "&&h!==`
7
+ `&&h!==" "){let $=e[d+1];$&&$!==" "&&$!==`
8
+ `&&$!==" "&&(l=d)}if(d>=f)if(l)u.push(l),f=l+c,l=void 0;else if(s===ut){for(;h===" "||h===" ";)h=S,S=e[d+=1],g=!0;let $=d>v+1?d-2:m-1;if(p[$])return e;u.push($),p[$]=!0,f=$+c,l=void 0}else g=!0}h=S}if(g&&a&&a(),u.length===0)return e;o&&o();let b=e.slice(0,u[0]);for(let S=0;S<u.length;++S){let $=u[S],I=u[S+1]||e.length;$===0?b=`
9
+ ${t}${e.slice(0,I)}`:(s===ut&&p[$]&&(b+=`${e[$]}\\`),b+=`
10
+ ${t}${e.slice($+1,I)}`)}return b}function pr(e,t,s){let r=t,n=t+1,i=e[n];for(;i===" "||i===" ";)if(t<n+s)i=e[++t];else{do i=e[++t];while(i&&i!==`
11
+ `);r=t,n=t+1,i=e[n]}return r}var jt=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),Kt=e=>/^(%|---|\.\.\.)/m.test(e);function _n(e,t,s){if(!t||t<0)return!1;let r=t-s,n=e.length;if(n<=r)return!1;for(let i=0,o=0;i<n;++i)if(e[i]===`
12
+ `){if(i-o>r)return!0;if(o=i+1,n-o<=r)return!1}return!0}function pt(e,t){let s=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return s;let{implicitKey:r}=t,n=t.options.doubleQuotedMinMultiLineLength,i=t.indent||(Kt(e)?" ":""),o="",a=0;for(let c=0,u=s[c];u;u=s[++c])if(u===" "&&s[c+1]==="\\"&&s[c+2]==="n"&&(o+=s.slice(a,c)+"\\ ",c+=1,a=c,u="\\"),u==="\\")switch(s[c+1]){case"u":{o+=s.slice(a,c);let p=s.substr(c+2,4);switch(p){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:p.substr(0,2)==="00"?o+="\\x"+p.substr(2):o+=s.substr(c,6)}c+=5,a=c+1}break;case"n":if(r||s[c+2]==='"'||s.length<n)c+=1;else{for(o+=s.slice(a,c)+`
13
13
 
14
14
  `;s[c+2]==="\\"&&s[c+3]==="n"&&s[c+4]!=='"';)o+=`
15
- `,c+=2;o+=i,s[c+2]===" "&&(o+="\\"),c+=1,a=c+1}break;default:c+=1}return o=a?o+s.slice(a):s,r?o:pt(o,i,ft,Ut(e,!1))}function Is(t,e){if(e.options.singleQuote===!1||e.implicitKey&&t.includes(`
16
- `)||/[ \t]\n|\n[ \t]/.test(t))return dt(t,e);let s=e.indent||(Kt(t)?" ":""),r="'"+t.replace(/'/g,"''").replace(/\n+/g,`$&
17
- ${s}`)+"'";return e.implicitKey?r:pt(r,s,$s,Ut(e,!1))}function xe(t,e){let{singleQuote:s}=e.options,r;if(s===!1)r=dt;else{let n=t.includes('"'),i=t.includes("'");n&&!i?r=Is:i&&!n?r=dt:r=s?Is:dt}return r(t,e)}var As;try{As=new RegExp(`(^|(?<!
15
+ `,c+=2;o+=i,s[c+2]===" "&&(o+="\\"),c+=1,a=c+1}break;default:c+=1}return o=a?o+s.slice(a):s,r?o:ft(o,i,ut,jt(t,!1))}function Os(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
16
+ `)||/[ \t]\n|\n[ \t]/.test(e))return pt(e,t);let s=t.indent||(Kt(e)?" ":""),r="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
17
+ ${s}`)+"'";return t.implicitKey?r:ft(r,s,As,jt(t,!1))}function xe(e,t){let{singleQuote:s}=t.options,r;if(s===!1)r=pt;else{let n=e.includes('"'),i=e.includes("'");n&&!i?r=Os:i&&!n?r=pt:r=s?Os:pt}return r(e,t)}var Es;try{Es=new RegExp(`(^|(?<!
18
18
  ))
19
19
  +(?!
20
- |$)`,"g")}catch{As=/\n+(?!\n|$)/g}function jt({comment:t,type:e,value:s},r,n,i){let{blockQuote:o,commentString:a,lineWidth:c}=r.options;if(!o||/\n[\t ]+$/.test(s))return xe(s,r);let u=r.indent||(r.forceBlockIndent||Kt(s)?" ":""),p=o==="literal"?!0:o==="folded"||e===C.BLOCK_FOLDED?!1:e===C.BLOCK_LITERAL?!0:!Tn(s,c,u.length);if(!s)return p?`|
20
+ |$)`,"g")}catch{Es=/\n+(?!\n|$)/g}function Bt({comment:e,type:t,value:s},r,n,i){let{blockQuote:o,commentString:a,lineWidth:c}=r.options;if(!o||/\n[\t ]+$/.test(s))return xe(s,r);let u=r.indent||(r.forceBlockIndent||Kt(s)?" ":""),p=o==="literal"?!0:o==="folded"||t===C.BLOCK_FOLDED?!1:t===C.BLOCK_LITERAL?!0:!_n(s,c,u.length);if(!s)return p?`|
21
21
  `:`>
22
- `;let f,l;for(l=s.length;l>0;--l){let k=s[l-1];if(k!==`
23
- `&&k!==" "&&k!==" ")break}let m=s.substring(l),y=m.indexOf(`
24
- `);y===-1?f="-":s===m||y!==m.length-1?(f="+",i&&i()):f="",m&&(s=s.slice(0,-m.length),m[m.length-1]===`
25
- `&&(m=m.slice(0,-1)),m=m.replace(As,`$&${u}`));let d=!1,h,v=-1;for(h=0;h<s.length;++h){let k=s[h];if(k===" ")d=!0;else if(k===`
26
- `)v=h;else break}let b=s.substring(0,v<h?v+1:h);b&&(s=s.substring(b.length),b=b.replace(/\n+/g,`$&${u}`));let $=(d?u?"2":"1":"")+f;if(t&&($+=" "+a(t.replace(/ ?[\r\n]+/g," ")),n&&n()),!p){let k=s.replace(/\n+/g,`
27
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${u}`),N=!1,O=Ut(r,!0);o!=="folded"&&e!==C.BLOCK_FOLDED&&(O.onOverflow=()=>{N=!0});let I=pt(`${b}${k}${m}`,u,Bt,O);if(!N)return`>${$}
28
- ${u}${I}`}return s=s.replace(/\n+/g,`$&${u}`),`|${$}
29
- ${u}${b}${s}${m}`}function Ln(t,e,s,r){let{type:n,value:i}=t,{actualString:o,implicitKey:a,indent:c,indentStep:u,inFlow:p}=e;if(a&&i.includes(`
30
- `)||p&&/[[\]{},]/.test(i))return xe(i,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(i))return a||p||!i.includes(`
31
- `)?xe(i,e):jt(t,e,s,r);if(!a&&!p&&n!==C.PLAIN&&i.includes(`
32
- `))return jt(t,e,s,r);if(Kt(i)){if(c==="")return e.forceBlockIndent=!0,jt(t,e,s,r);if(a&&c===u)return xe(i,e)}let f=i.replace(/\n+/g,`$&
33
- ${c}`);if(o){let l=d=>d.default&&d.tag!=="tag:yaml.org,2002:str"&&d.test?.test(f),{compat:m,tags:y}=e.doc.schema;if(y.some(l)||m?.some(l))return xe(i,e)}return a?f:pt(f,c,$s,Ut(e,!1))}function qe(t,e,s,r){let{implicitKey:n,inFlow:i}=e,o=typeof t.value=="string"?t:Object.assign({},t,{value:String(t.value)}),{type:a}=t;a!==C.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=C.QUOTE_DOUBLE);let c=p=>{switch(p){case C.BLOCK_FOLDED:case C.BLOCK_LITERAL:return n||i?xe(o.value,e):jt(o,e,s,r);case C.QUOTE_DOUBLE:return dt(o.value,e);case C.QUOTE_SINGLE:return Is(o.value,e);case C.PLAIN:return Ln(o,e,s,r);default:return null}},u=c(a);if(u===null){let{defaultKeyType:p,defaultStringType:f}=e.options,l=n&&p||f;if(u=c(l),u===null)throw new Error(`Unsupported default string type ${l}`)}return u}function Gt(t,e){let s=Object.assign({blockQuote:!0,commentString:ur,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},t.schema.toStringOptions,e),r;switch(s.collectionStyle){case"block":r=!1;break;case"flow":r=!0;break;default:r=null}return{anchors:new Set,doc:t,flowCollectionPadding:s.flowCollectionPadding?" ":"",indent:"",indentStep:typeof s.indent=="number"?" ".repeat(s.indent):" ",inFlow:r,options:s}}function Rn(t,e){if(e.tag){let n=t.filter(i=>i.tag===e.tag);if(n.length>0)return n.find(i=>i.format===e.format)??n[0]}let s,r;if(F(e)){r=e.value;let n=t.filter(i=>i.identify?.(r));if(n.length>1){let i=n.filter(o=>o.test);i.length>0&&(n=i)}s=n.find(i=>i.format===e.format)??n.find(i=>!i.format)}else r=e,s=t.find(n=>n.nodeClass&&r instanceof n.nodeClass);if(!s){let n=r?.constructor?.name??(r===null?"null":typeof r);throw new Error(`Tag not resolved for ${n} value`)}return s}function _n(t,e,{anchors:s,doc:r}){if(!r.directives)return"";let n=[],i=(F(t)||G(t))&&t.anchor;i&&Ft(i)&&(s.add(i),n.push(`&${i}`));let o=t.tag??(e.default?null:e.tag);return o&&n.push(r.directives.tagString(o)),n.join(" ")}function _e(t,e,s,r){if(B(t))return t.toString(e,s,r);if(he(t)){if(e.doc.directives)return t.toString(e);if(e.resolvedAliases?.has(t))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(t):e.resolvedAliases=new Set([t]),t=t.resolve(e.doc)}let n,i=j(t)?t:e.doc.createNode(t,{onTagObj:c=>n=c});n??(n=Rn(e.doc.schema.tags,i));let o=_n(i,n,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);let a=typeof n.stringify=="function"?n.stringify(i,e,s,r):F(i)?qe(i,e,s,r):i.toString(e,s,r);return o?F(i)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
34
- ${e.indent}${a}`:a}function pr({key:t,value:e},s,r,n){let{allNullValues:i,doc:o,indent:a,indentStep:c,options:{commentString:u,indentSeq:p,simpleKeys:f}}=s,l=j(t)&&t.comment||null;if(f){if(l)throw new Error("With simple keys, key nodes cannot have comments");if(G(t)||!j(t)&&typeof t=="object"){let O="With simple keys, collection cannot be used as a key value";throw new Error(O)}}let m=!f&&(!t||l&&e==null&&!s.inFlow||G(t)||(F(t)?t.type===C.BLOCK_FOLDED||t.type===C.BLOCK_LITERAL:typeof t=="object"));s=Object.assign({},s,{allNullValues:!1,implicitKey:!m&&(f||!i),indent:a+c});let y=!1,d=!1,h=_e(t,s,()=>y=!0,()=>d=!0);if(!m&&!s.inFlow&&h.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");m=!0}if(s.inFlow){if(i||e==null)return y&&r&&r(),h===""?"?":m?`? ${h}`:h}else if(i&&!f||e==null&&m)return h=`? ${h}`,l&&!y?h+=Oe(h,s.indent,u(l)):d&&n&&n(),h;y&&(l=null),m?(l&&(h+=Oe(h,s.indent,u(l))),h=`? ${h}
35
- ${a}:`):(h=`${h}:`,l&&(h+=Oe(h,s.indent,u(l))));let v,b,S;j(e)?(v=!!e.spaceBefore,b=e.commentBefore,S=e.comment):(v=!1,b=null,S=null,e&&typeof e=="object"&&(e=o.createNode(e))),s.implicitKey=!1,!m&&!l&&F(e)&&(s.indentAtStart=h.length+1),d=!1,!p&&c.length>=2&&!s.inFlow&&!m&&ye(e)&&!e.flow&&!e.tag&&!e.anchor&&(s.indent=s.indent.substring(2));let $=!1,k=_e(e,s,()=>$=!0,()=>d=!0),N=" ";if(l||v||b){if(N=v?`
36
- `:"",b){let O=u(b);N+=`
37
- ${fe(O,s.indent)}`}k===""&&!s.inFlow?N===`
38
- `&&S&&(N=`
22
+ `;let f,l;for(l=s.length;l>0;--l){let I=s[l-1];if(I!==`
23
+ `&&I!==" "&&I!==" ")break}let h=s.substring(l),g=h.indexOf(`
24
+ `);g===-1?f="-":s===h||g!==h.length-1?(f="+",i&&i()):f="",h&&(s=s.slice(0,-h.length),h[h.length-1]===`
25
+ `&&(h=h.slice(0,-1)),h=h.replace(Es,`$&${u}`));let d=!1,m,v=-1;for(m=0;m<s.length;++m){let I=s[m];if(I===" ")d=!0;else if(I===`
26
+ `)v=m;else break}let b=s.substring(0,v<m?v+1:m);b&&(s=s.substring(b.length),b=b.replace(/\n+/g,`$&${u}`));let $=(d?u?"2":"1":"")+f;if(e&&($+=" "+a(e.replace(/ ?[\r\n]+/g," ")),n&&n()),!p){let I=s.replace(/\n+/g,`
27
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${u}`),O=!1,E=jt(r,!0);o!=="folded"&&t!==C.BLOCK_FOLDED&&(E.onOverflow=()=>{O=!0});let A=ft(`${b}${I}${h}`,u,Dt,E);if(!O)return`>${$}
28
+ ${u}${A}`}return s=s.replace(/\n+/g,`$&${u}`),`|${$}
29
+ ${u}${b}${s}${h}`}function Fn(e,t,s,r){let{type:n,value:i}=e,{actualString:o,implicitKey:a,indent:c,indentStep:u,inFlow:p}=t;if(a&&i.includes(`
30
+ `)||p&&/[[\]{},]/.test(i))return xe(i,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(i))return a||p||!i.includes(`
31
+ `)?xe(i,t):Bt(e,t,s,r);if(!a&&!p&&n!==C.PLAIN&&i.includes(`
32
+ `))return Bt(e,t,s,r);if(Kt(i)){if(c==="")return t.forceBlockIndent=!0,Bt(e,t,s,r);if(a&&c===u)return xe(i,t)}let f=i.replace(/\n+/g,`$&
33
+ ${c}`);if(o){let l=d=>d.default&&d.tag!=="tag:yaml.org,2002:str"&&d.test?.test(f),{compat:h,tags:g}=t.doc.schema;if(g.some(l)||h?.some(l))return xe(i,t)}return a?f:ft(f,c,As,jt(t,!1))}function qe(e,t,s,r){let{implicitKey:n,inFlow:i}=t,o=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)}),{type:a}=e;a!==C.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=C.QUOTE_DOUBLE);let c=p=>{switch(p){case C.BLOCK_FOLDED:case C.BLOCK_LITERAL:return n||i?xe(o.value,t):Bt(o,t,s,r);case C.QUOTE_DOUBLE:return pt(o.value,t);case C.QUOTE_SINGLE:return Os(o.value,t);case C.PLAIN:return Fn(o,t,s,r);default:return null}},u=c(a);if(u===null){let{defaultKeyType:p,defaultStringType:f}=t.options,l=n&&p||f;if(u=c(l),u===null)throw new Error(`Unsupported default string type ${l}`)}return u}function Ut(e,t){let s=Object.assign({blockQuote:!0,commentString:fr,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t),r;switch(s.collectionStyle){case"block":r=!1;break;case"flow":r=!0;break;default:r=null}return{anchors:new Set,doc:e,flowCollectionPadding:s.flowCollectionPadding?" ":"",indent:"",indentStep:typeof s.indent=="number"?" ".repeat(s.indent):" ",inFlow:r,options:s}}function Mn(e,t){if(t.tag){let n=e.filter(i=>i.tag===t.tag);if(n.length>0)return n.find(i=>i.format===t.format)??n[0]}let s,r;if(F(t)){r=t.value;let n=e.filter(i=>i.identify?.(r));if(n.length>1){let i=n.filter(o=>o.test);i.length>0&&(n=i)}s=n.find(i=>i.format===t.format)??n.find(i=>!i.format)}else r=t,s=e.find(n=>n.nodeClass&&r instanceof n.nodeClass);if(!s){let n=r?.constructor?.name??(r===null?"null":typeof r);throw new Error(`Tag not resolved for ${n} value`)}return s}function Dn(e,t,{anchors:s,doc:r}){if(!r.directives)return"";let n=[],i=(F(e)||G(e))&&e.anchor;i&&_t(i)&&(s.add(i),n.push(`&${i}`));let o=e.tag??(t.default?null:t.tag);return o&&n.push(r.directives.tagString(o)),n.join(" ")}function Me(e,t,s,r){if(D(e))return e.toString(t,s,r);if(he(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let n,i=B(e)?e:t.doc.createNode(e,{onTagObj:c=>n=c});n??(n=Mn(t.doc.schema.tags,i));let o=Dn(i,n,t);o.length>0&&(t.indentAtStart=(t.indentAtStart??0)+o.length+1);let a=typeof n.stringify=="function"?n.stringify(i,t,s,r):F(i)?qe(i,t,s,r):i.toString(t,s,r);return o?F(i)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
34
+ ${t.indent}${a}`:a}function dr({key:e,value:t},s,r,n){let{allNullValues:i,doc:o,indent:a,indentStep:c,options:{commentString:u,indentSeq:p,simpleKeys:f}}=s,l=B(e)&&e.comment||null;if(f){if(l)throw new Error("With simple keys, key nodes cannot have comments");if(G(e)||!B(e)&&typeof e=="object"){let E="With simple keys, collection cannot be used as a key value";throw new Error(E)}}let h=!f&&(!e||l&&t==null&&!s.inFlow||G(e)||(F(e)?e.type===C.BLOCK_FOLDED||e.type===C.BLOCK_LITERAL:typeof e=="object"));s=Object.assign({},s,{allNullValues:!1,implicitKey:!h&&(f||!i),indent:a+c});let g=!1,d=!1,m=Me(e,s,()=>g=!0,()=>d=!0);if(!h&&!s.inFlow&&m.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");h=!0}if(s.inFlow){if(i||t==null)return g&&r&&r(),m===""?"?":h?`? ${m}`:m}else if(i&&!f||t==null&&h)return m=`? ${m}`,l&&!g?m+=Ne(m,s.indent,u(l)):d&&n&&n(),m;g&&(l=null),h?(l&&(m+=Ne(m,s.indent,u(l))),m=`? ${m}
35
+ ${a}:`):(m=`${m}:`,l&&(m+=Ne(m,s.indent,u(l))));let v,b,S;B(t)?(v=!!t.spaceBefore,b=t.commentBefore,S=t.comment):(v=!1,b=null,S=null,t&&typeof t=="object"&&(t=o.createNode(t))),s.implicitKey=!1,!h&&!l&&F(t)&&(s.indentAtStart=m.length+1),d=!1,!p&&c.length>=2&&!s.inFlow&&!h&&ye(t)&&!t.flow&&!t.tag&&!t.anchor&&(s.indent=s.indent.substring(2));let $=!1,I=Me(t,s,()=>$=!0,()=>d=!0),O=" ";if(l||v||b){if(O=v?`
36
+ `:"",b){let E=u(b);O+=`
37
+ ${fe(E,s.indent)}`}I===""&&!s.inFlow?O===`
38
+ `&&S&&(O=`
39
39
 
40
- `):N+=`
41
- ${s.indent}`}else if(!m&&G(e)){let O=k[0],I=k.indexOf(`
42
- `),R=I!==-1,U=s.inFlow??e.flow??e.items.length===0;if(R||!U){let Z=!1;if(R&&(O==="&"||O==="!")){let E=k.indexOf(" ");O==="&"&&E!==-1&&E<I&&k[E+1]==="!"&&(E=k.indexOf(" ",E+1)),(E===-1||I<E)&&(Z=!0)}Z||(N=`
43
- ${s.indent}`)}}else(k===""||k[0]===`
44
- `)&&(N="");return h+=N+k,s.inFlow?$&&r&&r():S&&!$?h+=Oe(h,s.indent,u(S)):d&&n&&n(),h}function Vt(t,e){(t==="debug"||t==="warn")&&console.warn(e)}var qt="<<",be={identify:t=>t===qt||typeof t=="symbol"&&t.description===qt,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new C(Symbol(qt)),{addToJSMap:Os}),stringify:()=>qt},dr=(t,e)=>(be.identify(e)||F(e)&&(!e.type||e.type===C.PLAIN)&&be.identify(e.value))&&t?.doc.schema.tags.some(s=>s.tag===be.tag&&s.default);function Os(t,e,s){let r=hr(t,s);if(ye(r))for(let n of r.items)Ns(t,e,n);else if(Array.isArray(r))for(let n of r)Ns(t,e,n);else Ns(t,e,r)}function Ns(t,e,s){let r=hr(t,s);if(!ge(r))throw new Error("Merge sources must be maps or map aliases");let n=r.toJSON(null,t,Map);for(let[i,o]of n)e instanceof Map?e.has(i)||e.set(i,o):e instanceof Set?e.add(i):Object.prototype.hasOwnProperty.call(e,i)||Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0});return e}function hr(t,e){return t&&he(e)?e.resolve(t.doc,t):e}function Wt(t,e,{key:s,value:r}){if(j(s)&&s.addToJSMap)s.addToJSMap(t,e,r);else if(dr(t,s))Os(t,e,r);else{let n=z(s,"",t);if(e instanceof Map)e.set(n,z(r,n,t));else if(e instanceof Set)e.add(n);else{let i=Fn(s,n,t),o=z(r,i,t);i in e?Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[i]=o}}return e}function Fn(t,e,s){if(e===null)return"";if(typeof e!="object")return String(e);if(j(t)&&s?.doc){let r=Gt(s.doc,{});r.anchors=new Set;for(let i of s.anchors.keys())r.anchors.add(i.anchor);r.inFlow=!0,r.inStringifyKey=!0;let n=t.toString(r);if(!s.mapKeyWarned){let i=JSON.stringify(n);i.length>40&&(i=i.substring(0,36)+'..."'),Vt(s.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${i}. Set mapAsMap: true to use object keys.`),s.mapKeyWarned=!0}return n}return JSON.stringify(e)}function et(t,e,s){let r=Re(t,void 0,s),n=Re(e,void 0,s);return new J(r,n)}var J=class t{constructor(e,s=null){Object.defineProperty(this,ne,{value:vs}),this.key=e,this.value=s}clone(e){let{key:s,value:r}=this;return j(s)&&(s=s.clone(e)),j(r)&&(r=r.clone(e)),new t(s,r)}toJSON(e,s){let r=s?.mapAsMap?new Map:{};return Wt(s,r,this)}toString(e,s,r){return e?.doc?pr(this,e,s,r):JSON.stringify(this)}};function Yt(t,e,s){return(e.inFlow??t.flow?Dn:Mn)(t,e,s)}function Mn({comment:t,items:e},s,{blockItemPrefix:r,flowChars:n,itemIndent:i,onChompKeep:o,onComment:a}){let{indent:c,options:{commentString:u}}=s,p=Object.assign({},s,{indent:i,type:null}),f=!1,l=[];for(let y=0;y<e.length;++y){let d=e[y],h=null;if(j(d))!f&&d.spaceBefore&&l.push(""),Ht(s,l,d.commentBefore,f),d.comment&&(h=d.comment);else if(B(d)){let b=j(d.key)?d.key:null;b&&(!f&&b.spaceBefore&&l.push(""),Ht(s,l,b.commentBefore,f))}f=!1;let v=_e(d,p,()=>h=null,()=>f=!0);h&&(v+=Oe(v,i,u(h))),f&&h&&(f=!1),l.push(r+v)}let m;if(l.length===0)m=n.start+n.end;else{m=l[0];for(let y=1;y<l.length;++y){let d=l[y];m+=d?`
40
+ `):O+=`
41
+ ${s.indent}`}else if(!h&&G(t)){let E=I[0],A=I.indexOf(`
42
+ `),_=A!==-1,q=s.inFlow??t.flow??t.items.length===0;if(_||!q){let te=!1;if(_&&(E==="&"||E==="!")){let N=I.indexOf(" ");E==="&"&&N!==-1&&N<A&&I[N+1]==="!"&&(N=I.indexOf(" ",N+1)),(N===-1||A<N)&&(te=!0)}te||(O=`
43
+ ${s.indent}`)}}else(I===""||I[0]===`
44
+ `)&&(O="");return m+=O+I,s.inFlow?$&&r&&r():S&&!$?m+=Ne(m,s.indent,u(S)):d&&n&&n(),m}function Gt(e,t){(e==="debug"||e==="warn")&&console.warn(t)}var Wt="<<",be={identify:e=>e===Wt||typeof e=="symbol"&&e.description===Wt,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new C(Symbol(Wt)),{addToJSMap:Cs}),stringify:()=>Wt},hr=(e,t)=>(be.identify(t)||F(t)&&(!t.type||t.type===C.PLAIN)&&be.identify(t.value))&&e?.doc.schema.tags.some(s=>s.tag===be.tag&&s.default);function Cs(e,t,s){let r=mr(e,s);if(ye(r))for(let n of r.items)Ns(e,t,n);else if(Array.isArray(r))for(let n of r)Ns(e,t,n);else Ns(e,t,r)}function Ns(e,t,s){let r=mr(e,s);if(!ge(r))throw new Error("Merge sources must be maps or map aliases");let n=r.toJSON(null,e,Map);for(let[i,o]of n)t instanceof Map?t.has(i)||t.set(i,o):t instanceof Set?t.add(i):Object.prototype.hasOwnProperty.call(t,i)||Object.defineProperty(t,i,{value:o,writable:!0,enumerable:!0,configurable:!0});return t}function mr(e,t){return e&&he(t)?t.resolve(e.doc,e):t}function Vt(e,t,{key:s,value:r}){if(B(s)&&s.addToJSMap)s.addToJSMap(e,t,r);else if(hr(e,s))Cs(e,t,r);else{let n=Z(s,"",e);if(t instanceof Map)t.set(n,Z(r,n,e));else if(t instanceof Set)t.add(n);else{let i=Bn(s,n,e),o=Z(r,i,e);i in t?Object.defineProperty(t,i,{value:o,writable:!0,enumerable:!0,configurable:!0}):t[i]=o}}return t}function Bn(e,t,s){if(t===null)return"";if(typeof t!="object")return String(t);if(B(e)&&s?.doc){let r=Ut(s.doc,{});r.anchors=new Set;for(let i of s.anchors.keys())r.anchors.add(i.anchor);r.inFlow=!0,r.inStringifyKey=!0;let n=e.toString(r);if(!s.mapKeyWarned){let i=JSON.stringify(n);i.length>40&&(i=i.substring(0,36)+'..."'),Gt(s.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${i}. Set mapAsMap: true to use object keys.`),s.mapKeyWarned=!0}return n}return JSON.stringify(t)}function et(e,t,s){let r=Fe(e,void 0,s),n=Fe(t,void 0,s);return new J(r,n)}var J=class e{constructor(t,s=null){Object.defineProperty(this,ie,{value:ks}),this.key=t,this.value=s}clone(t){let{key:s,value:r}=this;return B(s)&&(s=s.clone(t)),B(r)&&(r=r.clone(t)),new e(s,r)}toJSON(t,s){let r=s?.mapAsMap?new Map:{};return Vt(s,r,this)}toString(t,s,r){return t?.doc?dr(this,t,s,r):JSON.stringify(this)}};function Ht(e,t,s){return(t.inFlow??e.flow?Kn:jn)(e,t,s)}function jn({comment:e,items:t},s,{blockItemPrefix:r,flowChars:n,itemIndent:i,onChompKeep:o,onComment:a}){let{indent:c,options:{commentString:u}}=s,p=Object.assign({},s,{indent:i,type:null}),f=!1,l=[];for(let g=0;g<t.length;++g){let d=t[g],m=null;if(B(d))!f&&d.spaceBefore&&l.push(""),qt(s,l,d.commentBefore,f),d.comment&&(m=d.comment);else if(D(d)){let b=B(d.key)?d.key:null;b&&(!f&&b.spaceBefore&&l.push(""),qt(s,l,b.commentBefore,f))}f=!1;let v=Me(d,p,()=>m=null,()=>f=!0);m&&(v+=Ne(v,i,u(m))),f&&m&&(f=!1),l.push(r+v)}let h;if(l.length===0)h=n.start+n.end;else{h=l[0];for(let g=1;g<l.length;++g){let d=l[g];h+=d?`
45
45
  ${c}${d}`:`
46
- `}}return t?(m+=`
47
- `+fe(u(t),c),a&&a()):f&&o&&o(),m}function Dn({items:t},e,{flowChars:s,itemIndent:r}){let{indent:n,indentStep:i,flowCollectionPadding:o,options:{commentString:a}}=e;r+=i;let c=Object.assign({},e,{indent:r,inFlow:!0,type:null}),u=!1,p=0,f=[];for(let y=0;y<t.length;++y){let d=t[y],h=null;if(j(d))d.spaceBefore&&f.push(""),Ht(e,f,d.commentBefore,!1),d.comment&&(h=d.comment);else if(B(d)){let b=j(d.key)?d.key:null;b&&(b.spaceBefore&&f.push(""),Ht(e,f,b.commentBefore,!1),b.comment&&(u=!0));let S=j(d.value)?d.value:null;S?(S.comment&&(h=S.comment),S.commentBefore&&(u=!0)):d.value==null&&b?.comment&&(h=b.comment)}h&&(u=!0);let v=_e(d,c,()=>h=null);u||(u=f.length>p||v.includes(`
48
- `)),y<t.length-1?v+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(u||(u=f.reduce((b,S)=>b+S.length+2,2)+(v.length+2)>e.options.lineWidth)),u&&(v+=",")),h&&(v+=Oe(v,r,a(h))),f.push(v),p=f.length}let{start:l,end:m}=s;if(f.length===0)return l+m;if(!u){let y=f.reduce((d,h)=>d+h.length+2,2);u=e.options.lineWidth>0&&y>e.options.lineWidth}if(u){let y=l;for(let d of f)y+=d?`
46
+ `}}return e?(h+=`
47
+ `+fe(u(e),c),a&&a()):f&&o&&o(),h}function Kn({items:e},t,{flowChars:s,itemIndent:r}){let{indent:n,indentStep:i,flowCollectionPadding:o,options:{commentString:a}}=t;r+=i;let c=Object.assign({},t,{indent:r,inFlow:!0,type:null}),u=!1,p=0,f=[];for(let g=0;g<e.length;++g){let d=e[g],m=null;if(B(d))d.spaceBefore&&f.push(""),qt(t,f,d.commentBefore,!1),d.comment&&(m=d.comment);else if(D(d)){let b=B(d.key)?d.key:null;b&&(b.spaceBefore&&f.push(""),qt(t,f,b.commentBefore,!1),b.comment&&(u=!0));let S=B(d.value)?d.value:null;S?(S.comment&&(m=S.comment),S.commentBefore&&(u=!0)):d.value==null&&b?.comment&&(m=b.comment)}m&&(u=!0);let v=Me(d,c,()=>m=null);u||(u=f.length>p||v.includes(`
48
+ `)),g<e.length-1?v+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(u||(u=f.reduce((b,S)=>b+S.length+2,2)+(v.length+2)>t.options.lineWidth)),u&&(v+=",")),m&&(v+=Ne(v,r,a(m))),f.push(v),p=f.length}let{start:l,end:h}=s;if(f.length===0)return l+h;if(!u){let g=f.reduce((d,m)=>d+m.length+2,2);u=t.options.lineWidth>0&&g>t.options.lineWidth}if(u){let g=l;for(let d of f)g+=d?`
49
49
  ${i}${n}${d}`:`
50
- `;return`${y}
51
- ${n}${m}`}else return`${l}${o}${f.join(" ")}${o}${m}`}function Ht({indent:t,options:{commentString:e}},s,r,n){if(r&&n&&(r=r.replace(/^\n+/,"")),r){let i=fe(e(r),t);s.push(i.trimStart())}}function je(t,e){let s=F(e)?e.value:e;for(let r of t)if(B(r)&&(r.key===e||r.key===s||F(r.key)&&r.key.value===s))return r}var X=class extends ze{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(de,e),this.items=[]}static from(e,s,r){let{keepUndefined:n,replacer:i}=r,o=new this(e),a=(c,u)=>{if(typeof i=="function")u=i.call(s,c,u);else if(Array.isArray(i)&&!i.includes(c))return;(u!==void 0||n)&&o.items.push(et(c,u,r))};if(s instanceof Map)for(let[c,u]of s)a(c,u);else if(s&&typeof s=="object")for(let c of Object.keys(s))a(c,s[c]);return typeof e.sortMapEntries=="function"&&o.items.sort(e.sortMapEntries),o}add(e,s){let r;B(e)?r=e:!e||typeof e!="object"||!("key"in e)?r=new J(e,e?.value):r=new J(e.key,e.value);let n=je(this.items,r.key),i=this.schema?.sortMapEntries;if(n){if(!s)throw new Error(`Key ${r.key} already set`);F(n.value)&&Dt(r.value)?n.value.value=r.value:n.value=r.value}else if(i){let o=this.items.findIndex(a=>i(r,a)<0);o===-1?this.items.push(r):this.items.splice(o,0,r)}else this.items.push(r)}delete(e){let s=je(this.items,e);return s?this.items.splice(this.items.indexOf(s),1).length>0:!1}get(e,s){let n=je(this.items,e)?.value;return(!s&&F(n)?n.value:n)??void 0}has(e){return!!je(this.items,e)}set(e,s){this.add(new J(e,s),!0)}toJSON(e,s,r){let n=r?new r:s?.mapAsMap?new Map:{};s?.onCreate&&s.onCreate(n);for(let i of this.items)Wt(s,n,i);return n}toString(e,s,r){if(!e)return JSON.stringify(this);for(let n of this.items)if(!B(n))throw new Error(`Map items must all be pairs; found ${JSON.stringify(n)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),Yt(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:r,onComment:s})}};var we={collection:"map",default:!0,nodeClass:X,tag:"tag:yaml.org,2002:map",resolve(t,e){return ge(t)||e("Expected a mapping for this tag"),t},createNode:(t,e,s)=>X.from(t,e,s)};var te=class extends ze{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(Te,e),this.items=[]}add(e){this.items.push(e)}delete(e){let s=Jt(e);return typeof s!="number"?!1:this.items.splice(s,1).length>0}get(e,s){let r=Jt(e);if(typeof r!="number")return;let n=this.items[r];return!s&&F(n)?n.value:n}has(e){let s=Jt(e);return typeof s=="number"&&s<this.items.length}set(e,s){let r=Jt(e);if(typeof r!="number")throw new Error(`Expected a valid index, not ${e}.`);let n=this.items[r];F(n)&&Dt(s)?n.value=s:this.items[r]=s}toJSON(e,s){let r=[];s?.onCreate&&s.onCreate(r);let n=0;for(let i of this.items)r.push(z(i,String(n++),s));return r}toString(e,s,r){return e?Yt(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:r,onComment:s}):JSON.stringify(this)}static from(e,s,r){let{replacer:n}=r,i=new this(e);if(s&&Symbol.iterator in Object(s)){let o=0;for(let a of s){if(typeof n=="function"){let c=s instanceof Set?a:String(o++);a=n.call(s,c,a)}i.items.push(Re(a,void 0,r))}}return i}};function Jt(t){let e=F(t)?t.value:t;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}var ve={collection:"seq",default:!0,nodeClass:te,tag:"tag:yaml.org,2002:seq",resolve(t,e){return ye(t)||e("Expected a sequence for this tag"),t},createNode:(t,e,s)=>te.from(t,e,s)};var Ue={identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify(t,e,s,r){return e=Object.assign({actualString:!0},e),qe(t,e,s,r)}};var We={identify:t=>t==null,createNode:()=>new C(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new C(null),stringify:({source:t},e)=>typeof t=="string"&&We.test.test(t)?t:e.options.nullStr};var ht={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>new C(t[0]==="t"||t[0]==="T"),stringify({source:t,value:e},s){if(t&&ht.test.test(t)){let r=t[0]==="t"||t[0]==="T";if(e===r)return t}return e?s.options.trueStr:s.options.falseStr}};function se({format:t,minFractionDigits:e,tag:s,value:r}){if(typeof r=="bigint")return String(r);let n=typeof r=="number"?r:Number(r);if(!isFinite(n))return isNaN(n)?".nan":n<0?"-.inf":".inf";let i=Object.is(r,-0)?"-0":JSON.stringify(r);if(!t&&e&&(!s||s==="tag:yaml.org,2002:float")&&/^-?\d/.test(i)&&!i.includes("e")){let o=i.indexOf(".");o<0&&(o=i.length,i+=".");let a=e-(i.length-o-1);for(;a-- >0;)i+="0"}return i}var Xt={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:se},Qt={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():se(t)}},zt={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(t){let e=new C(parseFloat(t)),s=t.indexOf(".");return s!==-1&&t[t.length-1]==="0"&&(e.minFractionDigits=t.length-s-1),e},stringify:se};var Zt=t=>typeof t=="bigint"||Number.isInteger(t),Es=(t,e,s,{intAsBigInt:r})=>r?BigInt(t):parseInt(t.substring(e),s);function mr(t,e,s){let{value:r}=t;return Zt(r)&&r>=0?s+r.toString(e):se(t)}var xt={identify:t=>Zt(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(t,e,s)=>Es(t,2,8,s),stringify:t=>mr(t,8,"0o")},es={identify:Zt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(t,e,s)=>Es(t,0,10,s),stringify:se},ts={identify:t=>Zt(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(t,e,s)=>Es(t,2,16,s),stringify:t=>mr(t,16,"0x")};var gr=[we,ve,Ue,We,ht,xt,es,ts,Xt,Qt,zt];function yr(t){return typeof t=="bigint"||Number.isInteger(t)}var ss=({value:t})=>JSON.stringify(t),Bn=[{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify:ss},{identify:t=>t==null,createNode:()=>new C(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:ss},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:t=>t==="true",stringify:ss},{identify:yr,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(t,e,{intAsBigInt:s})=>s?BigInt(t):parseInt(t,10),stringify:({value:t})=>yr(t)?t.toString():JSON.stringify(t)},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:t=>parseFloat(t),stringify:ss}],jn={default:!0,tag:"",test:/^/,resolve(t,e){return e(`Unresolved plain scalar ${JSON.stringify(t)}`),t}},br=[we,ve].concat(Bn,jn);var mt={identify:t=>t instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(t,e){if(typeof atob=="function"){let s=atob(t.replace(/[\n\r]/g,"")),r=new Uint8Array(s.length);for(let n=0;n<s.length;++n)r[n]=s.charCodeAt(n);return r}else return e("This environment does not support reading binary tags; either Buffer or atob is required"),t},stringify({comment:t,type:e,value:s},r,n,i){if(!s)return"";let o=s,a;if(typeof btoa=="function"){let c="";for(let u=0;u<o.length;++u)c+=String.fromCharCode(o[u]);a=btoa(c)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e??(e=C.BLOCK_LITERAL),e!==C.QUOTE_DOUBLE){let c=Math.max(r.options.lineWidth-r.indent.length,r.options.minContentWidth),u=Math.ceil(a.length/c),p=new Array(u);for(let f=0,l=0;f<u;++f,l+=c)p[f]=a.substr(l,c);a=p.join(e===C.BLOCK_LITERAL?`
52
- `:" ")}return qe({comment:t,type:e,value:a},r,n,i)}};function Cs(t,e){if(ye(t))for(let s=0;s<t.items.length;++s){let r=t.items[s];if(!B(r)){if(ge(r)){r.items.length>1&&e("Each pair must have its own sequence indicator");let n=r.items[0]||new J(new C(null));if(r.commentBefore&&(n.key.commentBefore=n.key.commentBefore?`${r.commentBefore}
50
+ `;return`${g}
51
+ ${n}${h}`}else return`${l}${o}${f.join(" ")}${o}${h}`}function qt({indent:e,options:{commentString:t}},s,r,n){if(r&&n&&(r=r.replace(/^\n+/,"")),r){let i=fe(t(r),e);s.push(i.trimStart())}}function Ke(e,t){let s=F(t)?t.value:t;for(let r of e)if(D(r)&&(r.key===t||r.key===s||F(r.key)&&r.key.value===s))return r}var X=class extends ze{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(de,t),this.items=[]}static from(t,s,r){let{keepUndefined:n,replacer:i}=r,o=new this(t),a=(c,u)=>{if(typeof i=="function")u=i.call(s,c,u);else if(Array.isArray(i)&&!i.includes(c))return;(u!==void 0||n)&&o.items.push(et(c,u,r))};if(s instanceof Map)for(let[c,u]of s)a(c,u);else if(s&&typeof s=="object")for(let c of Object.keys(s))a(c,s[c]);return typeof t.sortMapEntries=="function"&&o.items.sort(t.sortMapEntries),o}add(t,s){let r;D(t)?r=t:!t||typeof t!="object"||!("key"in t)?r=new J(t,t?.value):r=new J(t.key,t.value);let n=Ke(this.items,r.key),i=this.schema?.sortMapEntries;if(n){if(!s)throw new Error(`Key ${r.key} already set`);F(n.value)&&Mt(r.value)?n.value.value=r.value:n.value=r.value}else if(i){let o=this.items.findIndex(a=>i(r,a)<0);o===-1?this.items.push(r):this.items.splice(o,0,r)}else this.items.push(r)}delete(t){let s=Ke(this.items,t);return s?this.items.splice(this.items.indexOf(s),1).length>0:!1}get(t,s){let n=Ke(this.items,t)?.value;return(!s&&F(n)?n.value:n)??void 0}has(t){return!!Ke(this.items,t)}set(t,s){this.add(new J(t,s),!0)}toJSON(t,s,r){let n=r?new r:s?.mapAsMap?new Map:{};s?.onCreate&&s.onCreate(n);for(let i of this.items)Vt(s,n,i);return n}toString(t,s,r){if(!t)return JSON.stringify(this);for(let n of this.items)if(!D(n))throw new Error(`Map items must all be pairs; found ${JSON.stringify(n)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),Ht(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:r,onComment:s})}};var we={collection:"map",default:!0,nodeClass:X,tag:"tag:yaml.org,2002:map",resolve(e,t){return ge(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,s)=>X.from(e,t,s)};var se=class extends ze{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Re,t),this.items=[]}add(t){this.items.push(t)}delete(t){let s=Yt(t);return typeof s!="number"?!1:this.items.splice(s,1).length>0}get(t,s){let r=Yt(t);if(typeof r!="number")return;let n=this.items[r];return!s&&F(n)?n.value:n}has(t){let s=Yt(t);return typeof s=="number"&&s<this.items.length}set(t,s){let r=Yt(t);if(typeof r!="number")throw new Error(`Expected a valid index, not ${t}.`);let n=this.items[r];F(n)&&Mt(s)?n.value=s:this.items[r]=s}toJSON(t,s){let r=[];s?.onCreate&&s.onCreate(r);let n=0;for(let i of this.items)r.push(Z(i,String(n++),s));return r}toString(t,s,r){return t?Ht(this,t,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(t.indent||"")+" ",onChompKeep:r,onComment:s}):JSON.stringify(this)}static from(t,s,r){let{replacer:n}=r,i=new this(t);if(s&&Symbol.iterator in Object(s)){let o=0;for(let a of s){if(typeof n=="function"){let c=s instanceof Set?a:String(o++);a=n.call(s,c,a)}i.items.push(Fe(a,void 0,r))}}return i}};function Yt(e){let t=F(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}var ve={collection:"seq",default:!0,nodeClass:se,tag:"tag:yaml.org,2002:seq",resolve(e,t){return ye(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,s)=>se.from(e,t,s)};var Ue={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,s,r){return t=Object.assign({actualString:!0},t),qe(e,t,s,r)}};var He={identify:e=>e==null,createNode:()=>new C(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new C(null),stringify:({source:e},t)=>typeof e=="string"&&He.test.test(e)?e:t.options.nullStr};var dt={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new C(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},s){if(e&&dt.test.test(e)){let r=e[0]==="t"||e[0]==="T";if(t===r)return e}return t?s.options.trueStr:s.options.falseStr}};function re({format:e,minFractionDigits:t,tag:s,value:r}){if(typeof r=="bigint")return String(r);let n=typeof r=="number"?r:Number(r);if(!isFinite(n))return isNaN(n)?".nan":n<0?"-.inf":".inf";let i=Object.is(r,-0)?"-0":JSON.stringify(r);if(!e&&t&&(!s||s==="tag:yaml.org,2002:float")&&/^-?\d/.test(i)&&!i.includes("e")){let o=i.indexOf(".");o<0&&(o=i.length,i+=".");let a=t-(i.length-o-1);for(;a-- >0;)i+="0"}return i}var Jt={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:re},Xt={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():re(e)}},Qt={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new C(parseFloat(e)),s=e.indexOf(".");return s!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-s-1),t},stringify:re};var zt=e=>typeof e=="bigint"||Number.isInteger(e),Ps=(e,t,s,{intAsBigInt:r})=>r?BigInt(e):parseInt(e.substring(t),s);function gr(e,t,s){let{value:r}=e;return zt(r)&&r>=0?s+r.toString(t):re(e)}var Zt={identify:e=>zt(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,s)=>Ps(e,2,8,s),stringify:e=>gr(e,8,"0o")},xt={identify:zt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,s)=>Ps(e,0,10,s),stringify:re},es={identify:e=>zt(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,s)=>Ps(e,2,16,s),stringify:e=>gr(e,16,"0x")};var yr=[we,ve,Ue,He,dt,Zt,xt,es,Jt,Xt,Qt];function br(e){return typeof e=="bigint"||Number.isInteger(e)}var ts=({value:e})=>JSON.stringify(e),Un=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:ts},{identify:e=>e==null,createNode:()=>new C(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:ts},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:ts},{identify:br,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:s})=>s?BigInt(e):parseInt(e,10),stringify:({value:e})=>br(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:ts}],Gn={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},wr=[we,ve].concat(Un,Gn);var ht={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof atob=="function"){let s=atob(e.replace(/[\n\r]/g,"")),r=new Uint8Array(s.length);for(let n=0;n<s.length;++n)r[n]=s.charCodeAt(n);return r}else return t("This environment does not support reading binary tags; either Buffer or atob is required"),e},stringify({comment:e,type:t,value:s},r,n,i){if(!s)return"";let o=s,a;if(typeof btoa=="function"){let c="";for(let u=0;u<o.length;++u)c+=String.fromCharCode(o[u]);a=btoa(c)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=C.BLOCK_LITERAL),t!==C.QUOTE_DOUBLE){let c=Math.max(r.options.lineWidth-r.indent.length,r.options.minContentWidth),u=Math.ceil(a.length/c),p=new Array(u);for(let f=0,l=0;f<u;++f,l+=c)p[f]=a.substr(l,c);a=p.join(t===C.BLOCK_LITERAL?`
52
+ `:" ")}return qe({comment:e,type:t,value:a},r,n,i)}};function Ts(e,t){if(ye(e))for(let s=0;s<e.items.length;++s){let r=e.items[s];if(!D(r)){if(ge(r)){r.items.length>1&&t("Each pair must have its own sequence indicator");let n=r.items[0]||new J(new C(null));if(r.commentBefore&&(n.key.commentBefore=n.key.commentBefore?`${r.commentBefore}
53
53
  ${n.key.commentBefore}`:r.commentBefore),r.comment){let i=n.value??n.key;i.comment=i.comment?`${r.comment}
54
- ${i.comment}`:r.comment}r=n}t.items[s]=B(r)?r:new J(r)}}else e("Expected a sequence for this tag");return t}function Ps(t,e,s){let{replacer:r}=s,n=new te(t);n.tag="tag:yaml.org,2002:pairs";let i=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof r=="function"&&(o=r.call(e,String(i++),o));let a,c;if(Array.isArray(o))if(o.length===2)a=o[0],c=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let u=Object.keys(o);if(u.length===1)a=u[0],c=o[a];else throw new TypeError(`Expected tuple with one key, not ${u.length} keys`)}else a=o;n.items.push(et(a,c,s))}return n}var gt={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Cs,createNode:Ps};var tt=class t extends te{constructor(){super(),this.add=X.prototype.add.bind(this),this.delete=X.prototype.delete.bind(this),this.get=X.prototype.get.bind(this),this.has=X.prototype.has.bind(this),this.set=X.prototype.set.bind(this),this.tag=t.tag}toJSON(e,s){if(!s)return super.toJSON(e);let r=new Map;s?.onCreate&&s.onCreate(r);for(let n of this.items){let i,o;if(B(n)?(i=z(n.key,"",s),o=z(n.value,i,s)):i=z(n,"",s),r.has(i))throw new Error("Ordered maps must not include duplicate keys");r.set(i,o)}return r}static from(e,s,r){let n=Ps(e,s,r),i=new this;return i.items=n.items,i}};tt.tag="tag:yaml.org,2002:omap";var yt={collection:"seq",identify:t=>t instanceof Map,nodeClass:tt,default:!1,tag:"tag:yaml.org,2002:omap",resolve(t,e){let s=Cs(t,e),r=[];for(let{key:n}of s.items)F(n)&&(r.includes(n.value)?e(`Ordered maps must not include duplicate keys: ${n.value}`):r.push(n.value));return Object.assign(new tt,s)},createNode:(t,e,s)=>tt.from(t,e,s)};function wr({value:t,source:e},s){return e&&(t?Ts:Ls).test.test(e)?e:t?s.options.trueStr:s.options.falseStr}var Ts={identify:t=>t===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new C(!0),stringify:wr},Ls={identify:t=>t===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new C(!1),stringify:wr};var vr={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:se},Sr={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t.replace(/_/g,"")),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():se(t)}},kr={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(t){let e=new C(parseFloat(t.replace(/_/g,""))),s=t.indexOf(".");if(s!==-1){let r=t.substring(s+1).replace(/_/g,"");r[r.length-1]==="0"&&(e.minFractionDigits=r.length)}return e},stringify:se};var bt=t=>typeof t=="bigint"||Number.isInteger(t);function rs(t,e,s,{intAsBigInt:r}){let n=t[0];if((n==="-"||n==="+")&&(e+=1),t=t.substring(e).replace(/_/g,""),r){switch(s){case 2:t=`0b${t}`;break;case 8:t=`0o${t}`;break;case 16:t=`0x${t}`;break}let o=BigInt(t);return n==="-"?BigInt(-1)*o:o}let i=parseInt(t,s);return n==="-"?-1*i:i}function Rs(t,e,s){let{value:r}=t;if(bt(r)){let n=r.toString(e);return r<0?"-"+s+n.substr(1):s+n}return se(t)}var $r={identify:bt,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(t,e,s)=>rs(t,2,2,s),stringify:t=>Rs(t,2,"0b")},Ir={identify:bt,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(t,e,s)=>rs(t,1,8,s),stringify:t=>Rs(t,8,"0")},Ar={identify:bt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(t,e,s)=>rs(t,0,10,s),stringify:se},Nr={identify:bt,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(t,e,s)=>rs(t,2,16,s),stringify:t=>Rs(t,16,"0x")};var st=class t extends X{constructor(e){super(e),this.tag=t.tag}add(e){let s;B(e)?s=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?s=new J(e.key,null):s=new J(e,null),je(this.items,s.key)||this.items.push(s)}get(e,s){let r=je(this.items,e);return!s&&B(r)?F(r.key)?r.key.value:r.key:r}set(e,s){if(typeof s!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof s}`);let r=je(this.items,e);r&&!s?this.items.splice(this.items.indexOf(r),1):!r&&s&&this.items.push(new J(e))}toJSON(e,s){return super.toJSON(e,s,Set)}toString(e,s,r){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),s,r);throw new Error("Set items must all have null values")}static from(e,s,r){let{replacer:n}=r,i=new this(e);if(s&&Symbol.iterator in Object(s))for(let o of s)typeof n=="function"&&(o=n.call(s,o,o)),i.items.push(et(o,null,r));return i}};st.tag="tag:yaml.org,2002:set";var wt={collection:"map",identify:t=>t instanceof Set,nodeClass:st,default:!1,tag:"tag:yaml.org,2002:set",createNode:(t,e,s)=>st.from(t,e,s),resolve(t,e){if(ge(t)){if(t.hasAllNullValues(!0))return Object.assign(new st,t);e("Set items must all have null values")}else e("Expected a mapping for this tag");return t}};function _s(t,e){let s=t[0],r=s==="-"||s==="+"?t.substring(1):t,n=o=>e?BigInt(o):Number(o),i=r.replace(/_/g,"").split(":").reduce((o,a)=>o*n(60)+n(a),n(0));return s==="-"?n(-1)*i:i}function Or(t){let{value:e}=t,s=o=>o;if(typeof e=="bigint")s=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return se(t);let r="";e<0&&(r="-",e*=s(-1));let n=s(60),i=[e%n];return e<60?i.unshift(0):(e=(e-i[0])/n,i.unshift(e%n),e>=60&&(e=(e-i[0])/n,i.unshift(e))),r+i.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var ns={identify:t=>typeof t=="bigint"||Number.isInteger(t),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(t,e,{intAsBigInt:s})=>_s(t,s),stringify:Or},is={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:t=>_s(t,!1),stringify:Or},rt={identify:t=>t instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(t){let e=t.match(rt.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,s,r,n,i,o,a]=e.map(Number),c=e[7]?Number((e[7]+"00").substr(1,3)):0,u=Date.UTC(s,r-1,n,i||0,o||0,a||0,c),p=e[8];if(p&&p!=="Z"){let f=_s(p,!1);Math.abs(f)<30&&(f*=60),u-=6e4*f}return new Date(u)},stringify:({value:t})=>t?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};var Fs=[we,ve,Ue,We,Ts,Ls,$r,Ir,Ar,Nr,vr,Sr,kr,mt,be,yt,gt,wt,ns,is,rt];var Er=new Map([["core",gr],["failsafe",[we,ve,Ue]],["json",br],["yaml11",Fs],["yaml-1.1",Fs]]),Cr={binary:mt,bool:ht,float:zt,floatExp:Qt,floatNaN:Xt,floatTime:is,int:es,intHex:ts,intOct:xt,intTime:ns,map:we,merge:be,null:We,omap:yt,pairs:gt,seq:ve,set:wt,timestamp:rt},Pr={"tag:yaml.org,2002:binary":mt,"tag:yaml.org,2002:merge":be,"tag:yaml.org,2002:omap":yt,"tag:yaml.org,2002:pairs":gt,"tag:yaml.org,2002:set":wt,"tag:yaml.org,2002:timestamp":rt};function os(t,e,s){let r=Er.get(e);if(r&&!t)return s&&!r.includes(be)?r.concat(be):r.slice();let n=r;if(!n)if(Array.isArray(t))n=[];else{let i=Array.from(Er.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${i} or define customTags array`)}if(Array.isArray(t))for(let i of t)n=n.concat(i);else typeof t=="function"&&(n=t(n.slice()));return s&&(n=n.concat(be)),n.reduce((i,o)=>{let a=typeof o=="string"?Cr[o]:o;if(!a){let c=JSON.stringify(o),u=Object.keys(Cr).map(p=>JSON.stringify(p)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${u}`)}return i.includes(a)||i.push(a),i},[])}var Un=(t,e)=>t.key<e.key?-1:t.key>e.key?1:0,vt=class t{constructor({compat:e,customTags:s,merge:r,resolveKnownTags:n,schema:i,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?os(e,"compat"):e?os(null,e):null,this.name=typeof i=="string"&&i||"core",this.knownTags=n?Pr:{},this.tags=os(s,this.name,r),this.toStringOptions=a??null,Object.defineProperty(this,de,{value:we}),Object.defineProperty(this,ce,{value:Ue}),Object.defineProperty(this,Te,{value:ve}),this.sortMapEntries=typeof o=="function"?o:o===!0?Un:null}clone(){let e=Object.create(t.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};function Tr(t,e){let s=[],r=e.directives===!0;if(e.directives!==!1&&t.directives){let c=t.directives.toString(t);c?(s.push(c),r=!0):t.directives.docStart&&(r=!0)}r&&s.push("---");let n=Gt(t,e),{commentString:i}=n.options;if(t.commentBefore){s.length!==1&&s.unshift("");let c=i(t.commentBefore);s.unshift(fe(c,""))}let o=!1,a=null;if(t.contents){if(j(t.contents)){if(t.contents.spaceBefore&&r&&s.push(""),t.contents.commentBefore){let p=i(t.contents.commentBefore);s.push(fe(p,""))}n.forceBlockIndent=!!t.comment,a=t.contents.comment}let c=a?void 0:()=>o=!0,u=_e(t.contents,n,()=>a=null,c);a&&(u+=Oe(u,"",i(a))),(u[0]==="|"||u[0]===">")&&s[s.length-1]==="---"?s[s.length-1]=`--- ${u}`:s.push(u)}else s.push(_e(t.contents,n));if(t.directives?.docEnd)if(t.comment){let c=i(t.comment);c.includes(`
55
- `)?(s.push("..."),s.push(fe(c,""))):s.push(`... ${c}`)}else s.push("...");else{let c=t.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||a)&&s[s.length-1]!==""&&s.push(""),s.push(fe(i(c),"")))}return s.join(`
54
+ ${i.comment}`:r.comment}r=n}e.items[s]=D(r)?r:new J(r)}}else t("Expected a sequence for this tag");return e}function Ls(e,t,s){let{replacer:r}=s,n=new se(e);n.tag="tag:yaml.org,2002:pairs";let i=0;if(t&&Symbol.iterator in Object(t))for(let o of t){typeof r=="function"&&(o=r.call(t,String(i++),o));let a,c;if(Array.isArray(o))if(o.length===2)a=o[0],c=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let u=Object.keys(o);if(u.length===1)a=u[0],c=o[a];else throw new TypeError(`Expected tuple with one key, not ${u.length} keys`)}else a=o;n.items.push(et(a,c,s))}return n}var mt={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Ts,createNode:Ls};var tt=class e extends se{constructor(){super(),this.add=X.prototype.add.bind(this),this.delete=X.prototype.delete.bind(this),this.get=X.prototype.get.bind(this),this.has=X.prototype.has.bind(this),this.set=X.prototype.set.bind(this),this.tag=e.tag}toJSON(t,s){if(!s)return super.toJSON(t);let r=new Map;s?.onCreate&&s.onCreate(r);for(let n of this.items){let i,o;if(D(n)?(i=Z(n.key,"",s),o=Z(n.value,i,s)):i=Z(n,"",s),r.has(i))throw new Error("Ordered maps must not include duplicate keys");r.set(i,o)}return r}static from(t,s,r){let n=Ls(t,s,r),i=new this;return i.items=n.items,i}};tt.tag="tag:yaml.org,2002:omap";var gt={collection:"seq",identify:e=>e instanceof Map,nodeClass:tt,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let s=Ts(e,t),r=[];for(let{key:n}of s.items)F(n)&&(r.includes(n.value)?t(`Ordered maps must not include duplicate keys: ${n.value}`):r.push(n.value));return Object.assign(new tt,s)},createNode:(e,t,s)=>tt.from(e,t,s)};function vr({value:e,source:t},s){return t&&(e?Rs:_s).test.test(t)?t:e?s.options.trueStr:s.options.falseStr}var Rs={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new C(!0),stringify:vr},_s={identify:e=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new C(!1),stringify:vr};var Sr={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:re},kr={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():re(e)}},$r={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new C(parseFloat(e.replace(/_/g,""))),s=e.indexOf(".");if(s!==-1){let r=e.substring(s+1).replace(/_/g,"");r[r.length-1]==="0"&&(t.minFractionDigits=r.length)}return t},stringify:re};var yt=e=>typeof e=="bigint"||Number.isInteger(e);function ss(e,t,s,{intAsBigInt:r}){let n=e[0];if((n==="-"||n==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),r){switch(s){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let o=BigInt(e);return n==="-"?BigInt(-1)*o:o}let i=parseInt(e,s);return n==="-"?-1*i:i}function Fs(e,t,s){let{value:r}=e;if(yt(r)){let n=r.toString(t);return r<0?"-"+s+n.substr(1):s+n}return re(e)}var Ir={identify:yt,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,s)=>ss(e,2,2,s),stringify:e=>Fs(e,2,"0b")},Ar={identify:yt,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,s)=>ss(e,1,8,s),stringify:e=>Fs(e,8,"0")},Or={identify:yt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,s)=>ss(e,0,10,s),stringify:re},Er={identify:yt,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,s)=>ss(e,2,16,s),stringify:e=>Fs(e,16,"0x")};var st=class e extends X{constructor(t){super(t),this.tag=e.tag}add(t){let s;D(t)?s=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?s=new J(t.key,null):s=new J(t,null),Ke(this.items,s.key)||this.items.push(s)}get(t,s){let r=Ke(this.items,t);return!s&&D(r)?F(r.key)?r.key.value:r.key:r}set(t,s){if(typeof s!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof s}`);let r=Ke(this.items,t);r&&!s?this.items.splice(this.items.indexOf(r),1):!r&&s&&this.items.push(new J(t))}toJSON(t,s){return super.toJSON(t,s,Set)}toString(t,s,r){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),s,r);throw new Error("Set items must all have null values")}static from(t,s,r){let{replacer:n}=r,i=new this(t);if(s&&Symbol.iterator in Object(s))for(let o of s)typeof n=="function"&&(o=n.call(s,o,o)),i.items.push(et(o,null,r));return i}};st.tag="tag:yaml.org,2002:set";var bt={collection:"map",identify:e=>e instanceof Set,nodeClass:st,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,s)=>st.from(e,t,s),resolve(e,t){if(ge(e)){if(e.hasAllNullValues(!0))return Object.assign(new st,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function Ms(e,t){let s=e[0],r=s==="-"||s==="+"?e.substring(1):e,n=o=>t?BigInt(o):Number(o),i=r.replace(/_/g,"").split(":").reduce((o,a)=>o*n(60)+n(a),n(0));return s==="-"?n(-1)*i:i}function Nr(e){let{value:t}=e,s=o=>o;if(typeof t=="bigint")s=o=>BigInt(o);else if(isNaN(t)||!isFinite(t))return re(e);let r="";t<0&&(r="-",t*=s(-1));let n=s(60),i=[t%n];return t<60?i.unshift(0):(t=(t-i[0])/n,i.unshift(t%n),t>=60&&(t=(t-i[0])/n,i.unshift(t))),r+i.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var rs={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:s})=>Ms(e,s),stringify:Nr},ns={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>Ms(e,!1),stringify:Nr},rt={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){let t=e.match(rt.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,s,r,n,i,o,a]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0,u=Date.UTC(s,r-1,n,i||0,o||0,a||0,c),p=t[8];if(p&&p!=="Z"){let f=Ms(p,!1);Math.abs(f)<30&&(f*=60),u-=6e4*f}return new Date(u)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};var Ds=[we,ve,Ue,He,Rs,_s,Ir,Ar,Or,Er,Sr,kr,$r,ht,be,gt,mt,bt,rs,ns,rt];var Cr=new Map([["core",yr],["failsafe",[we,ve,Ue]],["json",wr],["yaml11",Ds],["yaml-1.1",Ds]]),Pr={binary:ht,bool:dt,float:Qt,floatExp:Xt,floatNaN:Jt,floatTime:ns,int:xt,intHex:es,intOct:Zt,intTime:rs,map:we,merge:be,null:He,omap:gt,pairs:mt,seq:ve,set:bt,timestamp:rt},Tr={"tag:yaml.org,2002:binary":ht,"tag:yaml.org,2002:merge":be,"tag:yaml.org,2002:omap":gt,"tag:yaml.org,2002:pairs":mt,"tag:yaml.org,2002:set":bt,"tag:yaml.org,2002:timestamp":rt};function is(e,t,s){let r=Cr.get(t);if(r&&!e)return s&&!r.includes(be)?r.concat(be):r.slice();let n=r;if(!n)if(Array.isArray(e))n=[];else{let i=Array.from(Cr.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${i} or define customTags array`)}if(Array.isArray(e))for(let i of e)n=n.concat(i);else typeof e=="function"&&(n=e(n.slice()));return s&&(n=n.concat(be)),n.reduce((i,o)=>{let a=typeof o=="string"?Pr[o]:o;if(!a){let c=JSON.stringify(o),u=Object.keys(Pr).map(p=>JSON.stringify(p)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${u}`)}return i.includes(a)||i.push(a),i},[])}var Wn=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,wt=class e{constructor({compat:t,customTags:s,merge:r,resolveKnownTags:n,schema:i,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(t)?is(t,"compat"):t?is(null,t):null,this.name=typeof i=="string"&&i||"core",this.knownTags=n?Tr:{},this.tags=is(s,this.name,r),this.toStringOptions=a??null,Object.defineProperty(this,de,{value:we}),Object.defineProperty(this,ce,{value:Ue}),Object.defineProperty(this,Re,{value:ve}),this.sortMapEntries=typeof o=="function"?o:o===!0?Wn:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};function Lr(e,t){let s=[],r=t.directives===!0;if(t.directives!==!1&&e.directives){let c=e.directives.toString(e);c?(s.push(c),r=!0):e.directives.docStart&&(r=!0)}r&&s.push("---");let n=Ut(e,t),{commentString:i}=n.options;if(e.commentBefore){s.length!==1&&s.unshift("");let c=i(e.commentBefore);s.unshift(fe(c,""))}let o=!1,a=null;if(e.contents){if(B(e.contents)){if(e.contents.spaceBefore&&r&&s.push(""),e.contents.commentBefore){let p=i(e.contents.commentBefore);s.push(fe(p,""))}n.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>o=!0,u=Me(e.contents,n,()=>a=null,c);a&&(u+=Ne(u,"",i(a))),(u[0]==="|"||u[0]===">")&&s[s.length-1]==="---"?s[s.length-1]=`--- ${u}`:s.push(u)}else s.push(Me(e.contents,n));if(e.directives?.docEnd)if(e.comment){let c=i(e.comment);c.includes(`
55
+ `)?(s.push("..."),s.push(fe(c,""))):s.push(`... ${c}`)}else s.push("...");else{let c=e.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||a)&&s[s.length-1]!==""&&s.push(""),s.push(fe(i(c),"")))}return s.join(`
56
56
  `)+`
57
- `}var Fe=class t{constructor(e,s,r){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,ne,{value:Lt});let n=null;typeof s=="function"||Array.isArray(s)?n=s:r===void 0&&s&&(r=s,s=void 0);let i=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},r);this.options=i;let{version:o}=i;r?._directives?(this.directives=r._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new Ne({version:o}),this.setSchema(o,r),this.contents=e===void 0?null:this.createNode(e,n,r)}clone(){let e=Object.create(t.prototype,{[ne]:{value:Lt}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=j(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){nt(this.contents)&&this.contents.add(e)}addIn(e,s){nt(this.contents)&&this.contents.addIn(e,s)}createAlias(e,s){if(!e.anchor){let r=Ss(this);e.anchor=!s||r.has(s)?ks(s||"a",r):s}return new Le(e.anchor)}createNode(e,s,r){let n;if(typeof s=="function")e=s.call({"":e},"",e),n=s;else if(Array.isArray(s)){let h=b=>typeof b=="number"||b instanceof String||b instanceof Number,v=s.filter(h).map(String);v.length>0&&(s=s.concat(v)),n=s}else r===void 0&&s&&(r=s,s=void 0);let{aliasDuplicateObjects:i,anchorPrefix:o,flow:a,keepUndefined:c,onTagObj:u,tag:p}=r??{},{onAnchor:f,setAnchors:l,sourceObjects:m}=lr(this,o||"a"),y={aliasDuplicateObjects:i??!0,keepUndefined:c??!1,onAnchor:f,onTagObj:u,replacer:n,schema:this.schema,sourceObjects:m},d=Re(e,p,y);return a&&G(d)&&(d.flow=!0),l(),d}createPair(e,s,r={}){let n=this.createNode(e,null,r),i=this.createNode(s,null,r);return new J(n,i)}delete(e){return nt(this.contents)?this.contents.delete(e):!1}deleteIn(e){return Ze(e)?this.contents==null?!1:(this.contents=null,!0):nt(this.contents)?this.contents.deleteIn(e):!1}get(e,s){return G(this.contents)?this.contents.get(e,s):void 0}getIn(e,s){return Ze(e)?!s&&F(this.contents)?this.contents.value:this.contents:G(this.contents)?this.contents.getIn(e,s):void 0}has(e){return G(this.contents)?this.contents.has(e):!1}hasIn(e){return Ze(e)?this.contents!==void 0:G(this.contents)?this.contents.hasIn(e):!1}set(e,s){this.contents==null?this.contents=ut(this.schema,[e],s):nt(this.contents)&&this.contents.set(e,s)}setIn(e,s){Ze(e)?this.contents=s:this.contents==null?this.contents=ut(this.schema,Array.from(e),s):nt(this.contents)&&this.contents.setIn(e,s)}setSchema(e,s={}){typeof e=="number"&&(e=String(e));let r;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Ne({version:"1.1"}),r={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new Ne({version:e}),r={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,r=null;break;default:{let n=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${n}`)}}if(s.schema instanceof Object)this.schema=s.schema;else if(r)this.schema=new vt(Object.assign(r,s));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:s,mapAsMap:r,maxAliasCount:n,onAnchor:i,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},c=z(this.contents,s??"",a);if(typeof i=="function")for(let{count:u,res:p}of a.anchors.values())i(p,u);return typeof o=="function"?De(o,{"":c},"",c):c}toJSON(e,s){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:s})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let s=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${s}`)}return Tr(this,e)}};function nt(t){if(G(t))return!0;throw new Error("Expected a YAML collection as document contents")}var St=class extends Error{constructor(e,s,r,n){super(),this.name=e,this.code=r,this.message=n,this.pos=s}},Se=class extends St{constructor(e,s,r){super("YAMLParseError",e,s,r)}},kt=class extends St{constructor(e,s,r){super("YAMLWarning",e,s,r)}},Ms=(t,e)=>s=>{if(s.pos[0]===-1)return;s.linePos=s.pos.map(a=>e.linePos(a));let{line:r,col:n}=s.linePos[0];s.message+=` at line ${r}, column ${n}`;let i=n-1,o=t.substring(e.lineStarts[r-1],e.lineStarts[r]).replace(/[\n\r]+$/,"");if(i>=60&&o.length>80){let a=Math.min(i-39,o.length-79);o="\u2026"+o.substring(a),i-=a-1}if(o.length>80&&(o=o.substring(0,79)+"\u2026"),r>1&&/^ *$/.test(o.substring(0,i))){let a=t.substring(e.lineStarts[r-2],e.lineStarts[r-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
57
+ `}var De=class e{constructor(t,s,r){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,ie,{value:Tt});let n=null;typeof s=="function"||Array.isArray(s)?n=s:r===void 0&&s&&(r=s,s=void 0);let i=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},r);this.options=i;let{version:o}=i;r?._directives?(this.directives=r._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new Ee({version:o}),this.setSchema(o,r),this.contents=t===void 0?null:this.createNode(t,n,r)}clone(){let t=Object.create(e.prototype,{[ie]:{value:Tt}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=B(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){nt(this.contents)&&this.contents.add(t)}addIn(t,s){nt(this.contents)&&this.contents.addIn(t,s)}createAlias(t,s){if(!t.anchor){let r=$s(this);t.anchor=!s||r.has(s)?Is(s||"a",r):s}return new _e(t.anchor)}createNode(t,s,r){let n;if(typeof s=="function")t=s.call({"":t},"",t),n=s;else if(Array.isArray(s)){let m=b=>typeof b=="number"||b instanceof String||b instanceof Number,v=s.filter(m).map(String);v.length>0&&(s=s.concat(v)),n=s}else r===void 0&&s&&(r=s,s=void 0);let{aliasDuplicateObjects:i,anchorPrefix:o,flow:a,keepUndefined:c,onTagObj:u,tag:p}=r??{},{onAnchor:f,setAnchors:l,sourceObjects:h}=ur(this,o||"a"),g={aliasDuplicateObjects:i??!0,keepUndefined:c??!1,onAnchor:f,onTagObj:u,replacer:n,schema:this.schema,sourceObjects:h},d=Fe(t,p,g);return a&&G(d)&&(d.flow=!0),l(),d}createPair(t,s,r={}){let n=this.createNode(t,null,r),i=this.createNode(s,null,r);return new J(n,i)}delete(t){return nt(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Ze(t)?this.contents==null?!1:(this.contents=null,!0):nt(this.contents)?this.contents.deleteIn(t):!1}get(t,s){return G(this.contents)?this.contents.get(t,s):void 0}getIn(t,s){return Ze(t)?!s&&F(this.contents)?this.contents.value:this.contents:G(this.contents)?this.contents.getIn(t,s):void 0}has(t){return G(this.contents)?this.contents.has(t):!1}hasIn(t){return Ze(t)?this.contents!==void 0:G(this.contents)?this.contents.hasIn(t):!1}set(t,s){this.contents==null?this.contents=lt(this.schema,[t],s):nt(this.contents)&&this.contents.set(t,s)}setIn(t,s){Ze(t)?this.contents=s:this.contents==null?this.contents=lt(this.schema,Array.from(t),s):nt(this.contents)&&this.contents.setIn(t,s)}setSchema(t,s={}){typeof t=="number"&&(t=String(t));let r;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Ee({version:"1.1"}),r={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new Ee({version:t}),r={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,r=null;break;default:{let n=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${n}`)}}if(s.schema instanceof Object)this.schema=s.schema;else if(r)this.schema=new wt(Object.assign(r,s));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:s,mapAsMap:r,maxAliasCount:n,onAnchor:i,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!t,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},c=Z(this.contents,s??"",a);if(typeof i=="function")for(let{count:u,res:p}of a.anchors.values())i(p,u);return typeof o=="function"?Be(o,{"":c},"",c):c}toJSON(t,s){return this.toJS({json:!0,jsonArg:t,mapAsMap:!1,onAnchor:s})}toString(t={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in t&&(!Number.isInteger(t.indent)||Number(t.indent)<=0)){let s=JSON.stringify(t.indent);throw new Error(`"indent" option must be a positive integer, not ${s}`)}return Lr(this,t)}};function nt(e){if(G(e))return!0;throw new Error("Expected a YAML collection as document contents")}var vt=class extends Error{constructor(t,s,r,n){super(),this.name=t,this.code=r,this.message=n,this.pos=s}},Se=class extends vt{constructor(t,s,r){super("YAMLParseError",t,s,r)}},St=class extends vt{constructor(t,s,r){super("YAMLWarning",t,s,r)}},Bs=(e,t)=>s=>{if(s.pos[0]===-1)return;s.linePos=s.pos.map(a=>t.linePos(a));let{line:r,col:n}=s.linePos[0];s.message+=` at line ${r}, column ${n}`;let i=n-1,o=e.substring(t.lineStarts[r-1],t.lineStarts[r]).replace(/[\n\r]+$/,"");if(i>=60&&o.length>80){let a=Math.min(i-39,o.length-79);o="\u2026"+o.substring(a),i-=a-1}if(o.length>80&&(o=o.substring(0,79)+"\u2026"),r>1&&/^ *$/.test(o.substring(0,i))){let a=e.substring(t.lineStarts[r-2],t.lineStarts[r-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
58
58
  `),o=a+o}if(/[^ ]/.test(o)){let a=1,c=s.linePos[1];c?.line===r&&c.col>n&&(a=Math.max(1,Math.min(c.col-n,80-i)));let u=" ".repeat(i)+"^".repeat(a);s.message+=`:
59
59
 
60
60
  ${o}
61
61
  ${u}
62
- `}};function Ee(t,{flow:e,indicator:s,next:r,offset:n,onError:i,parentIndent:o,startOnNewline:a}){let c=!1,u=a,p=a,f="",l="",m=!1,y=!1,d=null,h=null,v=null,b=null,S=null,$=null,k=null;for(let I of t)switch(y&&(I.type!=="space"&&I.type!=="newline"&&I.type!=="comma"&&i(I.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),y=!1),d&&(u&&I.type!=="comment"&&I.type!=="newline"&&i(d,"TAB_AS_INDENT","Tabs are not allowed as indentation"),d=null),I.type){case"space":!e&&(s!=="doc-start"||r?.type!=="flow-collection")&&I.source.includes(" ")&&(d=I),p=!0;break;case"comment":{p||i(I,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let R=I.source.substring(1)||" ";f?f+=l+R:f=R,l="",u=!1;break}case"newline":u?f?f+=I.source:(!$||s!=="seq-item-ind")&&(c=!0):l+=I.source,u=!0,m=!0,(h||v)&&(b=I),p=!0;break;case"anchor":h&&i(I,"MULTIPLE_ANCHORS","A node can have at most one anchor"),I.source.endsWith(":")&&i(I.offset+I.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),h=I,k??(k=I.offset),u=!1,p=!1,y=!0;break;case"tag":{v&&i(I,"MULTIPLE_TAGS","A node can have at most one tag"),v=I,k??(k=I.offset),u=!1,p=!1,y=!0;break}case s:(h||v)&&i(I,"BAD_PROP_ORDER",`Anchors and tags must be after the ${I.source} indicator`),$&&i(I,"UNEXPECTED_TOKEN",`Unexpected ${I.source} in ${e??"collection"}`),$=I,u=s==="seq-item-ind"||s==="explicit-key-ind",p=!1;break;case"comma":if(e){S&&i(I,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),S=I,u=!1,p=!1;break}default:i(I,"UNEXPECTED_TOKEN",`Unexpected ${I.type} token`),u=!1,p=!1}let N=t[t.length-1],O=N?N.offset+N.source.length:n;return y&&r&&r.type!=="space"&&r.type!=="newline"&&r.type!=="comma"&&(r.type!=="scalar"||r.source!=="")&&i(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),d&&(u&&d.indent<=o||r?.type==="block-map"||r?.type==="block-seq")&&i(d,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:S,found:$,spaceBefore:c,comment:f,hasNewline:m,anchor:h,tag:v,newlineAfterProp:b,end:O,start:k??O}}function Ke(t){if(!t)return null;switch(t.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(t.source.includes(`
63
- `))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let s of e.start)if(s.type==="newline")return!0;if(e.sep){for(let s of e.sep)if(s.type==="newline")return!0}if(Ke(e.key)||Ke(e.value))return!0}return!1;default:return!0}}function $t(t,e,s){if(e?.type==="flow-collection"){let r=e.end[0];r.indent===t&&(r.source==="]"||r.source==="}")&&Ke(e)&&s(r,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function as(t,e,s){let{uniqueKeys:r}=t.options;if(r===!1)return!1;let n=typeof r=="function"?r:(i,o)=>i===o||F(i)&&F(o)&&i.value===o.value;return e.some(i=>n(i.key,s))}var Lr="All mapping items must start at the same column";function Rr({composeNode:t,composeEmptyNode:e},s,r,n,i){let o=i?.nodeClass??X,a=new o(s.schema);s.atRoot&&(s.atRoot=!1);let c=r.offset,u=null;for(let p of r.items){let{start:f,key:l,sep:m,value:y}=p,d=Ee(f,{indicator:"explicit-key-ind",next:l??m?.[0],offset:c,onError:n,parentIndent:r.indent,startOnNewline:!0}),h=!d.found;if(h){if(l&&(l.type==="block-seq"?n(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in l&&l.indent!==r.indent&&n(c,"BAD_INDENT",Lr)),!d.anchor&&!d.tag&&!m){u=d.end,d.comment&&(a.comment?a.comment+=`
64
- `+d.comment:a.comment=d.comment);continue}(d.newlineAfterProp||Ke(l))&&n(l??f[f.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else d.found?.indent!==r.indent&&n(c,"BAD_INDENT",Lr);s.atKey=!0;let v=d.end,b=l?t(s,l,d,n):e(s,v,f,null,d,n);s.schema.compat&&$t(r.indent,l,n),s.atKey=!1,as(s,a.items,b)&&n(v,"DUPLICATE_KEY","Map keys must be unique");let S=Ee(m??[],{indicator:"map-value-ind",next:y,offset:b.range[2],onError:n,parentIndent:r.indent,startOnNewline:!l||l.type==="block-scalar"});if(c=S.end,S.found){h&&(y?.type==="block-map"&&!S.hasNewline&&n(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),s.options.strict&&d.start<S.found.offset-1024&&n(b.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let $=y?t(s,y,S,n):e(s,c,m,null,S,n);s.schema.compat&&$t(r.indent,y,n),c=$.range[2];let k=new J(b,$);s.options.keepSourceTokens&&(k.srcToken=p),a.items.push(k)}else{h&&n(b.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),S.comment&&(b.comment?b.comment+=`
65
- `+S.comment:b.comment=S.comment);let $=new J(b);s.options.keepSourceTokens&&($.srcToken=p),a.items.push($)}}return u&&u<c&&n(u,"IMPOSSIBLE","Map comment with trailing content"),a.range=[r.offset,c,u??c],a}function _r({composeNode:t,composeEmptyNode:e},s,r,n,i){let o=i?.nodeClass??te,a=new o(s.schema);s.atRoot&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let c=r.offset,u=null;for(let{start:p,value:f}of r.items){let l=Ee(p,{indicator:"seq-item-ind",next:f,offset:c,onError:n,parentIndent:r.indent,startOnNewline:!0});if(!l.found)if(l.anchor||l.tag||f)f?.type==="block-seq"?n(l.end,"BAD_INDENT","All sequence items must start at the same column"):n(c,"MISSING_CHAR","Sequence item without - indicator");else{u=l.end,l.comment&&(a.comment=l.comment);continue}let m=f?t(s,f,l,n):e(s,l.end,p,null,l,n);s.schema.compat&&$t(r.indent,f,n),c=m.range[2],a.items.push(m)}return a.range=[r.offset,c,u??c],a}function Ce(t,e,s,r){let n="";if(t){let i=!1,o="";for(let a of t){let{source:c,type:u}=a;switch(u){case"space":i=!0;break;case"comment":{s&&!i&&r(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let p=c.substring(1)||" ";n?n+=o+p:n=p,o="";break}case"newline":n&&(o+=c),i=!0;break;default:r(a,"UNEXPECTED_TOKEN",`Unexpected ${u} at node end`)}e+=c.length}}return{comment:n,offset:e}}var Ds="Block collections are not allowed within flow collections",Bs=t=>t&&(t.type==="block-map"||t.type==="block-seq");function Fr({composeNode:t,composeEmptyNode:e},s,r,n,i){let o=r.start.source==="{",a=o?"flow map":"flow sequence",c=i?.nodeClass??(o?X:te),u=new c(s.schema);u.flow=!0;let p=s.atRoot;p&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let f=r.offset+r.start.source.length;for(let h=0;h<r.items.length;++h){let v=r.items[h],{start:b,key:S,sep:$,value:k}=v,N=Ee(b,{flow:a,indicator:"explicit-key-ind",next:S??$?.[0],offset:f,onError:n,parentIndent:r.indent,startOnNewline:!1});if(!N.found){if(!N.anchor&&!N.tag&&!$&&!k){h===0&&N.comma?n(N.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):h<r.items.length-1&&n(N.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),N.comment&&(u.comment?u.comment+=`
66
- `+N.comment:u.comment=N.comment),f=N.end;continue}!o&&s.options.strict&&Ke(S)&&n(S,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(h===0)N.comma&&n(N.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(N.comma||n(N.start,"MISSING_CHAR",`Missing , between ${a} items`),N.comment){let O="";e:for(let I of b)switch(I.type){case"comma":case"space":break;case"comment":O=I.source.substring(1);break e;default:break e}if(O){let I=u.items[u.items.length-1];B(I)&&(I=I.value??I.key),I.comment?I.comment+=`
67
- `+O:I.comment=O,N.comment=N.comment.substring(O.length+1)}}if(!o&&!$&&!N.found){let O=k?t(s,k,N,n):e(s,N.end,$,null,N,n);u.items.push(O),f=O.range[2],Bs(k)&&n(O.range,"BLOCK_IN_FLOW",Ds)}else{s.atKey=!0;let O=N.end,I=S?t(s,S,N,n):e(s,O,b,null,N,n);Bs(S)&&n(I.range,"BLOCK_IN_FLOW",Ds),s.atKey=!1;let R=Ee($??[],{flow:a,indicator:"map-value-ind",next:k,offset:I.range[2],onError:n,parentIndent:r.indent,startOnNewline:!1});if(R.found){if(!o&&!N.found&&s.options.strict){if($)for(let E of $){if(E===R.found)break;if(E.type==="newline"){n(E,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}N.start<R.found.offset-1024&&n(R.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else k&&("source"in k&&k.source?.[0]===":"?n(k,"MISSING_CHAR",`Missing space after : in ${a}`):n(R.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let U=k?t(s,k,R,n):R.found?e(s,R.end,$,null,R,n):null;U?Bs(k)&&n(U.range,"BLOCK_IN_FLOW",Ds):R.comment&&(I.comment?I.comment+=`
68
- `+R.comment:I.comment=R.comment);let Z=new J(I,U);if(s.options.keepSourceTokens&&(Z.srcToken=v),o){let E=u;as(s,E.items,I)&&n(O,"DUPLICATE_KEY","Map keys must be unique"),E.items.push(Z)}else{let E=new X(s.schema);E.flow=!0,E.items.push(Z);let W=(U??I).range;E.range=[I.range[0],W[1],W[2]],u.items.push(E)}f=U?U.range[2]:R.end}}let l=o?"}":"]",[m,...y]=r.end,d=f;if(m?.source===l)d=m.offset+m.source.length;else{let h=a[0].toUpperCase()+a.substring(1),v=p?`${h} must end with a ${l}`:`${h} in block collection must be sufficiently indented and end with a ${l}`;n(f,p?"MISSING_CHAR":"BAD_INDENT",v),m&&m.source.length!==1&&y.unshift(m)}if(y.length>0){let h=Ce(y,d,s.options.strict,n);h.comment&&(u.comment?u.comment+=`
69
- `+h.comment:u.comment=h.comment),u.range=[r.offset,d,h.offset]}else u.range=[r.offset,d,d];return u}function js(t,e,s,r,n,i){let o=s.type==="block-map"?Rr(t,e,s,r,i):s.type==="block-seq"?_r(t,e,s,r,i):Fr(t,e,s,r,i),a=o.constructor;return n==="!"||n===a.tagName?(o.tag=a.tagName,o):(n&&(o.tag=n),o)}function Mr(t,e,s,r,n){let i=r.tag,o=i?e.directives.tagName(i.source,l=>n(i,"TAG_RESOLVE_FAILED",l)):null;if(s.type==="block-seq"){let{anchor:l,newlineAfterProp:m}=r,y=l&&i?l.offset>i.offset?l:i:l??i;y&&(!m||m.offset<y.offset)&&n(y,"MISSING_CHAR","Missing newline after block sequence props")}let a=s.type==="block-map"?"map":s.type==="block-seq"?"seq":s.start.source==="{"?"map":"seq";if(!i||!o||o==="!"||o===X.tagName&&a==="map"||o===te.tagName&&a==="seq")return js(t,e,s,n,o);let c=e.schema.tags.find(l=>l.tag===o&&l.collection===a);if(!c){let l=e.schema.knownTags[o];if(l?.collection===a)e.schema.tags.push(Object.assign({},l,{default:!1})),c=l;else return l?n(i,"BAD_COLLECTION_TYPE",`${l.tag} used for ${a} collection, but expects ${l.collection??"scalar"}`,!0):n(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),js(t,e,s,n,o)}let u=js(t,e,s,n,o,c),p=c.resolve?.(u,l=>n(i,"TAG_RESOLVE_FAILED",l),e.options)??u,f=j(p)?p:new C(p);return f.range=u.range,f.tag=o,c?.format&&(f.format=c.format),f}function Us(t,e,s){let r=e.offset,n=Kn(e,t.options.strict,s);if(!n)return{value:"",type:null,comment:"",range:[r,r,r]};let i=n.mode===">"?C.BLOCK_FOLDED:C.BLOCK_LITERAL,o=e.source?Gn(e.source):[],a=o.length;for(let d=o.length-1;d>=0;--d){let h=o[d][1];if(h===""||h==="\r")a=d;else break}if(a===0){let d=n.chomp==="+"&&o.length>0?`
70
- `.repeat(Math.max(1,o.length-1)):"",h=r+n.length;return e.source&&(h+=e.source.length),{value:d,type:i,comment:n.comment,range:[r,h,h]}}let c=e.indent+n.indent,u=e.offset+n.length,p=0;for(let d=0;d<a;++d){let[h,v]=o[d];if(v===""||v==="\r")n.indent===0&&h.length>c&&(c=h.length);else{h.length<c&&s(u+h.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),n.indent===0&&(c=h.length),p=d,c===0&&!t.atRoot&&s(u,"BAD_INDENT","Block scalar values in collections must be indented");break}u+=h.length+v.length+1}for(let d=o.length-1;d>=a;--d)o[d][0].length>c&&(a=d+1);let f="",l="",m=!1;for(let d=0;d<p;++d)f+=o[d][0].slice(c)+`
71
- `;for(let d=p;d<a;++d){let[h,v]=o[d];u+=h.length+v.length+1;let b=v[v.length-1]==="\r";if(b&&(v=v.slice(0,-1)),v&&h.length<c){let $=`Block scalar lines must not be less indented than their ${n.indent?"explicit indentation indicator":"first line"}`;s(u-v.length-(b?2:1),"BAD_INDENT",$),h=""}i===C.BLOCK_LITERAL?(f+=l+h.slice(c)+v,l=`
72
- `):h.length>c||v[0]===" "?(l===" "?l=`
73
- `:!m&&l===`
62
+ `}};function Ce(e,{flow:t,indicator:s,next:r,offset:n,onError:i,parentIndent:o,startOnNewline:a}){let c=!1,u=a,p=a,f="",l="",h=!1,g=!1,d=null,m=null,v=null,b=null,S=null,$=null,I=null;for(let A of e)switch(g&&(A.type!=="space"&&A.type!=="newline"&&A.type!=="comma"&&i(A.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g=!1),d&&(u&&A.type!=="comment"&&A.type!=="newline"&&i(d,"TAB_AS_INDENT","Tabs are not allowed as indentation"),d=null),A.type){case"space":!t&&(s!=="doc-start"||r?.type!=="flow-collection")&&A.source.includes(" ")&&(d=A),p=!0;break;case"comment":{p||i(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let _=A.source.substring(1)||" ";f?f+=l+_:f=_,l="",u=!1;break}case"newline":u?f?f+=A.source:(!$||s!=="seq-item-ind")&&(c=!0):l+=A.source,u=!0,h=!0,(m||v)&&(b=A),p=!0;break;case"anchor":m&&i(A,"MULTIPLE_ANCHORS","A node can have at most one anchor"),A.source.endsWith(":")&&i(A.offset+A.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),m=A,I??(I=A.offset),u=!1,p=!1,g=!0;break;case"tag":{v&&i(A,"MULTIPLE_TAGS","A node can have at most one tag"),v=A,I??(I=A.offset),u=!1,p=!1,g=!0;break}case s:(m||v)&&i(A,"BAD_PROP_ORDER",`Anchors and tags must be after the ${A.source} indicator`),$&&i(A,"UNEXPECTED_TOKEN",`Unexpected ${A.source} in ${t??"collection"}`),$=A,u=s==="seq-item-ind"||s==="explicit-key-ind",p=!1;break;case"comma":if(t){S&&i(A,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),S=A,u=!1,p=!1;break}default:i(A,"UNEXPECTED_TOKEN",`Unexpected ${A.type} token`),u=!1,p=!1}let O=e[e.length-1],E=O?O.offset+O.source.length:n;return g&&r&&r.type!=="space"&&r.type!=="newline"&&r.type!=="comma"&&(r.type!=="scalar"||r.source!=="")&&i(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),d&&(u&&d.indent<=o||r?.type==="block-map"||r?.type==="block-seq")&&i(d,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:S,found:$,spaceBefore:c,comment:f,hasNewline:h,anchor:m,tag:v,newlineAfterProp:b,end:E,start:I??E}}function Ge(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
63
+ `))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let s of t.start)if(s.type==="newline")return!0;if(t.sep){for(let s of t.sep)if(s.type==="newline")return!0}if(Ge(t.key)||Ge(t.value))return!0}return!1;default:return!0}}function kt(e,t,s){if(t?.type==="flow-collection"){let r=t.end[0];r.indent===e&&(r.source==="]"||r.source==="}")&&Ge(t)&&s(r,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function os(e,t,s){let{uniqueKeys:r}=e.options;if(r===!1)return!1;let n=typeof r=="function"?r:(i,o)=>i===o||F(i)&&F(o)&&i.value===o.value;return t.some(i=>n(i.key,s))}var Rr="All mapping items must start at the same column";function _r({composeNode:e,composeEmptyNode:t},s,r,n,i){let o=i?.nodeClass??X,a=new o(s.schema);s.atRoot&&(s.atRoot=!1);let c=r.offset,u=null;for(let p of r.items){let{start:f,key:l,sep:h,value:g}=p,d=Ce(f,{indicator:"explicit-key-ind",next:l??h?.[0],offset:c,onError:n,parentIndent:r.indent,startOnNewline:!0}),m=!d.found;if(m){if(l&&(l.type==="block-seq"?n(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in l&&l.indent!==r.indent&&n(c,"BAD_INDENT",Rr)),!d.anchor&&!d.tag&&!h){u=d.end,d.comment&&(a.comment?a.comment+=`
64
+ `+d.comment:a.comment=d.comment);continue}(d.newlineAfterProp||Ge(l))&&n(l??f[f.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else d.found?.indent!==r.indent&&n(c,"BAD_INDENT",Rr);s.atKey=!0;let v=d.end,b=l?e(s,l,d,n):t(s,v,f,null,d,n);s.schema.compat&&kt(r.indent,l,n),s.atKey=!1,os(s,a.items,b)&&n(v,"DUPLICATE_KEY","Map keys must be unique");let S=Ce(h??[],{indicator:"map-value-ind",next:g,offset:b.range[2],onError:n,parentIndent:r.indent,startOnNewline:!l||l.type==="block-scalar"});if(c=S.end,S.found){m&&(g?.type==="block-map"&&!S.hasNewline&&n(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),s.options.strict&&d.start<S.found.offset-1024&&n(b.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let $=g?e(s,g,S,n):t(s,c,h,null,S,n);s.schema.compat&&kt(r.indent,g,n),c=$.range[2];let I=new J(b,$);s.options.keepSourceTokens&&(I.srcToken=p),a.items.push(I)}else{m&&n(b.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),S.comment&&(b.comment?b.comment+=`
65
+ `+S.comment:b.comment=S.comment);let $=new J(b);s.options.keepSourceTokens&&($.srcToken=p),a.items.push($)}}return u&&u<c&&n(u,"IMPOSSIBLE","Map comment with trailing content"),a.range=[r.offset,c,u??c],a}function Fr({composeNode:e,composeEmptyNode:t},s,r,n,i){let o=i?.nodeClass??se,a=new o(s.schema);s.atRoot&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let c=r.offset,u=null;for(let{start:p,value:f}of r.items){let l=Ce(p,{indicator:"seq-item-ind",next:f,offset:c,onError:n,parentIndent:r.indent,startOnNewline:!0});if(!l.found)if(l.anchor||l.tag||f)f?.type==="block-seq"?n(l.end,"BAD_INDENT","All sequence items must start at the same column"):n(c,"MISSING_CHAR","Sequence item without - indicator");else{u=l.end,l.comment&&(a.comment=l.comment);continue}let h=f?e(s,f,l,n):t(s,l.end,p,null,l,n);s.schema.compat&&kt(r.indent,f,n),c=h.range[2],a.items.push(h)}return a.range=[r.offset,c,u??c],a}function Pe(e,t,s,r){let n="";if(e){let i=!1,o="";for(let a of e){let{source:c,type:u}=a;switch(u){case"space":i=!0;break;case"comment":{s&&!i&&r(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let p=c.substring(1)||" ";n?n+=o+p:n=p,o="";break}case"newline":n&&(o+=c),i=!0;break;default:r(a,"UNEXPECTED_TOKEN",`Unexpected ${u} at node end`)}t+=c.length}}return{comment:n,offset:t}}var js="Block collections are not allowed within flow collections",Ks=e=>e&&(e.type==="block-map"||e.type==="block-seq");function Mr({composeNode:e,composeEmptyNode:t},s,r,n,i){let o=r.start.source==="{",a=o?"flow map":"flow sequence",c=i?.nodeClass??(o?X:se),u=new c(s.schema);u.flow=!0;let p=s.atRoot;p&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let f=r.offset+r.start.source.length;for(let m=0;m<r.items.length;++m){let v=r.items[m],{start:b,key:S,sep:$,value:I}=v,O=Ce(b,{flow:a,indicator:"explicit-key-ind",next:S??$?.[0],offset:f,onError:n,parentIndent:r.indent,startOnNewline:!1});if(!O.found){if(!O.anchor&&!O.tag&&!$&&!I){m===0&&O.comma?n(O.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):m<r.items.length-1&&n(O.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),O.comment&&(u.comment?u.comment+=`
66
+ `+O.comment:u.comment=O.comment),f=O.end;continue}!o&&s.options.strict&&Ge(S)&&n(S,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(m===0)O.comma&&n(O.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(O.comma||n(O.start,"MISSING_CHAR",`Missing , between ${a} items`),O.comment){let E="";e:for(let A of b)switch(A.type){case"comma":case"space":break;case"comment":E=A.source.substring(1);break e;default:break e}if(E){let A=u.items[u.items.length-1];D(A)&&(A=A.value??A.key),A.comment?A.comment+=`
67
+ `+E:A.comment=E,O.comment=O.comment.substring(E.length+1)}}if(!o&&!$&&!O.found){let E=I?e(s,I,O,n):t(s,O.end,$,null,O,n);u.items.push(E),f=E.range[2],Ks(I)&&n(E.range,"BLOCK_IN_FLOW",js)}else{s.atKey=!0;let E=O.end,A=S?e(s,S,O,n):t(s,E,b,null,O,n);Ks(S)&&n(A.range,"BLOCK_IN_FLOW",js),s.atKey=!1;let _=Ce($??[],{flow:a,indicator:"map-value-ind",next:I,offset:A.range[2],onError:n,parentIndent:r.indent,startOnNewline:!1});if(_.found){if(!o&&!O.found&&s.options.strict){if($)for(let N of $){if(N===_.found)break;if(N.type==="newline"){n(N,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}O.start<_.found.offset-1024&&n(_.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else I&&("source"in I&&I.source?.[0]===":"?n(I,"MISSING_CHAR",`Missing space after : in ${a}`):n(_.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let q=I?e(s,I,_,n):_.found?t(s,_.end,$,null,_,n):null;q?Ks(I)&&n(q.range,"BLOCK_IN_FLOW",js):_.comment&&(A.comment?A.comment+=`
68
+ `+_.comment:A.comment=_.comment);let te=new J(A,q);if(s.options.keepSourceTokens&&(te.srcToken=v),o){let N=u;os(s,N.items,A)&&n(E,"DUPLICATE_KEY","Map keys must be unique"),N.items.push(te)}else{let N=new X(s.schema);N.flow=!0,N.items.push(te);let Y=(q??A).range;N.range=[A.range[0],Y[1],Y[2]],u.items.push(N)}f=q?q.range[2]:_.end}}let l=o?"}":"]",[h,...g]=r.end,d=f;if(h?.source===l)d=h.offset+h.source.length;else{let m=a[0].toUpperCase()+a.substring(1),v=p?`${m} must end with a ${l}`:`${m} in block collection must be sufficiently indented and end with a ${l}`;n(f,p?"MISSING_CHAR":"BAD_INDENT",v),h&&h.source.length!==1&&g.unshift(h)}if(g.length>0){let m=Pe(g,d,s.options.strict,n);m.comment&&(u.comment?u.comment+=`
69
+ `+m.comment:u.comment=m.comment),u.range=[r.offset,d,m.offset]}else u.range=[r.offset,d,d];return u}function Us(e,t,s,r,n,i){let o=s.type==="block-map"?_r(e,t,s,r,i):s.type==="block-seq"?Fr(e,t,s,r,i):Mr(e,t,s,r,i),a=o.constructor;return n==="!"||n===a.tagName?(o.tag=a.tagName,o):(n&&(o.tag=n),o)}function Dr(e,t,s,r,n){let i=r.tag,o=i?t.directives.tagName(i.source,l=>n(i,"TAG_RESOLVE_FAILED",l)):null;if(s.type==="block-seq"){let{anchor:l,newlineAfterProp:h}=r,g=l&&i?l.offset>i.offset?l:i:l??i;g&&(!h||h.offset<g.offset)&&n(g,"MISSING_CHAR","Missing newline after block sequence props")}let a=s.type==="block-map"?"map":s.type==="block-seq"?"seq":s.start.source==="{"?"map":"seq";if(!i||!o||o==="!"||o===X.tagName&&a==="map"||o===se.tagName&&a==="seq")return Us(e,t,s,n,o);let c=t.schema.tags.find(l=>l.tag===o&&l.collection===a);if(!c){let l=t.schema.knownTags[o];if(l?.collection===a)t.schema.tags.push(Object.assign({},l,{default:!1})),c=l;else return l?n(i,"BAD_COLLECTION_TYPE",`${l.tag} used for ${a} collection, but expects ${l.collection??"scalar"}`,!0):n(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),Us(e,t,s,n,o)}let u=Us(e,t,s,n,o,c),p=c.resolve?.(u,l=>n(i,"TAG_RESOLVE_FAILED",l),t.options)??u,f=B(p)?p:new C(p);return f.range=u.range,f.tag=o,c?.format&&(f.format=c.format),f}function Gs(e,t,s){let r=t.offset,n=Vn(t,e.options.strict,s);if(!n)return{value:"",type:null,comment:"",range:[r,r,r]};let i=n.mode===">"?C.BLOCK_FOLDED:C.BLOCK_LITERAL,o=t.source?qn(t.source):[],a=o.length;for(let d=o.length-1;d>=0;--d){let m=o[d][1];if(m===""||m==="\r")a=d;else break}if(a===0){let d=n.chomp==="+"&&o.length>0?`
70
+ `.repeat(Math.max(1,o.length-1)):"",m=r+n.length;return t.source&&(m+=t.source.length),{value:d,type:i,comment:n.comment,range:[r,m,m]}}let c=t.indent+n.indent,u=t.offset+n.length,p=0;for(let d=0;d<a;++d){let[m,v]=o[d];if(v===""||v==="\r")n.indent===0&&m.length>c&&(c=m.length);else{m.length<c&&s(u+m.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),n.indent===0&&(c=m.length),p=d,c===0&&!e.atRoot&&s(u,"BAD_INDENT","Block scalar values in collections must be indented");break}u+=m.length+v.length+1}for(let d=o.length-1;d>=a;--d)o[d][0].length>c&&(a=d+1);let f="",l="",h=!1;for(let d=0;d<p;++d)f+=o[d][0].slice(c)+`
71
+ `;for(let d=p;d<a;++d){let[m,v]=o[d];u+=m.length+v.length+1;let b=v[v.length-1]==="\r";if(b&&(v=v.slice(0,-1)),v&&m.length<c){let $=`Block scalar lines must not be less indented than their ${n.indent?"explicit indentation indicator":"first line"}`;s(u-v.length-(b?2:1),"BAD_INDENT",$),m=""}i===C.BLOCK_LITERAL?(f+=l+m.slice(c)+v,l=`
72
+ `):m.length>c||v[0]===" "?(l===" "?l=`
73
+ `:!h&&l===`
74
74
  `&&(l=`
75
75
 
76
- `),f+=l+h.slice(c)+v,l=`
77
- `,m=!0):v===""?l===`
76
+ `),f+=l+m.slice(c)+v,l=`
77
+ `,h=!0):v===""?l===`
78
78
  `?f+=`
79
79
  `:l=`
80
- `:(f+=l+v,l=" ",m=!1)}switch(n.chomp){case"-":break;case"+":for(let d=a;d<o.length;++d)f+=`
80
+ `:(f+=l+v,l=" ",h=!1)}switch(n.chomp){case"-":break;case"+":for(let d=a;d<o.length;++d)f+=`
81
81
  `+o[d][0].slice(c);f[f.length-1]!==`
82
82
  `&&(f+=`
83
83
  `);break;default:f+=`
84
- `}let y=r+n.length+e.source.length;return{value:f,type:i,comment:n.comment,range:[r,y,y]}}function Kn({offset:t,props:e},s,r){if(e[0].type!=="block-scalar-header")return r(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n}=e[0],i=n[0],o=0,a="",c=-1;for(let l=1;l<n.length;++l){let m=n[l];if(!a&&(m==="-"||m==="+"))a=m;else{let y=Number(m);!o&&y?o=y:c===-1&&(c=t+l)}}c!==-1&&r(c,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${n}`);let u=!1,p="",f=n.length;for(let l=1;l<e.length;++l){let m=e[l];switch(m.type){case"space":u=!0;case"newline":f+=m.source.length;break;case"comment":s&&!u&&r(m,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),f+=m.source.length,p=m.source.substring(1);break;case"error":r(m,"UNEXPECTED_TOKEN",m.message),f+=m.source.length;break;default:{let y=`Unexpected token in block scalar header: ${m.type}`;r(m,"UNEXPECTED_TOKEN",y);let d=m.source;d&&typeof d=="string"&&(f+=d.length)}}}return{mode:i,indent:o,chomp:a,comment:p,length:f}}function Gn(t){let e=t.split(/\n( *)/),s=e[0],r=s.match(/^( *)/),i=[r?.[1]?[r[1],s.slice(r[1].length)]:["",s]];for(let o=1;o<e.length;o+=2)i.push([e[o],e[o+1]]);return i}function Ks(t,e,s){let{offset:r,type:n,source:i,end:o}=t,a,c,u=(l,m,y)=>s(r+l,m,y);switch(n){case"scalar":a=C.PLAIN,c=Vn(i,u);break;case"single-quoted-scalar":a=C.QUOTE_SINGLE,c=qn(i,u);break;case"double-quoted-scalar":a=C.QUOTE_DOUBLE,c=Wn(i,u);break;default:return s(t,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${n}`),{value:"",type:null,comment:"",range:[r,r+i.length,r+i.length]}}let p=r+i.length,f=Ce(o,p,e,s);return{value:c,type:a,comment:f.comment,range:[r,p,f.offset]}}function Vn(t,e){let s="";switch(t[0]){case" ":s="a tab character";break;case",":s="flow indicator character ,";break;case"%":s="directive indicator character %";break;case"|":case">":{s=`block scalar indicator ${t[0]}`;break}case"@":case"`":{s=`reserved character ${t[0]}`;break}}return s&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${s}`),Dr(t)}function qn(t,e){return(t[t.length-1]!=="'"||t.length===1)&&e(t.length,"MISSING_CHAR","Missing closing 'quote"),Dr(t.slice(1,-1)).replace(/''/g,"'")}function Dr(t){let e=/(.*?)\r?\n/sy,s=e.exec(t);if(!s)return t;let r,n;try{r=new RegExp("(?<![ ])[ ]+$"),n=new RegExp("^[ ]+|(?<![ ])[ ]+$","g")}catch{r=/[ \t]+$/,n=/^[ \t]+|[ \t]+$/g}let i=s[1].replace(r,""),o=" ",a=e.lastIndex;for(;s=e.exec(t);){let u=s[1].replace(n,"");u===""?o===`
84
+ `}let g=r+n.length+t.source.length;return{value:f,type:i,comment:n.comment,range:[r,g,g]}}function Vn({offset:e,props:t},s,r){if(t[0].type!=="block-scalar-header")return r(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n}=t[0],i=n[0],o=0,a="",c=-1;for(let l=1;l<n.length;++l){let h=n[l];if(!a&&(h==="-"||h==="+"))a=h;else{let g=Number(h);!o&&g?o=g:c===-1&&(c=e+l)}}c!==-1&&r(c,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${n}`);let u=!1,p="",f=n.length;for(let l=1;l<t.length;++l){let h=t[l];switch(h.type){case"space":u=!0;case"newline":f+=h.source.length;break;case"comment":s&&!u&&r(h,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),f+=h.source.length,p=h.source.substring(1);break;case"error":r(h,"UNEXPECTED_TOKEN",h.message),f+=h.source.length;break;default:{let g=`Unexpected token in block scalar header: ${h.type}`;r(h,"UNEXPECTED_TOKEN",g);let d=h.source;d&&typeof d=="string"&&(f+=d.length)}}}return{mode:i,indent:o,chomp:a,comment:p,length:f}}function qn(e){let t=e.split(/\n( *)/),s=t[0],r=s.match(/^( *)/),i=[r?.[1]?[r[1],s.slice(r[1].length)]:["",s]];for(let o=1;o<t.length;o+=2)i.push([t[o],t[o+1]]);return i}function Ws(e,t,s){let{offset:r,type:n,source:i,end:o}=e,a,c,u=(l,h,g)=>s(r+l,h,g);switch(n){case"scalar":a=C.PLAIN,c=Hn(i,u);break;case"single-quoted-scalar":a=C.QUOTE_SINGLE,c=Yn(i,u);break;case"double-quoted-scalar":a=C.QUOTE_DOUBLE,c=Jn(i,u);break;default:return s(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${n}`),{value:"",type:null,comment:"",range:[r,r+i.length,r+i.length]}}let p=r+i.length,f=Pe(o,p,t,s);return{value:c,type:a,comment:f.comment,range:[r,p,f.offset]}}function Hn(e,t){let s="";switch(e[0]){case" ":s="a tab character";break;case",":s="flow indicator character ,";break;case"%":s="directive indicator character %";break;case"|":case">":{s=`block scalar indicator ${e[0]}`;break}case"@":case"`":{s=`reserved character ${e[0]}`;break}}return s&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${s}`),Br(e)}function Yn(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),Br(e.slice(1,-1)).replace(/''/g,"'")}function Br(e){let t=/(.*?)\r?\n/sy,s=t.exec(e);if(!s)return e;let r,n;try{r=new RegExp("(?<![ ])[ ]+$"),n=new RegExp("^[ ]+|(?<![ ])[ ]+$","g")}catch{r=/[ \t]+$/,n=/^[ \t]+|[ \t]+$/g}let i=s[1].replace(r,""),o=" ",a=t.lastIndex;for(;s=t.exec(e);){let u=s[1].replace(n,"");u===""?o===`
85
85
  `?i+=o:o=`
86
- `:(i+=o+u,o=" "),a=e.lastIndex}let c=/[ \t]*(.*)/sy;return c.lastIndex=a,s=c.exec(t),i+o+(s?.[1]??"")}function Wn(t,e){let s="";for(let r=1;r<t.length-1;++r){let n=t[r];if(!(n==="\r"&&t[r+1]===`
86
+ `:(i+=o+u,o=" "),a=t.lastIndex}let c=/[ \t]*(.*)/sy;return c.lastIndex=a,s=c.exec(e),i+o+(s?.[1]??"")}function Jn(e,t){let s="";for(let r=1;r<e.length-1;++r){let n=e[r];if(!(n==="\r"&&e[r+1]===`
87
87
  `))if(n===`
88
- `){let{fold:i,offset:o}=Hn(t,r);s+=i,r=o}else if(n==="\\"){let i=t[++r],o=Yn[i];if(o)s+=o;else if(i===`
89
- `)for(i=t[r+1];i===" "||i===" ";)i=t[++r+1];else if(i==="\r"&&t[r+1]===`
90
- `)for(i=t[++r+1];i===" "||i===" ";)i=t[++r+1];else if(i==="x"||i==="u"||i==="U"){let a=i==="x"?2:i==="u"?4:8;s+=Jn(t,r+1,a,e),r+=a}else{let a=t.substr(r-1,2);e(r-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),s+=a}}else if(n===" "||n===" "){let i=r,o=t[r+1];for(;o===" "||o===" ";)o=t[++r+1];o!==`
91
- `&&!(o==="\r"&&t[r+2]===`
92
- `)&&(s+=r>i?t.slice(i,r+1):n)}else s+=n}return(t[t.length-1]!=='"'||t.length===1)&&e(t.length,"MISSING_CHAR",'Missing closing "quote'),s}function Hn(t,e){let s="",r=t[e+1];for(;(r===" "||r===" "||r===`
93
- `||r==="\r")&&!(r==="\r"&&t[e+2]!==`
88
+ `){let{fold:i,offset:o}=Xn(e,r);s+=i,r=o}else if(n==="\\"){let i=e[++r],o=Qn[i];if(o)s+=o;else if(i===`
89
+ `)for(i=e[r+1];i===" "||i===" ";)i=e[++r+1];else if(i==="\r"&&e[r+1]===`
90
+ `)for(i=e[++r+1];i===" "||i===" ";)i=e[++r+1];else if(i==="x"||i==="u"||i==="U"){let a=i==="x"?2:i==="u"?4:8;s+=zn(e,r+1,a,t),r+=a}else{let a=e.substr(r-1,2);t(r-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),s+=a}}else if(n===" "||n===" "){let i=r,o=e[r+1];for(;o===" "||o===" ";)o=e[++r+1];o!==`
91
+ `&&!(o==="\r"&&e[r+2]===`
92
+ `)&&(s+=r>i?e.slice(i,r+1):n)}else s+=n}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),s}function Xn(e,t){let s="",r=e[t+1];for(;(r===" "||r===" "||r===`
93
+ `||r==="\r")&&!(r==="\r"&&e[t+2]!==`
94
94
  `);)r===`
95
95
  `&&(s+=`
96
- `),e+=1,r=t[e+1];return s||(s=" "),{fold:s,offset:e}}var Yn={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
97
- `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function Jn(t,e,s,r){let n=t.substr(e,s),o=n.length===s&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let a=t.substr(e-2,s+2);return r(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}}function Gs(t,e,s,r){let{value:n,type:i,comment:o,range:a}=e.type==="block-scalar"?Us(t,e,r):Ks(e,t.options.strict,r),c=s?t.directives.tagName(s.source,f=>r(s,"TAG_RESOLVE_FAILED",f)):null,u;t.options.stringKeys&&t.atKey?u=t.schema[ce]:c?u=Xn(t.schema,n,c,s,r):e.type==="scalar"?u=Qn(t,n,e,r):u=t.schema[ce];let p;try{let f=u.resolve(n,l=>r(s??e,"TAG_RESOLVE_FAILED",l),t.options);p=F(f)?f:new C(f)}catch(f){let l=f instanceof Error?f.message:String(f);r(s??e,"TAG_RESOLVE_FAILED",l),p=new C(n)}return p.range=a,p.source=n,i&&(p.type=i),c&&(p.tag=c),u.format&&(p.format=u.format),o&&(p.comment=o),p}function Xn(t,e,s,r,n){if(s==="!")return t[ce];let i=[];for(let a of t.tags)if(!a.collection&&a.tag===s)if(a.default&&a.test)i.push(a);else return a;for(let a of i)if(a.test?.test(e))return a;let o=t.knownTags[s];return o&&!o.collection?(t.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(n(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${s}`,s!=="tag:yaml.org,2002:str"),t[ce])}function Qn({atKey:t,directives:e,schema:s},r,n,i){let o=s.tags.find(a=>(a.default===!0||t&&a.default==="key")&&a.test?.test(r))||s[ce];if(s.compat){let a=s.compat.find(c=>c.default&&c.test?.test(r))??s[ce];if(o.tag!==a.tag){let c=e.tagString(o.tag),u=e.tagString(a.tag),p=`Value may be parsed as either ${c} or ${u}`;i(n,"TAG_RESOLVE_FAILED",p,!0)}}return o}function Br(t,e,s){if(e){s??(s=e.length);for(let r=s-1;r>=0;--r){let n=e[r];switch(n.type){case"space":case"comment":case"newline":t-=n.source.length;continue}for(n=e[++r];n?.type==="space";)t+=n.source.length,n=e[++r];break}}return t}var zn={composeNode:Vs,composeEmptyNode:cs};function Vs(t,e,s,r){let n=t.atKey,{spaceBefore:i,comment:o,anchor:a,tag:c}=s,u,p=!0;switch(e.type){case"alias":u=Zn(t,e,r),(a||c)&&r(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":u=Gs(t,e,c,r),a&&(u.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{u=Mr(zn,t,e,s,r),a&&(u.anchor=a.source.substring(1))}catch(f){let l=f instanceof Error?f.message:String(f);r(e,"RESOURCE_EXHAUSTION",l)}break;default:{let f=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;r(e,"UNEXPECTED_TOKEN",f),p=!1}}return u??(u=cs(t,e.offset,void 0,null,s,r)),a&&u.anchor===""&&r(a,"BAD_ALIAS","Anchor cannot be an empty string"),n&&t.options.stringKeys&&(!F(u)||typeof u.value!="string"||u.tag&&u.tag!=="tag:yaml.org,2002:str")&&r(c??e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),i&&(u.spaceBefore=!0),o&&(e.type==="scalar"&&e.source===""?u.comment=o:u.commentBefore=o),t.options.keepSourceTokens&&p&&(u.srcToken=e),u}function cs(t,e,s,r,{spaceBefore:n,comment:i,anchor:o,tag:a,end:c},u){let p={type:"scalar",offset:Br(e,s,r),indent:-1,source:""},f=Gs(t,p,a,u);return o&&(f.anchor=o.source.substring(1),f.anchor===""&&u(o,"BAD_ALIAS","Anchor cannot be an empty string")),n&&(f.spaceBefore=!0),i&&(f.comment=i,f.range[2]=c),f}function Zn({options:t},{offset:e,source:s,end:r},n){let i=new Le(s.substring(1));i.source===""&&n(e,"BAD_ALIAS","Alias cannot be an empty string"),i.source.endsWith(":")&&n(e+s.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+s.length,a=Ce(r,o,t.strict,n);return i.range=[e,o,a.offset],a.comment&&(i.comment=a.comment),i}function jr(t,e,{offset:s,start:r,value:n,end:i},o){let a=Object.assign({_directives:e},t),c=new Fe(void 0,a),u={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},p=Ee(r,{indicator:"doc-start",next:n??i?.[0],offset:s,onError:o,parentIndent:0,startOnNewline:!0});p.found&&(c.directives.docStart=!0,n&&(n.type==="block-map"||n.type==="block-seq")&&!p.hasNewline&&o(p.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=n?Vs(u,n,p,o):cs(u,p.end,r,null,p,o);let f=c.contents.range[2],l=Ce(i,f,!1,o);return l.comment&&(c.comment=l.comment),c.range=[s,f,l.offset],c}function It(t){if(typeof t=="number")return[t,t+1];if(Array.isArray(t))return t.length===2?t:[t[0],t[1]];let{offset:e,source:s}=t;return[e,e+(typeof s=="string"?s.length:1)]}function Ur(t){let e="",s=!1,r=!1;for(let n=0;n<t.length;++n){let i=t[n];switch(i[0]){case"#":e+=(e===""?"":r?`
96
+ `),t+=1,r=e[t+1];return s||(s=" "),{fold:s,offset:t}}var Qn={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
97
+ `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function zn(e,t,s,r){let n=e.substr(t,s),o=n.length===s&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;try{return String.fromCodePoint(o)}catch{let a=e.substr(t-2,s+2);return r(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}}function Vs(e,t,s,r){let{value:n,type:i,comment:o,range:a}=t.type==="block-scalar"?Gs(e,t,r):Ws(t,e.options.strict,r),c=s?e.directives.tagName(s.source,f=>r(s,"TAG_RESOLVE_FAILED",f)):null,u;e.options.stringKeys&&e.atKey?u=e.schema[ce]:c?u=Zn(e.schema,n,c,s,r):t.type==="scalar"?u=xn(e,n,t,r):u=e.schema[ce];let p;try{let f=u.resolve(n,l=>r(s??t,"TAG_RESOLVE_FAILED",l),e.options);p=F(f)?f:new C(f)}catch(f){let l=f instanceof Error?f.message:String(f);r(s??t,"TAG_RESOLVE_FAILED",l),p=new C(n)}return p.range=a,p.source=n,i&&(p.type=i),c&&(p.tag=c),u.format&&(p.format=u.format),o&&(p.comment=o),p}function Zn(e,t,s,r,n){if(s==="!")return e[ce];let i=[];for(let a of e.tags)if(!a.collection&&a.tag===s)if(a.default&&a.test)i.push(a);else return a;for(let a of i)if(a.test?.test(t))return a;let o=e.knownTags[s];return o&&!o.collection?(e.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(n(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${s}`,s!=="tag:yaml.org,2002:str"),e[ce])}function xn({atKey:e,directives:t,schema:s},r,n,i){let o=s.tags.find(a=>(a.default===!0||e&&a.default==="key")&&a.test?.test(r))||s[ce];if(s.compat){let a=s.compat.find(c=>c.default&&c.test?.test(r))??s[ce];if(o.tag!==a.tag){let c=t.tagString(o.tag),u=t.tagString(a.tag),p=`Value may be parsed as either ${c} or ${u}`;i(n,"TAG_RESOLVE_FAILED",p,!0)}}return o}function jr(e,t,s){if(t){s??(s=t.length);for(let r=s-1;r>=0;--r){let n=t[r];switch(n.type){case"space":case"comment":case"newline":e-=n.source.length;continue}for(n=t[++r];n?.type==="space";)e+=n.source.length,n=t[++r];break}}return e}var ei={composeNode:qs,composeEmptyNode:as};function qs(e,t,s,r){let n=e.atKey,{spaceBefore:i,comment:o,anchor:a,tag:c}=s,u,p=!0;switch(t.type){case"alias":u=ti(e,t,r),(a||c)&&r(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":u=Vs(e,t,c,r),a&&(u.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{u=Dr(ei,e,t,s,r),a&&(u.anchor=a.source.substring(1))}catch(f){let l=f instanceof Error?f.message:String(f);r(t,"RESOURCE_EXHAUSTION",l)}break;default:{let f=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;r(t,"UNEXPECTED_TOKEN",f),p=!1}}return u??(u=as(e,t.offset,void 0,null,s,r)),a&&u.anchor===""&&r(a,"BAD_ALIAS","Anchor cannot be an empty string"),n&&e.options.stringKeys&&(!F(u)||typeof u.value!="string"||u.tag&&u.tag!=="tag:yaml.org,2002:str")&&r(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),i&&(u.spaceBefore=!0),o&&(t.type==="scalar"&&t.source===""?u.comment=o:u.commentBefore=o),e.options.keepSourceTokens&&p&&(u.srcToken=t),u}function as(e,t,s,r,{spaceBefore:n,comment:i,anchor:o,tag:a,end:c},u){let p={type:"scalar",offset:jr(t,s,r),indent:-1,source:""},f=Vs(e,p,a,u);return o&&(f.anchor=o.source.substring(1),f.anchor===""&&u(o,"BAD_ALIAS","Anchor cannot be an empty string")),n&&(f.spaceBefore=!0),i&&(f.comment=i,f.range[2]=c),f}function ti({options:e},{offset:t,source:s,end:r},n){let i=new _e(s.substring(1));i.source===""&&n(t,"BAD_ALIAS","Alias cannot be an empty string"),i.source.endsWith(":")&&n(t+s.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=t+s.length,a=Pe(r,o,e.strict,n);return i.range=[t,o,a.offset],a.comment&&(i.comment=a.comment),i}function Kr(e,t,{offset:s,start:r,value:n,end:i},o){let a=Object.assign({_directives:t},e),c=new De(void 0,a),u={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},p=Ce(r,{indicator:"doc-start",next:n??i?.[0],offset:s,onError:o,parentIndent:0,startOnNewline:!0});p.found&&(c.directives.docStart=!0,n&&(n.type==="block-map"||n.type==="block-seq")&&!p.hasNewline&&o(p.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=n?qs(u,n,p,o):as(u,p.end,r,null,p,o);let f=c.contents.range[2],l=Pe(i,f,!1,o);return l.comment&&(c.comment=l.comment),c.range=[s,f,l.offset],c}function $t(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:s}=e;return[t,t+(typeof s=="string"?s.length:1)]}function Ur(e){let t="",s=!1,r=!1;for(let n=0;n<e.length;++n){let i=e[n];switch(i[0]){case"#":t+=(t===""?"":r?`
98
98
 
99
99
  `:`
100
- `)+(i.substring(1)||" "),s=!0,r=!1;break;case"%":t[n+1]?.[0]!=="#"&&(n+=1),s=!1;break;default:s||(r=!0),s=!1}}return{comment:e,afterEmptyLine:r}}var At=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(s,r,n,i)=>{let o=It(s);i?this.warnings.push(new kt(o,r,n)):this.errors.push(new Se(o,r,n))},this.directives=new Ne({version:e.version||"1.2"}),this.options=e}decorate(e,s){let{comment:r,afterEmptyLine:n}=Ur(this.prelude);if(r){let i=e.contents;if(s)e.comment=e.comment?`${e.comment}
101
- ${r}`:r;else if(n||e.directives.docStart||!i)e.commentBefore=r;else if(G(i)&&!i.flow&&i.items.length>0){let o=i.items[0];B(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${r}
100
+ `)+(i.substring(1)||" "),s=!0,r=!1;break;case"%":e[n+1]?.[0]!=="#"&&(n+=1),s=!1;break;default:s||(r=!0),s=!1}}return{comment:t,afterEmptyLine:r}}var It=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(s,r,n,i)=>{let o=$t(s);i?this.warnings.push(new St(o,r,n)):this.errors.push(new Se(o,r,n))},this.directives=new Ee({version:t.version||"1.2"}),this.options=t}decorate(t,s){let{comment:r,afterEmptyLine:n}=Ur(this.prelude);if(r){let i=t.contents;if(s)t.comment=t.comment?`${t.comment}
101
+ ${r}`:r;else if(n||t.directives.docStart||!i)t.commentBefore=r;else if(G(i)&&!i.flow&&i.items.length>0){let o=i.items[0];D(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${r}
102
102
  ${a}`:r}else{let o=i.commentBefore;i.commentBefore=o?`${r}
103
- ${o}`:r}}if(s){for(let i=0;i<this.errors.length;++i)e.errors.push(this.errors[i]);for(let i=0;i<this.warnings.length;++i)e.warnings.push(this.warnings[i])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Ur(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,s=!1,r=-1){for(let n of e)yield*this.next(n);yield*this.end(s,r)}*next(e){switch(e.type){case"directive":this.directives.add(e.source,(s,r,n)=>{let i=It(e);i[0]+=s,this.onError(i,"BAD_DIRECTIVE",r,n)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let s=jr(this.options,this.directives,e,this.onError);this.atDirectives&&!s.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(s,!1),this.doc&&(yield this.doc),this.doc=s,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let s=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,r=new Se(It(e),"UNEXPECTED_TOKEN",s);this.atDirectives||!this.doc?this.errors.push(r):this.doc.errors.push(r);break}case"doc-end":{if(!this.doc){let r="Unexpected doc-end without preceding document";this.errors.push(new Se(It(e),"UNEXPECTED_TOKEN",r));break}this.doc.directives.docEnd=!0;let s=Ce(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),s.comment){let r=this.doc.comment;this.doc.comment=r?`${r}
104
- ${s.comment}`:s.comment}this.doc.range[2]=s.offset;break}default:this.errors.push(new Se(It(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,s=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let r=Object.assign({_directives:this.directives},this.options),n=new Fe(void 0,r);this.atDirectives&&this.onError(s,"MISSING_CHAR","Missing directives-end indicator line"),n.range=[0,s,s],this.decorate(n,!1),yield n}}};var qs=Symbol("break visit"),xn=Symbol("skip children"),Kr=Symbol("remove item");function He(t,e){"type"in t&&t.type==="document"&&(t={start:t.start,value:t.value}),Gr(Object.freeze([]),t,e)}He.BREAK=qs;He.SKIP=xn;He.REMOVE=Kr;He.itemAtPath=(t,e)=>{let s=t;for(let[r,n]of e){let i=s?.[r];if(i&&"items"in i)s=i.items[n];else return}return s};He.parentCollection=(t,e)=>{let s=He.itemAtPath(t,e.slice(0,-1)),r=e[e.length-1][0],n=s?.[r];if(n&&"items"in n)return n;throw new Error("Parent collection not found")};function Gr(t,e,s){let r=s(e,t);if(typeof r=="symbol")return r;for(let n of["key","value"]){let i=e[n];if(i&&"items"in i){for(let o=0;o<i.items.length;++o){let a=Gr(Object.freeze(t.concat([[n,o]])),i.items[o],s);if(typeof a=="number")o=a-1;else{if(a===qs)return qs;a===Kr&&(i.items.splice(o,1),o-=1)}}typeof r=="function"&&n==="key"&&(r=r(e,t))}}return typeof r=="function"?r(e,t):r}var Ws="\uFEFF",Hs="",Ys="",ls="";function Vr(t){switch(t){case Ws:return"byte-order-mark";case Hs:return"doc-mode";case Ys:return"flow-error-end";case ls:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
103
+ ${o}`:r}}if(s){for(let i=0;i<this.errors.length;++i)t.errors.push(this.errors[i]);for(let i=0;i<this.warnings.length;++i)t.warnings.push(this.warnings[i])}else t.errors=this.errors,t.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Ur(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(t,s=!1,r=-1){for(let n of t)yield*this.next(n);yield*this.end(s,r)}*next(t){switch(t.type){case"directive":this.directives.add(t.source,(s,r,n)=>{let i=$t(t);i[0]+=s,this.onError(i,"BAD_DIRECTIVE",r,n)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let s=Kr(this.options,this.directives,t,this.onError);this.atDirectives&&!s.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(s,!1),this.doc&&(yield this.doc),this.doc=s,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{let s=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,r=new Se($t(t),"UNEXPECTED_TOKEN",s);this.atDirectives||!this.doc?this.errors.push(r):this.doc.errors.push(r);break}case"doc-end":{if(!this.doc){let r="Unexpected doc-end without preceding document";this.errors.push(new Se($t(t),"UNEXPECTED_TOKEN",r));break}this.doc.directives.docEnd=!0;let s=Pe(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),s.comment){let r=this.doc.comment;this.doc.comment=r?`${r}
104
+ ${s.comment}`:s.comment}this.doc.range[2]=s.offset;break}default:this.errors.push(new Se($t(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,s=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){let r=Object.assign({_directives:this.directives},this.options),n=new De(void 0,r);this.atDirectives&&this.onError(s,"MISSING_CHAR","Missing directives-end indicator line"),n.range=[0,s,s],this.decorate(n,!1),yield n}}};var Hs=Symbol("break visit"),si=Symbol("skip children"),Gr=Symbol("remove item");function Ye(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),Wr(Object.freeze([]),e,t)}Ye.BREAK=Hs;Ye.SKIP=si;Ye.REMOVE=Gr;Ye.itemAtPath=(e,t)=>{let s=e;for(let[r,n]of t){let i=s?.[r];if(i&&"items"in i)s=i.items[n];else return}return s};Ye.parentCollection=(e,t)=>{let s=Ye.itemAtPath(e,t.slice(0,-1)),r=t[t.length-1][0],n=s?.[r];if(n&&"items"in n)return n;throw new Error("Parent collection not found")};function Wr(e,t,s){let r=s(t,e);if(typeof r=="symbol")return r;for(let n of["key","value"]){let i=t[n];if(i&&"items"in i){for(let o=0;o<i.items.length;++o){let a=Wr(Object.freeze(e.concat([[n,o]])),i.items[o],s);if(typeof a=="number")o=a-1;else{if(a===Hs)return Hs;a===Gr&&(i.items.splice(o,1),o-=1)}}typeof r=="function"&&n==="key"&&(r=r(t,e))}}return typeof r=="function"?r(t,e):r}var Ys="\uFEFF",Js="",Xs="",cs="";function Vr(e){switch(e){case Ys:return"byte-order-mark";case Js:return"doc-mode";case Xs:return"flow-error-end";case cs:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
105
105
  `:case`\r
106
- `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(t[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}function ke(t){switch(t){case void 0:case" ":case`
107
- `:case"\r":case" ":return!0;default:return!1}}var qr=new Set("0123456789ABCDEFabcdef"),ti=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),us=new Set(",[]{}"),si=new Set(` ,[]{}
108
- \r `),Js=t=>!t||si.has(t),Nt=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,s=!1){if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!s;let r=this.next??"stream";for(;r&&(s||this.hasChars(1));)r=yield*this.parseNext(r)}atLineEnd(){let e=this.pos,s=this.buffer[e];for(;s===" "||s===" ";)s=this.buffer[++e];return!s||s==="#"||s===`
109
- `?!0:s==="\r"?this.buffer[e+1]===`
110
- `:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let s=this.buffer[e];if(this.indentNext>0){let r=0;for(;s===" ";)s=this.buffer[++r+e];if(s==="\r"){let n=this.buffer[r+e+1];if(n===`
111
- `||!n&&!this.atEnd)return e+r+1}return s===`
112
- `||r>=this.indentNext||!s&&!this.atEnd?e+r:-1}if(s==="-"||s==="."){let r=this.buffer.substr(e,3);if((r==="---"||r==="...")&&ke(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
113
- `,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===Ws&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let s=e.length,r=e.indexOf("#");for(;r!==-1;){let i=e[r-1];if(i===" "||i===" "){s=r-1;break}else r=e.indexOf("#",r+1)}for(;;){let i=e[s-1];if(i===" "||i===" ")s-=1;else break}let n=(yield*this.pushCount(s))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-n),this.pushNewline(),"stream"}if(this.atLineEnd()){let s=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-s),yield*this.pushNewline(),"stream"}return yield Hs,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if(e==="-"||e==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let s=this.peek(3);if((s==="---"||s==="...")&&ke(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,s==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!ke(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,s]=this.peek(2);if(!s&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&ke(s)){let r=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=r,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let s=yield*this.pushIndicators();switch(e[s]){case"#":yield*this.pushCount(e.length-s);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Js),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return s+=yield*this.parseBlockScalarHeader(),s+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-s),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,s,r=-1;do e=yield*this.pushNewline(),e>0?(s=yield*this.pushSpaces(!1),this.indentValue=r=s):s=0,s+=yield*this.pushSpaces(!0);while(e+s>0);let n=this.getLine();if(n===null)return this.setNext("flow");if((r!==-1&&r<this.indentNext&&n[0]!=="#"||r===0&&(n.startsWith("---")||n.startsWith("..."))&&ke(n[3]))&&!(r===this.indentNext-1&&this.flowLevel===1&&(n[0]==="]"||n[0]==="}")))return this.flowLevel=0,yield Ys,yield*this.parseLineStart();let i=0;for(;n[i]===",";)i+=yield*this.pushCount(1),i+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(i+=yield*this.pushIndicators(),n[i]){case void 0:return"flow";case"#":return yield*this.pushCount(n.length-i),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(Js),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||ke(o)||o===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),s=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;s!==-1&&this.buffer[s+1]==="'";)s=this.buffer.indexOf("'",s+2);else for(;s!==-1;){let i=0;for(;this.buffer[s-1-i]==="\\";)i+=1;if(i%2===0)break;s=this.buffer.indexOf('"',s+1)}let r=this.buffer.substring(0,s),n=r.indexOf(`
106
+ `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}function ke(e){switch(e){case void 0:case" ":case`
107
+ `:case"\r":case" ":return!0;default:return!1}}var qr=new Set("0123456789ABCDEFabcdef"),ni=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),ls=new Set(",[]{}"),ii=new Set(` ,[]{}
108
+ \r `),Qs=e=>!e||ii.has(e),At=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,s=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!s;let r=this.next??"stream";for(;r&&(s||this.hasChars(1));)r=yield*this.parseNext(r)}atLineEnd(){let t=this.pos,s=this.buffer[t];for(;s===" "||s===" ";)s=this.buffer[++t];return!s||s==="#"||s===`
109
+ `?!0:s==="\r"?this.buffer[t+1]===`
110
+ `:!1}charAt(t){return this.buffer[this.pos+t]}continueScalar(t){let s=this.buffer[t];if(this.indentNext>0){let r=0;for(;s===" ";)s=this.buffer[++r+t];if(s==="\r"){let n=this.buffer[r+t+1];if(n===`
111
+ `||!n&&!this.atEnd)return t+r+1}return s===`
112
+ `||r>=this.indentNext||!s&&!this.atEnd?t+r:-1}if(s==="-"||s==="."){let r=this.buffer.substr(t,3);if((r==="---"||r==="...")&&ke(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&t<this.pos)&&(t=this.buffer.indexOf(`
113
+ `,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=t,null}peek(t){return this.buffer.substr(this.pos,t)}*parseNext(t){switch(t){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let t=this.getLine();if(t===null)return this.setNext("stream");if(t[0]===Ys&&(yield*this.pushCount(1),t=t.substring(1)),t[0]==="%"){let s=t.length,r=t.indexOf("#");for(;r!==-1;){let i=t[r-1];if(i===" "||i===" "){s=r-1;break}else r=t.indexOf("#",r+1)}for(;;){let i=t[s-1];if(i===" "||i===" ")s-=1;else break}let n=(yield*this.pushCount(s))+(yield*this.pushSpaces(!0));return yield*this.pushCount(t.length-n),this.pushNewline(),"stream"}if(this.atLineEnd()){let s=yield*this.pushSpaces(!0);return yield*this.pushCount(t.length-s),yield*this.pushNewline(),"stream"}return yield Js,yield*this.parseLineStart()}*parseLineStart(){let t=this.charAt(0);if(!t&&!this.atEnd)return this.setNext("line-start");if(t==="-"||t==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let s=this.peek(3);if((s==="---"||s==="...")&&ke(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,s==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!ke(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[t,s]=this.peek(2);if(!s&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&ke(s)){let r=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=r,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let t=this.getLine();if(t===null)return this.setNext("doc");let s=yield*this.pushIndicators();switch(t[s]){case"#":yield*this.pushCount(t.length-s);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Qs),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return s+=yield*this.parseBlockScalarHeader(),s+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-s),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,s,r=-1;do t=yield*this.pushNewline(),t>0?(s=yield*this.pushSpaces(!1),this.indentValue=r=s):s=0,s+=yield*this.pushSpaces(!0);while(t+s>0);let n=this.getLine();if(n===null)return this.setNext("flow");if((r!==-1&&r<this.indentNext&&n[0]!=="#"||r===0&&(n.startsWith("---")||n.startsWith("..."))&&ke(n[3]))&&!(r===this.indentNext-1&&this.flowLevel===1&&(n[0]==="]"||n[0]==="}")))return this.flowLevel=0,yield Xs,yield*this.parseLineStart();let i=0;for(;n[i]===",";)i+=yield*this.pushCount(1),i+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(i+=yield*this.pushIndicators(),n[i]){case void 0:return"flow";case"#":return yield*this.pushCount(n.length-i),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(Qs),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||ke(o)||o===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let t=this.charAt(0),s=this.buffer.indexOf(t,this.pos+1);if(t==="'")for(;s!==-1&&this.buffer[s+1]==="'";)s=this.buffer.indexOf("'",s+2);else for(;s!==-1;){let i=0;for(;this.buffer[s-1-i]==="\\";)i+=1;if(i%2===0)break;s=this.buffer.indexOf('"',s+1)}let r=this.buffer.substring(0,s),n=r.indexOf(`
114
114
  `,this.pos);if(n!==-1){for(;n!==-1;){let i=this.continueScalar(n+1);if(i===-1)break;n=r.indexOf(`
115
- `,i)}n!==-1&&(s=n-(r[n-1]==="\r"?2:1))}if(s===-1){if(!this.atEnd)return this.setNext("quoted-scalar");s=this.buffer.length}return yield*this.pushToIndex(s+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let s=this.buffer[++e];if(s==="+")this.blockScalarKeep=!0;else if(s>"0"&&s<="9")this.blockScalarIndent=Number(s)-1;else if(s!=="-")break}return yield*this.pushUntil(s=>ke(s)||s==="#")}*parseBlockScalar(){let e=this.pos-1,s=0,r;e:for(let i=this.pos;r=this.buffer[i];++i)switch(r){case" ":s+=1;break;case`
116
- `:e=i,s=0;break;case"\r":{let o=this.buffer[i+1];if(!o&&!this.atEnd)return this.setNext("block-scalar");if(o===`
117
- `)break}default:break e}if(!r&&!this.atEnd)return this.setNext("block-scalar");if(s>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=s:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let i=this.continueScalar(e+1);if(i===-1)break;e=this.buffer.indexOf(`
118
- `,i)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let n=e+1;for(r=this.buffer[n];r===" ";)r=this.buffer[++n];if(r===" "){for(;r===" "||r===" "||r==="\r"||r===`
119
- `;)r=this.buffer[++n];e=n-1}else if(!this.blockScalarKeep)do{let i=e-1,o=this.buffer[i];o==="\r"&&(o=this.buffer[--i]);let a=i;for(;o===" ";)o=this.buffer[--i];if(o===`
120
- `&&i>=this.pos&&i+1+s>a)e=i;else break}while(!0);return yield ls,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,s=this.pos-1,r=this.pos-1,n;for(;n=this.buffer[++r];)if(n===":"){let i=this.buffer[r+1];if(ke(i)||e&&us.has(i))break;s=r}else if(ke(n)){let i=this.buffer[r+1];if(n==="\r"&&(i===`
115
+ `,i)}n!==-1&&(s=n-(r[n-1]==="\r"?2:1))}if(s===-1){if(!this.atEnd)return this.setNext("quoted-scalar");s=this.buffer.length}return yield*this.pushToIndex(s+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let t=this.pos;for(;;){let s=this.buffer[++t];if(s==="+")this.blockScalarKeep=!0;else if(s>"0"&&s<="9")this.blockScalarIndent=Number(s)-1;else if(s!=="-")break}return yield*this.pushUntil(s=>ke(s)||s==="#")}*parseBlockScalar(){let t=this.pos-1,s=0,r;e:for(let i=this.pos;r=this.buffer[i];++i)switch(r){case" ":s+=1;break;case`
116
+ `:t=i,s=0;break;case"\r":{let o=this.buffer[i+1];if(!o&&!this.atEnd)return this.setNext("block-scalar");if(o===`
117
+ `)break}default:break e}if(!r&&!this.atEnd)return this.setNext("block-scalar");if(s>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=s:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let i=this.continueScalar(t+1);if(i===-1)break;t=this.buffer.indexOf(`
118
+ `,i)}while(t!==-1);if(t===-1){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}let n=t+1;for(r=this.buffer[n];r===" ";)r=this.buffer[++n];if(r===" "){for(;r===" "||r===" "||r==="\r"||r===`
119
+ `;)r=this.buffer[++n];t=n-1}else if(!this.blockScalarKeep)do{let i=t-1,o=this.buffer[i];o==="\r"&&(o=this.buffer[--i]);let a=i;for(;o===" ";)o=this.buffer[--i];if(o===`
120
+ `&&i>=this.pos&&i+1+s>a)t=i;else break}while(!0);return yield cs,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let t=this.flowLevel>0,s=this.pos-1,r=this.pos-1,n;for(;n=this.buffer[++r];)if(n===":"){let i=this.buffer[r+1];if(ke(i)||t&&ls.has(i))break;s=r}else if(ke(n)){let i=this.buffer[r+1];if(n==="\r"&&(i===`
121
121
  `?(r+=1,n=`
122
- `,i=this.buffer[r+1]):s=r),i==="#"||e&&us.has(i))break;if(n===`
123
- `){let o=this.continueScalar(r+1);if(o===-1)break;r=Math.max(r,o-2)}}else{if(e&&us.has(n))break;s=r}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield ls,yield*this.pushToIndex(s+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,s){let r=this.buffer.slice(this.pos,e);return r?(yield r,this.pos+=r.length,r.length):(s&&(yield""),0)}*pushIndicators(){let e=0;e:for(;;){switch(this.charAt(0)){case"!":e+=yield*this.pushTag(),e+=yield*this.pushSpaces(!0);continue e;case"&":e+=yield*this.pushUntil(Js),e+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let s=this.flowLevel>0,r=this.charAt(1);if(ke(r)||s&&us.has(r)){s?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,e+=yield*this.pushCount(1),e+=yield*this.pushSpaces(!0);continue e}}}break e}return e}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,s=this.buffer[e];for(;!ke(s)&&s!==">";)s=this.buffer[++e];return yield*this.pushToIndex(s===">"?e+1:e,!1)}else{let e=this.pos+1,s=this.buffer[e];for(;s;)if(ti.has(s))s=this.buffer[++e];else if(s==="%"&&qr.has(this.buffer[e+1])&&qr.has(this.buffer[e+2]))s=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
124
- `?yield*this.pushCount(1):e==="\r"&&this.charAt(1)===`
125
- `?yield*this.pushCount(2):0}*pushSpaces(e){let s=this.pos-1,r;do r=this.buffer[++s];while(r===" "||e&&r===" ");let n=s-this.pos;return n>0&&(yield this.buffer.substr(this.pos,n),this.pos=s),n}*pushUntil(e){let s=this.pos,r=this.buffer[s];for(;!e(r);)r=this.buffer[++s];return yield*this.pushToIndex(s,!1)}};var Ot=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let s=0,r=this.lineStarts.length;for(;s<r;){let i=s+r>>1;this.lineStarts[i]<e?s=i+1:r=i}if(this.lineStarts[s]===e)return{line:s+1,col:1};if(s===0)return{line:0,col:e};let n=this.lineStarts[s-1];return{line:s,col:e-n+1}}}};function Ge(t,e){for(let s=0;s<t.length;++s)if(t[s].type===e)return!0;return!1}function Wr(t){for(let e=0;e<t.length;++e)switch(t[e].type){case"space":case"comment":case"newline":break;default:return e}return-1}function Yr(t){switch(t?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function fs(t){switch(t.type){case"document":return t.start;case"block-map":{let e=t.items[t.items.length-1];return e.sep??e.start}case"block-seq":return t.items[t.items.length-1].start;default:return[]}}function it(t){if(t.length===0)return[];let e=t.length;e:for(;--e>=0;)switch(t[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;t[++e]?.type==="space";);return t.splice(e,t.length)}function ps(t,e){if(e.length<1e5)Array.prototype.push.apply(t,e);else for(let s=0;s<e.length;++s)t.push(e[s])}function Hr(t){if(t.start.type==="flow-seq-start")for(let e of t.items)e.sep&&!e.value&&!Ge(e.start,"explicit-key-ind")&&!Ge(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,Yr(e.value)?e.value.end?ps(e.value.end,e.sep):e.value.end=e.sep:ps(e.start,e.sep),delete e.sep)}var Et=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new Nt,this.onNewLine=e}*parse(e,s=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let r of this.lexer.lex(e,s))yield*this.next(r);s||(yield*this.end())}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let s=Vr(e);if(s)if(s==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=s,yield*this.step(),s){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let r=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:r,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let s=e??this.stack.pop();if(!s)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield s;else{let r=this.peek(1);switch(s.type==="block-scalar"?s.indent="indent"in r?r.indent:0:s.type==="flow-collection"&&r.type==="document"&&(s.indent=0),s.type==="flow-collection"&&Hr(s),r.type){case"document":r.value=s;break;case"block-scalar":r.props.push(s);break;case"block-map":{let n=r.items[r.items.length-1];if(n.value){r.items.push({start:[],key:s,sep:[]}),this.onKeyLine=!0;return}else if(n.sep)n.value=s;else{Object.assign(n,{key:s,sep:[]}),this.onKeyLine=!n.explicitKey;return}break}case"block-seq":{let n=r.items[r.items.length-1];n.value?r.items.push({start:[],value:s}):n.value=s;break}case"flow-collection":{let n=r.items[r.items.length-1];!n||n.value?r.items.push({start:[],key:s,sep:[]}):n.sep?n.value=s:Object.assign(n,{key:s,sep:[]});return}default:yield*this.pop(),yield*this.pop(s)}if((r.type==="document"||r.type==="block-map"||r.type==="block-seq")&&(s.type==="block-map"||s.type==="block-seq")){let n=s.items[s.items.length-1];n&&!n.sep&&!n.value&&n.start.length>0&&Wr(n.start)===-1&&(s.indent===0||n.start.every(i=>i.type!=="comment"||i.indent<s.indent))&&(r.type==="document"?r.end=n.start:r.items.push({start:n.start}),s.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let e={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":{Wr(e.start)!==-1?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}let s=this.startBlockValue(e);s?this.stack.push(s):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type==="map-value-ind"){let s=fs(this.peek(2)),r=it(s),n;e.end?(n=e.end,n.push(this.sourceToken),delete e.end):n=[this.sourceToken];let i={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:r,key:e,sep:n}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let s=this.source.indexOf(`
122
+ `,i=this.buffer[r+1]):s=r),i==="#"||t&&ls.has(i))break;if(n===`
123
+ `){let o=this.continueScalar(r+1);if(o===-1)break;r=Math.max(r,o-2)}}else{if(t&&ls.has(n))break;s=r}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield cs,yield*this.pushToIndex(s+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,s){let r=this.buffer.slice(this.pos,t);return r?(yield r,this.pos+=r.length,r.length):(s&&(yield""),0)}*pushIndicators(){let t=0;e:for(;;){switch(this.charAt(0)){case"!":t+=yield*this.pushTag(),t+=yield*this.pushSpaces(!0);continue e;case"&":t+=yield*this.pushUntil(Qs),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let s=this.flowLevel>0,r=this.charAt(1);if(ke(r)||s&&ls.has(r)){s?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,t+=yield*this.pushCount(1),t+=yield*this.pushSpaces(!0);continue e}}}break e}return t}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,s=this.buffer[t];for(;!ke(s)&&s!==">";)s=this.buffer[++t];return yield*this.pushToIndex(s===">"?t+1:t,!1)}else{let t=this.pos+1,s=this.buffer[t];for(;s;)if(ni.has(s))s=this.buffer[++t];else if(s==="%"&&qr.has(this.buffer[t+1])&&qr.has(this.buffer[t+2]))s=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){let t=this.buffer[this.pos];return t===`
124
+ `?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===`
125
+ `?yield*this.pushCount(2):0}*pushSpaces(t){let s=this.pos-1,r;do r=this.buffer[++s];while(r===" "||t&&r===" ");let n=s-this.pos;return n>0&&(yield this.buffer.substr(this.pos,n),this.pos=s),n}*pushUntil(t){let s=this.pos,r=this.buffer[s];for(;!t(r);)r=this.buffer[++s];return yield*this.pushToIndex(s,!1)}};var Ot=class{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let s=0,r=this.lineStarts.length;for(;s<r;){let i=s+r>>1;this.lineStarts[i]<t?s=i+1:r=i}if(this.lineStarts[s]===t)return{line:s+1,col:1};if(s===0)return{line:0,col:t};let n=this.lineStarts[s-1];return{line:s,col:t-n+1}}}};function We(e,t){for(let s=0;s<e.length;++s)if(e[s].type===t)return!0;return!1}function Hr(e){for(let t=0;t<e.length;++t)switch(e[t].type){case"space":case"comment":case"newline":break;default:return t}return-1}function Jr(e){switch(e?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function us(e){switch(e.type){case"document":return e.start;case"block-map":{let t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function it(e){if(e.length===0)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function fs(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let s=0;s<t.length;++s)e.push(t[s])}function Yr(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!We(t.start,"explicit-key-ind")&&!We(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,Jr(t.value)?t.value.end?fs(t.value.end,t.sep):t.value.end=t.sep:fs(t.start,t.sep),delete t.sep)}var Et=class{constructor(t){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new At,this.onNewLine=t}*parse(t,s=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let r of this.lexer.lex(t,s))yield*this.next(r);s||(yield*this.end())}*next(t){if(this.source=t,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let s=Vr(t);if(s)if(s==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=s,yield*this.step(),s){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+t.length);break;case"space":this.atNewLine&&t[0]===" "&&(this.indent+=t.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=t.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=t.length}else{let r=`Not a YAML token: ${t}`;yield*this.pop({type:"error",offset:this.offset,message:r,source:t}),this.offset+=t.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let t=this.peek(1);if(this.type==="doc-end"&&t?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){let s=t??this.stack.pop();if(!s)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield s;else{let r=this.peek(1);switch(s.type==="block-scalar"?s.indent="indent"in r?r.indent:0:s.type==="flow-collection"&&r.type==="document"&&(s.indent=0),s.type==="flow-collection"&&Yr(s),r.type){case"document":r.value=s;break;case"block-scalar":r.props.push(s);break;case"block-map":{let n=r.items[r.items.length-1];if(n.value){r.items.push({start:[],key:s,sep:[]}),this.onKeyLine=!0;return}else if(n.sep)n.value=s;else{Object.assign(n,{key:s,sep:[]}),this.onKeyLine=!n.explicitKey;return}break}case"block-seq":{let n=r.items[r.items.length-1];n.value?r.items.push({start:[],value:s}):n.value=s;break}case"flow-collection":{let n=r.items[r.items.length-1];!n||n.value?r.items.push({start:[],key:s,sep:[]}):n.sep?n.value=s:Object.assign(n,{key:s,sep:[]});return}default:yield*this.pop(),yield*this.pop(s)}if((r.type==="document"||r.type==="block-map"||r.type==="block-seq")&&(s.type==="block-map"||s.type==="block-seq")){let n=s.items[s.items.length-1];n&&!n.sep&&!n.value&&n.start.length>0&&Hr(n.start)===-1&&(s.indent===0||n.start.every(i=>i.type!=="comment"||i.indent<s.indent))&&(r.type==="document"?r.end=n.start:r.items.push({start:n.start}),s.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let t={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&t.start.push(this.sourceToken),this.stack.push(t);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(t){if(t.value)return yield*this.lineEnd(t);switch(this.type){case"doc-start":{Hr(t.start)!==-1?(yield*this.pop(),yield*this.step()):t.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":t.start.push(this.sourceToken);return}let s=this.startBlockValue(t);s?this.stack.push(s):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(t){if(this.type==="map-value-ind"){let s=us(this.peek(2)),r=it(s),n;t.end?(n=t.end,n.push(this.sourceToken),delete t.end):n=[this.sourceToken];let i={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:r,key:t,sep:n}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(t)}*blockScalar(t){switch(this.type){case"space":case"comment":case"newline":t.props.push(this.sourceToken);return;case"scalar":if(t.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let s=this.source.indexOf(`
126
126
  `)+1;for(;s!==0;)this.onNewLine(this.offset+s),s=this.source.indexOf(`
127
- `,s)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let s=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,s.value){let r="end"in s.value?s.value.end:void 0;(Array.isArray(r)?r[r.length-1]:void 0)?.type==="comment"?r?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"space":case"comment":if(s.value)e.items.push({start:[this.sourceToken]});else if(s.sep)s.sep.push(this.sourceToken);else{if(this.atIndentedComment(s.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){ps(n,s.start),n.push(this.sourceToken),e.items.pop();return}}s.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let r=!this.onKeyLine&&this.indent===e.indent,n=r&&(s.sep||s.explicitKey)&&this.type!=="seq-item-ind",i=[];if(n&&s.sep&&!s.value){let o=[];for(let a=0;a<s.sep.length;++a){let c=s.sep[a];switch(c.type){case"newline":o.push(a);break;case"space":break;case"comment":c.indent>e.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(i=s.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":n||s.value?(i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0):s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"explicit-key-ind":!s.sep&&!s.explicitKey?(s.start.push(this.sourceToken),s.explicitKey=!0):n||s.value?(i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(s.explicitKey)if(s.sep)if(s.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Ge(s.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(Yr(s.key)&&!Ge(s.sep,"newline")){let o=it(s.start),a=s.key,c=s.sep;c.push(this.sourceToken),delete s.key,delete s.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:a,sep:c}]})}else i.length>0?s.sep=s.sep.concat(i,this.sourceToken):s.sep.push(this.sourceToken);else if(Ge(s.start,"newline"))Object.assign(s,{key:null,sep:[this.sourceToken]});else{let o=it(s.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else s.sep?s.value||n?e.items.push({start:i,key:null,sep:[this.sourceToken]}):Ge(s.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):s.sep.push(this.sourceToken):Object.assign(s,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);n||s.value?(e.items.push({start:i,key:o,sep:[]}),this.onKeyLine=!0):s.sep?this.stack.push(o):(Object.assign(s,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(e);if(o){if(o.type==="block-seq"){if(!s.explicitKey&&s.sep&&!Ge(s.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else r&&e.items.push({start:i});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let s=e.items[e.items.length-1];switch(this.type){case"newline":if(s.value){let r="end"in s.value?s.value.end:void 0;(Array.isArray(r)?r[r.length-1]:void 0)?.type==="comment"?r?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else s.start.push(this.sourceToken);return;case"space":case"comment":if(s.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(s.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){ps(n,s.start),n.push(this.sourceToken),e.items.pop();return}}s.start.push(this.sourceToken)}return;case"anchor":case"tag":if(s.value||this.indent<=e.indent)break;s.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;s.value||Ge(s.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):s.start.push(this.sourceToken);return}if(this.indent>e.indent){let r=this.startBlockValue(e);if(r){this.stack.push(r);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let s=e.items[e.items.length-1];if(this.type==="flow-error-end"){let r;do yield*this.pop(),r=this.peek(1);while(r?.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!s||s.sep?e.items.push({start:[this.sourceToken]}):s.start.push(this.sourceToken);return;case"map-value-ind":!s||s.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):s.sep?s.sep.push(this.sourceToken):Object.assign(s,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!s||s.value?e.items.push({start:[this.sourceToken]}):s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let n=this.flowScalar(this.type);!s||s.value?e.items.push({start:[],key:n,sep:[]}):s.sep?this.stack.push(n):Object.assign(s,{key:n,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let r=this.startBlockValue(e);r?this.stack.push(r):(yield*this.pop(),yield*this.step())}else{let r=this.peek(2);if(r.type==="block-map"&&(this.type==="map-value-ind"&&r.indent===e.indent||this.type==="newline"&&!r.items[r.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&r.type!=="flow-collection"){let n=fs(r),i=it(n);Hr(e);let o=e.end.splice(1,e.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:i,key:e,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let s=this.source.indexOf(`
127
+ `,s)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let s=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,s.value){let r="end"in s.value?s.value.end:void 0;(Array.isArray(r)?r[r.length-1]:void 0)?.type==="comment"?r?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"space":case"comment":if(s.value)t.items.push({start:[this.sourceToken]});else if(s.sep)s.sep.push(this.sourceToken);else{if(this.atIndentedComment(s.start,t.indent)){let n=t.items[t.items.length-2]?.value?.end;if(Array.isArray(n)){fs(n,s.start),n.push(this.sourceToken),t.items.pop();return}}s.start.push(this.sourceToken)}return}if(this.indent>=t.indent){let r=!this.onKeyLine&&this.indent===t.indent,n=r&&(s.sep||s.explicitKey)&&this.type!=="seq-item-ind",i=[];if(n&&s.sep&&!s.value){let o=[];for(let a=0;a<s.sep.length;++a){let c=s.sep[a];switch(c.type){case"newline":o.push(a);break;case"space":break;case"comment":c.indent>t.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(i=s.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":n||s.value?(i.push(this.sourceToken),t.items.push({start:i}),this.onKeyLine=!0):s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"explicit-key-ind":!s.sep&&!s.explicitKey?(s.start.push(this.sourceToken),s.explicitKey=!0):n||s.value?(i.push(this.sourceToken),t.items.push({start:i,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(s.explicitKey)if(s.sep)if(s.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(We(s.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(Jr(s.key)&&!We(s.sep,"newline")){let o=it(s.start),a=s.key,c=s.sep;c.push(this.sourceToken),delete s.key,delete s.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:a,sep:c}]})}else i.length>0?s.sep=s.sep.concat(i,this.sourceToken):s.sep.push(this.sourceToken);else if(We(s.start,"newline"))Object.assign(s,{key:null,sep:[this.sourceToken]});else{let o=it(s.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else s.sep?s.value||n?t.items.push({start:i,key:null,sep:[this.sourceToken]}):We(s.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):s.sep.push(this.sourceToken):Object.assign(s,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);n||s.value?(t.items.push({start:i,key:o,sep:[]}),this.onKeyLine=!0):s.sep?this.stack.push(o):(Object.assign(s,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(t);if(o){if(o.type==="block-seq"){if(!s.explicitKey&&s.sep&&!We(s.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else r&&t.items.push({start:i});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){let s=t.items[t.items.length-1];switch(this.type){case"newline":if(s.value){let r="end"in s.value?s.value.end:void 0;(Array.isArray(r)?r[r.length-1]:void 0)?.type==="comment"?r?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else s.start.push(this.sourceToken);return;case"space":case"comment":if(s.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(s.start,t.indent)){let n=t.items[t.items.length-2]?.value?.end;if(Array.isArray(n)){fs(n,s.start),n.push(this.sourceToken),t.items.pop();return}}s.start.push(this.sourceToken)}return;case"anchor":case"tag":if(s.value||this.indent<=t.indent)break;s.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;s.value||We(s.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):s.start.push(this.sourceToken);return}if(this.indent>t.indent){let r=this.startBlockValue(t);if(r){this.stack.push(r);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){let s=t.items[t.items.length-1];if(this.type==="flow-error-end"){let r;do yield*this.pop(),r=this.peek(1);while(r?.type==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!s||s.sep?t.items.push({start:[this.sourceToken]}):s.start.push(this.sourceToken);return;case"map-value-ind":!s||s.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):s.sep?s.sep.push(this.sourceToken):Object.assign(s,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!s||s.value?t.items.push({start:[this.sourceToken]}):s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let n=this.flowScalar(this.type);!s||s.value?t.items.push({start:[],key:n,sep:[]}):s.sep?this.stack.push(n):Object.assign(s,{key:n,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}let r=this.startBlockValue(t);r?this.stack.push(r):(yield*this.pop(),yield*this.step())}else{let r=this.peek(2);if(r.type==="block-map"&&(this.type==="map-value-ind"&&r.indent===t.indent||this.type==="newline"&&!r.items[r.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&r.type!=="flow-collection"){let n=us(r),i=it(n);Yr(t);let o=t.end.splice(1,t.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:i,key:t,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let s=this.source.indexOf(`
128
128
  `)+1;for(;s!==0;)this.onNewLine(this.offset+s),s=this.source.indexOf(`
129
- `,s)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let s=fs(e),r=it(s);return r.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let s=fs(e),r=it(s);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,s){return this.type!=="comment"||this.indent<=s?!1:e.every(r=>r.type==="newline"||r.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};function ri(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new Ot||null,prettyErrors:e}}function Jr(t,e={}){let{lineCounter:s,prettyErrors:r}=ri(e),n=new Et(s?.addNewLine),i=new At(e),o=null;for(let a of i.compose(n.parse(t),!0,t.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Se(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return r&&s&&(o.errors.forEach(Ms(t,s)),o.warnings.forEach(Ms(t,s))),o}function Xs(t,e,s){let r;typeof e=="function"?r=e:s===void 0&&e&&typeof e=="object"&&(s=e);let n=Jr(t,s);if(!n)return null;if(n.warnings.forEach(i=>Vt(n.options.logLevel,i)),n.errors.length>0){if(n.options.logLevel!=="silent")throw n.errors[0];n.errors=[]}return n.toJS(Object.assign({reviver:r},s))}function Qs(t,e,s){let r=null;if(typeof e=="function"||Array.isArray(e)?r=e:s===void 0&&e&&(s=e),typeof s=="string"&&(s=s.length),typeof s=="number"){let n=Math.round(s);s=n<1?void 0:n>8?{indent:8}:{indent:n}}if(t===void 0){let{keepUndefined:n}=s??e??{};if(!n)return}return me(t)&&!r?t.toString(s):new Fe(t,r,s).toString(s)}function rn(t){switch(t){case"ss":return"SS";case"ssr":return"SSR";case"vmess":return"VMess";case"vless":return"VLESS";case"trojan":return"Trojan";case"snell":return"Snell";case"http":return"HTTP";case"https":return"HTTPS";case"socks5":return"SOCKS5";case"wireguard":return"WireGuard";case"hysteria":return"Hysteria";case"hysteria2":return"Hysteria2";case"tuic":return"TUIC";case"anytls":return"AnyTLS";default:return"Unknown"}}var L={anytls:"AnyTLSProvider",http:"HTTPProvider",hysteria:"HysteriaProvider",hysteria2:"Hysteria2Provider",snell:"SnellProvider",socks:"SocksProvider",ss:"SSProvider",ssr:"SSRProvider",trojan:"TrojanProvider",tuic:"TUICProvider",v2ray:"V2RayProvider",wireguard:"WireGuardProvider"};function pe(){return{allowedIps:"0.0.0.0/0, ::/0",allowInsecure:void 0,alpn:[],alterId:0,authStr:"",ca:"",caStr:"",clientId:"",congestionControl:"",cwnd:0,disableMtuDiscovery:void 0,dnsServers:[],down:"",downSpeed:0,edge:"",encryptMethod:"",fakeType:"",fingerprint:"",flow:"",group:"",groupId:0,hopInterval:0,host:"",hostname:"",id:0,keepAlive:0,mtu:0,obfs:"",obfsParam:"",password:"",path:"",plugin:"",pluginOption:"",port:0,ports:"",preSharedKey:"",privateKey:"",protocol:"",protocolParam:"",publicKey:"",quicSecret:"",quicSecure:"",recvWindow:0,recvWindowConn:0,remark:"",selfIp:"",selfIpv6:"",serverName:"",shortId:"",snellVersion:0,sni:"",tcpFastOpen:void 0,testUrl:"",tls13:void 0,tlsSecure:!1,transferProtocol:"",type:"unknown",udp:void 0,underlyingProxy:"",up:"",upSpeed:0,userId:"",username:""}}var nn=(t=>(t.Clash="clash",t.ClashR="clashr",t.Surge="surge",t.Surfboard="surfboard",t.QuantumultX="quanx",t.Quantumult="quan",t.Loon="loon",t.Mellow="mellow",t.V2Ray="v2ray",t.Trojan="trojan",t.SSD="ssd",t.SSC="ss",t.SSSub="sssub",t.SSR="ssr",t.SingBox="singbox",t.Mixed="mixed",t.NodeList="nodelist",t.Auto="auto",t))(nn||{});function on(){return{addEmoji:!1,appendProxyType:!1,authorized:!1,autoCountry:!1,clashClassicalRuleset:!1,clashNewFieldName:!0,clashProxiesStyle:"flow",clashProxyGroupsStyle:"flow",clashScript:!1,countryResolver:void 0,dedupe:!1,emojiArray:[],enableRuleGenerator:!0,excludeCountries:[],excludeRemarks:[],filterDeprecated:!1,includeCountries:[],includeRemarks:[],managedConfigPrefix:"",nameRegexArray:[],nameRemove:[],nodeList:!1,overwriteOriginalRules:!0,quanxDevId:"",removeEmoji:!1,renameArray:[],skipCertVerify:void 0,sortFlag:!1,sortScript:"",surgeSsrPath:"",tfo:void 0,tls13:void 0,udp:void 0}}var Zs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var hs={};for(let t=0;t<Zs.length;t+=1)hs[Zs[t]]=t;hs["-"]=62;hs._=63;function ii(t){return new TextEncoder().encode(t)}function oi(t){return new TextDecoder("utf-8",{fatal:!1}).decode(t)}function ai(t,e){let s=ii(t),r="";for(let n=0;n<s.length;n+=3){let i=s[n],o=n+1<s.length?s[n+1]:0,a=n+2<s.length?s[n+2]:0,c=i<<16|o<<8|a;r+=e[c>>18&63],r+=e[c>>12&63],r+=n+1<s.length?e[c>>6&63]:"=",r+=n+2<s.length?e[c&63]:"="}return r}function ci(t){let s=t.replace(/\s+/g,"").replace(/=+$/,""),r=[],n=0,i=0;for(let o of s){let a=hs[o];a!==void 0&&(n=n<<6|a,i+=6,i>=8&&(i-=8,r.push(n>>i&255)))}return Uint8Array.from(r)}function an(t){return ai(t,Zs)}function cn(t){return oi(ci(t))}function re(t){return cn(t)}function T(t){return t.replace(/^\s+|\s+$/g,"")}function Y(t){if(t==null)return 0;if(typeof t=="number")return Number.isFinite(t)?Math.trunc(t):0;let e=/[+-]?\d+/.exec(t);if(!e)return 0;let s=Number.parseInt(e[0],10);return Number.isNaN(s)?0:s}function ie(t,e){return t.startsWith(e)}function Xr(t,e){if(e==="")return 0;let s=0,r=t.indexOf(e);for(;r!==-1;)s+=1,r=t.indexOf(e,r+e.length);return s}function Q(t,e,s=!1){let r=t.split(e);return s?r.filter(n=>n!==""):r}function ln(t){let e=t.split(".");return e.length!==4?!1:e.every(s=>/^\d{1,3}$/.test(s)&&Number(s)<=255)}function un(t){return/^\[?[0-9A-Fa-f:]{2,}\]?$/.test(t)&&t.includes(":")}function q(t){try{return decodeURIComponent(t)}catch{return t.replace(/%([0-9A-Fa-f]{2})/g,(e,s)=>String.fromCharCode(Number.parseInt(s,16)))}}function Qr(t){return t.toLowerCase().replace(/_/g,"-")}function li(t,e){if(t==="")return[];let s=t.split("#",1)[0],r=s.indexOf("?"),n=r>=0?s.slice(r+1):s,i=n.startsWith("?")?n.slice(1):n,o=[],a=Qr(e);for(let c of i.split("&")){if(c==="")continue;let u=c.indexOf("="),p=u>=0?c.slice(0,u):c;Qr(q(p))===a&&o.push(q(u>=0?c.slice(u+1):""))}return o}function A(t,e){let s=li(t,e);return s.length>0?s[s.length-1].trim():""}function ui(t){let e=0xcbf29ce484222325n,s=0x100000001b3n;for(let r of t)e^=BigInt(r.codePointAt(0)),e=BigInt.asUintN(64,e*s);return e}function fi(t){return ui(t).toString(16)}var Jf=new Set(Object.values(nn));var Xf=1024**3/1e3**3;var pi=["2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","2022-blake3-chacha20-poly1305","2022-blake3-chacha12-poly1305","2022-blake3-chacha8-poly1305","aes-128-cfb","aes-128-ctr","aes-128-gcm","aes-192-cfb","aes-192-ctr","aes-192-gcm","aes-256-cfb","aes-256-ctr","aes-256-gcm","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","chacha20","chacha20-ietf","chacha20-ietf-poly1305","rc4-md5","salsa20","xchacha20-ietf-poly1305"];function di(t){return pi.includes(t.toLowerCase())}function ms(t,e,s){return di(t)&&(e===""||e==="plain")&&(s===""||s==="origin")}function ue(t,e,s,r,n,i,o,a,c,u,p){t.type=e,t.group=s,t.remark=r,t.hostname=n,t.underlyingProxy=p,t.port=Y(i),t.udp=o,t.tcpFastOpen=a,t.allowInsecure=c,t.tls13=u}function $e(t,e){let{add:s,aid:r=0,cipher:n="",edge:i="",group:o,host:a="",id:c="",net:u="",path:p="",port:f,remark:l,scv:m,sni:y="",tfo:d,tls:h="",tls13:v,type:b="",udp:S,underlyingProxy:$=""}=e;ue(t,"vmess",o,l,s,f,S,d,m,v,$),t.userId=c===""?"00000000-0000-0000-0000-000000000000":c,t.alterId=Y(r),t.encryptMethod=n,t.transferProtocol=u===""?"tcp":u,t.edge=i,t.serverName=y,u==="quic"?(t.quicSecure=a,t.quicSecret=p):(t.host=a===""&&!ln(s)&&!un(s)?s:T(a),t.path=p===""?"/":T(p)),t.fakeType=b,t.tlsSecure=h==="tls"}function Ye(t,e){ue(t,"ssr",e.group,e.remark,e.server,e.port,e.udp,e.tfo,e.scv,void 0,e.underlyingProxy??""),t.password=e.password,t.encryptMethod=e.method,t.protocol=e.protocol,t.protocolParam=e.protocolParam??"",t.obfs=e.obfs,t.obfsParam=e.obfsParam??""}function ae(t,e){ue(t,"ss",e.group,e.remark,e.server,e.port,e.udp,e.tfo,e.scv,e.tls13,e.underlyingProxy??""),t.password=e.password,t.encryptMethod=e.method,t.plugin=e.plugin??"",t.pluginOption=e.pluginOption??""}function ot(t,e){ue(t,"socks5",e.group,e.remark,e.server,e.port,e.udp,e.tfo,e.scv,void 0,e.underlyingProxy??""),t.username=e.username??"",t.password=e.password??""}function at(t,e){ue(t,e.tls?"https":"http",e.group,e.remark,e.server,e.port,void 0,e.tfo,e.scv,e.tls13,e.underlyingProxy??""),t.username=e.username??"",t.password=e.password??"",t.tlsSecure=e.tls}function Ct(t,e){ue(t,"trojan",e.group,e.remark,e.server,e.port,e.udp,e.tfo,e.scv,e.tls13,e.underlyingProxy??""),t.password=e.password,t.host=e.host??"",t.tlsSecure=e.tlsSecure??!0,t.transferProtocol=e.network===void 0||e.network===""?"tcp":e.network,t.path=e.path??"",t.serverName=e.sni??""}function tr(t,e){ue(t,"snell",e.group,e.remark,e.server,e.port,e.udp,e.tfo,e.scv,void 0,e.underlyingProxy??""),t.password=e.password,t.obfs=e.obfs??"",t.host=e.host??"",t.snellVersion=e.version??0}function gs(t,e){ue(t,"anytls",e.group,e.remark,e.server,e.port,e.udp,e.tfo,e.scv,void 0,e.underlyingProxy??""),t.tlsSecure=!0,t.password=e.password,t.sni=e.sni??""}function fn(t,e){ue(t,"wireguard",e.group,e.remark,e.server,e.port,e.udp,void 0,void 0,void 0,e.underlyingProxy??""),t.selfIp=e.selfIp??"",t.selfIpv6=e.selfIpv6??"",t.privateKey=e.privateKey??"",t.publicKey=e.publicKey??"",t.preSharedKey=e.preSharedKey??"",t.dnsServers=e.dnsServers??[],t.mtu=Y(e.mtu),t.keepAlive=Y(e.keepAlive),t.testUrl=e.testUrl??"",t.clientId=e.clientId??""}function hi(t,e){ue(t,"hysteria",e.group,e.remark,e.server,e.port,void 0,e.tfo,e.scv,void 0,e.underlyingProxy??""),t.ports=e.ports??"",t.protocol=e.protocol??"",t.obfsParam=e.obfsProtocol??"";let s=e.up??"";s!==""&&(s.length>4&&s.endsWith("bps")?t.up=s:Y(s)&&(t.upSpeed=Y(s),t.up=`${s} Mbps`)),e.upSpeed&&(t.upSpeed=Y(e.upSpeed));let r=e.down??"";r!==""&&(r.length>4&&r.endsWith("bps")?t.down=r:Y(r)&&(t.downSpeed=Y(r),t.down=`${r} Mbps`)),e.downSpeed&&(t.downSpeed=Y(e.downSpeed)),t.authStr=e.authStr??"",e.auth&&(t.authStr=cn(e.auth)),t.tlsSecure=!0,t.obfs=e.obfs??"",t.sni=e.sni??"",t.fingerprint=e.fingerprint??"",t.ca=e.ca??"",t.caStr=e.caStr??"",t.recvWindowConn=Y(e.recvWindowConn),t.recvWindow=Y(e.recvWindow),t.disableMtuDiscovery=e.disableMtuDiscovery?e.disableMtuDiscovery==="true":void 0,t.hopInterval=Y(e.hopInterval),e.alpn&&(t.alpn=[e.alpn])}function pn(t,e){ue(t,"hysteria2",e.group,e.remark,e.server,e.port,void 0,e.tfo,e.scv,void 0,e.underlyingProxy??""),t.tlsSecure=!0,t.upSpeed=Y(e.up),t.downSpeed=Y(e.down),t.ports=e.ports??"",t.password=e.password??"",t.obfs=e.obfs??"",t.obfsParam=e.obfsPassword??"",t.sni=e.sni??"",t.fingerprint=e.fingerprint??"",e.alpn&&(t.alpn=[e.alpn]),t.ca=e.ca??"",t.caStr=e.caStr??"",t.cwnd=Y(e.cwnd),t.hopInterval=Y(e.hopInterval)}function dn(t,e){ue(t,"vless",e.group,e.remark,e.server,e.port,e.udp,e.tfo,e.scv,void 0,e.underlyingProxy??""),t.userId=e.userId,t.flow=e.flow??"",t.encryptMethod=e.encryption??"none",t.transferProtocol=e.network===void 0||e.network===""?"tcp":e.network,t.tlsSecure=e.tls==="tls"||e.tls==="reality",t.serverName=e.sni??"",t.host=e.host??"",t.path=e.path??"",t.fingerprint=e.fingerprint??"",t.publicKey=e.publicKey??"",t.shortId=e.shortId??"",e.alpn&&(t.alpn=e.alpn)}function hn(t,e){ue(t,"tuic",e.group,e.remark,e.server,e.port,e.udp,e.tfo,e.scv,void 0,e.underlyingProxy??""),t.tlsSecure=!0,t.userId=e.userId,t.password=e.password,t.congestionControl=e.congestionControl??"",t.serverName=e.sni??"",e.alpn&&(t.alpn=e.alpn)}function zs(t){if(!(t==null||t===""))return String(t).toLowerCase()==="true"}function K(t){return t==null?"":String(t)}function mn(t,e){let s;try{s=JSON.parse(re(t.slice(8)))}catch{return}if(s===null||typeof s!="object")return;let r=K(s.Type),n=K(s.Group),i=K(s.Remark),o=K(s.Hostname),a=zs(s.EnableUDP),c=zs(s.EnableTFO),u=zs(s.AllowInsecure),p=K(s.Port);if(p==="0"||p==="")return;let f=K(s.EncryptMethod),l=K(s.Password);switch(i===""&&(i=`${o}:${p}`),r){case"SS":ae(e,{group:n===""?L.ss:n,method:f,password:l,plugin:K(s.Plugin),pluginOption:K(s.PluginOption),port:p,remark:i,scv:u,server:o,tfo:c,udp:a});break;case"SSR":{let m=K(s.Protocol),y=K(s.OBFS);ms(f,y,m)?ae(e,{group:n===""?L.ss:n,method:f,password:l,plugin:K(s.Plugin),pluginOption:K(s.PluginOption),port:p,remark:i,scv:u,server:o,tfo:c,udp:a}):Ye(e,{group:n===""?L.ssr:n,method:f,obfs:y,obfsParam:K(s.OBFSParam),password:l,port:p,protocol:m,protocolParam:K(s.ProtocolParam),remark:i,scv:u,server:o,tfo:c,udp:a});break}case"VMess":$e(e,{add:o,aid:K(s.AlterID),cipher:f,edge:K(s.Edge),group:n===""?L.v2ray:n,host:K(s.Host),id:K(s.UserID),net:K(s.TransferProtocol),path:K(s.Path),port:p,remark:i,scv:u,sni:K(s.ServerName),tfo:c,tls:K(s.TLSSecure),type:K(s.FakeType),udp:a});break;case"Socks5":ot(e,{group:n===""?L.socks:n,password:l,port:p,remark:i,scv:u,server:o,tfo:c,udp:a,username:K(s.Username)});break;case"HTTP":case"HTTPS":at(e,{group:n===""?L.http:n,password:l,port:p,remark:i,scv:u,server:o,tfo:c,tls:r==="HTTPS"});break;case"Trojan":Ct(e,{group:n===""?L.trojan:n,host:K(s.Host),network:K(s.TransferProtocol),password:l,path:K(s.Path),port:p,remark:i,scv:u,server:o,tfo:c,tlsSecure:K(s.TLSSecure)==="true",udp:a});break;case"Snell":tr(e,{group:n===""?L.snell:n,host:K(s.Host),obfs:K(s.OBFS),password:l,port:p,remark:i,scv:u,server:o,tfo:c,udp:a,version:Y(K(s.SnellVersion))});break;default:break}}function g(t){return t==null?"":String(t)}function ds(t){return typeof t=="boolean"?t:g(t).toLowerCase()==="true"}function H(t){if(!(t==null||t===""))return ds(t)}function w(t,e){return t!==null&&typeof t=="object"?t[e]:void 0}function mi(t,e){let s=w(t,"proxies")!==void 0?"proxies":"Proxy",r=w(t,s);if(!Array.isArray(r))return;let n=e.length;for(let i of r){let o=g(w(i,"type")).toLowerCase(),a=g(w(i,"name")),c=g(w(i,"server")),u=g(w(i,"port")),p=g(w(i,"underlying-proxy"));if(p===""&&(p=g(w(i,"dialer-proxy"))),u===""||u==="0")continue;let f=H(w(i,"udp")),l=H(w(i,"fast-open")),m=H(w(i,"skip-cert-verify")),y=pe(),d="";switch(o){case"vmess":{d=L.v2ray;let h=g(w(i,"uuid")),v=g(w(i,"alterId")),b=g(w(i,"cipher")),S=w(i,"network")!==void 0?g(w(i,"network")):"tcp",$=g(w(i,"servername")),k="",N="",O="";switch(S){case"http":k=g(w(w(w(i,"http-opts"),"path"),0)),N=g(w(w(w(w(i,"http-opts"),"headers"),"Host"),0)),O="";break;case"ws":if(w(i,"ws-opts")!==void 0){let R=w(i,"ws-opts");k=w(R,"path")!==void 0?g(w(R,"path")):"/",N=g(w(w(R,"headers"),"Host")),O=g(w(w(R,"headers"),"Edge"))}else k=w(i,"ws-path")!==void 0?g(w(i,"ws-path")):"/",N=g(w(w(i,"ws-headers"),"Host")),O=g(w(w(i,"ws-headers"),"Edge"));break;case"h2":k=g(w(w(i,"h2-opts"),"path")),N=g(w(w(w(i,"h2-opts"),"host"),0)),O="";break;case"grpc":N=g(w(i,"servername")),k=g(w(w(i,"grpc-opts"),"grpc-service-name")),O="";break;default:break}let I=ds(w(i,"tls"))?"tls":"";$e(y,{add:c,aid:v,cipher:b,edge:O,group:d,host:N,id:h,net:S,path:k,port:u,remark:a,scv:m,sni:$,tfo:l,tls:I,type:"",udp:f,underlyingProxy:p});break}case"ss":{d=L.ss;let h=g(w(i,"cipher")),v=g(w(i,"password")),b="",S="",$="",k="",N="",O="",I="";if(w(i,"plugin")!==void 0){let R=g(w(i,"plugin")).toLowerCase(),U=w(i,"plugin-opts");R==="obfs"?(b="obfs-local",$=g(w(U,"mode")),k=g(w(U,"host"))):R==="v2ray-plugin"&&(b="v2ray-plugin",$=g(w(U,"mode")),k=g(w(U,"host")),O=ds(w(U,"tls"))?"tls;":"",I=g(w(U,"path")),N=ds(w(U,"mux"))?"mux=4;":"")}else w(i,"obfs")!==void 0&&(b="obfs-local",$=g(w(i,"obfs")),k=g(w(i,"obfs-host")));b==="simple-obfs"||b==="obfs-local"?(S=`obfs=${$}`,S+=k===""?"":`;obfs-host=${k}`):b==="v2ray-plugin"&&(S=`mode=${$};${O}${N}`,k!==""&&(S+=`host=${k};`),I!==""&&(S+=`path=${I};`),N!==""&&(S+=`mux=${N};`)),h==="AEAD_CHACHA20_POLY1305"?h="chacha20-ietf-poly1305":h.includes("AEAD")&&(h=h.replace(/AEAD_/g,"").replace(/_/g,"-").toLowerCase()),ae(y,{group:d,method:h,password:v,plugin:b,pluginOption:S,port:u,remark:a,scv:m,server:c,tfo:l,udp:f,underlyingProxy:p});break}case"socks5":{d=L.socks;let h=g(w(i,"username")),v=g(w(i,"password"));ot(y,{group:d,password:v,port:u,remark:a,server:c,underlyingProxy:p,username:h});break}case"ssr":{d=L.ssr;let h=g(w(i,"cipher"));h==="dummy"&&(h="none");let v=g(w(i,"password")),b=g(w(i,"protocol")),S=g(w(i,"obfs")),$=w(i,"protocol-param")!==void 0?g(w(i,"protocol-param")):g(w(i,"protocolparam")),k=w(i,"obfs-param")!==void 0?g(w(i,"obfs-param")):g(w(i,"obfsparam"));Ye(y,{group:d,method:h,obfs:S,obfsParam:k,password:v,port:u,protocol:b,protocolParam:$,remark:a,scv:m,server:c,tfo:l,udp:f,underlyingProxy:p});break}case"http":{d=L.http;let h=g(w(i,"username")),v=g(w(i,"password")),b=g(w(i,"tls"));at(y,{group:d,password:v,port:u,remark:a,scv:m,server:c,tfo:l,tls:b==="true",underlyingProxy:p,username:h});break}case"trojan":{d=L.trojan;let h=g(w(i,"password")),v=g(w(i,"sni")),b=g(w(i,"network")),S="";switch(b){case"grpc":S=g(w(w(i,"grpc-opts"),"grpc-service-name"));break;case"ws":S=g(w(w(i,"ws-opts"),"path"));break;default:b="tcp",S="";break}Ct(y,{group:d,host:v,network:b,password:h,path:S,port:u,remark:a,scv:m,server:c,tfo:l,tlsSecure:!0,udp:f,underlyingProxy:p});break}case"snell":{d=L.snell;let h=g(w(i,"psk")),v=g(w(w(i,"obfs-opts"),"mode")),b=g(w(w(i,"obfs-opts"),"host")),S=g(w(i,"version"));tr(y,{group:d,host:b,obfs:v,password:h,port:u,remark:a,scv:m,server:c,tfo:l,udp:f,underlyingProxy:p,version:Y(S)});break}case"wireguard":{d=L.wireguard;let h=g(w(i,"public-key")),v=g(w(i,"private-key")),b=w(i,"dns"),S=Array.isArray(b)?b.map(I=>String(I)):b?[String(b)]:[],$=g(w(i,"mtu")),k=g(w(i,"preshared-key")),N=g(w(i,"ip")),O=g(w(i,"ipv6"));fn(y,{dnsServers:S,group:d,keepAlive:"0",mtu:$,port:u,preSharedKey:k,privateKey:v,publicKey:h,remark:a,selfIp:N,selfIpv6:O,server:c,testUrl:"",udp:f,underlyingProxy:p});break}case"hysteria":{d=L.hysteria;let h=g(w(i,"ports")),v=g(w(i,"protocol")),b=g(w(i,"obfs-protocol")),S=g(w(i,"up")),$=g(w(i,"up-speed")),k=g(w(i,"down")),N=g(w(i,"down-speed")),O=g(w(i,"auth")),I=g(w(i,"auth-str"));I===""&&(I=g(w(i,"auth_str")));let R=g(w(i,"obfs")),U=g(w(i,"sni")),Z=g(w(i,"fingerprint")),E=w(i,"alpn"),W=Array.isArray(E)?g(E[0]):g(E),V=g(w(i,"ca")),x=g(w(i,"ca-str")),ee=g(w(i,"recv-window-conn")),lt=g(w(i,"recv-window")),M=g(w(i,"disable-mtu-discovery"));M===""&&(M=g(w(i,"disable_mtu_discovery")));let D=g(w(i,"hop-interval"));hi(y,{alpn:W,auth:O,authStr:I,ca:V,caStr:x,disableMtuDiscovery:M,down:k,downSpeed:N,fingerprint:Z,group:d,hopInterval:D,obfs:R,obfsProtocol:b,port:u,ports:h,protocol:v,recvWindow:lt,recvWindowConn:ee,remark:a,scv:m,server:c,sni:U,tfo:l,underlyingProxy:p,up:S,upSpeed:$});break}case"hysteria2":{d=L.hysteria2;let h=g(w(i,"ports")),v=g(w(i,"up")),b=g(w(i,"down")),S=g(w(i,"password"));S===""&&(S=g(w(i,"auth")));let $=g(w(i,"obfs")),k=g(w(i,"obfs-password")),N=g(w(i,"sni")),O=g(w(i,"fingerprint")),I=w(i,"alpn"),R=Array.isArray(I)?g(I[0]):g(I),U=g(w(i,"ca")),Z=g(w(i,"ca-str")),E=g(w(i,"cwnd")),W=g(w(i,"hop-interval"));pn(y,{alpn:R,ca:U,caStr:Z,cwnd:E,down:b,fingerprint:O,group:d,hopInterval:W,obfs:$,obfsPassword:k,password:S,port:u,ports:h,remark:a,scv:m,server:c,sni:N,tfo:l,underlyingProxy:p,up:v});break}case"anytls":{d=L.anytls;let h=g(w(i,"password")),v=g(w(i,"sni"));gs(y,{group:d,password:h,port:u,remark:a,scv:m,server:c,sni:v,tfo:l,udp:f,underlyingProxy:p});break}case"vless":{d=L.v2ray;let h=g(w(i,"uuid")),v=g(w(i,"network")),b=g(w(i,"tls")),S="",$="";v==="ws"?(S=g(w(w(i,"ws-opts"),"path")),$=g(w(w(w(i,"ws-opts"),"headers"),"Host"))):v==="grpc"&&(S=g(w(w(i,"grpc-opts"),"grpc-service-name")));let k=w(i,"alpn");dn(y,{alpn:Array.isArray(k)?k.map(N=>String(N)):void 0,encryption:g(w(i,"encryption")),fingerprint:g(w(i,"client-fingerprint")),flow:g(w(i,"flow")),group:d,host:$,network:v,path:S,port:u,remark:a,scv:m,server:c,sni:g(w(i,"servername")),tfo:l,tls:b==="true"?"tls":"",udp:f,underlyingProxy:p,userId:h});break}case"tuic":{d=L.v2ray;let h=w(i,"alpn");hn(y,{alpn:Array.isArray(h)?h.map(v=>String(v)):void 0,congestionControl:g(w(i,"congestion-controller")),group:d,password:g(w(i,"password")),port:u,remark:a,scv:m,server:c,sni:g(w(i,"sni")),tfo:l,udp:f,underlyingProxy:p,userId:g(w(i,"uuid"))});break}default:continue}y.id=n,e.push(y),n+=1}}function gi(t){let e=[],s=[],r;for(let n of t.split(/\r?\n/)){let i=n.trim(),o=/^\[(.*)\]$/.exec(i);if(o){r={lines:[],name:o[1].trim()},e.push(r);continue}i===""||i.startsWith("#")||i.startsWith(";")||(r?r.lines.push(i):s.push(i))}return s.length>0&&e.unshift({lines:s,name:"Proxy"}),e}function zr(t,e){let s=[];for(let r of t)r.name===e&&s.push(...r.lines);return s}function yi(t,e,s){for(let r=e;r<t.length;r+=1){let n=T(t[r]),i=n.indexOf("=");i!==-1&&(s[T(n.slice(0,i))]=T(n.slice(i+1)))}}function Zr(t,e){let s=t;s.includes("[Proxy]")&&(s=s.replace(/^[\s\S]*?\[/,"["));let r=gi(s),n=zr(r,"Proxy");if(n.length===0)return!1;let i=e.length,o=e.length;for(let a of n){let c=/^(.*?)\s*=\s*(.*)$/.exec(a);if(!c)continue;let u=c[1],p=c[2],f=Q(p,",");if(f.length<3)continue;let l=pe(),m="",y="",d="",h="",v="",b="",S="",$="",k="",N="",O="tcp",I="",R="",U="",Z="",E="",W="1",V,x,ee,lt;switch(f[0].toLowerCase()){case"direct":case"reject":case"reject-tinygif":continue;case"custom":{if(f.length<5||(m=T(f[1]),y=T(f[2]),y==="0"))continue;d=T(f[3]),v=T(f[4]);for(let M=6;M<f.length;M+=1){let D=Q(f[M],"=");if(D.length<2)continue;let _=T(D[0]),P=T(D[1]);_==="obfs"?(b="simple-obfs",$=P):_==="obfs-host"?k=P:_==="udp-relay"?V=H(P):_==="tfo"&&(x=H(P))}b!==""&&(S=`obfs=${$}`,S+=k===""?"":`;obfs-host=${k}`),ae(l,{group:L.ss,method:d,password:v,plugin:b,pluginOption:S,port:y,remark:u,scv:ee,server:m,tfo:x,udp:V});break}case"ss":{if(m=T(f[1]),y=T(f[2]),y==="0")continue;for(let M=3;M<f.length;M+=1){let D=Q(f[M],"=");if(D.length<2)continue;let _=T(D[0]),P=T(D[1]);_==="encrypt-method"?d=P:_==="password"?v=P:_==="obfs"?(b="simple-obfs",$=P):_==="obfs-host"?k=P:_==="udp-relay"?V=H(P):_==="tfo"&&(x=H(P))}b!==""&&(S=`obfs=${$}`,S+=k===""?"":`;obfs-host=${k}`),ae(l,{group:L.ss,method:d,password:v,plugin:b,pluginOption:S,port:y,remark:u,scv:ee,server:m,tfo:x,udp:V});break}case"socks5":{if(m=T(f[1]),y=T(f[2]),y==="0")continue;f.length>=5&&(h=T(f[3]),v=T(f[4]));for(let M=5;M<f.length;M+=1){let D=Q(f[M],"=");if(D.length<2)continue;let _=T(D[0]),P=T(D[1]);_==="udp-relay"?V=H(P):_==="tfo"?x=H(P):_==="skip-cert-verify"&&(ee=H(P))}ot(l,{group:L.socks,password:v,port:y,remark:u,scv:ee,server:m,tfo:x,udp:V,username:h});break}case"vmess":{if(m=T(f[1]),y=T(f[2]),y==="0")continue;O="tcp",d="auto";for(let M=3;M<f.length;M+=1){let D=Q(f[M],"=");if(D.length!==2)continue;let _=T(D[0]),P=T(D[1]);switch(_){case"username":N=P;break;case"ws":O=P==="true"?"ws":"tcp";break;case"tls":I=P==="true"?"tls":"";break;case"ws-path":Z=P;break;case"obfs-host":R=P;break;case"ws-headers":{let Pt=Q(P,"|");for(let Ve of Pt){let Pe=Q(T(Ve),":");Pe.length===2&&(/host/i.test(Pe[0])?R=xs(Pe[1]):/edge/i.test(Pe[0])&&(U=xs(Pe[1])))}break}case"udp-relay":V=H(P);break;case"tfo":x=H(P);break;case"skip-cert-verify":ee=H(P);break;case"tls13":lt=H(P);break;case"vmess-aead":W=P==="true"?"0":"1";break;default:break}}$e(l,{add:m,aid:W,cipher:d,edge:U,group:L.v2ray,host:R,id:N,net:O,path:Z,port:y,remark:u,scv:ee,tfo:x,tls:I,tls13:lt,udp:V});break}case"http":{if(m=T(f[1]),y=T(f[2]),y==="0")continue;for(let M=3;M<f.length;M+=1){let D=Q(f[M],"=");if(D.length<2)continue;let _=T(D[0]),P=T(D[1]);_==="username"?h=P:_==="password"?v=P:_==="skip-cert-verify"&&(ee=H(P))}at(l,{group:L.http,password:v,port:y,remark:u,scv:ee,server:m,tfo:x,tls:!1,username:h});break}case"trojan":{if(m=T(f[1]),y=T(f[2]),y==="0")continue;for(let M=3;M<f.length;M+=1){let D=Q(f[M],"=");if(D.length!==2)continue;let _=T(D[0]),P=T(D[1]);_==="password"?v=P:_==="sni"?R=P:_==="udp-relay"?V=H(P):_==="tfo"?x=H(P):_==="skip-cert-verify"&&(ee=H(P))}Ct(l,{group:L.trojan,host:R,password:v,port:y,remark:u,scv:ee,server:m,tfo:x,tlsSecure:!0,udp:V});break}case"snell":{if(m=T(f[1]),y=T(f[2]),y==="0")continue;for(let M=3;M<f.length;M+=1){let D=Q(f[M],"=");if(D.length!==2)continue;let _=T(D[0]),P=T(D[1]);_==="psk"?v=P:_==="obfs"?b=P:_==="obfs-host"?R=P:_==="udp-relay"?V=H(P):_==="tfo"?x=H(P):_==="skip-cert-verify"?ee=H(P):_==="version"&&(E=P)}tr(l,{group:L.snell,host:R,obfs:b,password:v,port:y,remark:u,scv:ee,server:m,tfo:x,udp:V,version:Y(E)});break}case"wireguard":{let M="",D="";for(let Ve=1;Ve<f.length;Ve+=1){let Pe=Q(T(f[Ve]),"=");if(Pe.length!==2)continue;let sr=T(Pe[0]),rr=T(Pe[1]);sr==="section-name"?M=rr:sr==="test-url"&&(D=rr)}if(M==="")continue;let _=zr(r,`WireGuard ${M}`);if(_.length===0)continue;let P={};yi(_,0,P);let Pt=[];if(P["dns-server"])for(let Ve of Q(P["dns-server"],","))Pt.push(T(Ve));fn(l,{dnsServers:Pt,group:L.wireguard,keepAlive:P.keepalive??"",mtu:P.mtu??"",port:"0",privateKey:P["private-key"]??"",remark:u,selfIp:P["self-ip"]??"",selfIpv6:P["self-ip-v6"]??"",server:"",testUrl:D,udp:V}),wi(l,P.peer??"");break}case"anytls":{if(m=T(f[1]),y=T(f[2]),y==="0")continue;for(let M=3;M<f.length;M+=1){let D=Q(f[M],"=");if(D.length!==2)continue;let _=T(D[0]),P=T(D[1]);_==="password"?v=P:_==="sni"?R=P:_==="udp-relay"?V=H(P):_==="tfo"?x=H(P):_==="skip-cert-verify"&&(ee=H(P))}gs(l,{group:L.anytls,password:v,port:y,remark:u,scv:ee,server:m,sni:R,tfo:x,udp:V});break}default:{if(!bi(u,f,l,{scv:ee,tfo:x,tls13:lt,udp:V}))continue;break}}l.id=o,e.push(l),o+=1}return e.length>i}function bi(t,e,s,r){let n=t.toLowerCase(),i=e[0],o=i.lastIndexOf(":"),a=T(i.slice(0,o)),c=T(i.slice(o+1));if(c==="0")return!1;let u="",p="",f="",l="",m="",y="",d="",h="",v="",b="",S="",$="tcp",k="",N="1",O=t,I=r.udp,R=r.tfo,U=r.scv,Z=r.tls13,E={};for(let W=1;W<e.length;W+=1){let V=Q(T(e[W]),"=");V.length===2&&(E[T(V[0])]=T(V[1]))}if(n==="shadowsocks"){if(u=E.method??"",p=E.password??"",E.tag&&(O=E.tag),v=E["ssr-protocol"]??"",b=E["ssr-protocol-param"]??"",E.obfs){let V=E.obfs;V==="http"||V==="tls"?(y="simple-obfs",d=V):V==="wss"||V==="ws"?(V==="wss"&&(S="tls"),d="websocket",y="v2ray-plugin"):d=V}h=E["obfs-host"]??"",m=E["obfs-uri"]??"",O===""&&(O=`${a}:${c}`);let W="";return y==="simple-obfs"?(W=`obfs=${d}`,h!==""&&(W+=`;obfs-host=${h}`)):y==="v2ray-plugin"&&(h===""&&!/^\d+(\.\d+){3}$/.test(a)&&!a.includes(":")&&(h=a),W=`mode=${d}`,h!==""&&(W+=`;host=${h}`),m!==""&&(W+=`;path=${m}`),W+=`;${S}`),v!==""?Ye(s,{group:L.ssr,method:u,obfs:d,obfsParam:h,password:p,port:c,protocol:v,protocolParam:b,remark:O,scv:U,server:a,tfo:R,udp:I}):ae(s,{group:L.ss,method:u,password:p,plugin:y,pluginOption:W,port:c,remark:O,scv:U,server:a,tfo:R,tls13:Z,udp:I}),!0}if(n==="vmess"){if($="tcp",u=E.method??"",k=E.password??"",E.tag&&(O=E.tag),E.obfs){let W=E.obfs;W==="ws"?$="ws":W==="over-tls"?S="tls":W==="wss"&&($="ws",S="tls")}return l=E["obfs-host"]??"",m=E["obfs-uri"]??"",E["over-tls"]&&(S=E["over-tls"]==="true"?"tls":""),E.aead&&(N=E.aead==="true"?"0":"1"),O===""&&(O=`${a}:${c}`),$e(s,{add:a,aid:N,cipher:u,group:L.v2ray,host:l,id:k,net:$,path:m,port:c,remark:O,scv:U,tfo:R,tls:S,tls13:Z,udp:I}),!0}return n==="trojan"?(p=E.password??"",E.tag&&(O=E.tag),E["over-tls"]&&(S=E["over-tls"]),l=E["tls-host"]??"",E["tls-verification"]==="false"&&(U=!0),O===""&&(O=`${a}:${c}`),Ct(s,{group:L.trojan,host:l,password:p,port:c,remark:O,scv:U,server:a,tfo:R,tls13:Z,tlsSecure:S==="true",udp:I}),!0):n==="http"?(f=E.username??"",p=E.password??"",E.tag&&(O=E.tag),E["over-tls"]&&(S=E["over-tls"]),E["tls-verification"]==="false"&&(U=!0),O===""&&(O=`${a}:${c}`),f==="none"&&(f=""),p==="none"&&(p=""),at(s,{group:L.http,password:p,port:c,remark:O,scv:U,server:a,tfo:R,tls:S==="true",tls13:Z,username:f}),!0):n==="anytls"?(p=E.password??"",E.tag&&(O=E.tag),l=E.sni??"",E["tls-verification"]==="false"&&(U=!0),O===""&&(O=`${a}:${c}`),gs(s,{group:L.anytls,password:p,port:c,remark:O,scv:U,server:a,sni:l,tfo:R,udp:I}),!0):!1}function xs(t){let e=T(t);return(e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'"))&&(e=e.slice(1,-1)),e}function wi(t,e){let s=[...e.matchAll(/\((.*?)\)/g)].map(i=>i[1]);if(s.length===0)return;let n=[...s[0].matchAll(/([a-z-]+)\s?=\s?([^" ),]+|".*?"),?\s?/g)];for(let i of n){let o=i[1],a=i[2];switch(o){case"public-key":t.publicKey=a;break;case"endpoint":{let c=a.lastIndexOf(":");t.hostname=a.slice(0,c),t.port=Y(a.slice(c+1));break}case"client-id":t.clientId=a;break;case"allowed-ips":t.allowedIps=xs(a);break;default:break}}}function vi(t,e){try{let s=Xs(t);if(s&&typeof s=="object"&&(w(s,"Proxy")!==void 0||w(s,"proxies")!==void 0))return mi(s,e),!0}catch{return!1}return!1}function Si(t,e){if(t.includes('"version"'))ki(t,e);else if(t.includes('"serverSubscribes"'))xr(t,e);else if(t.includes('"uiItem"')||t.includes("vnext"))Ii(t,e);else if(t.includes('"proxy_apps"'))$i(t,e);else if(t.includes('"idInUse"'))Ai(t,e);else if(t.includes('"local_address"')&&t.includes('"local_port"'))xr(t,e);else if(t.includes('"ModeFileNameType"'))Ni(t,e);else return!1;return e.length>0}function ki(t,e){let s;try{s=JSON.parse(t)}catch{return}if(s===null||typeof s!="object")return;let r="version"in s&&"servers"in s?"servers":"configs";if(!(r in s))return;let n=g(s.remarks),i=s[r];if(!Array.isArray(i))return;let o=e.length;for(let a of i){let c=g(a.remarks),u=g(a.server_port);if(u==="0")continue;let p=g(a.server),f=pe();ae(f,{group:n,method:g(a.method),password:g(a.password),plugin:g(a.plugin),pluginOption:g(a.plugin_opts),port:u,remark:c===""?`${p}:${u}`:c,server:p}),f.id=o,e.push(f),o+=1}}function $i(t,e){let s;try{s=JSON.parse(`{"nodes":${t}}`)}catch{return}if(s===null||typeof s!="object"||!Array.isArray(s.nodes))return;let r=e.length;for(let n of s.nodes){let i=g(n.server);if(i==="")continue;let o=g(n.server_port);if(o==="0"||o==="")continue;let a=g(n.remarks),c=pe();ae(c,{group:L.ss,method:g(n.method),password:g(n.password),plugin:g(n.plugin),pluginOption:g(n.plugin_opts),port:o,remark:a===""?`${i}:${o}`:a,server:i}),c.id=r,e.push(c),r+=1}}function xr(t,e){let s;try{s=JSON.parse(t)}catch{return}if(s===null||typeof s!="object")return;let r=e.length;if("local_port"in s&&"local_address"in s){let i=pe(),o=g(s.server),a=g(s.server_port),c=`${o}:${a}`,u=g(s.method),p=g(s.obfs),f=g(s.protocol),l=g(s.password);ms(u,p,f)?ae(i,{group:L.ss,method:u,password:l,plugin:g(s.plugin),pluginOption:g(s.plugin_opts),port:a,remark:c,server:o}):Ye(i,{group:L.ssr,method:u,obfs:p,obfsParam:g(s.obfs_param),password:l,port:a,protocol:f,protocolParam:g(s.protocol_param),remark:c,server:o}),i.id=r,e.push(i);return}let n=s.configs??[];if(Array.isArray(n))for(let i of n){let o=g(i.group)===""?L.ssr:g(i.group),a=g(i.server),c=g(i.server_port);if(c==="0"||c==="")continue;let u=g(i.remarks)===""?`${a}:${c}`:g(i.remarks),p=pe();Ye(p,{group:o,method:g(i.method),obfs:g(i.obfs),obfsParam:g(i.obfsparam),password:g(i.password),port:c,protocol:g(i.protocol),protocolParam:g(i.protocolparam),remark:u,server:a}),p.id=r,e.push(p),r+=1}}function Ii(t,e){let s;try{s=JSON.parse(t)}catch{return}if(s===null||typeof s!="object")return;let r=e.length;if("outbounds"in s){let a=s.outbounds;if(Array.isArray(a)&&a.length>0&&a[0]?.settings?.vnext?.length>0){let c=a[0].settings.vnext[0],u=g(c.address),p=g(c.port);if(p==="0")return;let f=c.users,l=Array.isArray(f)&&f.length?g(f[0].id):"",m=Array.isArray(f)&&f.length?g(f[0].alterId):"",y=Array.isArray(f)&&f.length?g(f[0].security):"",d=a[0].streamSettings??{},h=g(d.network),v=g(d.security),b="",S="",$="",k="";if(h==="ws"){let I=d.wsSettings??{};b=g(I.path),I.headers&&(S=g(I.headers.Host),$=g(I.headers.Edge))}let N=d.tcpSettings;N&&N.header&&(k=g(N.header.type),k==="http"&&N.header.request&&(Array.isArray(N.header.request.path)&&N.header.request.path.length&&(b=g(N.header.request.path[0])),N.header.request.headers&&(S=g(N.header.request.headers.Host),$=g(N.header.request.headers.Edge))));let O=pe();$e(O,{add:u,aid:m,cipher:y,edge:$,group:L.v2ray,host:S,id:l,net:h,path:b,port:p,remark:`${u}:${p}`,tls:v,type:k}),e.push(O)}return}let n=new Map,i=s.subItem??[];for(let a of i)n.set(g(a.id),g(a.remarks));let o=s.vmess??[];for(let a of o){if(a.address===null||a.address===void 0||a.port===null||a.id===null)continue;let c=g(a.remarks),u=g(a.address),p=g(a.port);if(p==="0"||p==="")continue;let f=g(a.subid),l="";f!==""&&(l=n.get(f)??""),c===""&&(c=`${u}:${p}`);let m=H(a.allowInsecure),y=Y(a.configType),d=pe();if(y===1)$e(d,{add:u,aid:g(a.alterId),cipher:g(a.security),group:l||L.v2ray,host:g(a.requestHost),id:g(a.id),net:g(a.network),path:g(a.path),port:p,remark:c,scv:m,sni:g(a.sni),tls:g(a.streamSecurity),type:g(a.headerType)});else if(y===3)ae(d,{group:l||L.ss,method:g(a.security),password:g(a.id),port:p,remark:c,scv:m,server:u});else if(y===4)ot(d,{group:l||L.socks,port:p,remark:c,scv:m,server:u});else continue;d.id=r,e.push(d),r+=1}}function Ai(t,e){let s;try{s=JSON.parse(t)}catch{return}if(s===null||typeof s!="object"||!Array.isArray(s.configs))return;let r=e.length;for(let n of s.configs){let i=g(n.group),o=g(n.server),a=g(n.server_port);if(a==="0"||a==="")continue;let c=g(n.remarks)===""?`${o}:${a}`:g(n.remarks),u=g(n.password),p=pe(),f=Y(n.type);if(f===5)ot(p,{group:i,password:u,port:a,remark:c,server:o,username:g(n.username)});else if(f===6){let l=g(n.protocol),m=g(n.obfs),y=g(n.method);ms(y,m,l)?ae(p,{group:i,method:y,password:u,port:a,remark:c,server:o}):Ye(p,{group:i,method:y,obfs:m,obfsParam:g(n.obfsparam),password:u,port:a,protocol:l,protocolParam:g(n.protocolparam),remark:c,server:o})}else continue;p.id=r,e.push(p),r+=1}}function Ni(t,e){let s;try{s=JSON.parse(t)}catch{return}if(s===null||typeof s!="object"||!Array.isArray(s.Server))return;let r=e.length;for(let n of s.Server){let i=pe();mn(`Netch://${an(JSON.stringify(n))}`,i),i.id=r,e.push(i),r+=1}}function Oi(t){return t.startsWith("http://")||t.startsWith("https://")}function Me(t,e){let s=new RegExp(e).exec(t);return s?s.slice():null}function Ei(t,e){if(/^vmess:\/\/[A-Za-z0-9-_]+\?.*/.test(t)){Pi(t,e);return}if(/^vmess:\/\/.*?@.*/.test(t)){Ci(t,e);return}if(/^vmess1:\/\/.*?\?.*/.test(t)){Ti(t,e);return}let s=re(t.replace(/(vmess|vmess1):\/\//,""));if(/.*?\s=\s.*/.test(s)){Li(s,e);return}let r;try{let h=JSON.parse(s);if(h===null||typeof h!="object")return;r=h}catch{return}let n="1";r.v!==void 0&&(n=String(r.v));let i=String(r.ps??""),o=String(r.add??""),a=String(r.port??"");if(a==="0"||a==="")return;let c=String(r.type??""),u=String(r.id??""),p=String(r.aid??""),f=String(r.net??""),l=String(r.tls??""),m=String(r.host??""),y=String(r.sni??""),d="";switch(Y(n)){case 1:{if(m!==""){let h=Q(m,";");h.length===2&&(m=h[0],d=h[1])}break}case 2:{d=String(r.path??"");break}default:break}o=T(o),$e(e,{add:o,aid:p,cipher:"auto",group:L.v2ray,host:m,id:u,net:f,path:d,port:a,remark:i,sni:y,tls:l,type:c})}function Ci(t,e){let s=t.slice(8),r="",n=s.lastIndexOf("#");n!==-1&&(r=q(s.slice(n+1)),s=s.slice(0,n));let o=/^([a-z]+)(?:\+([a-z]+))?:([\da-f]{4}(?:[\da-f]{4}-){4}[\da-f]{12})-(\d+)@(.+):(\d+)(?:\/?\?(.*))?$/.exec(s);if(!o)return;let a=o[1],c=o[2]??"",u=o[3],p=o[4],f=o[5],l=o[6],m=o[7]??"",y="",d="",h="";switch(a){case"tcp":case"kcp":y=A(m,"type");break;case"http":case"ws":d=A(m,"host"),h=A(m,"path");break;case"quic":y=A(m,"security"),d=A(m,"type"),h=A(m,"key");break;default:return}r===""&&(r=`${f}:${l}`),$e(e,{add:f,aid:p,cipher:"auto",group:L.v2ray,host:d,id:u,net:a,path:h,port:l,remark:r,tls:c,type:y})}function Pi(t,e){let s=t.slice(8),r="tcp",n=s.indexOf("?"),i=n>=0?s.slice(n+1):"";s=n>=0?s.slice(0,n):s;let o=Me(re(s),"(.*?):(.*)@(.*):(.*)");if(!o)return;let a=o[1],c=o[2],u=o[3],p=o[4];if(p==="0")return;let f=q(A(i,"remarks")),l=A(i,"obfs"),m="",y="",d="";l!==""?l==="websocket"&&(r="ws",m=A(i,"obfsParam"),y=A(i,"path")):(r=A(i,"network"),m=A(i,"wsHost"),y=A(i,"wspath"));let h=A(i,"tls")==="1"?"tls":"",v=A(i,"aid");v===""&&(v="0"),f===""&&(f=`${u}:${p}`),$e(e,{add:u,aid:v,cipher:a,group:L.v2ray,host:m,id:c,net:r,path:y,port:p,remark:f,tls:h,type:d})}function Ti(t,e){let s=t.slice(9),r="",n="",i=s.indexOf("#");i!==-1&&(r=s.slice(i+1),s=s.slice(0,i));let o=s.indexOf("?"),a=o>=0?s.slice(o+1):"";s=o>=0?s.slice(0,o):s;let c=Me(s,"(.*?)@(.*):(.*)");if(!c)return;let u=c[1],p=c[2],f=c[3],l=f.indexOf("/");if(l!==-1&&(n=f.slice(l),f=f.slice(0,l)),f==="0")return;let m=A(a,"network"),y=A(a,"tls")==="true"?"tls":"",d=A(a,"ws.host");r===""&&(r=`${p}:${f}`),$e(e,{add:p,aid:"0",cipher:"auto",group:L.v2ray,host:d,id:u,net:m,path:n,port:f,remark:r,tls:y,type:""})}function Li(t,e){let s=t.replace(/(.*?)\s=\s(.*)/,"$1,$2"),r=Q(s,",");if(r.length<6||r[1]!=="vmess")return;let n=T(r[0]),i=T(r[2]),o=T(r[3]);if(o==="0")return;let a=T(r[4]),c=T(r[5].replace(/"/g,"")),u=L.v2ray,p="",f="",l="",m="tcp",y="";for(let d=6;d<r.length;d+=1){let h=Q(r[d],"=");if(h.length<2)continue;let v=T(h[0]),b=T(h.slice(1).join("="));switch(v){case"group":u=b;break;case"over-tls":p=b==="true"?"tls":"";break;case"tls-host":f=b;break;case"obfs-path":l=b.replace(/"/g,"");break;case"obfs-header":{let S=Q(b.replace(/"/g,"").replace(/\[Rr\]\[Nn\]/g,"|"),"|");for(let $ of S)/Host: /i.test($)?f=$.slice(6):/Edge: /i.test($)&&(y=$.slice(6));break}case"obfs":b==="ws"&&(m="ws");break;default:break}}l===""&&(l="/"),$e(e,{add:i,aid:"0",cipher:a,edge:y,group:u,host:f,id:c,net:m,path:l,port:o,remark:n,tls:p,type:"none"})}function Ri(t,e){let s=t.slice(5).replace(/\/\?/g,"?"),r=L.ss,n="",i="",o="",a="",c=r,u=s.indexOf("#");u!==-1&&(n=q(s.slice(u+1)),s=s.slice(0,u));let p=s.indexOf("?");if(p!==-1){i=s.slice(p+1);let d=q(A(i,"plugin")),h=d.indexOf(";");o=h===-1?d:d.slice(0,h),a=h===-1?"":d.slice(h+1);let v=A(i,"group");v!==""&&(c=re(v)),s=s.slice(0,p)}let f="",l="",m="",y="";if(s.includes("@")){let d=Me(s,"(\\S+?)@(\\S+):(\\d+)");if(!d)return;let h=d[1];m=d[2],y=d[3];let v=Me(re(h),"(\\S+?):(\\S+)");if(!v)return;f=v[1],l=v[2]}else{let d=Me(re(s),"(\\S+?):(\\S+)@(\\S+):(\\d+)");if(!d)return;f=d[1],l=d[2],m=d[3],y=d[4]}y!=="0"&&(n===""&&(n=`${m}:${y}`),ae(e,{group:c,method:f,password:l,plugin:o,pluginOption:a,port:y,remark:n,server:m}))}function _i(t,e){let s=t.slice(6).replace(/\r/g,"");s=re(s);let r="",n="",i="",o="",a=s.indexOf("/?");if(a!==-1){let v=s.slice(a+2);s=s.slice(0,a),r=re(A(v,"group")),n=re(A(v,"remarks")),i=re(A(v,"obfsparam")).replace(/\s/g,""),o=re(A(v,"protoparam")).replace(/\s/g,"")}let c=Me(s,"(\\S+):(\\d+?):(\\S+?):(\\S+?):(\\S+?):(\\S+)");if(!c)return;let u=c[1],p=c[2],f=c[3],l=c[4],m=c[5],y=re(c[6]);if(p==="0")return;let d=r===""?L.ssr:r,h=n===""?`${u}:${p}`:n;ms(l,m,f)?ae(e,{group:d,method:l,password:y,port:p,remark:h,server:u}):Ye(e,{group:d,method:l,obfs:m,obfsParam:i,password:y,port:p,protocol:f,protocolParam:o,remark:h,server:u})}function Fi(t,e){let s=e.length,r=re(t.slice(6)),n;try{n=JSON.parse(r)}catch{return}if(n===null||typeof n!="object"||!("servers"in n))return;let i=String(n.airport??""),o=n.servers,a;if(Array.isArray(o))a=o;else if(o!==null&&typeof o=="object")a=Object.keys(o).map(c=>o[c]);else return;for(let c of a){if(c===null||typeof c!="object")continue;let u=String(c.server??""),p=String(c.port??n.port??"");if(u===""||p===""||p==="0")continue;let f=String(c.remarks??""),l=String(c.encryption??n.encryption??""),m=String(c.password??n.password??""),y=String(c.plugin??n.plugin??""),d=String(c.plugin_options??n.plugin_options??""),h=pe();ae(h,{group:i,method:l,password:m,plugin:y,pluginOption:d,port:p,remark:f,server:u}),h.id=s,e.push(h),s+=1}}function Mi(t,e){let s="",r="",n="",i="",o="",a="";if(t.includes("socks://")){let c=t,u=c.indexOf("#");if(u!==-1&&(r=q(c.slice(u+1)),c=c.slice(0,u)),c=re(c.slice(8)),c.includes("@")){let f=Q(c,"@");if(f.length<2)return;c=f[1];let l=Q(f[0],":");if(l.length<2)return;o=l[0],a=l[1]}let p=Q(c,":");if(p.length<2)return;n=p[0],i=p[1]}else(t.includes("https://t.me/socks")||t.includes("tg://socks"))&&(n=A(t,"server"),i=A(t,"port"),o=q(A(t,"user")),a=q(A(t,"pass")),r=q(A(t,"remarks")),s=q(A(t,"group")));s===""&&(s=L.socks),r===""&&(r=`${n}:${i}`),!(i==="0"||i==="")&&ot(e,{group:s,password:a,port:i,remark:r,server:n,username:o})}function Di(t,e){let s=A(t,"server"),r=A(t,"port"),n=q(A(t,"user")),i=q(A(t,"pass")),o=q(A(t,"remarks")),a=q(A(t,"group"));a===""&&(a=L.http),o===""&&(o=`${s}:${r}`),!(r==="0"||r==="")&&at(e,{group:a,password:i,port:r,remark:o,server:s,tls:t.includes("/https"),username:n})}function Bi(t,e){let s=t,r="",n="",i=s.includes("https://"),o=s.indexOf("?");if(o!==-1){let f=s.slice(o+1);s=s.slice(0,o),r=q(A(f,"remarks")),n=q(A(f,"group"))}s=s.slice(s.indexOf("://")+3),s=re(s);let a="",c="",u="",p="";if(s.includes("@")){let f=Me(s,"(.*?):(.*?)@(.*):(.*)");if(!f)return;u=f[1],p=f[2],a=f[3],c=f[4]}else{let f=Me(s,"(.*):(.*)");if(!f)return;a=f[1],c=f[2]}n===""&&(n=L.http),r===""&&(r=`${a}:${c}`),c!=="0"&&at(e,{group:n,password:p,port:c,remark:r,server:a,tls:i,username:u})}function ji(t,e){let s=t.slice(9),r="",n="",i="",o="",a="",c=s.lastIndexOf("#");c!==-1&&(r=q(s.slice(c+1)),s=s.slice(0,c));let u=s.indexOf("?");u!==-1&&(n=s.slice(u+1),s=s.slice(0,u));let p=Me(s,"(.*?)@(.*):(.*)");if(!p)return;let f=p[1],l=p[2],m=p[3];if(m==="0")return;i=A(n,"sni"),i===""&&(i=A(n,"peer"));let y=A(n,"tfo"),d=q(A(n,"group"));A(n,"ws")==="1"?(o=A(n,"wspath"),a="ws"):A(n,"type")==="ws"&&(o=A(n,"path"),o.startsWith("%2F")&&(o=q(o)),a="ws");let h=A(n,"type"),v=A(n,"sni"),b=A(n,"allowInsecure");r===""&&(r=`${l}:${m}`),Ct(e,{group:d===""?L.trojan:d,host:i,network:a,password:f,path:o,port:m,remark:r,scv:b===""?void 0:Je(b),server:l,sni:v,tfo:y===""?void 0:Je(y),tlsSecure:h!==""||!0})}function Je(t){let e=t.trim().toLowerCase();if(["1","true","yes","on"].includes(e))return!0;if(["0","false","no","off"].includes(e))return!1}function Ui(t,e){let s=t.replace(/(hysteria2|hy2):\/\//,"hysteria2://").replace(/\/\?/g,"?");/hysteria2:\/\/.*?[:].*/.test(s)&&Ki(s,e)}function Ki(t,e){let s=t.slice(12),r="",n="",i=s.lastIndexOf("#");i!==-1&&(r=q(s.slice(i+1)),s=s.slice(0,i));let o=s.lastIndexOf("?");o!==-1&&(n=s.slice(o+1),s=s.slice(0,o));let a="",c="",u="";if(s.includes("@")){let k=/^(.*?)@(.*)[:](\d+)$/.exec(s);if(!k)return;a=k[1],c=k[2],u=k[3]}else{if(a=A(n,"password"),a===""||!s.includes(":"))return;let k=/^(.*)[:](\d+)$/.exec(s);if(!k)return;c=k[1],u=k[2]}let p=A(n,"insecure"),f=A(n,"up"),l=A(n,"down"),m=A(n,"alpn"),y=A(n,"obfs"),d=A(n,"obfs-password"),h=A(n,"sni"),v=A(n,"pinSHA256"),b=A(n,"mport"),S=A(n,"ports"),$=S!==""?S:b!==""?b:u;r===""&&(r=`${c}:${u}`),pn(e,{alpn:m,down:l,fingerprint:v,group:L.hysteria2,obfs:y,obfsPassword:d,password:a,port:u,ports:$,remark:r,scv:p===""?void 0:Je(p),server:c,sni:h,up:f})}function Gi(t,e){let s=t.slice(9),r="",n="",i=s.lastIndexOf("#");i!==-1&&(r=q(s.slice(i+1)),s=s.slice(0,i));let o=s.lastIndexOf("?");o!==-1&&(n=s.slice(o+1),s=s.slice(0,o));let a=/^(.*?)@(.*)[:](\d+)$/.exec(s);if(!a)return;let c=a[1],u=a[2],p=a[3];if(p==="0")return;let f=A(n,"sni"),l=A(n,"udp"),m=A(n,"insecure");r===""&&(r=`${u}:${p}`),gs(e,{group:L.anytls,password:c,port:p,remark:r,scv:m===""?void 0:Je(m),server:u,sni:f,udp:l===""?void 0:Je(l)})}function Vi(t,e){let s=t.slice(8),r="",n="",i=s.lastIndexOf("#");i!==-1&&(r=q(s.slice(i+1)),s=s.slice(0,i));let o=s.indexOf("?");o!==-1&&(n=s.slice(o+1),s=s.slice(0,o));let a=/^(.*?)@\[?(.*?)\]?:(\d+)$/.exec(s);if(!a)return;let c=a[1],u=a[2],p=a[3];if(p==="0")return;let f=A(n,"type"),l=A(n,"security"),m=A(n,"host"),y=q(A(n,"path")),d=q(A(n,"serviceName")),h=y!==""?y:d,v=A(n,"sni"),b=A(n,"flow"),S=A(n,"fp"),$=A(n,"pbk"),k=A(n,"sid"),N=A(n,"alpn");r===""&&(r=`${u}:${p}`),dn(e,{alpn:N===""?void 0:N.split(","),fingerprint:S,flow:b,group:L.v2ray,host:m,network:f,path:h,port:p,publicKey:$,remark:r,scv:A(n,"allowInsecure")===""?void 0:Je(A(n,"allowInsecure")),server:u,shortId:k,sni:v,tls:l,userId:c})}function qi(t,e){let s=t.slice(7),r="",n="",i=s.lastIndexOf("#");i!==-1&&(r=q(s.slice(i+1)),s=s.slice(0,i));let o=s.indexOf("?");o!==-1&&(n=s.slice(o+1),s=s.slice(0,o));let a=/^(.*?):(.*?)@\[?(.*?)\]?:(\d+)$/.exec(s);if(!a)return;let c=a[1],u=a[2],p=a[3],f=a[4];if(f==="0")return;let l=A(n,"congestion_control")||A(n,"congestion-controller"),m=A(n,"alpn"),y=A(n,"sni");r===""&&(r=`${p}:${f}`),hn(e,{alpn:m===""?void 0:m.split(","),congestionControl:l,group:L.v2ray,password:u,port:f,remark:r,scv:A(n,"allow_insecure")===""?void 0:Je(A(n,"allow_insecure")),server:p,sni:y,userId:c})}function Wi(t,e){ie(t,"ssr://")?_i(t,e):ie(t,"vmess://")||ie(t,"vmess1://")?Ei(t,e):ie(t,"ss://")?Ri(t,e):ie(t,"socks://")||ie(t,"https://t.me/socks")||ie(t,"tg://socks")?Mi(t,e):ie(t,"https://t.me/http")||ie(t,"tg://http")?Di(t,e):ie(t,"Netch://")?mn(t,e):ie(t,"trojan://")?ji(t,e):ie(t,"vless://")?Vi(t,e):ie(t,"tuic://")?qi(t,e):t.includes("hysteria2://")||t.includes("hy2://")?Ui(t,e):ie(t,"anytls://")?Gi(t,e):Oi(t)&&Bi(t,e)}function Hi(t,e){let s=!1;if(ie(t,"ssd://")&&(Fi(t,e),s=!0),!s&&/"?(Proxy|proxies)"?:/.test(t)&&vi(t,e)&&(s=!0),!s&&Zr(t,e)&&(s=!0),s)return;let r=re(t);if(/(vmess|shadowsocks|http|trojan)\s*?=/.test(r)&&Zr(r,e))return;let n=e.length;en(r,e),e.length===n&&r!==t&&en(t,e)}function en(t,e){let s=t.replace(/\r\n/g,`
130
- `),r=Xr(s,`
131
- `)<1?Xr(s,"\r")<1?" ":"\r":`
132
- `;for(let n of s.split(r)){let i=n.replace(/\r/g,"");if(i==="")continue;let o=pe();Wi(i,o),o.type!=="unknown"&&e.push(o)}}function ys(t){let e=[];return Si(t,e)||Hi(t,e),e}var Yi=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],Zf=new Set(Yi);function gn(t){try{return new RegExp(t)}catch{return/$^/}}function er(t,e){return gn(e).test(t)}function Ji(t,e){let s=gn(e).exec(t);return s!==null&&s[0]===t}var Xi={anytls:"ANYTLS",http:"HTTP",https:"HTTPS",hysteria:"HYSTERIA",hysteria2:"HYSTERIA2",ss:"SS",ssr:"SSR",snell:"SNELL",socks5:"SOCKS5",trojan:"TROJAN",tuic:"TUIC",vless:"VLESS",vmess:"VMESS",wireguard:"WIREGUARD"};function tn(t,e){let s=t.split(","),r=!1;for(let n of s)if(/^-?\d+$/.test(n))Number.parseInt(n,10)===e&&(r=!0);else if(/^(\d+)-(\d+)$/.test(n)){let i=/^(\d+)-(\d+)$/.exec(n),o=Number.parseInt(i[1],10),a=Number.parseInt(i[2],10);e>=o&&e<=a&&(r=!0)}else if(/^!-?(\d+)$/.test(n)){r=!0;let i=/^!-?(\d+)$/.exec(n);Number.parseInt(i[1],10)===e&&(r=!1)}else if(/^!(\d+)-(\d+)$/.test(n)){r=!0;let i=/^!(\d+)-(\d+)$/.exec(n),o=Number.parseInt(i[1],10),a=Number.parseInt(i[2],10);e>=o&&e<=a&&(r=!1)}else if(/^(\d+)-$/.test(n)){let i=/^(\d+)-$/.exec(n);Number.parseInt(i[1],10)>=e&&(r=!0)}else if(/^(\d+)\+$/.test(n)){let i=/^(\d+)\+$/.exec(n);Number.parseInt(i[1],10)<=e&&(r=!0)}return r}function Qi(t,e){if(t.startsWith("!!GROUP=")){let s=/^!!(?:GROUP)=(.+?)(?:!!(.*))?$/.exec(t),r=s?.[1]??"",n=s?.[2]??"";return{matched:er(e.group,r),realRule:n}}if(t.startsWith("!!GROUPID=")||t.startsWith("!!INSERT=")){let s=/^!!(?:GROUPID|INSERT)=([\d\-+!,]+)(?:!!(.*))?$/.exec(t),r=s?.[1]??"",n=s?.[2]??"",i=t.startsWith("!!INSERT=")?-1:1;return{matched:tn(r,i*e.groupId),realRule:n}}if(t.startsWith("!!TYPE=")){let s=/^!!(?:TYPE)=(.+?)(?:!!(.*))?$/.exec(t),r=s?.[1]??"",n=s?.[2]??"";if(e.type==="unknown")return{matched:!1,realRule:n};let i=Xi[e.type]??"";return{matched:Ji(i,r),realRule:n}}if(t.startsWith("!!PORT=")){let s=/^!!(?:PORT)=(.+?)(?:!!(.*))?$/.exec(t),r=s?.[1]??"",n=s?.[2]??"";return{matched:tn(r,e.port),realRule:n}}if(t.startsWith("!!SERVER=")){let s=/^!!(?:SERVER)=(.+?)(?:!!(.*))?$/.exec(t),r=s?.[1]??"",n=s?.[2]??"";return{matched:er(e.hostname,r),realRule:n}}return{matched:!0,realRule:t}}function yn(t,e,s=!0){let r=t.replace(/=/g,"-");s&&r.includes(",")&&(r=`"${r}"`);let n=r,i=2;for(;e.includes(n);)n=`${r} ${i}`,i+=1;return n}function bn(t,e,s,r){if(t.startsWith("[]")&&r){s.push(t.slice(2));return}for(let n of e){let{matched:i,realRule:o}=Qi(t,n);i&&(o===""||er(n.remark,o))&&!s.includes(n.remark)&&s.push(n.remark)}}var zi=["origin","auth_sha1_v4","auth_aes128_md5","auth_aes128_sha1","auth_chain_a","auth_chain_b"],Zi=["plain","http_simple","http_post","random_head","tls1.2_ticket_auth","tls1.2_ticket_fastauth"],xi=["rc4-md5","aes-128-ctr","aes-192-ctr","aes-256-ctr","aes-128-cfb","aes-192-cfb","aes-256-cfb","chacha20-ietf","xchacha20","none"];function eo(t){return t.replace(/^\[+/,"").replace(/\]+$/,"")}function to(t,e,s,r,n,i){let o={name:r,port:t.port,server:eo(t.hostname)};switch(t.type){case"ss":{if(e.filterDeprecated&&t.encryptMethod==="chacha20")return;o.type="ss",o.cipher=t.encryptMethod,o.password=t.password;let a=t.pluginOption.replace(/;/g,"&");if(t.plugin==="simple-obfs"||t.plugin==="obfs-local")o.plugin="obfs",o["plugin-opts"]={host:q(A(a,"obfs-host")),mode:q(A(a,"obfs"))};else if(t.plugin==="v2ray-plugin"){o.plugin="v2ray-plugin";let c={host:A(a,"host"),mode:A(a,"mode"),mux:a.includes("mux"),path:A(a,"path"),tls:a.includes("tls")};n!==void 0&&(c["skip-cert-verify"]=n),o["plugin-opts"]=c}break}case"vmess":{switch(o.type="vmess",o.uuid=t.userId,o.alterId=t.alterId,o.cipher=t.encryptMethod,o.tls=t.tlsSecure,n!==void 0&&(o["skip-cert-verify"]=n),t.serverName!==""&&(o.servername=t.serverName),t.transferProtocol){case"tcp":break;case"ws":o.network=t.transferProtocol,e.clashNewFieldName?o["ws-opts"]={...t.host!==""||t.edge!==""?{headers:{...t.edge!==""?{Edge:t.edge}:{},...t.host!==""?{Host:t.host}:{}}}:{},path:t.path}:(o["ws-path"]=t.path,(t.host!==""||t.edge!=="")&&(o["ws-headers"]={...t.edge!==""?{Edge:t.edge}:{},...t.host!==""?{Host:t.host}:{}}));break;case"http":o.network=t.transferProtocol,o["http-opts"]={...t.host!==""||t.edge!==""?{headers:{...t.edge!==""?{Edge:[t.edge]}:{},...t.host!==""?{Host:[t.host]}:{}}}:{},method:"GET",path:[t.path]};break;case"h2":o.network=t.transferProtocol,o["h2-opts"]={...t.host!==""?{host:[t.host]}:{},path:t.path};break;case"grpc":o.network=t.transferProtocol,o.servername=t.host,o["grpc-opts"]={"grpc-service-name":t.path};break;default:return}break}case"ssr":{if(e.filterDeprecated&&(!s&&!xi.includes(t.encryptMethod)||!zi.includes(t.protocol)||!Zi.includes(t.obfs)))return;o.type="ssr",o.cipher=t.encryptMethod==="none"?"dummy":t.encryptMethod,o.password=t.password,o.protocol=t.protocol,o.obfs=t.obfs,s?(o.protocolparam=t.protocolParam,o.obfsparam=t.obfsParam):(o["protocol-param"]=t.protocolParam,o["obfs-param"]=t.obfsParam);break}case"socks5":o.type="socks5",t.username!==""&&(o.username=t.username),t.password!==""&&(o.password=t.password),n!==void 0&&(o["skip-cert-verify"]=n);break;case"http":case"https":o.type="http",t.username!==""&&(o.username=t.username),t.password!==""&&(o.password=t.password),o.tls=t.tlsSecure,n!==void 0&&(o["skip-cert-verify"]=n);break;case"trojan":switch(o.type="trojan",o.password=t.password,t.host!==""&&(o.sni=t.host),n!==void 0&&(o["skip-cert-verify"]=n),t.transferProtocol){case"tcp":break;case"grpc":o.network=t.transferProtocol,t.path!==""&&(o["grpc-opts"]={"grpc-service-name":t.path});break;case"ws":o.network=t.transferProtocol,o["ws-opts"]={...t.host!==""?{headers:{Host:t.host}}:{},path:t.path};break;default:break}break;case"snell":if(t.snellVersion>=4)return;o.type="snell",o.psk=t.password,t.snellVersion!==0&&(o.version=t.snellVersion),t.obfs!==""&&(o["obfs-opts"]={...t.host!==""?{host:t.host}:{},mode:t.obfs});break;case"wireguard":o.type="wireguard",o["public-key"]=t.publicKey,o["private-key"]=t.privateKey,o.ip=t.selfIp,t.selfIpv6!==""&&(o.ipv6=t.selfIpv6),t.preSharedKey!==""&&(o["preshared-key"]=t.preSharedKey),t.dnsServers.length>0&&(o.dns=t.dnsServers),t.mtu>0&&(o.mtu=t.mtu);break;case"hysteria":{o.type="hysteria",t.ports!==""&&(o.ports=t.ports),t.protocol!==""&&(o.protocol=t.protocol),t.obfsParam!==""&&(o["obfs-protocol"]=t.obfsParam),t.up!==""&&(o.up=t.up),t.upSpeed&&(o["up-speed"]=t.upSpeed),t.down!==""&&(o.down=t.down),t.downSpeed&&(o["down-speed"]=t.downSpeed),t.authStr!==""&&(o["auth-str"]=t.authStr,o.auth=an(t.authStr)),t.obfs!==""&&(o.obfs=t.obfs),t.sni!==""&&(o.sni=t.sni),n!==void 0&&(o["skip-cert-verify"]=n),t.fingerprint!==""&&(o.fingerprint=t.fingerprint),t.alpn.length>0&&(o.alpn=t.alpn),t.ca!==""&&(o.ca=t.ca),t.caStr!==""&&(o["ca-str"]=t.caStr),t.recvWindowConn&&(o["recv-window-conn"]=t.recvWindowConn),t.recvWindow&&(o["recv-window"]=t.recvWindow),t.disableMtuDiscovery!==void 0&&(o["disable-mtu-discovery"]=t.disableMtuDiscovery),t.tcpFastOpen!==void 0&&(o["fast-open"]=t.tcpFastOpen),t.hopInterval&&(o["hop-interval"]=t.hopInterval);break}case"hysteria2":o.type="hysteria2",t.ports!==""&&(o.ports=t.ports),t.upSpeed&&(o.up=t.upSpeed),t.downSpeed&&(o.down=t.downSpeed),t.password!==""&&(o.password=t.password),t.obfs!==""&&(o.obfs=t.obfs),t.obfsParam!==""&&(o["obfs-password"]=t.obfsParam),t.sni!==""&&(o.sni=t.sni),n!==void 0&&(o["skip-cert-verify"]=n),t.fingerprint!==""&&(o.fingerprint=t.fingerprint),t.alpn.length>0&&(o.alpn=t.alpn),t.ca!==""&&(o.ca=t.ca),t.caStr!==""&&(o["ca-str"]=t.caStr),t.cwnd&&(o.cwnd=t.cwnd),t.hopInterval&&(o["hop-interval"]=t.hopInterval);break;case"anytls":o.type="anytls",o.password=t.password,t.sni!==""&&(o.sni=t.sni),n!==void 0&&(o["skip-cert-verify"]=n);break;case"vless":if(o.type="vless",o.uuid=t.userId,t.flow!==""&&(o.flow=t.flow),o.tls=t.tlsSecure,t.serverName!==""&&(o.servername=t.serverName),t.fingerprint!==""&&(o["client-fingerprint"]=t.fingerprint),t.publicKey!==""||t.shortId!==""){let a={};t.publicKey!==""&&(a["public-key"]=t.publicKey),a["short-id"]=t.shortId,o["reality-opts"]=a}switch(t.alpn.length>0&&(o.alpn=t.alpn),n!==void 0&&(o["skip-cert-verify"]=n),t.transferProtocol){case"tcp":break;case"ws":o.network=t.transferProtocol,o["ws-opts"]={...t.host!==""?{headers:{Host:t.host}}:{},path:t.path};break;case"grpc":o.network=t.transferProtocol,o["grpc-opts"]={"grpc-service-name":t.path};break;default:break}break;case"tuic":o.type="tuic",o.uuid=t.userId,o.password=t.password,t.congestionControl!==""&&(o["congestion-controller"]=t.congestionControl),t.alpn.length>0&&(o.alpn=t.alpn),t.serverName!==""&&(o.sni=t.serverName),n!==void 0&&(o["skip-cert-verify"]=n);break;default:return}return so(t,e)&&t.type!=="snell"&&(o.udp=!0),i!==void 0&&(o.tfo=i),e.clashNewFieldName&&t.underlyingProxy!==""&&(o["dialer-proxy"]=t.underlyingProxy),o}function so(t,e){return t.udp!==void 0?t.udp:e.udp===!0}function ro(t,e,s,r=!1){let n=[],i=[],o=[];for(let u of t){let p=rn(u.type);s.appendProxyType&&(u.remark=`[${p}] ${u.remark}`);let f=yn(u.remark,o,!1);u.remark=f;let l=u.allowInsecure!==void 0?u.allowInsecure:s.skipCertVerify,m=u.tcpFastOpen!==void 0?u.tcpFastOpen:s.tfo,y=to(u,s,r,f,l,m);y&&(n.push(y),o.push(f),i.push(u))}if(s.nodeList)return{doc:{proxies:n},nodeList:i};let a=[];for(let u of e){let p={name:u.name,type:u.type==="smart"?"url-test":u.type};switch(u.type){case"select":case"relay":break;case"load-balance":p.strategy=u.strategy,p.lazy=u.lazy,p.url=u.url,u.interval>0&&(p.interval=u.interval),u.tolerance>0&&(p.tolerance=u.tolerance);break;case"smart":case"url-test":u.lazy!==void 0&&(p.lazy=u.lazy),p.url=u.url,u.interval>0&&(p.interval=u.interval),u.tolerance>0&&(p.tolerance=u.tolerance);break;case"fallback":p.url=u.url,u.interval>0&&(p.interval=u.interval),u.tolerance>0&&(p.tolerance=u.tolerance);break;default:continue}u.disableUdp!==void 0&&(p["disable-udp"]=u.disableUdp);let f=[];for(let l of u.proxies)bn(l,i,f,!0);u.usingProvider.length>0?p.use=u.usingProvider:(f.length===0&&f.push("DIRECT"),p.proxies=f),a.push(p)}let c={};return s.clashNewFieldName?(c.proxies=n,a.length>0&&(c["proxy-groups"]=a)):(c.Proxy=n,a.length>0&&(c["Proxy Group"]=a)),{doc:c,nodeList:i}}function no(t){return Qs(t,{aliasDuplicateObjects:!1,lineWidth:0})}function wn(t,e,s,r=!1){let{doc:n}=ro(t,e,s,r);return no(n)}function io(t){let e=[],s;for(let r of t.split(/\r?\n/)){let n=r,i=/^\[(.*)\]$/.exec(n.trim());if(i){s={lines:[],name:i[1].trim()},e.push(s);continue}n.trim()!==""&&s&&s.lines.push(n)}return e}function le(t){return t?"true":"false"}function sn(t,e){let s=`http, ${t.hostname}, ${t.port}`;return t.username!==""&&(s+=`, username=${t.username}`),t.password!==""&&(s+=`, password=${t.password}`),s+=`, tls=${le(t.tlsSecure)}`,e!==void 0&&(s+=`, skip-cert-verify=${le(e)}`),s}function oo(t,e=!1){let s=`public-key = ${t.publicKey}`;return s+=`, endpoint = ${t.hostname}:${t.port}`,t.preSharedKey!==""&&(s+=`, preshared-key = ${t.preSharedKey}`),t.allowedIps!==""&&(s+=`, allowed-ips = "${t.allowedIps}"`),t.keepAlive>0&&(s+=`, keepalive = ${t.keepAlive}`),t.clientId!==""&&(s+=e?`, reserved = [${t.clientId}]`:`, client-id = ${t.clientId}`),s}function ao(t,e,s,r){let n=r.version,i=[],o=[],a=[],c=new Map,u=[],p=1080;for(let l of t){s.appendProxyType&&(l.remark=`[${rn(l.type)}] ${l.remark}`);let m=yn(l.remark,i);l.remark=m;let y=l.udp!==void 0?l.udp:s.udp,d=l.tcpFastOpen!==void 0?l.tcpFastOpen:s.tfo,h=l.allowInsecure!==void 0?l.allowInsecure:s.skipCertVerify,v=l.tls13!==void 0?l.tls13:s.tls13,b="";switch(l.type){case"ss":if(n>=3||n===-3?b=`ss, ${l.hostname}, ${l.port}, encrypt-method=${l.encryptMethod}, password=${l.password}`:b=`custom, ${l.hostname}, ${l.port}, ${l.encryptMethod}, ${l.password}, https://github.com/pobizhe/SSEncrypt/raw/master/SSEncrypt.module`,l.plugin!=="")if(l.plugin==="simple-obfs"||l.plugin==="obfs-local")l.pluginOption!==""&&(b+=`,${l.pluginOption.replace(/;/g,",")}`);else continue;break;case"vmess":{if(n<4&&n!==-3)continue;b=`vmess, ${l.hostname}, ${l.port}, username=${l.userId}, tls=${le(l.tlsSecure)}, vmess-aead=${l.alterId===0?"true":"false"}`,l.tlsSecure&&v!==void 0&&(b+=`, tls13=${le(v)}`);let S=[];switch(l.transferProtocol){case"tcp":break;case"ws":{l.host===""?b+=`, ws=true, ws-path=${l.path}, sni=${l.hostname}`:b+=`, ws=true, ws-path=${l.path}, sni=${l.host}`,l.host!==""&&S.push(`Host:${l.host}`),l.edge!==""&&S.push(`Edge:${l.edge}`),S.length>0&&(b+=`, ws-headers=${S.join("|")}`);break}default:continue}h!==void 0&&(b+=`, skip-cert-verify=${le(h)}`);break}case"ssr":{if(s.surgeSsrPath===""||n<2)continue;let S=["-l",String(p),"-s",l.hostname,"-p",String(l.port),"-m",l.encryptMethod,"-k",l.password,"-o",l.obfs,"-O",l.protocol];l.obfsParam!==""&&S.push("-g",l.obfsParam),l.protocolParam!==""&&S.push("-G",l.protocolParam),b=`external, exec="${s.surgeSsrPath}", args="${S.join('", args="')}", local-port=${p}`,(ln(l.hostname)||un(l.hostname))&&(b+=`, addresses=${l.hostname}`),p+=1;break}case"socks5":b=`socks5, ${l.hostname}, ${l.port}`,l.username!==""&&(b+=`, username=${l.username}`),l.password!==""&&(b+=`, password=${l.password}`),h!==void 0&&(b+=`, skip-cert-verify=${le(h)}`);break;case"https":if(n===-3){b=`https, ${l.hostname}, ${l.port}, ${l.username}, ${l.password}`,h!==void 0&&(b+=`, skip-cert-verify=${le(h)}`);break}b=sn(l,h);break;case"http":b=sn(l,h);break;case"trojan":if(n<4&&n!==-3)continue;if(b=`trojan, ${l.hostname}, ${l.port}, password=${l.password}`,l.snellVersion!==0&&(b+=`, version=${l.snellVersion}`),l.host!==""&&(b+=`, sni=${l.host}`),l.transferProtocol==="ws"){b+=", ws=true",l.path!==""&&(b+=`, ws-path=${l.path}`);let S=l.host!==""?l.host:l.hostname;b+=`, ws-headers=Host:"${S}"`}h!==void 0&&(b+=`, skip-cert-verify=${le(h)}`);break;case"snell":b=`snell, ${l.hostname}, ${l.port}, psk=${l.password}`,l.obfs!==""&&(b+=`, obfs=${l.obfs}`,l.host!==""&&(b+=`, obfs-host=${l.host}`)),l.snellVersion!==0&&(b+=`, version=${l.snellVersion}`);break;case"wireguard":{if(n<4&&n!==-3)continue;let S=fi(l.remark).slice(0,5);b=`wireguard, section-name=${S}`,l.testUrl!==""&&(b+=`, test-url=${l.testUrl}`);let $=[`private-key = ${l.privateKey}`,`self-ip = ${l.selfIp}`];l.selfIpv6!==""&&$.push(`self-ip-v6 = ${l.selfIpv6}`),l.dnsServers.length>0&&$.push(`dns-server = ${l.dnsServers.join(",")}`),l.mtu>0&&$.push(`mtu = ${l.mtu}`),$.push(`peer = (${oo(l)})`);let k=`WireGuard ${S}`;c.set(k,$),u.push(k);break}case"hysteria2":if(n<4)continue;b=`hysteria2, ${l.hostname}, ${l.port}, password=${l.password}`,l.downSpeed&&(b+=`, download-bandwidth=${l.downSpeed}`),h!==void 0&&(b+=`,skip-cert-verify=${le(h)}`),l.fingerprint!==""&&(b+=`,server-cert-fingerprint-sha256=${l.fingerprint}`),l.sni!==""&&(b+=`,sni=${l.sni}`);break;case"anytls":if(n<4&&n!==-3)continue;b=`anytls, ${l.hostname}, ${l.port}, password=${l.password}`,l.sni!==""&&(b+=`,sni=${l.sni}`);break;default:continue}d!==void 0&&(b+=`, tfo=${le(d)}`),y!==void 0&&(b+=`, udp-relay=${le(y)}`),l.underlyingProxy!==""&&(b+=`, underlying-proxy=${l.underlyingProxy}`),o.push(`${m} = ${b}`),i.push(m),a.push(l)}if(r.nodeList)return{extraSections:c,groups:[],proxies:o,sectionOrder:u};let f=[];for(let l of e){let m=[],y="";switch(l.type){case"select":case"smart":case"url-test":case"fallback":break;case"load-balance":if(n<1&&n!==-3)continue;break;case"ssid":{let d=l.proxies.slice(1).join(","),h=`${l.type},default=${l.proxies[0]??""},${d}`;f.push(`${l.name} = ${h}`);continue}default:continue}for(let d of l.proxies)bn(d,a,m,!0);if(m.length===0&&m.push("DIRECT"),m.length===1){let d=m[0].toLowerCase();if(d==="direct"||d==="reject"||d==="reject-tinygif"){o.push(`${l.name} = ${d}`);continue}}y=`${l.type},${m.join(",")}`,(l.type==="url-test"||l.type==="fallback"||l.type==="load-balance")&&(y+=`,url=${l.url},interval=${l.interval}`,l.tolerance>0&&(y+=`,tolerance=${l.tolerance}`),l.timeout>0&&(y+=`,timeout=${l.timeout}`),l.persistent!==void 0&&(y+=`,persistent=${le(l.persistent)}`),l.evaluateBeforeUse!==void 0&&(y+=`,evaluate-before-use=${le(l.evaluateBeforeUse)}`)),f.push(`${l.name} = ${y}`)}return{extraSections:c,groups:f,proxies:o,sectionOrder:u}}function vn(t,e,s,r){let n=ao(t,e,s,r);if(r.nodeList)return n.proxies.join(`
133
- `);let i=r.baseConf===""?[]:io(r.baseConf),o=new Map,a=[];for(let p of i)o.set(p.name,p),a.push(p.name);let c=(p,f)=>{o.has(p)||a.push(p),o.set(p,{lines:f,name:p})};c("Proxy",["DIRECT = direct",...n.proxies]),n.groups.length>0&&c("Proxy Group",n.groups);for(let p of n.sectionOrder)c(p,n.extraSections.get(p));r.rules&&r.rules.lines.length>0&&c(r.rules.section,r.rules.lines);let u=[];for(let p of a){let f=o.get(p);f&&(u.push(`[${p}]`),u.push(...f.lines),u.push(""))}return u.join(`
129
+ `,s)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let s=us(t),r=it(s);return r.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let s=us(t),r=it(s);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,s){return this.type!=="comment"||this.indent<=s?!1:t.every(r=>r.type==="newline"||r.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};function oi(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new Ot||null,prettyErrors:t}}function Xr(e,t={}){let{lineCounter:s,prettyErrors:r}=oi(t),n=new Et(s?.addNewLine),i=new It(t),o=null;for(let a of i.compose(n.parse(e),!0,e.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Se(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return r&&s&&(o.errors.forEach(Bs(e,s)),o.warnings.forEach(Bs(e,s))),o}function ps(e,t,s){let r;typeof t=="function"?r=t:s===void 0&&t&&typeof t=="object"&&(s=t);let n=Xr(e,s);if(!n)return null;if(n.warnings.forEach(i=>Gt(n.options.logLevel,i)),n.errors.length>0){if(n.options.logLevel!=="silent")throw n.errors[0];n.errors=[]}return n.toJS(Object.assign({reviver:r},s))}function zs(e,t,s){let r=null;if(typeof t=="function"||Array.isArray(t)?r=t:s===void 0&&t&&(s=t),typeof s=="string"&&(s=s.length),typeof s=="number"){let n=Math.round(s);s=n<1?void 0:n>8?{indent:8}:{indent:n}}if(e===void 0){let{keepUndefined:n}=s??t??{};if(!n)return}return me(e)&&!r?e.toString(s):new De(e,r,s).toString(s)}function nn(e){switch(e){case"ss":return"SS";case"ssr":return"SSR";case"vmess":return"VMess";case"vless":return"VLESS";case"trojan":return"Trojan";case"snell":return"Snell";case"http":return"HTTP";case"https":return"HTTPS";case"socks5":return"SOCKS5";case"wireguard":return"WireGuard";case"hysteria":return"Hysteria";case"hysteria2":return"Hysteria2";case"tuic":return"TUIC";case"anytls":return"AnyTLS";default:return"Unknown"}}var P={anytls:"AnyTLSProvider",http:"HTTPProvider",hysteria:"HysteriaProvider",hysteria2:"Hysteria2Provider",snell:"SnellProvider",socks:"SocksProvider",ss:"SSProvider",ssr:"SSRProvider",trojan:"TrojanProvider",tuic:"TUICProvider",v2ray:"V2RayProvider",wireguard:"WireGuardProvider"};function pe(){return{allowedIps:"0.0.0.0/0, ::/0",allowInsecure:void 0,alpn:[],alterId:0,authStr:"",ca:"",caStr:"",clientId:"",congestionControl:"",cwnd:0,disableMtuDiscovery:void 0,dnsServers:[],down:"",downSpeed:0,edge:"",encryptMethod:"",fakeType:"",fingerprint:"",flow:"",group:"",groupId:0,hopInterval:0,host:"",hostname:"",id:0,keepAlive:0,mtu:0,obfs:"",obfsParam:"",password:"",path:"",plugin:"",pluginOption:"",port:0,ports:"",preSharedKey:"",privateKey:"",protocol:"",protocolParam:"",publicKey:"",quicSecret:"",quicSecure:"",recvWindow:0,recvWindowConn:0,remark:"",selfIp:"",selfIpv6:"",serverName:"",shortId:"",snellVersion:0,sni:"",tcpFastOpen:void 0,testUrl:"",tls13:void 0,tlsSecure:!1,transferProtocol:"",type:"unknown",udp:void 0,underlyingProxy:"",up:"",upSpeed:0,userId:"",username:""}}var on=(e=>(e.Clash="clash",e.ClashR="clashr",e.Surge="surge",e.Surfboard="surfboard",e.QuantumultX="quanx",e.Quantumult="quan",e.Loon="loon",e.Mellow="mellow",e.V2Ray="v2ray",e.Trojan="trojan",e.SSD="ssd",e.SSC="ss",e.SSSub="sssub",e.SSR="ssr",e.SingBox="singbox",e.Mixed="mixed",e.NodeList="nodelist",e.Auto="auto",e))(on||{});function an(){return{addEmoji:!1,appendProxyType:!1,authorized:!1,autoCountry:!1,clashClassicalRuleset:!1,clashFlavor:"mihomo",clashNewFieldName:!0,clashProxiesStyle:"flow",clashProxyGroupsStyle:"flow",clashScript:!1,countryResolver:void 0,dedupe:!1,emojiArray:[],enableRuleGenerator:!0,excludeCountries:[],excludeRemarks:[],expandRulesets:!0,filterDeprecated:!1,includeCountries:[],includeRemarks:[],managedConfigPrefix:"",nameRegexArray:[],nameRemove:[],nodeList:!1,overwriteOriginalRules:!0,quanxDevId:"",removeEmoji:!1,renameArray:[],skipCertVerify:void 0,sortFlag:!1,sortScript:"",surgeSsrPath:"",templateVars:{},tfo:void 0,tls13:void 0,udp:void 0}}var xs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var hs={};for(let e=0;e<xs.length;e+=1)hs[xs[e]]=e;hs["-"]=62;hs._=63;function ci(e){return new TextEncoder().encode(e)}function li(e){return new TextDecoder("utf-8",{fatal:!1}).decode(e)}function ui(e,t){let s=ci(e),r="";for(let n=0;n<s.length;n+=3){let i=s[n],o=n+1<s.length?s[n+1]:0,a=n+2<s.length?s[n+2]:0,c=i<<16|o<<8|a;r+=t[c>>18&63],r+=t[c>>12&63],r+=n+1<s.length?t[c>>6&63]:"=",r+=n+2<s.length?t[c&63]:"="}return r}function fi(e){let s=e.replace(/\s+/g,"").replace(/=+$/,""),r=[],n=0,i=0;for(let o of s){let a=hs[o];a!==void 0&&(n=n<<6|a,i+=6,i>=8&&(i-=8,r.push(n>>i&255)))}return Uint8Array.from(r)}function cn(e){return ui(e,xs)}function ln(e){return li(fi(e))}function ne(e){return ln(e)}function pi(e){return e.startsWith("\uFEFF")?e.slice(1):e}function L(e){return e.replace(/^\s+|\s+$/g,"")}function V(e){if(e==null)return 0;if(typeof e=="number")return Number.isFinite(e)?Math.trunc(e):0;let t=/[+-]?\d+/.exec(e);if(!t)return 0;let s=Number.parseInt(t[0],10);return Number.isNaN(s)?0:s}function x(e,t){return e.startsWith(t)}function Qr(e,t){if(t==="")return 0;let s=0,r=e.indexOf(t);for(;r!==-1;)s+=1,r=e.indexOf(t,r+t.length);return s}function Q(e,t,s=!1){let r=e.split(t);return s?r.filter(n=>n!==""):r}function un(e){let t=e.split(".");return t.length!==4?!1:t.every(s=>/^\d{1,3}$/.test(s)&&Number(s)<=255)}function fn(e){return/^\[?[0-9A-Fa-f:]{2,}\]?$/.test(e)&&e.includes(":")}function U(e){try{return decodeURIComponent(e)}catch{return e.replace(/%([0-9A-Fa-f]{2})/g,(t,s)=>String.fromCharCode(Number.parseInt(s,16)))}}function zr(e){return e.toLowerCase().replace(/_/g,"-")}function di(e,t){if(e==="")return[];let s=e.split("#",1)[0],r=s.indexOf("?"),n=r>=0?s.slice(r+1):s,i=n.startsWith("?")?n.slice(1):n,o=[],a=zr(t);for(let c of i.split("&")){if(c==="")continue;let u=c.indexOf("="),p=u>=0?c.slice(0,u):c;zr(U(p))===a&&o.push(U(u>=0?c.slice(u+1):""))}return o}function k(e,t){let s=di(e,t);return s.length>0?s[s.length-1].trim():""}function hi(e){let t=0xcbf29ce484222325n,s=0x100000001b3n;for(let r of e)t^=BigInt(r.codePointAt(0)),t=BigInt.asUintN(64,t*s);return t}function mi(e){return hi(e).toString(16)}var rp=new Set(Object.values(on));var np=1024**3/1e3**3;var gi=["2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm","2022-blake3-chacha20-poly1305","2022-blake3-chacha12-poly1305","2022-blake3-chacha8-poly1305","aes-128-cfb","aes-128-ctr","aes-128-gcm","aes-192-cfb","aes-192-ctr","aes-192-gcm","aes-256-cfb","aes-256-ctr","aes-256-gcm","bf-cfb","camellia-128-cfb","camellia-192-cfb","camellia-256-cfb","chacha20","chacha20-ietf","chacha20-ietf-poly1305","rc4-md5","salsa20","xchacha20-ietf-poly1305"];function pn(e){return gi.includes(e.toLowerCase())}function ms(e,t,s){return pn(e)&&(t===""||t==="plain")&&(s===""||s==="origin")}function ue(e,t,s,r,n,i,o,a,c,u,p){e.type=t,e.group=s,e.remark=r,e.hostname=n,e.underlyingProxy=p,e.port=V(i),e.udp=o,e.tcpFastOpen=a,e.allowInsecure=c,e.tls13=u}function Ie(e,t){let{add:s,aid:r=0,cipher:n="",edge:i="",group:o,host:a="",id:c="",net:u="",path:p="",port:f,remark:l,scv:h,sni:g="",tfo:d,tls:m="",tls13:v,type:b="",udp:S,underlyingProxy:$=""}=t;ue(e,"vmess",o,l,s,f,S,d,h,v,$),e.userId=c===""?"00000000-0000-0000-0000-000000000000":c,e.alterId=V(r),e.encryptMethod=n,e.transferProtocol=u===""?"tcp":u,e.edge=i,e.serverName=g,u==="quic"?(e.quicSecure=a,e.quicSecret=p):(e.host=a===""&&!un(s)&&!fn(s)?s:L(a),e.path=p===""?"/":L(p)),e.fakeType=b,e.tlsSecure=m==="tls"}function Je(e,t){ue(e,"ssr",t.group,t.remark,t.server,t.port,t.udp,t.tfo,t.scv,void 0,t.underlyingProxy??""),e.password=t.password,e.encryptMethod=t.method,e.protocol=t.protocol,e.protocolParam=t.protocolParam??"",e.obfs=t.obfs,e.obfsParam=t.obfsParam??""}function ae(e,t){ue(e,"ss",t.group,t.remark,t.server,t.port,t.udp,t.tfo,t.scv,t.tls13,t.underlyingProxy??""),e.password=t.password,e.encryptMethod=t.method,e.plugin=t.plugin??"",e.pluginOption=t.pluginOption??""}function ot(e,t){ue(e,"socks5",t.group,t.remark,t.server,t.port,t.udp,t.tfo,t.scv,void 0,t.underlyingProxy??""),e.username=t.username??"",e.password=t.password??""}function at(e,t){ue(e,t.tls?"https":"http",t.group,t.remark,t.server,t.port,void 0,t.tfo,t.scv,t.tls13,t.underlyingProxy??""),e.username=t.username??"",e.password=t.password??"",e.tlsSecure=t.tls}function Nt(e,t){ue(e,"trojan",t.group,t.remark,t.server,t.port,t.udp,t.tfo,t.scv,t.tls13,t.underlyingProxy??""),e.password=t.password,e.host=t.host??"",e.tlsSecure=t.tlsSecure??!0,e.transferProtocol=t.network===void 0||t.network===""?"tcp":t.network,e.path=t.path??"",e.serverName=t.sni??""}function gs(e,t){ue(e,"snell",t.group,t.remark,t.server,t.port,t.udp,t.tfo,t.scv,void 0,t.underlyingProxy??""),e.password=t.password,e.obfs=t.obfs??"",e.host=t.host??"",e.snellVersion=t.version??0}function ys(e,t){ue(e,"anytls",t.group,t.remark,t.server,t.port,t.udp,t.tfo,t.scv,void 0,t.underlyingProxy??""),e.tlsSecure=!0,e.password=t.password,e.sni=t.sni??""}function sr(e,t){ue(e,"wireguard",t.group,t.remark,t.server,t.port,t.udp,void 0,void 0,void 0,t.underlyingProxy??""),e.selfIp=t.selfIp??"",e.selfIpv6=t.selfIpv6??"",e.privateKey=t.privateKey??"",e.publicKey=t.publicKey??"",e.preSharedKey=t.preSharedKey??"",e.dnsServers=t.dnsServers??[],e.mtu=V(t.mtu),e.keepAlive=V(t.keepAlive),e.testUrl=t.testUrl??"",e.clientId=t.clientId??""}function dn(e,t){ue(e,"hysteria",t.group,t.remark,t.server,t.port,void 0,t.tfo,t.scv,void 0,t.underlyingProxy??""),e.ports=t.ports??"",e.protocol=t.protocol??"",e.obfsParam=t.obfsProtocol??"";let s=t.up??"";s!==""&&(s.length>4&&s.endsWith("bps")?e.up=s:V(s)&&(e.upSpeed=V(s),e.up=`${s} Mbps`)),t.upSpeed&&(e.upSpeed=V(t.upSpeed));let r=t.down??"";r!==""&&(r.length>4&&r.endsWith("bps")?e.down=r:V(r)&&(e.downSpeed=V(r),e.down=`${r} Mbps`)),t.downSpeed&&(e.downSpeed=V(t.downSpeed)),e.authStr=t.authStr??"",t.auth&&(e.authStr=ln(t.auth)),e.tlsSecure=!0,e.obfs=t.obfs??"",e.sni=t.sni??"",e.fingerprint=t.fingerprint??"",e.ca=t.ca??"",e.caStr=t.caStr??"",e.recvWindowConn=V(t.recvWindowConn),e.recvWindow=V(t.recvWindow),e.disableMtuDiscovery=t.disableMtuDiscovery?t.disableMtuDiscovery==="true":void 0,e.hopInterval=V(t.hopInterval),t.alpn&&(e.alpn=[t.alpn])}function hn(e,t){ue(e,"hysteria2",t.group,t.remark,t.server,t.port,void 0,t.tfo,t.scv,void 0,t.underlyingProxy??""),e.tlsSecure=!0,e.upSpeed=V(t.up),e.downSpeed=V(t.down),e.ports=t.ports??"",e.password=t.password??"",e.obfs=t.obfs??"",e.obfsParam=t.obfsPassword??"",e.sni=t.sni??"",e.fingerprint=t.fingerprint??"",t.alpn&&(e.alpn=[t.alpn]),e.ca=t.ca??"",e.caStr=t.caStr??"",e.cwnd=V(t.cwnd),e.hopInterval=V(t.hopInterval)}function mn(e,t){ue(e,"vless",t.group,t.remark,t.server,t.port,t.udp,t.tfo,t.scv,void 0,t.underlyingProxy??""),e.userId=t.userId,e.flow=t.flow??"",e.encryptMethod=t.encryption??"none",e.transferProtocol=t.network===void 0||t.network===""?"tcp":t.network,e.tlsSecure=t.tls==="tls"||t.tls==="reality",e.serverName=t.sni??"",e.host=t.host??"",e.path=t.path??"",e.fingerprint=t.fingerprint??"",e.publicKey=t.publicKey??"",e.shortId=t.shortId??"",t.alpn&&(e.alpn=t.alpn)}function gn(e,t){ue(e,"tuic",t.group,t.remark,t.server,t.port,t.udp,t.tfo,t.scv,void 0,t.underlyingProxy??""),e.tlsSecure=!0,e.userId=t.userId,e.password=t.password,e.congestionControl=t.congestionControl??"",e.serverName=t.sni??"",t.alpn&&(e.alpn=t.alpn)}function Zs(e){if(!(e==null||e===""))return String(e).toLowerCase()==="true"}function K(e){return e==null?"":String(e)}function yn(e,t){let s;try{s=JSON.parse(ne(e.slice(8)))}catch{return}if(s===null||typeof s!="object")return;let r=K(s.Type),n=K(s.Group),i=K(s.Remark),o=K(s.Hostname),a=Zs(s.EnableUDP),c=Zs(s.EnableTFO),u=Zs(s.AllowInsecure),p=K(s.Port);if(p==="0"||p==="")return;let f=K(s.EncryptMethod),l=K(s.Password);switch(i===""&&(i=`${o}:${p}`),r){case"SS":ae(t,{group:n===""?P.ss:n,method:f,password:l,plugin:K(s.Plugin),pluginOption:K(s.PluginOption),port:p,remark:i,scv:u,server:o,tfo:c,udp:a});break;case"SSR":{let h=K(s.Protocol),g=K(s.OBFS);ms(f,g,h)?ae(t,{group:n===""?P.ss:n,method:f,password:l,plugin:K(s.Plugin),pluginOption:K(s.PluginOption),port:p,remark:i,scv:u,server:o,tfo:c,udp:a}):Je(t,{group:n===""?P.ssr:n,method:f,obfs:g,obfsParam:K(s.OBFSParam),password:l,port:p,protocol:h,protocolParam:K(s.ProtocolParam),remark:i,scv:u,server:o,tfo:c,udp:a});break}case"VMess":Ie(t,{add:o,aid:K(s.AlterID),cipher:f,edge:K(s.Edge),group:n===""?P.v2ray:n,host:K(s.Host),id:K(s.UserID),net:K(s.TransferProtocol),path:K(s.Path),port:p,remark:i,scv:u,sni:K(s.ServerName),tfo:c,tls:K(s.TLSSecure),type:K(s.FakeType),udp:a});break;case"Socks5":ot(t,{group:n===""?P.socks:n,password:l,port:p,remark:i,scv:u,server:o,tfo:c,udp:a,username:K(s.Username)});break;case"HTTP":case"HTTPS":at(t,{group:n===""?P.http:n,password:l,port:p,remark:i,scv:u,server:o,tfo:c,tls:r==="HTTPS"});break;case"Trojan":Nt(t,{group:n===""?P.trojan:n,host:K(s.Host),network:K(s.TransferProtocol),password:l,path:K(s.Path),port:p,remark:i,scv:u,server:o,tfo:c,tlsSecure:K(s.TLSSecure)==="true",udp:a});break;case"Snell":gs(t,{group:n===""?P.snell:n,host:K(s.Host),obfs:K(s.OBFS),password:l,port:p,remark:i,scv:u,server:o,tfo:c,udp:a,version:V(K(s.SnellVersion))});break;default:break}}function y(e){return e==null?"":String(e)}function ds(e){return typeof e=="boolean"?e:y(e).toLowerCase()==="true"}function H(e){if(!(e==null||e===""))return ds(e)}function w(e,t){return e!==null&&typeof e=="object"?e[t]:void 0}function yi(e,t){let s=w(e,"proxies")!==void 0?"proxies":"Proxy",r=w(e,s);if(!Array.isArray(r))return;let n=t.length;for(let i of r)try{bi(i,t,n)&&(n+=1)}catch{}}function bi(e,t,s){let r=y(w(e,"type")).toLowerCase(),n=y(w(e,"name")),i=y(w(e,"server")),o=y(w(e,"port")),a=y(w(e,"underlying-proxy"));if(a===""&&(a=y(w(e,"dialer-proxy"))),o===""||o==="0")return!1;let c=H(w(e,"udp")),u=H(w(e,"fast-open")),p=H(w(e,"skip-cert-verify")),f=pe(),l="";switch(r){case"vmess":{l=P.v2ray;let h=y(w(e,"uuid")),g=y(w(e,"alterId")),d=y(w(e,"cipher")),m=w(e,"network")!==void 0?y(w(e,"network")):"tcp",v=y(w(e,"servername")),b="",S="",$="";switch(m){case"http":b=y(w(w(w(e,"http-opts"),"path"),0)),S=y(w(w(w(w(e,"http-opts"),"headers"),"Host"),0)),$="";break;case"ws":if(w(e,"ws-opts")!==void 0){let O=w(e,"ws-opts");b=w(O,"path")!==void 0?y(w(O,"path")):"/",S=y(w(w(O,"headers"),"Host")),$=y(w(w(O,"headers"),"Edge"))}else b=w(e,"ws-path")!==void 0?y(w(e,"ws-path")):"/",S=y(w(w(e,"ws-headers"),"Host")),$=y(w(w(e,"ws-headers"),"Edge"));break;case"h2":b=y(w(w(e,"h2-opts"),"path")),S=y(w(w(w(e,"h2-opts"),"host"),0)),$="";break;case"grpc":S=y(w(e,"servername")),b=y(w(w(e,"grpc-opts"),"grpc-service-name")),$="";break;default:break}let I=ds(w(e,"tls"))?"tls":"";Ie(f,{add:i,aid:g,cipher:d,edge:$,group:l,host:S,id:h,net:m,path:b,port:o,remark:n,scv:p,sni:v,tfo:u,tls:I,type:"",udp:c,underlyingProxy:a});break}case"ss":{l=P.ss;let h=y(w(e,"cipher")),g=y(w(e,"password")),d="",m="",v="",b="",S="",$="",I="";if(w(e,"plugin")!==void 0){let O=y(w(e,"plugin")).toLowerCase(),E=w(e,"plugin-opts");O==="obfs"?(d="obfs-local",v=y(w(E,"mode")),b=y(w(E,"host"))):O==="v2ray-plugin"&&(d="v2ray-plugin",v=y(w(E,"mode")),b=y(w(E,"host")),$=ds(w(E,"tls"))?"tls;":"",I=y(w(E,"path")),S=ds(w(E,"mux"))?"mux=4;":"")}else w(e,"obfs")!==void 0&&(d="obfs-local",v=y(w(e,"obfs")),b=y(w(e,"obfs-host")));d==="simple-obfs"||d==="obfs-local"?(m=`obfs=${v}`,m+=b===""?"":`;obfs-host=${b}`):d==="v2ray-plugin"&&(m=`mode=${v};${$}${S}`,b!==""&&(m+=`host=${b};`),I!==""&&(m+=`path=${I};`),S!==""&&(m+=`mux=${S};`)),h==="AEAD_CHACHA20_POLY1305"?h="chacha20-ietf-poly1305":h.includes("AEAD")&&(h=h.replace(/AEAD_/g,"").replace(/_/g,"-").toLowerCase()),ae(f,{group:l,method:h,password:g,plugin:d,pluginOption:m,port:o,remark:n,scv:p,server:i,tfo:u,udp:c,underlyingProxy:a});break}case"socks5":{l=P.socks;let h=y(w(e,"username")),g=y(w(e,"password"));ot(f,{group:l,password:g,port:o,remark:n,server:i,underlyingProxy:a,username:h});break}case"ssr":{l=P.ssr;let h=y(w(e,"cipher"));h==="dummy"&&(h="none");let g=y(w(e,"password")),d=y(w(e,"protocol")),m=y(w(e,"obfs")),v=w(e,"protocol-param")!==void 0?y(w(e,"protocol-param")):y(w(e,"protocolparam")),b=w(e,"obfs-param")!==void 0?y(w(e,"obfs-param")):y(w(e,"obfsparam"));Je(f,{group:l,method:h,obfs:m,obfsParam:b,password:g,port:o,protocol:d,protocolParam:v,remark:n,scv:p,server:i,tfo:u,udp:c,underlyingProxy:a});break}case"http":{l=P.http;let h=y(w(e,"username")),g=y(w(e,"password")),d=y(w(e,"tls"));at(f,{group:l,password:g,port:o,remark:n,scv:p,server:i,tfo:u,tls:d==="true",underlyingProxy:a,username:h});break}case"trojan":{l=P.trojan;let h=y(w(e,"password")),g=y(w(e,"sni")),d=y(w(e,"network")),m="";switch(d){case"grpc":m=y(w(w(e,"grpc-opts"),"grpc-service-name"));break;case"ws":m=y(w(w(e,"ws-opts"),"path"));break;default:d="tcp",m="";break}Nt(f,{group:l,host:g,network:d,password:h,path:m,port:o,remark:n,scv:p,server:i,tfo:u,tlsSecure:!0,udp:c,underlyingProxy:a});break}case"snell":{l=P.snell;let h=y(w(e,"psk")),g=y(w(w(e,"obfs-opts"),"mode")),d=y(w(w(e,"obfs-opts"),"host")),m=y(w(e,"version"));gs(f,{group:l,host:d,obfs:g,password:h,port:o,remark:n,scv:p,server:i,tfo:u,udp:c,underlyingProxy:a,version:V(m)});break}case"wireguard":{l=P.wireguard;let h=y(w(e,"public-key")),g=y(w(e,"private-key")),d=w(e,"dns"),m=Array.isArray(d)?d.map(I=>String(I)):d?[String(d)]:[],v=y(w(e,"mtu")),b=y(w(e,"preshared-key")),S=y(w(e,"ip")),$=y(w(e,"ipv6"));sr(f,{dnsServers:m,group:l,keepAlive:"0",mtu:v,port:o,preSharedKey:b,privateKey:g,publicKey:h,remark:n,selfIp:S,selfIpv6:$,server:i,testUrl:"",udp:c,underlyingProxy:a});break}case"hysteria":{l=P.hysteria;let h=y(w(e,"ports")),g=y(w(e,"protocol")),d=y(w(e,"obfs-protocol")),m=y(w(e,"up")),v=y(w(e,"up-speed")),b=y(w(e,"down")),S=y(w(e,"down-speed")),$=y(w(e,"auth")),I=y(w(e,"auth-str"));I===""&&(I=y(w(e,"auth_str")));let O=y(w(e,"obfs")),E=y(w(e,"sni")),A=y(w(e,"fingerprint")),_=w(e,"alpn"),q=Array.isArray(_)?y(_[0]):y(_),te=y(w(e,"ca")),N=y(w(e,"ca-str")),Y=y(w(e,"recv-window-conn")),W=y(w(e,"recv-window")),z=y(w(e,"disable-mtu-discovery"));z===""&&(z=y(w(e,"disable_mtu_discovery")));let ee=y(w(e,"hop-interval"));dn(f,{alpn:q,auth:$,authStr:I,ca:te,caStr:N,disableMtuDiscovery:z,down:b,downSpeed:S,fingerprint:A,group:l,hopInterval:ee,obfs:O,obfsProtocol:d,port:o,ports:h,protocol:g,recvWindow:W,recvWindowConn:Y,remark:n,scv:p,server:i,sni:E,tfo:u,underlyingProxy:a,up:m,upSpeed:v});break}case"hysteria2":{l=P.hysteria2;let h=y(w(e,"ports")),g=y(w(e,"up")),d=y(w(e,"down")),m=y(w(e,"password"));m===""&&(m=y(w(e,"auth")));let v=y(w(e,"obfs")),b=y(w(e,"obfs-password")),S=y(w(e,"sni")),$=y(w(e,"fingerprint")),I=w(e,"alpn"),O=Array.isArray(I)?y(I[0]):y(I),E=y(w(e,"ca")),A=y(w(e,"ca-str")),_=y(w(e,"cwnd")),q=y(w(e,"hop-interval"));hn(f,{alpn:O,ca:E,caStr:A,cwnd:_,down:d,fingerprint:$,group:l,hopInterval:q,obfs:v,obfsPassword:b,password:m,port:o,ports:h,remark:n,scv:p,server:i,sni:S,tfo:u,underlyingProxy:a,up:g});break}case"anytls":{l=P.anytls;let h=y(w(e,"password")),g=y(w(e,"sni"));ys(f,{group:l,password:h,port:o,remark:n,scv:p,server:i,sni:g,tfo:u,udp:c,underlyingProxy:a});break}case"vless":{l=P.v2ray;let h=y(w(e,"uuid")),g=y(w(e,"network")),d=y(w(e,"tls")),m="",v="";g==="ws"?(m=y(w(w(e,"ws-opts"),"path")),v=y(w(w(w(e,"ws-opts"),"headers"),"Host"))):g==="grpc"&&(m=y(w(w(e,"grpc-opts"),"grpc-service-name")));let b=w(e,"alpn");mn(f,{alpn:Array.isArray(b)?b.map(S=>String(S)):void 0,encryption:y(w(e,"encryption")),fingerprint:y(w(e,"client-fingerprint")),flow:y(w(e,"flow")),group:l,host:v,network:g,path:m,port:o,remark:n,scv:p,server:i,sni:y(w(e,"servername")),tfo:u,tls:d==="true"?"tls":"",udp:c,underlyingProxy:a,userId:h});break}case"tuic":{l=P.v2ray;let h=w(e,"alpn");gn(f,{alpn:Array.isArray(h)?h.map(g=>String(g)):void 0,congestionControl:y(w(e,"congestion-controller")),group:l,password:y(w(e,"password")),port:o,remark:n,scv:p,server:i,sni:y(w(e,"sni")),tfo:u,udp:c,underlyingProxy:a,userId:y(w(e,"uuid"))});break}default:return!1}return f.id=s,t.push(f),!0}function wi(e){let t=[],s=[],r;for(let n of e.split(/\r?\n/)){let i=n.trim(),o=/^\[(.*)\]$/.exec(i);if(o){r={lines:[],name:o[1].trim()},t.push(r);continue}i===""||i.startsWith("#")||i.startsWith(";")||(r?r.lines.push(i):s.push(i))}return s.length>0&&t.unshift({lines:s,name:"Proxy"}),t}function Zr(e,t){let s=[];for(let r of e)r.name===t&&s.push(...r.lines);return s}function vi(e,t,s){for(let r=t;r<e.length;r+=1){let n=L(e[r]),i=n.indexOf("=");i!==-1&&(s[L(n.slice(0,i))]=L(n.slice(i+1)))}}function xr(e,t){let s=e;s.includes("[Proxy]")&&(s=s.replace(/^[\s\S]*?\[/,"["));let r=wi(s),n=Zr(r,"Proxy");if(n.length===0)return!1;let i=t.length,o=t.length;for(let a of n){let c=/^(.*?)\s*=\s*(.*)$/.exec(a);if(!c)continue;let u=c[1],p=c[2],f=Q(p,",");if(f.length<3)continue;let l=pe(),h="",g="",d="",m="",v="",b="",S="",$="",I="",O="",E="tcp",A="",_="",q="",te="",N="",Y="1",W,z,ee,vs;switch(f[0].toLowerCase()){case"direct":case"reject":case"reject-tinygif":continue;case"custom":{if(f.length<5||(h=L(f[1]),g=L(f[2]),g==="0"))continue;d=L(f[3]),v=L(f[4]);for(let M=6;M<f.length;M+=1){let j=Q(f[M],"=");if(j.length<2)continue;let R=L(j[0]),T=L(j[1]);R==="obfs"?(b="simple-obfs",$=T):R==="obfs-host"?I=T:R==="udp-relay"?W=H(T):R==="tfo"&&(z=H(T))}b!==""&&(S=`obfs=${$}`,S+=I===""?"":`;obfs-host=${I}`),ae(l,{group:P.ss,method:d,password:v,plugin:b,pluginOption:S,port:g,remark:u,scv:ee,server:h,tfo:z,udp:W});break}case"ss":{if(h=L(f[1]),g=L(f[2]),g==="0")continue;for(let M=3;M<f.length;M+=1){let j=Q(f[M],"=");if(j.length<2)continue;let R=L(j[0]),T=L(j[1]);R==="encrypt-method"?d=T:R==="password"?v=T:R==="obfs"?(b="simple-obfs",$=T):R==="obfs-host"?I=T:R==="udp-relay"?W=H(T):R==="tfo"&&(z=H(T))}b!==""&&(S=`obfs=${$}`,S+=I===""?"":`;obfs-host=${I}`),ae(l,{group:P.ss,method:d,password:v,plugin:b,pluginOption:S,port:g,remark:u,scv:ee,server:h,tfo:z,udp:W});break}case"socks5":{if(h=L(f[1]),g=L(f[2]),g==="0")continue;f.length>=5&&(m=L(f[3]),v=L(f[4]));for(let M=5;M<f.length;M+=1){let j=Q(f[M],"=");if(j.length<2)continue;let R=L(j[0]),T=L(j[1]);R==="udp-relay"?W=H(T):R==="tfo"?z=H(T):R==="skip-cert-verify"&&(ee=H(T))}ot(l,{group:P.socks,password:v,port:g,remark:u,scv:ee,server:h,tfo:z,udp:W,username:m});break}case"vmess":{if(h=L(f[1]),g=L(f[2]),g==="0")continue;E="tcp",d="auto";for(let M=3;M<f.length;M+=1){let j=Q(f[M],"=");if(j.length!==2)continue;let R=L(j[0]),T=L(j[1]);switch(R){case"username":O=T;break;case"ws":E=T==="true"?"ws":"tcp";break;case"tls":A=T==="true"?"tls":"";break;case"ws-path":te=T;break;case"obfs-host":_=T;break;case"ws-headers":{let Ct=Q(T,"|");for(let Ve of Ct){let Le=Q(L(Ve),":");Le.length===2&&(/host/i.test(Le[0])?_=er(Le[1]):/edge/i.test(Le[0])&&(q=er(Le[1])))}break}case"udp-relay":W=H(T);break;case"tfo":z=H(T);break;case"skip-cert-verify":ee=H(T);break;case"tls13":vs=H(T);break;case"vmess-aead":Y=T==="true"?"0":"1";break;default:break}}Ie(l,{add:h,aid:Y,cipher:d,edge:q,group:P.v2ray,host:_,id:O,net:E,path:te,port:g,remark:u,scv:ee,tfo:z,tls:A,tls13:vs,udp:W});break}case"http":{if(h=L(f[1]),g=L(f[2]),g==="0")continue;for(let M=3;M<f.length;M+=1){let j=Q(f[M],"=");if(j.length<2)continue;let R=L(j[0]),T=L(j[1]);R==="username"?m=T:R==="password"?v=T:R==="skip-cert-verify"&&(ee=H(T))}at(l,{group:P.http,password:v,port:g,remark:u,scv:ee,server:h,tfo:z,tls:!1,username:m});break}case"trojan":{if(h=L(f[1]),g=L(f[2]),g==="0")continue;for(let M=3;M<f.length;M+=1){let j=Q(f[M],"=");if(j.length!==2)continue;let R=L(j[0]),T=L(j[1]);R==="password"?v=T:R==="sni"?_=T:R==="udp-relay"?W=H(T):R==="tfo"?z=H(T):R==="skip-cert-verify"&&(ee=H(T))}Nt(l,{group:P.trojan,host:_,password:v,port:g,remark:u,scv:ee,server:h,tfo:z,tlsSecure:!0,udp:W});break}case"snell":{if(h=L(f[1]),g=L(f[2]),g==="0")continue;for(let M=3;M<f.length;M+=1){let j=Q(f[M],"=");if(j.length!==2)continue;let R=L(j[0]),T=L(j[1]);R==="psk"?v=T:R==="obfs"?b=T:R==="obfs-host"?_=T:R==="udp-relay"?W=H(T):R==="tfo"?z=H(T):R==="skip-cert-verify"?ee=H(T):R==="version"&&(N=T)}gs(l,{group:P.snell,host:_,obfs:b,password:v,port:g,remark:u,scv:ee,server:h,tfo:z,udp:W,version:V(N)});break}case"wireguard":{let M="",j="";for(let Ve=1;Ve<f.length;Ve+=1){let Le=Q(L(f[Ve]),"=");if(Le.length!==2)continue;let rr=L(Le[0]),nr=L(Le[1]);rr==="section-name"?M=nr:rr==="test-url"&&(j=nr)}if(M==="")continue;let R=Zr(r,`WireGuard ${M}`);if(R.length===0)continue;let T={};vi(R,0,T);let Ct=[];if(T["dns-server"])for(let Ve of Q(T["dns-server"],","))Ct.push(L(Ve));sr(l,{dnsServers:Ct,group:P.wireguard,keepAlive:T.keepalive??"",mtu:T.mtu??"",port:"0",privateKey:T["private-key"]??"",remark:u,selfIp:T["self-ip"]??"",selfIpv6:T["self-ip-v6"]??"",server:"",testUrl:j,udp:W}),ki(l,T.peer??"");break}case"anytls":{if(h=L(f[1]),g=L(f[2]),g==="0")continue;for(let M=3;M<f.length;M+=1){let j=Q(f[M],"=");if(j.length!==2)continue;let R=L(j[0]),T=L(j[1]);R==="password"?v=T:R==="sni"?_=T:R==="udp-relay"?W=H(T):R==="tfo"?z=H(T):R==="skip-cert-verify"&&(ee=H(T))}ys(l,{group:P.anytls,password:v,port:g,remark:u,scv:ee,server:h,sni:_,tfo:z,udp:W});break}default:{if(!Si(u,f,l,{scv:ee,tfo:z,tls13:vs,udp:W}))continue;break}}l.id=o,t.push(l),o+=1}return t.length>i}function Si(e,t,s,r){let n=e.toLowerCase(),i=t[0],o=i.lastIndexOf(":"),a=L(i.slice(0,o)),c=L(i.slice(o+1));if(c==="0")return!1;let u="",p="",f="",l="",h="",g="",d="",m="",v="",b="",S="",$="tcp",I="",O="1",E=e,A=r.udp,_=r.tfo,q=r.scv,te=r.tls13,N={};for(let Y=1;Y<t.length;Y+=1){let W=Q(L(t[Y]),"=");W.length===2&&(N[L(W[0])]=L(W[1]))}if(n==="shadowsocks"){if(u=N.method??"",p=N.password??"",N.tag&&(E=N.tag),v=N["ssr-protocol"]??"",b=N["ssr-protocol-param"]??"",N.obfs){let W=N.obfs;W==="http"||W==="tls"?(g="simple-obfs",d=W):W==="wss"||W==="ws"?(W==="wss"&&(S="tls"),d="websocket",g="v2ray-plugin"):d=W}m=N["obfs-host"]??"",h=N["obfs-uri"]??"",E===""&&(E=`${a}:${c}`);let Y="";return g==="simple-obfs"?(Y=`obfs=${d}`,m!==""&&(Y+=`;obfs-host=${m}`)):g==="v2ray-plugin"&&(m===""&&!/^\d+(\.\d+){3}$/.test(a)&&!a.includes(":")&&(m=a),Y=`mode=${d}`,m!==""&&(Y+=`;host=${m}`),h!==""&&(Y+=`;path=${h}`),Y+=`;${S}`),v!==""?Je(s,{group:P.ssr,method:u,obfs:d,obfsParam:m,password:p,port:c,protocol:v,protocolParam:b,remark:E,scv:q,server:a,tfo:_,udp:A}):ae(s,{group:P.ss,method:u,password:p,plugin:g,pluginOption:Y,port:c,remark:E,scv:q,server:a,tfo:_,tls13:te,udp:A}),!0}if(n==="vmess"){if($="tcp",u=N.method??"",I=N.password??"",N.tag&&(E=N.tag),N.obfs){let Y=N.obfs;Y==="ws"?$="ws":Y==="over-tls"?S="tls":Y==="wss"&&($="ws",S="tls")}return l=N["obfs-host"]??"",h=N["obfs-uri"]??"",N["over-tls"]&&(S=N["over-tls"]==="true"?"tls":""),N.aead&&(O=N.aead==="true"?"0":"1"),E===""&&(E=`${a}:${c}`),Ie(s,{add:a,aid:O,cipher:u,group:P.v2ray,host:l,id:I,net:$,path:h,port:c,remark:E,scv:q,tfo:_,tls:S,tls13:te,udp:A}),!0}return n==="trojan"?(p=N.password??"",N.tag&&(E=N.tag),N["over-tls"]&&(S=N["over-tls"]),l=N["tls-host"]??"",N["tls-verification"]==="false"&&(q=!0),E===""&&(E=`${a}:${c}`),Nt(s,{group:P.trojan,host:l,password:p,port:c,remark:E,scv:q,server:a,tfo:_,tls13:te,tlsSecure:S==="true",udp:A}),!0):n==="http"?(f=N.username??"",p=N.password??"",N.tag&&(E=N.tag),N["over-tls"]&&(S=N["over-tls"]),N["tls-verification"]==="false"&&(q=!0),E===""&&(E=`${a}:${c}`),f==="none"&&(f=""),p==="none"&&(p=""),at(s,{group:P.http,password:p,port:c,remark:E,scv:q,server:a,tfo:_,tls:S==="true",tls13:te,username:f}),!0):n==="anytls"?(p=N.password??"",N.tag&&(E=N.tag),l=N.sni??"",N["tls-verification"]==="false"&&(q=!0),E===""&&(E=`${a}:${c}`),ys(s,{group:P.anytls,password:p,port:c,remark:E,scv:q,server:a,sni:l,tfo:_,udp:A}),!0):!1}function er(e){let t=L(e);return(t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'"))&&(t=t.slice(1,-1)),t}function ki(e,t){let s=[...t.matchAll(/\((.*?)\)/g)].map(i=>i[1]);if(s.length===0)return;let n=[...s[0].matchAll(/([a-z-]+)\s?=\s?([^" ),]+|".*?"),?\s?/g)];for(let i of n){let o=i[1],a=i[2];switch(o){case"public-key":e.publicKey=a;break;case"endpoint":{let c=a.lastIndexOf(":");e.hostname=a.slice(0,c),e.port=V(a.slice(c+1));break}case"client-id":e.clientId=a;break;case"allowed-ips":e.allowedIps=er(a);break;default:break}}}function $i(e,t){try{let s=ps(e);if(s&&typeof s=="object"&&(w(s,"Proxy")!==void 0||w(s,"proxies")!==void 0))return yi(s,t),!0}catch{return!1}return!1}function Ii(e,t){if(e.includes('"version"'))Ai(e,t);else if(e.includes('"serverSubscribes"'))en(e,t);else if(e.includes('"uiItem"')||e.includes("vnext"))Ei(e,t);else if(e.includes('"proxy_apps"'))Oi(e,t);else if(e.includes('"idInUse"'))Ni(e,t);else if(e.includes('"local_address"')&&e.includes('"local_port"'))en(e,t);else if(e.includes('"ModeFileNameType"'))Ci(e,t);else return!1;return t.length>0}function Ai(e,t){let s;try{s=JSON.parse(e)}catch{return}if(s===null||typeof s!="object")return;let r="version"in s&&"servers"in s?"servers":"configs";if(!(r in s))return;let n=y(s.remarks),i=s[r];if(!Array.isArray(i))return;let o=t.length;for(let a of i){let c=y(a.remarks),u=y(a.server_port);if(u==="0")continue;let p=y(a.server),f=pe();ae(f,{group:n,method:y(a.method),password:y(a.password),plugin:y(a.plugin),pluginOption:y(a.plugin_opts),port:u,remark:c===""?`${p}:${u}`:c,server:p}),f.id=o,t.push(f),o+=1}}function Oi(e,t){let s;try{s=JSON.parse(`{"nodes":${e}}`)}catch{return}if(s===null||typeof s!="object"||!Array.isArray(s.nodes))return;let r=t.length;for(let n of s.nodes){let i=y(n.server);if(i==="")continue;let o=y(n.server_port);if(o==="0"||o==="")continue;let a=y(n.remarks),c=pe();ae(c,{group:P.ss,method:y(n.method),password:y(n.password),plugin:y(n.plugin),pluginOption:y(n.plugin_opts),port:o,remark:a===""?`${i}:${o}`:a,server:i}),c.id=r,t.push(c),r+=1}}function en(e,t){let s;try{s=JSON.parse(e)}catch{return}if(s===null||typeof s!="object")return;let r=t.length;if("local_port"in s&&"local_address"in s){let i=pe(),o=y(s.server),a=y(s.server_port),c=`${o}:${a}`,u=y(s.method),p=y(s.obfs),f=y(s.protocol),l=y(s.password);ms(u,p,f)?ae(i,{group:P.ss,method:u,password:l,plugin:y(s.plugin),pluginOption:y(s.plugin_opts),port:a,remark:c,server:o}):Je(i,{group:P.ssr,method:u,obfs:p,obfsParam:y(s.obfs_param),password:l,port:a,protocol:f,protocolParam:y(s.protocol_param),remark:c,server:o}),i.id=r,t.push(i);return}let n=s.configs??[];if(Array.isArray(n))for(let i of n){let o=y(i.group)===""?P.ssr:y(i.group),a=y(i.server),c=y(i.server_port);if(c==="0"||c==="")continue;let u=y(i.remarks)===""?`${a}:${c}`:y(i.remarks),p=pe();Je(p,{group:o,method:y(i.method),obfs:y(i.obfs),obfsParam:y(i.obfsparam),password:y(i.password),port:c,protocol:y(i.protocol),protocolParam:y(i.protocolparam),remark:u,server:a}),p.id=r,t.push(p),r+=1}}function Ei(e,t){let s;try{s=JSON.parse(e)}catch{return}if(s===null||typeof s!="object")return;let r=t.length;if("outbounds"in s){let a=s.outbounds;if(Array.isArray(a)&&a.length>0&&a[0]?.settings?.vnext?.length>0){let c=a[0].settings.vnext[0],u=y(c.address),p=y(c.port);if(p==="0")return;let f=c.users,l=Array.isArray(f)&&f.length?y(f[0].id):"",h=Array.isArray(f)&&f.length?y(f[0].alterId):"",g=Array.isArray(f)&&f.length?y(f[0].security):"",d=a[0].streamSettings??{},m=y(d.network),v=y(d.security),b="",S="",$="",I="";if(m==="ws"){let A=d.wsSettings??{};b=y(A.path),A.headers&&(S=y(A.headers.Host),$=y(A.headers.Edge))}let O=d.tcpSettings;O&&O.header&&(I=y(O.header.type),I==="http"&&O.header.request&&(Array.isArray(O.header.request.path)&&O.header.request.path.length&&(b=y(O.header.request.path[0])),O.header.request.headers&&(S=y(O.header.request.headers.Host),$=y(O.header.request.headers.Edge))));let E=pe();Ie(E,{add:u,aid:h,cipher:g,edge:$,group:P.v2ray,host:S,id:l,net:m,path:b,port:p,remark:`${u}:${p}`,tls:v,type:I}),t.push(E)}return}let n=new Map,i=s.subItem??[];for(let a of i)n.set(y(a.id),y(a.remarks));let o=s.vmess??[];for(let a of o){if(a.address===null||a.address===void 0||a.port===null||a.id===null)continue;let c=y(a.remarks),u=y(a.address),p=y(a.port);if(p==="0"||p==="")continue;let f=y(a.subid),l="";f!==""&&(l=n.get(f)??""),c===""&&(c=`${u}:${p}`);let h=H(a.allowInsecure),g=V(a.configType),d=pe();if(g===1)Ie(d,{add:u,aid:y(a.alterId),cipher:y(a.security),group:l||P.v2ray,host:y(a.requestHost),id:y(a.id),net:y(a.network),path:y(a.path),port:p,remark:c,scv:h,sni:y(a.sni),tls:y(a.streamSecurity),type:y(a.headerType)});else if(g===3)ae(d,{group:l||P.ss,method:y(a.security),password:y(a.id),port:p,remark:c,scv:h,server:u});else if(g===4)ot(d,{group:l||P.socks,port:p,remark:c,scv:h,server:u});else continue;d.id=r,t.push(d),r+=1}}function Ni(e,t){let s;try{s=JSON.parse(e)}catch{return}if(s===null||typeof s!="object"||!Array.isArray(s.configs))return;let r=t.length;for(let n of s.configs){let i=y(n.group),o=y(n.server),a=y(n.server_port);if(a==="0"||a==="")continue;let c=y(n.remarks)===""?`${o}:${a}`:y(n.remarks),u=y(n.password),p=pe(),f=V(n.type);if(f===5)ot(p,{group:i,password:u,port:a,remark:c,server:o,username:y(n.username)});else if(f===6){let l=y(n.protocol),h=y(n.obfs),g=y(n.method);ms(g,h,l)?ae(p,{group:i,method:g,password:u,port:a,remark:c,server:o}):Je(p,{group:i,method:g,obfs:h,obfsParam:y(n.obfsparam),password:u,port:a,protocol:l,protocolParam:y(n.protocolparam),remark:c,server:o})}else continue;p.id=r,t.push(p),r+=1}}function Ci(e,t){let s;try{s=JSON.parse(e)}catch{return}if(s===null||typeof s!="object"||!Array.isArray(s.Server))return;let r=t.length;for(let n of s.Server){let i=pe();yn(`Netch://${cn(JSON.stringify(n))}`,i),i.id=r,t.push(i),r+=1}}function Pi(e){return e.startsWith("http://")||e.startsWith("https://")}function Te(e,t){let s=new RegExp(t).exec(e);return s?s.slice():null}function Ti(e,t){if(/^vmess:\/\/[A-Za-z0-9-_]+\?.*/.test(e)){Ri(e,t);return}if(/^vmess:\/\/.*?@.*/.test(e)){Li(e,t);return}if(/^vmess1:\/\/.*?\?.*/.test(e)){_i(e,t);return}let s=ne(e.replace(/(vmess|vmess1):\/\//,""));if(/.*?\s=\s.*/.test(s)){Fi(s,t);return}let r;try{let m=JSON.parse(s);if(m===null||typeof m!="object")return;r=m}catch{return}let n="1";r.v!==void 0&&(n=String(r.v));let i=String(r.ps??""),o=String(r.add??""),a=String(r.port??"");if(a==="0"||a==="")return;let c=String(r.type??""),u=String(r.id??""),p=String(r.aid??""),f=String(r.net??""),l=String(r.tls??""),h=String(r.host??""),g=String(r.sni??""),d="";switch(V(n)){case 1:{if(h!==""){let m=Q(h,";");m.length===2&&(h=m[0],d=m[1])}break}case 2:{d=String(r.path??"");break}default:break}o=L(o),Ie(t,{add:o,aid:p,cipher:"auto",group:P.v2ray,host:h,id:u,net:f,path:d,port:a,remark:i,sni:g,tls:l,type:c})}function Li(e,t){let s=e.slice(8),r="",n=s.lastIndexOf("#");n!==-1&&(r=U(s.slice(n+1)),s=s.slice(0,n));let o=/^([a-z]+)(?:\+([a-z]+))?:([\da-f]{4}(?:[\da-f]{4}-){4}[\da-f]{12})-(\d+)@(.+):(\d+)(?:\/?\?(.*))?$/.exec(s);if(!o)return;let a=o[1],c=o[2]??"",u=o[3],p=o[4],f=o[5],l=o[6],h=o[7]??"",g="",d="",m="";switch(a){case"tcp":case"kcp":g=k(h,"type");break;case"http":case"ws":d=k(h,"host"),m=k(h,"path");break;case"quic":g=k(h,"security"),d=k(h,"type"),m=k(h,"key");break;default:return}r===""&&(r=`${f}:${l}`),Ie(t,{add:f,aid:p,cipher:"auto",group:P.v2ray,host:d,id:u,net:a,path:m,port:l,remark:r,tls:c,type:g})}function Ri(e,t){let s=e.slice(8),r="tcp",n=s.indexOf("?"),i=n>=0?s.slice(n+1):"";s=n>=0?s.slice(0,n):s;let o=Te(ne(s),"(.*?):(.*)@(.*):(.*)");if(!o)return;let a=o[1],c=o[2],u=o[3],p=o[4];if(p==="0")return;let f=U(k(i,"remarks")),l=k(i,"obfs"),h="",g="",d="";l!==""?l==="websocket"&&(r="ws",h=k(i,"obfsParam"),g=k(i,"path")):(r=k(i,"network"),h=k(i,"wsHost"),g=k(i,"wspath"));let m=k(i,"tls")==="1"?"tls":"",v=k(i,"aid");v===""&&(v="0"),f===""&&(f=`${u}:${p}`),Ie(t,{add:u,aid:v,cipher:a,group:P.v2ray,host:h,id:c,net:r,path:g,port:p,remark:f,tls:m,type:d})}function _i(e,t){let s=e.slice(9),r="",n="",i=s.indexOf("#");i!==-1&&(r=s.slice(i+1),s=s.slice(0,i));let o=s.indexOf("?"),a=o>=0?s.slice(o+1):"";s=o>=0?s.slice(0,o):s;let c=Te(s,"(.*?)@(.*):(.*)");if(!c)return;let u=c[1],p=c[2],f=c[3],l=f.indexOf("/");if(l!==-1&&(n=f.slice(l),f=f.slice(0,l)),f==="0")return;let h=k(a,"network"),g=k(a,"tls")==="true"?"tls":"",d=k(a,"ws.host");r===""&&(r=`${p}:${f}`),Ie(t,{add:p,aid:"0",cipher:"auto",group:P.v2ray,host:d,id:u,net:h,path:n,port:f,remark:r,tls:g,type:""})}function Fi(e,t){let s=e.replace(/(.*?)\s=\s(.*)/,"$1,$2"),r=Q(s,",");if(r.length<6||r[1]!=="vmess")return;let n=L(r[0]),i=L(r[2]),o=L(r[3]);if(o==="0")return;let a=L(r[4]),c=L(r[5].replace(/"/g,"")),u=P.v2ray,p="",f="",l="",h="tcp",g="";for(let d=6;d<r.length;d+=1){let m=Q(r[d],"=");if(m.length<2)continue;let v=L(m[0]),b=L(m.slice(1).join("="));switch(v){case"group":u=b;break;case"over-tls":p=b==="true"?"tls":"";break;case"tls-host":f=b;break;case"obfs-path":l=b.replace(/"/g,"");break;case"obfs-header":{let S=Q(b.replace(/"/g,"").replace(/\[Rr\]\[Nn\]/g,"|"),"|");for(let $ of S)/Host: /i.test($)?f=$.slice(6):/Edge: /i.test($)&&(g=$.slice(6));break}case"obfs":b==="ws"&&(h="ws");break;default:break}}l===""&&(l="/"),Ie(t,{add:i,aid:"0",cipher:a,edge:g,group:u,host:f,id:c,net:h,path:l,port:o,remark:n,tls:p,type:"none"})}function Mi(e,t){let s=e.slice(5).replace(/\/\?/g,"?"),r=P.ss,n="",i="",o="",a="",c=r,u=s.indexOf("#");u!==-1&&(n=U(s.slice(u+1)),s=s.slice(0,u));let p=s.indexOf("?");if(p!==-1){i=s.slice(p+1);let d=U(k(i,"plugin")),m=d.indexOf(";");o=m===-1?d:d.slice(0,m),a=m===-1?"":d.slice(m+1);let v=k(i,"group");v!==""&&(c=ne(v)),s=s.slice(0,p)}let f="",l="",h="",g="";if(s.includes("@")){let d=Te(s,"(\\S+?)@(\\S+):(\\d+)");if(!d)return;let m=d[1];h=d[2],g=d[3];let v=U(m),b=Te(ne(v),"(\\S+?):(\\S+)"),S=Te(v,"(\\S+?):(\\S+)"),$=b&&pn(b[1])?b:S??b;if(!$)return;f=$[1],l=$[2]}else{let d=Te(ne(s),"(\\S+?):(\\S+)@(\\S+):(\\d+)");if(!d)return;f=d[1],l=d[2],h=d[3],g=d[4]}g!=="0"&&(n===""&&(n=`${h}:${g}`),ae(t,{group:c,method:f,password:l,plugin:o,pluginOption:a,port:g,remark:n,server:h}))}function Di(e,t){let s=e.slice(6).replace(/\r/g,"");s=ne(s);let r="",n="",i="",o="",a=s.indexOf("/?");if(a!==-1){let v=s.slice(a+2);s=s.slice(0,a),r=ne(k(v,"group")),n=ne(k(v,"remarks")),i=ne(k(v,"obfsparam")).replace(/\s/g,""),o=ne(k(v,"protoparam")).replace(/\s/g,"")}let c=Te(s,"(\\S+):(\\d+?):(\\S+?):(\\S+?):(\\S+?):(\\S+)");if(!c)return;let u=c[1],p=c[2],f=c[3],l=c[4],h=c[5],g=ne(c[6]);if(p==="0")return;let d=r===""?P.ssr:r,m=n===""?`${u}:${p}`:n;ms(l,h,f)?ae(t,{group:d,method:l,password:g,port:p,remark:m,server:u}):Je(t,{group:d,method:l,obfs:h,obfsParam:i,password:g,port:p,protocol:f,protocolParam:o,remark:m,server:u})}function Bi(e,t){let s=t.length,r=ne(e.slice(6)),n;try{n=JSON.parse(r)}catch{return}if(n===null||typeof n!="object"||!("servers"in n))return;let i=String(n.airport??""),o=n.servers,a;if(Array.isArray(o))a=o;else if(o!==null&&typeof o=="object")a=Object.keys(o).map(c=>o[c]);else return;for(let c of a){if(c===null||typeof c!="object")continue;let u=String(c.server??""),p=String(c.port??n.port??"");if(u===""||p===""||p==="0")continue;let f=String(c.remarks??""),l=String(c.encryption??n.encryption??""),h=String(c.password??n.password??""),g=String(c.plugin??n.plugin??""),d=String(c.plugin_options??n.plugin_options??""),m=pe();ae(m,{group:i,method:l,password:h,plugin:g,pluginOption:d,port:p,remark:f,server:u}),m.id=s,t.push(m),s+=1}}function ji(e,t){let s="",r="",n="",i="",o="",a="";if(e.includes("socks://")){let c=e,u=c.indexOf("#");if(u!==-1&&(r=U(c.slice(u+1)),c=c.slice(0,u)),c=ne(c.slice(8)),c.includes("@")){let f=Q(c,"@");if(f.length<2)return;c=f[1];let l=Q(f[0],":");if(l.length<2)return;o=l[0],a=l[1]}let p=Q(c,":");if(p.length<2)return;n=p[0],i=p[1]}else(e.includes("https://t.me/socks")||e.includes("tg://socks"))&&(n=k(e,"server"),i=k(e,"port"),o=U(k(e,"user")),a=U(k(e,"pass")),r=U(k(e,"remarks")),s=U(k(e,"group")));s===""&&(s=P.socks),r===""&&(r=`${n}:${i}`),!(i==="0"||i==="")&&ot(t,{group:s,password:a,port:i,remark:r,server:n,username:o})}function Ki(e,t){let s=k(e,"server"),r=k(e,"port"),n=U(k(e,"user")),i=U(k(e,"pass")),o=U(k(e,"remarks")),a=U(k(e,"group"));a===""&&(a=P.http),o===""&&(o=`${s}:${r}`),!(r==="0"||r==="")&&at(t,{group:a,password:i,port:r,remark:o,server:s,tls:e.includes("/https"),username:n})}function Ui(e,t){let s=e,r="",n="",i=s.includes("https://"),o=s.indexOf("?");if(o!==-1){let f=s.slice(o+1);s=s.slice(0,o),r=U(k(f,"remarks")),n=U(k(f,"group"))}s=s.slice(s.indexOf("://")+3),s=ne(s);let a="",c="",u="",p="";if(s.includes("@")){let f=Te(s,"(.*?):(.*?)@(.*):(.*)");if(!f)return;u=f[1],p=f[2],a=f[3],c=f[4]}else{let f=Te(s,"(.*):(.*)");if(!f)return;a=f[1],c=f[2]}n===""&&(n=P.http),r===""&&(r=`${a}:${c}`),c!=="0"&&at(t,{group:n,password:p,port:c,remark:r,server:a,tls:i,username:u})}function Gi(e,t){let s=e.slice(9),r="",n="",i="",o="",a="",c=s.lastIndexOf("#");c!==-1&&(r=U(s.slice(c+1)),s=s.slice(0,c));let u=s.indexOf("?");u!==-1&&(n=s.slice(u+1),s=s.slice(0,u));let p=Te(s,"(.*?)@(.*):(.*)");if(!p)return;let f=p[1],l=p[2],h=p[3];if(h==="0")return;i=k(n,"sni"),i===""&&(i=k(n,"peer"));let g=k(n,"tfo"),d=U(k(n,"group"));k(n,"ws")==="1"?(o=k(n,"wspath"),a="ws"):k(n,"type")==="ws"&&(o=k(n,"path"),o.startsWith("%2F")&&(o=U(o)),a="ws");let m=k(n,"type"),v=k(n,"sni"),b=k(n,"allowInsecure");r===""&&(r=`${l}:${h}`),Nt(t,{group:d===""?P.trojan:d,host:i,network:a,password:f,path:o,port:h,remark:r,scv:b===""?void 0:$e(b),server:l,sni:v,tfo:g===""?void 0:$e(g),tlsSecure:m!==""||!0})}function $e(e){let t=e.trim().toLowerCase();if(["1","true","yes","on"].includes(t))return!0;if(["0","false","no","off"].includes(t))return!1}function Wi(e,t){let s=e.replace(/(hysteria2|hy2):\/\//,"hysteria2://").replace(/\/\?/g,"?");/hysteria2:\/\/.*?[:].*/.test(s)&&Vi(s,t)}function Vi(e,t){let s=e.slice(12),r="",n="",i=s.lastIndexOf("#");i!==-1&&(r=U(s.slice(i+1)),s=s.slice(0,i));let o=s.lastIndexOf("?");o!==-1&&(n=s.slice(o+1),s=s.slice(0,o));let a="",c="",u="";if(s.includes("@")){let I=/^(.*?)@(.*)[:](\d+)$/.exec(s);if(!I)return;a=I[1],c=I[2],u=I[3]}else{if(a=k(n,"password"),a===""||!s.includes(":"))return;let I=/^(.*)[:](\d+)$/.exec(s);if(!I)return;c=I[1],u=I[2]}let p=k(n,"insecure"),f=k(n,"up"),l=k(n,"down"),h=k(n,"alpn"),g=k(n,"obfs"),d=k(n,"obfs-password"),m=k(n,"sni"),v=k(n,"pinSHA256"),b=k(n,"mport"),S=k(n,"ports"),$=S!==""?S:b!==""?b:u;r===""&&(r=`${c}:${u}`),hn(t,{alpn:h,down:l,fingerprint:v,group:P.hysteria2,obfs:g,obfsPassword:d,password:a,port:u,ports:$,remark:r,scv:p===""?void 0:$e(p),server:c,sni:m,up:f})}function qi(e,t){let s=e.slice(9),r="",n="",i=s.lastIndexOf("#");i!==-1&&(r=U(s.slice(i+1)),s=s.slice(0,i));let o=s.lastIndexOf("?");o!==-1&&(n=s.slice(o+1),s=s.slice(0,o));let a=/^(.*?)@(.*)[:](\d+)$/.exec(s);if(!a)return;let c=a[1],u=a[2],p=a[3];if(p==="0")return;let f=k(n,"sni"),l=k(n,"udp"),h=k(n,"insecure");r===""&&(r=`${u}:${p}`),ys(t,{group:P.anytls,password:c,port:p,remark:r,scv:h===""?void 0:$e(h),server:u,sni:f,udp:l===""?void 0:$e(l)})}function Hi(e,t){let s=e.slice(8),r="",n="",i=s.lastIndexOf("#");i!==-1&&(r=U(s.slice(i+1)),s=s.slice(0,i));let o=s.lastIndexOf("?");o!==-1&&(n=s.slice(o+1),s=s.slice(0,o));let a=/^(.*?)@(.*)[:](\d+)$/.exec(s);if(!a)return;let c=a[1],u=a[2],p=a[3];if(c===""||p===""||p==="0")return;let f=k(n,"obfs"),l=k(n,"host"),h=k(n,"version"),g=k(n,"udp"),d=k(n,"tfo"),m=k(n,"skip-cert-verify");r===""&&(r=`${u}:${p}`),gs(t,{group:P.snell,host:l,obfs:f===""?"none":f,password:c,port:p,remark:r,scv:m===""?void 0:$e(m),server:u,tfo:d===""?void 0:$e(d),udp:g===""?void 0:$e(g),version:h===""?1:V(h)})}function Yi(e,t){let s=e.slice(11),r="",n="",i=s.lastIndexOf("#");i!==-1&&(r=U(s.slice(i+1)),s=s.slice(0,i));let o=s.lastIndexOf("?");o!==-1&&(n=s.slice(o+1),s=s.slice(0,o));let a=/^(.*)[:](\d+)$/.exec(s);if(!a)return;let c=a[1],u=a[2];if(c===""||u==="0")return;let p=k(n,"auth"),f=k(n,"protocol"),l=k(n,"upmbps"),h=k(n,"downmbps"),g=k(n,"alpn"),d=k(n,"obfs"),m=k(n,"obfsParam"),v=k(n,"peer"),b=k(n,"insecure");r===""&&(r=`${c}:${u}`),dn(t,{alpn:g,authStr:p,downSpeed:h,group:P.hysteria,obfs:d,obfsProtocol:m,port:u,protocol:f===""?"udp":f,remark:r,scv:b===""?void 0:$e(b),server:c,sni:v===""?c:v,upSpeed:l})}function Ji(e,t){let r=e.replace(/^(wg|wireguard):\/\//,"wireguard://").slice(13),n="",i="",o=r.lastIndexOf("#");o!==-1&&(n=U(r.slice(o+1)),r=r.slice(0,o));let a=r.lastIndexOf("?");a!==-1&&(i=r.slice(a+1),r=r.slice(0,a));let c=/^(?:(.*)@)?\[?(.*?)]?:(\d+)$/.exec(r);if(!c)return;let u=c[2],p=c[3];if(u===""||p==="0")return;let f=k(i,"privateKey")||k(i,"privatekey"),l=k(i,"publicKey")||k(i,"publickey");if(f===""||l==="")return;let h=k(i,"presharedKey"),g=k(i,"selfIP"),d=k(i,"selfIPv6"),m=k(i,"mtu"),v=k(i,"keepAlive"),b=k(i,"dns");n===""&&(n=`${u}:${p}`),sr(t,{dnsServers:b===""?["1.1.1.1"]:b.split(",").map(S=>S.trim()),group:P.wireguard,keepAlive:v===""?25:V(v),mtu:m===""?1420:V(m),port:p,preSharedKey:h,privateKey:f,publicKey:l,remark:n,selfIp:g===""?"10.0.0.2":g,selfIpv6:d,server:u})}function Xi(e,t){let s=e.slice(8),r="",n="",i=s.lastIndexOf("#");i!==-1&&(r=U(s.slice(i+1)),s=s.slice(0,i));let o=s.indexOf("?");o!==-1&&(n=s.slice(o+1),s=s.slice(0,o));let a=/^(.*?)@\[?(.*?)\]?:(\d+)$/.exec(s);if(!a)return;let c=a[1],u=a[2],p=a[3];if(p==="0")return;let f=k(n,"type"),l=k(n,"security"),h=k(n,"host"),g=U(k(n,"path")),d=U(k(n,"serviceName")),m=g!==""?g:d,v=k(n,"sni"),b=k(n,"flow"),S=k(n,"fp"),$=k(n,"pbk"),I=k(n,"sid"),O=k(n,"alpn");r===""&&(r=`${u}:${p}`),mn(t,{alpn:O===""?void 0:O.split(","),fingerprint:S,flow:b,group:P.v2ray,host:h,network:f,path:m,port:p,publicKey:$,remark:r,scv:k(n,"allowInsecure")===""?void 0:$e(k(n,"allowInsecure")),server:u,shortId:I,sni:v,tls:l,userId:c})}function Qi(e,t){let s=e.slice(7),r="",n="",i=s.lastIndexOf("#");i!==-1&&(r=U(s.slice(i+1)),s=s.slice(0,i));let o=s.indexOf("?");o!==-1&&(n=s.slice(o+1),s=s.slice(0,o));let a=/^(.*?):(.*?)@\[?(.*?)\]?:(\d+)$/.exec(s);if(!a)return;let c=a[1],u=a[2],p=a[3],f=a[4];if(f==="0")return;let l=k(n,"congestion_control")||k(n,"congestion-controller"),h=k(n,"alpn"),g=k(n,"sni");r===""&&(r=`${p}:${f}`),gn(t,{alpn:h===""?void 0:h.split(","),congestionControl:l,group:P.v2ray,password:u,port:f,remark:r,scv:k(n,"allow_insecure")===""?void 0:$e(k(n,"allow_insecure")),server:p,sni:g,userId:c})}function zi(e,t){x(e,"ssr://")?Di(e,t):x(e,"vmess://")||x(e,"vmess1://")?Ti(e,t):x(e,"ss://")?Mi(e,t):x(e,"socks://")||x(e,"https://t.me/socks")||x(e,"tg://socks")?ji(e,t):x(e,"https://t.me/http")||x(e,"tg://http")?Ki(e,t):x(e,"Netch://")?yn(e,t):x(e,"trojan://")?Gi(e,t):x(e,"vless://")?Xi(e,t):x(e,"tuic://")?Qi(e,t):x(e,"snell://")?Hi(e,t):x(e,"hysteria://")?Yi(e,t):x(e,"wg://")||x(e,"wireguard://")?Ji(e,t):e.includes("hysteria2://")||e.includes("hy2://")?Wi(e,t):x(e,"anytls://")?qi(e,t):Pi(e)&&Ui(e,t)}function Zi(e,t){let s=!1;if(x(e,"ssd://")&&(Bi(e,t),s=!0),!s&&/"?(Proxy|proxies)"?:/.test(e)&&$i(e,t)&&(s=!0),!s&&xr(e,t)&&(s=!0),s)return;let r=ne(e);if(/(vmess|shadowsocks|http|trojan)\s*?=/.test(r)&&xr(r,t))return;let n=t.length;tn(r,t),t.length===n&&r!==e&&tn(e,t)}function tn(e,t){let s=e.replace(/\r\n/g,`
130
+ `),r=Qr(s,`
131
+ `)<1?Qr(s,"\r")<1?" ":"\r":`
132
+ `;for(let n of s.split(r)){let i=n.replace(/\r/g,"");if(i==="")continue;let o=pe();zi(i,o),o.type!=="unknown"&&t.push(o)}}function bs(e){let t=[],s=pi(e);return Ii(s,t)||Zi(s,t),t}var xi=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],ap=new Set(xi);function bn(e){try{return new RegExp(e)}catch{return/$^/}}function tr(e,t){return bn(t).test(e)}function eo(e,t){let s=bn(t).exec(e);return s!==null&&s[0]===e}var to={anytls:"ANYTLS",http:"HTTP",https:"HTTPS",hysteria:"HYSTERIA",hysteria2:"HYSTERIA2",ss:"SS",ssr:"SSR",snell:"SNELL",socks5:"SOCKS5",trojan:"TROJAN",tuic:"TUIC",vless:"VLESS",vmess:"VMESS",wireguard:"WIREGUARD"};function sn(e,t){let s=e.split(","),r=!1;for(let n of s)if(/^-?\d+$/.test(n))Number.parseInt(n,10)===t&&(r=!0);else if(/^(\d+)-(\d+)$/.test(n)){let i=/^(\d+)-(\d+)$/.exec(n),o=Number.parseInt(i[1],10),a=Number.parseInt(i[2],10);t>=o&&t<=a&&(r=!0)}else if(/^!-?(\d+)$/.test(n)){r=!0;let i=/^!-?(\d+)$/.exec(n);Number.parseInt(i[1],10)===t&&(r=!1)}else if(/^!(\d+)-(\d+)$/.test(n)){r=!0;let i=/^!(\d+)-(\d+)$/.exec(n),o=Number.parseInt(i[1],10),a=Number.parseInt(i[2],10);t>=o&&t<=a&&(r=!1)}else if(/^(\d+)-$/.test(n)){let i=/^(\d+)-$/.exec(n);Number.parseInt(i[1],10)>=t&&(r=!0)}else if(/^(\d+)\+$/.test(n)){let i=/^(\d+)\+$/.exec(n);Number.parseInt(i[1],10)<=t&&(r=!0)}return r}function so(e,t){if(e.startsWith("!!GROUP=")){let s=/^!!(?:GROUP)=(.+?)(?:!!(.*))?$/.exec(e),r=s?.[1]??"",n=s?.[2]??"";return{matched:tr(t.group,r),realRule:n}}if(e.startsWith("!!GROUPID=")||e.startsWith("!!INSERT=")){let s=/^!!(?:GROUPID|INSERT)=([\d\-+!,]+)(?:!!(.*))?$/.exec(e),r=s?.[1]??"",n=s?.[2]??"",i=e.startsWith("!!INSERT=")?-1:1;return{matched:sn(r,i*t.groupId),realRule:n}}if(e.startsWith("!!TYPE=")){let s=/^!!(?:TYPE)=(.+?)(?:!!(.*))?$/.exec(e),r=s?.[1]??"",n=s?.[2]??"";if(t.type==="unknown")return{matched:!1,realRule:n};let i=to[t.type]??"";return{matched:eo(i,r),realRule:n}}if(e.startsWith("!!PORT=")){let s=/^!!(?:PORT)=(.+?)(?:!!(.*))?$/.exec(e),r=s?.[1]??"",n=s?.[2]??"";return{matched:sn(r,t.port),realRule:n}}if(e.startsWith("!!SERVER=")){let s=/^!!(?:SERVER)=(.+?)(?:!!(.*))?$/.exec(e),r=s?.[1]??"",n=s?.[2]??"";return{matched:tr(t.hostname,r),realRule:n}}return{matched:!0,realRule:e}}function wn(e,t,s=!0){let r=e.replace(/=/g,"-").replace(/[\r\n]+/g," ");s&&r.includes(",")&&(r=`"${r.replace(/"/g,"'")}"`);let n=r,i=2;for(;t.includes(n);)n=`${r} ${i}`,i+=1;return n}function vn(e,t,s,r){if(e.startsWith("[]")&&r){s.push(e.slice(2));return}for(let n of t){let{matched:i,realRule:o}=so(e,n);i&&(o===""||tr(n.remark,o))&&!s.includes(n.remark)&&s.push(n.remark)}}var ro=["origin","auth_sha1_v4","auth_aes128_md5","auth_aes128_sha1","auth_chain_a","auth_chain_b"],no=["plain","http_simple","http_post","random_head","tls1.2_ticket_auth","tls1.2_ticket_fastauth"],io=["rc4-md5","aes-128-ctr","aes-192-ctr","aes-256-ctr","aes-128-cfb","aes-192-cfb","aes-256-cfb","chacha20-ietf","xchacha20","none"];function oo(e){return e.replace(/^\[+/,"").replace(/\]+$/,"")}var ao=new Set(["ss","ssr","vmess","trojan","snell","http","https","socks5","wireguard","hysteria","hysteria2","vless","anytls","tuic"]),Sn=new Set(["ss","ssr","vmess","trojan","snell","http","https","socks5","wireguard"]),co=new Set([...Sn,"hysteria","hysteria2","vless","tuic"]);function lo(e){return e==="premium"?{clientFingerprint:!1,protocols:Sn,reality:!1}:e==="stash"?{clientFingerprint:!1,protocols:co,reality:!0}:{clientFingerprint:!0,protocols:ao,reality:!0}}function uo(e,t,s,r,n,i){let o={name:r,port:e.port,server:oo(e.hostname)},a=lo(t.clashFlavor);if(a.protocols.has(e.type)){switch(e.type){case"ss":{if(t.filterDeprecated&&e.encryptMethod==="chacha20")return;o.type="ss",o.cipher=e.encryptMethod,o.password=e.password;let c=e.pluginOption.replace(/;/g,"&");if(e.plugin==="simple-obfs"||e.plugin==="obfs-local")o.plugin="obfs",o["plugin-opts"]={host:U(k(c,"obfs-host")),mode:U(k(c,"obfs"))};else if(e.plugin==="v2ray-plugin"){o.plugin="v2ray-plugin";let u={host:k(c,"host"),mode:k(c,"mode"),mux:c.includes("mux"),path:k(c,"path"),tls:c.includes("tls")};n!==void 0&&(u["skip-cert-verify"]=n),o["plugin-opts"]=u}break}case"vmess":{switch(o.type="vmess",o.uuid=e.userId,o.alterId=e.alterId,o.cipher=e.encryptMethod,o.tls=e.tlsSecure,n!==void 0&&(o["skip-cert-verify"]=n),e.serverName!==""&&(o.servername=e.serverName),e.transferProtocol){case"tcp":break;case"ws":o.network=e.transferProtocol,t.clashNewFieldName?o["ws-opts"]={...e.host!==""||e.edge!==""?{headers:{...e.edge!==""?{Edge:e.edge}:{},...e.host!==""?{Host:e.host}:{}}}:{},path:e.path}:(o["ws-path"]=e.path,(e.host!==""||e.edge!=="")&&(o["ws-headers"]={...e.edge!==""?{Edge:e.edge}:{},...e.host!==""?{Host:e.host}:{}}));break;case"http":o.network=e.transferProtocol,o["http-opts"]={...e.host!==""||e.edge!==""?{headers:{...e.edge!==""?{Edge:[e.edge]}:{},...e.host!==""?{Host:[e.host]}:{}}}:{},method:"GET",path:[e.path]};break;case"h2":o.network=e.transferProtocol,o["h2-opts"]={...e.host!==""?{host:[e.host]}:{},path:e.path};break;case"grpc":o.network=e.transferProtocol,o.servername=e.host,o["grpc-opts"]={"grpc-service-name":e.path};break;default:return}break}case"ssr":{if(t.filterDeprecated&&(!s&&!io.includes(e.encryptMethod)||!ro.includes(e.protocol)||!no.includes(e.obfs)))return;o.type="ssr",o.cipher=e.encryptMethod==="none"?"dummy":e.encryptMethod,o.password=e.password,o.protocol=e.protocol,o.obfs=e.obfs,s?(o.protocolparam=e.protocolParam,o.obfsparam=e.obfsParam):(o["protocol-param"]=e.protocolParam,o["obfs-param"]=e.obfsParam);break}case"socks5":o.type="socks5",e.username!==""&&(o.username=e.username),e.password!==""&&(o.password=e.password),n!==void 0&&(o["skip-cert-verify"]=n);break;case"http":case"https":o.type="http",e.username!==""&&(o.username=e.username),e.password!==""&&(o.password=e.password),o.tls=e.tlsSecure,n!==void 0&&(o["skip-cert-verify"]=n);break;case"trojan":switch(o.type="trojan",o.password=e.password,e.host!==""&&(o.sni=e.host),n!==void 0&&(o["skip-cert-verify"]=n),e.transferProtocol){case"tcp":break;case"grpc":o.network=e.transferProtocol,e.path!==""&&(o["grpc-opts"]={"grpc-service-name":e.path});break;case"ws":o.network=e.transferProtocol,o["ws-opts"]={...e.host!==""?{headers:{Host:e.host}}:{},path:e.path};break;default:break}break;case"snell":if(e.snellVersion>=4)return;o.type="snell",o.psk=e.password,e.snellVersion!==0&&(o.version=e.snellVersion),e.obfs!==""&&(o["obfs-opts"]={...e.host!==""?{host:e.host}:{},mode:e.obfs});break;case"wireguard":o.type="wireguard",o["public-key"]=e.publicKey,o["private-key"]=e.privateKey,o.ip=e.selfIp,e.selfIpv6!==""&&(o.ipv6=e.selfIpv6),e.preSharedKey!==""&&(o["preshared-key"]=e.preSharedKey),e.dnsServers.length>0&&(o.dns=e.dnsServers),e.mtu>0&&(o.mtu=e.mtu);break;case"hysteria":{o.type="hysteria",e.ports!==""&&(o.ports=e.ports),e.protocol!==""&&(o.protocol=e.protocol),e.obfsParam!==""&&(o["obfs-protocol"]=e.obfsParam),e.up!==""&&(o.up=e.up),e.upSpeed&&(o["up-speed"]=e.upSpeed),e.down!==""&&(o.down=e.down),e.downSpeed&&(o["down-speed"]=e.downSpeed),e.authStr!==""&&(o["auth-str"]=e.authStr,o.auth=cn(e.authStr)),e.obfs!==""&&(o.obfs=e.obfs),e.sni!==""&&(o.sni=e.sni),n!==void 0&&(o["skip-cert-verify"]=n),e.fingerprint!==""&&a.clientFingerprint&&(o.fingerprint=e.fingerprint),e.alpn.length>0&&(o.alpn=e.alpn),e.ca!==""&&(o.ca=e.ca),e.caStr!==""&&(o["ca-str"]=e.caStr),e.recvWindowConn&&(o["recv-window-conn"]=e.recvWindowConn),e.recvWindow&&(o["recv-window"]=e.recvWindow),e.disableMtuDiscovery!==void 0&&(o["disable-mtu-discovery"]=e.disableMtuDiscovery),e.tcpFastOpen!==void 0&&(o["fast-open"]=e.tcpFastOpen),e.hopInterval&&(o["hop-interval"]=e.hopInterval);break}case"hysteria2":o.type="hysteria2",e.ports!==""&&(o.ports=e.ports),e.upSpeed&&(o.up=e.upSpeed),e.downSpeed&&(o.down=e.downSpeed),e.password!==""&&(o.password=e.password),e.obfs!==""&&(o.obfs=e.obfs),e.obfsParam!==""&&(o["obfs-password"]=e.obfsParam),e.sni!==""&&(o.sni=e.sni),n!==void 0&&(o["skip-cert-verify"]=n),e.fingerprint!==""&&a.clientFingerprint&&(o.fingerprint=e.fingerprint),e.alpn.length>0&&(o.alpn=e.alpn),e.ca!==""&&(o.ca=e.ca),e.caStr!==""&&(o["ca-str"]=e.caStr),e.cwnd&&(o.cwnd=e.cwnd),e.hopInterval&&(o["hop-interval"]=e.hopInterval);break;case"anytls":o.type="anytls",o.password=e.password,e.sni!==""&&(o.sni=e.sni),n!==void 0&&(o["skip-cert-verify"]=n);break;case"vless":if(o.type="vless",o.uuid=e.userId,e.flow!==""&&(o.flow=e.flow),o.tls=e.tlsSecure,e.serverName!==""&&(o.servername=e.serverName),e.fingerprint!==""&&a.clientFingerprint&&(o["client-fingerprint"]=e.fingerprint),e.publicKey!==""||e.shortId!==""){if(!a.reality)return;let c={};e.publicKey!==""&&(c["public-key"]=e.publicKey),c["short-id"]=e.shortId,o["reality-opts"]=c}switch(e.alpn.length>0&&(o.alpn=e.alpn),n!==void 0&&(o["skip-cert-verify"]=n),e.transferProtocol){case"tcp":break;case"ws":o.network=e.transferProtocol,o["ws-opts"]={...e.host!==""?{headers:{Host:e.host}}:{},path:e.path};break;case"grpc":o.network=e.transferProtocol,o["grpc-opts"]={"grpc-service-name":e.path};break;default:break}break;case"tuic":o.type="tuic",o.uuid=e.userId,o.password=e.password,e.congestionControl!==""&&(o["congestion-controller"]=e.congestionControl),e.alpn.length>0&&(o.alpn=e.alpn),e.serverName!==""&&(o.sni=e.serverName),n!==void 0&&(o["skip-cert-verify"]=n);break;default:return}return fo(e,t)&&e.type!=="snell"&&(o.udp=!0),i!==void 0&&(o.tfo=i),t.clashNewFieldName&&e.underlyingProxy!==""&&(o["dialer-proxy"]=e.underlyingProxy),o}}function fo(e,t){return e.udp!==void 0?e.udp:t.udp===!0}function po(e,t,s,r=!1){let n=[],i=[],o=[];for(let u of e){let p=nn(u.type);s.appendProxyType&&(u.remark=`[${p}] ${u.remark}`);let f=wn(u.remark,o,!1);u.remark=f;let l=u.allowInsecure!==void 0?u.allowInsecure:s.skipCertVerify,h=u.tcpFastOpen!==void 0?u.tcpFastOpen:s.tfo,g=uo(u,s,r,f,l,h);g&&(n.push(g),o.push(f),i.push(u))}if(s.nodeList)return{doc:{proxies:n},nodeList:i};let a=[];for(let u of t){let p={name:u.name,type:u.type==="smart"?"url-test":u.type};switch(u.type){case"select":case"relay":break;case"load-balance":p.strategy=u.strategy,p.lazy=u.lazy,p.url=u.url,u.interval>0&&(p.interval=u.interval),u.tolerance>0&&(p.tolerance=u.tolerance);break;case"smart":case"url-test":u.lazy!==void 0&&(p.lazy=u.lazy),p.url=u.url,u.interval>0&&(p.interval=u.interval),u.tolerance>0&&(p.tolerance=u.tolerance);break;case"fallback":p.url=u.url,u.interval>0&&(p.interval=u.interval),u.tolerance>0&&(p.tolerance=u.tolerance);break;default:continue}u.disableUdp!==void 0&&(p["disable-udp"]=u.disableUdp);let f=[];for(let l of u.proxies)vn(l,i,f,!0);u.usingProvider.length>0?p.use=u.usingProvider:(f.length===0&&f.push("DIRECT"),p.proxies=f),a.push(p)}let c={};return s.clashNewFieldName?(c.proxies=n,a.length>0&&(c["proxy-groups"]=a)):(c.Proxy=n,a.length>0&&(c["Proxy Group"]=a)),{doc:c,nodeList:i}}function ho(e){return zs(e,{aliasDuplicateObjects:!1,lineWidth:0})}function kn(e,t,s,r=!1){let{doc:n}=po(e,t,s,r);return ho(n)}function mo(e){let t=[],s;for(let r of e.split(/\r?\n/)){let n=r,i=/^\[(.*)\]$/.exec(n.trim());if(i){s={lines:[],name:i[1].trim()},t.push(s);continue}n.trim()!==""&&s&&s.lines.push(n)}return t}function le(e){return e?"true":"false"}function rn(e,t){let s=`http, ${e.hostname}, ${e.port}`;return e.username!==""&&(s+=`, username=${e.username}`),e.password!==""&&(s+=`, password=${e.password}`),s+=`, tls=${le(e.tlsSecure)}`,t!==void 0&&(s+=`, skip-cert-verify=${le(t)}`),s}function go(e,t=!1){let s=`public-key = ${e.publicKey}`;return s+=`, endpoint = ${e.hostname}:${e.port}`,e.preSharedKey!==""&&(s+=`, preshared-key = ${e.preSharedKey}`),e.allowedIps!==""&&(s+=`, allowed-ips = "${e.allowedIps}"`),e.keepAlive>0&&(s+=`, keepalive = ${e.keepAlive}`),e.clientId!==""&&(s+=t?`, reserved = [${e.clientId}]`:`, client-id = ${e.clientId}`),s}function yo(e,t,s,r){let n=r.version,i=[],o=[],a=[],c=new Map,u=[],p=1080;for(let l of e){s.appendProxyType&&(l.remark=`[${nn(l.type)}] ${l.remark}`);let h=wn(l.remark,i);l.remark=h;let g=l.udp!==void 0?l.udp:s.udp,d=l.tcpFastOpen!==void 0?l.tcpFastOpen:s.tfo,m=l.allowInsecure!==void 0?l.allowInsecure:s.skipCertVerify,v=l.tls13!==void 0?l.tls13:s.tls13,b="";switch(l.type){case"ss":if(n>=3||n===-3?b=`ss, ${l.hostname}, ${l.port}, encrypt-method=${l.encryptMethod}, password=${l.password}`:b=`custom, ${l.hostname}, ${l.port}, ${l.encryptMethod}, ${l.password}, https://github.com/pobizhe/SSEncrypt/raw/master/SSEncrypt.module`,l.plugin!=="")if(l.plugin==="simple-obfs"||l.plugin==="obfs-local")l.pluginOption!==""&&(b+=`,${l.pluginOption.replace(/;/g,",")}`);else continue;break;case"vmess":{if(n<4&&n!==-3)continue;b=`vmess, ${l.hostname}, ${l.port}, username=${l.userId}, tls=${le(l.tlsSecure)}, vmess-aead=${l.alterId===0?"true":"false"}`,l.tlsSecure&&v!==void 0&&(b+=`, tls13=${le(v)}`);let S=[];switch(l.transferProtocol){case"tcp":break;case"ws":{l.host===""?b+=`, ws=true, ws-path=${l.path}, sni=${l.hostname}`:b+=`, ws=true, ws-path=${l.path}, sni=${l.host}`,l.host!==""&&S.push(`Host:${l.host}`),l.edge!==""&&S.push(`Edge:${l.edge}`),S.length>0&&(b+=`, ws-headers=${S.join("|")}`);break}default:continue}m!==void 0&&(b+=`, skip-cert-verify=${le(m)}`);break}case"ssr":{if(s.surgeSsrPath===""||n<2)continue;let S=["-l",String(p),"-s",l.hostname,"-p",String(l.port),"-m",l.encryptMethod,"-k",l.password,"-o",l.obfs,"-O",l.protocol];l.obfsParam!==""&&S.push("-g",l.obfsParam),l.protocolParam!==""&&S.push("-G",l.protocolParam),b=`external, exec="${s.surgeSsrPath}", args="${S.join('", args="')}", local-port=${p}`,(un(l.hostname)||fn(l.hostname))&&(b+=`, addresses=${l.hostname}`),p+=1;break}case"socks5":b=`socks5, ${l.hostname}, ${l.port}`,l.username!==""&&(b+=`, username=${l.username}`),l.password!==""&&(b+=`, password=${l.password}`),m!==void 0&&(b+=`, skip-cert-verify=${le(m)}`);break;case"https":if(n===-3){b=`https, ${l.hostname}, ${l.port}, ${l.username}, ${l.password}`,m!==void 0&&(b+=`, skip-cert-verify=${le(m)}`);break}b=rn(l,m);break;case"http":b=rn(l,m);break;case"trojan":if(n<4&&n!==-3)continue;if(b=`trojan, ${l.hostname}, ${l.port}, password=${l.password}`,l.snellVersion!==0&&(b+=`, version=${l.snellVersion}`),l.host!==""&&(b+=`, sni=${l.host}`),l.transferProtocol==="ws"){b+=", ws=true",l.path!==""&&(b+=`, ws-path=${l.path}`);let S=l.host!==""?l.host:l.hostname;b+=`, ws-headers=Host:"${S}"`}m!==void 0&&(b+=`, skip-cert-verify=${le(m)}`);break;case"snell":b=`snell, ${l.hostname}, ${l.port}, psk=${l.password}`,l.obfs!==""&&(b+=`, obfs=${l.obfs}`,l.host!==""&&(b+=`, obfs-host=${l.host}`)),l.snellVersion!==0&&(b+=`, version=${l.snellVersion}`);break;case"wireguard":{if(n<4&&n!==-3)continue;let S=mi(l.remark).slice(0,5);b=`wireguard, section-name=${S}`,l.testUrl!==""&&(b+=`, test-url=${l.testUrl}`);let $=[`private-key = ${l.privateKey}`,`self-ip = ${l.selfIp}`];l.selfIpv6!==""&&$.push(`self-ip-v6 = ${l.selfIpv6}`),l.dnsServers.length>0&&$.push(`dns-server = ${l.dnsServers.join(",")}`),l.mtu>0&&$.push(`mtu = ${l.mtu}`),$.push(`peer = (${go(l)})`);let I=`WireGuard ${S}`;c.set(I,$),u.push(I);break}case"hysteria2":if(n<4)continue;b=`hysteria2, ${l.hostname}, ${l.port}, password=${l.password}`,l.downSpeed&&(b+=`, download-bandwidth=${l.downSpeed}`),m!==void 0&&(b+=`,skip-cert-verify=${le(m)}`),l.fingerprint!==""&&(b+=`,server-cert-fingerprint-sha256=${l.fingerprint}`),l.sni!==""&&(b+=`,sni=${l.sni}`);break;case"anytls":if(n<4&&n!==-3)continue;b=`anytls, ${l.hostname}, ${l.port}, password=${l.password}`,l.sni!==""&&(b+=`,sni=${l.sni}`);break;default:continue}d!==void 0&&(b+=`, tfo=${le(d)}`),g!==void 0&&(b+=`, udp-relay=${le(g)}`),l.underlyingProxy!==""&&(b+=`, underlying-proxy=${l.underlyingProxy}`),o.push(`${h} = ${b}`),i.push(h),a.push(l)}if(r.nodeList)return{extraSections:c,groups:[],proxies:o,sectionOrder:u};let f=[];for(let l of t){let h=[],g="";switch(l.type){case"select":case"smart":case"url-test":case"fallback":break;case"load-balance":if(n<1&&n!==-3)continue;break;case"ssid":{let d=l.proxies.slice(1).join(","),m=`${l.type},default=${l.proxies[0]??""},${d}`;f.push(`${l.name} = ${m}`);continue}default:continue}for(let d of l.proxies)vn(d,a,h,!0);if(h.length===0&&h.push("DIRECT"),h.length===1){let d=h[0].toLowerCase();if(d==="direct"||d==="reject"||d==="reject-tinygif"){o.push(`${l.name} = ${d}`);continue}}g=`${l.type},${h.join(",")}`,(l.type==="url-test"||l.type==="fallback"||l.type==="load-balance")&&(g+=`,url=${l.url},interval=${l.interval}`,l.tolerance>0&&(g+=`,tolerance=${l.tolerance}`),l.timeout>0&&(g+=`,timeout=${l.timeout}`),l.persistent!==void 0&&(g+=`,persistent=${le(l.persistent)}`),l.evaluateBeforeUse!==void 0&&(g+=`,evaluate-before-use=${le(l.evaluateBeforeUse)}`)),f.push(`${l.name} = ${g}`)}return{extraSections:c,groups:f,proxies:o,sectionOrder:u}}function $n(e,t,s,r){let n=yo(e,t,s,r);if(r.nodeList)return n.proxies.join(`
133
+ `);let i=r.baseConf===""?[]:mo(r.baseConf),o=new Map,a=[];for(let p of i)o.set(p.name,p),a.push(p.name);let c=(p,f)=>{o.has(p)||a.push(p),o.set(p,{lines:f,name:p})};c("Proxy",["DIRECT = direct",...n.proxies]),n.groups.length>0&&c("Proxy Group",n.groups);for(let p of n.sectionOrder)c(p,n.extraSections.get(p));r.rules&&r.rules.lines.length>0&&c(r.rules.section,r.rules.lines);let u=[];for(let p of a){let f=o.get(p);f&&(u.push(`[${p}]`),u.push(...f.lines),u.push(""))}return u.join(`
134
134
  `).trimEnd()+`
135
- `}var ct=["DOMAIN","DOMAIN-SUFFIX","DOMAIN-KEYWORD","IP-CIDR","SRC-IP-CIDR","GEOIP","MATCH","FINAL"],xf=[...ct,"IP-CIDR6","SRC-PORT","DST-PORT","PROCESS-NAME"],ep=[...ct,"IP-CIDR6","USER-AGENT","URL-REGEX","PROCESS-NAME","IN-PORT","DEST-PORT","SRC-IP"],tp=[...ct,"IP-CIDR6","USER-AGENT","URL-REGEX","AND","OR","NOT","PROCESS-NAME","IN-PORT","DEST-PORT","SRC-IP"],sp=[...ct,"USER-AGENT","HOST","HOST-SUFFIX","HOST-KEYWORD"],rp=[...ct,"IP-CIDR6","PROCESS-NAME","IN-PORT","DEST-PORT","SRC-IP"];var np=[...ct,"IP-VERSION","INBOUND","PROTOCOL","NETWORK","GEOSITE","SRC-GEOIP","DOMAIN-REGEX","PROCESS-NAME","PROCESS-PATH","PACKAGE-NAME","PORT","PORT-RANGE","SRC-PORT","SRC-PORT-RANGE","USER","USER-ID"];async function Sn(t,e){let s=await fetch(t,e);if(!s.ok)throw new Error(`Failed to fetch ${t}: ${s.status} ${s.statusText}`);return s.text()}async function co(t,e){return ys(await Sn(t,e))}typeof globalThis<"u"&&(globalThis.SubConverter=bs);var lo=bs;return Nn(uo);})();
135
+ `}var ct=["DOMAIN","DOMAIN-SUFFIX","DOMAIN-KEYWORD","IP-CIDR","SRC-IP-CIDR","GEOIP","MATCH","FINAL"],cp=[...ct,"IP-CIDR6","SRC-PORT","DST-PORT","PROCESS-NAME"],lp=[...ct,"IP-CIDR6","USER-AGENT","URL-REGEX","PROCESS-NAME","IN-PORT","DEST-PORT","SRC-IP"],up=[...ct,"IP-CIDR6","USER-AGENT","URL-REGEX","AND","OR","NOT","PROCESS-NAME","IN-PORT","DEST-PORT","SRC-IP"],fp=[...ct,"USER-AGENT","HOST","HOST-SUFFIX","HOST-KEYWORD"],pp=[...ct,"IP-CIDR6","PROCESS-NAME","IN-PORT","DEST-PORT","SRC-IP"];var dp=[...ct,"IP-VERSION","INBOUND","PROTOCOL","NETWORK","GEOSITE","SRC-GEOIP","DOMAIN-REGEX","PROCESS-NAME","PROCESS-PATH","PACKAGE-NAME","PORT","PORT-RANGE","SRC-PORT","SRC-PORT-RANGE","USER","USER-ID"];async function In(e,t){let s=await fetch(e,t);if(!s.ok)throw new Error(`Failed to fetch ${e}: ${s.status} ${s.statusText}`);return s.text()}async function bo(e,t){return bs(await In(e,t))}typeof globalThis<"u"&&(globalThis.SubConverter=ws);var wo=ws;return Cn(vo);})();
136
136
  //# sourceMappingURL=subconverter.global.js.map