sootsim 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +197 -0
  2. package/dist-cli/bin.js +29 -0
  3. package/dist-cli/chunks/bridge-host-2EY7Z4AO.js +2 -0
  4. package/dist-cli/chunks/chunk-3C3ZH7PP.js +4 -0
  5. package/dist-cli/chunks/chunk-3R4ZZESY.js +119 -0
  6. package/dist-cli/chunks/chunk-64TOMNZX.js +37 -0
  7. package/dist-cli/chunks/chunk-74XPLOV4.js +2 -0
  8. package/dist-cli/chunks/chunk-7LMDCMSI.js +8 -0
  9. package/dist-cli/chunks/chunk-7X6OPSRD.js +2 -0
  10. package/dist-cli/chunks/chunk-A2CZQIWO.js +1 -0
  11. package/dist-cli/chunks/chunk-CKZ376AY.js +322 -0
  12. package/dist-cli/chunks/chunk-E522F5JW.js +2 -0
  13. package/dist-cli/chunks/chunk-E5UBZEYR.js +2 -0
  14. package/dist-cli/chunks/chunk-G5MR66EB.js +180 -0
  15. package/dist-cli/chunks/chunk-GPVPHE2B.js +3 -0
  16. package/dist-cli/chunks/chunk-HOIHCO7S.js +3 -0
  17. package/dist-cli/chunks/chunk-J2S3OCWA.js +69 -0
  18. package/dist-cli/chunks/chunk-JSF5LPNT.js +176 -0
  19. package/dist-cli/chunks/chunk-KQWZZ56P.js +2 -0
  20. package/dist-cli/chunks/chunk-KSACMDXK.js +3 -0
  21. package/dist-cli/chunks/chunk-KSB6MSZ4.js +34 -0
  22. package/dist-cli/chunks/chunk-KXYKAYYB.js +51 -0
  23. package/dist-cli/chunks/chunk-MBFP2LVH.js +3 -0
  24. package/dist-cli/chunks/chunk-MPSZ5EWF.js +16 -0
  25. package/dist-cli/chunks/chunk-OROM7DZI.js +2 -0
  26. package/dist-cli/chunks/chunk-PWXPA745.js +3 -0
  27. package/dist-cli/chunks/chunk-QOBRRY5X.js +4 -0
  28. package/dist-cli/chunks/chunk-X2U72K7X.js +1 -0
  29. package/dist-cli/chunks/chunk-YCETS3B3.js +2 -0
  30. package/dist-cli/chunks/compat-MRN2ORY5.js +33 -0
  31. package/dist-cli/chunks/config-CO5IYWUY.js +45 -0
  32. package/dist-cli/chunks/control-Y7TKKB6D.js +2 -0
  33. package/dist-cli/chunks/daemon-G4XVRFHM.js +49 -0
  34. package/dist-cli/chunks/debug-ZNSZTWT6.js +182 -0
  35. package/dist-cli/chunks/detox-JEGYNTYV.js +49 -0
  36. package/dist-cli/chunks/dev-ZUKCZQEX.js +25 -0
  37. package/dist-cli/chunks/dev-checkout-IEZVVTCN.js +2 -0
  38. package/dist-cli/chunks/device-BS34FAFM.js +16 -0
  39. package/dist-cli/chunks/drivers-46PFFIDF.js +2 -0
  40. package/dist-cli/chunks/electron-P2KOPX2S.js +15 -0
  41. package/dist-cli/chunks/flow-VVOF6UNC.js +2 -0
  42. package/dist-cli/chunks/hints-7Z656W4H.js +2 -0
  43. package/dist-cli/chunks/inspect-NAHXP2M5.js +1042 -0
  44. package/dist-cli/chunks/install-EPUJX4AT.js +67 -0
  45. package/dist-cli/chunks/install-desktop-PYIZIH67.js +19 -0
  46. package/dist-cli/chunks/login-Z5Z54HUJ.js +26 -0
  47. package/dist-cli/chunks/logout-T2QDYGCB.js +2 -0
  48. package/dist-cli/chunks/maestro-4AXTS7OE.js +75 -0
  49. package/dist-cli/chunks/preview-NMGWHWMX.js +17 -0
  50. package/dist-cli/chunks/profile-6RGJA4FR.js +22 -0
  51. package/dist-cli/chunks/record-IE27Z2GA.js +37 -0
  52. package/dist-cli/chunks/screenshot-R3GCCSCI.js +26 -0
  53. package/dist-cli/chunks/screenshot-mode-SZQDNGYE.js +17 -0
  54. package/dist-cli/chunks/screenshots-4UQJE4NC.js +70 -0
  55. package/dist-cli/chunks/server-AN2G5KO4.js +21 -0
  56. package/dist-cli/chunks/skills-2PPKPL4B.js +10 -0
  57. package/dist-cli/chunks/store-PU5ES4YQ.js +2 -0
  58. package/dist-cli/chunks/test-5LFKOQ4M.js +31 -0
  59. package/dist-cli/chunks/upload-BYNPC54C.js +2 -0
  60. package/dist-cli/chunks/vite-plugin-5AEUUBKP.js +9 -0
  61. package/dist-cli/chunks/whoami-H6FW34JS.js +2 -0
  62. package/package.json +56 -0
@@ -0,0 +1,176 @@
1
+ /*! sootsim v0.0.1 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{b as bs}from"./chunk-E522F5JW.js";var oi=`(async () => {
3
+ try { localStorage.clear() } catch {}
4
+ try { sessionStorage.clear() } catch {}
5
+ try {
6
+ const dbs = (await indexedDB.databases?.()) || []
7
+ await Promise.all(
8
+ dbs.map(
9
+ (db) =>
10
+ new Promise((resolve) => {
11
+ if (!db.name) {
12
+ resolve()
13
+ return
14
+ }
15
+ const req = indexedDB.deleteDatabase(db.name)
16
+ req.onsuccess = () => resolve()
17
+ req.onerror = () => resolve()
18
+ req.onblocked = () => resolve()
19
+ }),
20
+ ),
21
+ )
22
+ } catch {}
23
+ try {
24
+ const names = await caches.keys()
25
+ await Promise.all(names.map((name) => caches.delete(name)))
26
+ } catch {}
27
+ try {
28
+ document.cookie.split(';').forEach((cookie) => {
29
+ const name = cookie.split('=')[0]?.trim()
30
+ if (name) {
31
+ document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/'
32
+ }
33
+ })
34
+ } catch {}
35
+ return true
36
+ })()`;var hs={};bs(hs,{Alias:()=>ee,CST:()=>cs,Composer:()=>be,Document:()=>se,Lexer:()=>De,LineCounter:()=>Be,Pair:()=>C,Parser:()=>we,Scalar:()=>y,Schema:()=>Ce,YAMLError:()=>$e,YAMLMap:()=>_,YAMLParseError:()=>x,YAMLSeq:()=>D,YAMLWarning:()=>Pe,isAlias:()=>q,isCollection:()=>L,isDocument:()=>R,isMap:()=>U,isNode:()=>I,isPair:()=>T,isScalar:()=>E,isSeq:()=>V,parse:()=>mn,parseAllDocuments:()=>pn,parseDocument:()=>us,stringify:()=>dn,visit:()=>G,visitAsync:()=>je});var tt=Symbol.for("yaml.alias"),st=Symbol.for("yaml.document"),Y=Symbol.for("yaml.map"),Ft=Symbol.for("yaml.pair"),F=Symbol.for("yaml.scalar"),re=Symbol.for("yaml.seq"),K=Symbol.for("yaml.node.type"),q=s=>!!s&&typeof s=="object"&&s[K]===tt,R=s=>!!s&&typeof s=="object"&&s[K]===st,U=s=>!!s&&typeof s=="object"&&s[K]===Y,T=s=>!!s&&typeof s=="object"&&s[K]===Ft,E=s=>!!s&&typeof s=="object"&&s[K]===F,V=s=>!!s&&typeof s=="object"&&s[K]===re;function L(s){if(s&&typeof s=="object")switch(s[K]){case Y:case re:return!0}return!1}function I(s){if(s&&typeof s=="object")switch(s[K]){case tt:case Y:case F:case re:return!0}return!1}var nt=s=>(E(s)||L(s))&&!!s.anchor;var j=Symbol("break visit"),ws=Symbol("skip children"),z=Symbol("remove node");function G(s,e){let t=Ss(e);R(s)?ke(null,s.contents,t,Object.freeze([s]))===z&&(s.contents=null):ke(null,s,t,Object.freeze([]))}G.BREAK=j;G.SKIP=ws;G.REMOVE=z;function ke(s,e,t,n){let i=ks(s,e,t,n);if(I(i)||T(i))return Ns(s,n,i),ke(s,i,t,n);if(typeof i!="symbol"){if(L(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){let o=ke(r,e.items[r],t,n);if(typeof o=="number")r=o-1;else{if(o===j)return j;o===z&&(e.items.splice(r,1),r-=1)}}}else if(T(e)){n=Object.freeze(n.concat(e));let r=ke("key",e.key,t,n);if(r===j)return j;r===z&&(e.key=null);let o=ke("value",e.value,t,n);if(o===j)return j;o===z&&(e.value=null)}}return i}async function je(s,e){let t=Ss(e);R(s)?await Ne(null,s.contents,t,Object.freeze([s]))===z&&(s.contents=null):await Ne(null,s,t,Object.freeze([]))}je.BREAK=j;je.SKIP=ws;je.REMOVE=z;async function Ne(s,e,t,n){let i=await ks(s,e,t,n);if(I(i)||T(i))return Ns(s,n,i),Ne(s,i,t,n);if(typeof i!="symbol"){if(L(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){let o=await Ne(r,e.items[r],t,n);if(typeof o=="number")r=o-1;else{if(o===j)return j;o===z&&(e.items.splice(r,1),r-=1)}}}else if(T(e)){n=Object.freeze(n.concat(e));let r=await Ne("key",e.key,t,n);if(r===j)return j;r===z&&(e.key=null);let o=await Ne("value",e.value,t,n);if(o===j)return j;o===z&&(e.value=null)}}return i}function Ss(s){return typeof s=="object"&&(s.Collection||s.Node||s.Value)?Object.assign({Alias:s.Node,Map:s.Node,Scalar:s.Node,Seq:s.Node},s.Value&&{Map:s.Value,Scalar:s.Value,Seq:s.Value},s.Collection&&{Map:s.Collection,Seq:s.Collection},s):s}function ks(s,e,t,n){if(typeof t=="function")return t(s,e,n);if(U(e))return t.Map?.(s,e,n);if(V(e))return t.Seq?.(s,e,n);if(T(e))return t.Pair?.(s,e,n);if(E(e))return t.Scalar?.(s,e,n);if(q(e))return t.Alias?.(s,e,n)}function Ns(s,e,t){let n=e[e.length-1];if(L(n))n.items[s]=t;else if(T(n))s==="key"?n.key=t:n.value=t;else if(R(n))n.contents=t;else{let i=q(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}var kn={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Nn=s=>s.replace(/[!,[\]{}]/g,e=>kn[e]),Z=class s{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},s.defaultYaml,e),this.tags=Object.assign({},s.defaultTags,t)}clone(){let e=new s(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new s(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:s.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},s.defaultTags);break}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:s.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},s.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),i=n.shift();switch(i){case"%TAG":{if(n.length!==2&&(t(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[r,o]=n;return this.tags[r]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;let[r]=n;if(r==="1.1"||r==="1.2")return this.yaml.version=r,!0;{let o=/^\d+\.\d+$/.test(r);return t(6,`Unsupported YAML version ${r}`,o),!1}}default:return t(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e==="!")return"!";if(e[0]!=="!")return t(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&t("Verbatim tags must end with a >"),o)}let[,n,i]=e.match(/^(.*!)([^!]*)$/s);i||t(`The ${e} tag has no suffix`);let r=this.tags[n];if(r)try{return r+decodeURIComponent(i)}catch(o){return t(String(o)),null}return n==="!"?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+Nn(e.substring(n.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),i;if(e&&n.length>0&&I(e.contents)){let r={};G(e.contents,(o,a)=>{I(a)&&a.tag&&(r[a.tag]=!0)}),i=Object.keys(r)}else i=[];for(let[r,o]of n)r==="!!"&&o==="tag:yaml.org,2002:"||(!e||i.some(a=>a.startsWith(o)))&&t.push(`%TAG ${r} ${o}`);return t.join(`
37
+ `)}};Z.defaultYaml={explicit:!1,version:"1.2"};Z.defaultTags={"!!":"tag:yaml.org,2002:"};function it(s){if(/[\x00-\x19\s,[\]{}]/.test(s)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(s)}`;throw new Error(t)}return!0}function qt(s){let e=new Set;return G(s,{Value(t,n){n.anchor&&e.add(n.anchor)}}),e}function xt(s,e){for(let t=1;;++t){let n=`${s}${t}`;if(!e.has(n))return n}}function Os(s,e){let t=[],n=new Map,i=null;return{onAnchor:r=>{t.push(r),i??(i=qt(s));let o=xt(e,i);return i.add(o),o},setAnchors:()=>{for(let r of t){let o=n.get(r);if(typeof o=="object"&&o.anchor&&(E(o.node)||L(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=r,a}}},sourceObjects:n}}function fe(s,e,t,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let i=0,r=n.length;i<r;++i){let o=n[i],a=fe(s,n,String(i),o);a===void 0?delete n[i]:a!==o&&(n[i]=a)}else if(n instanceof Map)for(let i of Array.from(n.keys())){let r=n.get(i),o=fe(s,n,i,r);o===void 0?n.delete(i):o!==r&&n.set(i,o)}else if(n instanceof Set)for(let i of Array.from(n)){let r=fe(s,n,i,i);r===void 0?n.delete(i):r!==i&&(n.delete(i),n.add(r))}else for(let[i,r]of Object.entries(n)){let o=fe(s,n,i,r);o===void 0?delete n[i]:o!==r&&(n[i]=o)}return s.call(e,t,n)}function M(s,e,t){if(Array.isArray(s))return s.map((n,i)=>M(n,String(i),t));if(s&&typeof s.toJSON=="function"){if(!t||!nt(s))return s.toJSON(e,t);let n={aliasCount:0,count:1,res:void 0};t.anchors.set(s,n),t.onCreate=r=>{n.res=r,delete t.onCreate};let i=s.toJSON(e,t);return t.onCreate&&t.onCreate(i),i}return typeof s=="bigint"&&!t?.keep?Number(s):s}var ue=class{constructor(e){Object.defineProperty(this,K,{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:t,maxAliasCount:n,onAnchor:i,reviver:r}={}){if(!R(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},a=M(this,"",o);if(typeof i=="function")for(let{count:l,res:c}of o.anchors.values())i(c,l);return typeof r=="function"?fe(r,{"":a},"",a):a}};var ee=class extends ue{constructor(e){super(tt),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,t){let n;t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],G(e,{Node:(r,o)=>{(q(o)||nt(o))&&n.push(o)}}),t&&(t.aliasResolveCache=n));let i;for(let r of n){if(r===this)break;r.anchor===this.source&&(i=r)}return i}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:i,maxAliasCount:r}=t,o=this.resolve(i,t);if(!o){let l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(l)}let a=n.get(o);if(a||(M(o,null,t),a=n.get(o)),a?.res===void 0){let l="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(l)}if(r>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=rt(i,o,n)),a.count*a.aliasCount>r)){let l="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(l)}return a.res}toString(e,t,n){let i=`*${this.source}`;if(e){if(it(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let r=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(r)}if(e.implicitKey)return`${i} `}return i}};function rt(s,e,t){if(q(e)){let n=e.resolve(s),i=t&&n&&t.get(n);return i?i.count*i.aliasCount:0}else if(L(e)){let n=0;for(let i of e.items){let r=rt(s,i,t);r>n&&(n=r)}return n}else if(T(e)){let n=rt(s,e.key,t),i=rt(s,e.value,t);return Math.max(n,i)}return 1}var ot=s=>!s||typeof s!="function"&&typeof s!="object",y=class extends ue{constructor(e){super(F),this.value=e}toJSON(e,t){return t?.keep?this.value:M(this.value,e,t)}toString(){return String(this.value)}};y.BLOCK_FOLDED="BLOCK_FOLDED";y.BLOCK_LITERAL="BLOCK_LITERAL";y.PLAIN="PLAIN";y.QUOTE_DOUBLE="QUOTE_DOUBLE";y.QUOTE_SINGLE="QUOTE_SINGLE";var On="tag:yaml.org,2002:";function An(s,e,t){if(e){let n=t.filter(r=>r.tag===e),i=n.find(r=>!r.format)??n[0];if(!i)throw new Error(`Tag ${e} not found`);return i}return t.find(n=>n.identify?.(s)&&!n.format)}function oe(s,e,t){if(R(s)&&(s=s.contents),I(s))return s;if(T(s)){let f=t.schema[Y].createNode?.(t.schema,null,t);return f.items.push(s),f}(s instanceof String||s instanceof Number||s instanceof Boolean||typeof BigInt<"u"&&s instanceof BigInt)&&(s=s.valueOf());let{aliasDuplicateObjects:n,onAnchor:i,onTagObj:r,schema:o,sourceObjects:a}=t,l;if(n&&s&&typeof s=="object"){if(l=a.get(s),l)return l.anchor??(l.anchor=i(s)),new ee(l.anchor);l={anchor:null,node:null},a.set(s,l)}e?.startsWith("!!")&&(e=On+e.slice(2));let c=An(s,e,o.tags);if(!c){if(s&&typeof s.toJSON=="function"&&(s=s.toJSON()),!s||typeof s!="object"){let f=new y(s);return l&&(l.node=f),f}c=s instanceof Map?o[Y]:Symbol.iterator in Object(s)?o[re]:o[Y]}r&&(r(c),delete t.onTagObj);let p=c?.createNode?c.createNode(t.schema,s,t):typeof c?.nodeClass?.from=="function"?c.nodeClass.from(t.schema,s,t):new y(s);return e?p.tag=e:c.default||(p.tag=c.tag),l&&(l.node=p),p}function Fe(s,e,t){let n=t;for(let i=e.length-1;i>=0;--i){let r=e[i];if(typeof r=="number"&&Number.isInteger(r)&&r>=0){let o=[];o[r]=n,n=o}else n=new Map([[r,n]])}return oe(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:s,sourceObjects:new Map})}var Ae=s=>s==null||typeof s=="object"&&!!s[Symbol.iterator]().next().done,Oe=class extends ue{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(n=>I(n)||T(n)?n.clone(e):n),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(Ae(e))this.add(t);else{let[n,...i]=e,r=this.get(n,!0);if(L(r))r.addIn(i,t);else if(r===void 0&&this.schema)this.set(n,Fe(this.schema,i,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}deleteIn(e){let[t,...n]=e;if(n.length===0)return this.delete(t);let i=this.get(t,!0);if(L(i))return i.deleteIn(n);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...i]=e,r=this.get(n,!0);return i.length===0?!t&&E(r)?r.value:r:L(r)?r.getIn(i,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!T(t))return!1;let n=t.value;return n==null||e&&E(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(n.length===0)return this.has(t);let i=this.get(t,!0);return L(i)?i.hasIn(n):!1}setIn(e,t){let[n,...i]=e;if(i.length===0)this.set(n,t);else{let r=this.get(n,!0);if(L(r))r.setIn(i,t);else if(r===void 0&&this.schema)this.set(n,Fe(this.schema,i,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}};var As=s=>s.replace(/^(?!$)(?: $)?/gm,"#");function J(s,e){return/^\n+$/.test(s)?s.substring(1):e?s.replace(/^(?! *$)/gm,e):s}var te=(s,e,t)=>s.endsWith(`
38
+ `)?J(t,e):t.includes(`
39
+ `)?`
40
+ `+J(t,e):(s.endsWith(" ")?"":" ")+t;var Rt="flow",at="block",qe="quoted";function xe(s,e,t="flow",{indentAtStart:n,lineWidth:i=80,minContentWidth:r=20,onFold:o,onOverflow:a}={}){if(!i||i<0)return s;i<r&&(r=0);let l=Math.max(1+r,1+i-e.length);if(s.length<=l)return s;let c=[],p={},f=i-e.length;typeof n=="number"&&(n>i-Math.max(2,r)?c.push(0):f=i-n);let u,d,g=!1,h=-1,m=-1,w=-1;t===at&&(h=Es(s,h,e.length),h!==-1&&(f=h+l));for(let k;k=s[h+=1];){if(t===qe&&k==="\\"){switch(m=h,s[h+1]){case"x":h+=3;break;case"u":h+=5;break;case"U":h+=9;break;default:h+=1}w=h}if(k===`
41
+ `)t===at&&(h=Es(s,h,e.length)),f=h+e.length+l,u=void 0;else{if(k===" "&&d&&d!==" "&&d!==`
42
+ `&&d!==" "){let N=s[h+1];N&&N!==" "&&N!==`
43
+ `&&N!==" "&&(u=h)}if(h>=f)if(u)c.push(u),f=u+l,u=void 0;else if(t===qe){for(;d===" "||d===" ";)d=k,k=s[h+=1],g=!0;let N=h>w+1?h-2:m-1;if(p[N])return s;c.push(N),p[N]=!0,f=N+l,u=void 0}else g=!0}d=k}if(g&&a&&a(),c.length===0)return s;o&&o();let S=s.slice(0,c[0]);for(let k=0;k<c.length;++k){let N=c[k],O=c[k+1]||s.length;N===0?S=`
44
+ ${e}${s.slice(0,O)}`:(t===qe&&p[N]&&(S+=`${s[N]}\\`),S+=`
45
+ ${e}${s.slice(N+1,O)}`)}return S}function Es(s,e,t){let n=e,i=e+1,r=s[i];for(;r===" "||r===" ";)if(e<i+t)r=s[++e];else{do r=s[++e];while(r&&r!==`
46
+ `);n=e,i=e+1,r=s[i]}return n}var ct=(s,e)=>({indentAtStart:e?s.indent.length:s.indentAtStart,lineWidth:s.options.lineWidth,minContentWidth:s.options.minContentWidth}),ft=s=>/^(%|---|\.\.\.)/m.test(s);function En(s,e,t){if(!e||e<0)return!1;let n=e-t,i=s.length;if(i<=n)return!1;for(let r=0,o=0;r<i;++r)if(s[r]===`
47
+ `){if(r-o>n)return!0;if(o=r+1,i-o<=n)return!1}return!0}function Re(s,e){let t=JSON.stringify(s);if(e.options.doubleQuotedAsJSON)return t;let{implicitKey:n}=e,i=e.options.doubleQuotedMinMultiLineLength,r=e.indent||(ft(s)?" ":""),o="",a=0;for(let l=0,c=t[l];c;c=t[++l])if(c===" "&&t[l+1]==="\\"&&t[l+2]==="n"&&(o+=t.slice(a,l)+"\\ ",l+=1,a=l,c="\\"),c==="\\")switch(t[l+1]){case"u":{o+=t.slice(a,l);let p=t.substr(l+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+=t.substr(l,6)}l+=5,a=l+1}break;case"n":if(n||t[l+2]==='"'||t.length<i)l+=1;else{for(o+=t.slice(a,l)+`
48
+
49
+ `;t[l+2]==="\\"&&t[l+3]==="n"&&t[l+4]!=='"';)o+=`
50
+ `,l+=2;o+=r,t[l+2]===" "&&(o+="\\"),l+=1,a=l+1}break;default:l+=1}return o=a?o+t.slice(a):t,n?o:xe(o,r,qe,ct(e,!1))}function Ut(s,e){if(e.options.singleQuote===!1||e.implicitKey&&s.includes(`
51
+ `)||/[ \t]\n|\n[ \t]/.test(s))return Re(s,e);let t=e.indent||(ft(s)?" ":""),n="'"+s.replace(/'/g,"''").replace(/\n+/g,`$&
52
+ ${t}`)+"'";return e.implicitKey?n:xe(n,t,Rt,ct(e,!1))}function Ee(s,e){let{singleQuote:t}=e.options,n;if(t===!1)n=Re;else{let i=s.includes('"'),r=s.includes("'");i&&!r?n=Ut:r&&!i?n=Re:n=t?Ut:Re}return n(s,e)}var Vt;try{Vt=new RegExp(`(^|(?<!
53
+ ))
54
+ +(?!
55
+ |$)`,"g")}catch{Vt=/\n+(?!\n|$)/g}function lt({comment:s,type:e,value:t},n,i,r){let{blockQuote:o,commentString:a,lineWidth:l}=n.options;if(!o||/\n[\t ]+$/.test(t))return Ee(t,n);let c=n.indent||(n.forceBlockIndent||ft(t)?" ":""),p=o==="literal"?!0:o==="folded"||e===y.BLOCK_FOLDED?!1:e===y.BLOCK_LITERAL?!0:!En(t,l,c.length);if(!t)return p?`|
56
+ `:`>
57
+ `;let f,u;for(u=t.length;u>0;--u){let O=t[u-1];if(O!==`
58
+ `&&O!==" "&&O!==" ")break}let d=t.substring(u),g=d.indexOf(`
59
+ `);g===-1?f="-":t===d||g!==d.length-1?(f="+",r&&r()):f="",d&&(t=t.slice(0,-d.length),d[d.length-1]===`
60
+ `&&(d=d.slice(0,-1)),d=d.replace(Vt,`$&${c}`));let h=!1,m,w=-1;for(m=0;m<t.length;++m){let O=t[m];if(O===" ")h=!0;else if(O===`
61
+ `)w=m;else break}let S=t.substring(0,w<m?w+1:m);S&&(t=t.substring(S.length),S=S.replace(/\n+/g,`$&${c}`));let N=(h?c?"2":"1":"")+f;if(s&&(N+=" "+a(s.replace(/ ?[\r\n]+/g," ")),i&&i()),!p){let O=t.replace(/\n+/g,`
62
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${c}`),A=!1,v=ct(n,!0);o!=="folded"&&e!==y.BLOCK_FOLDED&&(v.onOverflow=()=>{A=!0});let b=xe(`${S}${O}${d}`,c,at,v);if(!A)return`>${N}
63
+ ${c}${b}`}return t=t.replace(/\n+/g,`$&${c}`),`|${N}
64
+ ${c}${S}${t}${d}`}function Tn(s,e,t,n){let{type:i,value:r}=s,{actualString:o,implicitKey:a,indent:l,indentStep:c,inFlow:p}=e;if(a&&r.includes(`
65
+ `)||p&&/[[\]{},]/.test(r))return Ee(r,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(r))return a||p||!r.includes(`
66
+ `)?Ee(r,e):lt(s,e,t,n);if(!a&&!p&&i!==y.PLAIN&&r.includes(`
67
+ `))return lt(s,e,t,n);if(ft(r)){if(l==="")return e.forceBlockIndent=!0,lt(s,e,t,n);if(a&&l===c)return Ee(r,e)}let f=r.replace(/\n+/g,`$&
68
+ ${l}`);if(o){let u=h=>h.default&&h.tag!=="tag:yaml.org,2002:str"&&h.test?.test(f),{compat:d,tags:g}=e.doc.schema;if(g.some(u)||d?.some(u))return Ee(r,e)}return a?f:xe(f,l,Rt,ct(e,!1))}function ae(s,e,t,n){let{implicitKey:i,inFlow:r}=e,o=typeof s.value=="string"?s:Object.assign({},s,{value:String(s.value)}),{type:a}=s;a!==y.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=y.QUOTE_DOUBLE);let l=p=>{switch(p){case y.BLOCK_FOLDED:case y.BLOCK_LITERAL:return i||r?Ee(o.value,e):lt(o,e,t,n);case y.QUOTE_DOUBLE:return Re(o.value,e);case y.QUOTE_SINGLE:return Ut(o.value,e);case y.PLAIN:return Tn(o,e,t,n);default:return null}},c=l(a);if(c===null){let{defaultKeyType:p,defaultStringType:f}=e.options,u=i&&p||f;if(c=l(u),c===null)throw new Error(`Unsupported default string type ${u}`)}return c}function ut(s,e){let t=Object.assign({blockQuote:!0,commentString:As,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},s.schema.toStringOptions,e),n;switch(t.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:s,flowCollectionPadding:t.flowCollectionPadding?" ":"",indent:"",indentStep:typeof t.indent=="number"?" ".repeat(t.indent):" ",inFlow:n,options:t}}function In(s,e){if(e.tag){let i=s.filter(r=>r.tag===e.tag);if(i.length>0)return i.find(r=>r.format===e.format)??i[0]}let t,n;if(E(e)){n=e.value;let i=s.filter(r=>r.identify?.(n));if(i.length>1){let r=i.filter(o=>o.test);r.length>0&&(i=r)}t=i.find(r=>r.format===e.format)??i.find(r=>!r.format)}else n=e,t=s.find(i=>i.nodeClass&&n instanceof i.nodeClass);if(!t){let i=n?.constructor?.name??(n===null?"null":typeof n);throw new Error(`Tag not resolved for ${i} value`)}return t}function Ln(s,e,{anchors:t,doc:n}){if(!n.directives)return"";let i=[],r=(E(s)||L(s))&&s.anchor;r&&it(r)&&(t.add(r),i.push(`&${r}`));let o=s.tag??(e.default?null:e.tag);return o&&i.push(n.directives.tagString(o)),i.join(" ")}function le(s,e,t,n){if(T(s))return s.toString(e,t,n);if(q(s)){if(e.doc.directives)return s.toString(e);if(e.resolvedAliases?.has(s))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(s):e.resolvedAliases=new Set([s]),s=s.resolve(e.doc)}let i,r=I(s)?s:e.doc.createNode(s,{onTagObj:l=>i=l});i??(i=In(e.doc.schema.tags,r));let o=Ln(r,i,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);let a=typeof i.stringify=="function"?i.stringify(r,e,t,n):E(r)?ae(r,e,t,n):r.toString(e,t,n);return o?E(r)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
69
+ ${e.indent}${a}`:a}function Ts({key:s,value:e},t,n,i){let{allNullValues:r,doc:o,indent:a,indentStep:l,options:{commentString:c,indentSeq:p,simpleKeys:f}}=t,u=I(s)&&s.comment||null;if(f){if(u)throw new Error("With simple keys, key nodes cannot have comments");if(L(s)||!I(s)&&typeof s=="object"){let v="With simple keys, collection cannot be used as a key value";throw new Error(v)}}let d=!f&&(!s||u&&e==null&&!t.inFlow||L(s)||(E(s)?s.type===y.BLOCK_FOLDED||s.type===y.BLOCK_LITERAL:typeof s=="object"));t=Object.assign({},t,{allNullValues:!1,implicitKey:!d&&(f||!r),indent:a+l});let g=!1,h=!1,m=le(s,t,()=>g=!0,()=>h=!0);if(!d&&!t.inFlow&&m.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");d=!0}if(t.inFlow){if(r||e==null)return g&&n&&n(),m===""?"?":d?`? ${m}`:m}else if(r&&!f||e==null&&d)return m=`? ${m}`,u&&!g?m+=te(m,t.indent,c(u)):h&&i&&i(),m;g&&(u=null),d?(u&&(m+=te(m,t.indent,c(u))),m=`? ${m}
70
+ ${a}:`):(m=`${m}:`,u&&(m+=te(m,t.indent,c(u))));let w,S,k;I(e)?(w=!!e.spaceBefore,S=e.commentBefore,k=e.comment):(w=!1,S=null,k=null,e&&typeof e=="object"&&(e=o.createNode(e))),t.implicitKey=!1,!d&&!u&&E(e)&&(t.indentAtStart=m.length+1),h=!1,!p&&l.length>=2&&!t.inFlow&&!d&&V(e)&&!e.flow&&!e.tag&&!e.anchor&&(t.indent=t.indent.substring(2));let N=!1,O=le(e,t,()=>N=!0,()=>h=!0),A=" ";if(u||w||S){if(A=w?`
71
+ `:"",S){let v=c(S);A+=`
72
+ ${J(v,t.indent)}`}O===""&&!t.inFlow?A===`
73
+ `&&k&&(A=`
74
+
75
+ `):A+=`
76
+ ${t.indent}`}else if(!d&&L(e)){let v=O[0],b=O.indexOf(`
77
+ `),$=b!==-1,ce=t.inFlow??e.flow??e.items.length===0;if($||!ce){let Se=!1;if($&&(v==="&"||v==="!")){let P=O.indexOf(" ");v==="&"&&P!==-1&&P<b&&O[P+1]==="!"&&(P=O.indexOf(" ",P+1)),(P===-1||b<P)&&(Se=!0)}Se||(A=`
78
+ ${t.indent}`)}}else(O===""||O[0]===`
79
+ `)&&(A="");return m+=A+O,t.inFlow?N&&n&&n():k&&!N?m+=te(m,t.indent,c(k)):h&&i&&i(),m}function ht(s,e){(s==="debug"||s==="warn")&&console.warn(e)}var pt="<<",Q={identify:s=>s===pt||typeof s=="symbol"&&s.description===pt,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new y(Symbol(pt)),{addToJSMap:Yt}),stringify:()=>pt},Is=(s,e)=>(Q.identify(e)||E(e)&&(!e.type||e.type===y.PLAIN)&&Q.identify(e.value))&&s?.doc.schema.tags.some(t=>t.tag===Q.tag&&t.default);function Yt(s,e,t){if(t=s&&q(t)?t.resolve(s.doc):t,V(t))for(let n of t.items)Jt(s,e,n);else if(Array.isArray(t))for(let n of t)Jt(s,e,n);else Jt(s,e,t)}function Jt(s,e,t){let n=s&&q(t)?t.resolve(s.doc):t;if(!U(n))throw new Error("Merge sources must be maps or map aliases");let i=n.toJSON(null,s,Map);for(let[r,o]of i)e instanceof Map?e.has(r)||e.set(r,o):e instanceof Set?e.add(r):Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{value:o,writable:!0,enumerable:!0,configurable:!0});return e}function mt(s,e,{key:t,value:n}){if(I(t)&&t.addToJSMap)t.addToJSMap(s,e,n);else if(Is(s,t))Yt(s,e,n);else{let i=M(t,"",s);if(e instanceof Map)e.set(i,M(n,i,s));else if(e instanceof Set)e.add(i);else{let r=vn(t,i,s),o=M(n,r,s);r in e?Object.defineProperty(e,r,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[r]=o}}return e}function vn(s,e,t){if(e===null)return"";if(typeof e!="object")return String(e);if(I(s)&&t?.doc){let n=ut(t.doc,{});n.anchors=new Set;for(let r of t.anchors.keys())n.anchors.add(r.anchor);n.inFlow=!0,n.inStringifyKey=!0;let i=s.toString(n);if(!t.mapKeyWarned){let r=JSON.stringify(i);r.length>40&&(r=r.substring(0,36)+'..."'),ht(t.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${r}. Set mapAsMap: true to use object keys.`),t.mapKeyWarned=!0}return i}return JSON.stringify(e)}function Te(s,e,t){let n=oe(s,void 0,t),i=oe(e,void 0,t);return new C(n,i)}var C=class s{constructor(e,t=null){Object.defineProperty(this,K,{value:Ft}),this.key=e,this.value=t}clone(e){let{key:t,value:n}=this;return I(t)&&(t=t.clone(e)),I(n)&&(n=n.clone(e)),new s(t,n)}toJSON(e,t){let n=t?.mapAsMap?new Map:{};return mt(t,n,this)}toString(e,t,n){return e?.doc?Ts(this,e,t,n):JSON.stringify(this)}};function gt(s,e,t){return(e.inFlow??s.flow?_n:Cn)(s,e,t)}function Cn({comment:s,items:e},t,{blockItemPrefix:n,flowChars:i,itemIndent:r,onChompKeep:o,onComment:a}){let{indent:l,options:{commentString:c}}=t,p=Object.assign({},t,{indent:r,type:null}),f=!1,u=[];for(let g=0;g<e.length;++g){let h=e[g],m=null;if(I(h))!f&&h.spaceBefore&&u.push(""),dt(t,u,h.commentBefore,f),h.comment&&(m=h.comment);else if(T(h)){let S=I(h.key)?h.key:null;S&&(!f&&S.spaceBefore&&u.push(""),dt(t,u,S.commentBefore,f))}f=!1;let w=le(h,p,()=>m=null,()=>f=!0);m&&(w+=te(w,r,c(m))),f&&m&&(f=!1),u.push(n+w)}let d;if(u.length===0)d=i.start+i.end;else{d=u[0];for(let g=1;g<u.length;++g){let h=u[g];d+=h?`
80
+ ${l}${h}`:`
81
+ `}}return s?(d+=`
82
+ `+J(c(s),l),a&&a()):f&&o&&o(),d}function _n({items:s},e,{flowChars:t,itemIndent:n}){let{indent:i,indentStep:r,flowCollectionPadding:o,options:{commentString:a}}=e;n+=r;let l=Object.assign({},e,{indent:n,inFlow:!0,type:null}),c=!1,p=0,f=[];for(let g=0;g<s.length;++g){let h=s[g],m=null;if(I(h))h.spaceBefore&&f.push(""),dt(e,f,h.commentBefore,!1),h.comment&&(m=h.comment);else if(T(h)){let S=I(h.key)?h.key:null;S&&(S.spaceBefore&&f.push(""),dt(e,f,S.commentBefore,!1),S.comment&&(c=!0));let k=I(h.value)?h.value:null;k?(k.comment&&(m=k.comment),k.commentBefore&&(c=!0)):h.value==null&&S?.comment&&(m=S.comment)}m&&(c=!0);let w=le(h,l,()=>m=null);c||(c=f.length>p||w.includes(`
83
+ `)),g<s.length-1?w+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(c||(c=f.reduce((S,k)=>S+k.length+2,2)+(w.length+2)>e.options.lineWidth)),c&&(w+=",")),m&&(w+=te(w,n,a(m))),f.push(w),p=f.length}let{start:u,end:d}=t;if(f.length===0)return u+d;if(!c){let g=f.reduce((h,m)=>h+m.length+2,2);c=e.options.lineWidth>0&&g>e.options.lineWidth}if(c){let g=u;for(let h of f)g+=h?`
84
+ ${r}${i}${h}`:`
85
+ `;return`${g}
86
+ ${i}${d}`}else return`${u}${o}${f.join(" ")}${o}${d}`}function dt({indent:s,options:{commentString:e}},t,n,i){if(n&&i&&(n=n.replace(/^\n+/,"")),n){let r=J(e(n),s);t.push(r.trimStart())}}function he(s,e){let t=E(e)?e.value:e;for(let n of s)if(T(n)&&(n.key===e||n.key===t||E(n.key)&&n.key.value===t))return n}var _=class extends Oe{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(Y,e),this.items=[]}static from(e,t,n){let{keepUndefined:i,replacer:r}=n,o=new this(e),a=(l,c)=>{if(typeof r=="function")c=r.call(t,l,c);else if(Array.isArray(r)&&!r.includes(l))return;(c!==void 0||i)&&o.items.push(Te(l,c,n))};if(t instanceof Map)for(let[l,c]of t)a(l,c);else if(t&&typeof t=="object")for(let l of Object.keys(t))a(l,t[l]);return typeof e.sortMapEntries=="function"&&o.items.sort(e.sortMapEntries),o}add(e,t){let n;T(e)?n=e:!e||typeof e!="object"||!("key"in e)?n=new C(e,e?.value):n=new C(e.key,e.value);let i=he(this.items,n.key),r=this.schema?.sortMapEntries;if(i){if(!t)throw new Error(`Key ${n.key} already set`);E(i.value)&&ot(n.value)?i.value.value=n.value:i.value=n.value}else if(r){let o=this.items.findIndex(a=>r(n,a)<0);o===-1?this.items.push(n):this.items.splice(o,0,n)}else this.items.push(n)}delete(e){let t=he(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){let i=he(this.items,e)?.value;return(!t&&E(i)?i.value:i)??void 0}has(e){return!!he(this.items,e)}set(e,t){this.add(new C(e,t),!0)}toJSON(e,t,n){let i=n?new n:t?.mapAsMap?new Map:{};t?.onCreate&&t.onCreate(i);for(let r of this.items)mt(t,i,r);return i}toString(e,t,n){if(!e)return JSON.stringify(this);for(let i of this.items)if(!T(i))throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),gt(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:n,onComment:t})}};var W={collection:"map",default:!0,nodeClass:_,tag:"tag:yaml.org,2002:map",resolve(s,e){return U(s)||e("Expected a mapping for this tag"),s},createNode:(s,e,t)=>_.from(s,e,t)};var D=class extends Oe{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(re,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=yt(e);return typeof t!="number"?!1:this.items.splice(t,1).length>0}get(e,t){let n=yt(e);if(typeof n!="number")return;let i=this.items[n];return!t&&E(i)?i.value:i}has(e){let t=yt(e);return typeof t=="number"&&t<this.items.length}set(e,t){let n=yt(e);if(typeof n!="number")throw new Error(`Expected a valid index, not ${e}.`);let i=this.items[n];E(i)&&ot(t)?i.value=t:this.items[n]=t}toJSON(e,t){let n=[];t?.onCreate&&t.onCreate(n);let i=0;for(let r of this.items)n.push(M(r,String(i++),t));return n}toString(e,t,n){return e?gt(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:n,onComment:t}):JSON.stringify(this)}static from(e,t,n){let{replacer:i}=n,r=new this(e);if(t&&Symbol.iterator in Object(t)){let o=0;for(let a of t){if(typeof i=="function"){let l=t instanceof Set?a:String(o++);a=i.call(t,l,a)}r.items.push(oe(a,void 0,n))}}return r}};function yt(s){let e=E(s)?s.value:s;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}var H={collection:"seq",default:!0,nodeClass:D,tag:"tag:yaml.org,2002:seq",resolve(s,e){return V(s)||e("Expected a sequence for this tag"),s},createNode:(s,e,t)=>D.from(s,e,t)};var pe={identify:s=>typeof s=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:s=>s,stringify(s,e,t,n){return e=Object.assign({actualString:!0},e),ae(s,e,t,n)}};var ye={identify:s=>s==null,createNode:()=>new y(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new y(null),stringify:({source:s},e)=>typeof s=="string"&&ye.test.test(s)?s:e.options.nullStr};var Ue={identify:s=>typeof s=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:s=>new y(s[0]==="t"||s[0]==="T"),stringify({source:s,value:e},t){if(s&&Ue.test.test(s)){let n=s[0]==="t"||s[0]==="T";if(e===n)return s}return e?t.options.trueStr:t.options.falseStr}};function B({format:s,minFractionDigits:e,tag:t,value:n}){if(typeof n=="bigint")return String(n);let i=typeof n=="number"?n:Number(n);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let r=Object.is(n,-0)?"-0":JSON.stringify(n);if(!s&&e&&(!t||t==="tag:yaml.org,2002:float")&&/^\d/.test(r)){let o=r.indexOf(".");o<0&&(o=r.length,r+=".");let a=e-(r.length-o-1);for(;a-- >0;)r+="0"}return r}var bt={identify:s=>typeof s=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:s=>s.slice(-3).toLowerCase()==="nan"?NaN:s[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:B},wt={identify:s=>typeof s=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:s=>parseFloat(s),stringify(s){let e=Number(s.value);return isFinite(e)?e.toExponential():B(s)}},St={identify:s=>typeof s=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(s){let e=new y(parseFloat(s)),t=s.indexOf(".");return t!==-1&&s[s.length-1]==="0"&&(e.minFractionDigits=s.length-t-1),e},stringify:B};var kt=s=>typeof s=="bigint"||Number.isInteger(s),Gt=(s,e,t,{intAsBigInt:n})=>n?BigInt(s):parseInt(s.substring(e),t);function Ls(s,e,t){let{value:n}=s;return kt(n)&&n>=0?t+n.toString(e):B(s)}var Nt={identify:s=>kt(s)&&s>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(s,e,t)=>Gt(s,2,8,t),stringify:s=>Ls(s,8,"0o")},Ot={identify:kt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(s,e,t)=>Gt(s,0,10,t),stringify:B},At={identify:s=>kt(s)&&s>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(s,e,t)=>Gt(s,2,16,t),stringify:s=>Ls(s,16,"0x")};var vs=[W,H,pe,ye,Ue,Nt,Ot,At,bt,wt,St];function Cs(s){return typeof s=="bigint"||Number.isInteger(s)}var Et=({value:s})=>JSON.stringify(s),$n=[{identify:s=>typeof s=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:s=>s,stringify:Et},{identify:s=>s==null,createNode:()=>new y(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Et},{identify:s=>typeof s=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:s=>s==="true",stringify:Et},{identify:Cs,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(s,e,{intAsBigInt:t})=>t?BigInt(s):parseInt(s,10),stringify:({value:s})=>Cs(s)?s.toString():JSON.stringify(s)},{identify:s=>typeof s=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:s=>parseFloat(s),stringify:Et}],Pn={default:!0,tag:"",test:/^/,resolve(s,e){return e(`Unresolved plain scalar ${JSON.stringify(s)}`),s}},_s=[W,H].concat($n,Pn);var Ve={identify:s=>s instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(s,e){if(typeof atob=="function"){let t=atob(s.replace(/[\n\r]/g,"")),n=new Uint8Array(t.length);for(let i=0;i<t.length;++i)n[i]=t.charCodeAt(i);return n}else return e("This environment does not support reading binary tags; either Buffer or atob is required"),s},stringify({comment:s,type:e,value:t},n,i,r){if(!t)return"";let o=t,a;if(typeof btoa=="function"){let l="";for(let c=0;c<o.length;++c)l+=String.fromCharCode(o[c]);a=btoa(l)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e??(e=y.BLOCK_LITERAL),e!==y.QUOTE_DOUBLE){let l=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),c=Math.ceil(a.length/l),p=new Array(c);for(let f=0,u=0;f<c;++f,u+=l)p[f]=a.substr(u,l);a=p.join(e===y.BLOCK_LITERAL?`
87
+ `:" ")}return ae({comment:s,type:e,value:a},n,i,r)}};function Qt(s,e){if(V(s))for(let t=0;t<s.items.length;++t){let n=s.items[t];if(!T(n)){if(U(n)){n.items.length>1&&e("Each pair must have its own sequence indicator");let i=n.items[0]||new C(new y(null));if(n.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${n.commentBefore}
88
+ ${i.key.commentBefore}`:n.commentBefore),n.comment){let r=i.value??i.key;r.comment=r.comment?`${n.comment}
89
+ ${r.comment}`:n.comment}n=i}s.items[t]=T(n)?n:new C(n)}}else e("Expected a sequence for this tag");return s}function Wt(s,e,t){let{replacer:n}=t,i=new D(s);i.tag="tag:yaml.org,2002:pairs";let r=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof n=="function"&&(o=n.call(e,String(r++),o));let a,l;if(Array.isArray(o))if(o.length===2)a=o[0],l=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let c=Object.keys(o);if(c.length===1)a=c[0],l=o[a];else throw new TypeError(`Expected tuple with one key, not ${c.length} keys`)}else a=o;i.items.push(Te(a,l,t))}return i}var Je={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Qt,createNode:Wt};var Ie=class s extends D{constructor(){super(),this.add=_.prototype.add.bind(this),this.delete=_.prototype.delete.bind(this),this.get=_.prototype.get.bind(this),this.has=_.prototype.has.bind(this),this.set=_.prototype.set.bind(this),this.tag=s.tag}toJSON(e,t){if(!t)return super.toJSON(e);let n=new Map;t?.onCreate&&t.onCreate(n);for(let i of this.items){let r,o;if(T(i)?(r=M(i.key,"",t),o=M(i.value,r,t)):r=M(i,"",t),n.has(r))throw new Error("Ordered maps must not include duplicate keys");n.set(r,o)}return n}static from(e,t,n){let i=Wt(e,t,n),r=new this;return r.items=i.items,r}};Ie.tag="tag:yaml.org,2002:omap";var Ye={collection:"seq",identify:s=>s instanceof Map,nodeClass:Ie,default:!1,tag:"tag:yaml.org,2002:omap",resolve(s,e){let t=Qt(s,e),n=[];for(let{key:i}of t.items)E(i)&&(n.includes(i.value)?e(`Ordered maps must not include duplicate keys: ${i.value}`):n.push(i.value));return Object.assign(new Ie,t)},createNode:(s,e,t)=>Ie.from(s,e,t)};function $s({value:s,source:e},t){return e&&(s?Ht:Xt).test.test(e)?e:s?t.options.trueStr:t.options.falseStr}var Ht={identify:s=>s===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new y(!0),stringify:$s},Xt={identify:s=>s===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new y(!1),stringify:$s};var Ps={identify:s=>typeof s=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:s=>s.slice(-3).toLowerCase()==="nan"?NaN:s[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:B},Ms={identify:s=>typeof s=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:s=>parseFloat(s.replace(/_/g,"")),stringify(s){let e=Number(s.value);return isFinite(e)?e.toExponential():B(s)}},Ds={identify:s=>typeof s=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(s){let e=new y(parseFloat(s.replace(/_/g,""))),t=s.indexOf(".");if(t!==-1){let n=s.substring(t+1).replace(/_/g,"");n[n.length-1]==="0"&&(e.minFractionDigits=n.length)}return e},stringify:B};var Ge=s=>typeof s=="bigint"||Number.isInteger(s);function Tt(s,e,t,{intAsBigInt:n}){let i=s[0];if((i==="-"||i==="+")&&(e+=1),s=s.substring(e).replace(/_/g,""),n){switch(t){case 2:s=`0b${s}`;break;case 8:s=`0o${s}`;break;case 16:s=`0x${s}`;break}let o=BigInt(s);return i==="-"?BigInt(-1)*o:o}let r=parseInt(s,t);return i==="-"?-1*r:r}function zt(s,e,t){let{value:n}=s;if(Ge(n)){let i=n.toString(e);return n<0?"-"+t+i.substr(1):t+i}return B(s)}var Bs={identify:Ge,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(s,e,t)=>Tt(s,2,2,t),stringify:s=>zt(s,2,"0b")},Ks={identify:Ge,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(s,e,t)=>Tt(s,1,8,t),stringify:s=>zt(s,8,"0")},js={identify:Ge,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(s,e,t)=>Tt(s,0,10,t),stringify:B},Fs={identify:Ge,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(s,e,t)=>Tt(s,2,16,t),stringify:s=>zt(s,16,"0x")};var Le=class s extends _{constructor(e){super(e),this.tag=s.tag}add(e){let t;T(e)?t=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?t=new C(e.key,null):t=new C(e,null),he(this.items,t.key)||this.items.push(t)}get(e,t){let n=he(this.items,e);return!t&&T(n)?E(n.key)?n.key.value:n.key:n}set(e,t){if(typeof t!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let n=he(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new C(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw new Error("Set items must all have null values")}static from(e,t,n){let{replacer:i}=n,r=new this(e);if(t&&Symbol.iterator in Object(t))for(let o of t)typeof i=="function"&&(o=i.call(t,o,o)),r.items.push(Te(o,null,n));return r}};Le.tag="tag:yaml.org,2002:set";var Qe={collection:"map",identify:s=>s instanceof Set,nodeClass:Le,default:!1,tag:"tag:yaml.org,2002:set",createNode:(s,e,t)=>Le.from(s,e,t),resolve(s,e){if(U(s)){if(s.hasAllNullValues(!0))return Object.assign(new Le,s);e("Set items must all have null values")}else e("Expected a mapping for this tag");return s}};function Zt(s,e){let t=s[0],n=t==="-"||t==="+"?s.substring(1):s,i=o=>e?BigInt(o):Number(o),r=n.replace(/_/g,"").split(":").reduce((o,a)=>o*i(60)+i(a),i(0));return t==="-"?i(-1)*r:r}function qs(s){let{value:e}=s,t=o=>o;if(typeof e=="bigint")t=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return B(s);let n="";e<0&&(n="-",e*=t(-1));let i=t(60),r=[e%i];return e<60?r.unshift(0):(e=(e-r[0])/i,r.unshift(e%i),e>=60&&(e=(e-r[0])/i,r.unshift(e))),n+r.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var It={identify:s=>typeof s=="bigint"||Number.isInteger(s),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(s,e,{intAsBigInt:t})=>Zt(s,t),stringify:qs},Lt={identify:s=>typeof s=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:s=>Zt(s,!1),stringify:qs},ve={identify:s=>s 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(s){let e=s.match(ve.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,t,n,i,r,o,a]=e.map(Number),l=e[7]?Number((e[7]+"00").substr(1,3)):0,c=Date.UTC(t,n-1,i,r||0,o||0,a||0,l),p=e[8];if(p&&p!=="Z"){let f=Zt(p,!1);Math.abs(f)<30&&(f*=60),c-=6e4*f}return new Date(c)},stringify:({value:s})=>s?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};var es=[W,H,pe,ye,Ht,Xt,Bs,Ks,js,Fs,Ps,Ms,Ds,Ve,Q,Ye,Je,Qe,It,Lt,ve];var xs=new Map([["core",vs],["failsafe",[W,H,pe]],["json",_s],["yaml11",es],["yaml-1.1",es]]),Rs={binary:Ve,bool:Ue,float:St,floatExp:wt,floatNaN:bt,floatTime:Lt,int:Ot,intHex:At,intOct:Nt,intTime:It,map:W,merge:Q,null:ye,omap:Ye,pairs:Je,seq:H,set:Qe,timestamp:ve},Us={"tag:yaml.org,2002:binary":Ve,"tag:yaml.org,2002:merge":Q,"tag:yaml.org,2002:omap":Ye,"tag:yaml.org,2002:pairs":Je,"tag:yaml.org,2002:set":Qe,"tag:yaml.org,2002:timestamp":ve};function vt(s,e,t){let n=xs.get(e);if(n&&!s)return t&&!n.includes(Q)?n.concat(Q):n.slice();let i=n;if(!i)if(Array.isArray(s))i=[];else{let r=Array.from(xs.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${r} or define customTags array`)}if(Array.isArray(s))for(let r of s)i=i.concat(r);else typeof s=="function"&&(i=s(i.slice()));return t&&(i=i.concat(Q)),i.reduce((r,o)=>{let a=typeof o=="string"?Rs[o]:o;if(!a){let l=JSON.stringify(o),c=Object.keys(Rs).map(p=>JSON.stringify(p)).join(", ");throw new Error(`Unknown custom tag ${l}; use one of ${c}`)}return r.includes(a)||r.push(a),r},[])}var Mn=(s,e)=>s.key<e.key?-1:s.key>e.key?1:0,Ce=class s{constructor({compat:e,customTags:t,merge:n,resolveKnownTags:i,schema:r,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?vt(e,"compat"):e?vt(null,e):null,this.name=typeof r=="string"&&r||"core",this.knownTags=i?Us:{},this.tags=vt(t,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,Y,{value:W}),Object.defineProperty(this,F,{value:pe}),Object.defineProperty(this,re,{value:H}),this.sortMapEntries=typeof o=="function"?o:o===!0?Mn:null}clone(){let e=Object.create(s.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};function Vs(s,e){let t=[],n=e.directives===!0;if(e.directives!==!1&&s.directives){let l=s.directives.toString(s);l?(t.push(l),n=!0):s.directives.docStart&&(n=!0)}n&&t.push("---");let i=ut(s,e),{commentString:r}=i.options;if(s.commentBefore){t.length!==1&&t.unshift("");let l=r(s.commentBefore);t.unshift(J(l,""))}let o=!1,a=null;if(s.contents){if(I(s.contents)){if(s.contents.spaceBefore&&n&&t.push(""),s.contents.commentBefore){let p=r(s.contents.commentBefore);t.push(J(p,""))}i.forceBlockIndent=!!s.comment,a=s.contents.comment}let l=a?void 0:()=>o=!0,c=le(s.contents,i,()=>a=null,l);a&&(c+=te(c,"",r(a))),(c[0]==="|"||c[0]===">")&&t[t.length-1]==="---"?t[t.length-1]=`--- ${c}`:t.push(c)}else t.push(le(s.contents,i));if(s.directives?.docEnd)if(s.comment){let l=r(s.comment);l.includes(`
90
+ `)?(t.push("..."),t.push(J(l,""))):t.push(`... ${l}`)}else t.push("...");else{let l=s.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&t[t.length-1]!==""&&t.push(""),t.push(J(r(l),"")))}return t.join(`
91
+ `)+`
92
+ `}var se=class s{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,K,{value:st});let i=null;typeof t=="function"||Array.isArray(t)?i=t:n===void 0&&t&&(n=t,t=void 0);let r=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=r;let{version:o}=r;n?.o?(this.directives=n.o.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new Z({version:o}),this.setSchema(o,n),this.contents=e===void 0?null:this.createNode(e,i,n)}clone(){let e=Object.create(s.prototype,{[K]:{value:st}});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=I(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){_e(this.contents)&&this.contents.add(e)}addIn(e,t){_e(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let n=qt(this);e.anchor=!t||n.has(t)?xt(t||"a",n):t}return new ee(e.anchor)}createNode(e,t,n){let i;if(typeof t=="function")e=t.call({"":e},"",e),i=t;else if(Array.isArray(t)){let m=S=>typeof S=="number"||S instanceof String||S instanceof Number,w=t.filter(m).map(String);w.length>0&&(t=t.concat(w)),i=t}else n===void 0&&t&&(n=t,t=void 0);let{aliasDuplicateObjects:r,anchorPrefix:o,flow:a,keepUndefined:l,onTagObj:c,tag:p}=n??{},{onAnchor:f,setAnchors:u,sourceObjects:d}=Os(this,o||"a"),g={aliasDuplicateObjects:r??!0,keepUndefined:l??!1,onAnchor:f,onTagObj:c,replacer:i,schema:this.schema,sourceObjects:d},h=oe(e,p,g);return a&&L(h)&&(h.flow=!0),u(),h}createPair(e,t,n={}){let i=this.createNode(e,null,n),r=this.createNode(t,null,n);return new C(i,r)}delete(e){return _e(this.contents)?this.contents.delete(e):!1}deleteIn(e){return Ae(e)?this.contents==null?!1:(this.contents=null,!0):_e(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return L(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return Ae(e)?!t&&E(this.contents)?this.contents.value:this.contents:L(this.contents)?this.contents.getIn(e,t):void 0}has(e){return L(this.contents)?this.contents.has(e):!1}hasIn(e){return Ae(e)?this.contents!==void 0:L(this.contents)?this.contents.hasIn(e):!1}set(e,t){this.contents==null?this.contents=Fe(this.schema,[e],t):_e(this.contents)&&this.contents.set(e,t)}setIn(e,t){Ae(e)?this.contents=t:this.contents==null?this.contents=Fe(this.schema,Array.from(e),t):_e(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){typeof e=="number"&&(e=String(e));let n;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Z({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new Z({version:e}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let i=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${i}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(n)this.schema=new Ce(Object.assign(n,t));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:n,maxAliasCount:i,onAnchor:r,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},l=M(this.contents,t??"",a);if(typeof r=="function")for(let{count:c,res:p}of a.anchors.values())r(p,c);return typeof o=="function"?fe(o,{"":l},"",l):l}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}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 t=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${t}`)}return Vs(this,e)}};function _e(s){if(L(s))return!0;throw new Error("Expected a YAML collection as document contents")}var $e=class extends Error{constructor(e,t,n,i){super(),this.name=e,this.code=n,this.message=i,this.pos=t}},x=class extends $e{constructor(e,t,n){super("YAMLParseError",e,t,n)}},Pe=class extends $e{constructor(e,t,n){super("YAMLWarning",e,t,n)}},We=(s,e)=>t=>{if(t.pos[0]===-1)return;t.linePos=t.pos.map(a=>e.linePos(a));let{line:n,col:i}=t.linePos[0];t.message+=` at line ${n}, column ${i}`;let r=i-1,o=s.substring(e.lineStarts[n-1],e.lineStarts[n]).replace(/[\n\r]+$/,"");if(r>=60&&o.length>80){let a=Math.min(r-39,o.length-79);o="\u2026"+o.substring(a),r-=a-1}if(o.length>80&&(o=o.substring(0,79)+"\u2026"),n>1&&/^ *$/.test(o.substring(0,r))){let a=s.substring(e.lineStarts[n-2],e.lineStarts[n-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
93
+ `),o=a+o}if(/[^ ]/.test(o)){let a=1,l=t.linePos[1];l?.line===n&&l.col>i&&(a=Math.max(1,Math.min(l.col-i,80-r)));let c=" ".repeat(r)+"^".repeat(a);t.message+=`:
94
+
95
+ ${o}
96
+ ${c}
97
+ `}};function ne(s,{flow:e,indicator:t,next:n,offset:i,onError:r,parentIndent:o,startOnNewline:a}){let l=!1,c=a,p=a,f="",u="",d=!1,g=!1,h=null,m=null,w=null,S=null,k=null,N=null,O=null;for(let b of s)switch(g&&(b.type!=="space"&&b.type!=="newline"&&b.type!=="comma"&&r(b.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g=!1),h&&(c&&b.type!=="comment"&&b.type!=="newline"&&r(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),h=null),b.type){case"space":!e&&(t!=="doc-start"||n?.type!=="flow-collection")&&b.source.includes(" ")&&(h=b),p=!0;break;case"comment":{p||r(b,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let $=b.source.substring(1)||" ";f?f+=u+$:f=$,u="",c=!1;break}case"newline":c?f?f+=b.source:(!N||t!=="seq-item-ind")&&(l=!0):u+=b.source,c=!0,d=!0,(m||w)&&(S=b),p=!0;break;case"anchor":m&&r(b,"MULTIPLE_ANCHORS","A node can have at most one anchor"),b.source.endsWith(":")&&r(b.offset+b.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),m=b,O??(O=b.offset),c=!1,p=!1,g=!0;break;case"tag":{w&&r(b,"MULTIPLE_TAGS","A node can have at most one tag"),w=b,O??(O=b.offset),c=!1,p=!1,g=!0;break}case t:(m||w)&&r(b,"BAD_PROP_ORDER",`Anchors and tags must be after the ${b.source} indicator`),N&&r(b,"UNEXPECTED_TOKEN",`Unexpected ${b.source} in ${e??"collection"}`),N=b,c=t==="seq-item-ind"||t==="explicit-key-ind",p=!1;break;case"comma":if(e){k&&r(b,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),k=b,c=!1,p=!1;break}default:r(b,"UNEXPECTED_TOKEN",`Unexpected ${b.type} token`),c=!1,p=!1}let A=s[s.length-1],v=A?A.offset+A.source.length:i;return g&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&r(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),h&&(c&&h.indent<=o||n?.type==="block-map"||n?.type==="block-seq")&&r(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:k,found:N,spaceBefore:l,comment:f,hasNewline:d,anchor:m,tag:w,newlineAfterProp:S,end:v,start:O??v}}function me(s){if(!s)return null;switch(s.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(s.source.includes(`
98
+ `))return!0;if(s.end){for(let e of s.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of s.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if(me(e.key)||me(e.value))return!0}return!1;default:return!0}}function He(s,e,t){if(e?.type==="flow-collection"){let n=e.end[0];n.indent===s&&(n.source==="]"||n.source==="}")&&me(e)&&t(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function Ct(s,e,t){let{uniqueKeys:n}=s.options;if(n===!1)return!1;let i=typeof n=="function"?n:(r,o)=>r===o||E(r)&&E(o)&&r.value===o.value;return e.some(r=>i(r.key,t))}var Js="All mapping items must start at the same column";function Ys({composeNode:s,composeEmptyNode:e},t,n,i,r){let o=r?.nodeClass??_,a=new o(t.schema);t.atRoot&&(t.atRoot=!1);let l=n.offset,c=null;for(let p of n.items){let{start:f,key:u,sep:d,value:g}=p,h=ne(f,{indicator:"explicit-key-ind",next:u??d?.[0],offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0}),m=!h.found;if(m){if(u&&(u.type==="block-seq"?i(l,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in u&&u.indent!==n.indent&&i(l,"BAD_INDENT",Js)),!h.anchor&&!h.tag&&!d){c=h.end,h.comment&&(a.comment?a.comment+=`
99
+ `+h.comment:a.comment=h.comment);continue}(h.newlineAfterProp||me(u))&&i(u??f[f.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else h.found?.indent!==n.indent&&i(l,"BAD_INDENT",Js);t.atKey=!0;let w=h.end,S=u?s(t,u,h,i):e(t,w,f,null,h,i);t.schema.compat&&He(n.indent,u,i),t.atKey=!1,Ct(t,a.items,S)&&i(w,"DUPLICATE_KEY","Map keys must be unique");let k=ne(d??[],{indicator:"map-value-ind",next:g,offset:S.range[2],onError:i,parentIndent:n.indent,startOnNewline:!u||u.type==="block-scalar"});if(l=k.end,k.found){m&&(g?.type==="block-map"&&!k.hasNewline&&i(l,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),t.options.strict&&h.start<k.found.offset-1024&&i(S.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let N=g?s(t,g,k,i):e(t,l,d,null,k,i);t.schema.compat&&He(n.indent,g,i),l=N.range[2];let O=new C(S,N);t.options.keepSourceTokens&&(O.srcToken=p),a.items.push(O)}else{m&&i(S.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),k.comment&&(S.comment?S.comment+=`
100
+ `+k.comment:S.comment=k.comment);let N=new C(S);t.options.keepSourceTokens&&(N.srcToken=p),a.items.push(N)}}return c&&c<l&&i(c,"IMPOSSIBLE","Map comment with trailing content"),a.range=[n.offset,l,c??l],a}function Gs({composeNode:s,composeEmptyNode:e},t,n,i,r){let o=r?.nodeClass??D,a=new o(t.schema);t.atRoot&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let l=n.offset,c=null;for(let{start:p,value:f}of n.items){let u=ne(p,{indicator:"seq-item-ind",next:f,offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0});if(!u.found)if(u.anchor||u.tag||f)f?.type==="block-seq"?i(u.end,"BAD_INDENT","All sequence items must start at the same column"):i(l,"MISSING_CHAR","Sequence item without - indicator");else{c=u.end,u.comment&&(a.comment=u.comment);continue}let d=f?s(t,f,u,i):e(t,u.end,p,null,u,i);t.schema.compat&&He(n.indent,f,i),l=d.range[2],a.items.push(d)}return a.range=[n.offset,l,c??l],a}function ie(s,e,t,n){let i="";if(s){let r=!1,o="";for(let a of s){let{source:l,type:c}=a;switch(c){case"space":r=!0;break;case"comment":{t&&!r&&n(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let p=l.substring(1)||" ";i?i+=o+p:i=p,o="";break}case"newline":i&&(o+=l),r=!0;break;default:n(a,"UNEXPECTED_TOKEN",`Unexpected ${c} at node end`)}e+=l.length}}return{comment:i,offset:e}}var ts="Block collections are not allowed within flow collections",ss=s=>s&&(s.type==="block-map"||s.type==="block-seq");function Qs({composeNode:s,composeEmptyNode:e},t,n,i,r){let o=n.start.source==="{",a=o?"flow map":"flow sequence",l=r?.nodeClass??(o?_:D),c=new l(t.schema);c.flow=!0;let p=t.atRoot;p&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let f=n.offset+n.start.source.length;for(let m=0;m<n.items.length;++m){let w=n.items[m],{start:S,key:k,sep:N,value:O}=w,A=ne(S,{flow:a,indicator:"explicit-key-ind",next:k??N?.[0],offset:f,onError:i,parentIndent:n.indent,startOnNewline:!1});if(!A.found){if(!A.anchor&&!A.tag&&!N&&!O){m===0&&A.comma?i(A.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):m<n.items.length-1&&i(A.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),A.comment&&(c.comment?c.comment+=`
101
+ `+A.comment:c.comment=A.comment),f=A.end;continue}!o&&t.options.strict&&me(k)&&i(k,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(m===0)A.comma&&i(A.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(A.comma||i(A.start,"MISSING_CHAR",`Missing , between ${a} items`),A.comment){let v="";e:for(let b of S)switch(b.type){case"comma":case"space":break;case"comment":v=b.source.substring(1);break e;default:break e}if(v){let b=c.items[c.items.length-1];T(b)&&(b=b.value??b.key),b.comment?b.comment+=`
102
+ `+v:b.comment=v,A.comment=A.comment.substring(v.length+1)}}if(!o&&!N&&!A.found){let v=O?s(t,O,A,i):e(t,A.end,N,null,A,i);c.items.push(v),f=v.range[2],ss(O)&&i(v.range,"BLOCK_IN_FLOW",ts)}else{t.atKey=!0;let v=A.end,b=k?s(t,k,A,i):e(t,v,S,null,A,i);ss(k)&&i(b.range,"BLOCK_IN_FLOW",ts),t.atKey=!1;let $=ne(N??[],{flow:a,indicator:"map-value-ind",next:O,offset:b.range[2],onError:i,parentIndent:n.indent,startOnNewline:!1});if($.found){if(!o&&!A.found&&t.options.strict){if(N)for(let P of N){if(P===$.found)break;if(P.type==="newline"){i(P,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}A.start<$.found.offset-1024&&i($.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else O&&("source"in O&&O.source?.[0]===":"?i(O,"MISSING_CHAR",`Missing space after : in ${a}`):i($.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let ce=O?s(t,O,$,i):$.found?e(t,$.end,N,null,$,i):null;ce?ss(O)&&i(ce.range,"BLOCK_IN_FLOW",ts):$.comment&&(b.comment?b.comment+=`
103
+ `+$.comment:b.comment=$.comment);let Se=new C(b,ce);if(t.options.keepSourceTokens&&(Se.srcToken=w),o){let P=c;Ct(t,P.items,b)&&i(v,"DUPLICATE_KEY","Map keys must be unique"),P.items.push(Se)}else{let P=new _(t.schema);P.flow=!0,P.items.push(Se);let ys=(ce??b).range;P.range=[b.range[0],ys[1],ys[2]],c.items.push(P)}f=ce?ce.range[2]:$.end}}let u=o?"}":"]",[d,...g]=n.end,h=f;if(d?.source===u)h=d.offset+d.source.length;else{let m=a[0].toUpperCase()+a.substring(1),w=p?`${m} must end with a ${u}`:`${m} in block collection must be sufficiently indented and end with a ${u}`;i(f,p?"MISSING_CHAR":"BAD_INDENT",w),d&&d.source.length!==1&&g.unshift(d)}if(g.length>0){let m=ie(g,h,t.options.strict,i);m.comment&&(c.comment?c.comment+=`
104
+ `+m.comment:c.comment=m.comment),c.range=[n.offset,h,m.offset]}else c.range=[n.offset,h,h];return c}function ns(s,e,t,n,i,r){let o=t.type==="block-map"?Ys(s,e,t,n,r):t.type==="block-seq"?Gs(s,e,t,n,r):Qs(s,e,t,n,r),a=o.constructor;return i==="!"||i===a.tagName?(o.tag=a.tagName,o):(i&&(o.tag=i),o)}function Ws(s,e,t,n,i){let r=n.tag,o=r?e.directives.tagName(r.source,u=>i(r,"TAG_RESOLVE_FAILED",u)):null;if(t.type==="block-seq"){let{anchor:u,newlineAfterProp:d}=n,g=u&&r?u.offset>r.offset?u:r:u??r;g&&(!d||d.offset<g.offset)&&i(g,"MISSING_CHAR","Missing newline after block sequence props")}let a=t.type==="block-map"?"map":t.type==="block-seq"?"seq":t.start.source==="{"?"map":"seq";if(!r||!o||o==="!"||o===_.tagName&&a==="map"||o===D.tagName&&a==="seq")return ns(s,e,t,i,o);let l=e.schema.tags.find(u=>u.tag===o&&u.collection===a);if(!l){let u=e.schema.knownTags[o];if(u?.collection===a)e.schema.tags.push(Object.assign({},u,{default:!1})),l=u;else return u?i(r,"BAD_COLLECTION_TYPE",`${u.tag} used for ${a} collection, but expects ${u.collection??"scalar"}`,!0):i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),ns(s,e,t,i,o)}let c=ns(s,e,t,i,o,l),p=l.resolve?.(c,u=>i(r,"TAG_RESOLVE_FAILED",u),e.options)??c,f=I(p)?p:new y(p);return f.range=c.range,f.tag=o,l?.format&&(f.format=l.format),f}function _t(s,e,t){let n=e.offset,i=Dn(e,s.options.strict,t);if(!i)return{value:"",type:null,comment:"",range:[n,n,n]};let r=i.mode===">"?y.BLOCK_FOLDED:y.BLOCK_LITERAL,o=e.source?Bn(e.source):[],a=o.length;for(let h=o.length-1;h>=0;--h){let m=o[h][1];if(m===""||m==="\r")a=h;else break}if(a===0){let h=i.chomp==="+"&&o.length>0?`
105
+ `.repeat(Math.max(1,o.length-1)):"",m=n+i.length;return e.source&&(m+=e.source.length),{value:h,type:r,comment:i.comment,range:[n,m,m]}}let l=e.indent+i.indent,c=e.offset+i.length,p=0;for(let h=0;h<a;++h){let[m,w]=o[h];if(w===""||w==="\r")i.indent===0&&m.length>l&&(l=m.length);else{m.length<l&&t(c+m.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),i.indent===0&&(l=m.length),p=h,l===0&&!s.atRoot&&t(c,"BAD_INDENT","Block scalar values in collections must be indented");break}c+=m.length+w.length+1}for(let h=o.length-1;h>=a;--h)o[h][0].length>l&&(a=h+1);let f="",u="",d=!1;for(let h=0;h<p;++h)f+=o[h][0].slice(l)+`
106
+ `;for(let h=p;h<a;++h){let[m,w]=o[h];c+=m.length+w.length+1;let S=w[w.length-1]==="\r";if(S&&(w=w.slice(0,-1)),w&&m.length<l){let N=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;t(c-w.length-(S?2:1),"BAD_INDENT",N),m=""}r===y.BLOCK_LITERAL?(f+=u+m.slice(l)+w,u=`
107
+ `):m.length>l||w[0]===" "?(u===" "?u=`
108
+ `:!d&&u===`
109
+ `&&(u=`
110
+
111
+ `),f+=u+m.slice(l)+w,u=`
112
+ `,d=!0):w===""?u===`
113
+ `?f+=`
114
+ `:u=`
115
+ `:(f+=u+w,u=" ",d=!1)}switch(i.chomp){case"-":break;case"+":for(let h=a;h<o.length;++h)f+=`
116
+ `+o[h][0].slice(l);f[f.length-1]!==`
117
+ `&&(f+=`
118
+ `);break;default:f+=`
119
+ `}let g=n+i.length+e.source.length;return{value:f,type:r,comment:i.comment,range:[n,g,g]}}function Dn({offset:s,props:e},t,n){if(e[0].type!=="block-scalar-header")return n(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i}=e[0],r=i[0],o=0,a="",l=-1;for(let u=1;u<i.length;++u){let d=i[u];if(!a&&(d==="-"||d==="+"))a=d;else{let g=Number(d);!o&&g?o=g:l===-1&&(l=s+u)}}l!==-1&&n(l,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${i}`);let c=!1,p="",f=i.length;for(let u=1;u<e.length;++u){let d=e[u];switch(d.type){case"space":c=!0;case"newline":f+=d.source.length;break;case"comment":t&&!c&&n(d,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),f+=d.source.length,p=d.source.substring(1);break;case"error":n(d,"UNEXPECTED_TOKEN",d.message),f+=d.source.length;break;default:{let g=`Unexpected token in block scalar header: ${d.type}`;n(d,"UNEXPECTED_TOKEN",g);let h=d.source;h&&typeof h=="string"&&(f+=h.length)}}}return{mode:r,indent:o,chomp:a,comment:p,length:f}}function Bn(s){let e=s.split(/\n( *)/),t=e[0],n=t.match(/^( *)/),r=[n?.[1]?[n[1],t.slice(n[1].length)]:["",t]];for(let o=1;o<e.length;o+=2)r.push([e[o],e[o+1]]);return r}function $t(s,e,t){let{offset:n,type:i,source:r,end:o}=s,a,l,c=(u,d,g)=>t(n+u,d,g);switch(i){case"scalar":a=y.PLAIN,l=Kn(r,c);break;case"single-quoted-scalar":a=y.QUOTE_SINGLE,l=jn(r,c);break;case"double-quoted-scalar":a=y.QUOTE_DOUBLE,l=Fn(r,c);break;default:return t(s,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[n,n+r.length,n+r.length]}}let p=n+r.length,f=ie(o,p,e,t);return{value:l,type:a,comment:f.comment,range:[n,p,f.offset]}}function Kn(s,e){let t="";switch(s[0]){case" ":t="a tab character";break;case",":t="flow indicator character ,";break;case"%":t="directive indicator character %";break;case"|":case">":{t=`block scalar indicator ${s[0]}`;break}case"@":case"`":{t=`reserved character ${s[0]}`;break}}return t&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${t}`),Hs(s)}function jn(s,e){return(s[s.length-1]!=="'"||s.length===1)&&e(s.length,"MISSING_CHAR","Missing closing 'quote"),Hs(s.slice(1,-1)).replace(/''/g,"'")}function Hs(s){let e,t;try{e=new RegExp(`(.*?)(?<![ ])[ ]*\r?
120
+ `,"sy"),t=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
121
+ `,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=e.exec(s);if(!n)return s;let i=n[1],r=" ",o=e.lastIndex;for(t.lastIndex=o;n=t.exec(s);)n[1]===""?r===`
122
+ `?i+=r:r=`
123
+ `:(i+=r+n[1],r=" "),o=t.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=o,n=a.exec(s),i+r+(n?.[1]??"")}function Fn(s,e){let t="";for(let n=1;n<s.length-1;++n){let i=s[n];if(!(i==="\r"&&s[n+1]===`
124
+ `))if(i===`
125
+ `){let{fold:r,offset:o}=qn(s,n);t+=r,n=o}else if(i==="\\"){let r=s[++n],o=xn[r];if(o)t+=o;else if(r===`
126
+ `)for(r=s[n+1];r===" "||r===" ";)r=s[++n+1];else if(r==="\r"&&s[n+1]===`
127
+ `)for(r=s[++n+1];r===" "||r===" ";)r=s[++n+1];else if(r==="x"||r==="u"||r==="U"){let a={x:2,u:4,U:8}[r];t+=Rn(s,n+1,a,e),n+=a}else{let a=s.substr(n-1,2);e(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),t+=a}}else if(i===" "||i===" "){let r=n,o=s[n+1];for(;o===" "||o===" ";)o=s[++n+1];o!==`
128
+ `&&!(o==="\r"&&s[n+2]===`
129
+ `)&&(t+=n>r?s.slice(r,n+1):i)}else t+=i}return(s[s.length-1]!=='"'||s.length===1)&&e(s.length,"MISSING_CHAR",'Missing closing "quote'),t}function qn(s,e){let t="",n=s[e+1];for(;(n===" "||n===" "||n===`
130
+ `||n==="\r")&&!(n==="\r"&&s[e+2]!==`
131
+ `);)n===`
132
+ `&&(t+=`
133
+ `),e+=1,n=s[e+1];return t||(t=" "),{fold:t,offset:e}}var xn={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
134
+ `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function Rn(s,e,t,n){let i=s.substr(e,t),o=i.length===t&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;if(isNaN(o)){let a=s.substr(e-2,t+2);return n(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}return String.fromCodePoint(o)}function is(s,e,t,n){let{value:i,type:r,comment:o,range:a}=e.type==="block-scalar"?_t(s,e,n):$t(e,s.options.strict,n),l=t?s.directives.tagName(t.source,f=>n(t,"TAG_RESOLVE_FAILED",f)):null,c;s.options.stringKeys&&s.atKey?c=s.schema[F]:l?c=Un(s.schema,i,l,t,n):e.type==="scalar"?c=Vn(s,i,e,n):c=s.schema[F];let p;try{let f=c.resolve(i,u=>n(t??e,"TAG_RESOLVE_FAILED",u),s.options);p=E(f)?f:new y(f)}catch(f){let u=f instanceof Error?f.message:String(f);n(t??e,"TAG_RESOLVE_FAILED",u),p=new y(i)}return p.range=a,p.source=i,r&&(p.type=r),l&&(p.tag=l),c.format&&(p.format=c.format),o&&(p.comment=o),p}function Un(s,e,t,n,i){if(t==="!")return s[F];let r=[];for(let a of s.tags)if(!a.collection&&a.tag===t)if(a.default&&a.test)r.push(a);else return a;for(let a of r)if(a.test?.test(e))return a;let o=s.knownTags[t];return o&&!o.collection?(s.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(i(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${t}`,t!=="tag:yaml.org,2002:str"),s[F])}function Vn({atKey:s,directives:e,schema:t},n,i,r){let o=t.tags.find(a=>(a.default===!0||s&&a.default==="key")&&a.test?.test(n))||t[F];if(t.compat){let a=t.compat.find(l=>l.default&&l.test?.test(n))??t[F];if(o.tag!==a.tag){let l=e.tagString(o.tag),c=e.tagString(a.tag),p=`Value may be parsed as either ${l} or ${c}`;r(i,"TAG_RESOLVE_FAILED",p,!0)}}return o}function Xs(s,e,t){if(e){t??(t=e.length);for(let n=t-1;n>=0;--n){let i=e[n];switch(i.type){case"space":case"comment":case"newline":s-=i.source.length;continue}for(i=e[++n];i?.type==="space";)s+=i.source.length,i=e[++n];break}}return s}var Jn={composeNode:rs,composeEmptyNode:Pt};function rs(s,e,t,n){let i=s.atKey,{spaceBefore:r,comment:o,anchor:a,tag:l}=t,c,p=!0;switch(e.type){case"alias":c=Yn(s,e,n),(a||l)&&n(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":c=is(s,e,l,n),a&&(c.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{c=Ws(Jn,s,e,t,n),a&&(c.anchor=a.source.substring(1))}catch(f){let u=f instanceof Error?f.message:String(f);n(e,"RESOURCE_EXHAUSTION",u)}break;default:{let f=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;n(e,"UNEXPECTED_TOKEN",f),p=!1}}return c??(c=Pt(s,e.offset,void 0,null,t,n)),a&&c.anchor===""&&n(a,"BAD_ALIAS","Anchor cannot be an empty string"),i&&s.options.stringKeys&&(!E(c)||typeof c.value!="string"||c.tag&&c.tag!=="tag:yaml.org,2002:str")&&n(l??e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),r&&(c.spaceBefore=!0),o&&(e.type==="scalar"&&e.source===""?c.comment=o:c.commentBefore=o),s.options.keepSourceTokens&&p&&(c.srcToken=e),c}function Pt(s,e,t,n,{spaceBefore:i,comment:r,anchor:o,tag:a,end:l},c){let p={type:"scalar",offset:Xs(e,t,n),indent:-1,source:""},f=is(s,p,a,c);return o&&(f.anchor=o.source.substring(1),f.anchor===""&&c(o,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(f.spaceBefore=!0),r&&(f.comment=r,f.range[2]=l),f}function Yn({options:s},{offset:e,source:t,end:n},i){let r=new ee(t.substring(1));r.source===""&&i(e,"BAD_ALIAS","Alias cannot be an empty string"),r.source.endsWith(":")&&i(e+t.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+t.length,a=ie(n,o,s.strict,i);return r.range=[e,o,a.offset],a.comment&&(r.comment=a.comment),r}function zs(s,e,{offset:t,start:n,value:i,end:r},o){let a=Object.assign({o:e},s),l=new se(void 0,a),c={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},p=ne(n,{indicator:"doc-start",next:i??r?.[0],offset:t,onError:o,parentIndent:0,startOnNewline:!0});p.found&&(l.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!p.hasNewline&&o(p.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),l.contents=i?rs(c,i,p,o):Pt(c,p.end,n,null,p,o);let f=l.contents.range[2],u=ie(r,f,!1,o);return u.comment&&(l.comment=u.comment),l.range=[t,f,u.offset],l}function Xe(s){if(typeof s=="number")return[s,s+1];if(Array.isArray(s))return s.length===2?s:[s[0],s[1]];let{offset:e,source:t}=s;return[e,e+(typeof t=="string"?t.length:1)]}function Zs(s){let e="",t=!1,n=!1;for(let i=0;i<s.length;++i){let r=s[i];switch(r[0]){case"#":e+=(e===""?"":n?`
135
+
136
+ `:`
137
+ `)+(r.substring(1)||" "),t=!0,n=!1;break;case"%":s[i+1]?.[0]!=="#"&&(i+=1),t=!1;break;default:t||(n=!0),t=!1}}return{comment:e,afterEmptyLine:n}}var be=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(t,n,i,r)=>{let o=Xe(t);r?this.warnings.push(new Pe(o,n,i)):this.errors.push(new x(o,n,i))},this.directives=new Z({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:n,afterEmptyLine:i}=Zs(this.prelude);if(n){let r=e.contents;if(t)e.comment=e.comment?`${e.comment}
138
+ ${n}`:n;else if(i||e.directives.docStart||!r)e.commentBefore=n;else if(L(r)&&!r.flow&&r.items.length>0){let o=r.items[0];T(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${n}
139
+ ${a}`:n}else{let o=r.commentBefore;r.commentBefore=o?`${n}
140
+ ${o}`:n}}t?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Zs(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,n=-1){for(let i of e)yield*this.next(i);yield*this.end(t,n)}*next(e){switch(e.type){case"directive":this.directives.add(e.source,(t,n,i)=>{let r=Xe(e);r[0]+=t,this.onError(r,"BAD_DIRECTIVE",n,i)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=zs(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new x(Xe(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){let n="Unexpected doc-end without preceding document";this.errors.push(new x(Xe(e),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let t=ie(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let n=this.doc.comment;this.doc.comment=n?`${n}
141
+ ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new x(Xe(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let n=Object.assign({o:this.directives},this.options),i=new se(void 0,n);this.atDirectives&&this.onError(t,"MISSING_CHAR","Missing directives-end indicator line"),i.range=[0,t,t],this.decorate(i,!1),yield i}}};var cs={};bs(cs,{BOM:()=>ze,DOCUMENT:()=>Ze,FLOW_END:()=>et,SCALAR:()=>Me,createScalarToken:()=>tn,isCollection:()=>Wn,isScalar:()=>Hn,prettyToken:()=>Xn,resolveAsScalar:()=>en,setScalarValue:()=>sn,stringify:()=>rn,tokenType:()=>ls,visit:()=>de});function en(s,e=!0,t){if(s){let n=(i,r,o)=>{let a=typeof i=="number"?i:Array.isArray(i)?i[0]:i.offset;if(t)t(a,r,o);else throw new x([a,a+1],r,o)};switch(s.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return $t(s,e,n);case"block-scalar":return _t({options:{strict:e}},s,n)}}return null}function tn(s,e){let{implicitKey:t=!1,indent:n,inFlow:i=!1,offset:r=-1,type:o="PLAIN"}=e,a=ae({type:o,value:s},{implicitKey:t,indent:n>0?" ".repeat(n):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),l=e.end??[{type:"newline",offset:-1,indent:n,source:`
142
+ `}];switch(a[0]){case"|":case">":{let c=a.indexOf(`
143
+ `),p=a.substring(0,c),f=a.substring(c+1)+`
144
+ `,u=[{type:"block-scalar-header",offset:r,indent:n,source:p}];return nn(u,l)||u.push({type:"newline",offset:-1,indent:n,source:`
145
+ `}),{type:"block-scalar",offset:r,indent:n,props:u,source:f}}case'"':return{type:"double-quoted-scalar",offset:r,indent:n,source:a,end:l};case"'":return{type:"single-quoted-scalar",offset:r,indent:n,source:a,end:l};default:return{type:"scalar",offset:r,indent:n,source:a,end:l}}}function sn(s,e,t={}){let{afterKey:n=!1,implicitKey:i=!1,inFlow:r=!1,type:o}=t,a="indent"in s?s.indent:null;if(n&&typeof a=="number"&&(a+=2),!o)switch(s.type){case"single-quoted-scalar":o="QUOTE_SINGLE";break;case"double-quoted-scalar":o="QUOTE_DOUBLE";break;case"block-scalar":{let c=s.props[0];if(c.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o=c.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:o="PLAIN"}let l=ae({type:o,value:e},{implicitKey:i||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:r,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":Gn(s,l);break;case'"':os(s,l,"double-quoted-scalar");break;case"'":os(s,l,"single-quoted-scalar");break;default:os(s,l,"scalar")}}function Gn(s,e){let t=e.indexOf(`
146
+ `),n=e.substring(0,t),i=e.substring(t+1)+`
147
+ `;if(s.type==="block-scalar"){let r=s.props[0];if(r.type!=="block-scalar-header")throw new Error("Invalid block scalar header");r.source=n,s.source=i}else{let{offset:r}=s,o="indent"in s?s.indent:-1,a=[{type:"block-scalar-header",offset:r,indent:o,source:n}];nn(a,"end"in s?s.end:void 0)||a.push({type:"newline",offset:-1,indent:o,source:`
148
+ `});for(let l of Object.keys(s))l!=="type"&&l!=="offset"&&delete s[l];Object.assign(s,{type:"block-scalar",indent:o,props:a,source:i})}}function nn(s,e){if(e)for(let t of e)switch(t.type){case"space":case"comment":s.push(t);break;case"newline":return s.push(t),!0}return!1}function os(s,e,t){switch(s.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":s.type=t,s.source=e;break;case"block-scalar":{let n=s.props.slice(1),i=e.length;s.props[0].type==="block-scalar-header"&&(i-=s.props[0].source.length);for(let r of n)r.offset+=i;delete s.props,Object.assign(s,{type:t,source:e,end:n});break}case"block-map":case"block-seq":{let i={type:"newline",offset:s.offset+e.length,indent:s.indent,source:`
149
+ `};delete s.items,Object.assign(s,{type:t,source:e,end:[i]});break}default:{let n="indent"in s?s.indent:-1,i="end"in s&&Array.isArray(s.end)?s.end.filter(r=>r.type==="space"||r.type==="comment"||r.type==="newline"):[];for(let r of Object.keys(s))r!=="type"&&r!=="offset"&&delete s[r];Object.assign(s,{type:t,indent:n,source:e,end:i})}}}var rn=s=>"type"in s?Dt(s):Mt(s);function Dt(s){switch(s.type){case"block-scalar":{let e="";for(let t of s.props)e+=Dt(t);return e+s.source}case"block-map":case"block-seq":{let e="";for(let t of s.items)e+=Mt(t);return e}case"flow-collection":{let e=s.start.source;for(let t of s.items)e+=Mt(t);for(let t of s.end)e+=t.source;return e}case"document":{let e=Mt(s);if(s.end)for(let t of s.end)e+=t.source;return e}default:{let e=s.source;if("end"in s&&s.end)for(let t of s.end)e+=t.source;return e}}}function Mt({start:s,key:e,sep:t,value:n}){let i="";for(let r of s)i+=r.source;if(e&&(i+=Dt(e)),t)for(let r of t)i+=r.source;return n&&(i+=Dt(n)),i}var as=Symbol("break visit"),Qn=Symbol("skip children"),on=Symbol("remove item");function de(s,e){"type"in s&&s.type==="document"&&(s={start:s.start,value:s.value}),an(Object.freeze([]),s,e)}de.BREAK=as;de.SKIP=Qn;de.REMOVE=on;de.itemAtPath=(s,e)=>{let t=s;for(let[n,i]of e){let r=t?.[n];if(r&&"items"in r)t=r.items[i];else return}return t};de.parentCollection=(s,e)=>{let t=de.itemAtPath(s,e.slice(0,-1)),n=e[e.length-1][0],i=t?.[n];if(i&&"items"in i)return i;throw new Error("Parent collection not found")};function an(s,e,t){let n=t(e,s);if(typeof n=="symbol")return n;for(let i of["key","value"]){let r=e[i];if(r&&"items"in r){for(let o=0;o<r.items.length;++o){let a=an(Object.freeze(s.concat([[i,o]])),r.items[o],t);if(typeof a=="number")o=a-1;else{if(a===as)return as;a===on&&(r.items.splice(o,1),o-=1)}}typeof n=="function"&&i==="key"&&(n=n(e,s))}}return typeof n=="function"?n(e,s):n}var ze="\uFEFF",Ze="",et="",Me="",Wn=s=>!!s&&"items"in s,Hn=s=>!!s&&(s.type==="scalar"||s.type==="single-quoted-scalar"||s.type==="double-quoted-scalar"||s.type==="block-scalar");function Xn(s){switch(s){case ze:return"<BOM>";case Ze:return"<DOC>";case et:return"<FLOW_END>";case Me:return"<SCALAR>";default:return JSON.stringify(s)}}function ls(s){switch(s){case ze:return"byte-order-mark";case Ze:return"doc-mode";case et:return"flow-error-end";case Me:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
150
+ `:case`\r
151
+ `: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(s[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 X(s){switch(s){case void 0:case" ":case`
152
+ `:case"\r":case" ":return!0;default:return!1}}var ln=new Set("0123456789ABCDEFabcdef"),zn=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Bt=new Set(",[]{}"),Zn=new Set(` ,[]{}
153
+ \r `),fs=s=>!s||Zn.has(s),De=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,t=!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=!t;let n=this.next??"stream";for(;n&&(t||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;t===" "||t===" ";)t=this.buffer[++e];return!t||t==="#"||t===`
154
+ `?!0:t==="\r"?this.buffer[e+1]===`
155
+ `:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let n=0;for(;t===" ";)t=this.buffer[++n+e];if(t==="\r"){let i=this.buffer[n+e+1];if(i===`
156
+ `||!i&&!this.atEnd)return e+n+1}return t===`
157
+ `||n>=this.indentNext||!t&&!this.atEnd?e+n:-1}if(t==="-"||t==="."){let n=this.buffer.substr(e,3);if((n==="---"||n==="...")&&X(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(`
158
+ `,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]===ze&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let t=e.length,n=e.indexOf("#");for(;n!==-1;){let r=e[n-1];if(r===" "||r===" "){t=n-1;break}else n=e.indexOf("#",n+1)}for(;;){let r=e[t-1];if(r===" "||r===" ")t-=1;else break}let i=(yield*this.pushCount(t))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-i),this.pushNewline(),"stream"}if(this.atLineEnd()){let t=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-t),yield*this.pushNewline(),"stream"}return yield Ze,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 t=this.peek(3);if((t==="---"||t==="...")&&X(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,t==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!X(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&X(t)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let t=yield*this.pushIndicators();switch(e[t]){case"#":yield*this.pushCount(e.length-t);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(fs),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return t+=yield*this.parseBlockScalarHeader(),t+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,n=-1;do e=yield*this.pushNewline(),e>0?(t=yield*this.pushSpaces(!1),this.indentValue=n=t):t=0,t+=yield*this.pushSpaces(!0);while(e+t>0);let i=this.getLine();if(i===null)return this.setNext("flow");if((n!==-1&&n<this.indentNext&&i[0]!=="#"||n===0&&(i.startsWith("---")||i.startsWith("..."))&&X(i[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(i[0]==="]"||i[0]==="}")))return this.flowLevel=0,yield et,yield*this.parseLineStart();let r=0;for(;i[r]===",";)r+=yield*this.pushCount(1),r+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(r+=yield*this.pushIndicators(),i[r]){case void 0:return"flow";case"#":return yield*this.pushCount(i.length-r),"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(fs),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||X(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),t=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;t!==-1&&this.buffer[t+1]==="'";)t=this.buffer.indexOf("'",t+2);else for(;t!==-1;){let r=0;for(;this.buffer[t-1-r]==="\\";)r+=1;if(r%2===0)break;t=this.buffer.indexOf('"',t+1)}let n=this.buffer.substring(0,t),i=n.indexOf(`
159
+ `,this.pos);if(i!==-1){for(;i!==-1;){let r=this.continueScalar(i+1);if(r===-1)break;i=n.indexOf(`
160
+ `,r)}i!==-1&&(t=i-(n[i-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pushToIndex(t+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let t=this.buffer[++e];if(t==="+")this.blockScalarKeep=!0;else if(t>"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if(t!=="-")break}return yield*this.pushUntil(t=>X(t)||t==="#")}*parseBlockScalar(){let e=this.pos-1,t=0,n;e:for(let r=this.pos;n=this.buffer[r];++r)switch(n){case" ":t+=1;break;case`
161
+ `:e=r,t=0;break;case"\r":{let o=this.buffer[r+1];if(!o&&!this.atEnd)return this.setNext("block-scalar");if(o===`
162
+ `)break}default:break e}if(!n&&!this.atEnd)return this.setNext("block-scalar");if(t>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=t:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let r=this.continueScalar(e+1);if(r===-1)break;e=this.buffer.indexOf(`
163
+ `,r)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let i=e+1;for(n=this.buffer[i];n===" ";)n=this.buffer[++i];if(n===" "){for(;n===" "||n===" "||n==="\r"||n===`
164
+ `;)n=this.buffer[++i];e=i-1}else if(!this.blockScalarKeep)do{let r=e-1,o=this.buffer[r];o==="\r"&&(o=this.buffer[--r]);let a=r;for(;o===" ";)o=this.buffer[--r];if(o===`
165
+ `&&r>=this.pos&&r+1+t>a)e=r;else break}while(!0);return yield Me,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,t=this.pos-1,n=this.pos-1,i;for(;i=this.buffer[++n];)if(i===":"){let r=this.buffer[n+1];if(X(r)||e&&Bt.has(r))break;t=n}else if(X(i)){let r=this.buffer[n+1];if(i==="\r"&&(r===`
166
+ `?(n+=1,i=`
167
+ `,r=this.buffer[n+1]):t=n),r==="#"||e&&Bt.has(r))break;if(i===`
168
+ `){let o=this.continueScalar(n+1);if(o===-1)break;n=Math.max(n,o-2)}}else{if(e&&Bt.has(i))break;t=n}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield Me,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let n=this.buffer.slice(this.pos,e);return n?(yield n,this.pos+=n.length,n.length):(t&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(fs))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let e=this.flowLevel>0,t=this.charAt(1);if(X(t)||e&&Bt.has(t))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,t=this.buffer[e];for(;!X(t)&&t!==">";)t=this.buffer[++e];return yield*this.pushToIndex(t===">"?e+1:e,!1)}else{let e=this.pos+1,t=this.buffer[e];for(;t;)if(zn.has(t))t=this.buffer[++e];else if(t==="%"&&ln.has(this.buffer[e+1])&&ln.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
169
+ `?yield*this.pushCount(1):e==="\r"&&this.charAt(1)===`
170
+ `?yield*this.pushCount(2):0}*pushSpaces(e){let t=this.pos-1,n;do n=this.buffer[++t];while(n===" "||e&&n===" ");let i=t-this.pos;return i>0&&(yield this.buffer.substr(this.pos,i),this.pos=t),i}*pushUntil(e){let t=this.pos,n=this.buffer[t];for(;!e(n);)n=this.buffer[++t];return yield*this.pushToIndex(t,!1)}};var Be=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,n=this.lineStarts.length;for(;t<n;){let r=t+n>>1;this.lineStarts[r]<e?t=r+1:n=r}if(this.lineStarts[t]===e)return{line:t+1,col:1};if(t===0)return{line:0,col:e};let i=this.lineStarts[t-1];return{line:t,col:e-i+1}}}};function ge(s,e){for(let t=0;t<s.length;++t)if(s[t].type===e)return!0;return!1}function cn(s){for(let e=0;e<s.length;++e)switch(s[e].type){case"space":case"comment":case"newline":break;default:return e}return-1}function un(s){switch(s?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function Kt(s){switch(s.type){case"document":return s.start;case"block-map":{let e=s.items[s.items.length-1];return e.sep??e.start}case"block-seq":return s.items[s.items.length-1].start;default:return[]}}function Ke(s){if(s.length===0)return[];let e=s.length;e:for(;--e>=0;)switch(s[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;s[++e]?.type==="space";);return s.splice(e,s.length)}function fn(s){if(s.start.type==="flow-seq-start")for(let e of s.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,un(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}var we=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 De,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(e,t))yield*this.next(n);t||(yield*this.end())}*next(e){if(this.source=e,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=ls(e);if(t)if(t==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*this.step(),t){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 n=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:n,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 t=e??this.stack.pop();if(!t)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield t;else{let n=this.peek(1);switch(t.type==="block-scalar"?t.indent="indent"in n?n.indent:0:t.type==="flow-collection"&&n.type==="document"&&(t.indent=0),t.type==="flow-collection"&&fn(t),n.type){case"document":n.value=t;break;case"block-scalar":n.props.push(t);break;case"block-map":{let i=n.items[n.items.length-1];if(i.value){n.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}else if(i.sep)i.value=t;else{Object.assign(i,{key:t,sep:[]}),this.onKeyLine=!i.explicitKey;return}break}case"block-seq":{let i=n.items[n.items.length-1];i.value?n.items.push({start:[],value:t}):i.value=t;break}case"flow-collection":{let i=n.items[n.items.length-1];!i||i.value?n.items.push({start:[],key:t,sep:[]}):i.sep?i.value=t:Object.assign(i,{key:t,sep:[]});return}default:yield*this.pop(),yield*this.pop(t)}if((n.type==="document"||n.type==="block-map"||n.type==="block-seq")&&(t.type==="block-map"||t.type==="block-seq")){let i=t.items[t.items.length-1];i&&!i.sep&&!i.value&&i.start.length>0&&cn(i.start)===-1&&(t.indent===0||i.start.every(r=>r.type!=="comment"||r.indent<t.indent))&&(n.type==="document"?n.end=i.start:n.items.push({start:i.start}),t.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":{cn(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 t=this.startBlockValue(e);t?this.stack.push(t):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 t=Kt(this.peek(2)),n=Ke(t),i;e.end?(i=e.end,i.push(this.sourceToken),delete e.end):i=[this.sourceToken];let r={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}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 t=this.source.indexOf(`
171
+ `)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf(`
172
+ `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let n="end"in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let i=e.items[e.items.length-2]?.value?.end;if(Array.isArray(i)){Array.prototype.push.apply(i,t.start),i.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let n=!this.onKeyLine&&this.indent===e.indent,i=n&&(t.sep||t.explicitKey)&&this.type!=="seq-item-ind",r=[];if(i&&t.sep&&!t.value){let o=[];for(let a=0;a<t.sep.length;++a){let l=t.sep[a];switch(l.type){case"newline":o.push(a);break;case"space":break;case"comment":l.indent>e.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(r=t.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":i||t.value?(r.push(this.sourceToken),e.items.push({start:r}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"explicit-key-ind":!t.sep&&!t.explicitKey?(t.start.push(this.sourceToken),t.explicitKey=!0):i||t.value?(r.push(this.sourceToken),e.items.push({start:r,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(t.explicitKey)if(t.sep)if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(ge(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]});else if(un(t.key)&&!ge(t.sep,"newline")){let o=Ke(t.start),a=t.key,l=t.sep;l.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:a,sep:l}]})}else r.length>0?t.sep=t.sep.concat(r,this.sourceToken):t.sep.push(this.sourceToken);else if(ge(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let o=Ke(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else t.sep?t.value||i?e.items.push({start:r,key:null,sep:[this.sourceToken]}):ge(t.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{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);i||t.value?(e.items.push({start:r,key:o,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(o):(Object.assign(t,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(e);if(o){if(o.type==="block-seq"){if(!t.explicitKey&&t.sep&&!ge(t.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 n&&e.items.push({start:r});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(t.value){let n="end"in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let i=e.items[e.items.length-2]?.value?.end;if(Array.isArray(i)){Array.prototype.push.apply(i,t.start),i.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case"anchor":case"tag":if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;t.value||ge(t.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let n=this.startBlockValue(e);if(n){this.stack.push(n);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n?.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case"map-value-ind":!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:i,sep:[]}):t.sep?this.stack.push(i):Object.assign(t,{key:i,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===e.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let i=Kt(n),r=Ke(i);fn(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:r,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 t=this.source.indexOf(`
173
+ `)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf(`
174
+ `,t)+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 t=Kt(e),n=Ke(t);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=Kt(e),n=Ke(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!=="comment"||this.indent<=t?!1:e.every(n=>n.type==="newline"||n.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 hn(s){let e=s.prettyErrors!==!1;return{lineCounter:s.lineCounter||e&&new Be||null,prettyErrors:e}}function pn(s,e={}){let{lineCounter:t,prettyErrors:n}=hn(e),i=new we(t?.addNewLine),r=new be(e),o=Array.from(r.compose(i.parse(s)));if(n&&t)for(let a of o)a.errors.forEach(We(s,t)),a.warnings.forEach(We(s,t));return o.length>0?o:Object.assign([],{empty:!0},r.streamInfo())}function us(s,e={}){let{lineCounter:t,prettyErrors:n}=hn(e),i=new we(t?.addNewLine),r=new be(e),o=null;for(let a of r.compose(i.parse(s),!0,s.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new x(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&t&&(o.errors.forEach(We(s,t)),o.warnings.forEach(We(s,t))),o}function mn(s,e,t){let n;typeof e=="function"?n=e:t===void 0&&e&&typeof e=="object"&&(t=e);let i=us(s,t);if(!i)return null;if(i.warnings.forEach(r=>ht(i.options.logLevel,r)),i.errors.length>0){if(i.options.logLevel!=="silent")throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:n},t))}function dn(s,e,t){let n=null;if(typeof e=="function"||Array.isArray(e)?n=e:t===void 0&&e&&(t=e),typeof t=="string"&&(t=t.length),typeof t=="number"){let i=Math.round(t);t=i<1?void 0:i>8?{indent:8}:{indent:i}}if(s===void 0){let{keepUndefined:i}=t??e??{};if(!i)return}return R(s)&&!n?s.toString(t):new se(s,n,t).toString(t)}var gn=hs;import{existsSync as ei,mkdirSync as yn,readFileSync as ti,rmSync as ps,writeFileSync as bn}from"fs";import{tmpdir as si}from"os";import{dirname as wn,join as ni,resolve as Sn}from"path";var ms=1;function jt(){return Sn(process.env.SOOTSIM_FLOW_SESSION_PATH||ni(si(),"sootsim-flow-session.json"))}function ds(s){let e=jt();yn(wn(e),{recursive:!0}),bn(e,JSON.stringify(s,null,2)+`
175
+ `)}function gs(){let s=jt();if(!ei(s))return null;try{let e=JSON.parse(ti(s,"utf8"));return e.version!==ms||!Array.isArray(e.steps)||typeof e.startedAt!="string"||typeof e.updatedAt!="string"?(ps(s,{force:!0}),null):{version:ms,startedAt:e.startedAt,updatedAt:e.updatedAt,steps:e.steps,candidate:e.candidate??null}}catch{return ps(s,{force:!0}),null}}function Rc(){let s=new Date().toISOString(),e={version:ms,startedAt:s,updatedAt:s,steps:[],candidate:null};return ds(e),{path:jt(),state:e}}function ii(){ps(jt(),{force:!0})}function Uc(){ii()}function Vc(s){let e=gs();if(!e)return{active:!1};let t={...e,updatedAt:new Date().toISOString(),candidate:{step:s.step,summary:s.summary,source:s.source,recordedAt:new Date().toISOString()}};return ds(t),{active:!0,candidate:t.candidate}}function Jc(){let s=gs();if(!s)return{active:!1,kept:!1,reason:"no-session"};if(!s.candidate)return{active:!0,kept:!1,reason:"no-candidate"};let e=s.candidate,t={...s,updatedAt:new Date().toISOString(),steps:[...s.steps,e.step],candidate:null};return ds(t),{active:!0,kept:!0,candidate:e,stepCount:t.steps.length}}function ri(s){return gn.stringify(s).trimEnd()+`
176
+ `}function Yc(s){let e=gs();if(!e)return{active:!1};let t=ri(e.steps),n=null;return s&&(n=Sn(s),yn(wn(n),{recursive:!0}),bn(n,t)),{active:!0,yaml:t,stepCount:e.steps.length,outputPath:n}}export{oi as a,gn as b,Rc as c,Uc as d,Vc as e,Jc as f,Yc as g};
@@ -0,0 +1,2 @@
1
+ /*! sootsim v0.0.1 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{g,i as u,j as d}from"./chunk-YCETS3B3.js";var S="sootsim:settings",p=["errorReporting","colorScheme","a11yMode","a11yDepth","screenshotCanvas","screenshotBackground","screenshotText","screenshotPose","screenshotDynamicSize"];function y(){try{let e=localStorage.getItem(S);if(!e)return{};let t=JSON.parse(e),n={};for(let o of p)o in t&&(n[o]=t[o]);return n}catch{return{}}}function h(e){try{let t={};for(let n of p)t[n]=e[n];localStorage.setItem(S,JSON.stringify(t))}catch{}}var v=d(),K=typeof localStorage<"u"?y():{},s={...v,...K},a=[],i=null;function f(){for(let e of a)e();typeof localStorage<"u"&&h(s)}var V={get(e){return s[e]},set(e,t){let n=u[e];n.validate&&!n.validate(t)||n.options&&!n.options.includes(t)||s[e]!==t&&(s={...s,[e]:t},e==="deviceModel"&&(i=null),f())},getAll(){return s},apply(e){let t=!1,n={...s};for(let[o,r]of Object.entries(e)){if(r===void 0)continue;let l=o,c=u[l];c&&(c.validate&&!c.validate(r)||c.options&&!c.options.includes(r)||n[l]!==r&&(n[l]=r,t=!0))}t&&(s=n,i=null,f())},reset(){s=d(),i=null,f()},subscribe(e){return a.push(e),()=>{a=a.filter(t=>t!==e)}},getDeviceSpec(){return i||(i=g(s.deviceModel)),i},getA11yMode(){return s.a11yMode},setA11yMode(e){this.set("a11yMode",e)},getInspectMode(){return s.inspectMode},setInspectMode(e){this.set("inspectMode",e)}};export{V as a};
@@ -0,0 +1,3 @@
1
+ /*! sootsim v0.0.1 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{i as n}from"./chunk-YCETS3B3.js";var i=[];for(let[t,e]of Object.entries(n))e.cliFlag&&i.push({name:`--${e.cliFlag}`,short:e.cliFlagShort?`-${e.cliFlagShort}`:void 0,key:t,type:e.type==="enum"?"string":e.type,description:e.description,options:e.options,default:e.default});var a=i;function g(){let t=[];for(let e of a){let s=e.short?`${e.short}, ${e.name}`:` ${e.name}`,o=e.options?` [${e.options.join("|")}]`:"",r=e.default!==void 0?` (default: ${e.default})`:"";t.push(` ${s.padEnd(24)}${e.description}${o}${r}`)}return t.join(`
3
+ `)}export{g as a};
@@ -0,0 +1,34 @@
1
+ /*! sootsim v0.0.1 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ function d(o){let e=o.displayUrl||o.url;return o.status!=null?`${o.method} ${e} -> ${o.status}${o.statusText?` ${o.statusText}`:""}`:o.error?`${o.method} ${e} -> ${o.error}`:`${o.method} ${e}`}async function c(o,e,...n){return o.send({type:"call",path:`__sootsimTest.${e}`,args:n})}async function g(o,e={}){let n=await o.send({type:"evaluate",code:"window.__sootsimConsole?.count?.() || { errors: 0, warnings: 0, total: 0 }"});if(!n||typeof n!="object")return;let t=Math.max(0,Number(n.errors)||0),r=Math.max(0,Number(n.warnings)||0);if(t===0&&r===0)return;let s=[];if(t>0&&s.push(`${t} console error${t===1?"":"s"}`),r>0&&s.push(`${r} console warning${r===1?"":"s"}`),console.log(`
3
+ console: ${s.join(", ")}`),e.errorsCommand&&console.log(` inspect: ${e.errorsCommand}`),r>0&&e.warningsCommand&&console.log(` inspect: ${e.warningsCommand}`),!e.includeTail||t===0)return;let a=await o.send({type:"evaluate",code:"window.__sootsimConsole?.getErrors?.(5) || []"});if(!(!Array.isArray(a)||a.length===0)){console.log(`
4
+ recent console errors:
5
+ `);for(let i of a){let u=new Date(i.timestamp).toLocaleTimeString(),m=Array.isArray(i.args)?i.args.map(l=>typeof l=="object"?JSON.stringify(l):String(l)).join(" "):String(i);console.log(` [${u}] ${m}`)}}}async function f(o,e={}){let n=await c(o,"getRequestCounts");if(!n||typeof n!="object")return;let t=Math.max(0,Number(n.failed)||0);if(t===0||(console.log(`
6
+ network: ${t} failed request${t===1?"":"s"}`),e.requestsCommand&&console.log(` inspect: ${e.requestsCommand}`),!e.includeTail))return;let r=await c(o,"getFailedRequests",5);if(!(!Array.isArray(r)||r.length===0)){console.log(`
7
+ recent failed requests:
8
+ `);for(let s of r){let a=new Date(s.timestamp).toLocaleTimeString();console.log(` [${a}] ${d(s)}`),s.responseBody?console.log(` ${s.responseBody}`):s.error&&console.log(` ${s.error}`)}}}async function w(o){let e=await o.send({type:"evaluate",code:`(async () => {
9
+ const test = window.__sootsimTest
10
+ const mainShell = window.SootSim?.bridges?.mainShell
11
+ let shell = null
12
+ try {
13
+ shell = typeof mainShell?.getState === 'function' ? await mainShell.getState() : null
14
+ } catch {}
15
+ let nodeCount = 0
16
+ try {
17
+ nodeCount = typeof test?.getNodeCount === 'function' ? await test.getNodeCount() : 0
18
+ } catch {}
19
+ return {
20
+ url: window.location.href,
21
+ bridgeId: window.__sootsimBridgeId || null,
22
+ nodeCount,
23
+ mode: window.__sootsimRenderHost ? 'render-worker' : 'main-thread',
24
+ shell: shell
25
+ ? {
26
+ state: shell.state || null,
27
+ activeApp: shell.activeApp || null,
28
+ showSwitcher: !!shell.showSwitcher,
29
+ switcherPhase: shell.switcherPhase || null,
30
+ }
31
+ : null,
32
+ }
33
+ })()`});if(!e||typeof e!="object")return;console.log(`
34
+ state:`),e.bridgeId&&console.log(` session: ${e.bridgeId}`),e.url&&console.log(` url: ${e.url}`),e.mode&&console.log(` mode: ${e.mode}`),console.log(` nodes: ${Number(e.nodeCount)||0}${(Number(e.nodeCount)||0)>10?" (ready)":" (not ready)"}`);let n=e.shell;if(n&&typeof n=="object"){let t=[n.state?`state=${n.state}`:null,n.activeApp?`app=${n.activeApp}`:null,n.showSwitcher?"switcher=open":null,n.switcherPhase?`phase=${n.switcherPhase}`:null].filter(Boolean);t.length>0&&console.log(` shell: ${t.join(" ")}`)}}async function h(o,e={}){try{await w(o)}catch{}try{await g(o,{includeTail:!0,errorsCommand:e.errorsCommand,warningsCommand:e.warningsCommand})}catch{}try{await f(o,{includeTail:!0,requestsCommand:e.requestsCommand})}catch{}}export{w as a,h as b};
@@ -0,0 +1,51 @@
1
+ /*! sootsim v0.0.1 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{a as v}from"./chunk-PWXPA745.js";import{a as F}from"./chunk-OROM7DZI.js";import{b as L,d as A,f}from"./chunk-MPSZ5EWF.js";import{readFileSync as K}from"fs";function ee(){let t=process.env.SOOT_POSTHOG_API_KEY||process.env.VITE_POSTHOG_API_KEY||"";if(!t)return null;let e=process.env.SOOT_POSTHOG_HOST||process.env.VITE_POSTHOG_HOST||"https://us.i.posthog.com";return{apiKey:t,host:e.replace(/\/+$/,"")}}function te(t){return t?t.userId?t.userId:t.installationId!=null?`install:${t.installationId}`:t.repoId?`repo:${t.repoId}`:t.shareId?`share:${t.shareId}`:"anonymous-cli":"anonymous-cli"}function ne(t){let e=t.identity??{},r={$lib:"soot-cli",source:e.source??"cli",...t.properties};return e.userId&&(r.userId=e.userId),e.repoId&&(r.repoId=e.repoId),e.installationId!=null&&(r.installationId=String(e.installationId)),e.shareId&&(r.shareId=e.shareId),e.plan&&(r.plan=e.plan),{event:t.event,distinct_id:te(e),properties:r,timestamp:new Date().toISOString()}}var g=[],N=!1;async function T(){if(g.length===0)return;let t=ee();if(!t){g.length=0;return}let e=g.splice(0,g.length).map(ne);try{await fetch(`${t.host}/batch/`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({api_key:t.apiKey,batch:e}),keepalive:!0})}catch{}}function re(){N||(N=!0,process.on("beforeExit",()=>{T()}),process.on("exit",()=>{T()}))}function H(t){re();let e=null;try{e=v()?.user?.id??null}catch{e=null}g.push({...t,identity:{source:"cli",userId:e,...t.identity}})}async function h(){await T()}var W=process.env.SOOTSIM_UPLOAD_ORIGIN||"https://sootbean.com",P="http://localhost:3000";async function oe(t){if(t)return t;if(process.env.SOOTSIM_UPLOAD_ORIGIN)return process.env.SOOTSIM_UPLOAD_ORIGIN;try{let e=await fetch(`${P}/api/preview/upload`,{method:"OPTIONS"});if(e.ok||e.status===204||e.status===405)return P}catch{}return W}function se(){console.log(`
3
+ sootsim upload \u2014 publish the current bundle as a /preview/<id> link
4
+
5
+ usage:
6
+ sootsim upload [--origin <url>] [--events <path>] [--session <tab-id>] [--open] [--assets-only]
7
+
8
+ options:
9
+ --origin <url> upload target (default: auto)
10
+ prefers ${P} when available, otherwise
11
+ falls back to ${W}
12
+ override with SOOTSIM_UPLOAD_ORIGIN env var
13
+ --events <path> path to a gzipped events .jsonl.gz file to attach
14
+ --video <path> path to a webm/mp4/gif flow recording. embedded inline
15
+ in the pr sticky comment served at
16
+ /api/preview/flow-video?id=<share-id>
17
+ --session <tab-id> target a specific sootsim tab (see: sootsim list)
18
+ --open open the resulting /preview/<id> url in the browser
19
+ --assets-only drop API/JSON/HTML records before upload; keep images,
20
+ fonts, css, js, and binary blobs. live-data demos hit
21
+ the real network at replay time instead of serving
22
+ recorded API snapshots
23
+ -h, --help
24
+
25
+ examples:
26
+ sootsim upload
27
+ sootsim upload --origin http://localhost:3000 --open
28
+ sootsim upload --events ./my-session.jsonl.gz
29
+ sootsim upload --video /tmp/soot-flow.webm
30
+ `)}function _(t,e){let r=t.findIndex(l=>l===e);if(r<0)return;let i=t[r+1];return t.splice(r,2),i}function j(t,e){let r=t.findIndex(i=>i===e);return r<0?!1:(t.splice(r,1),!0)}function z(t){let e=(t||"").toLowerCase().split(";")[0].trim();return e?!!(e.startsWith("image/")||e.startsWith("font/")||e.startsWith("video/")||e.startsWith("audio/")||e.startsWith("model/")||e==="text/css"||e==="application/javascript"||e==="text/javascript"||e==="application/wasm"||e==="application/font-woff"||e==="application/font-woff2"||e==="application/octet-stream"):!1}async function D(t){let e=await fetch(t);if(!e.ok)throw new Error(`fetch ${t} -> ${e.status} ${e.statusText}`);return new Uint8Array(await e.arrayBuffer())}function G(t){return Buffer.from(t).toString("base64")}function ie(t){return/\.bundle($|\?)/.test(t)||/\.js($|\?)/.test(t)?"application/javascript":/\.zip($|\?)/.test(t)?"application/zip":"application/javascript"}function le(t){try{let e=new URL(t);return e.searchParams.get("lazy")==="true"?(e.searchParams.set("lazy","false"),e.toString()):t}catch{return t}}async function ae(t,e){let i=[];for(let l=0;l<e;l+=15e5){let u=Math.min(l+15e5,e),m=await f(t,`(window.__sootsimLastTransformedBundle?.text || "").slice(${l}, ${u})`);if(typeof m!="string")return null;i.push(m)}return i.join("")}async function ye(t,e){(t.includes("--help")||t.includes("-h"))&&(se(),process.exit(0));let r=[...t],i=await oe(_(r,"--origin")),l=_(r,"--events"),u=_(r,"--video"),m=j(r,"--open"),U=j(r,"--assets-only"),M=L(r,{stripBooleanFlags:[],stripValueFlags:[]}),c=A(M),o,R=[],a=[],I=null;try{if(o=await f(c,'(typeof window.__sootsimCaptureBundle === "function") ? window.__sootsimCaptureBundle() : null'),o?.bundleUrl){let n=new URL(o.bundleUrl).origin;R=await f(c,`(window.__sootsimPreviewRecorder?.list?.(${JSON.stringify(n)}) || [])`);let s=await f(c,`(() => {
31
+ const rec = window.__sootsimPreviewRecorder
32
+ if (!rec?.list) return null
33
+ const all = rec.list()
34
+ const cross = all.filter((e) => {
35
+ try { return new URL(e.url).origin !== ${JSON.stringify(n)} } catch { return false }
36
+ })
37
+ return {
38
+ count: cross.length,
39
+ totalBytes: cross.reduce((n, e) => n + (e.size || 0), 0),
40
+ }
41
+ })()`);if(s&&s.count>0&&(console.log(` ${s.count} recorded cross-origin responses (${(s.totalBytes/1024).toFixed(1)} KiB)`),a=await f(c,`(() => {
42
+ const rec = window.__sootsimPreviewRecorder
43
+ if (!rec?.dump) return []
44
+ const all = rec.dump()
45
+ return all.filter((r) => {
46
+ try { return new URL(r.url).origin !== ${JSON.stringify(n)} } catch { return false }
47
+ })
48
+ })()`),U)){let Q=a.length;a=a.filter(x=>z(x.contentType));let X=s.totalBytes-a.reduce((x,Z)=>x+(Z.size||0),0);console.log(` --assets-only: kept ${a.length}/${Q} records (dropped ${(X/1024).toFixed(1)} KiB of API responses)`)}}o?.transformedBundle&&(I=await ae(c,o.transformedBundle.byteLength))}finally{c.close()}o||(console.error(" could not read bundle snapshot \u2014 is sootsim running and is the bundle loaded?"),process.exit(2)),o.bundleUrl||(console.error(` no ?bundle= URL on the current sootsim tab.
49
+ open the app you want to share first (e.g. sootsim open 8082), then run upload.`),process.exit(2));let d,O=!1;if(I!==null)d=new TextEncoder().encode(I),O=!0,console.log(` using post-transform bundle: ${(d.byteLength/1024).toFixed(1)} KiB`);else{let n=le(o.bundleUrl);n!==o.bundleUrl&&console.log(" forcing lazy=false for self-contained bundle"),console.log(` capturing: ${n}`),d=await D(n),console.log(` main bundle: ${(d.byteLength/1024).toFixed(1)} KiB`)}let y=R.filter(n=>n.url!==o.bundleUrl);U&&(y=y.filter(n=>z(n.contentType))),console.log(` fetching ${y.length} extra files\u2026`);let b=(await Promise.all(y.map(async n=>{try{let s=await D(n.url);return{...n,bytes:s}}catch(s){return console.error(` warning: failed to re-fetch ${n.url}: ${s instanceof Error?s.message:s}`),null}}))).filter(n=>!!n),J=b.reduce((n,s)=>n+s.bytes.byteLength,0);console.log(` ${b.length} extra files: ${(J/1024).toFixed(1)} KiB`);let B;l&&(B=K(l).toString("base64"));let S,$;if(u){let n=K(u);S=n.toString("base64"),$=u.endsWith(".mp4")?"video/mp4":u.endsWith(".gif")?"image/gif":"video/webm",console.log(` attaching flow video: ${(n.byteLength/1024).toFixed(1)} KiB (${$})`)}let E=`${i.replace(/\/$/,"")}/api/preview/upload`;console.log(` uploading to ${E}`);let w=v();H({event:"preview_upload_started",identity:{userId:w?.user?.id??null},properties:{origin:i,hasAuth:!!w?.token,bundleBytes:d.byteLength,isTransformed:O,extraFiles:b.length,recordedFetches:a.length,hasEvents:!!B,hasVideo:!!S}}),w?.token||(console.error(" preview uploads require login."),console.error(" run `sootsim login` first."),await h(),process.exit(1));let V=(()=>{try{return new URL(o.bundleUrl).origin}catch{return null}})(),q=[...b.map(n=>({url:n.url,urlhash:n.urlhash,contentType:n.contentType,bodyBase64:G(n.bytes)})),...a.map(n=>({url:n.url,urlhash:n.urlhash,contentType:n.contentType,bodyBase64:n.bodyBase64}))],Y={bundleBase64:G(d),bundleContentType:ie(o.bundleUrl),bundleOrigin:V,entry:o.entry,deviceSpec:o.deviceSpec,eventsBase64:B,isTransformed:O,files:q,flowVideoBase64:S,flowVideoContentType:$},p=await fetch(E,{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${w.token}`},body:JSON.stringify(Y)});if(!p.ok){let n=await p.text().catch(()=>"");p.status===401&&(console.error(" preview upload requires a valid login."),console.error(" run `sootsim login` and retry."),n&&console.error(` ${n}`),await h(),process.exit(1)),console.error(` upload failed: ${p.status} ${p.statusText}
50
+ ${n}`),await h(),process.exit(1)}let k=await p.json(),C=`${i.replace(/\/$/,"")}${k.url}`;console.log(`
51
+ stored ${k.filesStored??0} extra files`),console.log(` preview: ${C}`),m&&await F(C),await h()}export{H as a,h as b,oe as c,ye as d};
@@ -0,0 +1,3 @@
1
+ /*! sootsim v0.0.1 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{execFileSync as d,spawn as f}from"child_process";import{existsSync as p,readdirSync as g}from"fs";import{dirname as m,join as u,resolve as r}from"path";import{fileURLToPath as h}from"url";var s=m(h(import.meta.resolve("sootsim-engine/package.json"))),v="dev.sootsim.simulator";function k(){let t=s,n=u(t,"dist-electron/main.cjs");if(!p(n))return null;let e=x(t);return e?{path:e,platform:process.platform,kind:"dev-electron",engineDir:t}:null}function x(t){let n=t;for(let e=0;e<6;e++){let i=u(n,"node_modules/.bin/electron");if(p(i))return i;let o=m(n);if(o===n)break;n=o}return null}function I(){let n=["/Applications/sootsim.app",r(process.env.HOME||"","Applications/sootsim.app"),r(s,"app/sootsim.app")].find(e=>p(e));if(n)return{path:n,platform:"darwin",kind:"mac-app"};try{let e=d("mdfind",[`kMDItemCFBundleIdentifier == "${v}"`],{encoding:"utf8",timeout:3e3}).trim();if(e)return{path:e.split(`
3
+ `)[0],platform:"darwin",kind:"mac-app"}}catch{}return null}function l(t){if(!p(t))return null;let n=g(t).filter(e=>e.startsWith("sootsim")&&e.endsWith(".AppImage")).sort().reverse()[0];return n?u(t,n):null}function D(){let n=[r(process.env.HOME||"","Applications/sootsim.AppImage"),r(process.env.HOME||"",".local/bin/sootsim.AppImage"),"/opt/sootsim/sootsim.AppImage","/opt/sootsim/sootsim",r(s,"app/sootsim.AppImage"),r(s,"release/linux-unpacked/sootsim")].find(i=>p(i));if(n)return{path:n,platform:"linux",kind:n.endsWith(".AppImage")?"linux-appimage":"linux-binary"};let e=l(r(s,"app"))||l(r(s,"release"));return e?{path:e,platform:"linux",kind:"linux-appimage"}:null}function A(){if(process.env.SOOTSIM_PREFER_PACKAGED!=="1"){let t=k();if(t)return t}return process.platform==="darwin"?I():process.platform==="linux"?D():null}async function c(t,n){await new Promise((e,i)=>{let o=f(t,n,{detached:!0,stdio:"ignore"});o.once("error",i),o.once("spawn",()=>{o.unref(),e()})})}async function S(t,n=A(),e={}){if(!n)return{launched:!1};let i=e.device?["--device",e.device]:[];if(n.kind==="mac-app"){let a=["-g","-a",n.path];return t&&a.push(t),i.length>0&&a.push("--args",...i),await c("open",a),{launched:!0,via:"mac-app",target:n.path}}if(n.kind==="dev-electron"){let a=[n.engineDir||s];return t&&a.push(t),i.length>0&&a.push(...i),await c(n.path,a),{launched:!0,via:"dev-electron",target:n.path}}let o=[];return t&&o.push(t),i.length>0&&o.push(...i),await c(n.path,o),{launched:!0,via:n.kind,target:n.path}}export{A as a,S as b};
@@ -0,0 +1,16 @@
1
+ /*! sootsim v0.0.1 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{a as h,b as S,d as k,f as T}from"./chunk-3C3ZH7PP.js";import{WebSocket as P}from"ws";S();var p=class extends Error{lock;constructor(n,t){super(n),this.name="BridgeTabLockedError",this.lock=t}};function A(e){return e==="flag"?"via --tab":e==="saved"?"saved via `sootsim use`":"primary fallback \u2014 no session pinned"}function E(e,n={}){let t=new Set,u=n.port??7668,c=n.commandTimeoutMs??15e3,a,g="none",f=new Set(n.stripBooleanFlags??[]),m=new Set(n.stripValueFlags??[]);for(let r=0;r<e.length;r++){let d=e[r];if(d==="--port"){t.add(r),r+1<e.length&&(t.add(r+1),u=Number(e[r+1])),r++;continue}if(d==="--timeout"){t.add(r),r+1<e.length&&(t.add(r+1),c=Number(e[r+1])),r++;continue}if(d==="--session"||d==="--id"||d==="--tab"){t.add(r),r+1<e.length&&(t.add(r+1),a=e[r+1],g="flag"),r++;continue}if(f.has(d)){t.add(r);continue}m.has(d)&&(t.add(r),r+1<e.length&&t.add(r+1),r++)}if(!a){let r=k();r&&(a=r,g="saved")}return{positional:e.filter((r,d)=>!t.has(d)),wsPort:u,browserId:a,browserIdSource:g,commandTimeoutMs:c}}function C(e,n={}){let t=1,u=n.commandTimeoutMs??15e3,c=new Map,a=new P(`ws://localhost:${e}`),g=n.browserId?{key:`browser:${n.browserId}`,source:"explicit-browser-id",stable:!0}:h(),f=new Promise((s,o)=>{a.on("open",()=>{try{a.send(JSON.stringify({type:"bridge:hello",id:0,cliSessionKey:g.key,cliSessionSource:g.source,cliLabel:n.cliLabel}))}catch{}s()}),a.on("error",i=>o(new Error(`could not connect to ws://localhost:${e}: ${i.message}`)))}),m=!1,r=!1;function d(s,o){if(r||process.env.SOOTSIM_QUIET_TARGET_NOTICE==="1"||s.startsWith("bridge:")||s==="focus"||s==="close")return;r=!0;let i=o??"primary",l=A(n.browserIdSource);process.stderr.write(` \u2192 ${i} (${l})
3
+ `)}return a.on("message",s=>{let o;try{o=JSON.parse(s.toString())}catch{return}if(o.id===0)return;let i=c.get(o.id);i&&(c.delete(o.id),o.i>0&&!m&&(m=!0,process.stderr.write(`
4
+ \u26A0 ${o.i} other CLI client(s) are also connected to this tab
5
+ commands from multiple agents may interfere with each other.
6
+ use sootsim open --new to get a dedicated session.
7
+
8
+ `)),o.error?o.s?i.reject(new p(o.error,o.s)):i.reject(new Error(o.error)):i.resolve(o.result))}),a.on("close",(s,o)=>{let i=o?.toString()||"connection closed";for(let[l,w]of c)c.delete(l),w.reject(new Error(`session disconnected: ${i} (code ${s})`))}),{async send(s){let o=async i=>{await f;let l=t++;return new Promise((w,I)=>{let B=setTimeout(()=>{c.delete(l),I(new Error(`command timed out after ${Math.round(u/1e3)}s`))},u);c.set(l,{resolve:y=>{clearTimeout(B),w(y)},reject:y=>{clearTimeout(B),I(y)}});let b={...s,id:l};b.browserId===void 0&&i&&(b.browserId=i),d(s.type??"",b.browserId),a.send(JSON.stringify(b))})};try{return await o(n.browserId)}catch(i){let l=i instanceof Error?i.message:String(i);if(n.fallbackOnMissingBrowserId&&n.browserId&&s.browserId===void 0&&l===`no browser connected with id ${n.browserId}`)return T(),process.stderr.write(` \u26A0 saved session ${n.browserId} is gone \u2014 falling back to primary
9
+ pin a tab with: sootsim use <tab-id>
10
+ `),r=!1,o(void 0);throw i}},async listBrowsers(){let s=await this.send({type:"bridge:list-browsers"});return Array.isArray(s)?s:[]},async openUrl(s){return this.send({type:"bridge:open",url:s})},async focusBrowser(s){return this.send({type:"focus",browserId:s})},async closeBrowser(s){return this.send({type:"close",browserId:s})},async claim(s,o={}){return await this.send({type:"bridge:claim",browserId:s,force:o.force===!0})},close(){try{a.readyState===P.OPEN&&a.send(JSON.stringify({type:"bridge:bye",id:0}))}catch{}a.close()}}}function L(e){return C(e.wsPort,{commandTimeoutMs:e.commandTimeoutMs,browserId:e.browserId,fallbackOnMissingBrowserId:e.browserIdSource==="saved",browserIdSource:e.browserIdSource})}async function W(e){try{return await e.send({type:"evaluate",code:"document.hidden"})===!0?(process.stderr.write(`
11
+ \u26A0 target tab is hidden (document.hidden = true)
12
+ animations and rAF callbacks are throttled \u2014 coordinates may be wrong
13
+ and launch/transition animations will not complete.
14
+ bring the tab to the foreground or use: sootsim debug eval "window.focus()"
15
+
16
+ `),{hidden:!0,warned:!0}):{hidden:!1,warned:!1}}catch{return{hidden:!1,warned:!1}}}async function $(e,n,t={}){let u={type:"evaluate",code:n};return t.acquireLock&&(u.acquireLock=!0),e.send(u)}async function F(e,n,...t){return e.send({type:"call",path:n,args:t})}async function N(e,n,...t){return e.send({type:"call",path:n,args:t,acquireLock:!0})}export{p as a,E as b,C as c,L as d,W as e,$ as f,F as g,N as h};
@@ -0,0 +1,2 @@
1
+ /*! sootsim v0.0.1 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ async function o(e){let{spawn:t}=await import("child_process");if(process.platform==="darwin"){t("open",["-g",e],{detached:!0,stdio:"ignore"}).unref();return}if(process.platform==="win32"){t("cmd",["/c","start","",e],{detached:!0,stdio:"ignore"}).unref();return}t("xdg-open",[e],{detached:!0,stdio:"ignore"}).unref()}export{o as a};
@@ -0,0 +1,3 @@
1
+ /*! sootsim v0.0.1 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
+ import{chmodSync as m,existsSync as g,mkdirSync as A,readFileSync as k,rmSync as s,writeFileSync as y}from"node:fs";import{homedir as D,platform as w}from"node:os";import{dirname as l,join as n,resolve as p}from"node:path";var u=1,f="SOOTSIM_SHARED_AUTH_FILE",a="https://sootbean.com";function v(){let t=process.env[f];if(t?.trim())return l(p(t));let e=D();if(!e)throw new Error("could not determine home directory for sootsim auth storage");switch(w()){case"darwin":return n(e,"Library","Application Support","sootsim");case"win32":return n(process.env.APPDATA||n(e,"AppData","Roaming"),"sootsim");default:return n(process.env.XDG_CONFIG_HOME||n(e,".config"),"sootsim")}}function c(){let t=process.env[f];return t?.trim()?p(t):n(v(),"desktop-auth.json")}function h(t){if(!t||typeof t!="object")return null;let e=t;return typeof e.id!="string"||!e.id.trim()?null:{id:e.id.trim(),name:typeof e.name=="string"?e.name:void 0,email:typeof e.email=="string"?e.email:void 0,image:typeof e.image=="string"?e.image:void 0}}function O(t){if(!t||typeof t!="object")return null;let e=t;if(e.version!==u||typeof e.token!="string"||!e.token.trim())return null;let r=typeof e.origin=="string"&&e.origin.trim()?e.origin.trim():a,o=e.source==="cli"||e.source==="electron"||e.source==="browser"||e.source==="unknown"?e.source:"unknown",i=typeof e.updatedAt=="string"&&e.updatedAt?e.updatedAt:new Date().toISOString(),S=typeof e.validatedAt=="string"&&e.validatedAt?e.validatedAt:void 0;return{version:u,token:e.token.trim(),user:h(e.user),origin:r,source:o,updatedAt:i,validatedAt:S}}function x(){let t=c();if(!g(t))return null;try{let e=JSON.parse(k(t,"utf8")),r=O(e);return r||(s(t,{force:!0}),null)}catch{return s(t,{force:!0}),null}}function I(t){let e=c();A(l(e),{recursive:!0});let r={version:u,token:t.token.trim(),user:t.user?h(t.user):null,origin:t.origin?.trim()||a,source:t.source,updatedAt:t.updatedAt||new Date().toISOString(),validatedAt:t.validatedAt};y(e,JSON.stringify(r,null,2)+`
3
+ `);try{m(e,384)}catch{}return r}function d(){s(c(),{force:!0})}async function N(t){let e=x();if(!e?.token)return null;let r=t||e.origin||a;try{let o=await fetch(`${r.replace(/\/$/,"")}/api/auth/me`,{headers:{authorization:`Bearer ${e.token}`}});if(o.status===401)return d(),null;if(!o.ok)return e;let i=await o.json();return i.user?.id?I({token:e.token,user:i.user,origin:r,source:e.source,validatedAt:new Date().toISOString()}):(d(),null)}catch{return e}}export{x as a,I as b,d as c,N as d};