diff options
252 files changed, 11851 insertions, 2522 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ce42b9f1..64aa23e4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml | |||
@@ -16,7 +16,9 @@ jobs: | |||
16 | env: | 16 | env: |
17 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | 17 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |
18 | run: | | 18 | run: | |
19 | echo "is_SONAR_TOKEN_set=${{ env.SONAR_TOKEN != '' }}" >> $GITHUB_OUTPUT | 19 | if [ "${SONAR_TOKEN}" != '' ]; then |
20 | echo 'is_SONAR_TOKEN_set=true' >> $GITHUB_OUTPUT | ||
21 | fi | ||
20 | - name: Checkout code | 22 | - name: Checkout code |
21 | uses: actions/checkout@v3 | 23 | uses: actions/checkout@v3 |
22 | with: | 24 | with: |
diff --git a/.yarn/releases/yarn-4.0.0-rc.37.cjs b/.yarn/releases/yarn-4.0.0-rc.42.cjs index e8f633a1..90459ca0 100755 --- a/.yarn/releases/yarn-4.0.0-rc.37.cjs +++ b/.yarn/releases/yarn-4.0.0-rc.42.cjs | |||
@@ -1,146 +1,146 @@ | |||
1 | #!/usr/bin/env node | 1 | #!/usr/bin/env node |
2 | /* eslint-disable */ | 2 | /* eslint-disable */ |
3 | //prettier-ignore | 3 | //prettier-ignore |
4 | (()=>{var l_e=Object.create;var PR=Object.defineProperty;var c_e=Object.getOwnPropertyDescriptor;var u_e=Object.getOwnPropertyNames;var A_e=Object.getPrototypeOf,f_e=Object.prototype.hasOwnProperty;var Ie=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var dt=(t,e)=>()=>(t&&(e=t(t=0)),e);var U=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Yt=(t,e)=>{for(var r in e)PR(t,r,{get:e[r],enumerable:!0})},p_e=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of u_e(e))!f_e.call(t,a)&&a!==r&&PR(t,a,{get:()=>e[a],enumerable:!(o=c_e(e,a))||o.enumerable});return t};var tt=(t,e,r)=>(r=t!=null?l_e(A_e(t)):{},p_e(e||!t||!t.__esModule?PR(r,"default",{value:t,enumerable:!0}):r,t));var Ii={};Yt(Ii,{SAFE_TIME:()=>E7,S_IFDIR:()=>eD,S_IFLNK:()=>tD,S_IFMT:()=>_u,S_IFREG:()=>bI});var _u,eD,bI,tD,E7,C7=dt(()=>{_u=61440,eD=16384,bI=32768,tD=40960,E7=456789e3});var sr={};Yt(sr,{EBADF:()=>Co,EBUSY:()=>h_e,EEXIST:()=>C_e,EINVAL:()=>d_e,EISDIR:()=>E_e,ENOENT:()=>m_e,ENOSYS:()=>g_e,ENOTDIR:()=>y_e,ENOTEMPTY:()=>w_e,EOPNOTSUPP:()=>B_e,EROFS:()=>I_e,ERR_DIR_CLOSED:()=>xR});function Tl(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function h_e(t){return Tl("EBUSY",t)}function g_e(t,e){return Tl("ENOSYS",`${t}, ${e}`)}function d_e(t){return Tl("EINVAL",`invalid argument, ${t}`)}function Co(t){return Tl("EBADF",`bad file descriptor, ${t}`)}function m_e(t){return Tl("ENOENT",`no such file or directory, ${t}`)}function y_e(t){return Tl("ENOTDIR",`not a directory, ${t}`)}function E_e(t){return Tl("EISDIR",`illegal operation on a directory, ${t}`)}function C_e(t){return Tl("EEXIST",`file already exists, ${t}`)}function I_e(t){return Tl("EROFS",`read-only filesystem, ${t}`)}function w_e(t){return Tl("ENOTEMPTY",`directory not empty, ${t}`)}function B_e(t){return Tl("EOPNOTSUPP",`operation not supported, ${t}`)}function xR(){return Tl("ERR_DIR_CLOSED","Directory handle was closed")}var rD=dt(()=>{});var Nl={};Yt(Nl,{BigIntStatsEntry:()=>Zm,DEFAULT_MODE:()=>kR,DirEntry:()=>bR,StatEntry:()=>Xm,areStatsEqual:()=>FR,clearStats:()=>nD,convertToBigIntStats:()=>D_e,makeDefaultStats:()=>I7,makeEmptyStats:()=>v_e});function I7(){return new Xm}function v_e(){return nD(I7())}function nD(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):QR.types.isDate(r)&&(t[e]=new Date(0))}return t}function D_e(t){let e=new Zm;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let o=t[r];typeof o=="number"?e[r]=BigInt(o):QR.types.isDate(o)&&(e[r]=new Date(o))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function FR(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,o=e;return!(r.atimeNs!==o.atimeNs||r.mtimeNs!==o.mtimeNs||r.ctimeNs!==o.ctimeNs||r.birthtimeNs!==o.birthtimeNs)}var QR,kR,bR,Xm,Zm,RR=dt(()=>{QR=tt(Ie("util")),kR=33188,bR=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Xm=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=kR;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Zm=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(kR);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function B7(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(x_e))t=e[1];else if(r=t.match(b_e))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function TR(t){if(process.platform!=="win32")return t;t=t.replace(/\\/g,"/");let e,r;return(e=t.match(S_e))?t=`/${e[1]}`:(r=t.match(P_e))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function iD(t,e){return t===Ae?B7(e):TR(e)}function Li(t){if(Ae.parse(t).dir!==""||V.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var QI,wt,Lr,Ae,V,w7,S_e,P_e,x_e,b_e,ya=dt(()=>{QI=tt(Ie("path")),wt={root:"/",dot:".",parent:".."},Lr={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml"},Ae=Object.create(QI.default),V=Object.create(QI.default.posix);Ae.cwd=()=>process.cwd();V.cwd=()=>TR(process.cwd());V.resolve=(...t)=>t.length>0&&V.isAbsolute(t[0])?QI.default.posix.resolve(...t):QI.default.posix.resolve(V.cwd(),...t);w7=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};Ae.fromPortablePath=B7;Ae.toPortablePath=TR;Ae.contains=(t,e)=>w7(Ae,t,e);V.contains=(t,e)=>w7(V,t,e);S_e=/^([a-zA-Z]:.*)$/,P_e=/^\/\/(\.\/)?(.*)$/,x_e=/^\/([a-zA-Z]:.*)$/,b_e=/^\/unc\/(\.dot\/)?(.*)$/});async function sD(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.indexPath,{recursive:!0});let o=[];for(let a of r)for(let n of r)o.push(t.mkdirPromise(t.pathUtils.join(e.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(o),e.indexPath}async function v7(t,e,r,o,a){let n=t.pathUtils.normalize(e),u=r.pathUtils.normalize(o),A=[],p=[],{atime:h,mtime:C}=a.stableTime?{atime:Qg,mtime:Qg}:await r.lstatPromise(u);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[h,C]}),await NR(A,p,t,n,r,u,{...a,didParentExist:!0});for(let w of A)await w();await Promise.all(p.map(w=>w()))}async function NR(t,e,r,o,a,n,u){var v,b,E;let A=u.didParentExist?await D7(r,o):null,p=await a.lstatPromise(n),{atime:h,mtime:C}=u.stableTime?{atime:Qg,mtime:Qg}:p,w;switch(!0){case p.isDirectory():w=await k_e(t,e,r,o,A,a,n,p,u);break;case p.isFile():w=await T_e(t,e,r,o,A,a,n,p,u);break;case p.isSymbolicLink():w=await N_e(t,e,r,o,A,a,n,p,u);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(((v=u.linkStrategy)==null?void 0:v.type)!=="HardlinkFromIndex"||!p.isFile())&&((w||((b=A==null?void 0:A.mtime)==null?void 0:b.getTime())!==C.getTime()||((E=A==null?void 0:A.atime)==null?void 0:E.getTime())!==h.getTime())&&(e.push(()=>r.lutimesPromise(o,h,C)),w=!0),(A===null||(A.mode&511)!==(p.mode&511))&&(e.push(()=>r.chmodPromise(o,p.mode&511)),w=!0)),w}async function D7(t,e){try{return await t.lstatPromise(e)}catch{return null}}async function k_e(t,e,r,o,a,n,u,A,p){if(a!==null&&!a.isDirectory())if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;let h=!1;a===null&&(t.push(async()=>{try{await r.mkdirPromise(o,{mode:A.mode})}catch(v){if(v.code!=="EEXIST")throw v}}),h=!0);let C=await n.readdirPromise(u),w=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let v of C.sort())await NR(t,e,r,r.pathUtils.join(o,v),n,n.pathUtils.join(u,v),w)&&(h=!0);else(await Promise.all(C.map(async b=>{await NR(t,e,r,r.pathUtils.join(o,b),n,n.pathUtils.join(u,b),w)}))).some(b=>b)&&(h=!0);return h}async function F_e(t,e,r,o,a,n,u,A,p,h){let C=await n.checksumFilePromise(u,{algorithm:"sha1"}),w=r.pathUtils.join(h.indexPath,C.slice(0,2),`${C}.dat`),v;(re=>(re[re.Lock=0]="Lock",re[re.Rename=1]="Rename"))(v||(v={}));let b=1,E=await D7(r,w);if(a){let _=E&&a.dev===E.dev&&a.ino===E.ino,J=(E==null?void 0:E.mtimeMs)!==Q_e;if(_&&J&&h.autoRepair&&(b=0,E=null),!_)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1}let R=!E&&b===1?`${w}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,L=!1;return t.push(async()=>{if(!E&&(b===0&&await r.lockPromise(w,async()=>{let _=await n.readFilePromise(u);await r.writeFilePromise(w,_)}),b===1&&R)){let _=await n.readFilePromise(u);await r.writeFilePromise(R,_);try{await r.linkPromise(R,w)}catch(J){if(J.code==="EEXIST")L=!0,await r.unlinkPromise(R);else throw J}}a||await r.linkPromise(w,o)}),e.push(async()=>{E||await r.lutimesPromise(w,Qg,Qg),R&&!L&&await r.unlinkPromise(R)}),!1}async function R_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{let h=await n.readFilePromise(u);await r.writeFilePromise(o,h)}),!0}async function T_e(t,e,r,o,a,n,u,A,p){var h;return((h=p.linkStrategy)==null?void 0:h.type)==="HardlinkFromIndex"?F_e(t,e,r,o,a,n,u,A,p,p.linkStrategy):R_e(t,e,r,o,a,n,u,A,p)}async function N_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{await r.symlinkPromise(iD(r.pathUtils,await n.readlinkPromise(u)),o)}),!0}var Qg,Q_e,LR=dt(()=>{ya();Qg=new Date(456789e3*1e3),Q_e=Qg.getTime()});function oD(t,e,r,o){let a=()=>{let n=r.shift();return typeof n>"u"?null:Object.assign(t.statSync(t.pathUtils.join(e,n)),{name:n})};return new OR(e,a,o)}var OR,S7=dt(()=>{rD();OR=class{constructor(e,r,o={}){this.path=e;this.nextDirent=r;this.opts=o;this.closed=!1}throwIfClosed(){if(this.closed)throw xR()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}}});function P7(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var x7,$m,b7=dt(()=>{x7=Ie("events");RR();$m=class extends x7.EventEmitter{constructor(r,o,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=o,this.bigint=a,this.lastStats=this.stat()}static create(r,o,a){let n=new $m(r,o,a);return n.start(),n}start(){P7(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){P7(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let o=this.bigint?new Zm:new Xm;return nD(o)}}makeInterval(r){let o=setInterval(()=>{let a=this.stat(),n=this.lastStats;FR(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?o:o.unref()}registerChangeListener(r,o){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(o))}unregisterChangeListener(r){this.removeListener("change",r);let o=this.changeListeners.get(r);typeof o<"u"&&clearInterval(o),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function ey(t,e,r,o){let a,n,u,A;switch(typeof r){case"function":a=!1,n=!0,u=5007,A=r;break;default:({bigint:a=!1,persistent:n=!0,interval:u=5007}=r),A=o;break}let p=aD.get(t);typeof p>"u"&&aD.set(t,p=new Map);let h=p.get(e);return typeof h>"u"&&(h=$m.create(t,e,{bigint:a}),p.set(e,h)),h.registerChangeListener(A,{persistent:n,interval:u}),h}function kg(t,e,r){let o=aD.get(t);if(typeof o>"u")return;let a=o.get(e);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),o.delete(e)))}function Fg(t){let e=aD.get(t);if(!(typeof e>"u"))for(let r of e.keys())kg(t,r)}var aD,MR=dt(()=>{b7();aD=new WeakMap});function L_e(t){let e=t.match(/\r?\n/g);if(e===null)return k7.EOL;let r=e.filter(a=>a===`\r | 4 | (()=>{var C_e=Object.create;var xR=Object.defineProperty;var E_e=Object.getOwnPropertyDescriptor;var I_e=Object.getOwnPropertyNames;var w_e=Object.getPrototypeOf,B_e=Object.prototype.hasOwnProperty;var Ie=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var dt=(t,e)=>()=>(t&&(e=t(t=0)),e);var U=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Yt=(t,e)=>{for(var r in e)xR(t,r,{get:e[r],enumerable:!0})},v_e=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of I_e(e))!B_e.call(t,a)&&a!==r&&xR(t,a,{get:()=>e[a],enumerable:!(o=E_e(e,a))||o.enumerable});return t};var tt=(t,e,r)=>(r=t!=null?C_e(w_e(t)):{},v_e(e||!t||!t.__esModule?xR(r,"default",{value:t,enumerable:!0}):r,t));var Ii={};Yt(Ii,{SAFE_TIME:()=>D7,S_IFDIR:()=>aD,S_IFLNK:()=>lD,S_IFMT:()=>Hu,S_IFREG:()=>RI});var Hu,aD,RI,lD,D7,S7=dt(()=>{Hu=61440,aD=16384,RI=32768,lD=40960,D7=456789e3});var sr={};Yt(sr,{EBADF:()=>Eo,EBUSY:()=>D_e,EEXIST:()=>k_e,EINVAL:()=>P_e,EISDIR:()=>Q_e,ENOENT:()=>x_e,ENOSYS:()=>S_e,ENOTDIR:()=>b_e,ENOTEMPTY:()=>R_e,EOPNOTSUPP:()=>T_e,EROFS:()=>F_e,ERR_DIR_CLOSED:()=>bR});function Ol(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function D_e(t){return Ol("EBUSY",t)}function S_e(t,e){return Ol("ENOSYS",`${t}, ${e}`)}function P_e(t){return Ol("EINVAL",`invalid argument, ${t}`)}function Eo(t){return Ol("EBADF",`bad file descriptor, ${t}`)}function x_e(t){return Ol("ENOENT",`no such file or directory, ${t}`)}function b_e(t){return Ol("ENOTDIR",`not a directory, ${t}`)}function Q_e(t){return Ol("EISDIR",`illegal operation on a directory, ${t}`)}function k_e(t){return Ol("EEXIST",`file already exists, ${t}`)}function F_e(t){return Ol("EROFS",`read-only filesystem, ${t}`)}function R_e(t){return Ol("ENOTEMPTY",`directory not empty, ${t}`)}function T_e(t){return Ol("EOPNOTSUPP",`operation not supported, ${t}`)}function bR(){return Ol("ERR_DIR_CLOSED","Directory handle was closed")}var cD=dt(()=>{});var Ml={};Yt(Ml,{BigIntStatsEntry:()=>ny,DEFAULT_MODE:()=>FR,DirEntry:()=>QR,StatEntry:()=>ry,areStatsEqual:()=>RR,clearStats:()=>uD,convertToBigIntStats:()=>L_e,makeDefaultStats:()=>P7,makeEmptyStats:()=>N_e});function P7(){return new ry}function N_e(){return uD(P7())}function uD(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):kR.types.isDate(r)&&(t[e]=new Date(0))}return t}function L_e(t){let e=new ny;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let o=t[r];typeof o=="number"?e[r]=BigInt(o):kR.types.isDate(o)&&(e[r]=new Date(o))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function RR(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,o=e;return!(r.atimeNs!==o.atimeNs||r.mtimeNs!==o.mtimeNs||r.ctimeNs!==o.ctimeNs||r.birthtimeNs!==o.birthtimeNs)}var kR,FR,QR,ry,ny,TR=dt(()=>{kR=tt(Ie("util")),FR=33188,QR=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},ry=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=FR;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},ny=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(FR);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function b7(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(U_e))t=e[1];else if(r=t.match(__e))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function NR(t){if(process.platform!=="win32")return t;t=t.replace(/\\/g,"/");let e,r;return(e=t.match(O_e))?t=`/${e[1]}`:(r=t.match(M_e))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function AD(t,e){return t===ue?b7(e):NR(e)}function Li(t){if(ue.parse(t).dir!==""||z.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var TI,wt,Lr,ue,z,x7,O_e,M_e,U_e,__e,Ca=dt(()=>{TI=tt(Ie("path")),wt={root:"/",dot:".",parent:".."},Lr={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml"},ue=Object.create(TI.default),z=Object.create(TI.default.posix);ue.cwd=()=>process.cwd();z.cwd=()=>NR(process.cwd());z.resolve=(...t)=>t.length>0&&z.isAbsolute(t[0])?TI.default.posix.resolve(...t):TI.default.posix.resolve(z.cwd(),...t);x7=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};ue.fromPortablePath=b7;ue.toPortablePath=NR;ue.contains=(t,e)=>x7(ue,t,e);z.contains=(t,e)=>x7(z,t,e);O_e=/^([a-zA-Z]:.*)$/,M_e=/^\/\/(\.\/)?(.*)$/,U_e=/^\/([a-zA-Z]:.*)$/,__e=/^\/unc\/(\.dot\/)?(.*)$/});async function fD(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.indexPath,{recursive:!0});let o=[];for(let a of r)for(let n of r)o.push(t.mkdirPromise(t.pathUtils.join(e.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(o),e.indexPath}async function Q7(t,e,r,o,a){let n=t.pathUtils.normalize(e),u=r.pathUtils.normalize(o),A=[],p=[],{atime:h,mtime:E}=a.stableTime?{atime:Rg,mtime:Rg}:await r.lstatPromise(u);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[h,E]}),await LR(A,p,t,n,r,u,{...a,didParentExist:!0});for(let w of A)await w();await Promise.all(p.map(w=>w()))}async function LR(t,e,r,o,a,n,u){var v,b,C;let A=u.didParentExist?await k7(r,o):null,p=await a.lstatPromise(n),{atime:h,mtime:E}=u.stableTime?{atime:Rg,mtime:Rg}:p,w;switch(!0){case p.isDirectory():w=await q_e(t,e,r,o,A,a,n,p,u);break;case p.isFile():w=await W_e(t,e,r,o,A,a,n,p,u);break;case p.isSymbolicLink():w=await Y_e(t,e,r,o,A,a,n,p,u);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(((v=u.linkStrategy)==null?void 0:v.type)!=="HardlinkFromIndex"||!p.isFile())&&((w||((b=A==null?void 0:A.mtime)==null?void 0:b.getTime())!==E.getTime()||((C=A==null?void 0:A.atime)==null?void 0:C.getTime())!==h.getTime())&&(e.push(()=>r.lutimesPromise(o,h,E)),w=!0),(A===null||(A.mode&511)!==(p.mode&511))&&(e.push(()=>r.chmodPromise(o,p.mode&511)),w=!0)),w}async function k7(t,e){try{return await t.lstatPromise(e)}catch{return null}}async function q_e(t,e,r,o,a,n,u,A,p){if(a!==null&&!a.isDirectory())if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;let h=!1;a===null&&(t.push(async()=>{try{await r.mkdirPromise(o,{mode:A.mode})}catch(v){if(v.code!=="EEXIST")throw v}}),h=!0);let E=await n.readdirPromise(u),w=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let v of E.sort())await LR(t,e,r,r.pathUtils.join(o,v),n,n.pathUtils.join(u,v),w)&&(h=!0);else(await Promise.all(E.map(async b=>{await LR(t,e,r,r.pathUtils.join(o,b),n,n.pathUtils.join(u,b),w)}))).some(b=>b)&&(h=!0);return h}async function j_e(t,e,r,o,a,n,u,A,p,h){let E=await n.checksumFilePromise(u,{algorithm:"sha1"}),w=r.pathUtils.join(h.indexPath,E.slice(0,2),`${E}.dat`),v;(re=>(re[re.Lock=0]="Lock",re[re.Rename=1]="Rename"))(v||(v={}));let b=1,C=await k7(r,w);if(a){let _=C&&a.dev===C.dev&&a.ino===C.ino,V=(C==null?void 0:C.mtimeMs)!==H_e;if(_&&V&&h.autoRepair&&(b=0,C=null),!_)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1}let R=!C&&b===1?`${w}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,L=!1;return t.push(async()=>{if(!C&&(b===0&&await r.lockPromise(w,async()=>{let _=await n.readFilePromise(u);await r.writeFilePromise(w,_)}),b===1&&R)){let _=await n.readFilePromise(u);await r.writeFilePromise(R,_);try{await r.linkPromise(R,w)}catch(V){if(V.code==="EEXIST")L=!0,await r.unlinkPromise(R);else throw V}}a||await r.linkPromise(w,o)}),e.push(async()=>{C||await r.lutimesPromise(w,Rg,Rg),R&&!L&&await r.unlinkPromise(R)}),!1}async function G_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{let h=await n.readFilePromise(u);await r.writeFilePromise(o,h)}),!0}async function W_e(t,e,r,o,a,n,u,A,p){var h;return((h=p.linkStrategy)==null?void 0:h.type)==="HardlinkFromIndex"?j_e(t,e,r,o,a,n,u,A,p,p.linkStrategy):G_e(t,e,r,o,a,n,u,A,p)}async function Y_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{await r.symlinkPromise(AD(r.pathUtils,await n.readlinkPromise(u)),o)}),!0}var Rg,H_e,OR=dt(()=>{Ca();Rg=new Date(456789e3*1e3),H_e=Rg.getTime()});function pD(t,e,r,o){let a=()=>{let n=r.shift();return typeof n>"u"?null:Object.assign(t.statSync(t.pathUtils.join(e,n)),{name:n})};return new MR(e,a,o)}var MR,F7=dt(()=>{cD();MR=class{constructor(e,r,o={}){this.path=e;this.nextDirent=r;this.opts=o;this.closed=!1}throwIfClosed(){if(this.closed)throw bR()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}}});function R7(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var T7,iy,N7=dt(()=>{T7=Ie("events");TR();iy=class extends T7.EventEmitter{constructor(r,o,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=o,this.bigint=a,this.lastStats=this.stat()}static create(r,o,a){let n=new iy(r,o,a);return n.start(),n}start(){R7(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){R7(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let o=this.bigint?new ny:new ry;return uD(o)}}makeInterval(r){let o=setInterval(()=>{let a=this.stat(),n=this.lastStats;RR(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?o:o.unref()}registerChangeListener(r,o){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(o))}unregisterChangeListener(r){this.removeListener("change",r);let o=this.changeListeners.get(r);typeof o<"u"&&clearInterval(o),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function sy(t,e,r,o){let a,n,u,A;switch(typeof r){case"function":a=!1,n=!0,u=5007,A=r;break;default:({bigint:a=!1,persistent:n=!0,interval:u=5007}=r),A=o;break}let p=hD.get(t);typeof p>"u"&&hD.set(t,p=new Map);let h=p.get(e);return typeof h>"u"&&(h=iy.create(t,e,{bigint:a}),p.set(e,h)),h.registerChangeListener(A,{persistent:n,interval:u}),h}function Tg(t,e,r){let o=hD.get(t);if(typeof o>"u")return;let a=o.get(e);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),o.delete(e)))}function Ng(t){let e=hD.get(t);if(!(typeof e>"u"))for(let r of e.keys())Tg(t,r)}var hD,UR=dt(()=>{N7();hD=new WeakMap});function K_e(t){let e=t.match(/\r?\n/g);if(e===null)return O7.EOL;let r=e.filter(a=>a===`\r |
5 | `).length,o=e.length-r;return r>o?`\r | 5 | `).length,o=e.length-r;return r>o?`\r |
6 | `:` | 6 | `:` |
7 | `}function Rg(t,e){return e.replace(/\r?\n/g,L_e(t))}var Q7,k7,pf,Hu,Tg=dt(()=>{Q7=Ie("crypto"),k7=Ie("os");LR();ya();pf=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let o=[e];for(;o.length>0;){let a=o.shift();if((await this.lstatPromise(a)).isDirectory()){let u=await this.readdirPromise(a);if(r)for(let A of u.sort())o.push(this.pathUtils.join(a,A));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let o=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,Q7.createHash)(r),A=0;for(;(A=await this.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await this.closePromise(o)}}async removePromise(e,{recursive:r=!0,maxRetries:o=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(u=>this.removePromise(this.pathUtils.resolve(e,u))))}for(let n=0;n<=o;n++)try{await this.rmdirPromise(e);break}catch(u){if(u.code!=="EBUSY"&&u.code!=="ENOTEMPTY")throw u;n<o&&await new Promise(A=>setTimeout(A,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let o;try{o=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(o.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{await this.mkdirPromise(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??(n=A),r!=null&&await this.chmodPromise(A,r),o!=null)await this.utimesPromise(A,o[0],o[1]);else{let p=await this.statPromise(this.pathUtils.dirname(A));await this.utimesPromise(A,p.atime,p.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{this.mkdirSync(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??(n=A),r!=null&&this.chmodSync(A,r),o!=null)this.utimesSync(A,o[0],o[1]);else{let p=this.statSync(this.pathUtils.dirname(A));this.utimesSync(A,p.atime,p.mtime)}}}return n}async copyPromise(e,r,{baseFs:o=this,overwrite:a=!0,stableSort:n=!1,stableTime:u=!1,linkStrategy:A=null}={}){return await v7(this,e,o,r,{overwrite:a,stableSort:n,stableTime:u,linkStrategy:A})}copySync(e,r,{baseFs:o=this,overwrite:a=!0}={}){let n=o.lstatSync(r),u=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let p=o.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(e,h),o.pathUtils.join(r,h),{baseFs:o,overwrite:a})}else if(n.isFile()){if(!u||a){u&&this.removeSync(e);let p=o.readFileSync(r);this.writeFileSync(e,p)}}else if(n.isSymbolicLink()){if(!u||a){u&&this.removeSync(e);let p=o.readlinkSync(r);this.symlinkSync(iD(this.pathUtils,p),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let A=n.mode&511;this.chmodSync(e,A)}async changeFilePromise(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,o):this.changeFileTextPromise(e,r,o)}async changeFileBufferPromise(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:o})}async changeFileTextPromise(e,r,{automaticNewlines:o,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let u=o?Rg(n,r):r;n!==u&&await this.writeFilePromise(e,u,{mode:a})}changeFileSync(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,o):this.changeFileTextSync(e,r,o)}changeFileBufferSync(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:o})}changeFileTextSync(e,r,{automaticNewlines:o=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let u=o?Rg(n,r):r;n!==u&&this.writeFileSync(e,u,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(o){if(o.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw o}}moveSync(e,r){try{this.renameSync(e,r)}catch(o){if(o.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw o}}async lockPromise(e,r){let o=`${e}.flock`,a=1e3/60,n=Date.now(),u=null,A=async()=>{let p;try{[p]=await this.readJsonPromise(o)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;u===null;)try{u=await this.openPromise(o,"wx")}catch(p){if(p.code==="EEXIST"){if(!await A())try{await this.unlinkPromise(o);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${o})`)}else throw p}await this.writePromise(u,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(u),await this.unlinkPromise(o)}catch{}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} | 7 | `}function Lg(t,e){return e.replace(/\r?\n/g,K_e(t))}var L7,O7,gf,qu,Og=dt(()=>{L7=Ie("crypto"),O7=Ie("os");OR();Ca();gf=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let o=[e];for(;o.length>0;){let a=o.shift();if((await this.lstatPromise(a)).isDirectory()){let u=await this.readdirPromise(a);if(r)for(let A of u.sort())o.push(this.pathUtils.join(a,A));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let o=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,L7.createHash)(r),A=0;for(;(A=await this.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await this.closePromise(o)}}async removePromise(e,{recursive:r=!0,maxRetries:o=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(u=>this.removePromise(this.pathUtils.resolve(e,u))))}for(let n=0;n<=o;n++)try{await this.rmdirPromise(e);break}catch(u){if(u.code!=="EBUSY"&&u.code!=="ENOTEMPTY")throw u;n<o&&await new Promise(A=>setTimeout(A,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let o;try{o=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(o.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{await this.mkdirPromise(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??(n=A),r!=null&&await this.chmodPromise(A,r),o!=null)await this.utimesPromise(A,o[0],o[1]);else{let p=await this.statPromise(this.pathUtils.dirname(A));await this.utimesPromise(A,p.atime,p.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{this.mkdirSync(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??(n=A),r!=null&&this.chmodSync(A,r),o!=null)this.utimesSync(A,o[0],o[1]);else{let p=this.statSync(this.pathUtils.dirname(A));this.utimesSync(A,p.atime,p.mtime)}}}return n}async copyPromise(e,r,{baseFs:o=this,overwrite:a=!0,stableSort:n=!1,stableTime:u=!1,linkStrategy:A=null}={}){return await Q7(this,e,o,r,{overwrite:a,stableSort:n,stableTime:u,linkStrategy:A})}copySync(e,r,{baseFs:o=this,overwrite:a=!0}={}){let n=o.lstatSync(r),u=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let p=o.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(e,h),o.pathUtils.join(r,h),{baseFs:o,overwrite:a})}else if(n.isFile()){if(!u||a){u&&this.removeSync(e);let p=o.readFileSync(r);this.writeFileSync(e,p)}}else if(n.isSymbolicLink()){if(!u||a){u&&this.removeSync(e);let p=o.readlinkSync(r);this.symlinkSync(AD(this.pathUtils,p),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let A=n.mode&511;this.chmodSync(e,A)}async changeFilePromise(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,o):this.changeFileTextPromise(e,r,o)}async changeFileBufferPromise(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:o})}async changeFileTextPromise(e,r,{automaticNewlines:o,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let u=o?Lg(n,r):r;n!==u&&await this.writeFilePromise(e,u,{mode:a})}changeFileSync(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,o):this.changeFileTextSync(e,r,o)}changeFileBufferSync(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:o})}changeFileTextSync(e,r,{automaticNewlines:o=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let u=o?Lg(n,r):r;n!==u&&this.writeFileSync(e,u,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(o){if(o.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw o}}moveSync(e,r){try{this.renameSync(e,r)}catch(o){if(o.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw o}}async lockPromise(e,r){let o=`${e}.flock`,a=1e3/60,n=Date.now(),u=null,A=async()=>{let p;try{[p]=await this.readJsonPromise(o)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;u===null;)try{u=await this.openPromise(o,"wx")}catch(p){if(p.code==="EEXIST"){if(!await A())try{await this.unlinkPromise(o);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${o})`)}else throw p}await this.writePromise(u,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(u),await this.unlinkPromise(o)}catch{}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} |
8 | `)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} | 8 | `)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} |
9 | `)}async preserveTimePromise(e,r){let o=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,o.atime,o.mtime)}async preserveTimeSync(e,r){let o=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,o.atime,o.mtime)}},Hu=class extends pf{constructor(){super(V)}}});var vs,hf=dt(()=>{Tg();vs=class extends pf{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,o){return this.baseFs.openPromise(this.mapToBase(e),r,o)}openSync(e,r,o){return this.baseFs.openSync(this.mapToBase(e),r,o)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,o,a,n){return await this.baseFs.readPromise(e,r,o,a,n)}readSync(e,r,o,a,n){return this.baseFs.readSync(e,r,o,a,n)}async writePromise(e,r,o,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,o):await this.baseFs.writePromise(e,r,o,a,n)}writeSync(e,r,o,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,o):this.baseFs.writeSync(e,r,o,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,o){return this.baseFs.fchownPromise(e,r,o)}fchownSync(e,r,o){return this.baseFs.fchownSync(e,r,o)}async chownPromise(e,r,o){return this.baseFs.chownPromise(this.mapToBase(e),r,o)}chownSync(e,r,o){return this.baseFs.chownSync(this.mapToBase(e),r,o)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,o=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),o)}copyFileSync(e,r,o=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),o)}async appendFilePromise(e,r,o){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,o)}appendFileSync(e,r,o){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,o)}async writeFilePromise(e,r,o){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,o)}writeFileSync(e,r,o){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,o)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,o){return this.baseFs.utimesPromise(this.mapToBase(e),r,o)}utimesSync(e,r,o){return this.baseFs.utimesSync(this.mapToBase(e),r,o)}async lutimesPromise(e,r,o){return this.baseFs.lutimesPromise(this.mapToBase(e),r,o)}lutimesSync(e,r,o){return this.baseFs.lutimesSync(this.mapToBase(e),r,o)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(u,a,o)}symlinkSync(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(u,a,o)}async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}watch(e,r,o){return this.baseFs.watch(this.mapToBase(e),r,o)}watchFile(e,r,o){return this.baseFs.watchFile(this.mapToBase(e),r,o)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}}});var qu,F7=dt(()=>{hf();qu=class extends vs{constructor(r,{baseFs:o,pathUtils:a}){super(a);this.target=r,this.baseFs=o}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(r){return r}mapToBase(r){return r}}});var R7,xn,Ng=dt(()=>{R7=tt(Ie("fs"));Tg();ya();xn=class extends Hu{constructor(r=R7.default){super();this.realFs=r}getExtractHint(){return!1}getRealPath(){return wt.root}resolve(r){return V.resolve(r)}async openPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.open(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}openSync(r,o,a){return this.realFs.openSync(Ae.fromPortablePath(r),o,a)}async opendirPromise(r,o){return await new Promise((a,n)=>{typeof o<"u"?this.realFs.opendir(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.opendir(Ae.fromPortablePath(r),this.makeCallback(a,n))}).then(a=>Object.defineProperty(a,"path",{value:r,configurable:!0,writable:!0}))}opendirSync(r,o){let a=typeof o<"u"?this.realFs.opendirSync(Ae.fromPortablePath(r),o):this.realFs.opendirSync(Ae.fromPortablePath(r));return Object.defineProperty(a,"path",{value:r,configurable:!0,writable:!0})}async readPromise(r,o,a=0,n=0,u=-1){return await new Promise((A,p)=>{this.realFs.read(r,o,a,n,u,(h,C)=>{h?p(h):A(C)})})}readSync(r,o,a,n,u){return this.realFs.readSync(r,o,a,n,u)}async writePromise(r,o,a,n,u){return await new Promise((A,p)=>typeof o=="string"?this.realFs.write(r,o,a,this.makeCallback(A,p)):this.realFs.write(r,o,a,n,u,this.makeCallback(A,p)))}writeSync(r,o,a,n,u){return typeof o=="string"?this.realFs.writeSync(r,o,a):this.realFs.writeSync(r,o,a,n,u)}async closePromise(r){await new Promise((o,a)=>{this.realFs.close(r,this.makeCallback(o,a))})}closeSync(r){this.realFs.closeSync(r)}createReadStream(r,o){let a=r!==null?Ae.fromPortablePath(r):r;return this.realFs.createReadStream(a,o)}createWriteStream(r,o){let a=r!==null?Ae.fromPortablePath(r):r;return this.realFs.createWriteStream(a,o)}async realpathPromise(r){return await new Promise((o,a)=>{this.realFs.realpath(Ae.fromPortablePath(r),{},this.makeCallback(o,a))}).then(o=>Ae.toPortablePath(o))}realpathSync(r){return Ae.toPortablePath(this.realFs.realpathSync(Ae.fromPortablePath(r),{}))}async existsPromise(r){return await new Promise(o=>{this.realFs.exists(Ae.fromPortablePath(r),o)})}accessSync(r,o){return this.realFs.accessSync(Ae.fromPortablePath(r),o)}async accessPromise(r,o){return await new Promise((a,n)=>{this.realFs.access(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}existsSync(r){return this.realFs.existsSync(Ae.fromPortablePath(r))}async statPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.stat(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.stat(Ae.fromPortablePath(r),this.makeCallback(a,n))})}statSync(r,o){return o?this.realFs.statSync(Ae.fromPortablePath(r),o):this.realFs.statSync(Ae.fromPortablePath(r))}async fstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.fstat(r,o,this.makeCallback(a,n)):this.realFs.fstat(r,this.makeCallback(a,n))})}fstatSync(r,o){return o?this.realFs.fstatSync(r,o):this.realFs.fstatSync(r)}async lstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.lstat(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.lstat(Ae.fromPortablePath(r),this.makeCallback(a,n))})}lstatSync(r,o){return o?this.realFs.lstatSync(Ae.fromPortablePath(r),o):this.realFs.lstatSync(Ae.fromPortablePath(r))}async fchmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.fchmod(r,o,this.makeCallback(a,n))})}fchmodSync(r,o){return this.realFs.fchmodSync(r,o)}async chmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.chmod(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}chmodSync(r,o){return this.realFs.chmodSync(Ae.fromPortablePath(r),o)}async fchownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.fchown(r,o,a,this.makeCallback(n,u))})}fchownSync(r,o,a){return this.realFs.fchownSync(r,o,a)}async chownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.chown(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}chownSync(r,o,a){return this.realFs.chownSync(Ae.fromPortablePath(r),o,a)}async renamePromise(r,o){return await new Promise((a,n)=>{this.realFs.rename(Ae.fromPortablePath(r),Ae.fromPortablePath(o),this.makeCallback(a,n))})}renameSync(r,o){return this.realFs.renameSync(Ae.fromPortablePath(r),Ae.fromPortablePath(o))}async copyFilePromise(r,o,a=0){return await new Promise((n,u)=>{this.realFs.copyFile(Ae.fromPortablePath(r),Ae.fromPortablePath(o),a,this.makeCallback(n,u))})}copyFileSync(r,o,a=0){return this.realFs.copyFileSync(Ae.fromPortablePath(r),Ae.fromPortablePath(o),a)}async appendFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.appendFile(A,o,a,this.makeCallback(n,u)):this.realFs.appendFile(A,o,this.makeCallback(n,u))})}appendFileSync(r,o,a){let n=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.appendFileSync(n,o,a):this.realFs.appendFileSync(n,o)}async writeFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.writeFile(A,o,a,this.makeCallback(n,u)):this.realFs.writeFile(A,o,this.makeCallback(n,u))})}writeFileSync(r,o,a){let n=typeof r=="string"?Ae.fromPortablePath(r):r;a?this.realFs.writeFileSync(n,o,a):this.realFs.writeFileSync(n,o)}async unlinkPromise(r){return await new Promise((o,a)=>{this.realFs.unlink(Ae.fromPortablePath(r),this.makeCallback(o,a))})}unlinkSync(r){return this.realFs.unlinkSync(Ae.fromPortablePath(r))}async utimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.utimes(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}utimesSync(r,o,a){this.realFs.utimesSync(Ae.fromPortablePath(r),o,a)}async lutimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.lutimes(Ae.fromPortablePath(r),o,a,this.makeCallback(n,u))})}lutimesSync(r,o,a){this.realFs.lutimesSync(Ae.fromPortablePath(r),o,a)}async mkdirPromise(r,o){return await new Promise((a,n)=>{this.realFs.mkdir(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}mkdirSync(r,o){return this.realFs.mkdirSync(Ae.fromPortablePath(r),o)}async rmdirPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.rmdir(Ae.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.rmdir(Ae.fromPortablePath(r),this.makeCallback(a,n))})}rmdirSync(r,o){return this.realFs.rmdirSync(Ae.fromPortablePath(r),o)}async linkPromise(r,o){return await new Promise((a,n)=>{this.realFs.link(Ae.fromPortablePath(r),Ae.fromPortablePath(o),this.makeCallback(a,n))})}linkSync(r,o){return this.realFs.linkSync(Ae.fromPortablePath(r),Ae.fromPortablePath(o))}async symlinkPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.symlink(Ae.fromPortablePath(r.replace(/\/+$/,"")),Ae.fromPortablePath(o),a,this.makeCallback(n,u))})}symlinkSync(r,o,a){return this.realFs.symlinkSync(Ae.fromPortablePath(r.replace(/\/+$/,"")),Ae.fromPortablePath(o),a)}async readFilePromise(r,o){return await new Promise((a,n)=>{let u=typeof r=="string"?Ae.fromPortablePath(r):r;this.realFs.readFile(u,o,this.makeCallback(a,n))})}readFileSync(r,o){let a=typeof r=="string"?Ae.fromPortablePath(r):r;return this.realFs.readFileSync(a,o)}async readdirPromise(r,o){return await new Promise((a,n)=>{o!=null&&o.withFileTypes?this.realFs.readdir(Ae.fromPortablePath(r),{withFileTypes:!0},this.makeCallback(a,n)):this.realFs.readdir(Ae.fromPortablePath(r),this.makeCallback(u=>a(u),n))})}readdirSync(r,o){return o!=null&&o.withFileTypes?this.realFs.readdirSync(Ae.fromPortablePath(r),{withFileTypes:!0}):this.realFs.readdirSync(Ae.fromPortablePath(r))}async readlinkPromise(r){return await new Promise((o,a)=>{this.realFs.readlink(Ae.fromPortablePath(r),this.makeCallback(o,a))}).then(o=>Ae.toPortablePath(o))}readlinkSync(r){return Ae.toPortablePath(this.realFs.readlinkSync(Ae.fromPortablePath(r)))}async truncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.truncate(Ae.fromPortablePath(r),o,this.makeCallback(a,n))})}truncateSync(r,o){return this.realFs.truncateSync(Ae.fromPortablePath(r),o)}async ftruncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.ftruncate(r,o,this.makeCallback(a,n))})}ftruncateSync(r,o){return this.realFs.ftruncateSync(r,o)}watch(r,o,a){return this.realFs.watch(Ae.fromPortablePath(r),o,a)}watchFile(r,o,a){return this.realFs.watchFile(Ae.fromPortablePath(r),o,a)}unwatchFile(r,o){return this.realFs.unwatchFile(Ae.fromPortablePath(r),o)}makeCallback(r,o){return(a,n)=>{a?o(a):r(n)}}}});var An,T7=dt(()=>{Ng();hf();ya();An=class extends vs{constructor(r,{baseFs:o=new xn}={}){super(V);this.target=this.pathUtils.normalize(r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(r){return this.pathUtils.isAbsolute(r)?V.normalize(r):this.baseFs.resolve(V.join(this.target,r))}mapFromBase(r){return r}mapToBase(r){return this.pathUtils.isAbsolute(r)?r:this.pathUtils.join(this.target,r)}}});var N7,ju,L7=dt(()=>{Ng();hf();ya();N7=wt.root,ju=class extends vs{constructor(r,{baseFs:o=new xn}={}){super(V);this.target=this.pathUtils.resolve(wt.root,r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(wt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(r){let o=this.pathUtils.normalize(r);if(this.pathUtils.isAbsolute(r))return this.pathUtils.resolve(this.target,this.pathUtils.relative(N7,r));if(o.match(/^\.\.\/?/))throw new Error(`Resolving this path (${r}) would escape the jail`);return this.pathUtils.resolve(this.target,r)}mapFromBase(r){return this.pathUtils.resolve(N7,this.pathUtils.relative(this.target,r))}}});var ty,O7=dt(()=>{hf();ty=class extends vs{constructor(r,o){super(o);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var Lg,Ea,Mp,M7=dt(()=>{Lg=Ie("fs");Tg();Ng();MR();rD();ya();Ea=4278190080,Mp=class extends Hu{constructor({baseFs:r=new xn,filter:o=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:u=!0,maxAge:A=5e3,typeCheck:p=Lg.constants.S_IFREG,getMountPoint:h,factoryPromise:C,factorySync:w}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=u?new Map:null,this.factoryPromise=C,this.factorySync=w,this.filter=o,this.getMountPoint=h,this.magic=a<<24,this.maxAge=A,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){var r;if(Fg(this),this.mountInstances)for(let[o,{childFs:a}]of this.mountInstances.entries())(r=a.saveAndClose)==null||r.call(a),this.mountInstances.delete(o)}discardAndClose(){var r;if(Fg(this),this.mountInstances)for(let[o,{childFs:a}]of this.mountInstances.entries())(r=a.discardAndClose)==null||r.call(a),this.mountInstances.delete(o)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,o){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,o]),a}async openPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,o,a),async(n,{subPath:u})=>this.remapFd(n,await n.openPromise(u,o,a)))}openSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,o,a),(n,{subPath:u})=>this.remapFd(n,n.openSync(u,o,a)))}async opendirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,o),async(a,{subPath:n})=>await a.opendirPromise(n,o),{requireSubpath:!1})}opendirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,o),(a,{subPath:n})=>a.opendirSync(n,o),{requireSubpath:!1})}async readPromise(r,o,a,n,u){if((r&Ea)!==this.magic)return await this.baseFs.readPromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Co("read");let[p,h]=A;return await p.readPromise(h,o,a,n,u)}readSync(r,o,a,n,u){if((r&Ea)!==this.magic)return this.baseFs.readSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Co("readSync");let[p,h]=A;return p.readSync(h,o,a,n,u)}async writePromise(r,o,a,n,u){if((r&Ea)!==this.magic)return typeof o=="string"?await this.baseFs.writePromise(r,o,a):await this.baseFs.writePromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Co("write");let[p,h]=A;return typeof o=="string"?await p.writePromise(h,o,a):await p.writePromise(h,o,a,n,u)}writeSync(r,o,a,n,u){if((r&Ea)!==this.magic)return typeof o=="string"?this.baseFs.writeSync(r,o,a):this.baseFs.writeSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Co("writeSync");let[p,h]=A;return typeof o=="string"?p.writeSync(h,o,a):p.writeSync(h,o,a,n,u)}async closePromise(r){if((r&Ea)!==this.magic)return await this.baseFs.closePromise(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Co("close");this.fdMap.delete(r);let[a,n]=o;return await a.closePromise(n)}closeSync(r){if((r&Ea)!==this.magic)return this.baseFs.closeSync(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Co("closeSync");this.fdMap.delete(r);let[a,n]=o;return a.closeSync(n)}createReadStream(r,o){return r===null?this.baseFs.createReadStream(r,o):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,o),(a,{archivePath:n,subPath:u})=>{let A=a.createReadStream(u,o);return A.path=Ae.fromPortablePath(this.pathUtils.join(n,u)),A})}createWriteStream(r,o){return r===null?this.baseFs.createWriteStream(r,o):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,o),(a,{subPath:n})=>a.createWriteStream(n,o))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=await this.baseFs.realpathPromise(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(wt.root,await o.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=this.baseFs.realpathSync(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(wt.root,o.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(o,{subPath:a})=>await o.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(o,{subPath:a})=>o.existsSync(a))}async accessPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,o),async(a,{subPath:n})=>await a.accessPromise(n,o))}accessSync(r,o){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,o),(a,{subPath:n})=>a.accessSync(n,o))}async statPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,o),async(a,{subPath:n})=>await a.statPromise(n,o))}statSync(r,o){return this.makeCallSync(r,()=>this.baseFs.statSync(r,o),(a,{subPath:n})=>a.statSync(n,o))}async fstatPromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.fstatPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("fstat");let[n,u]=a;return n.fstatPromise(u,o)}fstatSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.fstatSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("fstatSync");let[n,u]=a;return n.fstatSync(u,o)}async lstatPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,o),async(a,{subPath:n})=>await a.lstatPromise(n,o))}lstatSync(r,o){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,o),(a,{subPath:n})=>a.lstatSync(n,o))}async fchmodPromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.fchmodPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("fchmod");let[n,u]=a;return n.fchmodPromise(u,o)}fchmodSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.fchmodSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("fchmodSync");let[n,u]=a;return n.fchmodSync(u,o)}async chmodPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,o),async(a,{subPath:n})=>await a.chmodPromise(n,o))}chmodSync(r,o){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,o),(a,{subPath:n})=>a.chmodSync(n,o))}async fchownPromise(r,o,a){if((r&Ea)!==this.magic)return this.baseFs.fchownPromise(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Co("fchown");let[u,A]=n;return u.fchownPromise(A,o,a)}fchownSync(r,o,a){if((r&Ea)!==this.magic)return this.baseFs.fchownSync(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Co("fchownSync");let[u,A]=n;return u.fchownSync(A,o,a)}async chownPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,o,a),async(n,{subPath:u})=>await n.chownPromise(u,o,a))}chownSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,o,a),(n,{subPath:u})=>n.chownSync(u,o,a))}async renamePromise(r,o){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.renamePromise(r,o),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(o,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,A)}))}renameSync(r,o){return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.renameSync(r,o),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(o,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,A)}))}async copyFilePromise(r,o,a=0){let n=async(u,A,p,h)=>{if((a&Lg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&Lg.constants.COPYFILE_EXCL&&await this.existsPromise(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let C;try{C=await u.readFilePromise(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,C)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.copyFilePromise(r,o,a),async(u,{subPath:A})=>await n(this.baseFs,r,u,A)),async(u,{subPath:A})=>await this.makeCallPromise(o,async()=>await n(u,A,this.baseFs,o),async(p,{subPath:h})=>u!==p?await n(u,A,p,h):await u.copyFilePromise(A,h,a)))}copyFileSync(r,o,a=0){let n=(u,A,p,h)=>{if((a&Lg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&Lg.constants.COPYFILE_EXCL&&this.existsSync(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let C;try{C=u.readFileSync(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,C)};return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.copyFileSync(r,o,a),(u,{subPath:A})=>n(this.baseFs,r,u,A)),(u,{subPath:A})=>this.makeCallSync(o,()=>n(u,A,this.baseFs,o),(p,{subPath:h})=>u!==p?n(u,A,p,h):u.copyFileSync(A,h,a)))}async appendFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,o,a),async(n,{subPath:u})=>await n.appendFilePromise(u,o,a))}appendFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,o,a),(n,{subPath:u})=>n.appendFileSync(u,o,a))}async writeFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,o,a),async(n,{subPath:u})=>await n.writeFilePromise(u,o,a))}writeFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,o,a),(n,{subPath:u})=>n.writeFileSync(u,o,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(o,{subPath:a})=>await o.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(o,{subPath:a})=>o.unlinkSync(a))}async utimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,o,a),async(n,{subPath:u})=>await n.utimesPromise(u,o,a))}utimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,o,a),(n,{subPath:u})=>n.utimesSync(u,o,a))}async lutimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,o,a),async(n,{subPath:u})=>await n.lutimesPromise(u,o,a))}lutimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,o,a),(n,{subPath:u})=>n.lutimesSync(u,o,a))}async mkdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,o),async(a,{subPath:n})=>await a.mkdirPromise(n,o))}mkdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,o),(a,{subPath:n})=>a.mkdirSync(n,o))}async rmdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,o),async(a,{subPath:n})=>await a.rmdirPromise(n,o))}rmdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,o),(a,{subPath:n})=>a.rmdirSync(n,o))}async linkPromise(r,o){return await this.makeCallPromise(o,async()=>await this.baseFs.linkPromise(r,o),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,o){return this.makeCallSync(o,()=>this.baseFs.linkSync(r,o),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,o,a){return await this.makeCallPromise(o,async()=>await this.baseFs.symlinkPromise(r,o,a),async(n,{subPath:u})=>await n.symlinkPromise(r,u))}symlinkSync(r,o,a){return this.makeCallSync(o,()=>this.baseFs.symlinkSync(r,o,a),(n,{subPath:u})=>n.symlinkSync(r,u))}async readFilePromise(r,o){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,o),async(a,{subPath:n})=>await a.readFilePromise(n,o))}readFileSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,o),(a,{subPath:n})=>a.readFileSync(n,o))}async readdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,o),async(a,{subPath:n})=>await a.readdirPromise(n,o),{requireSubpath:!1})}readdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,o),(a,{subPath:n})=>a.readdirSync(n,o),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(o,{subPath:a})=>await o.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(o,{subPath:a})=>o.readlinkSync(a))}async truncatePromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,o),async(a,{subPath:n})=>await a.truncatePromise(n,o))}truncateSync(r,o){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,o),(a,{subPath:n})=>a.truncateSync(n,o))}async ftruncatePromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.ftruncatePromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("ftruncate");let[n,u]=a;return n.ftruncatePromise(u,o)}ftruncateSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.ftruncateSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Co("ftruncateSync");let[n,u]=a;return n.ftruncateSync(u,o)}watch(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,o,a),(n,{subPath:u})=>n.watch(u,o,a))}watchFile(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,o,a),()=>ey(this,r,o,a))}unwatchFile(r,o){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,o),()=>kg(this,r,o))}async makeCallPromise(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await o();let u=this.resolve(r),A=this.findMount(u);return A?n&&A.subPath==="/"?await o():await this.getMountPromise(A.archivePath,async p=>await a(p,A)):await o()}makeCallSync(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return o();let u=this.resolve(r),A=this.findMount(u);return!A||n&&A.subPath==="/"?o():this.getMountSync(A.archivePath,p=>a(p,A))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let o="";for(;;){let a=r.substring(o.length),n=this.getMountPoint(a,o);if(!n)return null;if(o=this.pathUtils.join(o,n),!this.isMount.has(o)){if(this.notMount.has(o))continue;try{if(this.typeCheck!==null&&(this.baseFs.lstatSync(o).mode&Lg.constants.S_IFMT)!==this.typeCheck){this.notMount.add(o);continue}}catch{return null}this.isMount.add(o)}return{archivePath:o,subPath:this.pathUtils.join(wt.root,r.substring(o.length))}}}limitOpenFiles(r){var u,A,p;if(this.mountInstances===null)return;let o=Date.now(),a=o+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[h,{childFs:C,expiresAt:w,refCount:v}]of this.mountInstances.entries())if(!(v!==0||((u=C.hasOpenFileHandles)==null?void 0:u.call(C)))){if(o>=w){(A=C.saveAndClose)==null||A.call(C),this.mountInstances.delete(h),n-=1;continue}else if(r===null||n<=0){a=w;break}(p=C.saveAndClose)==null||p.call(C),this.mountInstances.delete(h),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-o).unref())}async getMountPromise(r,o){var a;if(this.mountInstances){let n=this.mountInstances.get(r);if(!n){let u=await this.factoryPromise(this.baseFs,r);n=this.mountInstances.get(r),n||(n={childFs:u(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await o(n.childFs)}finally{n.refCount-=1}}else{let n=(await this.factoryPromise(this.baseFs,r))();try{return await o(n)}finally{(a=n.saveAndClose)==null||a.call(n)}}}getMountSync(r,o){var a;if(this.mountInstances){let n=this.mountInstances.get(r);return n||(n={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,n),n.expiresAt=Date.now()+this.maxAge,o(n.childFs)}else{let n=this.factorySync(this.baseFs,r);try{return o(n)}finally{(a=n.saveAndClose)==null||a.call(n)}}}}});var zt,UR,kI,U7=dt(()=>{Tg();ya();zt=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),UR=class extends pf{constructor(){super(V)}getExtractHint(){throw zt()}getRealPath(){throw zt()}resolve(){throw zt()}async openPromise(){throw zt()}openSync(){throw zt()}async opendirPromise(){throw zt()}opendirSync(){throw zt()}async readPromise(){throw zt()}readSync(){throw zt()}async writePromise(){throw zt()}writeSync(){throw zt()}async closePromise(){throw zt()}closeSync(){throw zt()}createWriteStream(){throw zt()}createReadStream(){throw zt()}async realpathPromise(){throw zt()}realpathSync(){throw zt()}async readdirPromise(){throw zt()}readdirSync(){throw zt()}async existsPromise(e){throw zt()}existsSync(e){throw zt()}async accessPromise(){throw zt()}accessSync(){throw zt()}async statPromise(){throw zt()}statSync(){throw zt()}async fstatPromise(e){throw zt()}fstatSync(e){throw zt()}async lstatPromise(e){throw zt()}lstatSync(e){throw zt()}async fchmodPromise(){throw zt()}fchmodSync(){throw zt()}async chmodPromise(){throw zt()}chmodSync(){throw zt()}async fchownPromise(){throw zt()}fchownSync(){throw zt()}async chownPromise(){throw zt()}chownSync(){throw zt()}async mkdirPromise(){throw zt()}mkdirSync(){throw zt()}async rmdirPromise(){throw zt()}rmdirSync(){throw zt()}async linkPromise(){throw zt()}linkSync(){throw zt()}async symlinkPromise(){throw zt()}symlinkSync(){throw zt()}async renamePromise(){throw zt()}renameSync(){throw zt()}async copyFilePromise(){throw zt()}copyFileSync(){throw zt()}async appendFilePromise(){throw zt()}appendFileSync(){throw zt()}async writeFilePromise(){throw zt()}writeFileSync(){throw zt()}async unlinkPromise(){throw zt()}unlinkSync(){throw zt()}async utimesPromise(){throw zt()}utimesSync(){throw zt()}async lutimesPromise(){throw zt()}lutimesSync(){throw zt()}async readFilePromise(){throw zt()}readFileSync(){throw zt()}async readlinkPromise(){throw zt()}readlinkSync(){throw zt()}async truncatePromise(){throw zt()}truncateSync(){throw zt()}async ftruncatePromise(e,r){throw zt()}ftruncateSync(e,r){throw zt()}watch(){throw zt()}watchFile(){throw zt()}unwatchFile(){throw zt()}},kI=UR;kI.instance=new UR});var Up,_7=dt(()=>{hf();ya();Up=class extends vs{constructor(r){super(Ae);this.baseFs=r}mapFromBase(r){return Ae.fromPortablePath(r)}mapToBase(r){return Ae.toPortablePath(r)}}});var O_e,_R,M_e,pi,H7=dt(()=>{Ng();hf();ya();O_e=/^[0-9]+$/,_R=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,M_e=/^([^/]+-)?[a-f0-9]+$/,pi=class extends vs{constructor({baseFs:r=new xn}={}){super(V);this.baseFs=r}static makeVirtualPath(r,o,a){if(V.basename(r)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!V.basename(o).match(M_e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let u=V.relative(V.dirname(r),a).split("/"),A=0;for(;A<u.length&&u[A]==="..";)A+=1;let p=u.slice(A);return V.join(r,o,String(A),...p)}static resolveVirtual(r){let o=r.match(_R);if(!o||!o[3]&&o[5])return r;let a=V.dirname(o[1]);if(!o[3]||!o[4])return a;if(!O_e.test(o[4]))return r;let u=Number(o[4]),A="../".repeat(u),p=o[5]||".";return pi.resolveVirtual(V.join(a,A,p))}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}realpathSync(r){let o=r.match(_R);if(!o)return this.baseFs.realpathSync(r);if(!o[5])return r;let a=this.baseFs.realpathSync(this.mapToBase(r));return pi.makeVirtualPath(o[1],o[3],a)}async realpathPromise(r){let o=r.match(_R);if(!o)return await this.baseFs.realpathPromise(r);if(!o[5])return r;let a=await this.baseFs.realpathPromise(this.mapToBase(r));return pi.makeVirtualPath(o[1],o[3],a)}mapToBase(r){if(r==="")return r;if(this.pathUtils.isAbsolute(r))return pi.resolveVirtual(r);let o=pi.resolveVirtual(this.baseFs.resolve(wt.dot)),a=pi.resolveVirtual(this.baseFs.resolve(r));return V.relative(o,a)||wt.dot}mapFromBase(r){return r}}});var cD,q7,lD,j7=dt(()=>{cD=Ie("url"),q7=Ie("util");hf();ya();lD=class extends vs{constructor(r){super(Ae);this.baseFs=r}mapFromBase(r){return r}mapToBase(r){if(typeof r=="string")return r;if(r instanceof cD.URL)return(0,cD.fileURLToPath)(r);if(Buffer.isBuffer(r)){let o=r.toString();if(Buffer.byteLength(o)!==r.byteLength)throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return o}throw new Error(`Unsupported path type: ${(0,q7.inspect)(r)}`)}}});var G7,Io,gf,_p,uD,AD,ry,Tc,Nc,U_e,__e,H_e,q_e,FI,W7=dt(()=>{G7=Ie("readline"),Io=Symbol("kBaseFs"),gf=Symbol("kFd"),_p=Symbol("kClosePromise"),uD=Symbol("kCloseResolve"),AD=Symbol("kCloseReject"),ry=Symbol("kRefs"),Tc=Symbol("kRef"),Nc=Symbol("kUnref"),FI=class{constructor(e,r){this[U_e]=1;this[__e]=void 0;this[H_e]=void 0;this[q_e]=void 0;this[Io]=r,this[gf]=e}get fd(){return this[gf]}async appendFile(e,r){try{this[Tc](this.appendFile);let o=(typeof r=="string"?r:r==null?void 0:r.encoding)??void 0;return await this[Io].appendFilePromise(this.fd,e,o?{encoding:o}:void 0)}finally{this[Nc]()}}async chown(e,r){try{return this[Tc](this.chown),await this[Io].fchownPromise(this.fd,e,r)}finally{this[Nc]()}}async chmod(e){try{return this[Tc](this.chmod),await this[Io].fchmodPromise(this.fd,e)}finally{this[Nc]()}}createReadStream(e){return this[Io].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Io].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,r,o,a){try{this[Tc](this.read);let n;return Buffer.isBuffer(e)?n=e:(e??(e={}),n=e.buffer??Buffer.alloc(16384),r=e.offset||0,o=e.length??n.byteLength,a=e.position??null),r??(r=0),o??(o=0),o===0?{bytesRead:o,buffer:n}:{bytesRead:await this[Io].readPromise(this.fd,n,r,o,a),buffer:n}}finally{this[Nc]()}}async readFile(e){try{this[Tc](this.readFile);let r=(typeof e=="string"?e:e==null?void 0:e.encoding)??void 0;return await this[Io].readFilePromise(this.fd,r)}finally{this[Nc]()}}readLines(e){return(0,G7.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Tc](this.stat),await this[Io].fstatPromise(this.fd,e)}finally{this[Nc]()}}async truncate(e){try{return this[Tc](this.truncate),await this[Io].ftruncatePromise(this.fd,e)}finally{this[Nc]()}}utimes(e,r){throw new Error("Method not implemented.")}async writeFile(e,r){try{this[Tc](this.writeFile);let o=(typeof r=="string"?r:r==null?void 0:r.encoding)??void 0;await this[Io].writeFilePromise(this.fd,e,o)}finally{this[Nc]()}}async write(...e){try{if(this[Tc](this.write),ArrayBuffer.isView(e[0])){let[r,o,a,n]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,o,a]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o,a),buffer:r}}}finally{this[Nc]()}}async writev(e,r){try{this[Tc](this.writev);let o=0;if(typeof r<"u")for(let a of e){let n=await this.write(a,void 0,void 0,r);o+=n.bytesWritten,r+=n.bytesWritten}else for(let a of e){let n=await this.write(a);o+=n.bytesWritten}return{buffers:e,bytesWritten:o}}finally{this[Nc]()}}readv(e,r){throw new Error("Method not implemented.")}close(){if(this[gf]===-1)return Promise.resolve();if(this[_p])return this[_p];if(this[ry]--,this[ry]===0){let e=this[gf];this[gf]=-1,this[_p]=this[Io].closePromise(e).finally(()=>{this[_p]=void 0})}else this[_p]=new Promise((e,r)=>{this[uD]=e,this[AD]=r}).finally(()=>{this[_p]=void 0,this[AD]=void 0,this[uD]=void 0});return this[_p]}[(Io,gf,U_e=ry,__e=_p,H_e=uD,q_e=AD,Tc)](e){if(this[gf]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=e.name,r}this[ry]++}[Nc](){if(this[ry]--,this[ry]===0){let e=this[gf];this[gf]=-1,this[Io].closePromise(e).then(this[uD],this[AD])}}}});function RI(t,e){e=new lD(e);let r=(o,a,n)=>{let u=o[a];o[a]=n,typeof(u==null?void 0:u[ny.promisify.custom])<"u"&&(n[ny.promisify.custom]=u[ny.promisify.custom])};{r(t,"exists",(o,...a)=>{let u=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{e.existsPromise(o).then(A=>{u(A)},()=>{u(!1)})})}),r(t,"read",(...o)=>{let[a,n,u,A,p,h]=o;if(o.length<=3){let C={};o.length<3?h=o[1]:(C=o[1],h=o[2]),{buffer:n=Buffer.alloc(16384),offset:u=0,length:A=n.byteLength,position:p}=C}if(u==null&&(u=0),A|=0,A===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{e.readPromise(a,n,u,A,p).then(C=>{h(null,C,n)},C=>{h(C,0,n)})})});for(let o of Y7){let a=o.replace(/Promise$/,"");if(typeof t[a]>"u")continue;let n=e[o];if(typeof n>"u")continue;r(t,a,(...A)=>{let h=typeof A[A.length-1]=="function"?A.pop():()=>{};process.nextTick(()=>{n.apply(e,A).then(C=>{h(null,C)},C=>{h(C)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",o=>{try{return e.existsSync(o)}catch{return!1}}),r(t,"readSync",(...o)=>{let[a,n,u,A,p]=o;return o.length<=3&&({offset:u=0,length:A=n.byteLength,position:p}=o[2]||{}),u==null&&(u=0),A|=0,A===0?0:(p==null&&(p=-1),e.readSync(a,n,u,A,p))});for(let o of j_e){let a=o;if(typeof t[a]>"u")continue;let n=e[o];typeof n>"u"||r(t,a,n.bind(e))}t.realpathSync.native=t.realpathSync}{let o=t.promises;for(let a of Y7){let n=a.replace(/Promise$/,"");if(typeof o[n]>"u")continue;let u=e[a];typeof u>"u"||a!=="open"&&r(o,n,(A,...p)=>A instanceof FI?A[n].apply(A,p):u.call(e,A,...p))}r(o,"open",async(...a)=>{let n=await e.openPromise(...a);return new FI(n,e)})}t.read[ny.promisify.custom]=async(o,a,...n)=>({bytesRead:await e.readPromise(o,a,...n),buffer:a}),t.write[ny.promisify.custom]=async(o,a,...n)=>({bytesWritten:await e.writePromise(o,a,...n),buffer:a})}function fD(t,e){let r=Object.create(t);return RI(r,e),r}var ny,j_e,Y7,K7=dt(()=>{ny=Ie("util");j7();W7();j_e=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),Y7=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function J7(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}function V7(){if(HR)return HR;let t=Ae.toPortablePath(z7.default.tmpdir()),e=ae.realpathSync(t);return process.once("exit",()=>{ae.rmtempSync()}),HR={tmpdir:t,realTmpdir:e}}var z7,Lc,HR,ae,X7=dt(()=>{z7=tt(Ie("os"));Ng();ya();Lc=new Set,HR=null;ae=Object.assign(new xn,{detachTemp(t){Lc.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=V7();for(;;){let o=J7("xfs-");try{this.mkdirSync(V.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=V.join(r,o);if(Lc.add(a),typeof t>"u")return a;try{return t(a)}finally{if(Lc.has(a)){Lc.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=V7();for(;;){let o=J7("xfs-");try{await this.mkdirPromise(V.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=V.join(r,o);if(Lc.add(a),typeof t>"u")return a;try{return await t(a)}finally{if(Lc.has(a)){Lc.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Lc.values()).map(async t=>{try{await ae.removePromise(t,{maxRetries:0}),Lc.delete(t)}catch{}}))},rmtempSync(){for(let t of Lc)try{ae.removeSync(t),Lc.delete(t)}catch{}}})});var TI={};Yt(TI,{AliasFS:()=>qu,BasePortableFakeFS:()=>Hu,CwdFS:()=>An,FakeFS:()=>pf,Filename:()=>Lr,JailFS:()=>ju,LazyFS:()=>ty,MountFS:()=>Mp,NoFS:()=>kI,NodeFS:()=>xn,PortablePath:()=>wt,PosixFS:()=>Up,ProxiedFS:()=>vs,VirtualFS:()=>pi,constants:()=>Ii,errors:()=>sr,extendFs:()=>fD,normalizeLineEndings:()=>Rg,npath:()=>Ae,opendir:()=>oD,patchFs:()=>RI,ppath:()=>V,setupCopyIndex:()=>sD,statUtils:()=>Nl,toFilename:()=>Li,unwatchAllFiles:()=>Fg,unwatchFile:()=>kg,watchFile:()=>ey,xfs:()=>ae});var bt=dt(()=>{C7();rD();RR();LR();S7();MR();Tg();ya();ya();F7();Tg();T7();L7();O7();M7();U7();Ng();_7();hf();H7();K7();X7()});var rW=U((VSt,tW)=>{tW.exports=eW;eW.sync=W_e;var Z7=Ie("fs");function G_e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o<r.length;o++){var a=r[o].toLowerCase();if(a&&t.substr(-a.length).toLowerCase()===a)return!0}return!1}function $7(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:G_e(e,r)}function eW(t,e,r){Z7.stat(t,function(o,a){r(o,o?!1:$7(a,t,e))})}function W_e(t,e){return $7(Z7.statSync(t),t,e)}});var aW=U((zSt,oW)=>{oW.exports=iW;iW.sync=Y_e;var nW=Ie("fs");function iW(t,e,r){nW.stat(t,function(o,a){r(o,o?!1:sW(a,e))})}function Y_e(t,e){return sW(nW.statSync(t),e)}function sW(t,e){return t.isFile()&&K_e(t,e)}function K_e(t,e){var r=t.mode,o=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),u=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),A=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),C=A|p,w=r&h||r&p&&a===u||r&A&&o===n||r&C&&n===0;return w}});var cW=U((ZSt,lW)=>{var XSt=Ie("fs"),pD;process.platform==="win32"||global.TESTING_WINDOWS?pD=rW():pD=aW();lW.exports=qR;qR.sync=J_e;function qR(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){qR(t,e||{},function(n,u){n?a(n):o(u)})})}pD(t,e||{},function(o,a){o&&(o.code==="EACCES"||e&&e.ignoreErrors)&&(o=null,a=!1),r(o,a)})}function J_e(t,e){try{return pD.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var dW=U(($St,gW)=>{var iy=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",uW=Ie("path"),V_e=iy?";":":",AW=cW(),fW=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),pW=(t,e)=>{let r=e.colon||V_e,o=t.match(/\//)||iy&&t.match(/\\/)?[""]:[...iy?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=iy?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=iy?a.split(r):[""];return iy&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:a}},hW=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:o,pathExt:a,pathExtExe:n}=pW(t,e),u=[],A=h=>new Promise((C,w)=>{if(h===o.length)return e.all&&u.length?C(u):w(fW(t));let v=o[h],b=/^".*"$/.test(v)?v.slice(1,-1):v,E=uW.join(b,t),R=!b&&/^\.[\\\/]/.test(t)?t.slice(0,2)+E:E;C(p(R,h,0))}),p=(h,C,w)=>new Promise((v,b)=>{if(w===a.length)return v(A(C+1));let E=a[w];AW(h+E,{pathExt:n},(R,L)=>{if(!R&&L)if(e.all)u.push(h+E);else return v(h+E);return v(p(h,C,w+1))})});return r?A(0).then(h=>r(null,h),r):A(0)},z_e=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:o,pathExtExe:a}=pW(t,e),n=[];for(let u=0;u<r.length;u++){let A=r[u],p=/^".*"$/.test(A)?A.slice(1,-1):A,h=uW.join(p,t),C=!p&&/^\.[\\\/]/.test(t)?t.slice(0,2)+h:h;for(let w=0;w<o.length;w++){let v=C+o[w];try{if(AW.sync(v,{pathExt:a}))if(e.all)n.push(v);else return v}catch{}}}if(e.all&&n.length)return n;if(e.nothrow)return null;throw fW(t)};gW.exports=hW;hW.sync=z_e});var yW=U((ePt,jR)=>{"use strict";var mW=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};jR.exports=mW;jR.exports.default=mW});var wW=U((tPt,IW)=>{"use strict";var EW=Ie("path"),X_e=dW(),Z_e=yW();function CW(t,e){let r=t.options.env||process.env,o=process.cwd(),a=t.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let u;try{u=X_e.sync(t.command,{path:r[Z_e({env:r})],pathExt:e?EW.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return u&&(u=EW.resolve(a?t.options.cwd:"",u)),u}function $_e(t){return CW(t)||CW(t,!0)}IW.exports=$_e});var BW=U((rPt,WR)=>{"use strict";var GR=/([()\][%!^"`<>&|;, *?])/g;function e8e(t){return t=t.replace(GR,"^$1"),t}function t8e(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(GR,"^$1"),e&&(t=t.replace(GR,"^$1")),t}WR.exports.command=e8e;WR.exports.argument=t8e});var DW=U((nPt,vW)=>{"use strict";vW.exports=/^#!(.*)/});var PW=U((iPt,SW)=>{"use strict";var r8e=DW();SW.exports=(t="")=>{let e=t.match(r8e);if(!e)return null;let[r,o]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a}});var bW=U((sPt,xW)=>{"use strict";var YR=Ie("fs"),n8e=PW();function i8e(t){let r=Buffer.alloc(150),o;try{o=YR.openSync(t,"r"),YR.readSync(o,r,0,150,0),YR.closeSync(o)}catch{}return n8e(r.toString())}xW.exports=i8e});var RW=U((oPt,FW)=>{"use strict";var s8e=Ie("path"),QW=wW(),kW=BW(),o8e=bW(),a8e=process.platform==="win32",l8e=/\.(?:com|exe)$/i,c8e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function u8e(t){t.file=QW(t);let e=t.file&&o8e(t.file);return e?(t.args.unshift(t.file),t.command=e,QW(t)):t.file}function A8e(t){if(!a8e)return t;let e=u8e(t),r=!l8e.test(e);if(t.options.forceShell||r){let o=c8e.test(e);t.command=s8e.normalize(t.command),t.command=kW.command(t.command),t.args=t.args.map(n=>kW.argument(n,o));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function f8e(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let o={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?o:A8e(o)}FW.exports=f8e});var LW=U((aPt,NW)=>{"use strict";var KR=process.platform==="win32";function JR(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function p8e(t,e){if(!KR)return;let r=t.emit;t.emit=function(o,a){if(o==="exit"){let n=TW(a,e,"spawn");if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function TW(t,e){return KR&&t===1&&!e.file?JR(e.original,"spawn"):null}function h8e(t,e){return KR&&t===1&&!e.file?JR(e.original,"spawnSync"):null}NW.exports={hookChildProcess:p8e,verifyENOENT:TW,verifyENOENTSync:h8e,notFoundError:JR}});var XR=U((lPt,sy)=>{"use strict";var OW=Ie("child_process"),VR=RW(),zR=LW();function MW(t,e,r){let o=VR(t,e,r),a=OW.spawn(o.command,o.args,o.options);return zR.hookChildProcess(a,o),a}function g8e(t,e,r){let o=VR(t,e,r),a=OW.spawnSync(o.command,o.args,o.options);return a.error=a.error||zR.verifyENOENTSync(a.status,o),a}sy.exports=MW;sy.exports.spawn=MW;sy.exports.sync=g8e;sy.exports._parse=VR;sy.exports._enoent=zR});function _W(t){UW=t}function NI(){return typeof ZR>"u"&&(ZR=UW()),ZR}var ZR,UW,$R=dt(()=>{UW=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var HW=U((hD,tT)=>{var d8e=Object.assign({},Ie("fs")),eT=function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),function(e){e=e||{};var r=typeof e<"u"?e:{},o,a;r.ready=new Promise(function(Be,xe){o=Be,a=xe});var n={},u;for(u in r)r.hasOwnProperty(u)&&(n[u]=r[u]);var A=[],p="./this.program",h=function(Be,xe){throw xe},C=!1,w=!0,v="";function b(Be){return r.locateFile?r.locateFile(Be,v):v+Be}var E,R,L,_;w&&(C?v=Ie("path").dirname(v)+"/":v=__dirname+"/",E=function(xe,Je){var vt=Zn(xe);return vt?Je?vt:vt.toString():(L||(L=d8e),_||(_=Ie("path")),xe=_.normalize(xe),L.readFileSync(xe,Je?null:"utf8"))},R=function(xe){var Je=E(xe,!0);return Je.buffer||(Je=new Uint8Array(Je)),De(Je.buffer),Je},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),A=process.argv.slice(2),h=function(Be){process.exit(Be)},r.inspect=function(){return"[Emscripten Module object]"});var J=r.print||console.log.bind(console),re=r.printErr||console.warn.bind(console);for(u in n)n.hasOwnProperty(u)&&(r[u]=n[u]);n=null,r.arguments&&(A=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var oe=0,pe=function(Be){oe=Be},he;r.wasmBinary&&(he=r.wasmBinary);var ve=r.noExitRuntime||!0;typeof WebAssembly!="object"&&ki("no native wasm support detected");function ge(Be,xe,Je){switch(xe=xe||"i8",xe.charAt(xe.length-1)==="*"&&(xe="i32"),xe){case"i1":return Ue[Be>>0];case"i8":return Ue[Be>>0];case"i16":return ap((Be>>1)*2);case"i32":return ks((Be>>2)*4);case"i64":return ks((Be>>2)*4);case"float":return hu((Be>>2)*4);case"double":return op((Be>>3)*8);default:ki("invalid type for getValue: "+xe)}return null}var le,Pe=!1,g;function De(Be,xe){Be||ki("Assertion failed: "+xe)}function Ee(Be){var xe=r["_"+Be];return De(xe,"Cannot call unknown function "+Be+", make sure it is exported"),xe}function de(Be,xe,Je,vt,tr){var Zr={string:function(yi){var aa=0;if(yi!=null&&yi!==0){var Ha=(yi.length<<2)+1;aa=ee(Ha),ut(yi,aa,Ha)}return aa},array:function(yi){var aa=ee(yi.length);return Me(yi,aa),aa}};function Tn(yi){return xe==="string"?me(yi):xe==="boolean"?Boolean(yi):yi}var _r=Ee(Be),$n=[],Ti=0;if(vt)for(var Yn=0;Yn<vt.length;Yn++){var Ua=Zr[Je[Yn]];Ua?(Ti===0&&(Ti=Ma()),$n[Yn]=Ua(vt[Yn])):$n[Yn]=vt[Yn]}var oa=_r.apply(null,$n);return oa=Tn(oa),Ti!==0&&sa(Ti),oa}function ne(Be,xe,Je,vt){Je=Je||[];var tr=Je.every(function(Tn){return Tn==="number"}),Zr=xe!=="string";return Zr&&tr&&!vt?Ee(Be):function(){return de(Be,xe,Je,arguments,vt)}}var Z=new TextDecoder("utf8");function me(Be,xe){if(!Be)return"";for(var Je=Be+xe,vt=Be;!(vt>=Je)&&je[vt];)++vt;return Z.decode(je.subarray(Be,vt))}function be(Be,xe,Je,vt){if(!(vt>0))return 0;for(var tr=Je,Zr=Je+vt-1,Tn=0;Tn<Be.length;++Tn){var _r=Be.charCodeAt(Tn);if(_r>=55296&&_r<=57343){var $n=Be.charCodeAt(++Tn);_r=65536+((_r&1023)<<10)|$n&1023}if(_r<=127){if(Je>=Zr)break;xe[Je++]=_r}else if(_r<=2047){if(Je+1>=Zr)break;xe[Je++]=192|_r>>6,xe[Je++]=128|_r&63}else if(_r<=65535){if(Je+2>=Zr)break;xe[Je++]=224|_r>>12,xe[Je++]=128|_r>>6&63,xe[Je++]=128|_r&63}else{if(Je+3>=Zr)break;xe[Je++]=240|_r>>18,xe[Je++]=128|_r>>12&63,xe[Je++]=128|_r>>6&63,xe[Je++]=128|_r&63}}return xe[Je]=0,Je-tr}function ut(Be,xe,Je){return be(Be,je,xe,Je)}function H(Be){for(var xe=0,Je=0;Je<Be.length;++Je){var vt=Be.charCodeAt(Je);vt>=55296&&vt<=57343&&(vt=65536+((vt&1023)<<10)|Be.charCodeAt(++Je)&1023),vt<=127?++xe:vt<=2047?xe+=2:vt<=65535?xe+=3:xe+=4}return xe}function yt(Be){var xe=H(Be)+1,Je=Cl(xe);return Je&&be(Be,Ue,Je,xe),Je}function Me(Be,xe){Ue.set(Be,xe)}function Te(Be,xe){return Be%xe>0&&(Be+=xe-Be%xe),Be}var Qe,Ue,je,At,Le,x,I,P,y,F;function z(Be){Qe=Be,r.HEAP_DATA_VIEW=F=new DataView(Be),r.HEAP8=Ue=new Int8Array(Be),r.HEAP16=At=new Int16Array(Be),r.HEAP32=x=new Int32Array(Be),r.HEAPU8=je=new Uint8Array(Be),r.HEAPU16=Le=new Uint16Array(Be),r.HEAPU32=I=new Uint32Array(Be),r.HEAPF32=P=new Float32Array(Be),r.HEAPF64=y=new Float64Array(Be)}var X=r.INITIAL_MEMORY||16777216,$,ie=[],ke=[],Ne=[],st=!1;function ht(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Pt(r.preRun.shift());no(ie)}function Ut(){st=!0,no(ke)}function Xt(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Dr(r.postRun.shift());no(Ne)}function Pt(Be){ie.unshift(Be)}function tn(Be){ke.unshift(Be)}function Dr(Be){Ne.unshift(Be)}var fr=0,Br=null,jr=null;function Hn(Be){fr++,r.monitorRunDependencies&&r.monitorRunDependencies(fr)}function bs(Be){if(fr--,r.monitorRunDependencies&&r.monitorRunDependencies(fr),fr==0&&(Br!==null&&(clearInterval(Br),Br=null),jr)){var xe=jr;jr=null,xe()}}r.preloadedImages={},r.preloadedAudios={};function ki(Be){r.onAbort&&r.onAbort(Be),Be+="",re(Be),Pe=!0,g=1,Be="abort("+Be+"). Build with -s ASSERTIONS=1 for more info.";var xe=new WebAssembly.RuntimeError(Be);throw a(xe),xe}var gs="data:application/octet-stream;base64,";function to(Be){return Be.startsWith(gs)}var Di="data:application/octet-stream;base64,AGFzbQEAAAAB/wEkYAN/f38Bf2ACf38Bf2ABfwF/YAN/f34Bf2ABfwBgBH9/f38Bf2ACf38AYAN/f38AYAV/f39/fwF/YAABf2AFf39/fn8BfmAEf35/fwF/YAR/f35/AX5gAn9+AX9gA398fwBgAX8BfmAGf39/f39/AX9gBH9/f38AYAN/fn8Bf2ADf39/AX5gBH9/f38BfmAFf39+f38Bf2AEf39+fwF/YAN/f34BfmACf34AYAJ/fwF+YAV/f39/fwBgA39+fwF+YAV+fn9+fwF+YAZ/fH9/f38Bf2AAAGAHf35/f39+fwF/YAV/fn9/fwF/YAV/f39/fwF+YAJ+fwF/YAJ/fAACJQYBYQFhAAQBYQFiAAIBYQFjAAABYQFkAAIBYQFlAAEBYQFmAAID5AHiAQQEAgAEAgQGDBEEFwYNBBICBA0YBwIDBA8PBAECARkFCxoCBAQCBwsHBAECDwEGBQQAAQsEBgARBgYHBBsFBBwICAABEwIIBBQTFRAWCwsGAB4ABQAAAQYCBAMfAgEBAQIBCBYgACEAIgABAggBBgINCxQNBwIHAQAjBAALFQAACAsSAgcHBAQHAQEBBQkJAQEBAQIKBAICAgICCQgCCAgIAAUBBQUFCBAFBQAAEAAAAgQJCQUCAgAJCQkCAgIBCgoABgAEAwICAgQACggMAgYAAgEBAwUAAAUCAAkABAEHCQIEBQFwATQ0BQcBAYACgIACBgkBfwFB8KDBAgsHowI6AWcCAAFoAFcBaQDnAQFqALMBAWsAuQEBbAChAQFtAKABAW4AnwEBbwCdAQFwAJwBAXEAmQEBcgCUAQFzAOYBAXQA3wEBdQDXAQF2ANQBAXcAuwEBeACyAQF5ALEBAXoATQFBAMgBAUIAwgEBQwDBAQFEALwBAUUAwwEBRgCwAQFHAAYBSAAIAUkAngEBSgCvAQFLAK4BAUwArQEBTQC0AQFOAKwBAU8AqwEBUACqAQFRAKkBAVIAqAEBUwCnAQFUALUBAVUApgEBVgClAQFXAKQBAVgAGwFZAAoBWgCbAQFfADEBJAEAAmFhAEkCYmEAowECY2EAugECZGEAogECZWEAwAECZmEAvwECZ2EAvgECaGEAuAECaWEAtwECamEAtgEJYwEAQQELM5oB1gHVAVyYAZcBlgGVAY4BjwFfW5MBWllYVpIBYJEBkAHlAeQB4gHaAeMB2QHYAeEB4AHeAd0B3AHbAdMB0QHSAdABzwHOAc0BzAHLAcoByQHHAcYBxQHEATi9AQrh+QbiAcwMAQd/AkAgAEUNACAAQQhrIgMgAEEEaygCACIBQXhxIgBqIQUCQCABQQFxDQAgAUEDcUUNASADIAMoAgAiAWsiA0G4nAEoAgBJDQEgACABaiEAIANBvJwBKAIARwRAIAFB/wFNBEAgAygCCCICIAFBA3YiBEEDdEHQnAFqRhogAiADKAIMIgFGBEBBqJwBQaicASgCAEF+IAR3cTYCAAwDCyACIAE2AgwgASACNgIIDAILIAMoAhghBgJAIAMgAygCDCIBRwRAIAMoAggiAiABNgIMIAEgAjYCCAwBCwJAIANBFGoiAigCACIEDQAgA0EQaiICKAIAIgQNAEEAIQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0BAkAgAyADKAIcIgJBAnRB2J4BaiIEKAIARgRAIAQgATYCACABDQFBrJwBQaycASgCAEF+IAJ3cTYCAAwDCyAGQRBBFCAGKAIQIANGG2ogATYCACABRQ0CCyABIAY2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCICRQ0BIAEgAjYCFCACIAE2AhgMAQsgBSgCBCIBQQNxQQNHDQBBsJwBIAA2AgAgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgAPCyADIAVPDQAgBSgCBCIBQQFxRQ0AAkAgAUECcUUEQCAFQcCcASgCAEYEQEHAnAEgAzYCAEG0nAFBtJwBKAIAIABqIgA2AgAgAyAAQQFyNgIEIANBvJwBKAIARw0DQbCcAUEANgIAQbycAUEANgIADwsgBUG8nAEoAgBGBEBBvJwBIAM2AgBBsJwBQbCcASgCACAAaiIANgIAIAMgAEEBcjYCBCAAIANqIAA2AgAPCyABQXhxIABqIQACQCABQf8BTQRAIAUoAggiAiABQQN2IgRBA3RB0JwBakYaIAIgBSgCDCIBRgRAQaicAUGonAEoAgBBfiAEd3E2AgAMAgsgAiABNgIMIAEgAjYCCAwBCyAFKAIYIQYCQCAFIAUoAgwiAUcEQCAFKAIIIgJBuJwBKAIASRogAiABNgIMIAEgAjYCCAwBCwJAIAVBFGoiAigCACIEDQAgBUEQaiICKAIAIgQNAEEAIQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0AAkAgBSAFKAIcIgJBAnRB2J4BaiIEKAIARgRAIAQgATYCACABDQFBrJwBQaycASgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogATYCACABRQ0BCyABIAY2AhggBSgCECICBEAgASACNgIQIAIgATYCGAsgBSgCFCICRQ0AIAEgAjYCFCACIAE2AhgLIAMgAEEBcjYCBCAAIANqIAA2AgAgA0G8nAEoAgBHDQFBsJwBIAA2AgAPCyAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAAsgAEH/AU0EQCAAQQN2IgFBA3RB0JwBaiEAAn9BqJwBKAIAIgJBASABdCIBcUUEQEGonAEgASACcjYCACAADAELIAAoAggLIQIgACADNgIIIAIgAzYCDCADIAA2AgwgAyACNgIIDwtBHyECIANCADcCECAAQf///wdNBEAgAEEIdiIBIAFBgP4/akEQdkEIcSIBdCICIAJBgOAfakEQdkEEcSICdCIEIARBgIAPakEQdkECcSIEdEEPdiABIAJyIARyayIBQQF0IAAgAUEVanZBAXFyQRxqIQILIAMgAjYCHCACQQJ0QdieAWohAQJAAkACQEGsnAEoAgAiBEEBIAJ0IgdxRQRAQaycASAEIAdyNgIAIAEgAzYCACADIAE2AhgMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgASgCACEBA0AgASIEKAIEQXhxIABGDQIgAkEddiEBIAJBAXQhAiAEIAFBBHFqIgdBEGooAgAiAQ0ACyAHIAM2AhAgAyAENgIYCyADIAM2AgwgAyADNgIIDAELIAQoAggiACADNgIMIAQgAzYCCCADQQA2AhggAyAENgIMIAMgADYCCAtByJwBQcicASgCAEEBayIAQX8gABs2AgALCxoAIAAEQCAALQABBEAgACgCBBAGCyAAEAYLC6IuAQx/IwBBEGsiDCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB9AFNBEBBqJwBKAIAIgVBECAAQQtqQXhxIABBC0kbIghBA3YiAnYiAUEDcQRAIAFBf3NBAXEgAmoiA0EDdCIBQdicAWooAgAiBEEIaiEAAkAgBCgCCCICIAFB0JwBaiIBRgRAQaicASAFQX4gA3dxNgIADAELIAIgATYCDCABIAI2AggLIAQgA0EDdCIBQQNyNgIEIAEgBGoiASABKAIEQQFyNgIEDA0LIAhBsJwBKAIAIgpNDQEgAQRAAkBBAiACdCIAQQAgAGtyIAEgAnRxIgBBACAAa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2aiIDQQN0IgBB2JwBaigCACIEKAIIIgEgAEHQnAFqIgBGBEBBqJwBIAVBfiADd3EiBTYCAAwBCyABIAA2AgwgACABNgIICyAEQQhqIQAgBCAIQQNyNgIEIAQgCGoiAiADQQN0IgEgCGsiA0EBcjYCBCABIARqIAM2AgAgCgRAIApBA3YiAUEDdEHQnAFqIQdBvJwBKAIAIQQCfyAFQQEgAXQiAXFFBEBBqJwBIAEgBXI2AgAgBwwBCyAHKAIICyEBIAcgBDYCCCABIAQ2AgwgBCAHNgIMIAQgATYCCAtBvJwBIAI2AgBBsJwBIAM2AgAMDQtBrJwBKAIAIgZFDQEgBkEAIAZrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqQQJ0QdieAWooAgAiASgCBEF4cSAIayEDIAEhAgNAAkAgAigCECIARQRAIAIoAhQiAEUNAQsgACgCBEF4cSAIayICIAMgAiADSSICGyEDIAAgASACGyEBIAAhAgwBCwsgASAIaiIJIAFNDQIgASgCGCELIAEgASgCDCIERwRAIAEoAggiAEG4nAEoAgBJGiAAIAQ2AgwgBCAANgIIDAwLIAFBFGoiAigCACIARQRAIAEoAhAiAEUNBCABQRBqIQILA0AgAiEHIAAiBEEUaiICKAIAIgANACAEQRBqIQIgBCgCECIADQALIAdBADYCAAwLC0F/IQggAEG/f0sNACAAQQtqIgBBeHEhCEGsnAEoAgAiCUUNAEEAIAhrIQMCQAJAAkACf0EAIAhBgAJJDQAaQR8gCEH///8HSw0AGiAAQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgCCAAQRVqdkEBcXJBHGoLIgVBAnRB2J4BaigCACICRQRAQQAhAAwBC0EAIQAgCEEAQRkgBUEBdmsgBUEfRht0IQEDQAJAIAIoAgRBeHEgCGsiByADTw0AIAIhBCAHIgMNAEEAIQMgAiEADAMLIAAgAigCFCIHIAcgAiABQR12QQRxaigCECICRhsgACAHGyEAIAFBAXQhASACDQALCyAAIARyRQRAQQIgBXQiAEEAIABrciAJcSIARQ0DIABBACAAa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2akECdEHYngFqKAIAIQALIABFDQELA0AgACgCBEF4cSAIayIBIANJIQIgASADIAIbIQMgACAEIAIbIQQgACgCECIBBH8gAQUgACgCFAsiAA0ACwsgBEUNACADQbCcASgCACAIa08NACAEIAhqIgYgBE0NASAEKAIYIQUgBCAEKAIMIgFHBEAgBCgCCCIAQbicASgCAEkaIAAgATYCDCABIAA2AggMCgsgBEEUaiICKAIAIgBFBEAgBCgCECIARQ0EIARBEGohAgsDQCACIQcgACIBQRRqIgIoAgAiAA0AIAFBEGohAiABKAIQIgANAAsgB0EANgIADAkLIAhBsJwBKAIAIgJNBEBBvJwBKAIAIQMCQCACIAhrIgFBEE8EQEGwnAEgATYCAEG8nAEgAyAIaiIANgIAIAAgAUEBcjYCBCACIANqIAE2AgAgAyAIQQNyNgIEDAELQbycAUEANgIAQbCcAUEANgIAIAMgAkEDcjYCBCACIANqIgAgACgCBEEBcjYCBAsgA0EIaiEADAsLIAhBtJwBKAIAIgZJBEBBtJwBIAYgCGsiATYCAEHAnAFBwJwBKAIAIgIgCGoiADYCACAAIAFBAXI2AgQgAiAIQQNyNgIEIAJBCGohAAwLC0EAIQAgCEEvaiIJAn9BgKABKAIABEBBiKABKAIADAELQYygAUJ/NwIAQYSgAUKAoICAgIAENwIAQYCgASAMQQxqQXBxQdiq1aoFczYCAEGUoAFBADYCAEHknwFBADYCAEGAIAsiAWoiBUEAIAFrIgdxIgIgCE0NCkHgnwEoAgAiBARAQdifASgCACIDIAJqIgEgA00NCyABIARLDQsLQeSfAS0AAEEEcQ0FAkACQEHAnAEoAgAiAwRAQeifASEAA0AgAyAAKAIAIgFPBEAgASAAKAIEaiADSw0DCyAAKAIIIgANAAsLQQAQKCIBQX9GDQYgAiEFQYSgASgCACIDQQFrIgAgAXEEQCACIAFrIAAgAWpBACADa3FqIQULIAUgCE0NBiAFQf7///8HSw0GQeCfASgCACIEBEBB2J8BKAIAIgMgBWoiACADTQ0HIAAgBEsNBwsgBRAoIgAgAUcNAQwICyAFIAZrIAdxIgVB/v///wdLDQUgBRAoIgEgACgCACAAKAIEakYNBCABIQALAkAgAEF/Rg0AIAhBMGogBU0NAEGIoAEoAgAiASAJIAVrakEAIAFrcSIBQf7///8HSwRAIAAhAQwICyABEChBf0cEQCABIAVqIQUgACEBDAgLQQAgBWsQKBoMBQsgACIBQX9HDQYMBAsAC0EAIQQMBwtBACEBDAULIAFBf0cNAgtB5J8BQeSfASgCAEEEcjYCAAsgAkH+////B0sNASACECghAUEAECghACABQX9GDQEgAEF/Rg0BIAAgAU0NASAAIAFrIgUgCEEoak0NAQtB2J8BQdifASgCACAFaiIANgIAQdyfASgCACAASQRAQdyfASAANgIACwJAAkACQEHAnAEoAgAiBwRAQeifASEAA0AgASAAKAIAIgMgACgCBCICakYNAiAAKAIIIgANAAsMAgtBuJwBKAIAIgBBACAAIAFNG0UEQEG4nAEgATYCAAtBACEAQeyfASAFNgIAQeifASABNgIAQcicAUF/NgIAQcycAUGAoAEoAgA2AgBB9J8BQQA2AgADQCAAQQN0IgNB2JwBaiADQdCcAWoiAjYCACADQdycAWogAjYCACAAQQFqIgBBIEcNAAtBtJwBIAVBKGsiA0F4IAFrQQdxQQAgAUEIakEHcRsiAGsiAjYCAEHAnAEgACABaiIANgIAIAAgAkEBcjYCBCABIANqQSg2AgRBxJwBQZCgASgCADYCAAwCCyAALQAMQQhxDQAgAyAHSw0AIAEgB00NACAAIAIgBWo2AgRBwJwBIAdBeCAHa0EHcUEAIAdBCGpBB3EbIgBqIgI2AgBBtJwBQbScASgCACAFaiIBIABrIgA2AgAgAiAAQQFyNgIEIAEgB2pBKDYCBEHEnAFBkKABKAIANgIADAELQbicASgCACABSwRAQbicASABNgIACyABIAVqIQJB6J8BIQACQAJAAkACQAJAAkADQCACIAAoAgBHBEAgACgCCCIADQEMAgsLIAAtAAxBCHFFDQELQeifASEAA0AgByAAKAIAIgJPBEAgAiAAKAIEaiIEIAdLDQMLIAAoAgghAAwACwALIAAgATYCACAAIAAoAgQgBWo2AgQgAUF4IAFrQQdxQQAgAUEIakEHcRtqIgkgCEEDcjYCBCACQXggAmtBB3FBACACQQhqQQdxG2oiBSAIIAlqIgZrIQIgBSAHRgRAQcCcASAGNgIAQbScAUG0nAEoAgAgAmoiADYCACAGIABBAXI2AgQMAwsgBUG8nAEoAgBGBEBBvJwBIAY2AgBBsJwBQbCcASgCACACaiIANgIAIAYgAEEBcjYCBCAAIAZqIAA2AgAMAwsgBSgCBCIAQQNxQQFGBEAgAEF4cSEHAkAgAEH/AU0EQCAFKAIIIgMgAEEDdiIAQQN0QdCcAWpGGiADIAUoAgwiAUYEQEGonAFBqJwBKAIAQX4gAHdxNgIADAILIAMgATYCDCABIAM2AggMAQsgBSgCGCEIAkAgBSAFKAIMIgFHBEAgBSgCCCIAIAE2AgwgASAANgIIDAELAkAgBUEUaiIAKAIAIgMNACAFQRBqIgAoAgAiAw0AQQAhAQwBCwNAIAAhBCADIgFBFGoiACgCACIDDQAgAUEQaiEAIAEoAhAiAw0ACyAEQQA2AgALIAhFDQACQCAFIAUoAhwiA0ECdEHYngFqIgAoAgBGBEAgACABNgIAIAENAUGsnAFBrJwBKAIAQX4gA3dxNgIADAILIAhBEEEUIAgoAhAgBUYbaiABNgIAIAFFDQELIAEgCDYCGCAFKAIQIgAEQCABIAA2AhAgACABNgIYCyAFKAIUIgBFDQAgASAANgIUIAAgATYCGAsgBSAHaiEFIAIgB2ohAgsgBSAFKAIEQX5xNgIEIAYgAkEBcjYCBCACIAZqIAI2AgAgAkH/AU0EQCACQQN2IgBBA3RB0JwBaiECAn9BqJwBKAIAIgFBASAAdCIAcUUEQEGonAEgACABcjYCACACDAELIAIoAggLIQAgAiAGNgIIIAAgBjYCDCAGIAI2AgwgBiAANgIIDAMLQR8hACACQf///wdNBEAgAkEIdiIAIABBgP4/akEQdkEIcSIDdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIANyIAByayIAQQF0IAIgAEEVanZBAXFyQRxqIQALIAYgADYCHCAGQgA3AhAgAEECdEHYngFqIQQCQEGsnAEoAgAiA0EBIAB0IgFxRQRAQaycASABIANyNgIAIAQgBjYCACAGIAQ2AhgMAQsgAkEAQRkgAEEBdmsgAEEfRht0IQAgBCgCACEBA0AgASIDKAIEQXhxIAJGDQMgAEEddiEBIABBAXQhACADIAFBBHFqIgQoAhAiAQ0ACyAEIAY2AhAgBiADNgIYCyAGIAY2AgwgBiAGNgIIDAILQbScASAFQShrIgNBeCABa0EHcUEAIAFBCGpBB3EbIgBrIgI2AgBBwJwBIAAgAWoiADYCACAAIAJBAXI2AgQgASADakEoNgIEQcScAUGQoAEoAgA2AgAgByAEQScgBGtBB3FBACAEQSdrQQdxG2pBL2siACAAIAdBEGpJGyICQRs2AgQgAkHwnwEpAgA3AhAgAkHonwEpAgA3AghB8J8BIAJBCGo2AgBB7J8BIAU2AgBB6J8BIAE2AgBB9J8BQQA2AgAgAkEYaiEAA0AgAEEHNgIEIABBCGohASAAQQRqIQAgASAESQ0ACyACIAdGDQMgAiACKAIEQX5xNgIEIAcgAiAHayIEQQFyNgIEIAIgBDYCACAEQf8BTQRAIARBA3YiAEEDdEHQnAFqIQICf0GonAEoAgAiAUEBIAB0IgBxRQRAQaicASAAIAFyNgIAIAIMAQsgAigCCAshACACIAc2AgggACAHNgIMIAcgAjYCDCAHIAA2AggMBAtBHyEAIAdCADcCECAEQf///wdNBEAgBEEIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAQgAEEVanZBAXFyQRxqIQALIAcgADYCHCAAQQJ0QdieAWohAwJAQaycASgCACICQQEgAHQiAXFFBEBBrJwBIAEgAnI2AgAgAyAHNgIAIAcgAzYCGAwBCyAEQQBBGSAAQQF2ayAAQR9GG3QhACADKAIAIQEDQCABIgIoAgRBeHEgBEYNBCAAQR12IQEgAEEBdCEAIAIgAUEEcWoiAygCECIBDQALIAMgBzYCECAHIAI2AhgLIAcgBzYCDCAHIAc2AggMAwsgAygCCCIAIAY2AgwgAyAGNgIIIAZBADYCGCAGIAM2AgwgBiAANgIICyAJQQhqIQAMBQsgAigCCCIAIAc2AgwgAiAHNgIIIAdBADYCGCAHIAI2AgwgByAANgIIC0G0nAEoAgAiACAITQ0AQbScASAAIAhrIgE2AgBBwJwBQcCcASgCACICIAhqIgA2AgAgACABQQFyNgIEIAIgCEEDcjYCBCACQQhqIQAMAwtB+JsBQTA2AgBBACEADAILAkAgBUUNAAJAIAQoAhwiAkECdEHYngFqIgAoAgAgBEYEQCAAIAE2AgAgAQ0BQaycASAJQX4gAndxIgk2AgAMAgsgBUEQQRQgBSgCECAERhtqIAE2AgAgAUUNAQsgASAFNgIYIAQoAhAiAARAIAEgADYCECAAIAE2AhgLIAQoAhQiAEUNACABIAA2AhQgACABNgIYCwJAIANBD00EQCAEIAMgCGoiAEEDcjYCBCAAIARqIgAgACgCBEEBcjYCBAwBCyAEIAhBA3I2AgQgBiADQQFyNgIEIAMgBmogAzYCACADQf8BTQRAIANBA3YiAEEDdEHQnAFqIQICf0GonAEoAgAiAUEBIAB0IgBxRQRAQaicASAAIAFyNgIAIAIMAQsgAigCCAshACACIAY2AgggACAGNgIMIAYgAjYCDCAGIAA2AggMAQtBHyEAIANB////B00EQCADQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgAyAAQRVqdkEBcXJBHGohAAsgBiAANgIcIAZCADcCECAAQQJ0QdieAWohAgJAAkAgCUEBIAB0IgFxRQRAQaycASABIAlyNgIAIAIgBjYCACAGIAI2AhgMAQsgA0EAQRkgAEEBdmsgAEEfRht0IQAgAigCACEIA0AgCCIBKAIEQXhxIANGDQIgAEEddiECIABBAXQhACABIAJBBHFqIgIoAhAiCA0ACyACIAY2AhAgBiABNgIYCyAGIAY2AgwgBiAGNgIIDAELIAEoAggiACAGNgIMIAEgBjYCCCAGQQA2AhggBiABNgIMIAYgADYCCAsgBEEIaiEADAELAkAgC0UNAAJAIAEoAhwiAkECdEHYngFqIgAoAgAgAUYEQCAAIAQ2AgAgBA0BQaycASAGQX4gAndxNgIADAILIAtBEEEUIAsoAhAgAUYbaiAENgIAIARFDQELIAQgCzYCGCABKAIQIgAEQCAEIAA2AhAgACAENgIYCyABKAIUIgBFDQAgBCAANgIUIAAgBDYCGAsCQCADQQ9NBEAgASADIAhqIgBBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQMAQsgASAIQQNyNgIEIAkgA0EBcjYCBCADIAlqIAM2AgAgCgRAIApBA3YiAEEDdEHQnAFqIQRBvJwBKAIAIQICf0EBIAB0IgAgBXFFBEBBqJwBIAAgBXI2AgAgBAwBCyAEKAIICyEAIAQgAjYCCCAAIAI2AgwgAiAENgIMIAIgADYCCAtBvJwBIAk2AgBBsJwBIAM2AgALIAFBCGohAAsgDEEQaiQAIAALgwQBA38gAkGABE8EQCAAIAEgAhACGiAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJBAUgEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgJBA3FFDQEgAiADSQ0ACwsCQCADQXxxIgRBwABJDQAgAiAEQUBqIgVLDQADQCACIAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYCFCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYCOCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAsMAQsgA0EESQRAIAAhAgwBCyAAIANBBGsiBEsEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAAC84BAQV/AkAgAEUNACAAKAIwIgEEQCAAIAFBAWsiATYCMCABDQELIAAoAiAEQCAAQQE2AiAgABAbGgsgACgCJEEBRgRAIAAQRAsCQCAAKAIsIgFFDQAgAC0AKA0AAkAgASgCRCIDRQ0AIAEoAkwhBANAIAAgBCACQQJ0aiIFKAIARwRAIAMgAkEBaiICRw0BDAILCyAFIAQgA0EBayICQQJ0aigCADYCACABIAI2AkQLCyAAQQBCAEEFEA4aIAAoAgAiAQRAIAEQCgsgABAGCwtaAgJ+AX8CfwJAAkAgAC0AAEUNACAAKQMQIgFCfVYNACABQgJ8IgIgACkDCFgNAQsgAEEAOgAAQQAMAQtBACAAKAIEIgNFDQAaIAAgAjcDECADIAGnai8AAAsLiQEBA38gACgCHCIBEBQCQCAAKAIQIgIgASgCECIDIAIgA0kbIgJFDQAgACgCDCABKAIIIAIQCRogACAAKAIMIAJqNgIMIAEgASgCCCACajYCCCAAIAAoAhQgAmo2AhQgACAAKAIQIAJrNgIQIAEgASgCECACayIANgIQIAANACABIAEoAgQ2AggLC2ECAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCfVYNACACQgJ8IgMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIgAgAUEIdjoAASAAIAE6AAALzAIBAn8jAEEQayIEJAACQCAAKQMYIAOtiKdBAXFFBEAgAEEMaiIABEAgAEEANgIEIABBHDYCAAtCfyECDAELAn4gACgCACIFRQRAIAAoAgggASACIAMgACgCBBEMAAwBCyAFIAAoAgggASACIAMgACgCBBEKAAsiAkJ/VQ0AAkAgA0EEaw4LAQAAAAAAAAAAAAEACwJAAkAgAC0AGEEQcUUEQCAAQQxqIgEEQCABQQA2AgQgAUEcNgIACwwBCwJ+IAAoAgAiAUUEQCAAKAIIIARBCGpCCEEEIAAoAgQRDAAMAQsgASAAKAIIIARBCGpCCEEEIAAoAgQRCgALQn9VDQELIABBDGoiAARAIABBADYCBCAAQRQ2AgALDAELIAQoAgghASAEKAIMIQMgAEEMaiIABEAgACADNgIEIAAgATYCAAsLIARBEGokACACC9onAgN+C38CQCAAKAKULUUEQCAAQQc2AqAtDAELAkACQAJAIAAoAnhBAU4EQCAAKAIAIggoAixBAkcNAyAALwGIAQ0CIAAvAYwBDQIgAC8BkAENAiAALwGUAQ0CIAAvAZgBDQIgAC8BnAENAiAALwGgAQ0CIAAvAcABDQIgAC8BxAENAiAALwHIAQ0CIAAvAcwBDQIgAC8B0AENAiAALwHUAQ0CIAAvAdgBDQIgAC8B3AENAiAALwHgAQ0CIAAvAeQBDQIgAC8B6AENAiAALwHsAQ0CIAAvAfgBDQIgAC8B/AENAiAALwGAAg0CIAAvAYQCDQIgAC8BrAENASAALwGwAQ0BIAAvAbwBDQFBICEKA0AgACAKQQJ0IgdqLwGIAQ0CIAAgB0EEcmovAYgBDQIgACAHQQhyai8BiAENAiAAIAdBDHJqLwGIAQ0CIApBBGoiCkGAAkcNAAsMAgsgAkEFaiIIIQkMAwtBASEJCyAIIAk2AiwLIAAgAEGMFmoQVSAAIABBmBZqEFUgAC8BigEhCCAAIABBkBZqKAIAIg1BAnRqQf//AzsBjgFBACEHIA1BAE4EQEEHQYoBIAgbIQ5BBEEDIAgbIQxBfyELQQAhCgNAIAghCSAAIAoiEEEBaiIKQQJ0ai8BigEhCAJAAkAgB0EBaiIPQf//A3EiESAOQf//A3FPDQAgCCAJRw0AIA8hBwwBCwJAIAxB//8DcSARSwRAIAAgCUECdGpB8BRqIgcgBy8BACAPajsBAAwBCyAJBEAgCSALRwRAIAAgCUECdGpB8BRqIgcgBy8BAEEBajsBAAsgACAALwGwFUEBajsBsBUMAQsgB0H//wNxQQlNBEAgACAALwG0FUEBajsBtBUMAQsgACAALwG4FUEBajsBuBULQQAhBwJ/IAhFBEBBAyEMQYoBDAELQQNBBCAIIAlGIgsbIQxBBkEHIAsbCyEOIAkhCwsgDSAQRw0ACwsgAEH+EmovAQAhCCAAIABBnBZqKAIAIg1BAnRqQYITakH//wM7AQBBACEHIA1BAE4EQEEHQYoBIAgbIQ5BBEEDIAgbIQxBfyELQQAhCgNAIAghCSAAIAoiEEEBaiIKQQJ0akH+EmovAQAhCAJAAkAgB0EBaiIPQf//A3EiESAOQf//A3FPDQAgCCAJRw0AIA8hBwwBCwJAIAxB//8DcSARSwRAIAAgCUECdGpB8BRqIgcgBy8BACAPajsBAAwBCyAJBEAgCSALRwRAIAAgCUECdGpB8BRqIgcgBy8BAEEBajsBAAsgACAALwGwFUEBajsBsBUMAQsgB0H//wNxQQlNBEAgACAALwG0FUEBajsBtBUMAQsgACAALwG4FUEBajsBuBULQQAhBwJ/IAhFBEBBAyEMQYoBDAELQQNBBCAIIAlGIgsbIQxBBkEHIAsbCyEOIAkhCwsgDSAQRw0ACwsgACAAQaQWahBVIAAgACgCnC0Cf0ESIABBrhVqLwEADQAaQREgAEH2FGovAQANABpBECAAQaoVai8BAA0AGkEPIABB+hRqLwEADQAaQQ4gAEGmFWovAQANABpBDSAAQf4Uai8BAA0AGkEMIABBohVqLwEADQAaQQsgAEGCFWovAQANABpBCiAAQZ4Vai8BAA0AGkEJIABBhhVqLwEADQAaQQggAEGaFWovAQANABpBByAAQYoVai8BAA0AGkEGIABBlhVqLwEADQAaQQUgAEGOFWovAQANABpBBCAAQZIVai8BAA0AGkEDQQIgAEHyFGovAQAbCyIKQQNsaiIHQRFqNgKcLSAHQRtqQQN2IgcgACgCoC1BCmpBA3YiCSAHIAlJGyEICwJAAkAgAkEEaiAISw0AIAFFDQAgACABIAIgAxA9DAELIAApA7gtIQQgACgCwC0hASAAKAJ8QQRHQQAgCCAJRxtFBEAgA0ECaq0hBQJAIAFBA2oiCEE/TQRAIAUgAa2GIASEIQUMAQsgAUHAAEYEQCAAIAAoAhAiAUEBajYCECABIAAoAgRqIAQ8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEQgiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBEIQiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIARCGIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEQiCIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBEIoiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIARCMIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEQjiIPAAAQQMhCAwBCyAAIAAoAhAiAkEBajYCECACIAAoAgRqIAUgAa2GIASEIgQ8AAAgACAAKAIQIgJBAWo2AhAgAiAAKAIEaiAEQgiIPAAAIAAgACgCECICQQFqNgIQIAIgACgCBGogBEIQiDwAACAAIAAoAhAiAkEBajYCECACIAAoAgRqIARCGIg8AAAgACAAKAIQIgJBAWo2AhAgAiAAKAIEaiAEQiCIPAAAIAAgACgCECICQQFqNgIQIAIgACgCBGogBEIoiDwAACAAIAAoAhAiAkEBajYCECACIAAoAgRqIARCMIg8AAAgACAAKAIQIgJBAWo2AhAgAiAAKAIEaiAEQjiIPAAAIAFBPWshCCAFQcAAIAFrrYghBQsgACAFNwO4LSAAIAg2AsAtIABB0NsAQdDkABCLAQwBCyADQQRqrSEFAkAgAUEDaiIIQT9NBEAgBSABrYYgBIQhBQwBCyABQcAARgRAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIARCCIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEQhCIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBEIYiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIARCIIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEQiiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBEIwiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIARCOIg8AABBAyEIDAELIAAgACgCECICQQFqNgIQIAIgACgCBGogBSABrYYgBIQiBDwAACAAIAAoAhAiAkEBajYCECACIAAoAgRqIARCCIg8AAAgACAAKAIQIgJBAWo2AhAgAiAAKAIEaiAEQhCIPAAAIAAgACgCECICQQFqNgIQIAIgACgCBGogBEIYiDwAACAAIAAoAhAiAkEBajYCECACIAAoAgRqIARCIIg8AAAgACAAKAIQIgJBAWo2AhAgAiAAKAIEaiAEQiiIPAAAIAAgACgCECICQQFqNgIQIAIgACgCBGogBEIwiDwAACAAIAAoAhAiAkEBajYCECACIAAoAgRqIARCOIg8AAAgAUE9ayEIIAVBwAAgAWutiCEFCyAAIAU3A7gtIAAgCDYCwC0gAEGQFmooAgAiC6xCgAJ9IQQgAEGcFmooAgAhAgJAAkACfwJ+AkACfwJ/IAhBOk0EQCAEIAithiAFhCEEIAhBBWoMAQsgCEHAAEYEQCAAIAAoAhAiAUEBajYCECABIAAoAgRqIAU8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQgiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIQiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAVCGIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQiCIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIoiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAVCMIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQjiIPAAAIAKsIQVCBSEGQQoMAgsgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEIAithiAFhCIFPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIIiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAVCEIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQhiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIgiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAVCKIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQjCIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUI4iDwAACAEQcAAIAhrrYghBCAIQTtrCyEHIAKsIQUgB0E6Sw0BIAetIQYgB0EFagshCSAFIAaGIASEDAELIAdBwABGBEAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBEIIiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIARCEIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEQhiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBEIgiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIARCKIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEQjCIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBEI4iDwAACAKrUIDfSEEQgUhBkEJDAILIAAgACgCECIBQQFqNgIQIAEgACgCBGogBSAHrYYgBIQiBDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIARCCIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEQhCIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBEIYiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIARCIIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEQiiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBEIwiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIARCOIg8AAAgB0E7ayEJIAVBwAAgB2utiAshBSAKrUIDfSEEIAlBO0sNASAJrSEGIAlBBGoLIQggBCAGhiAFhCEEDAELIAlBwABGBEAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIIiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAVCEIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQhiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIgiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAVCKIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQjCIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUI4iDwAAEEEIQgMAQsgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAEIAmthiAFhCIFPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIIiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAVCEIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQhiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIgiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAVCKIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQjCIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUI4iDwAACAJQTxrIQggBEHAACAJa62IIQQLQQAhBwNAIAAgByIBQeDwAGotAABBAnRqQfIUajMBACEFAn8gCEE8TQRAIAUgCK2GIASEIQQgCEEDagwBCyAIQcAARgRAIAAgACgCECIHQQFqNgIQIAcgACgCBGogBDwAACAAIAAoAhAiB0EBajYCECAHIAAoAgRqIARCCIg8AAAgACAAKAIQIgdBAWo2AhAgByAAKAIEaiAEQhCIPAAAIAAgACgCECIHQQFqNgIQIAcgACgCBGogBEIYiDwAACAAIAAoAhAiB0EBajYCECAHIAAoAgRqIARCIIg8AAAgACAAKAIQIgdBAWo2AhAgByAAKAIEaiAEQiiIPAAAIAAgACgCECIHQQFqNgIQIAcgACgCBGogBEIwiDwAACAAIAAoAhAiB0EBajYCECAHIAAoAgRqIARCOIg8AAAgBSEEQQMMAQsgACAAKAIQIgdBAWo2AhAgByAAKAIEaiAFIAithiAEhCIEPAAAIAAgACgCECIHQQFqNgIQIAcgACgCBGogBEIIiDwAACAAIAAoAhAiB0EBajYCECAHIAAoAgRqIARCEIg8AAAgACAAKAIQIgdBAWo2AhAgByAAKAIEaiAEQhiIPAAAIAAgACgCECIHQQFqNgIQIAcgACgCBGogBEIgiDwAACAAIAAoAhAiB0EBajYCECAHIAAoAgRqIARCKIg8AAAgACAAKAIQIgdBAWo2AhAgByAAKAIEaiAEQjCIPAAAIAAgACgCECIHQQFqNgIQIAcgACgCBGogBEI4iDwAACAFQcAAIAhrrYghBCAIQT1rCyEIIAFBAWohByABIApHDQALIAAgCDYCwC0gACAENwO4LSAAIABBiAFqIgEgCxCKASAAIABB/BJqIgcgAhCKASAAIAEgBxCLAQsgABCNASADBEAgABCMAQsLGQAgAARAIAAoAgAQBiAAKAIMEAYgABAGCwusAQECfkJ/IQMCQCAALQAoDQACQAJAIAAoAiBFDQAgAkIAUw0AIAJQDQEgAQ0BCyAAQQxqIgAEQCAAQQA2AgQgAEESNgIAC0J/DwsgAC0ANQ0AQgAhAyAALQA0DQAgAlANAANAIAAgASADp2ogAiADfUEBEA4iBEJ/VwRAIABBAToANUJ/IAMgA1AbDwsgBFBFBEAgAyAEfCIDIAJaDQIMAQsLIABBAToANAsgAwt1AgJ+AX8CQAJAIAAtAABFDQAgACkDECICQntWDQAgAkIEfCIDIAApAwhYDQELIABBADoAAA8LIAAoAgQiBEUEQA8LIAAgAzcDECAEIAKnaiIAIAFBGHY6AAMgACABQRB2OgACIAAgAUEIdjoAASAAIAE6AAALVAIBfgF/AkACQCAALQAARQ0AIAEgACkDECIBfCICIAFUDQAgAiAAKQMIWA0BCyAAQQA6AABBAA8LIAAoAgQiA0UEQEEADwsgACACNwMQIAMgAadqC/cEAgF/AX4CQCAAAn8gACgCwC0iAUHAAEYEQCAAIAAoAhAiAUEBajYCECABIAAoAgRqIAApA7gtIgI8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiACQgiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogAkIQiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAJCGIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiACQiCIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogAkIoiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAJCMIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiACQjiIPAAAIABCADcDuC1BAAwBCyABQSBOBEAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAAKQO4LSICPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogAkIIiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAJCEIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiACQhiIPAAAIAAgAEG8LWo1AgA3A7gtIAAgACgCwC1BIGsiATYCwC0LIAFBEE4EQCAAIAAoAhAiAUEBajYCECABIAAoAgRqIAApA7gtIgI8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiACQgiIPAAAIAAgACkDuC1CEIg3A7gtIAAgACgCwC1BEGsiATYCwC0LIAFBCEgNASAAIAAoAhAiAUEBajYCECABIAAoAgRqIAApA7gtPAAAIAAgACkDuC1CCIg3A7gtIAAoAsAtQQhrCzYCwC0LC3cBAn8jAEEQayIDJABBfyEEAkAgAC0AKA0AIAAoAiBBACACQQNJG0UEQCAAQQxqIgAEQCAAQQA2AgQgAEESNgIACwwBCyADIAI2AgggAyABNwMAIAAgA0IQQQYQDkIAUw0AQQAhBCAAQQA6ADQLIANBEGokACAEC1cCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgFCe1YNACABQgR8IgIgACkDCFgNAQsgAEEAOgAAQQAPCyAAKAIEIgNFBEBBAA8LIAAgAjcDECADIAGnaigAAAtVAgF+AX8gAARAAkAgACkDCFANAEIBIQEDQCAAKAIAIAJBBHRqEDogASAAKQMIWg0BIAGnIQIgAUIBfCEBDAALAAsgACgCABAGIAAoAigQECAAEAYLC2QBAn8CQAJAAkAgAEUEQCABpxAIIgNFDQJBGBAIIgJFDQEMAwsgACEDQRgQCCICDQJBAA8LIAMQBgtBAA8LIAJCADcDECACIAE3AwggAiADNgIEIAJBAToAACACIABFOgABIAILnQECAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCd1YNACACQgh8IgMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIgAgAUI4iDwAByAAIAFCMIg8AAYgACABQiiIPAAFIAAgAUIgiDwABCAAIAFCGIg8AAMgACABQhCIPAACIAAgAUIIiDwAASAAIAE8AAAL8AICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgA2AgAgAyACIARrQXxxIgJqIgFBBGsgADYCACACQQlJDQAgAyAANgIIIAMgADYCBCABQQhrIAA2AgAgAUEMayAANgIAIAJBGUkNACADIAA2AhggAyAANgIUIAMgADYCECADIAA2AgwgAUEQayAANgIAIAFBFGsgADYCACABQRhrIAA2AgAgAUEcayAANgIAIAIgA0EEcUEYciIBayICQSBJDQAgAK1CgYCAgBB+IQUgASADaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLC28BA38gAEEMaiECAkACfyAAKAIgIgFFBEBBfyEBQRIMAQsgACABQQFrIgM2AiBBACEBIAMNASAAQQBCAEECEA4aIAAoAgAiAEUNASAAEBtBf0oNAUEUCyEAIAIEQCACQQA2AgQgAiAANgIACwsgAQufAQIBfwF+An8CQAJ+IAAoAgAiAygCJEEBRkEA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RQ0AIAQtAAxFDQFBFyEFIAcNAQtBACECIAMgAEEIaiADGyIABEAgAEEANgIEIAAgBTYCAAsLIAILbgEBfyMAQYACayIFJAACQCAEQYDABHENACACIANMDQAgBSABQf8BcSACIANrIgJBgAIgAkGAAkkiARsQGiABRQRAA0AgACAFQYACEC4gAkGAAmsiAkH/AUsNAAsLIAAgBSACEC4LIAVBgAJqJAALUgECf0H0mAEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABADRQ0BC0H0mAEgADYCACABDwtB+JsBQTA2AgBBfwuGBQEGfyAAKAIwIgNBhgJrIQYgACgCPCECIAMhAQNAIAAoAkQgAiAAKAJkIgRqayECIAEgBmogBE0EQCAAKAJIIgEgASADaiADEAkaAkAgAyAAKAJoIgFNBEAgACABIANrNgJoDAELIABCADcDaAsgACAAKAJkIANrIgE2AmQgACAAKAJUIANrNgJUIAEgACgCqC1JBEAgACABNgKoLQsgAEHQmAEoAgARBAAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJkaiAFaiEFIAEgBCACazYCBAJAIAEoAhwoAhRBAkYEQCABIAUgAhBADAELIAUgASgCACACEAkhBCABKAIcKAIUQQFHDQAgASABKAIwIAQgAkHImAEoAgARAAA2AjALIAEgASgCACACajYCACABIAEoAgggAmo2AgggACgCPAUgBQsgAmoiAjYCPAJAIAAoAqgtIgEgAmpBA0kNACAAKAJkIAFrIgEEQCAAIAFBAWtBxJgBKAIAEQEAGiAAKAI8IQILIAAoAqgtIAJBAUZrIgRFDQAgACABIARBwJgBKAIAEQcAIAAgACgCqC0gBGs2AqgtIAAoAjwhAgsgAkGFAksNACAAKAIAKAIERQ0AIAAoAjAhAQwBCwsCQCAAKAJEIgIgACgCQCIDTQ0AIAACfyAAKAI8IAAoAmRqIgEgA0sEQCAAKAJIIAFqQQAgAiABayIDQYICIANBggJJGyIDEBogASADagwBCyABQYICaiIBIANNDQEgACgCSCADakEAIAIgA2siAiABIANrIgMgAiADSRsiAxAaIAAoAkAgA2oLNgJACws3ACAAQn83AxAgAEEANgIIIABCADcDACAAQQA2AjAgAEL/////DzcDKCAAQgA3AxggAEIANwMgC6UBAQF/QdgAEAgiAUUEQEEADwsCQCAABEAgASAAQdgAEAkaDAELIAFCADcDICABQQA2AhggAUL/////DzcDECABQQA7AQwgAUG/hig2AgggAUEBOgAGIAFBADoABCABQgA3A0ggAUGAgNiNeDYCRCABQgA3AyggAUIANwMwIAFCADcDOCABQUBrQQA7AQAgAUIANwNQCyABQQE6AAUgAUEANgIAIAELWAICfgF/AkACQCAALQAARQ0AIAApAxAiAyACrXwiBCADVA0AIAQgACkDCFgNAQsgAEEAOgAADwsgACgCBCIFRQRADwsgACAENwMQIAUgA6dqIAEgAhAJGguWAQECfwJAAkAgAkUEQCABpxAIIgVFDQFBGBAIIgQNAiAFEAYMAQsgAiEFQRgQCCIEDQELIAMEQCADQQA2AgQgA0EONgIAC0EADwsgBEIANwMQIAQgATcDCCAEIAU2AgQgBEEBOgAAIAQgAkU6AAEgACAFIAEgAxBpQQBIBH8gBC0AAQRAIAQoAgQQBgsgBBAGQQAFIAQLC5sCAQN/IAAtAABBIHFFBEACQCABIQMCQCACIAAiASgCECIABH8gAAUCfyABIAEtAEoiAEEBayAAcjoASiABKAIAIgBBCHEEQCABIABBIHI2AgBBfwwBCyABQgA3AgQgASABKAIsIgA2AhwgASAANgIUIAEgACABKAIwajYCEEEACw0BIAEoAhALIAEoAhQiBWtLBEAgASADIAIgASgCJBEAABoMAgsCfyABLABLQX9KBEAgAiEAA0AgAiAAIgRFDQIaIAMgBEEBayIAai0AAEEKRw0ACyABIAMgBCABKAIkEQAAIARJDQIgAyAEaiEDIAEoAhQhBSACIARrDAELIAILIQAgBSADIAAQCRogASABKAIUIABqNgIUCwsLCxAAIAAoAggQBiAAQQA2AggLWQIBfwF+AkACf0EAIABFDQAaIACtIAGtfiIDpyICIAAgAXJBgIAESQ0AGkF/IAIgA0IgiKcbCyICEAgiAEUNACAAQQRrLQAAQQNxRQ0AIABBACACEBoLIAAL8AEBAn9BfyEBAkAgAC0AKA0AIAAoAiRBA0YEQCAAQQxqBEAgAEEANgIQIABB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DwsCQAJAIAAgASACIAMQhwEiBEUNAEEYEAgiAkUEQCADBEAgA0EANgIEIANBDjYCAAsCQCAEKAIoIgBFBEAgBCkDGCEBDAELIABBADYCKCAEKAIoQgA3AyAgBCAEKQMYIgUgBCkDICIBIAEgBVQbIgE3AxgLIAQpAwggAVYEQANAIAQoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAQpAwhUDQALCyAEKAIAEAYgBCgCBBAGIAQQBgwBCyACQQA2AhQgAiAENgIQIAJBABABNgIMIAJBADYCCCACQgA3AgACf0E4EAgiAEUEQCADBEAgA0EANgIEIANBDjYCAAtBAAwBCyAAQQA2AgggAEIANwMAIABCADcDICAAQoCAgIAQNwIsIABBADoAKCAAQQA2AhQgAEIANwIMIABBADsBNCAAIAI2AgggAEEjNgIEIABCPyACQQBCAEEOQSMRDAAiASABQgBTGzcDGCAACyIADQEgAigCECIDBEACQCADKAIoIgBFBEAgAykDGCEBDAELIABBADYCKCADKAIoQgA3AyAgAyADKQMYIgUgAykDICIBIAEgBVQbIgE3AxgLIAMpAwggAVYEQANAIAMoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAMpAwhUDQALCyADKAIAEAYgAygCBBAGIAMQBgsgAhAGC0EAIQALIAALFAAgABBBIAAoAgAQICAAKAIEECALiwwBBn8gACABaiEFAkACQCAAKAIEIgJBAXENACACQQNxRQ0BIAAoAgAiAiABaiEBAkAgACACayIAQbycASgCAEcEQCACQf8BTQRAIAAoAggiBCACQQN2IgJBA3RB0JwBakYaIAAoAgwiAyAERw0CQaicAUGonAEoAgBBfiACd3E2AgAMAwsgACgCGCEGAkAgACAAKAIMIgNHBEAgACgCCCICQbicASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAAQRRqIgIoAgAiBA0AIABBEGoiAigCACIEDQBBACEDDAELA0AgAiEHIAQiA0EUaiICKAIAIgQNACADQRBqIQIgAygCECIEDQALIAdBADYCAAsgBkUNAgJAIAAgACgCHCIEQQJ0QdieAWoiAigCAEYEQCACIAM2AgAgAw0BQaycAUGsnAEoAgBBfiAEd3E2AgAMBAsgBkEQQRQgBigCECAARhtqIAM2AgAg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ACIIQiCIpyEEIAinIQEMAwsgAUEHTQRAIAAgAmpBAWshByABIAJJBEAgA0EEaiEGA0AgByAAa0EBaiIEIAEgASAESxsiBUEITwRAA0AgACADKQAANwAAIANBCGohAyAAQQhqIQAMAAsACyAFQQRJBH8gAwUgACADKAAANgAAIAVBBGshBSAAQQRqIQAgBgshBCAFQQJPBEAgACAELwAAOwAAIAVBAmshBSAEQQJqIQQgAEECaiEACyAFQQFGBEAgACAELQAAOgAAIABBAWohAAsgAiABayICIAFLDQALIAJFDQULAkAgByAAa0EBaiIBIAIgASACSRsiAkEISQ0AIAJBCGsiBEEDdkEBakEHcSIBBEADQCAAIAMpAAA3AAAgAkEIayECIANBCGohAyAAQQhqIQAgAUEBayIBDQALCyAEQThJDQADQCAAIAMpAAA3AAAgACADKQAINwAIIAAgAykAEDcAECAAIAMpABg3ABggACADKQAgNwAgIAAgAykAKDcAKCAAIAMpADA3ADAgACADKQA4NwA4IANBQGshAyAAQUBrIQAgAkFAaiICQQdLDQALCyACQQRPBEAgACADKAAANgAAIAJBBGshAiADQQRqIQMgAEEEaiEACyACQQJPBEAgACADLwAAOwAAIAJBAmshAiADQQJqIQMgAEECaiEACyACQQFHDQQgACADLQAAOgAAIABBAWoPCyAAIAMpAAA3AAAgACACQQFrIgFBB3FBAWoiAmohACABQQhJDQMgAiADaiEDIAFBA3YiAkEBayEEIAJBB3EiAQRAA0AgACADKQAANwAAIAJBAWshAiADQQhqIQMgAEEIaiEAIAFBAWsiAQ0ACwsgBEEHSQ0DA0AgACADKQAANwAAIAAgAykACDcACCAAIAMpABA3ABAgACADKQAYNwAYIAAgAykAIDcAICAAIAMpACg3ACggACADKQAwNwAwIAAgAykAODcAOCADQUBrIQMgAEFAayEAIAJBCGsiAg0ACwwDCyADLQAAQYGChAhsCyIBIQQLIAJBB3EhBgJAIAJBeHEiAkUNACABrSAErUIghoQhCCACQQhrIgRBA3ZBAWpBB3EiAQRAA0AgACAINwAAIAJBCGshAiAAQQhqIQAgAUEBayIBDQALCyAEQThJDQADQCAAIAg3ADggACAINwAwIAAgCDcAKCAAIAg3ACAgACAINwAYIAAgCDcAECAAIAg3AAggACAINwAAIABBQGshACACQUBqIgINAAsLIAZFDQAgACADIAYQCSAGaiEACyAADwsgACADLQABOgABIAJBAkYEQCAAQQJqDwsgACADLQACOgACIAJBA0YEQCAAQQNqDwsgACADLQADOgADIAJBBEYEQCAAQQRqDwsgACADLQAEOgAEIAJBBUYEQCAAQQVqDwsgACADLQAFOgAFIAJBBkYEQCAAQQZqDwsgACADLQAGOgAGIABBB2oLAwABC2wBA38CQCABKAIAIgNBB0sNACADIAIoAgBPDQAgACADayEEA0AgACAEKQAANwAAIAIgAigCACABKAIAIgVrNgIAIAEgASgCAEEBdCIDNgIAIAAgBWohACADQQdLDQEgAyACKAIASQ0ACwsgAAu8AgEBfwJAIAMgAGtBAWoiAyACIAIgA0sbIgJBCEkNACACQQhrIgRBA3ZBAWpBB3EiAwRAA0AgACABKQAANwAAIAJBCGshAiABQQhqIQEgAEEIaiEAIANBAWsiAw0ACwsgBEE4SQ0AA0AgACABKQAANwAAIAAgASkACDcACCAAIAEpABA3ABAgACABKQAYNwAYIAAgASkAIDcAICAAIAEpACg3ACggACABKQAwNwAwIAAgASkAODcAOCABQUBrIQEgAEFAayEAIAJBQGoiAkEHSw0ACwsgAkEETwRAIAAgASgAADYAACACQQRrIQIgAUEEaiEBIABBBGohAAsgAkECTwRAIAAgAS8AADsAACACQQJrIQIgAUECaiEBIABBAmohAAsgAkEBRgR/IAAgAS0AADoAACAAQQFqBSAACwvnAQECfyAAIAEpAAA3AAAgACACQQFrIgJBB3FBAWoiA2ohAAJAIAJBCEkNACABIANqIQEgAkEDdiICQQFrIQQgAkEHcSIDBEADQCAAIAEpAAA3AAAgAkEBayECIAFBCGohASAAQQhqIQAgA0EBayIDDQALCyAEQQdJDQADQCAAIAEpAAA3AAAgACABKQAINwAIIAAgASkAEDcAECAAIAEpABg3ABggACABKQAgNwAgIAAgASkAKDcAKCAAIAEpADA3ADAgACABKQA4NwA4IAFBQGshASAAQUBrIQAgAkEIayICDQALCyAAC/wFAQR/IABB//8DcSEDIABBEHYhBEEBIQAgAkEB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ADYCBCACQQ42AgALDAELIANBARB0IAMgARBmEBIgAyAFIAQoAgwQLAJ/IAMtAABFBEAgAgRAIAJBADYCBCACQRQ2AgALQQAMAQsgACADLQAABH4gAykDEAVCAAunQf//A3EgAygCBBBICyEGIAMQBwsgBEEQaiQAIAYL4AECAn8BfkEwEAgiAkUEQCABBEAgAUEANgIEIAFBDjYCAAtBAA8LIAJCADcDCCACQQA2AgAgAkIANwMQIAJCADcDGCACQgA3AyAgAkIANwAlIABQBEAgAg8LAkAgAEL/////AFYNACAAp0EEdBAIIgNFDQAgAiADNgIAQQAhAUIBIQQDQCADIAFBBHRqIgFCADcCACABQgA3AAUgACAEUgRAIASnIQEgBEIBfCEEDAELCyACIAA3AwggAiAANwMQIAIPCyABBEAgAUEANgIEIAFBDjYCAAtBABAQIAIQBkEAC+4BAgN/AX4jAEEQayIEJAACQCAEQQxqQgQQGCIDRQRAQX8hAgwBCwJAIAEEQCACQYAGcSEFA0ACQCAFIAEoAgRxRQ0AAkAgAykDCEIAVARAIANBADoAAAwBCyADQgA3AxAgA0EBOgAACyADIAEvAQgQDSADIAEvAQoQDSADLQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALQX8hAgwEC0F/IQIgACAEQQxqQgQQHEEASA0DIAEzAQoiBlANACAAIAEoAgwgBhAcQQBIDQMLIAEoAgAiAQ0ACwtBACECCyADEAcLIARBEGokACACCzwBAX8gAARAIAFBgAZxIQEDQCABIAAoAgRxBEAgAiAALwEKakEEaiECCyAAKAIAIgANAAsLIAJB//8DcQucAQEDfyAARQRAQQAPCyAAIQMDQAJ/AkACQCAALwEIIgFB9OABTQRAIAFBAUYNASABQfXGAUYNAQwCCyABQYGyAkYNACABQfXgAUcNAQsgACgCACEBIABBADYCACAAKAIMEAYgABAGIAEgAyAAIANGGyEDAkAgAkUEQEEAIQIMAQsgAiABNgIACyABDAELIAAiAigCAAsiAA0ACyADC7IEAgV/AX4CQAJAAkAgACABrRAYIgEEQCABLQAADQFBACEADAILIAQEQCAEQQA2AgQgBEEONgIAC0EADwtBACEAA0AgAS0AAAR+IAEpAwggASkDEH0FQgALQgRUDQEgARALIQcgASABEAsiBq0QEyIIRQRAQQAhAiAEBEAgBEEANgIEIARBFTYCAAsgARAHIABFDQMDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMAwsCQAJAQRAQCCIFBEAgBSAGOwEKIAUgBzsBCCAFIAI2AgQgBUEANgIAIAZFDQEgBSAIIAYQZyIGNgIMIAYNAiAFEAYLQQAhAiAEBEAgBEEANgIEIARBDjYCAAsgARAHIABFDQQDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMBAsgBUEANgIMCwJAIABFBEAgBSEADAELIAkgBTYCAAsgBSEJIAEtAAANAAsLAkAgAS0AAAR/IAEpAxAgASkDCFEFQQALDQAgASABLQAABH4gASkDCCABKQMQfQVCAAsiCkL/////D4MQEyECAkAgCqciBUEDSw0AIAJFDQAgAkHBFCAFEDxFDQELQQAhAiAEBEAgBEEANgIEIARBFTYCAAsgARAHIABFDQEDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMAQsgARAHIAMEQCADIAA2AgBBAQ8LQQEhAiAARQ0AA0AgACgCACEBIAAoAgwQBiAAEAYgASIADQALCyACC74BAQV/IAAEfyAAIQIDQCACIgQoAgAiAg0ACyABBEADQCABIgMvAQghBiADKAIAIQEgACECAkACQANAAkAgAi8BCCAGRw0AIAIvAQoiBSADLwEKRw0AIAVFDQIgAigCDCADKAIMIAUQPEUNAgsgAigCACICDQALIANBADYCACAEIAM2AgAgAyEEDAELIAIgAigCBCADKAIEQYAGcXI2AgQgA0EANgIAIAMoAgwQBiADEAYLIAENAAsLIAAFIAELC1UCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCAXwiAyACVA0AIAMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIAE6AAALWgICfgF/An8CQAJAIAAtAABFDQAgACkDECIBQgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADAELQQAgACgCBCIDRQ0AGiAAIAI3AxAgAyABp2otAAALC94BAQN/IAEgACkDMFoEQCAAQQhqBEAgAEEANgIMIABBEjYCCAtBfw8LIABBCGohAiAALQAYQQJxBEAg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DAELIAFBGU4EQCAAIAAoAhAiAUEBajYCECABIAAoAgRqIAApA7gtIgI8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiACQgiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogAkIQiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAJCGIg8AAAgACAAQbwtajUCADcDuC0gACAAKALALUEgayIBNgLALQsgAUEJTgRAIAAgACgCECIBQQFqNgIQIAEgACgCBGogACkDuC0iAjwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAJCCIg8AAAgACAAKQO4LUIQiDcDuC0gACAAKALALUEQayIBNgLALQsgAUEBSA0AIAAgACgCECIBQQFqNgIQIAEgACgCBGogACkDuC08AAALIABBADYCwC0gAEIANwO4LQvwBAEDfyAAQYgBaiECA0AgAiABQQJ0IgNqQQA7AQAgAiADQQRyakEAOwEAIAFBAmoiAUGeAkcNAAsgAEEAOwHwFCAAQQA7AfwSIABBuBVqQQA7AQAgAEG0FWpBADsBACAAQbAVakEAOwEAIABBrBVqQQA7AQAgAEGoFWpBADsBACAAQaQVakEAOwEAIABBoBVqQQA7AQAgAEGcFWpBADsBACAAQZgVakEAOwEAIABBlBVqQQA7AQAgAEGQFWpBADsBACAAQYwVakEAOwEAIABBiBVqQQA7AQAgAEGEFWpBADsBACAAQYAVakEAOwEAIABB/BRqQQA7AQAgAEH4FGpBADsBACAAQfQUakEAOwEAIABB8BNqQQA7AQAgAEHsE2pBADsBACAAQegTakEAOwEAIABB5BNqQQA7AQAgAEHgE2pBADsBACAAQdwTakEAOwEAIABB2BNqQQA7AQAgAEHUE2pBADsBACAAQdATakEAOwEAIABBzBNqQQA7AQAgAEHIE2pBADsBACAAQcQTakEAOwEAIABBwBNqQQA7AQAgAEG8E2pBADsBACAAQbgTakEAOwEAIABBtBNqQQA7AQAgAEGwE2pBADsBACAAQawTakEAOwEAIABBqBNqQQA7AQAgAEGkE2pBADsBACAAQaATakEAOwEAIABBnBNqQQA7AQAgAEGYE2pBADsBACAAQZQTakEAOwEAIABBkBNqQQA7AQAgAEGME2pBADsBACAAQYgTakEAOwEA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AAwFCyABLQAPDQQgASgCrEAgASgCqEAoAggRAgCsIQUMBAsgA0IIWgR+IAIgASgCADYCACACIAEoAgQ2AgRCCAVCfwshBQwDCyABRQ0CIAEoAqxAIAEoAqhAKAIEEQQAIAEQLyABEAYMAgsgB0F/NgIAQRAgBxAkQj+EIQUMAQsgAQRAIAFBADYCBCABQRQ2AgALQn8hBQsgB0EQaiQAIAULYwBByAAQCCIARQRAQfibASgCACEBIAIEQCACIAE2AgQgAkEBNgIACyAADwsgAEEAOgAMIABBADoABCAAIAI2AgAgAEEANgI4IABCADcDMCAAIAFBCSABQQFrQQlJGzYCCCAAC0gBAX8gAEIANwIEIAAgATYCAAJAIAFBAEgNAEGwEygCACABTA0AIAFBAnRBwBNqKAIAQQFHDQBB+JsBKAIAIQILIAAgAjYCBAvuhwECJH8BfiACKQMAIScgACABNgIcIAAgJ0L/////DyAnQv////8PVBs+AiAgAEEQaiEKAn8gAC0ABARAAn8gAC0ADEECdCENQX4hAQJAAkACQCAKRQ0AIAooAiBFDQAgCigCJEUNACAKKAIcIgNFDQAgAygCACAKRw0AAkACQCADKAIgIgVBOWsOOQECAgICAgICAgICAgECAgIBAgICAgICAgICAgICAgICAgIBAgICAgICAgICAgIBAgICAgICAgICAQALIAVBmgVGDQAgBUEqRw0BCyANQQVLDQACQAJAIAooAgxFDQAgCigCBCIEBEAgCigCAEUNAQsgBUGaBUcNASANQQRGDQELIApBkPEAKAIANgIYQX4MBAsgCigCEEUNASADKAIkIQEgAyANNgIkAkAgAygCEARAIAMQFAJAIAooAhAiBSADKAIQIgkgBSAJSRsiAUUNACAKKAIMIAMoAgggARAJGiAKIAooAgwgAWo2AgwgAyADKAIIIAFqNgIIIAogCigCFCABajYCFCAKIAooAhAgAWsiBTYCECADIAMoAhAgAWsiCTYCECAJDQAgAyADKAIENgIIQQAhCQsgBQRAIAMoAiAhBQwCCwwECyAEDQAgDUEBdEF3QQAgDUEESxtqIAFBAXRBd0EAIAFBBEobakoNACANQQRGDQAMAgsCQAJAAkACQAJAIAVBKkcEQCAFQZoFRw0BIAooAgRFDQMMBwsgAygCFEUEQCADQfEANgIgDAILIAMoAjRBDHRBgPABayEBAkAgAygCfEECTg0AIAMoAngiBEEBTA0AIARBBUwEQCABQcAAciEBDAELQYABQcABIARBBkYbIAFyIQELIAMgCUEBajYCECADKAIEIAlqIAFBIHIgASADKAJkGyIBQQh2OgAAIAMgAygCECIEQQFqNgIQIAQgAygCBGogAUEfcCABckEfczoAACADKAJkBEAgAyAKKAIwEF0LIApBATYCMCADQfEANgIgIAoQDCADKAIQDQcgAygCICEFCwJAAkACQAJAIAVBOUYEfyADKAIAQQA2AjAgAyADKAIQIgFBAWo2AhAgASADKAIEakEfOgAAIAMgAygCECIBQQFqNgIQIAEgAygCBGpBiwE6AAAgAyADKAIQIgFBAWo2AhAgASADKAIEakEIOgAAAkAgAygCHCIBRQRAIANBABA0IAMgAygCECIBQQFqNgIQIAEgAygCBGpBADoAAEECIQEgAygCeCIEQQlHBEBBBCAEQQJIQQJ0IAMoAnxBAUobIQELIAMgAygCECIEQQFqNgIQIAQgAygCBGogAToAACADIAMoAhAiAUEBajYCECABIAMoAgRqQQM6AAAgA0HxADYCICAKEAwgAygCEEUNAQwNCyABKAIkIQQgASgCHCEFIAEoAhAhByABKAIsIQkgASgCACELIAMgAygCECIIQQFqNgIQQQIhASAIIAMoAgRqIAlBAEdBAXQgC0EAR3IgB0EAR0ECdHIgBUEAR0EDdHIgBEEAR0EEdHI6AAAgAyADKAIcKAIEEDQgAygCeCIEQQlHBEBBBCAEQQJIQQJ0IAMoAnxBAUobIQELIAMgAygCECIEQQFqNgIQIAQgAygCBGogAToAACADKAIcKAIMIQEgAyADKAIQIgRBAWo2AhAgBCADKAIEaiABOgAAIAMoAhwiASgCEAR/IAEoAhQhASADIAMoAhAiBEEBajYCECAEIAMoAgRqIAE6AAAgAyADKAIQIgRBAWo2AhAgBCADKAIEaiABQQh2OgAAIAMoAhwFIAELKAIsBEAgCgJ/IAooAjAhASADKAIQIQRBACADKAIEIgVFDQAaIAEgBSAErUHMmAEoAgARAwALNgIwCyADQcUANgIgIANBADYCGAwCCyADKAIgBSAFC0HFAGsOIwAEBAQBBAQEBAQEBAQEBAQEBAQEBAQCBAQEBAQEBAQEBAQDBAsgAygCHCIEKAIQIgUEQCADKAIMIgkgAygCECIBIAQvARQgAygCGCIHayIEakkEQANAIAMoAgQgAWogBSAHaiAJIAFrIgkQCRogAyADKAIMIgU2AhACQCADKAIcKAIsRQ0AIAEgBU8NACAKAn8gCigCMCEHQQAgAygCBCABaiILRQ0AGiAHIAsgBSABa61BzJgBKAIAEQMACzYCMAsgAyADKAIYIAlqNgIYIAooAhwiARAUAkAgCigCECIFIAEoAhAiByAFIAdJGyIFRQ0AIAooAgwgASgCCCAFEAkaIAogCigCDCAFajYCDCABIAEoAgggBWo2AgggCiAKKAIUIAVqNgIUIAogCigCECAFazYCECABIAEoAhAgBWsiBTYCECAFDQAgASABKAIENgIICyADKAIQDQwgAygCGCEHIAMoAhwoAhAhBUEAIQEgBCAJayIEIAMoAgwiCUsNAAsLIAMoAgQgAWogBSAHaiAEEAkaIAMgAygCECAEaiIENgIQAkAgAygCHCgCLEUNACABIARPDQAgCgJ/IAooAjAhBUEAIAMoAgQgAWoiB0UNABogBSAHIAQgAWutQcyYASgCABEDAAs2AjALIANBADYCGAsgA0HJADYCIAsgAygCHCgCHARAIAMoAhAiASEEA0ACQCABIAMoAgxHDQACQCADKAIcKAIsRQ0AIAEgBE0NACAKAn8gCigCMCEFQQAgAygCBCAEaiIHRQ0AGiAFIAcgASAEa61BzJgBKAIAEQMACzYCMAsgCigCHCIBEBQCQCAKKAIQIgQgASgCECIFIAQgBUkbIgRFDQAgCigCDCABKAIIIAQQCRogCiAKKAIMIARqNgIMIAEgASgCCCAEajYCCCAKIAooAhQgBGo2AhQgCiAKKAIQIARrNgIQIAEgASgCECAEayIENgIQIAQNACABIAEoAgQ2AggLQQAhAUEAIQQgAygCEEUNAAwLCyADKAIcKAIcIQUgAyADKAIYIgdBAWo2AhggBSAHai0AACEFIAMgAUEBajYCECADKAIEIAFqIAU6AAAgBQRAIAMoAhAhAQwBCwsCQCADKAIcKAIsRQ0AIAMoAhAiASAETQ0AIAoCfyAKKAIwIQVBACADKAIEIARqIgdFDQAaIAUgByABIARrrUHMmAEoAgARAwALNgIwCyADQQA2AhgLIANB2wA2AiALAkAgAygCHCgCJEUNACADKAIQIgEhBANAAkAgASADKAIMRw0AAkAgAygCHCgCLEUNACABIARNDQAgCgJ/IAooAjAhBUEAIAMoAgQgBGoiB0UNABogBSAHIAEgBGutQcyYASgCABEDAAs2AjALIAooAhwiARAUAkAgCigCECIEIAEoAhAiBSAEIAVJGyIERQ0AIAooAgwgASgCCCAEEAkaIAogCigCDCAEajYCDCABIAEoAgggBGo2AgggCiAKKAIUIARqNgIUIAogCigCECAEazYCECABIAEoAhAgBGsiBDYCECAEDQAgASABKAIENgIIC0EAIQFBACEEIAMoAhBFDQAMCgsgAygCHCgCJCEFIAMgAygCGCIHQQFqNgIYIAUgB2otAAAhBSADIAFBAWo2AhAgAygCBCABaiAFOgAAIAUEQCADKAIQIQEMAQsLIAMoAhwoAixFDQAgAygCECIBIARNDQAgCgJ/IAooAjAhBUEAIAMoAgQgBGoiB0UNABogBSAHIAEgBGutQcyYASgCABEDAAs2AjALIANB5wA2AiALAkAgAygCHCgCLARAIAMoAgwgAygCECIBQQJqSQRAIAoQDCADKAIQDQJBACEBCyAKKAIwIQQgAyABQQFqNgIQIAMoAgQgAWogBDoAACADIAMoAhAiAUEBajYCECABIAMoAgRqIARBCHY6AAAgAygCAEEANgIwCyADQfEANgIgIAoQDCADKAIQRQ0BDAcLDAYLIAooAgQNAQsgAygCPA0AIA1FDQEgAygCIEGaBUYNAQsCfyADKAJ4IgFFBEAgAyANEFwMAQsCQAJAAkAgAygCfEECaw4CAAECCwJ/AkADQAJAIAMoAjwNACADECkgAygCPA0AIA0NAkEADAMLIAMoAkggAygCZGotAAAhASADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQA6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAToAACADIAFBAnRqIgEgAS8BiAFBAWo7AYgBIAMgAygCPEEBazYCPCADIAMoAmRBAWoiBDYCZCADKAKULSADKAKYLUcNACADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAQgAWtBABAPIAMgAygCZDYCVCADKAIAIgEoAhwiBBAUAkAgASgCECIFIAQoAhAiByAFIAdJGyIFRQ0AIAEoAgwgBCgCCCAFEAkaIAEgASgCDCAFajYCDCAEIAQoAgggBWo2AgggASABKAIUIAVqNgIUIAEgASgCECAFazYCECAEIAQoAhAgBWsiATYCECABDQAgBCAEKAIENgIICyADKAIAKAIQDQALQQAMAQsgA0EANgKoLSANQQRGBEAgAyADKAJUIgFBAE4EfyADKAJIIAFqBUEACyADKAJkIAFrQQEQDyADIAMoAmQ2AlQgAygCACIBKAIcIgQQFAJAIAEoAhAiBSAEKAIQIgcgBSAHSRsiBUUNACABKAIMIAQoAgggBRAJGiABIAEoAgwgBWo2AgwgBCAEKAIIIAVqNgIIIAEgASgCFCAFajYCFCABIAEoAhAgBWs2AhAgBCAEKAIQIAVrIgE2AhAgAQ0AIAQgBCgCBDYCCAtBA0ECIAMoAgAoAhAbDAELAkAgAygClC1FDQAgAyADKAJUIgFBAE4EfyADKAJIIAFqBUEACyADKAJkIAFrQQAQDyADIAMoAmQ2AlQgAygCACIBKAIcIgQQFAJAIAEoAhAiBSAEKAIQIgcgBSAHSRsiBUUNACABKAIMIAQoAgggBRAJGiABIAEoAgwgBWo2AgwgBCAEKAIIIAVqNgIIIAEgASgCFCAFajYCFCABIAEoAhAgBWs2AhAgBCAEKAIQIAVrIgE2AhAgAQ0AIAQgBCgCBDYCCAsgAygCACgCEA0AQQAMAQtBAQsMAgsCfwJAA0ACQAJAAkACQCADKAI8IghBggJLDQAgAxApAkAgAygCPCIIQYICSw0AIA0NAEEADAcLIAhFDQUgCEECSw0AIAMoAmQhCwwBCyADKAJkIgtFBEBBACELDAELIAMoAkggC2oiDEEBayIBLQAAIgkgDC0AAEcNACAJIAEtAAJHDQAgCSABLQADRw0AIAxBggJqIQ5BfyEBAkACQAJAAkACQAJAA0AgASAMaiIFLQAEIAlGBEAgCSAFLQAFRw0CIAkgBS0ABkcNAyAJIAUtAAdHDQQgCSAMIAFBCGoiBGoiBy0AAEcNByAJIAUtAAlHDQUgCSAFLQAKRw0GIAkgBUELaiIHLQAARw0HIAFB9wFIIQUgBCEBIAUNAQwHCwsgBUEEaiEHDAULIAVBBWohBwwECyAFQQZqIQcMAwsgBUEHaiEHDAILIAVBCWohBwwBCyAFQQpqIQcLIAggByAOa0GCAmoiASABIAhLGyIBQQJLDQELIAMoAkggC2otAAAhASADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQA6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAToAACADIAFBAnRqIgEgAS8BiAFBAWo7AYgBIAMgAygCPEEBazYCPCADIAMoAmRBAWoiCzYCZAwBCyADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQE6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAUEDazoAACADIAMoAqQtQQFqNgKkLSABQc3pAGotAABBAnQgA2pBjAlqIgQgBC8BAEEBajsBACADQdDlAC0AAEECdGpB/BJqIgQgBC8BAEEBajsBACADIAMoAjwgAWs2AjwgAyADKAJkIAFqIgs2AmQLIAMoApQtIAMoApgtRw0AIAMgAygCVCIBQQBOBH8gAygCSCABagVBAAsgCyABa0EAEA8gAyADKAJkNgJUIAMoAgAiASgCHCIEEBQCQCABKAIQIgUgBCgCECIHIAUgB0kbIgVFDQAgASgCDCAEKAIIIAUQCRogASABKAIMIAVqNgIMIAQgBCgCCCAFajYCCCABIAEoAhQgBWo2AhQgASABKAIQIAVrNgIQIAQgBCgCECAFayIBNgIQIAENACAEIAQoAgQ2AggLIAMoAgAoAhANAAtBAAwBCyADQQA2AqgtIA1BBEYEQCADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAMoAmQgAWtBARAPIAMgAygCZDYCVCADKAIAIgEoAhwiBBAUAkAgASgCECIFIAQoAhAiByAFIAdJGyIFRQ0AIAEoAgwgBCgCCCAFEAkaIAEgASgCDCAFajYCDCAEIAQoAgggBWo2AgggASABKAIUIAVqNgIUIAEgASgCECAFazYCECAEIAQoAhAgBWsiATYCECABDQAgBCAEKAIENgIIC0EDQQIgAygCACgCEBsMAQsCQCADKAKULUUNACADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAMoAmQgAWtB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ASABKAIodCIFIAEoAtA3akEBIAMoAiARAAAiAzYCOCADRQ0CIAMgBWpBACABKALQNxAaCyABKAIsIgVFBEAgAUIANwIwIAFBASABKAIodCIFNgIsCyAWIA5rIgMgBU8EQCABKAI4IBEgBWsgBRAJGiABQQA2AjQgASABKAIsNgIwDAELIAEoAjQiDSABKAI4aiARIANrIAMgBSANayIFIAMgBUkbIgUQCRogAyAFayIDBEAgASgCOCARIANrIAMQCRogASADNgI0IAEgASgCLDYCMAwBCyABQQAgASgCNCAFaiIDIAMgASgCLCINRhs2AjQgASgCMCIDIA1PDQAgASADIAVqNgIwCyAKIB8gCigCBGsiBSAKKAIIajYCCCAKIBYgCigCEGsiASAKKAIUajYCFCAGIAYoAiAgAWo2AiACQCAGLQAMQQRxRQ0AIAFFDQAgBgJ/IAYoAhQEQAJ/IAYoAhwhA0EAIAooAgwgAWsiDUUNABogAyANIAGtQcyYASgCABEDAAsMAQsgBigCHCAKKAIMIAFrIAFByJgBKAIAEQAACyIDNgIcIAogAzYCMAsgCiAGKAJAIAYoAghBAEdBBnRqIAYoAgQiA0G//gBGQQd0akGAAiADQcL+AEZBCHQgA0HH/gBGG2o2AiwgBCAEQXsgBBsgASAFchshFwwCCyAGQdL+ADYCBAtBfCEXCyAUQRBqJAAgFwshASACIAIpAwAgADUCIH03AwACQAJAAkACQCABQQVqDgcBAgICAgMAAgtBAQ8LIAAoAhQNAEEDDwsgACgCACIABEAgACABNgIEIABBDTYCAAtBAiEBCyABCwkAIABBAToADAtEAAJAIAJC/////w9YBEAgACgCFEUNAQsgACgCACIABEAgAEEANgIEIABBEjYCAAtBAA8LIAAgATYCECAAIAI+AhRBAQu6AQEEfyAAQRBqIQECfyAALQAEBEAgARBeDAELQX4hAwJAIAFFDQAgASgCIEUNACABKAIkIgRFDQAgASgCHCICRQ0AIAIoAgAgAUcNACACKAIEQbT+AGtBH0sNACACKAI4IgMEQCABKAIoIAMgBBEGACABKAIkIQQgASgCHCECCyABKAIoIAIgBBEGAEEAIQMgAUEANgIcCyADCyIBBEAgACgCACIABEAgACABNgIEIABBDTYCAAsLIAFFC5gMAQZ/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IAEQBiAABEAgAEEANgIEIABBDjYCAAsLIABBADYCFAwUCyADQgA3AwAgACABNgIUIAFBQGtCADcDACABQgA3AzgMFAsCQAJAIAJQBEBByAAQCCIDRQ0UIANCADcDACADQgA3AzAgA0EANgIoIANCADcDICADQgA3AxggA0IANwMQIANCADcDCCADQgA3AzggA0EIEAgiATYCBCABDQEgAxAGIAAEQCAAQQA2AgQgAEEONgIACwwUCyACIAAoAhAiASkDMFYEQCAABEAgAEEANgIEIABBEjYCAAsMFAsgASgCKARAIAAEQCAAQQA2AgQgAEEdNgIACwwUCyABKAIEIQMCQCABKQMIIgZCAX0iB1ANAANAAkAgAiADIAcgBH1CAYggBHwiBadBA3RqKQMAVARAIAVCAX0hBwwBCyAFIAZRBEAgBiEFDAMLIAMgBUIBfCIEp0EDdGopAwAgAlYNAgsgBCEFIAQgB1QNAAsLAkAgAiADIAWnIgpBA3RqKQMAfSIEUEUEQCABKAIAIgMgCkEEdGopAwghBwwBCyABKAIAIgMgBUIBfSIFp0EEdGopAwgiByEECyACIAcgBH1UBEAgAARAIABBADYCBCAAQRw2AgALDBQLIAMgBUIBfCIFQQAgABCHASIDRQ0TIAMoAgAgAygCCCIKQQR0akEIayAENwMAIAMoAgQgCkEDdGogAjcDACADIAI3AzAgAyABKQMYIgYgAykDCCIEQgF9IgcgBiAHVBs3AxggASADNgIoIAMgATYCKCABIAQ3AyAgAyAFNwMgDAELIAFCADcDAAsgACADNgIUIAMgBDcDQCADIAI3AzhCACEEDBMLIAAoAhAiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKnQQR0aigCABAGIAJCAXwiAiABKQMIVA0ACwsgASgCABAGIAEoAgQQBiABEAYLIAAoAhQhASAAQQA2AhQgACABNgIQDBILIAJCCFoEfiABIAAoAgA2AgAgASAAKAIENgIEQggFQn8LIQQMEQsgACgCECIBBEACQCABKAIoIgNFBEAgASkDGCECDAELIANBADYCKCABKAIoQgA3AyAgASABKQMYIgIgASkDICIFIAIgBVYbIgI3AxgLIAEpAwggAlYEQANAIAEoAgAgAqdBBHRqKAIAEAYgAkIBfCICIAEpAwhUDQALCyABKAIAEAYgASgCBBAGIAEQBgsgACgCFCIBBEACQCABKAIoIgNFBEAgASkDGCECDAELIANBADYCKCABKAIoQgA3AyAgASABKQMYIgIgASkDICIFIAIgBVYbIgI3AxgLIAEpAwggAlYEQANAIAEoAgAgAqdBBHRqKAIAEAYgAkIBfCICIAEpAwhUDQALCyABKAIAEAYgASgCBBAGIAEQBgsgABAGDBALIAAoAhAiAEIANwM4IABBQGtCADcDAAwPCyACQn9XBEAgAARAIABBADYCBCAAQRI2AgALDA4LIAIgACgCECIDKQMwIAMpAzgiBn0iBSACIAVUGyIFUA0OIAEgAykDQCIHpyIAQQR0IgEgAygCAGoiCigCACAGIAMoAgQgAEEDdGopAwB9IgKnaiAFIAopAwggAn0iBiAFIAZUGyIEpxAJIQogByAEIAMoAgAiACABaikDCCACfVGtfCECIAUgBlYEQANAIAogBKdqIAAgAqdBBHQiAWoiACgCACAFIAR9IgYgACkDCCIHIAYgB1QbIganEAkaIAIgBiADKAIAIgAgAWopAwhRrXwhAiAFIAQgBnwiBFYNAAsLIAMgAjcDQCADIAMpAzggBHw3AzgMDgtCfyEEQcgAEAgiA0UNDSADQgA3AwAgA0IANwMwIANBADYCKCADQgA3AyAgA0IANwMYIANCADcDECADQgA3AwggA0IANwM4IANBCBAIIgE2AgQgAUUEQCADEAYgAARAIABBADYCBCAAQQ42AgALDA4LIAFCADcDACAAKAIQIgEEQAJAIAEoAigiCkUEQCABKQMYIQQMAQsgCkEANgIoIAEoAihCADcDICABIAEpAxgiAiABKQMgIgUgAiAFVhsiBDcDGAsgASkDCCAEVgRAA0AgASgCACAEp0EEdGooAgAQBiAEQgF8IgQgASkDCFQNAAsLIAEoAgAQBiABKAIEEAYgARAGCyAAIAM2AhBCACEEDA0LIAAoAhQiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKn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cm9yAFRlbGwgZXJyb3IASW50ZXJuYWwgZXJyb3IAU2VlayBlcnJvcgBXcml0ZSBlcnJvcgBmaWxlIGVycm9yAFJlYWQgZXJyb3IAWmxpYiBlcnJvcgBkYXRhIGVycm9yAENSQyBlcnJvcgBpbmNvbXBhdGlibGUgdmVyc2lvbgBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAMS4yLjExLnpsaWItbmcAaW52YWxpZCB3aW5kb3cgc2l6ZQBSZWFkLW9ubHkgYXJjaGl2ZQBOb3QgYSB6aXAgYXJjaGl2ZQBSZXNvdXJjZSBzdGlsbCBpbiB1c2UATWFsbG9jIGZhaWx1cmUAaW52YWxpZCBibG9jayB0eXBlAEZhaWx1cmUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlAENhbid0IG9wZW4gZmlsZQBObyBzdWNoIGZpbGUAUHJlbWF0dXJlIGVuZCBvZiBmaWxlAENhbid0IHJlbW92ZSBmaWxlAGludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZQBpbnZhbGlkIGRpc3RhbmNlIGNvZGUAdW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QAc3RyZWFtIGVuZABDb21wcmVzc2VkIGRhdGEgaW52YWxpZABNdWx0aS1kaXNrIHppcCBhcmNoaXZlcyBub3Qgc3VwcG9ydGVkAE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkAEVuY3J5cHRpb24gbWV0aG9kIG5vdCBzdXBwb3J0ZWQAQ29tcHJlc3Npb24gbWV0aG9kIG5vdCBzdXBwb3J0ZWQARW50cnkgaGFzIGJlZW4gZGVsZXRlZABDb250YWluaW5nIHppcCBhcmNoaXZlIHdhcyBjbG9zZWQAQ2xvc2luZyB6aXAgYXJjaGl2ZSBmYWlsZWQAUmVuYW1pbmcgdGVtcG9yYXJ5IGZpbGUgZmFpbGVkAEVudHJ5IGhhcyBiZWVuIGNoYW5nZWQATm8gcGFzc3dvcmQg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AQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQeDZAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdjaAAttBAAAAAQABAAIAAQABQAAAAQABAAIAAQABgAAAAQABgAgACAABgAAAAQABAAQABAABwAAAAgAEAAgACAABwAAAAgAEACAAIAABwAAAAgAIACAAAABCAAAACAAgAACAQAECAAAACAAAgECAQAQCABB0NsAC/cJDAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJ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IGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAEHAmAELdRYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAABwUFAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQBB5JoBCwJQUABBoJsBCxD/////////////////////";to(Di)||(Di=b(Di));function Qs(Be){try{if(Be==Di&&he)return new Uint8Array(he);var xe=Zn(Be);if(xe)return xe;if(R)return R(Be);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(Je){ki(Je)}}function ro(Be,xe){var Je,vt,tr;try{tr=Qs(Be),vt=new WebAssembly.Module(tr),Je=new WebAssembly.Instance(vt,xe)}catch(Tn){var Zr=Tn.toString();throw re("failed to compile wasm module: "+Zr),(Zr.includes("imported Memory")||Zr.includes("memory import"))&&re("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),Tn}return[Je,vt]}function uc(){var Be={a:La};function xe(tr,Zr){var Tn=tr.exports;r.asm=Tn,le=r.asm.g,z(le.buffer),$=r.asm.$,tn(r.asm.h),bs("wasm-instantiate")}if(Hn("wasm-instantiate"),r.instantiateWasm)try{var Je=r.instantiateWasm(Be,xe);return Je}catch(tr){return re("Module.instantiateWasm callback failed with error: "+tr),!1}var vt=ro(Di,Be);return xe(vt[0]),r.asm}function hu(Be){return F.getFloat32(Be,!0)}function op(Be){return F.getFloat64(Be,!0)}function ap(Be){return F.getInt16(Be,!0)}function ks(Be){return F.getInt32(Be,!0)}function Cn(Be,xe){F.setInt32(Be,xe,!0)}function no(Be){for(;Be.length>0;){var xe=Be.shift();if(typeof xe=="function"){xe(r);continue}var Je=xe.func;typeof Je=="number"?xe.arg===void 0?$.get(Je)():$.get(Je)(xe.arg):Je(xe.arg===void 0?null:xe.arg)}}function Fs(Be,xe){var Je=new Date(ks((Be>>2)*4)*1e3);Cn((xe>>2)*4,Je.getUTCSeconds()),Cn((xe+4>>2)*4,Je.getUTCMinutes()),Cn((xe+8>>2)*4,Je.getUTCHours()),Cn((xe+12>>2)*4,Je.getUTCDate()),Cn((xe+16>>2)*4,Je.getUTCMonth()),Cn((xe+20>>2)*4,Je.getUTCFullYear()-1900),Cn((xe+24>>2)*4,Je.getUTCDay()),Cn((xe+36>>2)*4,0),Cn((xe+32>>2)*4,0);var vt=Date.UTC(Je.getUTCFullYear(),0,1,0,0,0,0),tr=(Je.getTime()-vt)/(1e3*60*60*24)|0;return Cn((xe+28>>2)*4,tr),Fs.GMTString||(Fs.GMTString=yt("GMT")),Cn((xe+40>>2)*4,Fs.GMTString),xe}function dl(Be,xe){return Fs(Be,xe)}function ml(Be,xe,Je){je.copyWithin(Be,xe,xe+Je)}function io(Be){try{return le.grow(Be-Qe.byteLength+65535>>>16),z(le.buffer),1}catch{}}function _e(Be){var xe=je.length;Be=Be>>>0;var Je=2147483648;if(Be>Je)return!1;for(var vt=1;vt<=4;vt*=2){var tr=xe*(1+.2/vt);tr=Math.min(tr,Be+100663296);var Zr=Math.min(Je,Te(Math.max(Be,tr),65536)),Tn=io(Zr);if(Tn)return!0}return!1}function Fn(Be){pe(Be)}function Fi(Be){var xe=Date.now()/1e3|0;return Be&&Cn((Be>>2)*4,xe),xe}function Rn(){if(Rn.called)return;Rn.called=!0;var Be=new Date().getFullYear(),xe=new Date(Be,0,1),Je=new Date(Be,6,1),vt=xe.getTimezoneOffset(),tr=Je.getTimezoneOffset(),Zr=Math.max(vt,tr);Cn((mi()>>2)*4,Zr*60),Cn((es()>>2)*4,Number(vt!=tr));function Tn(Ua){var oa=Ua.toTimeString().match(/\(([A-Za-z ]+)\)$/);return oa?oa[1]:"GMT"}var _r=Tn(xe),$n=Tn(Je),Ti=yt(_r),Yn=yt($n);tr<vt?(Cn(($i()>>2)*4,Ti),Cn(($i()+4>>2)*4,Yn)):(Cn(($i()>>2)*4,Yn),Cn(($i()+4>>2)*4,Ti))}function Ui(Be){Rn();var xe=Date.UTC(ks((Be+20>>2)*4)+1900,ks((Be+16>>2)*4),ks((Be+12>>2)*4),ks((Be+8>>2)*4),ks((Be+4>>2)*4),ks((Be>>2)*4),0),Je=new Date(xe);Cn((Be+24>>2)*4,Je.getUTCDay());var vt=Date.UTC(Je.getUTCFullYear(),0,1,0,0,0,0),tr=(Je.getTime()-vt)/(1e3*60*60*24)|0;return Cn((Be+28>>2)*4,tr),Je.getTime()/1e3|0}var Zt=typeof atob=="function"?atob:function(Be){var xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Je="",vt,tr,Zr,Tn,_r,$n,Ti,Yn=0;Be=Be.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Tn=xe.indexOf(Be.charAt(Yn++)),_r=xe.indexOf(Be.charAt(Yn++)),$n=xe.indexOf(Be.charAt(Yn++)),Ti=xe.indexOf(Be.charAt(Yn++)),vt=Tn<<2|_r>>4,tr=(_r&15)<<4|$n>>2,Zr=($n&3)<<6|Ti,Je=Je+String.fromCharCode(vt),$n!==64&&(Je=Je+String.fromCharCode(tr)),Ti!==64&&(Je=Je+String.fromCharCode(Zr));while(Yn<Be.length);return Je};function Ri(Be){if(typeof w=="boolean"&&w){var xe;try{xe=Buffer.from(Be,"base64")}catch{xe=new Buffer(Be,"base64")}return new Uint8Array(xe.buffer,xe.byteOffset,xe.byteLength)}try{for(var Je=Zt(Be),vt=new Uint8Array(Je.length),tr=0;tr<Je.length;++tr)vt[tr]=Je.charCodeAt(tr);return vt}catch{throw new Error("Converting base64 string to bytes failed.")}}function Zn(Be){if(!!to(Be))return Ri(Be.slice(gs.length))}var La={e:dl,c:ml,d:_e,a:Fn,b:Fi,f:Ui},$t=uc(),Ac=r.___wasm_call_ctors=$t.h,gu=r._zip_ext_count_symlinks=$t.i,fc=r._zip_file_get_external_attributes=$t.j,yl=r._zipstruct_stat=$t.k,DA=r._zipstruct_statS=$t.l,du=r._zipstruct_stat_name=$t.m,Ce=r._zipstruct_stat_index=$t.n,Rt=r._zipstruct_stat_size=$t.o,pc=r._zipstruct_stat_mtime=$t.p,_i=r._zipstruct_stat_crc=$t.q,mu=r._zipstruct_error=$t.r,qt=r._zipstruct_errorS=$t.s,El=r._zipstruct_error_code_zip=$t.t,SA=r._zipstruct_stat_comp_size=$t.u,lp=r._zipstruct_stat_comp_method=$t.v,hc=r._zip_close=$t.w,PA=r._zip_delete=$t.x,Dn=r._zip_dir_add=$t.y,ui=r._zip_discard=$t.z,gc=r._zip_error_init_with_code=$t.A,xA=r._zip_get_error=$t.B,ta=r._zip_file_get_error=$t.C,Hi=r._zip_error_strerror=$t.D,Lo=r._zip_fclose=$t.E,$e=r._zip_file_add=$t.F,so=r._free=$t.G,Cl=r._malloc=$t.H,yu=r._zip_source_error=$t.I,qi=r._zip_source_seek=$t.J,Eu=r._zip_file_set_external_attributes=$t.K,bA=r._zip_file_set_mtime=$t.L,Oa=r._zip_fopen=$t.M,dc=r._zip_fopen_index=$t.N,ds=r._zip_fread=$t.O,Ot=r._zip_get_name=$t.P,Sn=r._zip_get_num_entries=$t.Q,di=r._zip_source_read=$t.R,ra=r._zip_name_locate=$t.S,oo=r._zip_open_from_source=$t.T,Rs=r._zip_set_file_compression=$t.U,na=r._zip_source_buffer=$t.V,ia=r._zip_source_buffer_create=$t.W,Oo=r._zip_source_close=$t.X,Zi=r._zip_source_free=$t.Y,Ts=r._zip_source_keep=$t.Z,Ns=r._zip_source_open=$t._,Ls=r._zip_source_set_mtime=$t.aa,ao=r._zip_source_tell=$t.ba,Wn=r._zip_stat=$t.ca,qn=r._zip_stat_index=$t.da,$i=r.__get_tzname=$t.ea,es=r.__get_daylight=$t.fa,mi=r.__get_timezone=$t.ga,Ma=r.stackSave=$t.ha,sa=r.stackRestore=$t.ia,ee=r.stackAlloc=$t.ja;r.cwrap=ne,r.getValue=ge;var we;jr=function Be(){we||qe(),we||(jr=Be)};function qe(Be){if(Be=Be||A,fr>0||(ht(),fr>0))return;function xe(){we||(we=!0,r.calledRun=!0,!Pe&&(Ut(),o(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),Xt()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),xe()},1)):xe()}if(r.run=qe,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return qe(),e}}();typeof hD=="object"&&typeof tT=="object"?tT.exports=eT:typeof define=="function"&&define.amd?define([],function(){return eT}):typeof hD=="object"&&(hD.createModule=eT)});var df,qW,jW,GW=dt(()=>{df=["number","number"],qW=(Z=>(Z[Z.ZIP_ER_OK=0]="ZIP_ER_OK",Z[Z.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",Z[Z.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",Z[Z.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",Z[Z.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",Z[Z.ZIP_ER_READ=5]="ZIP_ER_READ",Z[Z.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",Z[Z.ZIP_ER_CRC=7]="ZIP_ER_CRC",Z[Z.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",Z[Z.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",Z[Z.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",Z[Z.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",Z[Z.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",Z[Z.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",Z[Z.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",Z[Z.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",Z[Z.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",Z[Z.ZIP_ER_EOF=17]="ZIP_ER_EOF",Z[Z.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",Z[Z.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",Z[Z.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",Z[Z.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",Z[Z.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",Z[Z.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",Z[Z.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",Z[Z.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",Z[Z.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",Z[Z.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",Z[Z.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",Z[Z.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",Z[Z.ZIP_ER_TELL=30]="ZIP_ER_TELL",Z[Z.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",Z))(qW||{}),jW=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:qW,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...df,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...df,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...df,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...df,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...df,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...df,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number",...df,"number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...df,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...df,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}})});function rT(t,e){let r=t.indexOf(e);if(r<=0)return null;let o=r;for(;r>=0&&(o=r+e.length,t[o]!==V.sep);){if(t[r-1]===V.sep)return null;r=t.indexOf(e,o)}return t.length>o&&t[o]!==V.sep?null:t.slice(0,o)}var Ll,WW=dt(()=>{bt();bt();Oc();Ll=class extends Mp{static async openPromise(e,r){let o=new Ll(r);try{return await e(o)}finally{o.saveAndClose()}}constructor(e={}){let r=e.fileExtensions,o=e.readOnlyArchives,a=typeof r>"u"?A=>rT(A,".zip"):A=>{for(let p of r){let h=rT(A,p);if(h)return h}return null},n=(A,p)=>new os(p,{baseFs:A,readOnly:o,stats:A.statSync(p)}),u=async(A,p)=>{let h={baseFs:A,readOnly:o,stats:await A.statPromise(p)};return()=>new os(p,h)};super({...e,factorySync:n,factoryPromise:u,getMountPoint:a})}}});function m8e(t){if(typeof t=="string"&&String(+t)===t)return+t;if(typeof t=="number"&&Number.isFinite(t))return t<0?Date.now()/1e3:t;if(YW.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function gD(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var qo,nT,YW,iT,oy,dD,os,sT=dt(()=>{bt();bt();bt();bt();bt();bt();qo=Ie("fs"),nT=Ie("stream"),YW=Ie("util"),iT=tt(Ie("zlib"));$R();oy="mixed";dD=class extends Error{constructor(r,o){super(r);this.name="Libzip Error",this.code=o}},os=class extends Hu{constructor(r,o={}){super();this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;let a=o;if(this.level=typeof a.level<"u"?a.level:oy,r??(r=gD()),typeof r=="string"){let{baseFs:A=new xn}=a;this.baseFs=A,this.path=r}else this.path=null,this.baseFs=null;if(o.stats)this.stats=o.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(A){if(A.code==="ENOENT"&&a.create)this.stats=Nl.makeDefaultStats();else throw A}else this.stats=Nl.makeDefaultStats();this.libzip=NI();let n=this.libzip.malloc(4);try{let A=0;o.readOnly&&(A|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof r=="string"&&(r=a.create?gD():this.baseFs.readFileSync(r));let p=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(p,A,n),this.lzSource=p}catch(h){throw this.libzip.source.free(p),h}if(this.zip===0){let h=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(h,this.libzip.getValue(n,"i32")),this.makeLibzipError(h)}}finally{this.libzip.free(n)}this.listings.set(wt.root,new Set);let u=this.libzip.getNumEntries(this.zip,0);for(let A=0;A<u;++A){let p=this.libzip.getName(this.zip,A,0);if(V.isAbsolute(p))continue;let h=V.resolve(wt.root,p);this.registerEntry(h,A),p.endsWith("/")&&this.registerListing(h)}if(this.symlinkCount=this.libzip.ext.countSymlinks(this.zip),this.symlinkCount===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.ready=!0}makeLibzipError(r){let o=this.libzip.struct.errorCodeZip(r),a=this.libzip.error.strerror(r),n=new dD(a,this.libzip.errors[o]);if(o===this.libzip.errors.ZIP_ER_CHANGED)throw new Error(`Assertion failed: Unexpected libzip error: ${n.message}`);return n}getExtractHint(r){for(let o of this.entries.keys()){let a=this.pathUtils.extname(o);if(r.relevantExtensions.has(a))return!0}return!1}getAllFiles(){return Array.from(this.entries.keys())}getRealPath(){if(!this.path)throw new Error("ZipFS don't have real paths when loaded from a buffer");return this.path}prepareClose(){if(!this.ready)throw sr.EBUSY("archive closed, close");Fg(this)}getBufferAndClose(){if(this.prepareClose(),this.entries.size===0)return this.discardAndClose(),gD();try{if(this.libzip.source.keep(this.lzSource),this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.source.open(this.lzSource)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_END)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let r=this.libzip.source.tell(this.lzSource);if(r===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_SET)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let o=this.libzip.malloc(r);if(!o)throw new Error("Couldn't allocate enough memory");try{let a=this.libzip.source.read(this.lzSource,o,r);if(a===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(a<r)throw new Error("Incomplete read");if(a>r)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(o,o+r);return Buffer.from(n)}finally{this.libzip.free(o)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.readOnly){this.discardAndClose();return}let r=this.baseFs.existsSync(this.path)||this.stats.mode===Nl.DEFAULT_MODE?void 0:this.stats.mode;this.baseFs.writeFileSync(this.path,this.getBufferAndClose(),{mode:r}),this.ready=!1}resolve(r){return V.resolve(wt.root,r)}async openPromise(r,o,a){return this.openSync(r,o,a)}openSync(r,o,a){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:r}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(r,o){return this.opendirSync(r,o)}opendirSync(r,o={}){let a=this.resolveFilename(`opendir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`opendir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`opendir '${r}'`);let u=[...n],A=this.openSync(a,"r");return oD(this,a,u,{onClose:()=>{this.closeSync(A)}})}async readPromise(r,o,a,n,u){return this.readSync(r,o,a,n,u)}readSync(r,o,a=0,n=o.byteLength,u=-1){let A=this.fds.get(r);if(typeof A>"u")throw sr.EBADF("read");let p=u===-1||u===null?A.cursor:u,h=this.readFileSync(A.p);h.copy(o,a,p,p+n);let C=Math.max(0,Math.min(h.length-p,n));return(u===-1||u===null)&&(A.cursor+=C),C}async writePromise(r,o,a,n,u){return typeof o=="string"?this.writeSync(r,o,u):this.writeSync(r,o,a,n,u)}writeSync(r,o,a,n,u){throw typeof this.fds.get(r)>"u"?sr.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw sr.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:o}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new nT.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(A,p)=>{clearImmediate(u),this.closeSync(a),p(A)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),u=setImmediate(async()=>{try{let A=await this.readFilePromise(r,o);n.bytesRead=A.length,n.end(A)}catch(A){n.destroy(A)}});return n}createWriteStream(r,{encoding:o}={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),u=Object.assign(new nT.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(A,p)=>{try{A?p(A):(this.writeFileSync(r,Buffer.concat(a),o),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){u.destroy()},bytesWritten:0,path:r,pending:!1});return u.on("data",A=>{let p=Buffer.from(A);u.bytesWritten+=p.length,a.push(p)}),u}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let o=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`lstat '${r}'`);return o}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw sr.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=V.resolve(wt.root,r);return this.entries.has(a)||this.listings.has(a)}let o;try{o=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return o===void 0?!1:this.entries.has(o)||this.listings.has(o)}async accessPromise(r,o){return this.accessSync(r,o)}accessSync(r,o=qo.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`access '${r}'`);if(this.readOnly&&o&qo.constants.W_OK)throw sr.EROFS(`access '${r}'`)}async statPromise(r,o={bigint:!1}){return o.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,o)}}async fstatPromise(r,o){return this.fstatSync(r,o)}fstatSync(r,o){let a=this.fds.get(r);if(typeof a>"u")throw sr.EBADF("fstatSync");let{p:n}=a,u=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(u)&&!this.listings.has(u))throw sr.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(u))throw sr.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,u,o)}async lstatPromise(r,o={bigint:!1}){return o.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,o)}}statImpl(r,o,a={}){let n=this.entries.get(o);if(typeof n<"u"){let u=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,u)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let p=this.stats.uid,h=this.stats.gid,C=this.libzip.struct.statSize(u)>>>0,w=512,v=Math.ceil(C/w),b=(this.libzip.struct.statMtime(u)>>>0)*1e3,E=b,R=b,L=b,_=new Date(E),J=new Date(R),re=new Date(L),oe=new Date(b),pe=this.listings.has(o)?qo.constants.S_IFDIR:this.isSymbolicLink(n)?qo.constants.S_IFLNK:qo.constants.S_IFREG,he=pe===qo.constants.S_IFDIR?493:420,ve=pe|this.getUnixMode(n,he)&511,ge=this.libzip.struct.statCrc(u),le=Object.assign(new Nl.StatEntry,{uid:p,gid:h,size:C,blksize:w,blocks:v,atime:_,birthtime:J,ctime:re,mtime:oe,atimeMs:E,birthtimeMs:R,ctimeMs:L,mtimeMs:b,mode:ve,crc:ge});return a.bigint===!0?Nl.convertToBigIntStats(le):le}if(this.listings.has(o)){let u=this.stats.uid,A=this.stats.gid,p=0,h=512,C=0,w=this.stats.mtimeMs,v=this.stats.mtimeMs,b=this.stats.mtimeMs,E=this.stats.mtimeMs,R=new Date(w),L=new Date(v),_=new Date(b),J=new Date(E),re=qo.constants.S_IFDIR|493,oe=0,pe=Object.assign(new Nl.StatEntry,{uid:u,gid:A,size:p,blksize:h,blocks:C,atime:R,birthtime:L,ctime:_,mtime:J,atimeMs:w,birthtimeMs:v,ctimeMs:b,mtimeMs:E,mode:re,crc:oe});return a.bigint===!0?Nl.convertToBigIntStats(pe):pe}throw new Error("Unreachable")}getUnixMode(r,o){if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?o:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(r){let o=this.listings.get(r);if(o)return o;this.registerListing(V.dirname(r)).add(V.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,o){this.registerListing(V.dirname(r)).add(V.basename(r)),this.entries.set(r,o)}unregisterListing(r){this.listings.delete(r);let o=this.listings.get(V.dirname(r));o==null||o.delete(V.basename(r))}unregisterEntry(r){this.unregisterListing(r);let o=this.entries.get(r);this.entries.delete(r),!(typeof o>"u")&&(this.fileSources.delete(o),this.isSymbolicLink(o)&&this.symlinkCount--)}deleteEntry(r,o){if(this.unregisterEntry(r),this.libzip.delete(this.zip,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(r,o,a=!0,n=!0){if(!this.ready)throw sr.EBUSY(`archive closed, ${r}`);let u=V.resolve(wt.root,o);if(u==="/")return wt.root;let A=this.entries.get(u);if(a&&A!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(A)){let p=this.getFileSource(A).toString();return this.resolveFilename(r,V.resolve(V.dirname(u),p),!0,n)}else return u;for(;;){let p=this.resolveFilename(r,V.dirname(u),!0,n);if(p===void 0)return p;let h=this.listings.has(p),C=this.entries.has(p);if(!h&&!C){if(n===!1)return;throw sr.ENOENT(r)}if(!h)throw sr.ENOTDIR(r);if(u=V.resolve(p,V.basename(u)),!a||this.symlinkCount===0)break;let w=this.libzip.name.locate(this.zip,u.slice(1),0);if(w===-1)break;if(this.isSymbolicLink(w)){let v=this.getFileSource(w).toString();u=V.resolve(V.dirname(u),v)}else break}return u}allocateBuffer(r){Buffer.isBuffer(r)||(r=Buffer.from(r));let o=this.libzip.malloc(r.byteLength);if(!o)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,o,r.byteLength).set(r),{buffer:o,byteLength:r.byteLength}}allocateUnattachedSource(r){let o=this.libzip.struct.errorS(),{buffer:a,byteLength:n}=this.allocateBuffer(r),u=this.libzip.source.fromUnattachedBuffer(a,n,0,1,o);if(u===0)throw this.libzip.free(o),this.makeLibzipError(o);return u}allocateSource(r){let{buffer:o,byteLength:a}=this.allocateBuffer(r),n=this.libzip.source.fromBuffer(this.zip,o,a,0,1);if(n===0)throw this.libzip.free(o),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(r,o){let a=Buffer.isBuffer(o)?o:Buffer.from(o),n=V.relative(wt.root,r),u=this.allocateSource(o);try{let A=this.libzip.file.add(this.zip,n,u,this.libzip.ZIP_FL_OVERWRITE);if(A===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let p=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,A,0,p,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(A,a),A}catch(A){throw this.libzip.source.free(u),A}}isSymbolicLink(r){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&qo.constants.S_IFMT)===qo.constants.S_IFLNK}getFileSource(r,o={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,r,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let A=this.libzip.struct.statCompSize(n),p=this.libzip.struct.statCompMethod(n),h=this.libzip.malloc(A);try{let C=this.libzip.fopenIndex(this.zip,r,0,this.libzip.ZIP_FL_COMPRESSED);if(C===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let w=this.libzip.fread(C,h,A,0);if(w===-1)throw this.makeLibzipError(this.libzip.file.getError(C));if(w<A)throw new Error("Incomplete read");if(w>A)throw new Error("Overread");let v=this.libzip.HEAPU8.subarray(h,h+A),b=Buffer.from(v);if(p===0)return this.fileSources.set(r,b),b;if(o.asyncDecompress)return new Promise((E,R)=>{iT.default.inflateRaw(b,(L,_)=>{L?R(L):(this.fileSources.set(r,_),E(_))})});{let E=iT.default.inflateRawSync(b);return this.fileSources.set(r,E),E}}finally{this.libzip.fclose(C)}}finally{this.libzip.free(h)}}async fchmodPromise(r,o){return this.chmodPromise(this.fdToPath(r,"fchmod"),o)}fchmodSync(r,o){return this.chmodSync(this.fdToPath(r,"fchmodSync"),o)}async chmodPromise(r,o){return this.chmodSync(r,o)}chmodSync(r,o){if(this.readOnly)throw sr.EROFS(`chmod '${r}'`);o&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let A=this.getUnixMode(n,qo.constants.S_IFREG|0)&-512|o;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,A<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(r,o,a){return this.chownPromise(this.fdToPath(r,"fchown"),o,a)}fchownSync(r,o,a){return this.chownSync(this.fdToPath(r,"fchownSync"),o,a)}async chownPromise(r,o,a){return this.chownSync(r,o,a)}chownSync(r,o,a){throw new Error("Unimplemented")}async renamePromise(r,o){return this.renameSync(r,o)}renameSync(r,o){throw new Error("Unimplemented")}async copyFilePromise(r,o,a){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}copyFileSync(r,o,a=0){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=this.getFileSource(n),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}prepareCopyFile(r,o,a=0){if(this.readOnly)throw sr.EROFS(`copyfile '${r} -> '${o}'`);if((a&qo.constants.COPYFILE_FICLONE_FORCE)!==0)throw sr.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${o}'`);let n=this.resolveFilename(`copyfile '${r} -> ${o}'`,r),u=this.entries.get(n);if(typeof u>"u")throw sr.EINVAL(`copyfile '${r}' -> '${o}'`);let A=this.resolveFilename(`copyfile '${r}' -> ${o}'`,o),p=this.entries.get(A);if((a&(qo.constants.COPYFILE_EXCL|qo.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof p<"u")throw sr.EEXIST(`copyfile '${r}' -> '${o}'`);return{indexSource:u,resolvedDestP:A,indexDest:p}}async appendFilePromise(r,o,a){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,o,a)}appendFileSync(r,o,a={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,o,a)}fdToPath(r,o){var n;let a=(n=this.fds.get(r))==null?void 0:n.p;if(typeof a>"u")throw sr.EBADF(o);return a}async writeFilePromise(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([await this.getFileSource(A,{asyncDecompress:!0}),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&await this.chmodPromise(p,u)}writeFileSync(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([this.getFileSource(A),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&this.chmodSync(p,u)}prepareWriteFile(r,o){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw sr.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw sr.EISDIR(`open '${r}'`);let n=null,u=null;typeof o=="string"?n=o:typeof o=="object"&&({encoding:n=null,mode:u=null}=o);let A=this.entries.get(a);return{encoding:n,mode:u,resolvedP:a,index:A}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw sr.EROFS(`unlink '${r}'`);let o=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(o))throw sr.EISDIR(`unlink '${r}'`);let a=this.entries.get(o);if(typeof a>"u")throw sr.EINVAL(`unlink '${r}'`);this.deleteEntry(o,a)}async utimesPromise(r,o,a){return this.utimesSync(r,o,a)}utimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,o,a){return this.lutimesSync(r,o,a)}lutimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,o){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,a,0,m8e(o),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(r,o){return this.mkdirSync(r,o)}mkdirSync(r,{mode:o=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:o});if(this.readOnly)throw sr.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw sr.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,o)}async rmdirPromise(r,o){return this.rmdirSync(r,o)}rmdirSync(r,{recursive:o=!1}={}){if(this.readOnly)throw sr.EROFS(`rmdir '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw sr.ENOTEMPTY(`rmdir '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw sr.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,u)}hydrateDirectory(r){let o=this.libzip.dir.add(this.zip,V.relative(wt.root,r));if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(r),this.registerEntry(r,o),o}async linkPromise(r,o){return this.linkSync(r,o)}linkSync(r,o){throw sr.EOPNOTSUPP(`link '${r}' -> '${o}'`)}async symlinkPromise(r,o){return this.symlinkSync(r,o)}symlinkSync(r,o){if(this.readOnly)throw sr.EROFS(`symlink '${r}' -> '${o}'`);let a=this.resolveFilename(`symlink '${r}' -> '${o}'`,o);if(this.listings.has(a))throw sr.EISDIR(`symlink '${r}' -> '${o}'`);if(this.entries.has(a))throw sr.EEXIST(`symlink '${r}' -> '${o}'`);let n=this.setFileSource(a,r);if(this.registerEntry(a,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(qo.constants.S_IFLNK|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return o?a.toString(o):a}readFileSync(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=this.readFileBuffer(r);return o?a.toString(o):a}readFileBuffer(r,o={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw sr.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,o)}async readdirPromise(r,o){return this.readdirSync(r,o)}readdirSync(r,o){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`scandir '${r}'`);let u=[...n];return o!=null&&o.withFileTypes?u.map(A=>Object.assign(this.statImpl("lstat",V.join(r,A)),{name:A})):u}async readlinkPromise(r){let o=this.prepareReadlink(r);return(await this.getFileSource(o,{asyncDecompress:!0})).toString()}readlinkSync(r){let o=this.prepareReadlink(r);return this.getFileSource(o).toString()}prepareReadlink(r){let o=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(o))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(o))throw sr.EINVAL(`readlink '${r}'`);let a=this.entries.get(o);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw sr.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=await this.getFileSource(n,{asyncDecompress:!0}),A=Buffer.alloc(o,0);return u.copy(A),await this.writeFilePromise(r,A)}truncateSync(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=this.getFileSource(n),A=Buffer.alloc(o,0);return u.copy(A),this.writeFileSync(r,A)}async ftruncatePromise(r,o){return this.truncatePromise(this.fdToPath(r,"ftruncate"),o)}ftruncateSync(r,o){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),o)}watch(r,o,a){let n;switch(typeof o){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=o);break}if(!n)return{on:()=>{},close:()=>{}};let u=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(u)}}}watchFile(r,o,a){let n=V.resolve(wt.root,r);return ey(this,n,o,a)}unwatchFile(r,o){let a=V.resolve(wt.root,r);return kg(this,a,o)}}});function JW(t,e,r=Buffer.alloc(0),o){let a=new os(r),n=w=>w===e||w.startsWith(`${e}/`)?w.slice(0,e.length):null,u=async(w,v)=>()=>a,A=(w,v)=>a,p={...t},h=new xn(p),C=new Mp({baseFs:h,getMountPoint:n,factoryPromise:u,factorySync:A,magicByte:21,maxAge:1/0,typeCheck:o==null?void 0:o.typeCheck});return RI(KW.default,new Up(C)),a}var KW,VW=dt(()=>{bt();KW=tt(Ie("fs"));sT()});var zW=dt(()=>{WW();sT();VW()});var LI={};Yt(LI,{DEFAULT_COMPRESSION_LEVEL:()=>oy,LibzipError:()=>dD,ZipFS:()=>os,ZipOpenFS:()=>Ll,getArchivePart:()=>rT,getLibzipPromise:()=>E8e,getLibzipSync:()=>y8e,makeEmptyArchive:()=>gD,mountMemoryDrive:()=>JW});function y8e(){return NI()}async function E8e(){return NI()}var XW,Oc=dt(()=>{$R();XW=tt(HW());GW();zW();_W(()=>{let t=(0,XW.default)();return jW(t)})});var $W=U((VPt,ZW)=>{"use strict";function C8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Og(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Og)}C8e(Og,Error);Og.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var C="",w;for(w=0;w<h.parts.length;w++)C+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+C+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function u(h){return r[h.type](h)}function A(h){var C=new Array(h.length),w,v;for(w=0;w<h.length;w++)C[w]=u(h[w]);if(C.sort(),C.length>0){for(w=1,v=1;w<C.length;w++)C[w-1]!==C[w]&&(C[v]=C[w],v++);C.length=v}switch(C.length){case 1:return C[0];case 2:return C[0]+" or "+C[1];default:return C.slice(0,-1).join(", ")+", or "+C[C.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function I8e(t,e){e=e!==void 0?e:{};var r={},o={Start:ag},a=ag,n=function(N){return N||[]},u=function(N,K,te){return[{command:N,type:K}].concat(te||[])},A=function(N,K){return[{command:N,type:K||";"}]},p=function(N){return N},h=";",C=yr(";",!1),w="&",v=yr("&",!1),b=function(N,K){return K?{chain:N,then:K}:{chain:N}},E=function(N,K){return{type:N,line:K}},R="&&",L=yr("&&",!1),_="||",J=yr("||",!1),re=function(N,K){return K?{...N,then:K}:N},oe=function(N,K){return{type:N,chain:K}},pe="|&",he=yr("|&",!1),ve="|",ge=yr("|",!1),le="=",Pe=yr("=",!1),g=function(N,K){return{name:N,args:[K]}},De=function(N){return{name:N,args:[]}},Ee="(",de=yr("(",!1),ne=")",Z=yr(")",!1),me=function(N,K){return{type:"subshell",subshell:N,args:K}},be="{",ut=yr("{",!1),H="}",yt=yr("}",!1),Me=function(N,K){return{type:"group",group:N,args:K}},Te=function(N,K){return{type:"command",args:K,envs:N}},Qe=function(N){return{type:"envs",envs:N}},Ue=function(N){return N},je=function(N){return N},At=/^[0-9]/,Le=ys([["0","9"]],!1,!1),x=function(N,K,te){return{type:"redirection",subtype:K,fd:N!==null?parseInt(N):null,args:[te]}},I=">>",P=yr(">>",!1),y=">&",F=yr(">&",!1),z=">",X=yr(">",!1),$="<<<",ie=yr("<<<",!1),ke="<&",Ne=yr("<&",!1),st="<",ht=yr("<",!1),Ut=function(N){return{type:"argument",segments:[].concat(...N)}},Xt=function(N){return N},Pt="$'",tn=yr("$'",!1),Dr="'",fr=yr("'",!1),Br=function(N){return[{type:"text",text:N}]},jr='""',Hn=yr('""',!1),bs=function(){return{type:"text",text:""}},ki='"',gs=yr('"',!1),to=function(N){return N},Di=function(N){return{type:"arithmetic",arithmetic:N,quoted:!0}},Qs=function(N){return{type:"shell",shell:N,quoted:!0}},ro=function(N){return{type:"variable",...N,quoted:!0}},uc=function(N){return{type:"text",text:N}},hu=function(N){return{type:"arithmetic",arithmetic:N,quoted:!1}},op=function(N){return{type:"shell",shell:N,quoted:!1}},ap=function(N){return{type:"variable",...N,quoted:!1}},ks=function(N){return{type:"glob",pattern:N}},Cn=/^[^']/,no=ys(["'"],!0,!1),Fs=function(N){return N.join("")},dl=/^[^$"]/,ml=ys(["$",'"'],!0,!1),io=`\\ | 9 | `)}async preserveTimePromise(e,r){let o=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,o.atime,o.mtime)}async preserveTimeSync(e,r){let o=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,o.atime,o.mtime)}},qu=class extends gf{constructor(){super(z)}}});var vs,df=dt(()=>{Og();vs=class extends gf{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,o){return this.baseFs.openPromise(this.mapToBase(e),r,o)}openSync(e,r,o){return this.baseFs.openSync(this.mapToBase(e),r,o)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,o,a,n){return await this.baseFs.readPromise(e,r,o,a,n)}readSync(e,r,o,a,n){return this.baseFs.readSync(e,r,o,a,n)}async writePromise(e,r,o,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,o):await this.baseFs.writePromise(e,r,o,a,n)}writeSync(e,r,o,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,o):this.baseFs.writeSync(e,r,o,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,o){return this.baseFs.fchownPromise(e,r,o)}fchownSync(e,r,o){return this.baseFs.fchownSync(e,r,o)}async chownPromise(e,r,o){return this.baseFs.chownPromise(this.mapToBase(e),r,o)}chownSync(e,r,o){return this.baseFs.chownSync(this.mapToBase(e),r,o)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,o=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),o)}copyFileSync(e,r,o=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),o)}async appendFilePromise(e,r,o){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,o)}appendFileSync(e,r,o){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,o)}async writeFilePromise(e,r,o){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,o)}writeFileSync(e,r,o){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,o)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,o){return this.baseFs.utimesPromise(this.mapToBase(e),r,o)}utimesSync(e,r,o){return this.baseFs.utimesSync(this.mapToBase(e),r,o)}async lutimesPromise(e,r,o){return this.baseFs.lutimesPromise(this.mapToBase(e),r,o)}lutimesSync(e,r,o){return this.baseFs.lutimesSync(this.mapToBase(e),r,o)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(u,a,o)}symlinkSync(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(u,a,o)}async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}watch(e,r,o){return this.baseFs.watch(this.mapToBase(e),r,o)}watchFile(e,r,o){return this.baseFs.watchFile(this.mapToBase(e),r,o)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}}});var ju,M7=dt(()=>{df();ju=class extends vs{constructor(r,{baseFs:o,pathUtils:a}){super(a);this.target=r,this.baseFs=o}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(r){return r}mapToBase(r){return r}}});var U7,xn,Mg=dt(()=>{U7=tt(Ie("fs"));Og();Ca();xn=class extends qu{constructor(r=U7.default){super();this.realFs=r}getExtractHint(){return!1}getRealPath(){return wt.root}resolve(r){return z.resolve(r)}async openPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.open(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}openSync(r,o,a){return this.realFs.openSync(ue.fromPortablePath(r),o,a)}async opendirPromise(r,o){return await new Promise((a,n)=>{typeof o<"u"?this.realFs.opendir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.opendir(ue.fromPortablePath(r),this.makeCallback(a,n))}).then(a=>Object.defineProperty(a,"path",{value:r,configurable:!0,writable:!0}))}opendirSync(r,o){let a=typeof o<"u"?this.realFs.opendirSync(ue.fromPortablePath(r),o):this.realFs.opendirSync(ue.fromPortablePath(r));return Object.defineProperty(a,"path",{value:r,configurable:!0,writable:!0})}async readPromise(r,o,a=0,n=0,u=-1){return await new Promise((A,p)=>{this.realFs.read(r,o,a,n,u,(h,E)=>{h?p(h):A(E)})})}readSync(r,o,a,n,u){return this.realFs.readSync(r,o,a,n,u)}async writePromise(r,o,a,n,u){return await new Promise((A,p)=>typeof o=="string"?this.realFs.write(r,o,a,this.makeCallback(A,p)):this.realFs.write(r,o,a,n,u,this.makeCallback(A,p)))}writeSync(r,o,a,n,u){return typeof o=="string"?this.realFs.writeSync(r,o,a):this.realFs.writeSync(r,o,a,n,u)}async closePromise(r){await new Promise((o,a)=>{this.realFs.close(r,this.makeCallback(o,a))})}closeSync(r){this.realFs.closeSync(r)}createReadStream(r,o){let a=r!==null?ue.fromPortablePath(r):r;return this.realFs.createReadStream(a,o)}createWriteStream(r,o){let a=r!==null?ue.fromPortablePath(r):r;return this.realFs.createWriteStream(a,o)}async realpathPromise(r){return await new Promise((o,a)=>{this.realFs.realpath(ue.fromPortablePath(r),{},this.makeCallback(o,a))}).then(o=>ue.toPortablePath(o))}realpathSync(r){return ue.toPortablePath(this.realFs.realpathSync(ue.fromPortablePath(r),{}))}async existsPromise(r){return await new Promise(o=>{this.realFs.exists(ue.fromPortablePath(r),o)})}accessSync(r,o){return this.realFs.accessSync(ue.fromPortablePath(r),o)}async accessPromise(r,o){return await new Promise((a,n)=>{this.realFs.access(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}existsSync(r){return this.realFs.existsSync(ue.fromPortablePath(r))}async statPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.stat(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.stat(ue.fromPortablePath(r),this.makeCallback(a,n))})}statSync(r,o){return o?this.realFs.statSync(ue.fromPortablePath(r),o):this.realFs.statSync(ue.fromPortablePath(r))}async fstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.fstat(r,o,this.makeCallback(a,n)):this.realFs.fstat(r,this.makeCallback(a,n))})}fstatSync(r,o){return o?this.realFs.fstatSync(r,o):this.realFs.fstatSync(r)}async lstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.lstat(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.lstat(ue.fromPortablePath(r),this.makeCallback(a,n))})}lstatSync(r,o){return o?this.realFs.lstatSync(ue.fromPortablePath(r),o):this.realFs.lstatSync(ue.fromPortablePath(r))}async fchmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.fchmod(r,o,this.makeCallback(a,n))})}fchmodSync(r,o){return this.realFs.fchmodSync(r,o)}async chmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.chmod(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}chmodSync(r,o){return this.realFs.chmodSync(ue.fromPortablePath(r),o)}async fchownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.fchown(r,o,a,this.makeCallback(n,u))})}fchownSync(r,o,a){return this.realFs.fchownSync(r,o,a)}async chownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.chown(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}chownSync(r,o,a){return this.realFs.chownSync(ue.fromPortablePath(r),o,a)}async renamePromise(r,o){return await new Promise((a,n)=>{this.realFs.rename(ue.fromPortablePath(r),ue.fromPortablePath(o),this.makeCallback(a,n))})}renameSync(r,o){return this.realFs.renameSync(ue.fromPortablePath(r),ue.fromPortablePath(o))}async copyFilePromise(r,o,a=0){return await new Promise((n,u)=>{this.realFs.copyFile(ue.fromPortablePath(r),ue.fromPortablePath(o),a,this.makeCallback(n,u))})}copyFileSync(r,o,a=0){return this.realFs.copyFileSync(ue.fromPortablePath(r),ue.fromPortablePath(o),a)}async appendFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.appendFile(A,o,a,this.makeCallback(n,u)):this.realFs.appendFile(A,o,this.makeCallback(n,u))})}appendFileSync(r,o,a){let n=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.appendFileSync(n,o,a):this.realFs.appendFileSync(n,o)}async writeFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.writeFile(A,o,a,this.makeCallback(n,u)):this.realFs.writeFile(A,o,this.makeCallback(n,u))})}writeFileSync(r,o,a){let n=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.writeFileSync(n,o,a):this.realFs.writeFileSync(n,o)}async unlinkPromise(r){return await new Promise((o,a)=>{this.realFs.unlink(ue.fromPortablePath(r),this.makeCallback(o,a))})}unlinkSync(r){return this.realFs.unlinkSync(ue.fromPortablePath(r))}async utimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.utimes(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}utimesSync(r,o,a){this.realFs.utimesSync(ue.fromPortablePath(r),o,a)}async lutimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.lutimes(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}lutimesSync(r,o,a){this.realFs.lutimesSync(ue.fromPortablePath(r),o,a)}async mkdirPromise(r,o){return await new Promise((a,n)=>{this.realFs.mkdir(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}mkdirSync(r,o){return this.realFs.mkdirSync(ue.fromPortablePath(r),o)}async rmdirPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.rmdir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.rmdir(ue.fromPortablePath(r),this.makeCallback(a,n))})}rmdirSync(r,o){return this.realFs.rmdirSync(ue.fromPortablePath(r),o)}async linkPromise(r,o){return await new Promise((a,n)=>{this.realFs.link(ue.fromPortablePath(r),ue.fromPortablePath(o),this.makeCallback(a,n))})}linkSync(r,o){return this.realFs.linkSync(ue.fromPortablePath(r),ue.fromPortablePath(o))}async symlinkPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.symlink(ue.fromPortablePath(r.replace(/\/+$/,"")),ue.fromPortablePath(o),a,this.makeCallback(n,u))})}symlinkSync(r,o,a){return this.realFs.symlinkSync(ue.fromPortablePath(r.replace(/\/+$/,"")),ue.fromPortablePath(o),a)}async readFilePromise(r,o){return await new Promise((a,n)=>{let u=typeof r=="string"?ue.fromPortablePath(r):r;this.realFs.readFile(u,o,this.makeCallback(a,n))})}readFileSync(r,o){let a=typeof r=="string"?ue.fromPortablePath(r):r;return this.realFs.readFileSync(a,o)}async readdirPromise(r,o){return await new Promise((a,n)=>{o!=null&&o.withFileTypes?this.realFs.readdir(ue.fromPortablePath(r),{withFileTypes:!0},this.makeCallback(a,n)):this.realFs.readdir(ue.fromPortablePath(r),this.makeCallback(u=>a(u),n))})}readdirSync(r,o){return o!=null&&o.withFileTypes?this.realFs.readdirSync(ue.fromPortablePath(r),{withFileTypes:!0}):this.realFs.readdirSync(ue.fromPortablePath(r))}async readlinkPromise(r){return await new Promise((o,a)=>{this.realFs.readlink(ue.fromPortablePath(r),this.makeCallback(o,a))}).then(o=>ue.toPortablePath(o))}readlinkSync(r){return ue.toPortablePath(this.realFs.readlinkSync(ue.fromPortablePath(r)))}async truncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.truncate(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}truncateSync(r,o){return this.realFs.truncateSync(ue.fromPortablePath(r),o)}async ftruncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.ftruncate(r,o,this.makeCallback(a,n))})}ftruncateSync(r,o){return this.realFs.ftruncateSync(r,o)}watch(r,o,a){return this.realFs.watch(ue.fromPortablePath(r),o,a)}watchFile(r,o,a){return this.realFs.watchFile(ue.fromPortablePath(r),o,a)}unwatchFile(r,o){return this.realFs.unwatchFile(ue.fromPortablePath(r),o)}makeCallback(r,o){return(a,n)=>{a?o(a):r(n)}}}});var An,_7=dt(()=>{Mg();df();Ca();An=class extends vs{constructor(r,{baseFs:o=new xn}={}){super(z);this.target=this.pathUtils.normalize(r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(r){return this.pathUtils.isAbsolute(r)?z.normalize(r):this.baseFs.resolve(z.join(this.target,r))}mapFromBase(r){return r}mapToBase(r){return this.pathUtils.isAbsolute(r)?r:this.pathUtils.join(this.target,r)}}});var H7,Gu,q7=dt(()=>{Mg();df();Ca();H7=wt.root,Gu=class extends vs{constructor(r,{baseFs:o=new xn}={}){super(z);this.target=this.pathUtils.resolve(wt.root,r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(wt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(r){let o=this.pathUtils.normalize(r);if(this.pathUtils.isAbsolute(r))return this.pathUtils.resolve(this.target,this.pathUtils.relative(H7,r));if(o.match(/^\.\.\/?/))throw new Error(`Resolving this path (${r}) would escape the jail`);return this.pathUtils.resolve(this.target,r)}mapFromBase(r){return this.pathUtils.resolve(H7,this.pathUtils.relative(this.target,r))}}});var oy,j7=dt(()=>{df();oy=class extends vs{constructor(r,o){super(o);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var Ug,Ea,Up,G7=dt(()=>{Ug=Ie("fs");Og();Mg();UR();cD();Ca();Ea=4278190080,Up=class extends qu{constructor({baseFs:r=new xn,filter:o=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:u=!0,maxAge:A=5e3,typeCheck:p=Ug.constants.S_IFREG,getMountPoint:h,factoryPromise:E,factorySync:w}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=u?new Map:null,this.factoryPromise=E,this.factorySync=w,this.filter=o,this.getMountPoint=h,this.magic=a<<24,this.maxAge=A,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){var r;if(Ng(this),this.mountInstances)for(let[o,{childFs:a}]of this.mountInstances.entries())(r=a.saveAndClose)==null||r.call(a),this.mountInstances.delete(o)}discardAndClose(){var r;if(Ng(this),this.mountInstances)for(let[o,{childFs:a}]of this.mountInstances.entries())(r=a.discardAndClose)==null||r.call(a),this.mountInstances.delete(o)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,o){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,o]),a}async openPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,o,a),async(n,{subPath:u})=>this.remapFd(n,await n.openPromise(u,o,a)))}openSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,o,a),(n,{subPath:u})=>this.remapFd(n,n.openSync(u,o,a)))}async opendirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,o),async(a,{subPath:n})=>await a.opendirPromise(n,o),{requireSubpath:!1})}opendirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,o),(a,{subPath:n})=>a.opendirSync(n,o),{requireSubpath:!1})}async readPromise(r,o,a,n,u){if((r&Ea)!==this.magic)return await this.baseFs.readPromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Eo("read");let[p,h]=A;return await p.readPromise(h,o,a,n,u)}readSync(r,o,a,n,u){if((r&Ea)!==this.magic)return this.baseFs.readSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Eo("readSync");let[p,h]=A;return p.readSync(h,o,a,n,u)}async writePromise(r,o,a,n,u){if((r&Ea)!==this.magic)return typeof o=="string"?await this.baseFs.writePromise(r,o,a):await this.baseFs.writePromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Eo("write");let[p,h]=A;return typeof o=="string"?await p.writePromise(h,o,a):await p.writePromise(h,o,a,n,u)}writeSync(r,o,a,n,u){if((r&Ea)!==this.magic)return typeof o=="string"?this.baseFs.writeSync(r,o,a):this.baseFs.writeSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw Eo("writeSync");let[p,h]=A;return typeof o=="string"?p.writeSync(h,o,a):p.writeSync(h,o,a,n,u)}async closePromise(r){if((r&Ea)!==this.magic)return await this.baseFs.closePromise(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Eo("close");this.fdMap.delete(r);let[a,n]=o;return await a.closePromise(n)}closeSync(r){if((r&Ea)!==this.magic)return this.baseFs.closeSync(r);let o=this.fdMap.get(r);if(typeof o>"u")throw Eo("closeSync");this.fdMap.delete(r);let[a,n]=o;return a.closeSync(n)}createReadStream(r,o){return r===null?this.baseFs.createReadStream(r,o):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,o),(a,{archivePath:n,subPath:u})=>{let A=a.createReadStream(u,o);return A.path=ue.fromPortablePath(this.pathUtils.join(n,u)),A})}createWriteStream(r,o){return r===null?this.baseFs.createWriteStream(r,o):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,o),(a,{subPath:n})=>a.createWriteStream(n,o))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=await this.baseFs.realpathPromise(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(wt.root,await o.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=this.baseFs.realpathSync(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(wt.root,o.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(o,{subPath:a})=>await o.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(o,{subPath:a})=>o.existsSync(a))}async accessPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,o),async(a,{subPath:n})=>await a.accessPromise(n,o))}accessSync(r,o){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,o),(a,{subPath:n})=>a.accessSync(n,o))}async statPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,o),async(a,{subPath:n})=>await a.statPromise(n,o))}statSync(r,o){return this.makeCallSync(r,()=>this.baseFs.statSync(r,o),(a,{subPath:n})=>a.statSync(n,o))}async fstatPromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.fstatPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("fstat");let[n,u]=a;return n.fstatPromise(u,o)}fstatSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.fstatSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("fstatSync");let[n,u]=a;return n.fstatSync(u,o)}async lstatPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,o),async(a,{subPath:n})=>await a.lstatPromise(n,o))}lstatSync(r,o){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,o),(a,{subPath:n})=>a.lstatSync(n,o))}async fchmodPromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.fchmodPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("fchmod");let[n,u]=a;return n.fchmodPromise(u,o)}fchmodSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.fchmodSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("fchmodSync");let[n,u]=a;return n.fchmodSync(u,o)}async chmodPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,o),async(a,{subPath:n})=>await a.chmodPromise(n,o))}chmodSync(r,o){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,o),(a,{subPath:n})=>a.chmodSync(n,o))}async fchownPromise(r,o,a){if((r&Ea)!==this.magic)return this.baseFs.fchownPromise(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Eo("fchown");let[u,A]=n;return u.fchownPromise(A,o,a)}fchownSync(r,o,a){if((r&Ea)!==this.magic)return this.baseFs.fchownSync(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Eo("fchownSync");let[u,A]=n;return u.fchownSync(A,o,a)}async chownPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,o,a),async(n,{subPath:u})=>await n.chownPromise(u,o,a))}chownSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,o,a),(n,{subPath:u})=>n.chownSync(u,o,a))}async renamePromise(r,o){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.renamePromise(r,o),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(o,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,A)}))}renameSync(r,o){return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.renameSync(r,o),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(o,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,A)}))}async copyFilePromise(r,o,a=0){let n=async(u,A,p,h)=>{if((a&Ug.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&Ug.constants.COPYFILE_EXCL&&await this.existsPromise(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=await u.readFilePromise(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,E)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.copyFilePromise(r,o,a),async(u,{subPath:A})=>await n(this.baseFs,r,u,A)),async(u,{subPath:A})=>await this.makeCallPromise(o,async()=>await n(u,A,this.baseFs,o),async(p,{subPath:h})=>u!==p?await n(u,A,p,h):await u.copyFilePromise(A,h,a)))}copyFileSync(r,o,a=0){let n=(u,A,p,h)=>{if((a&Ug.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&Ug.constants.COPYFILE_EXCL&&this.existsSync(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=u.readFileSync(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,E)};return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.copyFileSync(r,o,a),(u,{subPath:A})=>n(this.baseFs,r,u,A)),(u,{subPath:A})=>this.makeCallSync(o,()=>n(u,A,this.baseFs,o),(p,{subPath:h})=>u!==p?n(u,A,p,h):u.copyFileSync(A,h,a)))}async appendFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,o,a),async(n,{subPath:u})=>await n.appendFilePromise(u,o,a))}appendFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,o,a),(n,{subPath:u})=>n.appendFileSync(u,o,a))}async writeFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,o,a),async(n,{subPath:u})=>await n.writeFilePromise(u,o,a))}writeFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,o,a),(n,{subPath:u})=>n.writeFileSync(u,o,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(o,{subPath:a})=>await o.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(o,{subPath:a})=>o.unlinkSync(a))}async utimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,o,a),async(n,{subPath:u})=>await n.utimesPromise(u,o,a))}utimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,o,a),(n,{subPath:u})=>n.utimesSync(u,o,a))}async lutimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,o,a),async(n,{subPath:u})=>await n.lutimesPromise(u,o,a))}lutimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,o,a),(n,{subPath:u})=>n.lutimesSync(u,o,a))}async mkdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,o),async(a,{subPath:n})=>await a.mkdirPromise(n,o))}mkdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,o),(a,{subPath:n})=>a.mkdirSync(n,o))}async rmdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,o),async(a,{subPath:n})=>await a.rmdirPromise(n,o))}rmdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,o),(a,{subPath:n})=>a.rmdirSync(n,o))}async linkPromise(r,o){return await this.makeCallPromise(o,async()=>await this.baseFs.linkPromise(r,o),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,o){return this.makeCallSync(o,()=>this.baseFs.linkSync(r,o),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,o,a){return await this.makeCallPromise(o,async()=>await this.baseFs.symlinkPromise(r,o,a),async(n,{subPath:u})=>await n.symlinkPromise(r,u))}symlinkSync(r,o,a){return this.makeCallSync(o,()=>this.baseFs.symlinkSync(r,o,a),(n,{subPath:u})=>n.symlinkSync(r,u))}async readFilePromise(r,o){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,o),async(a,{subPath:n})=>await a.readFilePromise(n,o))}readFileSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,o),(a,{subPath:n})=>a.readFileSync(n,o))}async readdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,o),async(a,{subPath:n})=>await a.readdirPromise(n,o),{requireSubpath:!1})}readdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,o),(a,{subPath:n})=>a.readdirSync(n,o),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(o,{subPath:a})=>await o.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(o,{subPath:a})=>o.readlinkSync(a))}async truncatePromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,o),async(a,{subPath:n})=>await a.truncatePromise(n,o))}truncateSync(r,o){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,o),(a,{subPath:n})=>a.truncateSync(n,o))}async ftruncatePromise(r,o){if((r&Ea)!==this.magic)return this.baseFs.ftruncatePromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("ftruncate");let[n,u]=a;return n.ftruncatePromise(u,o)}ftruncateSync(r,o){if((r&Ea)!==this.magic)return this.baseFs.ftruncateSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw Eo("ftruncateSync");let[n,u]=a;return n.ftruncateSync(u,o)}watch(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,o,a),(n,{subPath:u})=>n.watch(u,o,a))}watchFile(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,o,a),()=>sy(this,r,o,a))}unwatchFile(r,o){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,o),()=>Tg(this,r,o))}async makeCallPromise(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await o();let u=this.resolve(r),A=this.findMount(u);return A?n&&A.subPath==="/"?await o():await this.getMountPromise(A.archivePath,async p=>await a(p,A)):await o()}makeCallSync(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return o();let u=this.resolve(r),A=this.findMount(u);return!A||n&&A.subPath==="/"?o():this.getMountSync(A.archivePath,p=>a(p,A))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let o="";for(;;){let a=r.substring(o.length),n=this.getMountPoint(a,o);if(!n)return null;if(o=this.pathUtils.join(o,n),!this.isMount.has(o)){if(this.notMount.has(o))continue;try{if(this.typeCheck!==null&&(this.baseFs.lstatSync(o).mode&Ug.constants.S_IFMT)!==this.typeCheck){this.notMount.add(o);continue}}catch{return null}this.isMount.add(o)}return{archivePath:o,subPath:this.pathUtils.join(wt.root,r.substring(o.length))}}}limitOpenFiles(r){var u,A,p;if(this.mountInstances===null)return;let o=Date.now(),a=o+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[h,{childFs:E,expiresAt:w,refCount:v}]of this.mountInstances.entries())if(!(v!==0||((u=E.hasOpenFileHandles)==null?void 0:u.call(E)))){if(o>=w){(A=E.saveAndClose)==null||A.call(E),this.mountInstances.delete(h),n-=1;continue}else if(r===null||n<=0){a=w;break}(p=E.saveAndClose)==null||p.call(E),this.mountInstances.delete(h),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-o).unref())}async getMountPromise(r,o){var a;if(this.mountInstances){let n=this.mountInstances.get(r);if(!n){let u=await this.factoryPromise(this.baseFs,r);n=this.mountInstances.get(r),n||(n={childFs:u(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await o(n.childFs)}finally{n.refCount-=1}}else{let n=(await this.factoryPromise(this.baseFs,r))();try{return await o(n)}finally{(a=n.saveAndClose)==null||a.call(n)}}}getMountSync(r,o){var a;if(this.mountInstances){let n=this.mountInstances.get(r);return n||(n={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,n),n.expiresAt=Date.now()+this.maxAge,o(n.childFs)}else{let n=this.factorySync(this.baseFs,r);try{return o(n)}finally{(a=n.saveAndClose)==null||a.call(n)}}}}});var zt,_R,NI,W7=dt(()=>{Og();Ca();zt=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),_R=class extends gf{constructor(){super(z)}getExtractHint(){throw zt()}getRealPath(){throw zt()}resolve(){throw zt()}async openPromise(){throw zt()}openSync(){throw zt()}async opendirPromise(){throw zt()}opendirSync(){throw zt()}async readPromise(){throw zt()}readSync(){throw zt()}async writePromise(){throw zt()}writeSync(){throw zt()}async closePromise(){throw zt()}closeSync(){throw zt()}createWriteStream(){throw zt()}createReadStream(){throw zt()}async realpathPromise(){throw zt()}realpathSync(){throw zt()}async readdirPromise(){throw zt()}readdirSync(){throw zt()}async existsPromise(e){throw zt()}existsSync(e){throw zt()}async accessPromise(){throw zt()}accessSync(){throw zt()}async statPromise(){throw zt()}statSync(){throw zt()}async fstatPromise(e){throw zt()}fstatSync(e){throw zt()}async lstatPromise(e){throw zt()}lstatSync(e){throw zt()}async fchmodPromise(){throw zt()}fchmodSync(){throw zt()}async chmodPromise(){throw zt()}chmodSync(){throw zt()}async fchownPromise(){throw zt()}fchownSync(){throw zt()}async chownPromise(){throw zt()}chownSync(){throw zt()}async mkdirPromise(){throw zt()}mkdirSync(){throw zt()}async rmdirPromise(){throw zt()}rmdirSync(){throw zt()}async linkPromise(){throw zt()}linkSync(){throw zt()}async symlinkPromise(){throw zt()}symlinkSync(){throw zt()}async renamePromise(){throw zt()}renameSync(){throw zt()}async copyFilePromise(){throw zt()}copyFileSync(){throw zt()}async appendFilePromise(){throw zt()}appendFileSync(){throw zt()}async writeFilePromise(){throw zt()}writeFileSync(){throw zt()}async unlinkPromise(){throw zt()}unlinkSync(){throw zt()}async utimesPromise(){throw zt()}utimesSync(){throw zt()}async lutimesPromise(){throw zt()}lutimesSync(){throw zt()}async readFilePromise(){throw zt()}readFileSync(){throw zt()}async readlinkPromise(){throw zt()}readlinkSync(){throw zt()}async truncatePromise(){throw zt()}truncateSync(){throw zt()}async ftruncatePromise(e,r){throw zt()}ftruncateSync(e,r){throw zt()}watch(){throw zt()}watchFile(){throw zt()}unwatchFile(){throw zt()}},NI=_R;NI.instance=new _R});var _p,Y7=dt(()=>{df();Ca();_p=class extends vs{constructor(r){super(ue);this.baseFs=r}mapFromBase(r){return ue.fromPortablePath(r)}mapToBase(r){return ue.toPortablePath(r)}}});var V_e,HR,J_e,pi,K7=dt(()=>{Mg();df();Ca();V_e=/^[0-9]+$/,HR=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,J_e=/^([^/]+-)?[a-f0-9]+$/,pi=class extends vs{constructor({baseFs:r=new xn}={}){super(z);this.baseFs=r}static makeVirtualPath(r,o,a){if(z.basename(r)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!z.basename(o).match(J_e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let u=z.relative(z.dirname(r),a).split("/"),A=0;for(;A<u.length&&u[A]==="..";)A+=1;let p=u.slice(A);return z.join(r,o,String(A),...p)}static resolveVirtual(r){let o=r.match(HR);if(!o||!o[3]&&o[5])return r;let a=z.dirname(o[1]);if(!o[3]||!o[4])return a;if(!V_e.test(o[4]))return r;let u=Number(o[4]),A="../".repeat(u),p=o[5]||".";return pi.resolveVirtual(z.join(a,A,p))}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}realpathSync(r){let o=r.match(HR);if(!o)return this.baseFs.realpathSync(r);if(!o[5])return r;let a=this.baseFs.realpathSync(this.mapToBase(r));return pi.makeVirtualPath(o[1],o[3],a)}async realpathPromise(r){let o=r.match(HR);if(!o)return await this.baseFs.realpathPromise(r);if(!o[5])return r;let a=await this.baseFs.realpathPromise(this.mapToBase(r));return pi.makeVirtualPath(o[1],o[3],a)}mapToBase(r){if(r==="")return r;if(this.pathUtils.isAbsolute(r))return pi.resolveVirtual(r);let o=pi.resolveVirtual(this.baseFs.resolve(wt.dot)),a=pi.resolveVirtual(this.baseFs.resolve(r));return z.relative(o,a)||wt.dot}mapFromBase(r){return r}}});var dD,V7,gD,J7=dt(()=>{dD=Ie("url"),V7=Ie("util");df();Ca();gD=class extends vs{constructor(r){super(ue);this.baseFs=r}mapFromBase(r){return r}mapToBase(r){if(typeof r=="string")return r;if(r instanceof dD.URL)return(0,dD.fileURLToPath)(r);if(Buffer.isBuffer(r)){let o=r.toString();if(Buffer.byteLength(o)!==r.byteLength)throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return o}throw new Error(`Unsupported path type: ${(0,V7.inspect)(r)}`)}}});var z7,Io,mf,Hp,mD,yD,ay,Oc,Mc,z_e,X_e,Z_e,$_e,LI,X7=dt(()=>{z7=Ie("readline"),Io=Symbol("kBaseFs"),mf=Symbol("kFd"),Hp=Symbol("kClosePromise"),mD=Symbol("kCloseResolve"),yD=Symbol("kCloseReject"),ay=Symbol("kRefs"),Oc=Symbol("kRef"),Mc=Symbol("kUnref"),LI=class{constructor(e,r){this[z_e]=1;this[X_e]=void 0;this[Z_e]=void 0;this[$_e]=void 0;this[Io]=r,this[mf]=e}get fd(){return this[mf]}async appendFile(e,r){try{this[Oc](this.appendFile);let o=(typeof r=="string"?r:r==null?void 0:r.encoding)??void 0;return await this[Io].appendFilePromise(this.fd,e,o?{encoding:o}:void 0)}finally{this[Mc]()}}async chown(e,r){try{return this[Oc](this.chown),await this[Io].fchownPromise(this.fd,e,r)}finally{this[Mc]()}}async chmod(e){try{return this[Oc](this.chmod),await this[Io].fchmodPromise(this.fd,e)}finally{this[Mc]()}}createReadStream(e){return this[Io].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Io].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,r,o,a){try{this[Oc](this.read);let n;return Buffer.isBuffer(e)?n=e:(e??(e={}),n=e.buffer??Buffer.alloc(16384),r=e.offset||0,o=e.length??n.byteLength,a=e.position??null),r??(r=0),o??(o=0),o===0?{bytesRead:o,buffer:n}:{bytesRead:await this[Io].readPromise(this.fd,n,r,o,a),buffer:n}}finally{this[Mc]()}}async readFile(e){try{this[Oc](this.readFile);let r=(typeof e=="string"?e:e==null?void 0:e.encoding)??void 0;return await this[Io].readFilePromise(this.fd,r)}finally{this[Mc]()}}readLines(e){return(0,z7.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Oc](this.stat),await this[Io].fstatPromise(this.fd,e)}finally{this[Mc]()}}async truncate(e){try{return this[Oc](this.truncate),await this[Io].ftruncatePromise(this.fd,e)}finally{this[Mc]()}}utimes(e,r){throw new Error("Method not implemented.")}async writeFile(e,r){try{this[Oc](this.writeFile);let o=(typeof r=="string"?r:r==null?void 0:r.encoding)??void 0;await this[Io].writeFilePromise(this.fd,e,o)}finally{this[Mc]()}}async write(...e){try{if(this[Oc](this.write),ArrayBuffer.isView(e[0])){let[r,o,a,n]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,o,a]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o,a),buffer:r}}}finally{this[Mc]()}}async writev(e,r){try{this[Oc](this.writev);let o=0;if(typeof r<"u")for(let a of e){let n=await this.write(a,void 0,void 0,r);o+=n.bytesWritten,r+=n.bytesWritten}else for(let a of e){let n=await this.write(a);o+=n.bytesWritten}return{buffers:e,bytesWritten:o}}finally{this[Mc]()}}readv(e,r){throw new Error("Method not implemented.")}close(){if(this[mf]===-1)return Promise.resolve();if(this[Hp])return this[Hp];if(this[ay]--,this[ay]===0){let e=this[mf];this[mf]=-1,this[Hp]=this[Io].closePromise(e).finally(()=>{this[Hp]=void 0})}else this[Hp]=new Promise((e,r)=>{this[mD]=e,this[yD]=r}).finally(()=>{this[Hp]=void 0,this[yD]=void 0,this[mD]=void 0});return this[Hp]}[(Io,mf,z_e=ay,X_e=Hp,Z_e=mD,$_e=yD,Oc)](e){if(this[mf]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=e.name,r}this[ay]++}[Mc](){if(this[ay]--,this[ay]===0){let e=this[mf];this[mf]=-1,this[Io].closePromise(e).then(this[mD],this[yD])}}}});function OI(t,e){e=new gD(e);let r=(o,a,n)=>{let u=o[a];o[a]=n,typeof(u==null?void 0:u[ly.promisify.custom])<"u"&&(n[ly.promisify.custom]=u[ly.promisify.custom])};{r(t,"exists",(o,...a)=>{let u=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{e.existsPromise(o).then(A=>{u(A)},()=>{u(!1)})})}),r(t,"read",(...o)=>{let[a,n,u,A,p,h]=o;if(o.length<=3){let E={};o.length<3?h=o[1]:(E=o[1],h=o[2]),{buffer:n=Buffer.alloc(16384),offset:u=0,length:A=n.byteLength,position:p}=E}if(u==null&&(u=0),A|=0,A===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{e.readPromise(a,n,u,A,p).then(E=>{h(null,E,n)},E=>{h(E,0,n)})})});for(let o of Z7){let a=o.replace(/Promise$/,"");if(typeof t[a]>"u")continue;let n=e[o];if(typeof n>"u")continue;r(t,a,(...A)=>{let h=typeof A[A.length-1]=="function"?A.pop():()=>{};process.nextTick(()=>{n.apply(e,A).then(E=>{h(null,E)},E=>{h(E)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",o=>{try{return e.existsSync(o)}catch{return!1}}),r(t,"readSync",(...o)=>{let[a,n,u,A,p]=o;return o.length<=3&&({offset:u=0,length:A=n.byteLength,position:p}=o[2]||{}),u==null&&(u=0),A|=0,A===0?0:(p==null&&(p=-1),e.readSync(a,n,u,A,p))});for(let o of e8e){let a=o;if(typeof t[a]>"u")continue;let n=e[o];typeof n>"u"||r(t,a,n.bind(e))}t.realpathSync.native=t.realpathSync}{let o=t.promises;for(let a of Z7){let n=a.replace(/Promise$/,"");if(typeof o[n]>"u")continue;let u=e[a];typeof u>"u"||a!=="open"&&r(o,n,(A,...p)=>A instanceof LI?A[n].apply(A,p):u.call(e,A,...p))}r(o,"open",async(...a)=>{let n=await e.openPromise(...a);return new LI(n,e)})}t.read[ly.promisify.custom]=async(o,a,...n)=>({bytesRead:await e.readPromise(o,a,...n),buffer:a}),t.write[ly.promisify.custom]=async(o,a,...n)=>({bytesWritten:await e.writePromise(o,a,...n),buffer:a})}function CD(t,e){let r=Object.create(t);return OI(r,e),r}var ly,e8e,Z7,$7=dt(()=>{ly=Ie("util");J7();X7();e8e=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),Z7=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function eW(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}function tW(){if(qR)return qR;let t=ue.toPortablePath(rW.default.tmpdir()),e=ae.realpathSync(t);return process.once("exit",()=>{ae.rmtempSync()}),qR={tmpdir:t,realTmpdir:e}}var rW,Uc,qR,ae,nW=dt(()=>{rW=tt(Ie("os"));Mg();Ca();Uc=new Set,qR=null;ae=Object.assign(new xn,{detachTemp(t){Uc.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=tW();for(;;){let o=eW("xfs-");try{this.mkdirSync(z.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=z.join(r,o);if(Uc.add(a),typeof t>"u")return a;try{return t(a)}finally{if(Uc.has(a)){Uc.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=tW();for(;;){let o=eW("xfs-");try{await this.mkdirPromise(z.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=z.join(r,o);if(Uc.add(a),typeof t>"u")return a;try{return await t(a)}finally{if(Uc.has(a)){Uc.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Uc.values()).map(async t=>{try{await ae.removePromise(t,{maxRetries:0}),Uc.delete(t)}catch{}}))},rmtempSync(){for(let t of Uc)try{ae.removeSync(t),Uc.delete(t)}catch{}}})});var MI={};Yt(MI,{AliasFS:()=>ju,BasePortableFakeFS:()=>qu,CwdFS:()=>An,FakeFS:()=>gf,Filename:()=>Lr,JailFS:()=>Gu,LazyFS:()=>oy,MountFS:()=>Up,NoFS:()=>NI,NodeFS:()=>xn,PortablePath:()=>wt,PosixFS:()=>_p,ProxiedFS:()=>vs,VirtualFS:()=>pi,constants:()=>Ii,errors:()=>sr,extendFs:()=>CD,normalizeLineEndings:()=>Lg,npath:()=>ue,opendir:()=>pD,patchFs:()=>OI,ppath:()=>z,setupCopyIndex:()=>fD,statUtils:()=>Ml,toFilename:()=>Li,unwatchAllFiles:()=>Ng,unwatchFile:()=>Tg,watchFile:()=>sy,xfs:()=>ae});var bt=dt(()=>{S7();cD();TR();OR();F7();UR();Og();Ca();Ca();M7();Og();_7();q7();j7();G7();W7();Mg();Y7();df();K7();$7();nW()});var lW=U((cPt,aW)=>{aW.exports=oW;oW.sync=r8e;var iW=Ie("fs");function t8e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o<r.length;o++){var a=r[o].toLowerCase();if(a&&t.substr(-a.length).toLowerCase()===a)return!0}return!1}function sW(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:t8e(e,r)}function oW(t,e,r){iW.stat(t,function(o,a){r(o,o?!1:sW(a,t,e))})}function r8e(t,e){return sW(iW.statSync(t),t,e)}});var pW=U((uPt,fW)=>{fW.exports=uW;uW.sync=n8e;var cW=Ie("fs");function uW(t,e,r){cW.stat(t,function(o,a){r(o,o?!1:AW(a,e))})}function n8e(t,e){return AW(cW.statSync(t),e)}function AW(t,e){return t.isFile()&&i8e(t,e)}function i8e(t,e){var r=t.mode,o=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),u=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),A=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),E=A|p,w=r&h||r&p&&a===u||r&A&&o===n||r&E&&n===0;return w}});var gW=U((fPt,hW)=>{var APt=Ie("fs"),ED;process.platform==="win32"||global.TESTING_WINDOWS?ED=lW():ED=pW();hW.exports=jR;jR.sync=s8e;function jR(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){jR(t,e||{},function(n,u){n?a(n):o(u)})})}ED(t,e||{},function(o,a){o&&(o.code==="EACCES"||e&&e.ignoreErrors)&&(o=null,a=!1),r(o,a)})}function s8e(t,e){try{return ED.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var wW=U((pPt,IW)=>{var cy=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",dW=Ie("path"),o8e=cy?";":":",mW=gW(),yW=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),CW=(t,e)=>{let r=e.colon||o8e,o=t.match(/\//)||cy&&t.match(/\\/)?[""]:[...cy?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=cy?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=cy?a.split(r):[""];return cy&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:a}},EW=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:o,pathExt:a,pathExtExe:n}=CW(t,e),u=[],A=h=>new Promise((E,w)=>{if(h===o.length)return e.all&&u.length?E(u):w(yW(t));let v=o[h],b=/^".*"$/.test(v)?v.slice(1,-1):v,C=dW.join(b,t),R=!b&&/^\.[\\\/]/.test(t)?t.slice(0,2)+C:C;E(p(R,h,0))}),p=(h,E,w)=>new Promise((v,b)=>{if(w===a.length)return v(A(E+1));let C=a[w];mW(h+C,{pathExt:n},(R,L)=>{if(!R&&L)if(e.all)u.push(h+C);else return v(h+C);return v(p(h,E,w+1))})});return r?A(0).then(h=>r(null,h),r):A(0)},a8e=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:o,pathExtExe:a}=CW(t,e),n=[];for(let u=0;u<r.length;u++){let A=r[u],p=/^".*"$/.test(A)?A.slice(1,-1):A,h=dW.join(p,t),E=!p&&/^\.[\\\/]/.test(t)?t.slice(0,2)+h:h;for(let w=0;w<o.length;w++){let v=E+o[w];try{if(mW.sync(v,{pathExt:a}))if(e.all)n.push(v);else return v}catch{}}}if(e.all&&n.length)return n;if(e.nothrow)return null;throw yW(t)};IW.exports=EW;EW.sync=a8e});var vW=U((hPt,GR)=>{"use strict";var BW=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};GR.exports=BW;GR.exports.default=BW});var xW=U((gPt,PW)=>{"use strict";var DW=Ie("path"),l8e=wW(),c8e=vW();function SW(t,e){let r=t.options.env||process.env,o=process.cwd(),a=t.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let u;try{u=l8e.sync(t.command,{path:r[c8e({env:r})],pathExt:e?DW.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return u&&(u=DW.resolve(a?t.options.cwd:"",u)),u}function u8e(t){return SW(t)||SW(t,!0)}PW.exports=u8e});var bW=U((dPt,YR)=>{"use strict";var WR=/([()\][%!^"`<>&|;, *?])/g;function A8e(t){return t=t.replace(WR,"^$1"),t}function f8e(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(WR,"^$1"),e&&(t=t.replace(WR,"^$1")),t}YR.exports.command=A8e;YR.exports.argument=f8e});var kW=U((mPt,QW)=>{"use strict";QW.exports=/^#!(.*)/});var RW=U((yPt,FW)=>{"use strict";var p8e=kW();FW.exports=(t="")=>{let e=t.match(p8e);if(!e)return null;let[r,o]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a}});var NW=U((CPt,TW)=>{"use strict";var KR=Ie("fs"),h8e=RW();function g8e(t){let r=Buffer.alloc(150),o;try{o=KR.openSync(t,"r"),KR.readSync(o,r,0,150,0),KR.closeSync(o)}catch{}return h8e(r.toString())}TW.exports=g8e});var UW=U((EPt,MW)=>{"use strict";var d8e=Ie("path"),LW=xW(),OW=bW(),m8e=NW(),y8e=process.platform==="win32",C8e=/\.(?:com|exe)$/i,E8e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function I8e(t){t.file=LW(t);let e=t.file&&m8e(t.file);return e?(t.args.unshift(t.file),t.command=e,LW(t)):t.file}function w8e(t){if(!y8e)return t;let e=I8e(t),r=!C8e.test(e);if(t.options.forceShell||r){let o=E8e.test(e);t.command=d8e.normalize(t.command),t.command=OW.command(t.command),t.args=t.args.map(n=>OW.argument(n,o));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function B8e(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let o={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?o:w8e(o)}MW.exports=B8e});var qW=U((IPt,HW)=>{"use strict";var VR=process.platform==="win32";function JR(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function v8e(t,e){if(!VR)return;let r=t.emit;t.emit=function(o,a){if(o==="exit"){let n=_W(a,e,"spawn");if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function _W(t,e){return VR&&t===1&&!e.file?JR(e.original,"spawn"):null}function D8e(t,e){return VR&&t===1&&!e.file?JR(e.original,"spawnSync"):null}HW.exports={hookChildProcess:v8e,verifyENOENT:_W,verifyENOENTSync:D8e,notFoundError:JR}});var ZR=U((wPt,uy)=>{"use strict";var jW=Ie("child_process"),zR=UW(),XR=qW();function GW(t,e,r){let o=zR(t,e,r),a=jW.spawn(o.command,o.args,o.options);return XR.hookChildProcess(a,o),a}function S8e(t,e,r){let o=zR(t,e,r),a=jW.spawnSync(o.command,o.args,o.options);return a.error=a.error||XR.verifyENOENTSync(a.status,o),a}uy.exports=GW;uy.exports.spawn=GW;uy.exports.sync=S8e;uy.exports._parse=zR;uy.exports._enoent=XR});function YW(t){WW=t}function UI(){return typeof $R>"u"&&($R=WW()),$R}var $R,WW,eT=dt(()=>{WW=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var KW=U((ID,rT)=>{var P8e=Object.assign({},Ie("fs")),tT=function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),function(e){e=e||{};var r=typeof e<"u"?e:{},o,a;r.ready=new Promise(function(Be,xe){o=Be,a=xe});var n={},u;for(u in r)r.hasOwnProperty(u)&&(n[u]=r[u]);var A=[],p="./this.program",h=function(Be,xe){throw xe},E=!1,w=!0,v="";function b(Be){return r.locateFile?r.locateFile(Be,v):v+Be}var C,R,L,_;w&&(E?v=Ie("path").dirname(v)+"/":v=__dirname+"/",C=function(xe,Ve){var vt=$n(xe);return vt?Ve?vt:vt.toString():(L||(L=P8e),_||(_=Ie("path")),xe=_.normalize(xe),L.readFileSync(xe,Ve?null:"utf8"))},R=function(xe){var Ve=C(xe,!0);return Ve.buffer||(Ve=new Uint8Array(Ve)),De(Ve.buffer),Ve},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),A=process.argv.slice(2),h=function(Be){process.exit(Be)},r.inspect=function(){return"[Emscripten Module object]"});var V=r.print||console.log.bind(console),re=r.printErr||console.warn.bind(console);for(u in n)n.hasOwnProperty(u)&&(r[u]=n[u]);n=null,r.arguments&&(A=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var oe=0,pe=function(Be){oe=Be},he;r.wasmBinary&&(he=r.wasmBinary);var ve=r.noExitRuntime||!0;typeof WebAssembly!="object"&&ki("no native wasm support detected");function ge(Be,xe,Ve){switch(xe=xe||"i8",xe.charAt(xe.length-1)==="*"&&(xe="i32"),xe){case"i1":return _e[Be>>0];case"i8":return _e[Be>>0];case"i16":return lp((Be>>1)*2);case"i32":return ks((Be>>2)*4);case"i64":return ks((Be>>2)*4);case"float":return gu((Be>>2)*4);case"double":return ap((Be>>3)*8);default:ki("invalid type for getValue: "+xe)}return null}var le,Pe=!1,g;function De(Be,xe){Be||ki("Assertion failed: "+xe)}function Ce(Be){var xe=r["_"+Be];return De(xe,"Cannot call unknown function "+Be+", make sure it is exported"),xe}function de(Be,xe,Ve,vt,tr){var Zr={string:function(yi){var la=0;if(yi!=null&&yi!==0){var ja=(yi.length<<2)+1;la=ee(ja),ut(yi,la,ja)}return la},array:function(yi){var la=ee(yi.length);return Me(yi,la),la}};function Tn(yi){return xe==="string"?me(yi):xe==="boolean"?Boolean(yi):yi}var _r=Ce(Be),ei=[],Ti=0;if(vt)for(var Kn=0;Kn<vt.length;Kn++){var qa=Zr[Ve[Kn]];qa?(Ti===0&&(Ti=Ha()),ei[Kn]=qa(vt[Kn])):ei[Kn]=vt[Kn]}var aa=_r.apply(null,ei);return aa=Tn(aa),Ti!==0&&oa(Ti),aa}function ne(Be,xe,Ve,vt){Ve=Ve||[];var tr=Ve.every(function(Tn){return Tn==="number"}),Zr=xe!=="string";return Zr&&tr&&!vt?Ce(Be):function(){return de(Be,xe,Ve,arguments,vt)}}var Z=new TextDecoder("utf8");function me(Be,xe){if(!Be)return"";for(var Ve=Be+xe,vt=Be;!(vt>=Ve)&&qe[vt];)++vt;return Z.decode(qe.subarray(Be,vt))}function be(Be,xe,Ve,vt){if(!(vt>0))return 0;for(var tr=Ve,Zr=Ve+vt-1,Tn=0;Tn<Be.length;++Tn){var _r=Be.charCodeAt(Tn);if(_r>=55296&&_r<=57343){var ei=Be.charCodeAt(++Tn);_r=65536+((_r&1023)<<10)|ei&1023}if(_r<=127){if(Ve>=Zr)break;xe[Ve++]=_r}else if(_r<=2047){if(Ve+1>=Zr)break;xe[Ve++]=192|_r>>6,xe[Ve++]=128|_r&63}else if(_r<=65535){if(Ve+2>=Zr)break;xe[Ve++]=224|_r>>12,xe[Ve++]=128|_r>>6&63,xe[Ve++]=128|_r&63}else{if(Ve+3>=Zr)break;xe[Ve++]=240|_r>>18,xe[Ve++]=128|_r>>12&63,xe[Ve++]=128|_r>>6&63,xe[Ve++]=128|_r&63}}return xe[Ve]=0,Ve-tr}function ut(Be,xe,Ve){return be(Be,qe,xe,Ve)}function H(Be){for(var xe=0,Ve=0;Ve<Be.length;++Ve){var vt=Be.charCodeAt(Ve);vt>=55296&&vt<=57343&&(vt=65536+((vt&1023)<<10)|Be.charCodeAt(++Ve)&1023),vt<=127?++xe:vt<=2047?xe+=2:vt<=65535?xe+=3:xe+=4}return xe}function yt(Be){var xe=H(Be)+1,Ve=Bl(xe);return Ve&&be(Be,_e,Ve,xe),Ve}function Me(Be,xe){_e.set(Be,xe)}function Te(Be,xe){return Be%xe>0&&(Be+=xe-Be%xe),Be}var Qe,_e,qe,At,Oe,x,I,P,y,F;function J(Be){Qe=Be,r.HEAP_DATA_VIEW=F=new DataView(Be),r.HEAP8=_e=new Int8Array(Be),r.HEAP16=At=new Int16Array(Be),r.HEAP32=x=new Int32Array(Be),r.HEAPU8=qe=new Uint8Array(Be),r.HEAPU16=Oe=new Uint16Array(Be),r.HEAPU32=I=new Uint32Array(Be),r.HEAPF32=P=new Float32Array(Be),r.HEAPF64=y=new Float64Array(Be)}var X=r.INITIAL_MEMORY||16777216,$,ie=[],ke=[],Ne=[],st=!1;function ht(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Pt(r.preRun.shift());no(ie)}function Ut(){st=!0,no(ke)}function Xt(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Dr(r.postRun.shift());no(Ne)}function Pt(Be){ie.unshift(Be)}function tn(Be){ke.unshift(Be)}function Dr(Be){Ne.unshift(Be)}var fr=0,Br=null,jr=null;function Hn(Be){fr++,r.monitorRunDependencies&&r.monitorRunDependencies(fr)}function bs(Be){if(fr--,r.monitorRunDependencies&&r.monitorRunDependencies(fr),fr==0&&(Br!==null&&(clearInterval(Br),Br=null),jr)){var xe=jr;jr=null,xe()}}r.preloadedImages={},r.preloadedAudios={};function ki(Be){r.onAbort&&r.onAbort(Be),Be+="",re(Be),Pe=!0,g=1,Be="abort("+Be+"). Build with -s ASSERTIONS=1 for more info.";var xe=new WebAssembly.RuntimeError(Be);throw a(xe),xe}var gs="data:application/octet-stream;base64,";function to(Be){return Be.startsWith(gs)}var Di="data:application/octet-stream;base64,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AQsgAEEAOgAAQQAPCyAAKAIEIgNFBEBBAA8LIAAgAjcDECADIAGnaigAAAtVAgF+AX8gAARAAkAgACkDCFANAEIBIQEDQCAAKAIAIAJBBHRqEDogASAAKQMIWg0BIAGnIQIgAUIBfCEBDAALAAsgACgCABAGIAAoAigQECAAEAYLC2QBAn8CQAJAAkAgAEUEQCABpxAIIgNFDQJBGBAIIgJFDQEMAwsgACEDQRgQCCICDQJBAA8LIAMQBgtBAA8LIAJCADcDECACIAE3AwggAiADNgIEIAJBAToAACACIABFOgABIAILnQECAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCd1YNACACQgh8IgMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIgAgAUI4iDwAByAAIAFCMIg8AAYgACABQiiIPAAFIAAgAUIgiDwABCAAIAFCGIg8AAMgACABQhCIPAACIAAgAUIIiDwAASAAIAE8AAAL8AICAn8BfgJAIAJFDQAgACACaiIDQQFrIAE6AAAgACABOgAAIAJBA0kNACADQQJrIAE6AAAgACABOgABIANBA2sgAToAACAAIAE6AAIgAkEHSQ0AIANBBGsgAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgA2AgAgAyACIARrQXxxIgJqIgFBBGsgADYCACACQQlJDQAgAyAANgIIIAMgADYCBCABQQhrIAA2AgAgAUEMayAANgIAIAJBGUkNACADIAA2AhggAyAANgIUIAMgADYCECADIAA2AgwgAUEQayAANgIAIAFBFGsgADYCACABQRhrIAA2AgAgAUEcayAANgIAIAIgA0EEcUEYciIBayICQSBJDQAgAK1CgYCAgBB+IQUgASADaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLC28BA38gAEEMaiECAkACfyAAKAIgIgFFBEBBfyEBQRIMAQsgACABQQFrIgM2AiBBACEBIAMNASAAQQBCAEECEA4aIAAoAgAiAEUNASAAEBtBf0oNAUEUCyEAIAIEQCACQQA2AgQgAiAANgIACwsgAQufAQIBfwF+An8CQAJ+IAAoAgAiAygCJEEBRkEA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RQ0AIAQtAAxFDQFBFyEFIAcNAQtBACECIAMgAEEIaiADGyIABEAgAEEANgIEIAAgBTYCAAsLIAILbgEBfyMAQYACayIFJAACQCAEQYDABHENACACIANMDQAgBSABQf8BcSACIANrIgJBgAIgAkGAAkkiARsQGiABRQRAA0AgACAFQYACEC4gAkGAAmsiAkH/AUsNAAsLIAAgBSACEC4LIAVBgAJqJAALUgECf0H0mAEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABADRQ0BC0H0mAEgADYCACABDwtB+JsBQTA2AgBBfwuGBQEGfyAAKAIwIgNBhgJrIQYgACgCPCECIAMhAQNAIAAoAkQgAiAAKAJkIgRqayECIAEgBmogBE0EQCAAKAJIIgEgASADaiADEAkaAkAgAyAAKAJoIgFNBEAgACABIANrNgJoDAELIABCADcDaAsgACAAKAJkIANrIgE2AmQgACAAKAJUIANrNgJUIAEgACgCqC1JBEAgACABNgKoLQsgAEHQmAEoAgARBAAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJkaiAFaiEFIAEgBCACazYCBAJAIAEoAhwoAhRBAkYEQCABIAUgAhBADAELIAUgASgCACACEAkhBCABKAIcKAIUQQFHDQAgASABKAIwIAQgAkHImAEoAgARAAA2AjALIAEgASgCACACajYCACABIAEoAgggAmo2AgggACgCPAUgBQsgAmoiAjYCPAJAIAAoAqgtIgEgAmpBA0kNACAAKAJkIAFrIgEEQCAAIAFBAWtBxJgBKAIAEQEAGiAAKAI8IQILIAAoAqgtIAJBAUZrIgRFDQAgACABIARBwJgBKAIAEQcAIAAgACgCqC0gBGs2AqgtIAAoAjwhAgsgAkGFAksNACAAKAIAKAIERQ0AIAAoAjAhAQwBCwsCQCAAKAJEIgIgACgCQCIDTQ0AIAACfyAAKAI8IAAoAmRqIgEgA0sEQCAAKAJIIAFqQQAgAiABayIDQYICIANBggJJGyIDEBogASADagwBCyABQYICaiIBIANNDQEgACgCSCADakEAIAIgA2siAiABIANrIgMgAiADSRsiAxAaIAAoAkAgA2oLNgJACws3ACAAQn83AxAgAEEANgIIIABCADcDACAAQQA2AjAgAEL/////DzcDKCAAQgA3AxggAEIANwMgC6UBAQF/QdgAEAgiAUUEQEEADwsCQCAABEAgASAAQdgAEAkaDAELIAFCADcDICABQQA2AhggAUL/////DzcDECABQQA7AQwgAUG/hig2AgggAUEBOgAGIAFBADoABCABQgA3A0ggAUGAgNiNeDYCRCABQgA3AyggAUIANwMwIAFCADcDOCABQUBrQQA7AQAgAUIANwNQCyABQQE6AAUgAUEANgIAIAELWAICfgF/AkACQCAALQAARQ0AIAApAxAiAyACrXwiBCADVA0AIAQgACkDCFgNAQsgAEEAOgAADwsgACgCBCIFRQRADwsgACAENwMQIAUgA6dqIAEgAhAJGguWAQECfwJAAkAgAkUEQCABpxAIIgVFDQFBGBAIIgQNAiAFEAYMAQsgAiEFQRgQCCIEDQELIAMEQCADQQA2AgQgA0EONgIAC0EADwsgBEIANwMQIAQgATcDCCAEIAU2AgQgBEEBOgAAIAQgAkU6AAEgACAFIAEgAxBpQQBIBH8gBC0AAQRAIAQoAgQQBgsgBBAGQQAFIAQLC5sCAQN/IAAtAABBIHFFBEACQCABIQMCQCACIAAiASgCECIABH8gAAUCfyABIAEtAEoiAEEBayAAcjoASiABKAIAIgBBCHEEQCABIABBIHI2AgBBfwwBCyABQgA3AgQgASABKAIsIgA2AhwgASAANgIUIAEgACABKAIwajYCEEEACw0BIAEoAhALIAEoAhQiBWtLBEAgASADIAIgASgCJBEAABoMAgsCfyABLABLQX9KBEAgAiEAA0AgAiAAIgRFDQIaIAMgBEEBayIAai0AAEEKRw0ACyABIAMgBCABKAIkEQAAIARJDQIgAyAEaiEDIAEoAhQhBSACIARrDAELIAILIQAgBSADIAAQCRogASABKAIUIABqNgIUCwsLCxAAIAAoAggQBiAAQQA2AggLWQIBfwF+AkACf0EAIABFDQAaIACtIAGtfiIDpyICIAAgAXJBgIAESQ0AGkF/IAIgA0IgiKcbCyICEAgiAEUNACAAQQRrLQAAQQNxRQ0AIABBACACEBoLIAAL8AEBAn9BfyEBAkAgAC0AKA0AIAAoAiRBA0YEQCAAQQxqBEAgAEEANgIQIABB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DwsCQAJAIAAgASACIAMQhwEiBEUNAEEYEAgiAkUEQCADBEAgA0EANgIEIANBDjYCAAsCQCAEKAIoIgBFBEAgBCkDGCEBDAELIABBADYCKCAEKAIoQgA3AyAgBCAEKQMYIgUgBCkDICIBIAEgBVQbIgE3AxgLIAQpAwggAVYEQANAIAQoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAQpAwhUDQALCyAEKAIAEAYgBCgCBBAGIAQQBgwBCyACQQA2AhQgAiAENgIQIAJBABABNgIMIAJBADYCCCACQgA3AgACf0E4EAgiAEUEQCADBEAgA0EANgIEIANBDjYCAAtBAAwBCyAAQQA2AgggAEIANwMAIABCADcDICAAQoCAgIAQNwIsIABBADoAKCAAQQA2AhQgAEIANwIMIABBADsBNCAAIAI2AgggAEEjNgIEIABCPyACQQBCAEEOQSMRDAAiASABQgBTGzcDGCAACyIADQEgAigCECIDBEACQCADKAIoIgBFBEAgAykDGCEBDAELIABBADYCKCADKAIoQgA3AyAgAyADKQMYIgUgAykDICIBIAEgBVQbIgE3AxgLIAMpAwggAVYEQANAIAMoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAMpAwhUDQALCyADKAIAEAYgAygCBBAGIAMQBgsgAhAGC0EAIQALIAALFAAgABBBIAAoAgAQICAAKAIEECALiwwBBn8gACABaiEFAkACQCAAKAIEIgJBAXENACACQQNxRQ0BIAAoAgAiAiABaiEBAkAgACACayIAQbycASgCAEcEQCACQf8BTQRAIAAoAggiBCACQQN2IgJBA3RB0JwBakYaIAAoAgwiAyAERw0CQaicAUGonAEoAgBBfiACd3E2AgAMAwsgACgCGCEGAkAgACAAKAIMIgNHBEAgACgCCCICQbicASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAAQRRqIgIoAgAiBA0AIABBEGoiAigCACIEDQBBACEDDAELA0AgAiEHIAQiA0EUaiICKAIAIgQNACADQRBqIQIgAygCECIEDQALIAdBADYCAAsgBkUNAgJAIAAgACgCHCIEQQJ0QdieAWoiAigCAEYEQCACIAM2AgAgAw0BQaycAUGsnAEoAgBBfiAEd3E2AgAMBAsgBkEQQRQgBigCECAARhtqIAM2AgAgA0UNAwsgAyAGNgIYIAAoAhAiAgRAIAMgAjYCECACIAM2AhgLIAAoAhQiAkUNAiADIAI2AhQgAiADNgIYDAILIAUoAgQiAkEDcUEDRw0BQbCcASABNgIAIAUgAkF+cTYCBCAAIAFBAXI2AgQgBSABNgIADwsgBCADNgIMIAMgBDYCCAsCQCAFKAIEIgJBAnFFBEAgBUHAnAEoAgBGBEBBwJwBIAA2AgBBtJwBQbScASgCACABaiIBNgIAIAAgAUEBcjYCBCAAQbycASgCAEcNA0GwnAFBADYCAEG8nAFBADYCAA8LIAVBvJwBKAIARgRAQbycASAANgIAQbCcAUGwnAEoAgAgAWoiATYCACAAIAFBAXI2AgQgACABaiABNgIADwsgAkF4cSABaiEBAkAgAkH/AU0EQCAFKAIIIgQgAkEDdiICQQN0QdCcAWpGGiAEIAUoAgwiA0YEQEGonAFBqJwBKAIAQX4gAndxNgIADAILIAQgAzYCDCADIAQ2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgNHBEAgBSgCCCICQbicASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAFQRRqIgQoAgAiAg0AIAVBEGoiBCgCACICDQBBACEDDAELA0AgBCEHIAIiA0EUaiIEKAIAIgINACADQRBqIQQgAygCECICDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCIEQQJ0QdieAWoiAigCAEYEQCACIAM2AgAgAw0BQaycAUGsnAEoAgBBfiAEd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAM2AgAgA0UNAQsgAyAGNgIYIAUoAhAiAgRAIAMgAjYCECACIAM2AhgLIAUoAhQiAkUNACADIAI2AhQgAiADNgIYCyAAIAFBAXI2AgQgACABaiABNgIAIABBvJwBKAIARw0BQbCcASABNgIADwsgBSACQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALIAFB/wFNBEAgAUEDdiICQQN0QdCcAWohAQJ/QaicASgCACIDQQEgAnQiAnFFBEBBqJwBIAIgA3I2AgAgAQwBCyABKAIICyECIAEgADYCCCACIAA2AgwgACABNgIMIAAgAjYCCA8LQR8hAiAAQgA3AhAgAUH///8HTQRAIAFBCHYiAiACQYD+P2pBEHZBCHEiBHQiAiACQYDgH2pBEHZBBHEiA3QiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAEciACcmsiAkEBdCABIAJBFWp2QQFxckEcaiECCyAAIAI2AhwgAkECdEHYngFqIQcCQAJAQaycASgCACIEQQEgAnQiA3FFBEBBrJwBIAMgBHI2AgAgByAANgIAIAAgBzYCGAwBCyABQQBBGSACQQF2ayACQR9GG3QhAiAHKAIAIQMDQCADIgQoAgRBeHEgAUYNAiACQR12IQMgAkEBdCECIAQgA0EEcWoiB0EQaigCACIDDQALIAcgADYCECAAIAQ2AhgLIAAgADYCDCAAIAA2AggPCyAEKAIIIgEgADYCDCAEIAA2AgggAEEANgIYIAAgBDYCDCAAIAE2AggLC0MBA38CQCACRQ0AA0AgAC0AACIEIAEtAAAiBUYEQCABQQFqIQEgAEEBaiEAIAJBAWsiAg0BDAILCyAEIAVrIQMLIAML/wUCAX8CfiADrSEGIAApA7gtIQUCQCAAKALALSIDQQNqIgRBP00EQCAGIAOthiAFhCEGDAELIANBwABGBEAgACAAKAIQIgNBAWo2AhAgAyAAKAIEaiAFPAAAIAAgACgCECIDQQFqNgIQIAMgACgCBGogBUIIiDwAACAAIAAoAhAiA0EBajYCECADIAAoAgRqIAVCEIg8AAAgACAAKAIQIgNBAWo2AhAgAyAAKAIEaiAFQhiIPAAAIAAgACgCECIDQQFqNgIQIAMgACgCBGogBUIgiDwAACAAIAAoAhAiA0EBajYCECADIAAoAgRqIAVCKIg8AAAgACAAKAIQIgNBAWo2AhAgAyAAKAIEaiAFQjCIPAAAIAAgACgCECIDQQFqNgIQIAMgACgCBGogBUI4iDwAAEEDIQQMAQsgACAAKAIQIgRBAWo2AhAgBCAAKAIEaiAGIAOthiAFhCIFPAAAIAAgACgCECIEQQFqNgIQIAQgACgCBGogBUIIiDwAACAAIAAoAhAiBEEBajYCECAEIAAoAgRqIAVCEIg8AAAgACAAKAIQIgRBAWo2AhAgBCAAKAIEaiAFQhiIPAAAIAAgACgCECIEQQFqNgIQIAQgACgCBGogBUIgiDwAACAAIAAoAhAiBEEBajYCECAEIAAoAgRqIAVCKIg8AAAgACAAKAIQIgRBAWo2AhAgBCAAKAIEaiAFQjCIPAAAIAAgACgCECIEQQFqNgIQIAQgACgCBGogBUI4iDwAACADQT1rIQQgBkHAACADa62IIQYLIAAgBjcDuC0gACAENgLALSAAEIwBIAAgACgCECIDQQFqNgIQIAMgACgCBGogAjoAACAAIAAoAhAiA0EBajYCECADIAAoAgRqIAJBCHY6AAAgACAAKAIQIgNBAWo2AhAgAyAAKAIEaiACQX9zIgM6AAAgACAAKAIQIgRBAWo2AhAgBCAAKAIEaiADQQh2OgAAIAIEQCAAKAIEIAAoAhBqIAEgAhAJGiAAIAAoAhAgAmo2AhALC94EAgF/An4gAUECaq0hBCAAKQO4LSEDAkAgACgCwC0iAUEDaiICQT9NBEAgBCABrYYgA4QhBAwBCyABQcAARgRAIAAgACgCECIBQQFqNgIQIAEgACgCBGogAzwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIANCCIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiADQhCIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogA0IYiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIANCIIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiADQiiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogA0IwiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIANCOIg8AABBAyECDAELIAAgACgCECICQQFqNgIQIAIgACgCBGogBCABrYYgA4QiAzwAACAAIAAoAhAiAkEBajYCECACIAAoAgRqIANCCIg8AAAgACAAKAIQIgJBAWo2AhAgAiAAKAIEaiADQhCIPAAAIAAgACgCECICQQFqNgIQIAIgACgCBGogA0IYiDwAACAAIAAoAhAiAkEBajYCECACIAAoAgRqIANCIIg8AAAgACAAKAIQIgJBAWo2AhAgAiAAKAIEaiADQiiIPAAAIAAgACgCECICQQFqNgIQIAIgACgCBGogA0IwiDwAACAAIAAoAhAiAkEBajYCECACIAAoAgRqIANCOIg8AAAgAUE9ayECIARBwAAgAWutiCEECyAAIAQ3A7gtIAAgAjYCwC0LqAkCA38CfkHQ4wAzAQAhBSAAKQO4LSEGAkAgACgCwC0iBEHS4wAvAQAiA2oiAkE/TQRAIAUgBK2GIAaEIQUMAQsgBEHAAEYEQCAAIAAoAhAiAkEBajYCECACIAAoAgRqIAY8AAAgACAAKAIQIgJBAWo2AhAgAiAAKAIEaiAGQgiIPAAAIAAgACgCECICQQFqNgIQIAIgACgCBGogBkIQiDwAACAAIAAoAhAiAkEBajYCECACIAAoAgRqIAZCGIg8AAAgACAAKAIQIgJBAWo2AhAgAiAAKAIEaiAGQiCIPAAAIAAgACgCECICQQFqNgIQIAIgACgCBGogBkIoiDwAACAAIAAoAhAiAkEBajYCECACIAAoAgRqIAZCMIg8AAAgACAAKAIQIgJBAWo2AhAgAiAAKAIEaiAGQjiIPAAAIAMhAgwBCyAAIAAoAhAiA0EBajYCECADIAAoAgRqIAUgBK2GIAaEIgY8AAAgACAAKAIQIgNBAWo2AhAgAyAAKAIEaiAGQgiIPAAAIAAgACgCECIDQQFqNgIQIAMgACgCBGogBkIQiDwAACAAIAAoAhAiA0EBajYCECADIAAoAgRqIAZCGIg8AAAgACAAKAIQIgNBAWo2AhAgAyAAKAIEaiAGQiCIPAAAIAAgACgCECIDQQFqNgIQIAMgACgCBGogBkIoiDwAACAAIAAoAhAiA0EBajYCECADIAAoAgRqIAZCMIg8AAAgACAAKAIQIgNBAWo2AhAgAyAAKAIEaiAGQjiIPAAAIAJBQGohAiAFQcAAIARrrYghBQsgACAFNwO4LSAAIAI2AsAtIAEEQAJAIAJBOU4EQCAAIAAoAhAiAUEBajYCECABIAAoAgRqIAU8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQgiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIQiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAVCGIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQiCIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIoiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAVCMIg8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQjiIPAAADAELIAJBGU4EQCAAIAAoAhAiAUEBajYCECABIAAoAgRqIAU8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFQgiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIQiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAVCGIg8AAAgACAAKQO4LUIgiCIFNwO4LSAAIAAoAsAtQSBrIgI2AsAtCyACQQlOBEAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAFPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogBUIIiDwAACAAIAApA7gtQhCIIgU3A7gtIAAgACgCwC1BEGsiAjYCwC0LIAJBAUgNACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAU8AAALIABBADYCwC0gAEIANwO4LQsLNAAgASAAKAIAIAIQCSIBRQRAIABBADYCMA8LIAAgACgCMCABIAKtQcyYASgCABEDADYCMAtfAQJ/IAAoAggiAQRAIAEQCiAAQQA2AggLAkAgACgCBCIBRQ0AIAEoAgAiAkEBcUUNACABKAIQQX5HDQAgASACQX5xIgI2AgAgAg0AIAEQICAAQQA2AgQLIABBADoADAvXAgIEfwF+AkACQCAAKAJAIAGnQQR0aigCACIDRQRAIAIEQCACQQA2AgQgAkEUNgIACwwBCyAAKAIAIAMpA0giB0EAEBUhAyAAKAIAIQAgA0F/TARAIAIEQCACIAAoAgw2AgAgAiAAKAIQNgIECwwBC0IAIQEjAEEQayIGJABBfyEDAkAgAEIaQQEQFUF/TARAIAIEQCACIAAoAgw2AgAgAiAAKAIQNgIECwwBCyAAQgQgBkEKaiACEC0iBEUNAEEeIQBBASEFA0AgBBALIABqIQAgBUECRwRAIAVBAWohBQwBCwsgBC0AAAR/IAQpAxAgBCkDCFEFQQALRQRAIAIEQCACQQA2AgQgAkEUNgIACyAEEAcMAQsgBBAHIAAhAwsgBkEQaiQAIAMiAEEASA0BIAcgAK18IgFCf1UNASACBEAgAkEWNgIEIAJBBDYCAAsLQgAhAQsgAQtgAgF+AX8CQCAARQ0AIABBCGoQYiIARQ0AIAEgASgCMEEBajYCMCAAIAM2AgggACACNgIEIAAgATYCACAAQj8gASADQQBCAEEOIAIRCgAiBCAEQgBTGzcDGCAAIQULIAULIgAgACgCJEEBa0EBTQRAIABBAEIAQQoQDhogAEEANgIkCwtuAAJAAkACQCADQhBUDQAgAkUNAQJ+AkACQAJAIAIoAggOAwIAAQQLIAIpAwAgAHwMAgsgAikDACABfAwBCyACKQMACyIDQgBTDQAgASADWg0CCyAEBEAgBEEANgIEIARBEjYCAAsLQn8hAwsgAwuCAgIBfwJ+AkBBASACIAMbBEAgAiADahAIIgVFBEAgBARAIARBADYCBCAEQQ42AgALQQAPCyACrSEGAkACQCAABEAgACAGEBMiAEUEQCAEBEAgBEEANgIEIARBDjYCAAsMBQsgBSAAIAIQCRogAw0BDAILIAEgBSAGEBEiB0J/VwRAIAQEQCAEIAEoAgw2AgAgBCABKAIQNgIECwwECyAGIAdVBEAgBARAIARBADYCBCAEQRE2AgALDAQLIANFDQELIAIgBWoiAEEAOgAAIAJBAUgNACAFIQIDQCACLQAARQRAIAJBIDoAAAsgAkEBaiICIABJDQALCwsgBQ8LIAUQBkEAC4EBAQF/AkAgAARAIANBgAZxIQVBACEDA0ACQCAALwEIIAJHDQAgBSAAKAIEcUUNACADQQBODQMgA0EBaiEDCyAAKAIAIgANAAsLIAQEQCAEQQA2AgQgBEEJNgIAC0EADwsgAQRAIAEgAC8BCjsBAAsgAC8BCkUEQEHAFA8LIAAoAgwLVwEBf0EQEAgiA0UEQEEADwsgAyABOwEKIAMgADsBCCADQYAGNgIEIANBADYCAAJAIAEEQCADIAIgARBnIgA2AgwgAA0BIAMQBkEADwsgA0EANgIMCyADC30BA38jAEEQayICJAAgAiABNgIMQX8hAwJAIAAtACgNAAJAIAAoAgAiBEUNACAEIAEQSUF/Sg0AIAAoAgAhASAAQQxqIgAEQCAAIAEoAgw2AgAgACABKAIQNgIECwwBCyAAIAJBDGpCBEETEA5CP4enIQMLIAJBEGokACADC+4FAgR/BX4jAEHgAGsiBCQAIARBCGoiA0IANwMgIANBADYCGCADQv////8PNwMQIANBADsBDCADQb+GKDYCCCADQQE6AAYgA0EAOwEEIANBADYCACADQgA3A0ggA0GAgNiNeDYCRCADQgA3AyggA0IANwMwIANCADcDOCADQUBrQQA7AQAgA0IANwNQIAEpAwhQIgNFBEAgASgCACgCACkDSCEHCwJ+AkAgAwRAIAchCQwBCyAHIQkDQCAKp0EEdCIFIAEoAgBqKAIAIgMpA0giCCAJIAggCVQbIgkgASkDIFYEQCACBEAgAkEANgIEIAJBEzYCAAtCfwwDCyADKAIwIgYEfyAGLwEEBUEAC0H//wNxrSAIIAMpAyB8fEIefCIIIAcgByAIVBsiByABKQMgVgRAIAIEQCACQQA2AgQgAkETNgIAC0J/DAMLIAAoAgAgASgCACAFaigCACkDSEEAEBUhBiAAKAIAIQMgBkF/TARAIAIEQCACIAMoAgw2AgAgAiADKAIQNgIEC0J/DAMLIARBCGogA0EAQQEgAhBsQn9RBEAgBEEIahA2Qn8MAwsCQAJAIAEoAgAgBWooAgAiAy8BCiAELwESSQ0AIAMoAhAgBCgCGEcNACADKAIUIAQoAhxHDQAgAygCMCAEKAI4EGVFDQACQCAEKAIgIgYgAygCGEcEQCAEKQMoIQgMAQsgAykDICILIAQpAygiCFINACALIQggAykDKCAEKQMwUQ0CCyAELQAUQQhxRQ0AIAYNACAIQgBSDQAgBCkDMFANAQsgAgRAIAJBADYCBCACQRU2AgALIARBCGoQNkJ/DAMLIAEoAgAgBWooAgAoAjQgBCgCPBBzIQMgASgCACAFaigCACIFQQE6AAQgBSADNgI0IARBADYCPCAEQQhqEDYgCkIBfCIKIAEpAwhUDQALCyAHIAl9IgdC////////////ACAHQv///////////wBUGwshByAEQeAAaiQAIAcLxgEBAn9B2AAQCCIBRQRAIAAEQCAAQQA2AgQgAEEONgIAC0EADwsgAQJ/QRgQCCICRQRAIAAEQCAAQQA2AgQgAEEONgIAC0EADAELIAJBADYCECACQgA3AwggAkEANgIAIAILIgA2AlAgAEUEQCABEAZBAA8LIAFCADcDACABQQA2AhAgAUIANwIIIAFCADcCFCABQQA2AlQgAUIANwIcIAFCADcAISABQgA3AzAgAUIANwM4IAFBQGtCADcDACABQgA3A0ggAQuAEwIPfwJ+IwBB0ABrIgUkACAFIAE2AkwgBUE3aiETIAVBOGohEEEAIQEDQAJAIA5BAEgNAEH/////ByAOayABSARAQfibAUE9NgIAQX8hDgwBCyABIA5qIQ4LIAUoAkwiByEBAkACQAJAAkACQAJAAkACQCAFAn8CQCAHLQAAIgYEQANAAkACQCAGQf8BcSIGRQRAIAEhBgwBCyAGQSVHDQEgASEGA0AgAS0AAUElRw0BIAUgAUECaiIINgJMIAZBAWohBiABLQACIQwgCCEBIAxBJUYNAAsLIAYgB2shASAABEAgACAHIAEQLgsgAQ0NIAUoAkwhASAFKAJMLAABQTBrQQpPDQMgAS0AAkEkRw0DIAEsAAFBMGshD0EBIREgAUEDagwECyAFIAFBAWoiCDYCTCABLQABIQYgCCEBDAALAAsgDiENIAANCCARRQ0CQQEhAQNAIAQgAUECdGooAgAiAARAIAMgAUEDdGogACACEHxBASENIAFBAWoiAUEKRw0BDAoLC0EBIQ0gAUEKTw0IA0AgBCABQQJ0aigCAA0IIAFBAWoiAUEKRw0ACwwIC0F/IQ8gAUEBagsiATYCTEEAIQgCQCABLAAAIgpBIGsiBkEfSw0AQQEgBnQiBkGJ0QRxRQ0AA0ACQCAFIAFBAWoiCDYCTCABLAABIgpBIGsiAUEgTw0AQQEgAXQiAUGJ0QRxRQ0AIAEgBnIhBiAIIQEMAQsLIAghASAGIQgLAkAgCkEqRgRAIAUCfwJAIAEsAAFBMGtBCk8NACAFKAJMIgEtAAJBJEcNACABLAABQQJ0IARqQcABa0EKNgIAIAEsAAFBA3QgA2pBgANrKAIAIQtBASERIAFBA2oMAQsgEQ0IQQAhEUEAIQsgAARAIAIgAigCACIBQQRqNgIAIAEoAgAhCwsgBSgCTEEBagsiATYCTCALQX9KDQFBACALayELIAhBgMAAciEIDAELIAVBzABqEHsiC0EASA0GIAUoAkwhAQtBfyEJAkAgAS0AAEEuRw0AIAEtAAFBKkYEQAJAIAEsAAJBMGtBCk8NACAFKAJMIgEtAANBJEcNACABLAACQQJ0IARqQcABa0EKNgIAIAEsAAJBA3QgA2pBgANrKAIAIQkgBSABQQRqIgE2AkwMAgsgEQ0HIAAEfyACIAIoAgAiAUEEajYCACABKAIABUEACyEJIAUgBSgCTEECaiIBNgJMDAELIAUgAUEBajYCTCAFQcwAahB7IQkgBSgCTCEBC0EAIQYDQCAGIRJBfyENIAEsAABBwQBrQTlLDQcgBSABQQFqIgo2AkwgASwAACEGIAohASAGIBJBOmxqQZ+EAWotAAAiBkEBa0EISQ0ACyAGQRNGDQIgBkUNBiAPQQBOBEAgBCAPQQJ0aiAGNgIAIAUgAyAPQQN0aikDADcDQAwECyAADQELQQAhDQwFCyAFQUBrIAYgAhB8IAUoAkwhCgwCCyAPQX9KDQMLQQAhASAARQ0ECyAIQf//e3EiDCAIIAhBgMAAcRshBkEAIQ1BpAghDyAQIQgCQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQCAKQQFrLAAAIgFBX3EgASABQQ9xQQNGGyABIBIbIgFB2ABrDiEEEhISEhISEhIOEg8GDg4OEgYSEhISAgUDEhIJEgESEgQACwJAIAFBwQBrDgcOEgsSDg4OAAsgAUHTAEYNCQwRCyAFKQNAIRRBpAgMBQtBACEBAkACQAJAAkACQAJAAkAgEkH/AXEOCAABAgMEFwUGFwsgBSgCQCAONgIADBYLIAUoAkAgDjYCAAwVCyAFKAJAIA6sNwMADBQLIAUoAkAgDjsBAAwTCyAFKAJAIA46AAAMEgsgBSgCQCAONgIADBELIAUoAkAgDqw3AwAMEAsgCUEIIAlBCEsbIQkgBkEIciEGQfgAIQELIBAhByABQSBxIQwgBSkDQCIUUEUEQANAIAdBAWsiByAUp0EPcUGwiAFqLQAAIAxyOgAAIBRCD1YhCiAUQgSIIRQgCg0ACwsgBSkDQFANAyAGQQhxRQ0DIAFBBHZBpAhqIQ9BAiENDAMLIBAhASAFKQNAIhRQRQRAA0AgAUEBayIBIBSnQQdxQTByOgAAIBRCB1YhByAUQgOIIRQgBw0ACwsgASEHIAZBCHFFDQIgCSAQIAdrIgFBAWogASAJSBshCQwCCyAFKQNAIhRCf1cEQCAFQgAgFH0iFDcDQEEBIQ1BpAgMAQsgBkGAEHEEQEEBIQ1BpQgMAQtBpghBpAggBkEBcSINGwshDyAQIQECQCAUQoCAgIAQVARAIBQhFQwBCwNAIAFBAWsiASAUIBRCCoAiFUIKfn2nQTByOgAAIBRC/////58BViEHIBUhFCAHDQALCyAVpyIHBEADQCABQQFrIgEgByAHQQpuIgxBCmxrQTByOgAAIAdBCUshCiAMIQcgCg0ACwsgASEHCyAGQf//e3EgBiAJQX9KGyEGAkAgBSkDQCIUQgBSDQAgCQ0AQQAhCSAQIQcMCgsgCSAUUCAQIAdraiIBIAEgCUgbIQkMCQsgBSgCQCIBQYoSIAEbIgdBACAJEH4iASAHIAlqIAEbIQggDCEGIAEgB2sgCSABGyEJDAgLIAkEQCAFKAJADAILQQAhASAAQSAgC0EAIAYQJwwCCyAFQQA2AgwgBSAFKQNAPgIIIAUgBUEIajYCQEF/IQkgBUEIagshCEEAIQECQANAIAgoAgAiB0UNAQJAIAVBBGogBxB9IgdBAEgiDA0AIAcgCSABa0sNACAIQQRqIQggCSABIAdqIgFLDQEMAgsLQX8hDSAMDQULIABBICALIAEgBhAnIAFFBEBBACEBDAELQQAhCCAFKAJAIQoDQCAKKAIAIgdFDQEgBUEEaiAHEH0iByAIaiIIIAFKDQEgACAFQQRqIAcQLiAKQQRqIQogASAISw0ACwsgAEEgIAsgASAGQYDAAHMQJyALIAEgASALSBshAQwFCyAAIAUrA0AgCyAJIAYgAUEAER0AIQEMBAsgBSAFKQNAPAA3QQEhCSATIQcgDCEGDAILQX8hDQsgBUHQAGokACANDwsgAEEgIA0gCCAHayIMIAkgCSAMSBsiCmoiCCALIAggC0obIgEgCCAGECcgACAPIA0QLiAAQTAgASAIIAZBgIAEcxAnIABBMCAKIAxBABAnIAAgByAMEC4gAEEgIAEgCCAGQYDAAHMQJwwACwALngMCBH8BfiAABEAgACgCACIBBEAgARAbGiAAKAIAEAoLIAAoAhwQBiAAKAIgEBAgACgCJBAQIAAoAlAiAwRAIAMoAhAiAgRAIAMoAgAiAQR/A0AgAiAEQQJ0aigCACICBEADQCACKAIYIQEgAhAGIAEiAg0ACyADKAIAIQELIAEgBEEBaiIESwRAIAMoAhAhAgwBCwsgAygCEAUgAgsQBgsgAxAGCyAAKAJAIgEEQCAAKQMwUAR/IAEFIAEQOkICIQUCQCAAKQMwQgJUDQBBASECA0AgACgCQCACQQR0ahA6IAUgACkDMFoNASAFpyECIAVCAXwhBQwACwALIAAoAkALEAYLAkAgACgCREUNAEEAIQJCASEFA0AgACgCTCACQQJ0aigCACIBQQE6ACggAUEMaiIBKAIARQRAIAEEQCABQQA2AgQgAUEINgIACwsgBSAANQJEWg0BIAWnIQIgBUIBfCEFDAALAAsgACgCTBAGIAAoAlQiAgRAIAIoAggiAQRAIAIoAgwgAREEAAsgAhAGCyAAQQhqEC8gABAGCwvqAwIBfgR/AkAgAAR+IAFFBEAgAwRAIANBADYCBCADQRI2AgALQn8PCyACQYMgcQRAAkAgACkDMFANAEExQTIgAkEBcRshByACQQJxRQRAA0AgACAEIAIgAxBUIgUEQCABIAUgBxEBAEUNBgsgBEIBfCIEIAApAzBUDQAMAgsACwNAIAAgBCACIAMQVCIFBEAgAQJ/IAUQIkEBaiEGA0BBACAGRQ0BGiAFIAZBAWsiBmoiCC0AAEEvRw0ACyAICyIGQQFqIAUgBhsgBxEBAEUNBQsgBEIBfCIEIAApAzBUDQALCyADBEAgA0EANgIEIANBCTYCAAtCfw8LQRIhBgJAAkAgACgCUCIFRQ0AIAFFDQBBCSEGIAUpAwhQDQAgBSgCECABLQAAIgcEf0Kl6wohBCABIQADQCAEIAetQv8Bg3whBCAALQABIgcEQCAAQQFqIQAgBEL/////D4NCIX4hBAwBCwsgBKcFQYUqCyAFKAIAcEECdGooAgAiAEUNAANAIAEgACgCABA4RQRAIAJBCHEEQCAAKQMIIgRCf1ENAwwECyAAKQMQIgRCf1ENAgwDCyAAKAIYIgANAAsLIAMEQCADQQA2AgQgAyAGNgIAC0J/IQQLIAQFQn8LDwsgAwRAIANCADcCAAsgBAsPACAAIAEgAiAAQQhqEE4L4AQCB38BfgJAAkAgAEUNACABRQ0AIAJCf1UNAQsgBARAIARBADYCBCAEQRI2AgALQQAPCwJAIAAoAgAiB0UEQEGAAiEHQYACQQQQMCIGRQ0BIAAoAhAQBiAAQYACNgIAIAAgBjYCEAsCQAJAIAAoAhAgAS0AACIFBH9CpesKIQwgASEGA0AgDCAFrUL/AYN8IQwgBi0AASIFBEAgBkEBaiEGIAxC/////w+DQiF+IQwMAQsLIAynBUGFKgsiBiAHcEECdGoiCCgCACIFBEADQAJAIAUoAhwgBkcNACABIAUoAgAQOA0AAkAgA0EIcQRAIAUpAwhCf1INAQsgBSkDEEJ/UQ0ECyAEBEAgBEEANgIEIARBCjYCAAtBAA8LIAUoAhgiBQ0ACwtBIBAIIgVFDQIgBSABNgIAIAUgCCgCADYCGCAIIAU2AgAgBUJ/NwMIIAUgBjYCHCAAIAApAwhCAXwiDDcDCCAMuiAHuEQAAAAAAADoP6JkRQ0AIAdBAEgNACAHIAdBAXQiCEYNACAIQQQQMCIKRQ0BAkAgDEIAIAcbUARAIAAoAhAhCQwBCyAAKAIQIQlBACEEA0AgCSAEQQJ0aigCACIGBEADQCAGKAIYIQEgBiAKIAYoAhwgCHBBAnRqIgsoAgA2AhggCyAGNgIAIAEiBg0ACwsgBEEBaiIEIAdHDQALCyAJEAYgACAINgIAIAAgCjYCEAsgA0EIcQRAIAUgAjcDCAsgBSACNwMQQQEPCyAEBEAgBEEANgIEIARBDjYCAAtBAA8LIAQEQCAEQQA2AgQgBEEONgIAC0EAC9YPARZ/IwBBQGoiB0IANwMwIAdCADcDOCAHQgA3AyAgB0IANwMoAkACQAJAAkACQCACBEAgAkEDcSEJIAJBAWtBA08EQCACQXxxIQYDQCAHQSBqIAEgCEEBdCIMai8BAEEBdGoiCiAKLwEAQQFqOwEAIAdBIGogASAMQQJyai8BAEEBdGoiCiAKLwEAQQFqOwEAIAdBIGogASAMQQRyai8BAEEBdGoiCiAKLwEAQQFqOwEAIAdBIGogASAMQQZyai8BAEEBdGoiCiAKLwEAQQFqOwEAIAhBBGohCCAGQQRrIgYNAAsLIAkEQANAIAdBIGogASAIQQF0ai8BAEEBdGoiBiAGLwEAQQFqOwEAIAhBAWohCCAJQQFrIgkNAAsLIAQoAgAhCEEPIQsgBy8BPiIRDQIMAQsgBCgCACEIC0EOIQtBACERIAcvATwNAEENIQsgBy8BOg0AQQwhCyAHLwE4DQBBCyELIAcvATYNAEEKIQsgBy8BNA0AQQkhCyAHLwEyDQBBCCELIAcvATANAEEHIQsgBy8BLg0AQQYhCyAHLwEsDQBBBSELIAcvASoNAEEEIQsgBy8BKA0AQQMhCyAHLwEmDQBBAiELIAcvASQNACAHLwEiRQRAIAMgAygCACIAQQRqNgIAIABBwAI2AQAgAyADKAIAIgBBBGo2AgAgAEHAAjYBAEEBIQ0MAwsgCEEARyEPQQEhC0EBIQgMAQsgCyAIIAggC0sbIQ9BASEOQQEhCANAIAdBIGogCEEBdGovAQANASAIQQFqIgggC0cNAAsgCyEIC0F/IQkgBy8BIiIQQQJLDQFBBCAHLwEkIhIgEEEBdGprIgZBAEgNASAGQQF0IAcvASYiE2siBkEASA0BIAZBAXQgBy8BKCIUayIGQQBIDQEgBkEBdCAHLwEqIhVrIgZBAEgNASAGQQF0IAcvASwiFmsiBkEASA0BIAZBAXQgBy8BLiIXayIGQQBIDQEgBkEBdCAHLwEwIhlrIgZBAEgNASAGQQF0IAcvATIiGmsiBkEASA0BIAZBAXQgBy8BNCIbayIGQQBIDQEgBkEBdCAHLwE2Ig1rIgZBAEgNASAGQQF0IAcvATgiGGsiBkEASA0BIAZBAXQgBy8BOiIMayIGQQBIDQEgBkEBdCAHLwE8IgprIgZBAEgNASAGQQF0IBFrIgZBAEgNASAGQQAgAEUgDnIbDQEgCCAPSyERQQAhCSAHQQA7AQIgByAQOwEEIAcgECASaiIGOwEGIAcgBiATaiIGOwEIIAcgBiAUaiIGOwEKIAcgBiAVaiIGOwEMIAcgBiAWaiIGOwEOIAcgBiAXaiIGOwEQIAcgBiAZaiIGOwESIAcgBiAaaiIGOwEUIAcgBiAbaiIGOwEWIAcgBiANaiIGOwEYIAcgBiAYaiIGOwEaIAcgBiAMaiIGOwEcIAcgBiAKajsBHgJAIAJFDQAgAkEBRwRAIAJBfnEhBgNAIAEgCUEBdGovAQAiCgRAIAcgCkEBdGoiCiAKLwEAIgpBAWo7AQAgBSAKQQF0aiAJOwEACyABIAlBAXIiDEEBdGovAQAiCgRAIAcgCkEBdGoiCiAKLwEAIgpBAWo7AQAgBSAKQQF0aiAMOwEACyAJQQJqIQkgBkECayIGDQALCyACQQFxRQ0AIAEgCUEBdGovAQAiAkUNACAHIAJBAXRqIgIgAi8BACICQQFqOwEAIAUgAkEBdGogCTsBAAsgCCAPIBEbIQ1BFCEQQQAhFiAFIgohGEEAIRICQAJAAkAgAA4CAgABC0EBIQkgDUEJSw0DQYECIRBB8PEAIRhBsPEAIQpBASESDAELIABBAkYhFkEAIRBB8PIAIRhBsPIAIQogAEECRwRADAELQQEhCSANQQlLDQILQQEgDXQiE0EBayEaIAMoAgAhFEEAIRUgDSEGQQAhD0EAIQ5BfyEMA0BBASAGdCERAkADQCAIIA9rIRcCf0EAIAUgFUEBdGovAQAiAkEBaiAQSQ0AGiACIBBJBEBBACECQeAADAELIAogAiAQa0EBdCIAai8BACECIAAgGGotAAALIQAgDiAPdiEbQX8gF3QhBiARIQkDQCAUIAYgCWoiCSAbakECdGoiGSACOwECIBkgFzoAASAZIAA6AAAgCQ0AC0EBIAhBAWt0IQYDQCAGIgBBAXYhBiAAIA5xDQALIAdBIGogCEEBdGoiAiACLwEAQQFrIgI7AQAgAEEBayAOcSAAakEAIAAbIQ4gFUEBaiEVIAJB//8DcUUEQCAIIAtGDQIgASAFIBVBAXRqLwEAQQF0ai8BACEICyAIIA1NDQAgDiAacSIAIAxGDQALQQEgCCAPIA0gDxsiD2siBnQhAiAIIAtJBEAgCyAPayEMIAghCQJAA0AgAiAHQSBqIAlBAXRqLwEAayICQQFIDQEgAkEBdCECIAZBAWoiBiAPaiIJIAtJDQALIAwhBgtBASAGdCECC0EBIQkgEiACIBNqIhNB1AZLcQ0DIBYgE0HQBEtxDQMgAygCACICIABBAnRqIgkgDToAASAJIAY6AAAgCSAUIBFBAnRqIhQgAmtBAnY7AQIgACEMDAELCyAOBEAgFCAOQQJ0aiIAQQA7AQIgACAXOgABIABBwAA6AAALIAMgAygCACATQQJ0ajYCAAsgBCANNgIAQQAhCQsgCQtyAQF/IwBBEGsiBCQAAn9BACAARQ0AGiAAQQhqIQAgAUUEQCACUEUEQCAABEAgAEEANgIEIABBEjYCAAtBAAwCC0EAQgAgAyAAEDkMAQsgBCACNwMIIAQgATYCACAEQgEgAyAAEDkLIQAgBEEQaiQAIAAL5QECA38BfkF/IQUCQCAAIAEgAkEAECYiBEUNACAAIAEgAhCIASIGRQ0AAn4CQCACQQhxDQAgACgCQCABp0EEdGooAggiAkUNACACIAMQIUEATgRAIAMpAwAMAgsgAEEIaiIABEAgAEEANgIEIABBDzYCAAtBfw8LIAMQKiADIAQoAhg2AiwgAyAEKQMoNwMYIAMgBCgCFDYCKCADIAQpAyA3AyAgAyAEKAIQOwEwIAMgBC8BUjsBMkL8AULcASAELQAGGwshByADIAY2AgggAyABNwMQIAMgB0IDhDcDAEEAIQULIAULIgAgACABIAIgAxAmIgBFBEBBAA8LIAAoAjBBACACIAMQJQukFQESfyABKAIIIgIoAgAhBSACKAIMIQcgASgCACEIIABCgICAgNDHADcCxChBACECAkACQCAHQQBKBEBBfyEMA0ACQCAIIAJBAnRqIgMvAQAEQCAAIAAoAsQoQQFqIgM2AsQoIAAgA0ECdGpB0BZqIAI2AgAgACACakHMKGpBADoAACACIQwMAQsgA0EAOwECCyACQQFqIgIgB0cNAAsgAEGgLWohDyAAQZwtaiERIAAoAsQoIgRBAUoNAgwBCyAAQaAtaiEPIABBnC1qIRFBfyEMCwNAIAAgBEEBaiICNgLEKCAAIAJBAnRqQdAWaiAMQQFqIgNBACAMQQJIIgYbIgI2AgAgCCACQQJ0IgRqQQE7AQAgACACakHMKGpBADoAACAAIAAoApwtQQFrNgKcLSAFBEAgDyAPKAIAIAQgBWovAQJrNgIACyADIAwgBhshDCAAKALEKCIEQQJIDQALCyABIAw2AgQgBEEBdiEGA0AgACAGQQJ0akHQFmooAgAhCQJAIAYiAkEBdCIDIARKDQAgCCAJQQJ0aiEKIAAgCWpBzChqIQ0gBiEFA0ACQCADIAROBEAgAyECDAELIAggAEHQFmoiAiADQQFyIgRBAnRqKAIAIgtBAnRqLwEAIg4gCCACIANBAnRqKAIAIhBBAnRqLwEAIgJPBEAgAiAORwRAIAMhAgwCCyADIQIgAEHMKGoiAyALai0AACADIBBqLQAASw0BCyAEIQILIAovAQAiBCAIIAAgAkECdGpB0BZqKAIAIgNBAnRqLwEAIgtJBEAgBSECDAILAkAgBCALRw0AIA0tAAAgACADakHMKGotAABLDQAgBSECDAILIAAgBUECdGpB0BZqIAM2AgAgAiEFIAJBAXQiAyAAKALEKCIETA0ACwsgACACQQJ0akHQFmogCTYCACAGQQJOBEAgBkEBayEGIAAoAsQoIQQMAQsLIAAoAsQoIQMDQCAHIQYgACADQQFrIgQ2AsQoIAAoAtQWIQogACAAIANBAnRqQdAWaigCACIJNgLUFkEBIQICQCADQQNIDQAgCCAJQQJ0aiENIAAgCWpBzChqIQtBAiEDQQEhBQNAAkAgAyAETgRAIAMhAgwBCyAIIABB0BZqIgIgA0EBciIHQQJ0aigCACIEQQJ0ai8BACIOIAggAiADQQJ0aigCACIQQQJ0ai8BACICTwRAIAIgDkcEQCADIQIMAgsgAyECIABBzChqIgMgBGotAAAgAyAQai0AAEsNAQsgByECCyANLwEAIgcgCCAAIAJBAnRqQdAWaigCACIDQQJ0ai8BACIESQRAIAUhAgwCCwJAIAQgB0cNACALLQAAIAAgA2pBzChqLQAASw0AIAUhAgwCCyAAIAVBAnRqQdAWaiADNgIAIAIhBSACQQF0IgMgACgCxCgiBEwNAAsLQQIhAyAAQdAWaiIHIAJBAnRqIAk2AgAgACAAKALIKEEBayIFNgLIKCAAKALUFiECIAcgBUECdGogCjYCACAAIAAoAsgoQQFrIgU2AsgoIAcgBUECdGogAjYCACAIIAZBAnRqIg0gCCACQQJ0aiIFLwEAIAggCkECdGoiBC8BAGo7AQAgAEHMKGoiCSAGaiILIAIgCWotAAAiAiAJIApqLQAAIgogAiAKSxtBAWo6AAAgBSAGOwECIAQgBjsBAiAAIAY2AtQWQQEhBUEBIQICQCAAKALEKCIEQQJIDQADQCANLwEAIgogCCAAAn8gAyADIARODQAaIAggByADQQFyIgJBAnRqKAIAIgRBAnRqLwEAIg4gCCAHIANBAnRqKAIAIhBBAnRqLwEAIhJPBEAgAyAOIBJHDQEaIAMgBCAJai0AACAJIBBqLQAASw0BGgsgAgsiAkECdGpB0BZqKAIAIgNBAnRqLwEAIgRJBEAgBSECDAILAkAgBCAKRw0AIAstAAAgACADakHMKGotAABLDQAgBSECDAILIAAgBUECdGpB0BZqIAM2AgAgAiEFIAJBAXQiAyAAKALEKCIETA0ACwsgBkEBaiEHIAAgAkECdGpB0BZqIAY2AgAgACgCxCgiA0EBSg0ACyAAIAAoAsgoQQFrIgI2AsgoIABB0BZqIgMgAkECdGogACgC1BY2AgAgASgCBCEJIAEoAggiAigCECEGIAIoAgghCiACKAIEIRAgAigCACENIAEoAgAhByAAQcgWakIANwEAIABBwBZqQgA3AQAgAEG4FmpCADcBACAAQbAWaiIBQgA3AQBBACEFIAcgAyAAKALIKEECdGooAgBBAnRqQQA7AQICQCAAKALIKCICQbsESg0AIAJBAWohAgNAIAcgACACQQJ0akHQFmooAgAiBEECdCISaiILIAcgCy8BAkECdGovAQIiA0EBaiAGIAMgBkkbIg47AQIgAyAGTyETAkAgBCAJSg0AIAAgDkEBdGpBsBZqIgMgAy8BAEEBajsBAEEAIQMgBCAKTgRAIBAgBCAKa0ECdGooAgAhAwsgESARKAIAIAsvAQAiBCADIA5qbGo2AgAgDUUNACAPIA8oAgAgAyANIBJqLwECaiAEbGo2AgALIAUgE2ohBSACQQFqIgJBvQRHDQALIAVFDQAgACAGQQF0akGwFmohBANAIAYhAgNAIAAgAiIDQQFrIgJBAXRqQbAWaiIPLwEAIgpFDQALIA8gCkEBazsBACAAIANBAXRqQbAWaiICIAIvAQBBAmo7AQAgBCAELwEAQQFrIgM7AQAgBUECSiECIAVBAmshBSACDQALIAZFDQBBvQQhAgNAIANB//8DcSIFBEADQCAAIAJBAWsiAkECdGpB0BZqKAIAIgMgCUoNACAHIANBAnRqIgMvAQIgBkcEQCARIBEoAgAgBiADLwEAbGoiBDYCACARIAQgAy8BACADLwECbGs2AgAgAyAGOwECCyAFQQFrIgUNAAsLIAZBAWsiBkUNASAAIAZBAXRqQbAWai8BACEDDAALAAtBACEFIwBBIGsiAiABIgAvAQBBAXQiATsBAiACIAEgAC8BAmpBAXQiATsBBCACIAEgAC8BBGpBAXQiATsBBiACIAEgAC8BBmpBAXQiATsBCCACIAEgAC8BCGpBAXQiATsBCiACIAEgAC8BCmpBAXQiATsBDCACIAEgAC8BDGpBAXQiATsBDiACIAEgAC8BDmpBAXQiATsBECACIAEgAC8BEGpBAXQiATsBEiACIAEgAC8BEmpBAXQiATsBFCACIAEgAC8BFGpBAXQiATsBFiACIAEgAC8BFmpBAXQiATsBGCACIAEgAC8BGGpBAXQiATsBGiACIAEgAC8BGmpBAXQiATsBHCACIAAvARwgAWpBAXQ7AR4gDEEATgRAA0AgCCAFQQJ0aiIELwECIgEEQCACIAFBAXRqIgAgAC8BACIAQQFqOwEAIAFBA3EhBkEAIQMgAUEBa0EDTwRAIAFB/P8DcSEHA0AgAEEDdkEBcSAAQQJ2QQFxIABBAnEgAyAAQQFxckECdHJyQQF0ciIBQQF0IQMgAEEEdiEAIAdBBGsiBw0ACwsgBgRAA0AgAyAAQQFxciIBQQF0IQMgAEEBdiEAIAZBAWsiBg0ACwsgBCABOwEACyAFIAxHIQAgBUEBaiEFIAANAAsLC7AJAgV/AX4gACABayEDAkACQCACQQdNBEAgAkUNASAAIAMtAAA6AAAgAkEBRw0CIABBAWoPCwJAAn8CQAJAAkACQCABQQFrDggDAgIAAgICAQILIAMoAAAMAwsgAykAACIIQiCIpyEEIAinIQEMAwsgAUEHTQRAIAAgAmpBAWshByABIAJJBEAgA0EEaiEGA0AgByAAa0EBaiIEIAEgASAESxsiBUEITwRAA0AgACADKQAANwAAIANBCGohAyAAQQhqIQAMAAsACyAFQQRJBH8gAwUgACADKAAANgAAIAVBBGshBSAAQQRqIQAgBgshBCAFQQJPBEAgACAELwAAOwAAIAVBAmshBSAEQQJqIQQgAEECaiEACyAFQQFGBEAgACAELQAAOgAAIABBAWohAAsgAiABayICIAFLDQALIAJFDQULAkAgByAAa0EBaiIBIAIgASACSRsiAkEISQ0AIAJBCGsiBEEDdkEBakEHcSIBBEADQCAAIAMpAAA3AAAgAkEIayECIANBCGohAyAAQQhqIQAgAUEBayIBDQALCyAEQThJDQADQCAAIAMpAAA3AAAgACADKQAINwAIIAAgAykAEDcAECAAIAMpABg3ABggACADKQAgNwAgIAAgAykAKDcAKCAAIAMpADA3ADAgACADKQA4NwA4IANBQGshAyAAQUBrIQAgAkFAaiICQQdLDQALCyACQQRPBEAgACADKAAANgAAIAJBBGshAiADQQRqIQMgAEEEaiEACyACQQJPBEAgACADLwAAOwAAIAJBAmshAiADQQJqIQMgAEECaiEACyACQQFHDQQgACADLQAAOgAAIABBAWoPCyAAIAMpAAA3AAAgACACQQFrIgFBB3FBAWoiAmohACABQQhJDQMgAiADaiEDIAFBA3YiAkEBayEEIAJBB3EiAQRAA0AgACADKQAANwAAIAJBAWshAiADQQhqIQMgAEEIaiEAIAFBAWsiAQ0ACwsgBEEHSQ0DA0AgACADKQAANwAAIAAgAykACDcACCAAIAMpABA3ABAgACADKQAYNwAYIAAgAykAIDcAICAAIAMpACg3ACggACADKQAwNwAwIAAgAykAODcAOCADQUBrIQMgAEFAayEAIAJBCGsiAg0ACwwDCyADLQAAQYGChAhsCyIBIQQLIAJBB3EhBgJAIAJBeHEiAkUNACABrSAErUIghoQhCCACQQhrIgRBA3ZBAWpBB3EiAQRAA0AgACAINwAAIAJBCGshAiAAQQhqIQAgAUEBayIBDQALCyAEQThJDQADQCAAIAg3ADggACAINwAwIAAgCDcAKCAAIAg3ACAgACAINwAYIAAgCDcAECAAIAg3AAggACAINwAAIABBQGshACACQUBqIgINAAsLIAZFDQAgACADIAYQCSAGaiEACyAADwsgACADLQABOgABIAJBAkYEQCAAQQJqDwsgACADLQACOgACIAJBA0YEQCAAQQNqDwsgACADLQADOgADIAJBBEYEQCAAQQRqDwsgACADLQAEOgAEIAJBBUYEQCAAQQVqDwsgACADLQAFOgAFIAJBBkYEQCAAQQZqDwsgACADLQAGOgAGIABBB2oLAwABC2wBA38CQCABKAIAIgNBB0sNACADIAIoAgBPDQAgACADayEEA0AgACAEKQAANwAAIAIgAigCACABKAIAIgVrNgIAIAEgASgCAEEBdCIDNgIAIAAgBWohACADQQdLDQEgAyACKAIASQ0ACwsgAAu8AgEBfwJAIAMgAGtBAWoiAyACIAIgA0sbIgJBCEkNACACQQhrIgRBA3ZBAWpBB3EiAwRAA0AgACABKQAANwAAIAJBCGshAiABQQhqIQEgAEEIaiEAIANBAWsiAw0ACwsgBEE4SQ0AA0AgACABKQAANwAAIAAgASkACDcACCAAIAEpABA3ABAgACABKQAYNwAYIAAgASkAIDcAICAAIAEpACg3ACggACABKQAwNwAwIAAgASkAODcAOCABQUBrIQEgAEFAayEAIAJBQGoiAkEHSw0ACwsgAkEETwRAIAAgASgAADYAACACQQRrIQIgAUEEaiEBIABBBGohAAsgAkECTwRAIAAgAS8AADsAACACQQJrIQIgAUECaiEBIABBAmohAAsgAkEBRgR/IAAgAS0AADoAACAAQQFqBSAACwvnAQECfyAAIAEpAAA3AAAgACACQQFrIgJBB3FBAWoiA2ohAAJAIAJBCEkNACABIANqIQEgAkEDdiICQQFrIQQgAkEHcSIDBEADQCAAIAEpAAA3AAAgAkEBayECIAFBCGohASAAQQhqIQAgA0EBayIDDQALCyAEQQdJDQADQCAAIAEpAAA3AAAgACABKQAINwAIIAAgASkAEDcAECAAIAEpABg3ABggACABKQAgNwAgIAAgASkAKDcAKCAAIAEpADA3ADAgACABKQA4NwA4IAFBQGshASAAQUBrIQAgAkEIayICDQALCyAAC/wFAQR/IABB//8DcSEDIABBEHYhBEEBIQAgAkEB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ADYCBCACQQ42AgALDAELIANBARB0IAMgARBmEBIgAyAFIAQoAgwQLAJ/IAMtAABFBEAgAgRAIAJBADYCBCACQRQ2AgALQQAMAQsgACADLQAABH4gAykDEAVCAAunQf//A3EgAygCBBBICyEGIAMQBwsgBEEQaiQAIAYL4AECAn8BfkEwEAgiAkUEQCABBEAgAUEANgIEIAFBDjYCAAtBAA8LIAJCADcDCCACQQA2AgAgAkIANwMQIAJCADcDGCACQgA3AyAgAkIANwAlIABQBEAgAg8LAkAgAEL/////AFYNACAAp0EEdBAIIgNFDQAgAiADNgIAQQAhAUIBIQQDQCADIAFBBHRqIgFCADcCACABQgA3AAUgACAEUgRAIASnIQEgBEIBfCEEDAELCyACIAA3AwggAiAANwMQIAIPCyABBEAgAUEANgIEIAFBDjYCAAtBABAQIAIQBkEAC+4BAgN/AX4jAEEQayIEJAACQCAEQQxqQgQQGCIDRQRAQX8hAgwBCwJAIAEEQCACQYAGcSEFA0ACQCAFIAEoAgRxRQ0AAkAgAykDCEIAVARAIANBADoAAAwBCyADQgA3AxAgA0EBOgAACyADIAEvAQgQDSADIAEvAQoQDSADLQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALQX8hAgwEC0F/IQIgACAEQQxqQgQQHEEASA0DIAEzAQoiBlANACAAIAEoAgwgBhAcQQBIDQMLIAEoAgAiAQ0ACwtBACECCyADEAcLIARBEGokACACCzwBAX8gAARAIAFBgAZxIQEDQCABIAAoAgRxBEAgAiAALwEKakEEaiECCyAAKAIAIgANAAsLIAJB//8DcQucAQEDfyAARQRAQQAPCyAAIQMDQAJ/AkACQCAALwEIIgFB9OABTQRAIAFBAUYNASABQfXGAUYNAQwCCyABQYGyAkYNACABQfXgAUcNAQsgACgCACEBIABBADYCACAAKAIMEAYgABAGIAEgAyAAIANGGyEDAkAgAkUEQEEAIQIMAQsgAiABNgIACyABDAELIAAiAigCAAsiAA0ACyADC7IEAgV/AX4CQAJAAkAgACABrRAYIgEEQCABLQAADQFBACEADAILIAQEQCAEQQA2AgQgBEEONgIAC0EADwtBACEAA0AgAS0AAAR+IAEpAwggASkDEH0FQgALQgRUDQEgARALIQcgASABEAsiBq0QEyIIRQRAQQAhAiAEBEAgBEEANgIEIARBFTYCAAsgARAHIABFDQMDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMAwsCQAJAQRAQCCIFBEAgBSAGOwEKIAUgBzsBCCAFIAI2AgQgBUEANgIAIAZFDQEgBSAIIAYQZyIGNgIMIAYNAiAFEAYLQQAhAiAEBEAgBEEANgIEIARBDjYCAAsgARAHIABFDQQDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMBAsgBUEANgIMCwJAIABFBEAgBSEADAELIAkgBTYCAAsgBSEJIAEtAAANAAsLAkAgAS0AAAR/IAEpAxAgASkDCFEFQQALDQAgASABLQAABH4gASkDCCABKQMQfQVCAAsiCkL/////D4MQEyECAkAgCqciBUEDSw0AIAJFDQAgAkHBFCAFEDxFDQELQQAhAiAEBEAgBEEANgIEIARBFTYCAAsgARAHIABFDQEDQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsMAQsgARAHIAMEQCADIAA2AgBBAQ8LQQEhAiAARQ0AA0AgACgCACEBIAAoAgwQBiAAEAYgASIADQALCyACC74BAQV/IAAEfyAAIQIDQCACIgQoAgAiAg0ACyABBEADQCABIgMvAQghBiADKAIAIQEgACECAkACQANAAkAgAi8BCCAGRw0AIAIvAQoiBSADLwEKRw0AIAVFDQIgAigCDCADKAIMIAUQPEUNAgsgAigCACICDQALIANBADYCACAEIAM2AgAgAyEEDAELIAIgAigCBCADKAIEQYAGcXI2AgQgA0EANgIAIAMoAgwQBiADEAYLIAENAAsLIAAFIAELC1UCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCAXwiAyACVA0AIAMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIAE6AAALWgICfgF/An8CQAJAIAAtAABFDQAgACkDECIBQgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADAELQQAgACgCBCIDRQ0AGiAAIAI3AxAgAyABp2otAAALC94BAQN/IAEgACkDMFoEQCAAQQhqBEAgAEEANgIMIABBEjYCCAtBfw8LIABBCGohAiAALQAYQQJxBEAg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DAELIAFBGU4EQCAAIAAoAhAiAUEBajYCECABIAAoAgRqIAApA7gtIgI8AAAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiACQgiIPAAAIAAgACgCECIBQQFqNgIQIAEgACgCBGogAkIQiDwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAJCGIg8AAAgACAAQbwtajUCADcDuC0gACAAKALALUEgayIBNgLALQsgAUEJTgRAIAAgACgCECIBQQFqNgIQIAEgACgCBGogACkDuC0iAjwAACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAJCCIg8AAAgACAAKQO4LUIQiDcDuC0gACAAKALALUEQayIBNgLALQsgAUEBSA0AIAAgACgCECIBQQFqNgIQIAEgACgCBGogACkDuC08AAALIABBADYCwC0gAEIANwO4LQvwBAEDfyAAQYgBaiECA0AgAiABQQJ0IgNqQQA7AQAgAiADQQRyakEAOwEAIAFBAmoiAUGeAkcNAAsgAEEAOwHwFCAAQQA7AfwSIABBuBVqQQA7AQAgAEG0FWpBADsBACAAQbAVakEAOwEAIABBrBVqQQA7AQAgAEGoFWpBADsBACAAQaQVakEAOwEAIABBoBVqQQA7AQAgAEGcFWpBADsBACAAQZgVakEAOwEAIABBlBVqQQA7AQAgAEGQFWpBADsBACAAQYwVakEAOwEAIABBiBVqQQA7AQAgAEGEFWpBADsBACAAQYAVakEAOwEAIABB/BRqQQA7AQAgAEH4FGpBADsBACAAQfQUakEAOwEAIABB8BNqQQA7AQAgAEHsE2pBADsBACAAQegTakEAOwEAIABB5BNqQQA7AQAgAEHgE2pBADsBACAAQdwTakEAOwEAIABB2BNqQQA7AQAgAEHUE2pBADsBACAAQdATakEAOwEAIABBzBNqQQA7AQAgAEHIE2pBADsBACAAQcQTakEAOwEAIABBwBNqQQA7AQAgAEG8E2pBADsBACAAQbgTakEAOwEAIABBtBNqQQA7AQAgAEGwE2pBADsBACAAQawTakEAOwEAIABBqBNqQQA7AQAgAEGkE2pBADsBACAAQaATakEAOwEAIABBnBNqQQA7AQAgAEGYE2pBADsBACAAQZQTakEAOwEAIABBkBNqQQA7AQAgAEGME2pBADsBACAAQYgTakEAOwEA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AAwFCyABLQAPDQQgASgCrEAgASgCqEAoAggRAgCsIQUMBAsgA0IIWgR+IAIgASgCADYCACACIAEoAgQ2AgRCCAVCfwshBQwDCyABRQ0CIAEoAqxAIAEoAqhAKAIEEQQAIAEQLyABEAYMAgsgB0F/NgIAQRAgBxAkQj+EIQUMAQsgAQRAIAFBADYCBCABQRQ2AgALQn8hBQsgB0EQaiQAIAULYwBByAAQCCIARQRAQfibASgCACEBIAIEQCACIAE2AgQgAkEBNgIACyAADwsgAEEAOgAMIABBADoABCAAIAI2AgAgAEEANgI4IABCADcDMCAAIAFBCSABQQFrQQlJGzYCCCAAC0gBAX8gAEIANwIEIAAgATYCAAJAIAFBAEgNAEGwEygCACABTA0AIAFBAnRBwBNqKAIAQQFHDQBB+JsBKAIAIQILIAAgAjYCBAvuhwECJH8BfiACKQMAIScgACABNgIcIAAgJ0L/////DyAnQv////8PVBs+AiAgAEEQaiEKAn8gAC0ABARAAn8gAC0ADEECdCENQX4hAQJAAkACQCAKRQ0AIAooAiBFDQAgCigCJEUNACAKKAIcIgNFDQAgAygCACAKRw0AAkACQCADKAIgIgVBOWsOOQECAgICAgICAgICAgECAgIBAgICAgICAgICAgICAgICAgIBAgICAgICAgICAgIBAgICAgICAgICAQALIAVBmgVGDQAgBUEqRw0BCyANQQVLDQACQAJAIAooAgxFDQAgCigCBCIEBEAgCigCAEUNAQsgBUGaBUcNASANQQRGDQELIApBkPEAKAIANgIYQX4MBAsgCigCEEUNASADKAIkIQEgAyANNgIkAkAgAygCEARAIAMQFAJAIAooAhAiBSADKAIQIgkgBSAJSRsiAUUNACAKKAIMIAMoAgggARAJGiAKIAooAgwgAWo2AgwgAyADKAIIIAFqNgIIIAogCigCFCABajYCFCAKIAooAhAgAWsiBTYCECADIAMoAhAgAWsiCTYCECAJDQAgAyADKAIENgIIQQAhCQsgBQRAIAMoAiAhBQwCCwwECyAEDQAgDUEBdEF3QQAgDUEESxtqIAFBAXRBd0EAIAFBBEobakoNACANQQRGDQAMAgsCQAJAAkACQAJAIAVBKkcEQCAFQZoFRw0BIAooAgRFDQMMBwsgAygCFEUEQCADQfEANgIgDAILIAMoAjRBDHRBgPABayEBAkAgAygCfEECTg0AIAMoAngiBEEBTA0AIARBBUwEQCABQcAAciEBDAELQYABQcABIARBBkYbIAFyIQELIAMgCUEBajYCECADKAIEIAlqIAFBIHIgASADKAJkGyIBQQh2OgAAIAMgAygCECIEQQFqNgIQIAQgAygCBGogAUEfcCABckEfczoAACADKAJkBEAgAyAKKAIwEF0LIApBATYCMCADQfEANgIgIAoQDCADKAIQDQcgAygCICEFCwJAAkACQAJAIAVBOUYEfyADKAIAQQA2AjAgAyADKAIQIgFBAWo2AhAgASADKAIEakEfOgAAIAMgAygCECIBQQFqNgIQIAEgAygCBGpBiwE6AAAgAyADKAIQIgFBAWo2AhAgASADKAIEakEIOgAAAkAgAygCHCIBRQRAIANBABA0IAMgAygCECIBQQFqNgIQIAEgAygCBGpBADoAAEECIQEgAygCeCIEQQlHBEBBBCAEQQJIQQJ0IAMoAnxBAUobIQELIAMgAygCECIEQQFqNgIQIAQgAygCBGogAToAACADIAMoAhAiAUEBajYCECABIAMoAgRqQQM6AAAgA0HxADYCICAKEAwgAygCEEUNAQwNCyABKAIkIQQgASgCHCEFIAEoAhAhByABKAIsIQkgASgCACELIAMgAygCECIIQQFqNgIQQQIhASAIIAMoAgRqIAlBAEdBAXQgC0EAR3IgB0EAR0ECdHIgBUEAR0EDdHIgBEEAR0EEdHI6AAAgAyADKAIcKAIEEDQgAygCeCIEQQlHBEBBBCAEQQJIQQJ0IAMoAnxBAUobIQELIAMgAygCECIEQQFqNgIQIAQgAygCBGogAToAACADKAIcKAIMIQEgAyADKAIQIgRBAWo2AhAgBCADKAIEaiABOgAAIAMoAhwiASgCEAR/IAEoAhQhASADIAMoAhAiBEEBajYCECAEIAMoAgRqIAE6AAAgAyADKAIQIgRBAWo2AhAgBCADKAIEaiABQQh2OgAAIAMoAhwFIAELKAIsBEAgCgJ/IAooAjAhASADKAIQIQRBACADKAIEIgVFDQAaIAEgBSAErUHMmAEoAgARAwALNgIwCyADQcUANgIgIANBADYCGAwCCyADKAIgBSAFC0HFAGsOIwAEBAQBBAQEBAQEBAQEBAQEBAQEBAQCBAQEBAQEBAQEBAQDBAsgAygCHCIEKAIQIgUEQCADKAIMIgkgAygCECIBIAQvARQgAygCGCIHayIEakkEQANAIAMoAgQgAWogBSAHaiAJIAFrIgkQCRogAyADKAIMIgU2AhACQCADKAIcKAIsRQ0AIAEgBU8NACAKAn8gCigCMCEHQQAgAygCBCABaiILRQ0AGiAHIAsgBSABa61BzJgBKAIAEQMACzYCMAsgAyADKAIYIAlqNgIYIAooAhwiARAUAkAgCigCECIFIAEoAhAiByAFIAdJGyIFRQ0AIAooAgwgASgCCCAFEAkaIAogCigCDCAFajYCDCABIAEoAgggBWo2AgggCiAKKAIUIAVqNgIUIAogCigCECAFazYCECABIAEoAhAgBWsiBTYCECAFDQAgASABKAIENgIICyADKAIQDQwgAygCGCEHIAMoAhwoAhAhBUEAIQEgBCAJayIEIAMoAgwiCUsNAAsLIAMoAgQgAWogBSAHaiAEEAkaIAMgAygCECAEaiIENgIQAkAgAygCHCgCLEUNACABIARPDQAgCgJ/IAooAjAhBUEAIAMoAgQgAWoiB0UNABogBSAHIAQgAWutQcyYASgCABEDAAs2AjALIANBADYCGAsgA0HJADYCIAsgAygCHCgCHARAIAMoAhAiASEEA0ACQCABIAMoAgxHDQACQCADKAIcKAIsRQ0AIAEgBE0NACAKAn8gCigCMCEFQQAgAygCBCAEaiIHRQ0AGiAFIAcgASAEa61BzJgBKAIAEQMACzYCMAsgCigCHCIBEBQCQCAKKAIQIgQgASgCECIFIAQgBUkbIgRFDQAgCigCDCABKAIIIAQQCRogCiAKKAIMIARqNgIMIAEgASgCCCAEajYCCCAKIAooAhQgBGo2AhQgCiAKKAIQIARrNgIQIAEgASgCECAEayIENgIQIAQNACABIAEoAgQ2AggLQQAhAUEAIQQgAygCEEUNAAwLCyADKAIcKAIcIQUgAyADKAIYIgdBAWo2AhggBSAHai0AACEFIAMgAUEBajYCECADKAIEIAFqIAU6AAAgBQRAIAMoAhAhAQwBCwsCQCADKAIcKAIsRQ0AIAMoAhAiASAETQ0AIAoCfyAKKAIwIQVBACADKAIEIARqIgdFDQAaIAUgByABIARrrUHMmAEoAgARAwALNgIwCyADQQA2AhgLIANB2wA2AiALAkAgAygCHCgCJEUNACADKAIQIgEhBANAAkAgASADKAIMRw0AAkAgAygCHCgCLEUNACABIARNDQAgCgJ/IAooAjAhBUEAIAMoAgQgBGoiB0UNABogBSAHIAEgBGutQcyYASgCABEDAAs2AjALIAooAhwiARAUAkAgCigCECIEIAEoAhAiBSAEIAVJGyIERQ0AIAooAgwgASgCCCAEEAkaIAogCigCDCAEajYCDCABIAEoAgggBGo2AgggCiAKKAIUIARqNgIUIAogCigCECAEazYCECABIAEoAhAgBGsiBDYCECAEDQAgASABKAIENgIIC0EAIQFBACEEIAMoAhBFDQAMCgsgAygCHCgCJCEFIAMgAygCGCIHQQFqNgIYIAUgB2otAAAhBSADIAFBAWo2AhAgAygCBCABaiAFOgAAIAUEQCADKAIQIQEMAQsLIAMoAhwoAixFDQAgAygCECIBIARNDQAgCgJ/IAooAjAhBUEAIAMoAgQgBGoiB0UNABogBSAHIAEgBGutQcyYASgCABEDAAs2AjALIANB5wA2AiALAkAgAygCHCgCLARAIAMoAgwgAygCECIBQQJqSQRAIAoQDCADKAIQDQJBACEBCyAKKAIwIQQgAyABQQFqNgIQIAMoAgQgAWogBDoAACADIAMoAhAiAUEBajYCECABIAMoAgRqIARBCHY6AAAgAygCAEEANgIwCyADQfEANgIgIAoQDCADKAIQRQ0BDAcLDAYLIAooAgQNAQsgAygCPA0AIA1FDQEgAygCIEGaBUYNAQsCfyADKAJ4IgFFBEAgAyANEFwMAQsCQAJAAkAgAygCfEECaw4CAAECCwJ/AkADQAJAIAMoAjwNACADECkgAygCPA0AIA0NAkEADAMLIAMoAkggAygCZGotAAAhASADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQA6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAToAACADIAFBAnRqIgEgAS8BiAFBAWo7AYgBIAMgAygCPEEBazYCPCADIAMoAmRBAWoiBDYCZCADKAKULSADKAKYLUcNACADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAQgAWtBABAPIAMgAygCZDYCVCADKAIAIgEoAhwiBBAUAkAgASgCECIFIAQoAhAiByAFIAdJGyIFRQ0AIAEoAgwgBCgCCCAFEAkaIAEgASgCDCAFajYCDCAEIAQoAgggBWo2AgggASABKAIUIAVqNgIUIAEgASgCECAFazYCECAEIAQoAhAgBWsiATYCECABDQAgBCAEKAIENgIICyADKAIAKAIQDQALQQAMAQsgA0EANgKoLSANQQRGBEAgAyADKAJUIgFBAE4EfyADKAJIIAFqBUEACyADKAJkIAFrQQEQDyADIAMoAmQ2AlQgAygCACIBKAIcIgQQFAJAIAEoAhAiBSAEKAIQIgcgBSAHSRsiBUUNACABKAIMIAQoAgggBRAJGiABIAEoAgwgBWo2AgwgBCAEKAIIIAVqNgIIIAEgASgCFCAFajYCFCABIAEoAhAgBWs2AhAgBCAEKAIQIAVrIgE2AhAgAQ0AIAQgBCgCBDYCCAtBA0ECIAMoAgAoAhAbDAELAkAgAygClC1FDQAgAyADKAJUIgFBAE4EfyADKAJIIAFqBUEACyADKAJkIAFrQQAQDyADIAMoAmQ2AlQgAygCACIBKAIcIgQQFAJAIAEoAhAiBSAEKAIQIgcgBSAHSRsiBUUNACABKAIMIAQoAgggBRAJGiABIAEoAgwgBWo2AgwgBCAEKAIIIAVqNgIIIAEgASgCFCAFajYCFCABIAEoAhAgBWs2AhAgBCAEKAIQIAVrIgE2AhAgAQ0AIAQgBCgCBDYCCAsgAygCACgCEA0AQQAMAQtBAQsMAgsCfwJAA0ACQAJAAkACQCADKAI8IghBggJLDQAgAxApAkAgAygCPCIIQYICSw0AIA0NAEEADAcLIAhFDQUgCEECSw0AIAMoAmQhCwwBCyADKAJkIgtFBEBBACELDAELIAMoAkggC2oiDEEBayIBLQAAIgkgDC0AAEcNACAJIAEtAAJHDQAgCSABLQADRw0AIAxBggJqIQ5BfyEBAkACQAJAAkACQAJAA0AgASAMaiIFLQAEIAlGBEAgCSAFLQAFRw0CIAkgBS0ABkcNAyAJIAUtAAdHDQQgCSAMIAFBCGoiBGoiBy0AAEcNByAJIAUtAAlHDQUgCSAFLQAKRw0GIAkgBUELaiIHLQAARw0HIAFB9wFIIQUgBCEBIAUNAQwHCwsgBUEEaiEHDAULIAVBBWohBwwECyAFQQZqIQcMAwsgBUEHaiEHDAILIAVBCWohBwwBCyAFQQpqIQcLIAggByAOa0GCAmoiASABIAhLGyIBQQJLDQELIAMoAkggC2otAAAhASADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQA6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAToAACADIAFBAnRqIgEgAS8BiAFBAWo7AYgBIAMgAygCPEEBazYCPCADIAMoAmRBAWoiCzYCZAwBCyADIAMoApQtIgRBAWo2ApQtIAQgAygCkC1qQQE6AAAgAyADKAKULSIEQQFqNgKULSAEIAMoApAtakEAOgAAIAMgAygClC0iBEEBajYClC0gBCADKAKQLWogAUEDazoAACADIAMoAqQtQQFqNgKkLSABQc3pAGotAABBAnQgA2pBjAlqIgQgBC8BAEEBajsBACADQdDlAC0AAEECdGpB/BJqIgQgBC8BAEEBajsBACADIAMoAjwgAWs2AjwgAyADKAJkIAFqIgs2AmQLIAMoApQtIAMoApgtRw0AIAMgAygCVCIBQQBOBH8gAygCSCABagVBAAsgCyABa0EAEA8gAyADKAJkNgJUIAMoAgAiASgCHCIEEBQCQCABKAIQIgUgBCgCECIHIAUgB0kbIgVFDQAgASgCDCAEKAIIIAUQCRogASABKAIMIAVqNgIMIAQgBCgCCCAFajYCCCABIAEoAhQgBWo2AhQgASABKAIQIAVrNgIQIAQgBCgCECAFayIBNgIQIAENACAEIAQoAgQ2AggLIAMoAgAoAhANAAtBAAwBCyADQQA2AqgtIA1BBEYEQCADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAMoAmQgAWtBARAPIAMgAygCZDYCVCADKAIAIgEoAhwiBBAUAkAgASgCECIFIAQoAhAiByAFIAdJGyIFRQ0AIAEoAgwgBCgCCCAFEAkaIAEgASgCDCAFajYCDCAEIAQoAgggBWo2AgggASABKAIUIAVqNgIUIAEgASgCECAFazYCECAEIAQoAhAgBWsiATYCECABDQAgBCAEKAIENgIIC0EDQQIgAygCACgCEBsMAQsCQCADKAKULUUNACADIAMoAlQiAUEATgR/IAMoAkggAWoFQQALIAMoAmQgAWtB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ASABKAIodCIFIAEoAtA3akEBIAMoAiARAAAiAzYCOCADRQ0CIAMgBWpBACABKALQNxAaCyABKAIsIgVFBEAgAUIANwIwIAFBASABKAIodCIFNgIsCyAWIA5rIgMgBU8EQCABKAI4IBEgBWsgBRAJGiABQQA2AjQgASABKAIsNgIwDAELIAEoAjQiDSABKAI4aiARIANrIAMgBSANayIFIAMgBUkbIgUQCRogAyAFayIDBEAgASgCOCARIANrIAMQCRogASADNgI0IAEgASgCLDYCMAwBCyABQQAgASgCNCAFaiIDIAMgASgCLCINRhs2AjQgASgCMCIDIA1PDQAgASADIAVqNgIwCyAKIB8gCigCBGsiBSAKKAIIajYCCCAKIBYgCigCEGsiASAKKAIUajYCFCAGIAYoAiAgAWo2AiACQCAGLQAMQQRxRQ0AIAFFDQAgBgJ/IAYoAhQEQAJ/IAYoAhwhA0EAIAooAgwgAWsiDUUNABogAyANIAGtQcyYASgCABEDAAsMAQsgBigCHCAKKAIMIAFrIAFByJgBKAIAEQAACyIDNgIcIAogAzYCMAsgCiAGKAJAIAYoAghBAEdBBnRqIAYoAgQiA0G//gBGQQd0akGAAiADQcL+AEZBCHQgA0HH/gBGG2o2AiwgBCAEQXsgBBsgASAFchshFwwCCyAGQdL+ADYCBAtBfCEXCyAUQRBqJAAgFwshASACIAIpAwAgADUCIH03AwACQAJAAkACQCABQQVqDgcBAgICAgMAAgtBAQ8LIAAoAhQNAEEDDwsgACgCACIABEAgACABNgIEIABBDTYCAAtBAiEBCyABCwkAIABBAToADAtEAAJAIAJC/////w9YBEAgACgCFEUNAQsgACgCACIABEAgAEEANgIEIABBEjYCAAtBAA8LIAAgATYCECAAIAI+AhRBAQu6AQEEfyAAQRBqIQECfyAALQAEBEAgARBeDAELQX4hAwJAIAFFDQAgASgCIEUNACABKAIkIgRFDQAgASgCHCICRQ0AIAIoAgAgAUcNACACKAIEQbT+AGtBH0sNACACKAI4IgMEQCABKAIoIAMgBBEGACABKAIkIQQgASgCHCECCyABKAIoIAIgBBEGAEEAIQMgAUEANgIcCyADCyIBBEAgACgCACIABEAgACABNgIEIABBDTYCAAsLIAFFC5gMAQZ/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IAEQBiAABEAgAEEANgIEIABBDjYCAAsLIABBADYCFAwUCyADQgA3AwAgACABNgIUIAFBQGtCADcDACABQgA3AzgMFAsCQAJAIAJQBEBByAAQCCIDRQ0UIANCADcDACADQgA3AzAgA0EANgIoIANCADcDICADQgA3AxggA0IANwMQIANCADcDCCADQgA3AzggA0EIEAgiATYCBCABDQEgAxAGIAAEQCAAQQA2AgQgAEEONgIACwwUCyACIAAoAhAiASkDMFYEQCAABEAgAEEANgIEIABBEjYCAAsMFAsgASgCKARAIAAEQCAAQQA2AgQgAEEdNgIACwwUCyABKAIEIQMCQCABKQMIIgZCAX0iB1ANAANAAkAgAiADIAcgBH1CAYggBHwiBadBA3RqKQMAVARAIAVCAX0hBwwBCyAFIAZRBEAgBiEFDAMLIAMgBUIBfCIEp0EDdGopAwAgAlYNAgsgBCEFIAQgB1QNAAsLAkAgAiADIAWnIgpBA3RqKQMAfSIEUEUEQCABKAIAIgMgCkEEdGopAwghBwwBCyABKAIAIgMgBUIBfSIFp0EEdGopAwgiByEECyACIAcgBH1UBEAgAARAIABBADYCBCAAQRw2AgALDBQLIAMgBUIBfCIFQQAgABCHASIDRQ0TIAMoAgAgAygCCCIKQQR0akEIayAENwMAIAMoAgQgCkEDdGogAjcDACADIAI3AzAgAyABKQMYIgYgAykDCCIEQgF9IgcgBiAHVBs3AxggASADNgIoIAMgATYCKCABIAQ3AyAgAyAFNwMgDAELIAFCADcDAAsgACADNgIUIAMgBDcDQCADIAI3AzhCACEEDBMLIAAoAhAiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKnQQR0aigCABAGIAJCAXwiAiABKQMIVA0ACwsgASgCABAGIAEoAgQQBiABEAYLIAAoAhQhASAAQQA2AhQgACABNgIQDBILIAJCCFoEfiABIAAoAgA2AgAgASAAKAIENgIEQggFQn8LIQQMEQsgACgCECIBBEACQCABKAIoIgNFBEAgASkDGCECDAELIANBADYCKCABKAIoQgA3AyAgASABKQMYIgIgASkDICIFIAIgBVYbIgI3AxgLIAEpAwggAlYEQANAIAEoAgAgAqdBBHRqKAIAEAYgAkIBfCICIAEpAwhUDQALCyABKAIAEAYgASgCBBAGIAEQBgsgACgCFCIBBEACQCABKAIoIgNFBEAgASkDGCECDAELIANBADYCKCABKAIoQgA3AyAgASABKQMYIgIgASkDICIFIAIgBVYbIgI3AxgLIAEpAwggAlYEQANAIAEoAgAgAqdBBHRqKAIAEAYgAkIBfCICIAEpAwhUDQALCyABKAIAEAYgASgCBBAGIAEQBgsgABAGDBALIAAoAhAiAEIANwM4IABBQGtCADcDAAwPCyACQn9XBEAgAARAIABBADYCBCAAQRI2AgALDA4LIAIgACgCECIDKQMwIAMpAzgiBn0iBSACIAVUGyIFUA0OIAEgAykDQCIHpyIAQQR0IgEgAygCAGoiCigCACAGIAMoAgQgAEEDdGopAwB9IgKnaiAFIAopAwggAn0iBiAFIAZUGyIEpxAJIQogByAEIAMoAgAiACABaikDCCACfVGtfCECIAUgBlYEQANAIAogBKdqIAAgAqdBBHQiAWoiACgCACAFIAR9IgYgACkDCCIHIAYgB1QbIganEAkaIAIgBiADKAIAIgAgAWopAwhRrXwhAiAFIAQgBnwiBFYNAAsLIAMgAjcDQCADIAMpAzggBHw3AzgMDgtCfyEEQcgAEAgiA0UNDSADQgA3AwAgA0IANwMwIANBADYCKCADQgA3AyAgA0IANwMYIANCADcDECADQgA3AwggA0IANwM4IANBCBAIIgE2AgQgAUUEQCADEAYgAARAIABBADYCBCAAQQ42AgALDA4LIAFCADcDACAAKAIQIgEEQAJAIAEoAigiCkUEQCABKQMYIQQMAQsgCkEANgIoIAEoAihCADcDICABIAEpAxgiAiABKQMgIgUgAiAFVhsiBDcDGAsgASkDCCAEVgRAA0AgASgCACAEp0EEdGooAgAQBiAEQgF8IgQgASkDCFQNAAsLIAEoAgAQBiABKAIEEAYgARAGCyAAIAM2AhBCACEEDA0LIAAoAhQiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKn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cm9yAFRlbGwgZXJyb3IASW50ZXJuYWwgZXJyb3IAU2VlayBlcnJvcgBXcml0ZSBlcnJvcgBmaWxlIGVycm9yAFJlYWQgZXJyb3IAWmxpYiBlcnJvcgBkYXRhIGVycm9yAENSQyBlcnJvcgBpbmNvbXBhdGlibGUgdmVyc2lvbgBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAMS4yLjExLnpsaWItbmcAaW52YWxpZCB3aW5kb3cgc2l6ZQBSZWFkLW9ubHkgYXJjaGl2ZQBOb3QgYSB6aXAgYXJjaGl2ZQBSZXNvdXJjZSBzdGlsbCBpbiB1c2UATWFsbG9jIGZhaWx1cmUAaW52YWxpZCBibG9jayB0eXBlAEZhaWx1cmUgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlAENhbid0IG9wZW4gZmlsZQBObyBzdWNoIGZpbGUAUHJlbWF0dXJlIGVuZCBvZiBmaWxlAENhbid0IHJlbW92ZSBmaWxlAGludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZQBpbnZhbGlkIGRpc3RhbmNlIGNvZGUAdW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QAc3RyZWFtIGVuZABDb21wcmVzc2VkIGRhdGEgaW52YWxpZABNdWx0aS1kaXNrIHppcCBhcmNoaXZlcyBub3Qgc3VwcG9ydGVkAE9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkAEVuY3J5cHRpb24gbWV0aG9kIG5vdCBzdXBwb3J0ZWQAQ29tcHJlc3Npb24gbWV0aG9kIG5vdCBzdXBwb3J0ZWQARW50cnkgaGFzIGJlZW4gZGVsZXRlZABDb250YWluaW5nIHppcCBhcmNoaXZlIHdhcyBjbG9zZWQAQ2xvc2luZyB6aXAgYXJjaGl2ZSBmYWlsZWQAUmVuYW1pbmcgdGVtcG9yYXJ5IGZpbGUgZmFpbGVkAEVudHJ5IGhhcyBiZWVuIGNoYW5nZWQATm8gcGFzc3dvcmQg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AQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQeDZAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdjaAAttBAAAAAQABAAIAAQABQAAAAQABAAIAAQABgAAAAQABgAgACAABgAAAAQABAAQABAABwAAAAgAEAAgACAABwAAAAgAEACAAIAABwAAAAgAIACAAAABCAAAACAAgAACAQAECAAAACAAAgECAQAQCABB0NsAC/cJDAAIAIwACABMAAgAzAAIACwACACsAAgAbAAIAOwACAAcAAgAnAAIAFwACADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJ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IGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAEHAmAELdRYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAABwUFAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQBB5JoBCwJQUABBoJsBCxD/////////////////////";to(Di)||(Di=b(Di));function Qs(Be){try{if(Be==Di&&he)return new Uint8Array(he);var xe=$n(Be);if(xe)return xe;if(R)return R(Be);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(Ve){ki(Ve)}}function ro(Be,xe){var Ve,vt,tr;try{tr=Qs(Be),vt=new WebAssembly.Module(tr),Ve=new WebAssembly.Instance(vt,xe)}catch(Tn){var Zr=Tn.toString();throw re("failed to compile wasm module: "+Zr),(Zr.includes("imported Memory")||Zr.includes("memory import"))&&re("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),Tn}return[Ve,vt]}function pc(){var Be={a:Ma};function xe(tr,Zr){var Tn=tr.exports;r.asm=Tn,le=r.asm.g,J(le.buffer),$=r.asm.$,tn(r.asm.h),bs("wasm-instantiate")}if(Hn("wasm-instantiate"),r.instantiateWasm)try{var Ve=r.instantiateWasm(Be,xe);return Ve}catch(tr){return re("Module.instantiateWasm callback failed with error: "+tr),!1}var vt=ro(Di,Be);return xe(vt[0]),r.asm}function gu(Be){return F.getFloat32(Be,!0)}function ap(Be){return F.getFloat64(Be,!0)}function lp(Be){return F.getInt16(Be,!0)}function ks(Be){return F.getInt32(Be,!0)}function En(Be,xe){F.setInt32(Be,xe,!0)}function no(Be){for(;Be.length>0;){var xe=Be.shift();if(typeof xe=="function"){xe(r);continue}var Ve=xe.func;typeof Ve=="number"?xe.arg===void 0?$.get(Ve)():$.get(Ve)(xe.arg):Ve(xe.arg===void 0?null:xe.arg)}}function Fs(Be,xe){var Ve=new Date(ks((Be>>2)*4)*1e3);En((xe>>2)*4,Ve.getUTCSeconds()),En((xe+4>>2)*4,Ve.getUTCMinutes()),En((xe+8>>2)*4,Ve.getUTCHours()),En((xe+12>>2)*4,Ve.getUTCDate()),En((xe+16>>2)*4,Ve.getUTCMonth()),En((xe+20>>2)*4,Ve.getUTCFullYear()-1900),En((xe+24>>2)*4,Ve.getUTCDay()),En((xe+36>>2)*4,0),En((xe+32>>2)*4,0);var vt=Date.UTC(Ve.getUTCFullYear(),0,1,0,0,0,0),tr=(Ve.getTime()-vt)/(1e3*60*60*24)|0;return En((xe+28>>2)*4,tr),Fs.GMTString||(Fs.GMTString=yt("GMT")),En((xe+40>>2)*4,Fs.GMTString),xe}function Cl(Be,xe){return Fs(Be,xe)}function El(Be,xe,Ve){qe.copyWithin(Be,xe,xe+Ve)}function io(Be){try{return le.grow(Be-Qe.byteLength+65535>>>16),J(le.buffer),1}catch{}}function Ue(Be){var xe=qe.length;Be=Be>>>0;var Ve=2147483648;if(Be>Ve)return!1;for(var vt=1;vt<=4;vt*=2){var tr=xe*(1+.2/vt);tr=Math.min(tr,Be+100663296);var Zr=Math.min(Ve,Te(Math.max(Be,tr),65536)),Tn=io(Zr);if(Tn)return!0}return!1}function Fn(Be){pe(Be)}function Fi(Be){var xe=Date.now()/1e3|0;return Be&&En((Be>>2)*4,xe),xe}function Rn(){if(Rn.called)return;Rn.called=!0;var Be=new Date().getFullYear(),xe=new Date(Be,0,1),Ve=new Date(Be,6,1),vt=xe.getTimezoneOffset(),tr=Ve.getTimezoneOffset(),Zr=Math.max(vt,tr);En((mi()>>2)*4,Zr*60),En((es()>>2)*4,Number(vt!=tr));function Tn(qa){var aa=qa.toTimeString().match(/\(([A-Za-z ]+)\)$/);return aa?aa[1]:"GMT"}var _r=Tn(xe),ei=Tn(Ve),Ti=yt(_r),Kn=yt(ei);tr<vt?(En(($i()>>2)*4,Ti),En(($i()+4>>2)*4,Kn)):(En(($i()>>2)*4,Kn),En(($i()+4>>2)*4,Ti))}function Ui(Be){Rn();var xe=Date.UTC(ks((Be+20>>2)*4)+1900,ks((Be+16>>2)*4),ks((Be+12>>2)*4),ks((Be+8>>2)*4),ks((Be+4>>2)*4),ks((Be>>2)*4),0),Ve=new Date(xe);En((Be+24>>2)*4,Ve.getUTCDay());var vt=Date.UTC(Ve.getUTCFullYear(),0,1,0,0,0,0),tr=(Ve.getTime()-vt)/(1e3*60*60*24)|0;return En((Be+28>>2)*4,tr),Ve.getTime()/1e3|0}var Zt=typeof atob=="function"?atob:function(Be){var xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ve="",vt,tr,Zr,Tn,_r,ei,Ti,Kn=0;Be=Be.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Tn=xe.indexOf(Be.charAt(Kn++)),_r=xe.indexOf(Be.charAt(Kn++)),ei=xe.indexOf(Be.charAt(Kn++)),Ti=xe.indexOf(Be.charAt(Kn++)),vt=Tn<<2|_r>>4,tr=(_r&15)<<4|ei>>2,Zr=(ei&3)<<6|Ti,Ve=Ve+String.fromCharCode(vt),ei!==64&&(Ve=Ve+String.fromCharCode(tr)),Ti!==64&&(Ve=Ve+String.fromCharCode(Zr));while(Kn<Be.length);return Ve};function Ri(Be){if(typeof w=="boolean"&&w){var xe;try{xe=Buffer.from(Be,"base64")}catch{xe=new Buffer(Be,"base64")}return new Uint8Array(xe.buffer,xe.byteOffset,xe.byteLength)}try{for(var Ve=Zt(Be),vt=new Uint8Array(Ve.length),tr=0;tr<Ve.length;++tr)vt[tr]=Ve.charCodeAt(tr);return vt}catch{throw new Error("Converting base64 string to bytes failed.")}}function $n(Be){if(!!to(Be))return Ri(Be.slice(gs.length))}var Ma={e:Cl,c:El,d:Ue,a:Fn,b:Fi,f:Ui},$t=pc(),hc=r.___wasm_call_ctors=$t.h,du=r._zip_ext_count_symlinks=$t.i,gc=r._zip_file_get_external_attributes=$t.j,Il=r._zipstruct_stat=$t.k,PA=r._zipstruct_statS=$t.l,mu=r._zipstruct_stat_name=$t.m,Ee=r._zipstruct_stat_index=$t.n,Rt=r._zipstruct_stat_size=$t.o,dc=r._zipstruct_stat_mtime=$t.p,_i=r._zipstruct_stat_crc=$t.q,yu=r._zipstruct_error=$t.r,qt=r._zipstruct_errorS=$t.s,wl=r._zipstruct_error_code_zip=$t.t,xA=r._zipstruct_stat_comp_size=$t.u,cp=r._zipstruct_stat_comp_method=$t.v,mc=r._zip_close=$t.w,bA=r._zip_delete=$t.x,Dn=r._zip_dir_add=$t.y,ui=r._zip_discard=$t.z,yc=r._zip_error_init_with_code=$t.A,QA=r._zip_get_error=$t.B,ra=r._zip_file_get_error=$t.C,Hi=r._zip_error_strerror=$t.D,Oo=r._zip_fclose=$t.E,$e=r._zip_file_add=$t.F,so=r._free=$t.G,Bl=r._malloc=$t.H,Cu=r._zip_source_error=$t.I,qi=r._zip_source_seek=$t.J,Eu=r._zip_file_set_external_attributes=$t.K,kA=r._zip_file_set_mtime=$t.L,Ua=r._zip_fopen=$t.M,Cc=r._zip_fopen_index=$t.N,ds=r._zip_fread=$t.O,Ot=r._zip_get_name=$t.P,Sn=r._zip_get_num_entries=$t.Q,di=r._zip_source_read=$t.R,na=r._zip_name_locate=$t.S,oo=r._zip_open_from_source=$t.T,Rs=r._zip_set_file_compression=$t.U,ia=r._zip_source_buffer=$t.V,sa=r._zip_source_buffer_create=$t.W,Mo=r._zip_source_close=$t.X,Zi=r._zip_source_free=$t.Y,Ts=r._zip_source_keep=$t.Z,Ns=r._zip_source_open=$t._,Ls=r._zip_source_set_mtime=$t.aa,ao=r._zip_source_tell=$t.ba,Yn=r._zip_stat=$t.ca,qn=r._zip_stat_index=$t.da,$i=r.__get_tzname=$t.ea,es=r.__get_daylight=$t.fa,mi=r.__get_timezone=$t.ga,Ha=r.stackSave=$t.ha,oa=r.stackRestore=$t.ia,ee=r.stackAlloc=$t.ja;r.cwrap=ne,r.getValue=ge;var we;jr=function Be(){we||je(),we||(jr=Be)};function je(Be){if(Be=Be||A,fr>0||(ht(),fr>0))return;function xe(){we||(we=!0,r.calledRun=!0,!Pe&&(Ut(),o(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),Xt()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),xe()},1)):xe()}if(r.run=je,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return je(),e}}();typeof ID=="object"&&typeof rT=="object"?rT.exports=tT:typeof define=="function"&&define.amd?define([],function(){return tT}):typeof ID=="object"&&(ID.createModule=tT)});var yf,VW,JW,zW=dt(()=>{yf=["number","number"],VW=(Z=>(Z[Z.ZIP_ER_OK=0]="ZIP_ER_OK",Z[Z.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",Z[Z.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",Z[Z.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",Z[Z.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",Z[Z.ZIP_ER_READ=5]="ZIP_ER_READ",Z[Z.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",Z[Z.ZIP_ER_CRC=7]="ZIP_ER_CRC",Z[Z.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",Z[Z.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",Z[Z.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",Z[Z.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",Z[Z.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",Z[Z.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",Z[Z.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",Z[Z.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",Z[Z.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",Z[Z.ZIP_ER_EOF=17]="ZIP_ER_EOF",Z[Z.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",Z[Z.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",Z[Z.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",Z[Z.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",Z[Z.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",Z[Z.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",Z[Z.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",Z[Z.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",Z[Z.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",Z[Z.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",Z[Z.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",Z[Z.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",Z[Z.ZIP_ER_TELL=30]="ZIP_ER_TELL",Z[Z.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",Z))(VW||{}),JW=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:VW,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...yf,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...yf,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...yf,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...yf,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...yf,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...yf,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number",...yf,"number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...yf,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...yf,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}})});function nT(t,e){let r=t.indexOf(e);if(r<=0)return null;let o=r;for(;r>=0&&(o=r+e.length,t[o]!==z.sep);){if(t[r-1]===z.sep)return null;r=t.indexOf(e,o)}return t.length>o&&t[o]!==z.sep?null:t.slice(0,o)}var Ul,XW=dt(()=>{bt();bt();_c();Ul=class extends Up{static async openPromise(e,r){let o=new Ul(r);try{return await e(o)}finally{o.saveAndClose()}}constructor(e={}){let r=e.fileExtensions,o=e.readOnlyArchives,a=typeof r>"u"?A=>nT(A,".zip"):A=>{for(let p of r){let h=nT(A,p);if(h)return h}return null},n=(A,p)=>new os(p,{baseFs:A,readOnly:o,stats:A.statSync(p)}),u=async(A,p)=>{let h={baseFs:A,readOnly:o,stats:await A.statPromise(p)};return()=>new os(p,h)};super({...e,factorySync:n,factoryPromise:u,getMountPoint:a})}}});function x8e(t){if(typeof t=="string"&&String(+t)===t)return+t;if(typeof t=="number"&&Number.isFinite(t))return t<0?Date.now()/1e3:t;if(ZW.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function wD(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var jo,iT,ZW,sT,Ay,BD,os,oT=dt(()=>{bt();bt();bt();bt();bt();bt();jo=Ie("fs"),iT=Ie("stream"),ZW=Ie("util"),sT=tt(Ie("zlib"));eT();Ay="mixed";BD=class extends Error{constructor(r,o){super(r);this.name="Libzip Error",this.code=o}},os=class extends qu{constructor(r,o={}){super();this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;let a=o;if(this.level=typeof a.level<"u"?a.level:Ay,r??(r=wD()),typeof r=="string"){let{baseFs:A=new xn}=a;this.baseFs=A,this.path=r}else this.path=null,this.baseFs=null;if(o.stats)this.stats=o.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(A){if(A.code==="ENOENT"&&a.create)this.stats=Ml.makeDefaultStats();else throw A}else this.stats=Ml.makeDefaultStats();this.libzip=UI();let n=this.libzip.malloc(4);try{let A=0;o.readOnly&&(A|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof r=="string"&&(r=a.create?wD():this.baseFs.readFileSync(r));let p=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(p,A,n),this.lzSource=p}catch(h){throw this.libzip.source.free(p),h}if(this.zip===0){let h=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(h,this.libzip.getValue(n,"i32")),this.makeLibzipError(h)}}finally{this.libzip.free(n)}this.listings.set(wt.root,new Set);let u=this.libzip.getNumEntries(this.zip,0);for(let A=0;A<u;++A){let p=this.libzip.getName(this.zip,A,0);if(z.isAbsolute(p))continue;let h=z.resolve(wt.root,p);this.registerEntry(h,A),p.endsWith("/")&&this.registerListing(h)}if(this.symlinkCount=this.libzip.ext.countSymlinks(this.zip),this.symlinkCount===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.ready=!0}makeLibzipError(r){let o=this.libzip.struct.errorCodeZip(r),a=this.libzip.error.strerror(r),n=new BD(a,this.libzip.errors[o]);if(o===this.libzip.errors.ZIP_ER_CHANGED)throw new Error(`Assertion failed: Unexpected libzip error: ${n.message}`);return n}getExtractHint(r){for(let o of this.entries.keys()){let a=this.pathUtils.extname(o);if(r.relevantExtensions.has(a))return!0}return!1}getAllFiles(){return Array.from(this.entries.keys())}getRealPath(){if(!this.path)throw new Error("ZipFS don't have real paths when loaded from a buffer");return this.path}prepareClose(){if(!this.ready)throw sr.EBUSY("archive closed, close");Ng(this)}getBufferAndClose(){if(this.prepareClose(),this.entries.size===0)return this.discardAndClose(),wD();try{if(this.libzip.source.keep(this.lzSource),this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.libzip.source.open(this.lzSource)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_END)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let r=this.libzip.source.tell(this.lzSource);if(r===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(this.libzip.source.seek(this.lzSource,0,0,this.libzip.SEEK_SET)===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));let o=this.libzip.malloc(r);if(!o)throw new Error("Couldn't allocate enough memory");try{let a=this.libzip.source.read(this.lzSource,o,r);if(a===-1)throw this.makeLibzipError(this.libzip.source.error(this.lzSource));if(a<r)throw new Error("Incomplete read");if(a>r)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(o,o+r);return Buffer.from(n)}finally{this.libzip.free(o)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.readOnly){this.discardAndClose();return}let r=this.baseFs.existsSync(this.path)||this.stats.mode===Ml.DEFAULT_MODE?void 0:this.stats.mode;this.baseFs.writeFileSync(this.path,this.getBufferAndClose(),{mode:r}),this.ready=!1}resolve(r){return z.resolve(wt.root,r)}async openPromise(r,o,a){return this.openSync(r,o,a)}openSync(r,o,a){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:r}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(r,o){return this.opendirSync(r,o)}opendirSync(r,o={}){let a=this.resolveFilename(`opendir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`opendir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`opendir '${r}'`);let u=[...n],A=this.openSync(a,"r");return pD(this,a,u,{onClose:()=>{this.closeSync(A)}})}async readPromise(r,o,a,n,u){return this.readSync(r,o,a,n,u)}readSync(r,o,a=0,n=o.byteLength,u=-1){let A=this.fds.get(r);if(typeof A>"u")throw sr.EBADF("read");let p=u===-1||u===null?A.cursor:u,h=this.readFileSync(A.p);h.copy(o,a,p,p+n);let E=Math.max(0,Math.min(h.length-p,n));return(u===-1||u===null)&&(A.cursor+=E),E}async writePromise(r,o,a,n,u){return typeof o=="string"?this.writeSync(r,o,u):this.writeSync(r,o,a,n,u)}writeSync(r,o,a,n,u){throw typeof this.fds.get(r)>"u"?sr.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw sr.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:o}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new iT.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(A,p)=>{clearImmediate(u),this.closeSync(a),p(A)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),u=setImmediate(async()=>{try{let A=await this.readFilePromise(r,o);n.bytesRead=A.length,n.end(A)}catch(A){n.destroy(A)}});return n}createWriteStream(r,{encoding:o}={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),u=Object.assign(new iT.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(A,p)=>{try{A?p(A):(this.writeFileSync(r,Buffer.concat(a),o),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){u.destroy()},bytesWritten:0,path:r,pending:!1});return u.on("data",A=>{let p=Buffer.from(A);u.bytesWritten+=p.length,a.push(p)}),u}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let o=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`lstat '${r}'`);return o}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw sr.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=z.resolve(wt.root,r);return this.entries.has(a)||this.listings.has(a)}let o;try{o=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return o===void 0?!1:this.entries.has(o)||this.listings.has(o)}async accessPromise(r,o){return this.accessSync(r,o)}accessSync(r,o=jo.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`access '${r}'`);if(this.readOnly&&o&jo.constants.W_OK)throw sr.EROFS(`access '${r}'`)}async statPromise(r,o={bigint:!1}){return o.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,o)}}async fstatPromise(r,o){return this.fstatSync(r,o)}fstatSync(r,o){let a=this.fds.get(r);if(typeof a>"u")throw sr.EBADF("fstatSync");let{p:n}=a,u=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(u)&&!this.listings.has(u))throw sr.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(u))throw sr.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,u,o)}async lstatPromise(r,o={bigint:!1}){return o.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw sr.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,o)}}statImpl(r,o,a={}){let n=this.entries.get(o);if(typeof n<"u"){let u=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,u)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let p=this.stats.uid,h=this.stats.gid,E=this.libzip.struct.statSize(u)>>>0,w=512,v=Math.ceil(E/w),b=(this.libzip.struct.statMtime(u)>>>0)*1e3,C=b,R=b,L=b,_=new Date(C),V=new Date(R),re=new Date(L),oe=new Date(b),pe=this.listings.has(o)?jo.constants.S_IFDIR:this.isSymbolicLink(n)?jo.constants.S_IFLNK:jo.constants.S_IFREG,he=pe===jo.constants.S_IFDIR?493:420,ve=pe|this.getUnixMode(n,he)&511,ge=this.libzip.struct.statCrc(u),le=Object.assign(new Ml.StatEntry,{uid:p,gid:h,size:E,blksize:w,blocks:v,atime:_,birthtime:V,ctime:re,mtime:oe,atimeMs:C,birthtimeMs:R,ctimeMs:L,mtimeMs:b,mode:ve,crc:ge});return a.bigint===!0?Ml.convertToBigIntStats(le):le}if(this.listings.has(o)){let u=this.stats.uid,A=this.stats.gid,p=0,h=512,E=0,w=this.stats.mtimeMs,v=this.stats.mtimeMs,b=this.stats.mtimeMs,C=this.stats.mtimeMs,R=new Date(w),L=new Date(v),_=new Date(b),V=new Date(C),re=jo.constants.S_IFDIR|493,oe=0,pe=Object.assign(new Ml.StatEntry,{uid:u,gid:A,size:p,blksize:h,blocks:E,atime:R,birthtime:L,ctime:_,mtime:V,atimeMs:w,birthtimeMs:v,ctimeMs:b,mtimeMs:C,mode:re,crc:oe});return a.bigint===!0?Ml.convertToBigIntStats(pe):pe}throw new Error("Unreachable")}getUnixMode(r,o){if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?o:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(r){let o=this.listings.get(r);if(o)return o;this.registerListing(z.dirname(r)).add(z.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,o){this.registerListing(z.dirname(r)).add(z.basename(r)),this.entries.set(r,o)}unregisterListing(r){this.listings.delete(r);let o=this.listings.get(z.dirname(r));o==null||o.delete(z.basename(r))}unregisterEntry(r){this.unregisterListing(r);let o=this.entries.get(r);this.entries.delete(r),!(typeof o>"u")&&(this.fileSources.delete(o),this.isSymbolicLink(o)&&this.symlinkCount--)}deleteEntry(r,o){if(this.unregisterEntry(r),this.libzip.delete(this.zip,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(r,o,a=!0,n=!0){if(!this.ready)throw sr.EBUSY(`archive closed, ${r}`);let u=z.resolve(wt.root,o);if(u==="/")return wt.root;let A=this.entries.get(u);if(a&&A!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(A)){let p=this.getFileSource(A).toString();return this.resolveFilename(r,z.resolve(z.dirname(u),p),!0,n)}else return u;for(;;){let p=this.resolveFilename(r,z.dirname(u),!0,n);if(p===void 0)return p;let h=this.listings.has(p),E=this.entries.has(p);if(!h&&!E){if(n===!1)return;throw sr.ENOENT(r)}if(!h)throw sr.ENOTDIR(r);if(u=z.resolve(p,z.basename(u)),!a||this.symlinkCount===0)break;let w=this.libzip.name.locate(this.zip,u.slice(1),0);if(w===-1)break;if(this.isSymbolicLink(w)){let v=this.getFileSource(w).toString();u=z.resolve(z.dirname(u),v)}else break}return u}allocateBuffer(r){Buffer.isBuffer(r)||(r=Buffer.from(r));let o=this.libzip.malloc(r.byteLength);if(!o)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,o,r.byteLength).set(r),{buffer:o,byteLength:r.byteLength}}allocateUnattachedSource(r){let o=this.libzip.struct.errorS(),{buffer:a,byteLength:n}=this.allocateBuffer(r),u=this.libzip.source.fromUnattachedBuffer(a,n,0,1,o);if(u===0)throw this.libzip.free(o),this.makeLibzipError(o);return u}allocateSource(r){let{buffer:o,byteLength:a}=this.allocateBuffer(r),n=this.libzip.source.fromBuffer(this.zip,o,a,0,1);if(n===0)throw this.libzip.free(o),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(r,o){let a=Buffer.isBuffer(o)?o:Buffer.from(o),n=z.relative(wt.root,r),u=this.allocateSource(o);try{let A=this.libzip.file.add(this.zip,n,u,this.libzip.ZIP_FL_OVERWRITE);if(A===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let p=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,A,0,p,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(A,a),A}catch(A){throw this.libzip.source.free(u),A}}isSymbolicLink(r){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&jo.constants.S_IFMT)===jo.constants.S_IFLNK}getFileSource(r,o={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,r,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let A=this.libzip.struct.statCompSize(n),p=this.libzip.struct.statCompMethod(n),h=this.libzip.malloc(A);try{let E=this.libzip.fopenIndex(this.zip,r,0,this.libzip.ZIP_FL_COMPRESSED);if(E===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let w=this.libzip.fread(E,h,A,0);if(w===-1)throw this.makeLibzipError(this.libzip.file.getError(E));if(w<A)throw new Error("Incomplete read");if(w>A)throw new Error("Overread");let v=this.libzip.HEAPU8.subarray(h,h+A),b=Buffer.from(v);if(p===0)return this.fileSources.set(r,b),b;if(o.asyncDecompress)return new Promise((C,R)=>{sT.default.inflateRaw(b,(L,_)=>{L?R(L):(this.fileSources.set(r,_),C(_))})});{let C=sT.default.inflateRawSync(b);return this.fileSources.set(r,C),C}}finally{this.libzip.fclose(E)}}finally{this.libzip.free(h)}}async fchmodPromise(r,o){return this.chmodPromise(this.fdToPath(r,"fchmod"),o)}fchmodSync(r,o){return this.chmodSync(this.fdToPath(r,"fchmodSync"),o)}async chmodPromise(r,o){return this.chmodSync(r,o)}chmodSync(r,o){if(this.readOnly)throw sr.EROFS(`chmod '${r}'`);o&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let A=this.getUnixMode(n,jo.constants.S_IFREG|0)&-512|o;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,A<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(r,o,a){return this.chownPromise(this.fdToPath(r,"fchown"),o,a)}fchownSync(r,o,a){return this.chownSync(this.fdToPath(r,"fchownSync"),o,a)}async chownPromise(r,o,a){return this.chownSync(r,o,a)}chownSync(r,o,a){throw new Error("Unimplemented")}async renamePromise(r,o){return this.renameSync(r,o)}renameSync(r,o){throw new Error("Unimplemented")}async copyFilePromise(r,o,a){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}copyFileSync(r,o,a=0){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=this.getFileSource(n),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}prepareCopyFile(r,o,a=0){if(this.readOnly)throw sr.EROFS(`copyfile '${r} -> '${o}'`);if((a&jo.constants.COPYFILE_FICLONE_FORCE)!==0)throw sr.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${o}'`);let n=this.resolveFilename(`copyfile '${r} -> ${o}'`,r),u=this.entries.get(n);if(typeof u>"u")throw sr.EINVAL(`copyfile '${r}' -> '${o}'`);let A=this.resolveFilename(`copyfile '${r}' -> ${o}'`,o),p=this.entries.get(A);if((a&(jo.constants.COPYFILE_EXCL|jo.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof p<"u")throw sr.EEXIST(`copyfile '${r}' -> '${o}'`);return{indexSource:u,resolvedDestP:A,indexDest:p}}async appendFilePromise(r,o,a){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,o,a)}appendFileSync(r,o,a={}){if(this.readOnly)throw sr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,o,a)}fdToPath(r,o){var n;let a=(n=this.fds.get(r))==null?void 0:n.p;if(typeof a>"u")throw sr.EBADF(o);return a}async writeFilePromise(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([await this.getFileSource(A,{asyncDecompress:!0}),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&await this.chmodPromise(p,u)}writeFileSync(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([this.getFileSource(A),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&this.chmodSync(p,u)}prepareWriteFile(r,o){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw sr.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw sr.EISDIR(`open '${r}'`);let n=null,u=null;typeof o=="string"?n=o:typeof o=="object"&&({encoding:n=null,mode:u=null}=o);let A=this.entries.get(a);return{encoding:n,mode:u,resolvedP:a,index:A}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw sr.EROFS(`unlink '${r}'`);let o=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(o))throw sr.EISDIR(`unlink '${r}'`);let a=this.entries.get(o);if(typeof a>"u")throw sr.EINVAL(`unlink '${r}'`);this.deleteEntry(o,a)}async utimesPromise(r,o,a){return this.utimesSync(r,o,a)}utimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,o,a){return this.lutimesSync(r,o,a)}lutimesSync(r,o,a){if(this.readOnly)throw sr.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,o){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,a,0,x8e(o),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(r,o){return this.mkdirSync(r,o)}mkdirSync(r,{mode:o=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:o});if(this.readOnly)throw sr.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw sr.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,o)}async rmdirPromise(r,o){return this.rmdirSync(r,o)}rmdirSync(r,{recursive:o=!1}={}){if(this.readOnly)throw sr.EROFS(`rmdir '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw sr.ENOTEMPTY(`rmdir '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw sr.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,u)}hydrateDirectory(r){let o=this.libzip.dir.add(this.zip,z.relative(wt.root,r));if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(r),this.registerEntry(r,o),o}async linkPromise(r,o){return this.linkSync(r,o)}linkSync(r,o){throw sr.EOPNOTSUPP(`link '${r}' -> '${o}'`)}async symlinkPromise(r,o){return this.symlinkSync(r,o)}symlinkSync(r,o){if(this.readOnly)throw sr.EROFS(`symlink '${r}' -> '${o}'`);let a=this.resolveFilename(`symlink '${r}' -> '${o}'`,o);if(this.listings.has(a))throw sr.EISDIR(`symlink '${r}' -> '${o}'`);if(this.entries.has(a))throw sr.EEXIST(`symlink '${r}' -> '${o}'`);let n=this.setFileSource(a,r);if(this.registerEntry(a,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(jo.constants.S_IFLNK|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return o?a.toString(o):a}readFileSync(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=this.readFileBuffer(r);return o?a.toString(o):a}readFileBuffer(r,o={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw sr.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,o)}async readdirPromise(r,o){return this.readdirSync(r,o)}readdirSync(r,o){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw sr.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw sr.ENOTDIR(`scandir '${r}'`);let u=[...n];return o!=null&&o.withFileTypes?u.map(A=>Object.assign(this.statImpl("lstat",z.join(r,A)),{name:A})):u}async readlinkPromise(r){let o=this.prepareReadlink(r);return(await this.getFileSource(o,{asyncDecompress:!0})).toString()}readlinkSync(r){let o=this.prepareReadlink(r);return this.getFileSource(o).toString()}prepareReadlink(r){let o=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(o)&&!this.listings.has(o))throw sr.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(o))throw sr.ENOTDIR(`open '${r}'`);if(this.listings.has(o))throw sr.EINVAL(`readlink '${r}'`);let a=this.entries.get(o);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw sr.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=await this.getFileSource(n,{asyncDecompress:!0}),A=Buffer.alloc(o,0);return u.copy(A),await this.writeFilePromise(r,A)}truncateSync(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw sr.EINVAL(`open '${r}'`);let u=this.getFileSource(n),A=Buffer.alloc(o,0);return u.copy(A),this.writeFileSync(r,A)}async ftruncatePromise(r,o){return this.truncatePromise(this.fdToPath(r,"ftruncate"),o)}ftruncateSync(r,o){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),o)}watch(r,o,a){let n;switch(typeof o){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=o);break}if(!n)return{on:()=>{},close:()=>{}};let u=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(u)}}}watchFile(r,o,a){let n=z.resolve(wt.root,r);return sy(this,n,o,a)}unwatchFile(r,o){let a=z.resolve(wt.root,r);return Tg(this,a,o)}}});function eY(t,e,r=Buffer.alloc(0),o){let a=new os(r),n=w=>w===e||w.startsWith(`${e}/`)?w.slice(0,e.length):null,u=async(w,v)=>()=>a,A=(w,v)=>a,p={...t},h=new xn(p),E=new Up({baseFs:h,getMountPoint:n,factoryPromise:u,factorySync:A,magicByte:21,maxAge:1/0,typeCheck:o==null?void 0:o.typeCheck});return OI($W.default,new _p(E)),a}var $W,tY=dt(()=>{bt();$W=tt(Ie("fs"));oT()});var rY=dt(()=>{XW();oT();tY()});var _I={};Yt(_I,{DEFAULT_COMPRESSION_LEVEL:()=>Ay,LibzipError:()=>BD,ZipFS:()=>os,ZipOpenFS:()=>Ul,getArchivePart:()=>nT,getLibzipPromise:()=>Q8e,getLibzipSync:()=>b8e,makeEmptyArchive:()=>wD,mountMemoryDrive:()=>eY});function b8e(){return UI()}async function Q8e(){return UI()}var nY,_c=dt(()=>{eT();nY=tt(KW());zW();rY();YW(()=>{let t=(0,nY.default)();return JW(t)})});var sY=U((cxt,iY)=>{"use strict";function k8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function _g(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,_g)}k8e(_g,Error);_g.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,v;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,v=1;w<E.length;w++)E[w-1]!==E[w]&&(E[v]=E[w],v++);E.length=v}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function F8e(t,e){e=e!==void 0?e:{};var r={},o={Start:ug},a=ug,n=function(N){return N||[]},u=function(N,K,te){return[{command:N,type:K}].concat(te||[])},A=function(N,K){return[{command:N,type:K||";"}]},p=function(N){return N},h=";",E=yr(";",!1),w="&",v=yr("&",!1),b=function(N,K){return K?{chain:N,then:K}:{chain:N}},C=function(N,K){return{type:N,line:K}},R="&&",L=yr("&&",!1),_="||",V=yr("||",!1),re=function(N,K){return K?{...N,then:K}:N},oe=function(N,K){return{type:N,chain:K}},pe="|&",he=yr("|&",!1),ve="|",ge=yr("|",!1),le="=",Pe=yr("=",!1),g=function(N,K){return{name:N,args:[K]}},De=function(N){return{name:N,args:[]}},Ce="(",de=yr("(",!1),ne=")",Z=yr(")",!1),me=function(N,K){return{type:"subshell",subshell:N,args:K}},be="{",ut=yr("{",!1),H="}",yt=yr("}",!1),Me=function(N,K){return{type:"group",group:N,args:K}},Te=function(N,K){return{type:"command",args:K,envs:N}},Qe=function(N){return{type:"envs",envs:N}},_e=function(N){return N},qe=function(N){return N},At=/^[0-9]/,Oe=ys([["0","9"]],!1,!1),x=function(N,K,te){return{type:"redirection",subtype:K,fd:N!==null?parseInt(N):null,args:[te]}},I=">>",P=yr(">>",!1),y=">&",F=yr(">&",!1),J=">",X=yr(">",!1),$="<<<",ie=yr("<<<",!1),ke="<&",Ne=yr("<&",!1),st="<",ht=yr("<",!1),Ut=function(N){return{type:"argument",segments:[].concat(...N)}},Xt=function(N){return N},Pt="$'",tn=yr("$'",!1),Dr="'",fr=yr("'",!1),Br=function(N){return[{type:"text",text:N}]},jr='""',Hn=yr('""',!1),bs=function(){return{type:"text",text:""}},ki='"',gs=yr('"',!1),to=function(N){return N},Di=function(N){return{type:"arithmetic",arithmetic:N,quoted:!0}},Qs=function(N){return{type:"shell",shell:N,quoted:!0}},ro=function(N){return{type:"variable",...N,quoted:!0}},pc=function(N){return{type:"text",text:N}},gu=function(N){return{type:"arithmetic",arithmetic:N,quoted:!1}},ap=function(N){return{type:"shell",shell:N,quoted:!1}},lp=function(N){return{type:"variable",...N,quoted:!1}},ks=function(N){return{type:"glob",pattern:N}},En=/^[^']/,no=ys(["'"],!0,!1),Fs=function(N){return N.join("")},Cl=/^[^$"]/,El=ys(["$",'"'],!0,!1),io=`\\ |
10 | `,_e=yr(`\\ | 10 | `,Ue=yr(`\\ |
11 | `,!1),Fn=function(){return""},Fi="\\",Rn=yr("\\",!1),Ui=/^[\\$"`]/,Zt=ys(["\\","$",'"',"`"],!1,!1),Ri=function(N){return N},Zn="\\a",La=yr("\\a",!1),$t=function(){return"a"},Ac="\\b",gu=yr("\\b",!1),fc=function(){return"\b"},yl=/^[Ee]/,DA=ys(["E","e"],!1,!1),du=function(){return"\x1B"},Ce="\\f",Rt=yr("\\f",!1),pc=function(){return"\f"},_i="\\n",mu=yr("\\n",!1),qt=function(){return` | 11 | `,!1),Fn=function(){return""},Fi="\\",Rn=yr("\\",!1),Ui=/^[\\$"`]/,Zt=ys(["\\","$",'"',"`"],!1,!1),Ri=function(N){return N},$n="\\a",Ma=yr("\\a",!1),$t=function(){return"a"},hc="\\b",du=yr("\\b",!1),gc=function(){return"\b"},Il=/^[Ee]/,PA=ys(["E","e"],!1,!1),mu=function(){return"\x1B"},Ee="\\f",Rt=yr("\\f",!1),dc=function(){return"\f"},_i="\\n",yu=yr("\\n",!1),qt=function(){return` |
12 | `},El="\\r",SA=yr("\\r",!1),lp=function(){return"\r"},hc="\\t",PA=yr("\\t",!1),Dn=function(){return" "},ui="\\v",gc=yr("\\v",!1),xA=function(){return"\v"},ta=/^[\\'"?]/,Hi=ys(["\\","'",'"',"?"],!1,!1),Lo=function(N){return String.fromCharCode(parseInt(N,16))},$e="\\x",so=yr("\\x",!1),Cl="\\u",yu=yr("\\u",!1),qi="\\U",Eu=yr("\\U",!1),bA=function(N){return String.fromCodePoint(parseInt(N,16))},Oa=/^[0-7]/,dc=ys([["0","7"]],!1,!1),ds=/^[0-9a-fA-f]/,Ot=ys([["0","9"],["a","f"],["A","f"]],!1,!1),Sn=ng(),di="{}",ra=yr("{}",!1),oo=function(){return"{}"},Rs="-",na=yr("-",!1),ia="+",Oo=yr("+",!1),Zi=".",Ts=yr(".",!1),Ns=function(N,K,te){return{type:"number",value:(N==="-"?-1:1)*parseFloat(K.join("")+"."+te.join(""))}},Ls=function(N,K){return{type:"number",value:(N==="-"?-1:1)*parseInt(K.join(""))}},ao=function(N){return{type:"variable",...N}},Wn=function(N){return{type:"variable",name:N}},qn=function(N){return N},$i="*",es=yr("*",!1),mi="/",Ma=yr("/",!1),sa=function(N,K,te){return{type:K==="*"?"multiplication":"division",right:te}},ee=function(N,K){return K.reduce((te,ue)=>({left:te,...ue}),N)},we=function(N,K,te){return{type:K==="+"?"addition":"subtraction",right:te}},qe="$((",Be=yr("$((",!1),xe="))",Je=yr("))",!1),vt=function(N){return N},tr="$(",Zr=yr("$(",!1),Tn=function(N){return N},_r="${",$n=yr("${",!1),Ti=":-",Yn=yr(":-",!1),Ua=function(N,K){return{name:N,defaultValue:K}},oa=":-}",yi=yr(":-}",!1),aa=function(N){return{name:N,defaultValue:[]}},Ha=":+",lo=yr(":+",!1),QA=function(N,K){return{name:N,alternativeValue:K}},mc=":+}",la=yr(":+}",!1),$h=function(N){return{name:N,alternativeValue:[]}},yc=function(N){return{name:N}},vm="$",eg=yr("$",!1),Kn=function(N){return e.isGlobPattern(N)},cp=function(N){return N},tg=/^[a-zA-Z0-9_]/,kA=ys([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Os=function(){return rg()},Cu=/^[$@*?#a-zA-Z0-9_\-]/,qa=ys(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),ji=/^[()}<>$|&; \t"']/,ca=ys(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),Iu=/^[<>&; \t"']/,ms=ys(["<",">","&",";"," "," ",'"',"'"],!1,!1),Ec=/^[ \t]/,Cc=ys([" "," "],!1,!1),G=0,Dt=0,Il=[{line:1,column:1}],Si=0,Ic=[],lt=0,wu;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function rg(){return t.substring(Dt,G)}function sI(){return wc(Dt,G)}function FA(N,K){throw K=K!==void 0?K:wc(Dt,G),og([sg(N)],t.substring(Dt,G),K)}function up(N,K){throw K=K!==void 0?K:wc(Dt,G),Dm(N,K)}function yr(N,K){return{type:"literal",text:N,ignoreCase:K}}function ys(N,K,te){return{type:"class",parts:N,inverted:K,ignoreCase:te}}function ng(){return{type:"any"}}function ig(){return{type:"end"}}function sg(N){return{type:"other",description:N}}function Ap(N){var K=Il[N],te;if(K)return K;for(te=N-1;!Il[te];)te--;for(K=Il[te],K={line:K.line,column:K.column};te<N;)t.charCodeAt(te)===10?(K.line++,K.column=1):K.column++,te++;return Il[N]=K,K}function wc(N,K){var te=Ap(N),ue=Ap(K);return{start:{offset:N,line:te.line,column:te.column},end:{offset:K,line:ue.line,column:ue.column}}}function mt(N){G<Si||(G>Si&&(Si=G,Ic=[]),Ic.push(N))}function Dm(N,K){return new Og(N,null,null,K)}function og(N,K,te){return new Og(Og.buildMessage(N,K),N,K,te)}function ag(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(te=Bu(),te===r&&(te=null),te!==r?(Dt=N,K=n(te),N=K):(G=N,N=r)):(G=N,N=r),N}function Bu(){var N,K,te,ue,ze;if(N=G,K=vu(),K!==r){for(te=[],ue=kt();ue!==r;)te.push(ue),ue=kt();te!==r?(ue=lg(),ue!==r?(ze=Sm(),ze===r&&(ze=null),ze!==r?(Dt=N,K=u(K,ue,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;if(N===r)if(N=G,K=vu(),K!==r){for(te=[],ue=kt();ue!==r;)te.push(ue),ue=kt();te!==r?(ue=lg(),ue===r&&(ue=null),ue!==r?(Dt=N,K=A(K,ue),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;return N}function Sm(){var N,K,te,ue,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=Bu(),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();ue!==r?(Dt=N,K=p(te),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;return N}function lg(){var N;return t.charCodeAt(G)===59?(N=h,G++):(N=r,lt===0&&mt(C)),N===r&&(t.charCodeAt(G)===38?(N=w,G++):(N=r,lt===0&&mt(v))),N}function vu(){var N,K,te;return N=G,K=ua(),K!==r?(te=oI(),te===r&&(te=null),te!==r?(Dt=N,K=b(K,te),N=K):(G=N,N=r)):(G=N,N=r),N}function oI(){var N,K,te,ue,ze,gt,ur;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=Pm(),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();if(ue!==r)if(ze=vu(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=E(te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;return N}function Pm(){var N;return t.substr(G,2)===R?(N=R,G+=2):(N=r,lt===0&&mt(L)),N===r&&(t.substr(G,2)===_?(N=_,G+=2):(N=r,lt===0&&mt(J))),N}function ua(){var N,K,te;return N=G,K=cg(),K!==r?(te=Bc(),te===r&&(te=null),te!==r?(Dt=N,K=re(K,te),N=K):(G=N,N=r)):(G=N,N=r),N}function Bc(){var N,K,te,ue,ze,gt,ur;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=wl(),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();if(ue!==r)if(ze=ua(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=oe(te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;return N}function wl(){var N;return t.substr(G,2)===pe?(N=pe,G+=2):(N=r,lt===0&&mt(he)),N===r&&(t.charCodeAt(G)===124?(N=ve,G++):(N=r,lt===0&&mt(ge))),N}function Du(){var N,K,te,ue,ze,gt;if(N=G,K=pg(),K!==r)if(t.charCodeAt(G)===61?(te=le,G++):(te=r,lt===0&&mt(Pe)),te!==r)if(ue=Mo(),ue!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(Dt=N,K=g(K,ue),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;else G=N,N=r;if(N===r)if(N=G,K=pg(),K!==r)if(t.charCodeAt(G)===61?(te=le,G++):(te=r,lt===0&&mt(Pe)),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();ue!==r?(Dt=N,K=De(K),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;return N}function cg(){var N,K,te,ue,ze,gt,ur,gr,hn,ti,Ni;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(t.charCodeAt(G)===40?(te=Ee,G++):(te=r,lt===0&&mt(de)),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();if(ue!==r)if(ze=Bu(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();if(gt!==r)if(t.charCodeAt(G)===41?(ur=ne,G++):(ur=r,lt===0&&mt(Z)),ur!==r){for(gr=[],hn=kt();hn!==r;)gr.push(hn),hn=kt();if(gr!==r){for(hn=[],ti=ja();ti!==r;)hn.push(ti),ti=ja();if(hn!==r){for(ti=[],Ni=kt();Ni!==r;)ti.push(Ni),Ni=kt();ti!==r?(Dt=N,K=me(ze,hn),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(t.charCodeAt(G)===123?(te=be,G++):(te=r,lt===0&&mt(ut)),te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();if(ue!==r)if(ze=Bu(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();if(gt!==r)if(t.charCodeAt(G)===125?(ur=H,G++):(ur=r,lt===0&&mt(yt)),ur!==r){for(gr=[],hn=kt();hn!==r;)gr.push(hn),hn=kt();if(gr!==r){for(hn=[],ti=ja();ti!==r;)hn.push(ti),ti=ja();if(hn!==r){for(ti=[],Ni=kt();Ni!==r;)ti.push(Ni),Ni=kt();ti!==r?(Dt=N,K=Me(ze,hn),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){for(te=[],ue=Du();ue!==r;)te.push(ue),ue=Du();if(te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();if(ue!==r){if(ze=[],gt=fp(),gt!==r)for(;gt!==r;)ze.push(gt),gt=fp();else ze=r;if(ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=Te(te,ze),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r}else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){if(te=[],ue=Du(),ue!==r)for(;ue!==r;)te.push(ue),ue=Du();else te=r;if(te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();ue!==r?(Dt=N,K=Qe(te),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}}}return N}function RA(){var N,K,te,ue,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){if(te=[],ue=pp(),ue!==r)for(;ue!==r;)te.push(ue),ue=pp();else te=r;if(te!==r){for(ue=[],ze=kt();ze!==r;)ue.push(ze),ze=kt();ue!==r?(Dt=N,K=Ue(te),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r;return N}function fp(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r?(te=ja(),te!==r?(Dt=N,K=je(te),N=K):(G=N,N=r)):(G=N,N=r),N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();K!==r?(te=pp(),te!==r?(Dt=N,K=je(te),N=K):(G=N,N=r)):(G=N,N=r)}return N}function ja(){var N,K,te,ue,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(At.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Le)),te===r&&(te=null),te!==r?(ue=ug(),ue!==r?(ze=pp(),ze!==r?(Dt=N,K=x(te,ue,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function ug(){var N;return t.substr(G,2)===I?(N=I,G+=2):(N=r,lt===0&&mt(P)),N===r&&(t.substr(G,2)===y?(N=y,G+=2):(N=r,lt===0&&mt(F)),N===r&&(t.charCodeAt(G)===62?(N=z,G++):(N=r,lt===0&&mt(X)),N===r&&(t.substr(G,3)===$?(N=$,G+=3):(N=r,lt===0&&mt(ie)),N===r&&(t.substr(G,2)===ke?(N=ke,G+=2):(N=r,lt===0&&mt(Ne)),N===r&&(t.charCodeAt(G)===60?(N=st,G++):(N=r,lt===0&&mt(ht))))))),N}function pp(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(te=Mo(),te!==r?(Dt=N,K=je(te),N=K):(G=N,N=r)):(G=N,N=r),N}function Mo(){var N,K,te;if(N=G,K=[],te=Es(),te!==r)for(;te!==r;)K.push(te),te=Es();else K=r;return K!==r&&(Dt=N,K=Ut(K)),N=K,N}function Es(){var N,K;return N=G,K=Ei(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=xm(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=bm(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=Uo(),K!==r&&(Dt=N,K=Xt(K)),N=K))),N}function Ei(){var N,K,te,ue;return N=G,t.substr(G,2)===Pt?(K=Pt,G+=2):(K=r,lt===0&&mt(tn)),K!==r?(te=rn(),te!==r?(t.charCodeAt(G)===39?(ue=Dr,G++):(ue=r,lt===0&&mt(fr)),ue!==r?(Dt=N,K=Br(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function xm(){var N,K,te,ue;return N=G,t.charCodeAt(G)===39?(K=Dr,G++):(K=r,lt===0&&mt(fr)),K!==r?(te=gp(),te!==r?(t.charCodeAt(G)===39?(ue=Dr,G++):(ue=r,lt===0&&mt(fr)),ue!==r?(Dt=N,K=Br(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function bm(){var N,K,te,ue;if(N=G,t.substr(G,2)===jr?(K=jr,G+=2):(K=r,lt===0&&mt(Hn)),K!==r&&(Dt=N,K=bs()),N=K,N===r)if(N=G,t.charCodeAt(G)===34?(K=ki,G++):(K=r,lt===0&&mt(gs)),K!==r){for(te=[],ue=TA();ue!==r;)te.push(ue),ue=TA();te!==r?(t.charCodeAt(G)===34?(ue=ki,G++):(ue=r,lt===0&&mt(gs)),ue!==r?(Dt=N,K=to(te),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;return N}function Uo(){var N,K,te;if(N=G,K=[],te=hp(),te!==r)for(;te!==r;)K.push(te),te=hp();else K=r;return K!==r&&(Dt=N,K=to(K)),N=K,N}function TA(){var N,K;return N=G,K=Hr(),K!==r&&(Dt=N,K=Di(K)),N=K,N===r&&(N=G,K=dp(),K!==r&&(Dt=N,K=Qs(K)),N=K,N===r&&(N=G,K=Dc(),K!==r&&(Dt=N,K=ro(K)),N=K,N===r&&(N=G,K=Ag(),K!==r&&(Dt=N,K=uc(K)),N=K))),N}function hp(){var N,K;return N=G,K=Hr(),K!==r&&(Dt=N,K=hu(K)),N=K,N===r&&(N=G,K=dp(),K!==r&&(Dt=N,K=op(K)),N=K,N===r&&(N=G,K=Dc(),K!==r&&(Dt=N,K=ap(K)),N=K,N===r&&(N=G,K=aI(),K!==r&&(Dt=N,K=ks(K)),N=K,N===r&&(N=G,K=fa(),K!==r&&(Dt=N,K=uc(K)),N=K)))),N}function gp(){var N,K,te;for(N=G,K=[],Cn.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no));te!==r;)K.push(te),Cn.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no));return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function Ag(){var N,K,te;if(N=G,K=[],te=Aa(),te===r&&(dl.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(ml))),te!==r)for(;te!==r;)K.push(te),te=Aa(),te===r&&(dl.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(ml)));else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function Aa(){var N,K,te;return N=G,t.substr(G,2)===io?(K=io,G+=2):(K=r,lt===0&&mt(_e)),K!==r&&(Dt=N,K=Fn()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(Ui.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Zt)),te!==r?(Dt=N,K=Ri(te),N=K):(G=N,N=r)):(G=N,N=r)),N}function rn(){var N,K,te;for(N=G,K=[],te=co(),te===r&&(Cn.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no)));te!==r;)K.push(te),te=co(),te===r&&(Cn.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no)));return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function co(){var N,K,te;return N=G,t.substr(G,2)===Zn?(K=Zn,G+=2):(K=r,lt===0&&mt(La)),K!==r&&(Dt=N,K=$t()),N=K,N===r&&(N=G,t.substr(G,2)===Ac?(K=Ac,G+=2):(K=r,lt===0&&mt(gu)),K!==r&&(Dt=N,K=fc()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(yl.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(DA)),te!==r?(Dt=N,K=du(),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===Ce?(K=Ce,G+=2):(K=r,lt===0&&mt(Rt)),K!==r&&(Dt=N,K=pc()),N=K,N===r&&(N=G,t.substr(G,2)===_i?(K=_i,G+=2):(K=r,lt===0&&mt(mu)),K!==r&&(Dt=N,K=qt()),N=K,N===r&&(N=G,t.substr(G,2)===El?(K=El,G+=2):(K=r,lt===0&&mt(SA)),K!==r&&(Dt=N,K=lp()),N=K,N===r&&(N=G,t.substr(G,2)===hc?(K=hc,G+=2):(K=r,lt===0&&mt(PA)),K!==r&&(Dt=N,K=Dn()),N=K,N===r&&(N=G,t.substr(G,2)===ui?(K=ui,G+=2):(K=r,lt===0&&mt(gc)),K!==r&&(Dt=N,K=xA()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(ta.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Hi)),te!==r?(Dt=N,K=Ri(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=NA()))))))))),N}function NA(){var N,K,te,ue,ze,gt,ur,gr,hn,ti,Ni,gg;return N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(te=Ga(),te!==r?(Dt=N,K=Lo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===$e?(K=$e,G+=2):(K=r,lt===0&&mt(so)),K!==r?(te=G,ue=G,ze=Ga(),ze!==r?(gt=ei(),gt!==r?(ze=[ze,gt],ue=ze):(G=ue,ue=r)):(G=ue,ue=r),ue===r&&(ue=Ga()),ue!==r?te=t.substring(te,G):te=ue,te!==r?(Dt=N,K=Lo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===Cl?(K=Cl,G+=2):(K=r,lt===0&&mt(yu)),K!==r?(te=G,ue=G,ze=ei(),ze!==r?(gt=ei(),gt!==r?(ur=ei(),ur!==r?(gr=ei(),gr!==r?(ze=[ze,gt,ur,gr],ue=ze):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r),ue!==r?te=t.substring(te,G):te=ue,te!==r?(Dt=N,K=Lo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===qi?(K=qi,G+=2):(K=r,lt===0&&mt(Eu)),K!==r?(te=G,ue=G,ze=ei(),ze!==r?(gt=ei(),gt!==r?(ur=ei(),ur!==r?(gr=ei(),gr!==r?(hn=ei(),hn!==r?(ti=ei(),ti!==r?(Ni=ei(),Ni!==r?(gg=ei(),gg!==r?(ze=[ze,gt,ur,gr,hn,ti,Ni,gg],ue=ze):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r)):(G=ue,ue=r),ue!==r?te=t.substring(te,G):te=ue,te!==r?(Dt=N,K=bA(te),N=K):(G=N,N=r)):(G=N,N=r)))),N}function Ga(){var N;return Oa.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(dc)),N}function ei(){var N;return ds.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(Ot)),N}function fa(){var N,K,te,ue,ze;if(N=G,K=[],te=G,t.charCodeAt(G)===92?(ue=Fi,G++):(ue=r,lt===0&&mt(Rn)),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r),te===r&&(te=G,t.substr(G,2)===di?(ue=di,G+=2):(ue=r,lt===0&&mt(ra)),ue!==r&&(Dt=te,ue=oo()),te=ue,te===r&&(te=G,ue=G,lt++,ze=Qm(),lt--,ze===r?ue=void 0:(G=ue,ue=r),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r))),te!==r)for(;te!==r;)K.push(te),te=G,t.charCodeAt(G)===92?(ue=Fi,G++):(ue=r,lt===0&&mt(Rn)),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r),te===r&&(te=G,t.substr(G,2)===di?(ue=di,G+=2):(ue=r,lt===0&&mt(ra)),ue!==r&&(Dt=te,ue=oo()),te=ue,te===r&&(te=G,ue=G,lt++,ze=Qm(),lt--,ze===r?ue=void 0:(G=ue,ue=r),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r)));else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function vc(){var N,K,te,ue,ze,gt;if(N=G,t.charCodeAt(G)===45?(K=Rs,G++):(K=r,lt===0&&mt(na)),K===r&&(t.charCodeAt(G)===43?(K=ia,G++):(K=r,lt===0&&mt(Oo))),K===r&&(K=null),K!==r){if(te=[],At.test(t.charAt(G))?(ue=t.charAt(G),G++):(ue=r,lt===0&&mt(Le)),ue!==r)for(;ue!==r;)te.push(ue),At.test(t.charAt(G))?(ue=t.charAt(G),G++):(ue=r,lt===0&&mt(Le));else te=r;if(te!==r)if(t.charCodeAt(G)===46?(ue=Zi,G++):(ue=r,lt===0&&mt(Ts)),ue!==r){if(ze=[],At.test(t.charAt(G))?(gt=t.charAt(G),G++):(gt=r,lt===0&&mt(Le)),gt!==r)for(;gt!==r;)ze.push(gt),At.test(t.charAt(G))?(gt=t.charAt(G),G++):(gt=r,lt===0&&mt(Le));else ze=r;ze!==r?(Dt=N,K=Ns(K,te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;if(N===r){if(N=G,t.charCodeAt(G)===45?(K=Rs,G++):(K=r,lt===0&&mt(na)),K===r&&(t.charCodeAt(G)===43?(K=ia,G++):(K=r,lt===0&&mt(Oo))),K===r&&(K=null),K!==r){if(te=[],At.test(t.charAt(G))?(ue=t.charAt(G),G++):(ue=r,lt===0&&mt(Le)),ue!==r)for(;ue!==r;)te.push(ue),At.test(t.charAt(G))?(ue=t.charAt(G),G++):(ue=r,lt===0&&mt(Le));else te=r;te!==r?(Dt=N,K=Ls(K,te),N=K):(G=N,N=r)}else G=N,N=r;if(N===r&&(N=G,K=Dc(),K!==r&&(Dt=N,K=ao(K)),N=K,N===r&&(N=G,K=Wa(),K!==r&&(Dt=N,K=Wn(K)),N=K,N===r)))if(N=G,t.charCodeAt(G)===40?(K=Ee,G++):(K=r,lt===0&&mt(de)),K!==r){for(te=[],ue=kt();ue!==r;)te.push(ue),ue=kt();if(te!==r)if(ue=ts(),ue!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(t.charCodeAt(G)===41?(gt=ne,G++):(gt=r,lt===0&&mt(Z)),gt!==r?(Dt=N,K=qn(ue),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r}return N}function Bl(){var N,K,te,ue,ze,gt,ur,gr;if(N=G,K=vc(),K!==r){for(te=[],ue=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===42?(gt=$i,G++):(gt=r,lt===0&&mt(es)),gt===r&&(t.charCodeAt(G)===47?(gt=mi,G++):(gt=r,lt===0&&mt(Ma))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=vc(),gr!==r?(Dt=ue,ze=sa(K,gt,gr),ue=ze):(G=ue,ue=r)):(G=ue,ue=r)}else G=ue,ue=r;else G=ue,ue=r;for(;ue!==r;){for(te.push(ue),ue=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===42?(gt=$i,G++):(gt=r,lt===0&&mt(es)),gt===r&&(t.charCodeAt(G)===47?(gt=mi,G++):(gt=r,lt===0&&mt(Ma))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=vc(),gr!==r?(Dt=ue,ze=sa(K,gt,gr),ue=ze):(G=ue,ue=r)):(G=ue,ue=r)}else G=ue,ue=r;else G=ue,ue=r}te!==r?(Dt=N,K=ee(K,te),N=K):(G=N,N=r)}else G=N,N=r;return N}function ts(){var N,K,te,ue,ze,gt,ur,gr;if(N=G,K=Bl(),K!==r){for(te=[],ue=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===43?(gt=ia,G++):(gt=r,lt===0&&mt(Oo)),gt===r&&(t.charCodeAt(G)===45?(gt=Rs,G++):(gt=r,lt===0&&mt(na))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Bl(),gr!==r?(Dt=ue,ze=we(K,gt,gr),ue=ze):(G=ue,ue=r)):(G=ue,ue=r)}else G=ue,ue=r;else G=ue,ue=r;for(;ue!==r;){for(te.push(ue),ue=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===43?(gt=ia,G++):(gt=r,lt===0&&mt(Oo)),gt===r&&(t.charCodeAt(G)===45?(gt=Rs,G++):(gt=r,lt===0&&mt(na))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Bl(),gr!==r?(Dt=ue,ze=we(K,gt,gr),ue=ze):(G=ue,ue=r)):(G=ue,ue=r)}else G=ue,ue=r;else G=ue,ue=r}te!==r?(Dt=N,K=ee(K,te),N=K):(G=N,N=r)}else G=N,N=r;return N}function Hr(){var N,K,te,ue,ze,gt;if(N=G,t.substr(G,3)===qe?(K=qe,G+=3):(K=r,lt===0&&mt(Be)),K!==r){for(te=[],ue=kt();ue!==r;)te.push(ue),ue=kt();if(te!==r)if(ue=ts(),ue!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(t.substr(G,2)===xe?(gt=xe,G+=2):(gt=r,lt===0&&mt(Je)),gt!==r?(Dt=N,K=vt(ue),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;return N}function dp(){var N,K,te,ue;return N=G,t.substr(G,2)===tr?(K=tr,G+=2):(K=r,lt===0&&mt(Zr)),K!==r?(te=Bu(),te!==r?(t.charCodeAt(G)===41?(ue=ne,G++):(ue=r,lt===0&&mt(Z)),ue!==r?(Dt=N,K=Tn(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function Dc(){var N,K,te,ue,ze,gt;return N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt($n)),K!==r?(te=Wa(),te!==r?(t.substr(G,2)===Ti?(ue=Ti,G+=2):(ue=r,lt===0&&mt(Yn)),ue!==r?(ze=RA(),ze!==r?(t.charCodeAt(G)===125?(gt=H,G++):(gt=r,lt===0&&mt(yt)),gt!==r?(Dt=N,K=Ua(te,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt($n)),K!==r?(te=Wa(),te!==r?(t.substr(G,3)===oa?(ue=oa,G+=3):(ue=r,lt===0&&mt(yi)),ue!==r?(Dt=N,K=aa(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt($n)),K!==r?(te=Wa(),te!==r?(t.substr(G,2)===Ha?(ue=Ha,G+=2):(ue=r,lt===0&&mt(lo)),ue!==r?(ze=RA(),ze!==r?(t.charCodeAt(G)===125?(gt=H,G++):(gt=r,lt===0&&mt(yt)),gt!==r?(Dt=N,K=QA(te,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt($n)),K!==r?(te=Wa(),te!==r?(t.substr(G,3)===mc?(ue=mc,G+=3):(ue=r,lt===0&&mt(la)),ue!==r?(Dt=N,K=$h(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt($n)),K!==r?(te=Wa(),te!==r?(t.charCodeAt(G)===125?(ue=H,G++):(ue=r,lt===0&&mt(yt)),ue!==r?(Dt=N,K=yc(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.charCodeAt(G)===36?(K=vm,G++):(K=r,lt===0&&mt(eg)),K!==r?(te=Wa(),te!==r?(Dt=N,K=yc(te),N=K):(G=N,N=r)):(G=N,N=r)))))),N}function aI(){var N,K,te;return N=G,K=fg(),K!==r?(Dt=G,te=Kn(K),te?te=void 0:te=r,te!==r?(Dt=N,K=cp(K),N=K):(G=N,N=r)):(G=N,N=r),N}function fg(){var N,K,te,ue,ze;if(N=G,K=[],te=G,ue=G,lt++,ze=hg(),lt--,ze===r?ue=void 0:(G=ue,ue=r),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r),te!==r)for(;te!==r;)K.push(te),te=G,ue=G,lt++,ze=hg(),lt--,ze===r?ue=void 0:(G=ue,ue=r),ue!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,ue=Ri(ze),te=ue):(G=te,te=r)):(G=te,te=r);else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function pg(){var N,K,te;if(N=G,K=[],tg.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(kA)),te!==r)for(;te!==r;)K.push(te),tg.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(kA));else K=r;return K!==r&&(Dt=N,K=Os()),N=K,N}function Wa(){var N,K,te;if(N=G,K=[],Cu.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(qa)),te!==r)for(;te!==r;)K.push(te),Cu.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(qa));else K=r;return K!==r&&(Dt=N,K=Os()),N=K,N}function Qm(){var N;return ji.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(ca)),N}function hg(){var N;return Iu.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(ms)),N}function kt(){var N,K;if(N=[],Ec.test(t.charAt(G))?(K=t.charAt(G),G++):(K=r,lt===0&&mt(Cc)),K!==r)for(;K!==r;)N.push(K),Ec.test(t.charAt(G))?(K=t.charAt(G),G++):(K=r,lt===0&&mt(Cc));else N=r;return N}if(wu=a(),wu!==r&&G===t.length)return wu;throw wu!==r&&G<t.length&&mt(ig()),og(Ic,Si<t.length?t.charAt(Si):null,Si<t.length?wc(Si,Si+1):wc(Si,Si))}ZW.exports={SyntaxError:Og,parse:I8e}});function yD(t,e={isGlobPattern:()=>!1}){try{return(0,eY.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function ay(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:o},a)=>`${ED(r)}${o===";"?a!==t.length-1||e?";":"":" &"}`).join(" ")}function ED(t){return`${ly(t.chain)}${t.then?` ${oT(t.then)}`:""}`}function oT(t){return`${t.type} ${ED(t.line)}`}function ly(t){return`${lT(t)}${t.then?` ${aT(t.then)}`:""}`}function aT(t){return`${t.type} ${ly(t.chain)}`}function lT(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>mD(e)).join(" ")} `:""}${t.args.map(e=>cT(e)).join(" ")}`;case"subshell":return`(${ay(t.subshell)})${t.args.length>0?` ${t.args.map(e=>OI(e)).join(" ")}`:""}`;case"group":return`{ ${ay(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>OI(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>mD(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function mD(t){return`${t.name}=${t.args[0]?Mg(t.args[0]):""}`}function cT(t){switch(t.type){case"redirection":return OI(t);case"argument":return Mg(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function OI(t){return`${t.subtype} ${t.args.map(e=>Mg(e)).join(" ")}`}function Mg(t){return t.segments.map(e=>uT(e)).join("")}function uT(t){let e=(o,a)=>a?`"${o}"`:o,r=o=>o===""?'""':o.match(/[(){}<>$|&; \t"']/)?`$'${o.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:o;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${ay(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue>"u"?typeof t.alternativeValue>"u"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(o=>Mg(o)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(o=>Mg(o)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${CD(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function CD(t){let e=a=>{switch(a){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,o=a=>r(CD(a),!["number","variable"].includes(a.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${o(t.left)} ${e(t.type)} ${o(t.right)}`}}var eY,tY=dt(()=>{eY=tt($W())});var nY=U((cxt,rY)=>{"use strict";function w8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Ug(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Ug)}w8e(Ug,Error);Ug.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var C="",w;for(w=0;w<h.parts.length;w++)C+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+C+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function u(h){return r[h.type](h)}function A(h){var C=new Array(h.length),w,v;for(w=0;w<h.length;w++)C[w]=u(h[w]);if(C.sort(),C.length>0){for(w=1,v=1;w<C.length;w++)C[w-1]!==C[w]&&(C[v]=C[w],v++);C.length=v}switch(C.length){case 1:return C[0];case 2:return C[0]+" or "+C[1];default:return C.slice(0,-1).join(", ")+", or "+C[C.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function B8e(t,e){e=e!==void 0?e:{};var r={},o={resolution:Te},a=Te,n="/",u=Ee("/",!1),A=function(Le,x){return{from:Le,descriptor:x}},p=function(Le){return{descriptor:Le}},h="@",C=Ee("@",!1),w=function(Le,x){return{fullName:Le,description:x}},v=function(Le){return{fullName:Le}},b=function(){return le()},E=/^[^\/@]/,R=de(["/","@"],!0,!1),L=/^[^\/]/,_=de(["/"],!0,!1),J=0,re=0,oe=[{line:1,column:1}],pe=0,he=[],ve=0,ge;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function le(){return t.substring(re,J)}function Pe(){return ut(re,J)}function g(Le,x){throw x=x!==void 0?x:ut(re,J),Me([me(Le)],t.substring(re,J),x)}function De(Le,x){throw x=x!==void 0?x:ut(re,J),yt(Le,x)}function Ee(Le,x){return{type:"literal",text:Le,ignoreCase:x}}function de(Le,x,I){return{type:"class",parts:Le,inverted:x,ignoreCase:I}}function ne(){return{type:"any"}}function Z(){return{type:"end"}}function me(Le){return{type:"other",description:Le}}function be(Le){var x=oe[Le],I;if(x)return x;for(I=Le-1;!oe[I];)I--;for(x=oe[I],x={line:x.line,column:x.column};I<Le;)t.charCodeAt(I)===10?(x.line++,x.column=1):x.column++,I++;return oe[Le]=x,x}function ut(Le,x){var I=be(Le),P=be(x);return{start:{offset:Le,line:I.line,column:I.column},end:{offset:x,line:P.line,column:P.column}}}function H(Le){J<pe||(J>pe&&(pe=J,he=[]),he.push(Le))}function yt(Le,x){return new Ug(Le,null,null,x)}function Me(Le,x,I){return new Ug(Ug.buildMessage(Le,x),Le,x,I)}function Te(){var Le,x,I,P;return Le=J,x=Qe(),x!==r?(t.charCodeAt(J)===47?(I=n,J++):(I=r,ve===0&&H(u)),I!==r?(P=Qe(),P!==r?(re=Le,x=A(x,P),Le=x):(J=Le,Le=r)):(J=Le,Le=r)):(J=Le,Le=r),Le===r&&(Le=J,x=Qe(),x!==r&&(re=Le,x=p(x)),Le=x),Le}function Qe(){var Le,x,I,P;return Le=J,x=Ue(),x!==r?(t.charCodeAt(J)===64?(I=h,J++):(I=r,ve===0&&H(C)),I!==r?(P=At(),P!==r?(re=Le,x=w(x,P),Le=x):(J=Le,Le=r)):(J=Le,Le=r)):(J=Le,Le=r),Le===r&&(Le=J,x=Ue(),x!==r&&(re=Le,x=v(x)),Le=x),Le}function Ue(){var Le,x,I,P,y;return Le=J,t.charCodeAt(J)===64?(x=h,J++):(x=r,ve===0&&H(C)),x!==r?(I=je(),I!==r?(t.charCodeAt(J)===47?(P=n,J++):(P=r,ve===0&&H(u)),P!==r?(y=je(),y!==r?(re=Le,x=b(),Le=x):(J=Le,Le=r)):(J=Le,Le=r)):(J=Le,Le=r)):(J=Le,Le=r),Le===r&&(Le=J,x=je(),x!==r&&(re=Le,x=b()),Le=x),Le}function je(){var Le,x,I;if(Le=J,x=[],E.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,ve===0&&H(R)),I!==r)for(;I!==r;)x.push(I),E.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,ve===0&&H(R));else x=r;return x!==r&&(re=Le,x=b()),Le=x,Le}function At(){var Le,x,I;if(Le=J,x=[],L.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,ve===0&&H(_)),I!==r)for(;I!==r;)x.push(I),L.test(t.charAt(J))?(I=t.charAt(J),J++):(I=r,ve===0&&H(_));else x=r;return x!==r&&(re=Le,x=b()),Le=x,Le}if(ge=a(),ge!==r&&J===t.length)return ge;throw ge!==r&&J<t.length&&H(Z()),Me(he,pe<t.length?t.charAt(pe):null,pe<t.length?ut(pe,pe+1):ut(pe,pe))}rY.exports={SyntaxError:Ug,parse:B8e}});function ID(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,iY.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function wD(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var iY,sY=dt(()=>{iY=tt(nY())});var Hg=U((Axt,_g)=>{"use strict";function oY(t){return typeof t>"u"||t===null}function v8e(t){return typeof t=="object"&&t!==null}function D8e(t){return Array.isArray(t)?t:oY(t)?[]:[t]}function S8e(t,e){var r,o,a,n;if(e)for(n=Object.keys(e),r=0,o=n.length;r<o;r+=1)a=n[r],t[a]=e[a];return t}function P8e(t,e){var r="",o;for(o=0;o<e;o+=1)r+=t;return r}function x8e(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}_g.exports.isNothing=oY;_g.exports.isObject=v8e;_g.exports.toArray=D8e;_g.exports.repeat=P8e;_g.exports.isNegativeZero=x8e;_g.exports.extend=S8e});var cy=U((fxt,aY)=>{"use strict";function MI(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}MI.prototype=Object.create(Error.prototype);MI.prototype.constructor=MI;MI.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};aY.exports=MI});var uY=U((pxt,cY)=>{"use strict";var lY=Hg();function AT(t,e,r,o,a){this.name=t,this.buffer=e,this.position=r,this.line=o,this.column=a}AT.prototype.getSnippet=function(e,r){var o,a,n,u,A;if(!this.buffer)return null;for(e=e||4,r=r||75,o="",a=this.position;a>0&&`\0\r | 12 | `},wl="\\r",xA=yr("\\r",!1),cp=function(){return"\r"},mc="\\t",bA=yr("\\t",!1),Dn=function(){return" "},ui="\\v",yc=yr("\\v",!1),QA=function(){return"\v"},ra=/^[\\'"?]/,Hi=ys(["\\","'",'"',"?"],!1,!1),Oo=function(N){return String.fromCharCode(parseInt(N,16))},$e="\\x",so=yr("\\x",!1),Bl="\\u",Cu=yr("\\u",!1),qi="\\U",Eu=yr("\\U",!1),kA=function(N){return String.fromCodePoint(parseInt(N,16))},Ua=/^[0-7]/,Cc=ys([["0","7"]],!1,!1),ds=/^[0-9a-fA-f]/,Ot=ys([["0","9"],["a","f"],["A","f"]],!1,!1),Sn=og(),di="{}",na=yr("{}",!1),oo=function(){return"{}"},Rs="-",ia=yr("-",!1),sa="+",Mo=yr("+",!1),Zi=".",Ts=yr(".",!1),Ns=function(N,K,te){return{type:"number",value:(N==="-"?-1:1)*parseFloat(K.join("")+"."+te.join(""))}},Ls=function(N,K){return{type:"number",value:(N==="-"?-1:1)*parseInt(K.join(""))}},ao=function(N){return{type:"variable",...N}},Yn=function(N){return{type:"variable",name:N}},qn=function(N){return N},$i="*",es=yr("*",!1),mi="/",Ha=yr("/",!1),oa=function(N,K,te){return{type:K==="*"?"multiplication":"division",right:te}},ee=function(N,K){return K.reduce((te,Ae)=>({left:te,...Ae}),N)},we=function(N,K,te){return{type:K==="+"?"addition":"subtraction",right:te}},je="$((",Be=yr("$((",!1),xe="))",Ve=yr("))",!1),vt=function(N){return N},tr="$(",Zr=yr("$(",!1),Tn=function(N){return N},_r="${",ei=yr("${",!1),Ti=":-",Kn=yr(":-",!1),qa=function(N,K){return{name:N,defaultValue:K}},aa=":-}",yi=yr(":-}",!1),la=function(N){return{name:N,defaultValue:[]}},ja=":+",lo=yr(":+",!1),FA=function(N,K){return{name:N,alternativeValue:K}},Ec=":+}",ca=yr(":+}",!1),rg=function(N){return{name:N,alternativeValue:[]}},Ic=function(N){return{name:N}},bm="$",ng=yr("$",!1),Vn=function(N){return e.isGlobPattern(N)},up=function(N){return N},ig=/^[a-zA-Z0-9_]/,RA=ys([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Os=function(){return sg()},Iu=/^[$@*?#a-zA-Z0-9_\-]/,Ga=ys(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),ji=/^[()}<>$|&; \t"']/,ua=ys(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),wu=/^[<>&; \t"']/,ms=ys(["<",">","&",";"," "," ",'"',"'"],!1,!1),wc=/^[ \t]/,Bc=ys([" "," "],!1,!1),G=0,Dt=0,vl=[{line:1,column:1}],Si=0,vc=[],lt=0,Bu;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function sg(){return t.substring(Dt,G)}function cI(){return Dc(Dt,G)}function TA(N,K){throw K=K!==void 0?K:Dc(Dt,G),cg([lg(N)],t.substring(Dt,G),K)}function Ap(N,K){throw K=K!==void 0?K:Dc(Dt,G),Qm(N,K)}function yr(N,K){return{type:"literal",text:N,ignoreCase:K}}function ys(N,K,te){return{type:"class",parts:N,inverted:K,ignoreCase:te}}function og(){return{type:"any"}}function ag(){return{type:"end"}}function lg(N){return{type:"other",description:N}}function fp(N){var K=vl[N],te;if(K)return K;for(te=N-1;!vl[te];)te--;for(K=vl[te],K={line:K.line,column:K.column};te<N;)t.charCodeAt(te)===10?(K.line++,K.column=1):K.column++,te++;return vl[N]=K,K}function Dc(N,K){var te=fp(N),Ae=fp(K);return{start:{offset:N,line:te.line,column:te.column},end:{offset:K,line:Ae.line,column:Ae.column}}}function mt(N){G<Si||(G>Si&&(Si=G,vc=[]),vc.push(N))}function Qm(N,K){return new _g(N,null,null,K)}function cg(N,K,te){return new _g(_g.buildMessage(N,K),N,K,te)}function ug(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(te=vu(),te===r&&(te=null),te!==r?(Dt=N,K=n(te),N=K):(G=N,N=r)):(G=N,N=r),N}function vu(){var N,K,te,Ae,ze;if(N=G,K=Du(),K!==r){for(te=[],Ae=kt();Ae!==r;)te.push(Ae),Ae=kt();te!==r?(Ae=Ag(),Ae!==r?(ze=km(),ze===r&&(ze=null),ze!==r?(Dt=N,K=u(K,Ae,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;if(N===r)if(N=G,K=Du(),K!==r){for(te=[],Ae=kt();Ae!==r;)te.push(Ae),Ae=kt();te!==r?(Ae=Ag(),Ae===r&&(Ae=null),Ae!==r?(Dt=N,K=A(K,Ae),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;return N}function km(){var N,K,te,Ae,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=vu(),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();Ae!==r?(Dt=N,K=p(te),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;return N}function Ag(){var N;return t.charCodeAt(G)===59?(N=h,G++):(N=r,lt===0&&mt(E)),N===r&&(t.charCodeAt(G)===38?(N=w,G++):(N=r,lt===0&&mt(v))),N}function Du(){var N,K,te;return N=G,K=Aa(),K!==r?(te=uI(),te===r&&(te=null),te!==r?(Dt=N,K=b(K,te),N=K):(G=N,N=r)):(G=N,N=r),N}function uI(){var N,K,te,Ae,ze,gt,ur;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=Fm(),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();if(Ae!==r)if(ze=Du(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=C(te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;return N}function Fm(){var N;return t.substr(G,2)===R?(N=R,G+=2):(N=r,lt===0&&mt(L)),N===r&&(t.substr(G,2)===_?(N=_,G+=2):(N=r,lt===0&&mt(V))),N}function Aa(){var N,K,te;return N=G,K=fg(),K!==r?(te=Sc(),te===r&&(te=null),te!==r?(Dt=N,K=re(K,te),N=K):(G=N,N=r)):(G=N,N=r),N}function Sc(){var N,K,te,Ae,ze,gt,ur;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(te=Dl(),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();if(Ae!==r)if(ze=Aa(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=oe(te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;return N}function Dl(){var N;return t.substr(G,2)===pe?(N=pe,G+=2):(N=r,lt===0&&mt(he)),N===r&&(t.charCodeAt(G)===124?(N=ve,G++):(N=r,lt===0&&mt(ge))),N}function Su(){var N,K,te,Ae,ze,gt;if(N=G,K=dg(),K!==r)if(t.charCodeAt(G)===61?(te=le,G++):(te=r,lt===0&&mt(Pe)),te!==r)if(Ae=Uo(),Ae!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(Dt=N,K=g(K,Ae),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;else G=N,N=r;if(N===r)if(N=G,K=dg(),K!==r)if(t.charCodeAt(G)===61?(te=le,G++):(te=r,lt===0&&mt(Pe)),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();Ae!==r?(Dt=N,K=De(K),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r;return N}function fg(){var N,K,te,Ae,ze,gt,ur,gr,hn,ri,Ni;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(t.charCodeAt(G)===40?(te=Ce,G++):(te=r,lt===0&&mt(de)),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();if(Ae!==r)if(ze=vu(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();if(gt!==r)if(t.charCodeAt(G)===41?(ur=ne,G++):(ur=r,lt===0&&mt(Z)),ur!==r){for(gr=[],hn=kt();hn!==r;)gr.push(hn),hn=kt();if(gr!==r){for(hn=[],ri=Wa();ri!==r;)hn.push(ri),ri=Wa();if(hn!==r){for(ri=[],Ni=kt();Ni!==r;)ri.push(Ni),Ni=kt();ri!==r?(Dt=N,K=me(ze,hn),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r)if(t.charCodeAt(G)===123?(te=be,G++):(te=r,lt===0&&mt(ut)),te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();if(Ae!==r)if(ze=vu(),ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();if(gt!==r)if(t.charCodeAt(G)===125?(ur=H,G++):(ur=r,lt===0&&mt(yt)),ur!==r){for(gr=[],hn=kt();hn!==r;)gr.push(hn),hn=kt();if(gr!==r){for(hn=[],ri=Wa();ri!==r;)hn.push(ri),ri=Wa();if(hn!==r){for(ri=[],Ni=kt();Ni!==r;)ri.push(Ni),Ni=kt();ri!==r?(Dt=N,K=Me(ze,hn),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r}else G=N,N=r;else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){for(te=[],Ae=Su();Ae!==r;)te.push(Ae),Ae=Su();if(te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();if(Ae!==r){if(ze=[],gt=pp(),gt!==r)for(;gt!==r;)ze.push(gt),gt=pp();else ze=r;if(ze!==r){for(gt=[],ur=kt();ur!==r;)gt.push(ur),ur=kt();gt!==r?(Dt=N,K=Te(te,ze),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}else G=N,N=r}else G=N,N=r;if(N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){if(te=[],Ae=Su(),Ae!==r)for(;Ae!==r;)te.push(Ae),Ae=Su();else te=r;if(te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();Ae!==r?(Dt=N,K=Qe(te),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r}}}return N}function NA(){var N,K,te,Ae,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r){if(te=[],Ae=hp(),Ae!==r)for(;Ae!==r;)te.push(Ae),Ae=hp();else te=r;if(te!==r){for(Ae=[],ze=kt();ze!==r;)Ae.push(ze),ze=kt();Ae!==r?(Dt=N,K=_e(te),N=K):(G=N,N=r)}else G=N,N=r}else G=N,N=r;return N}function pp(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();if(K!==r?(te=Wa(),te!==r?(Dt=N,K=qe(te),N=K):(G=N,N=r)):(G=N,N=r),N===r){for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();K!==r?(te=hp(),te!==r?(Dt=N,K=qe(te),N=K):(G=N,N=r)):(G=N,N=r)}return N}function Wa(){var N,K,te,Ae,ze;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(At.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Oe)),te===r&&(te=null),te!==r?(Ae=pg(),Ae!==r?(ze=hp(),ze!==r?(Dt=N,K=x(te,Ae,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function pg(){var N;return t.substr(G,2)===I?(N=I,G+=2):(N=r,lt===0&&mt(P)),N===r&&(t.substr(G,2)===y?(N=y,G+=2):(N=r,lt===0&&mt(F)),N===r&&(t.charCodeAt(G)===62?(N=J,G++):(N=r,lt===0&&mt(X)),N===r&&(t.substr(G,3)===$?(N=$,G+=3):(N=r,lt===0&&mt(ie)),N===r&&(t.substr(G,2)===ke?(N=ke,G+=2):(N=r,lt===0&&mt(Ne)),N===r&&(t.charCodeAt(G)===60?(N=st,G++):(N=r,lt===0&&mt(ht))))))),N}function hp(){var N,K,te;for(N=G,K=[],te=kt();te!==r;)K.push(te),te=kt();return K!==r?(te=Uo(),te!==r?(Dt=N,K=qe(te),N=K):(G=N,N=r)):(G=N,N=r),N}function Uo(){var N,K,te;if(N=G,K=[],te=Cs(),te!==r)for(;te!==r;)K.push(te),te=Cs();else K=r;return K!==r&&(Dt=N,K=Ut(K)),N=K,N}function Cs(){var N,K;return N=G,K=Ci(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=Rm(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=Tm(),K!==r&&(Dt=N,K=Xt(K)),N=K,N===r&&(N=G,K=_o(),K!==r&&(Dt=N,K=Xt(K)),N=K))),N}function Ci(){var N,K,te,Ae;return N=G,t.substr(G,2)===Pt?(K=Pt,G+=2):(K=r,lt===0&&mt(tn)),K!==r?(te=rn(),te!==r?(t.charCodeAt(G)===39?(Ae=Dr,G++):(Ae=r,lt===0&&mt(fr)),Ae!==r?(Dt=N,K=Br(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function Rm(){var N,K,te,Ae;return N=G,t.charCodeAt(G)===39?(K=Dr,G++):(K=r,lt===0&&mt(fr)),K!==r?(te=dp(),te!==r?(t.charCodeAt(G)===39?(Ae=Dr,G++):(Ae=r,lt===0&&mt(fr)),Ae!==r?(Dt=N,K=Br(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function Tm(){var N,K,te,Ae;if(N=G,t.substr(G,2)===jr?(K=jr,G+=2):(K=r,lt===0&&mt(Hn)),K!==r&&(Dt=N,K=bs()),N=K,N===r)if(N=G,t.charCodeAt(G)===34?(K=ki,G++):(K=r,lt===0&&mt(gs)),K!==r){for(te=[],Ae=LA();Ae!==r;)te.push(Ae),Ae=LA();te!==r?(t.charCodeAt(G)===34?(Ae=ki,G++):(Ae=r,lt===0&&mt(gs)),Ae!==r?(Dt=N,K=to(te),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;return N}function _o(){var N,K,te;if(N=G,K=[],te=gp(),te!==r)for(;te!==r;)K.push(te),te=gp();else K=r;return K!==r&&(Dt=N,K=to(K)),N=K,N}function LA(){var N,K;return N=G,K=Hr(),K!==r&&(Dt=N,K=Di(K)),N=K,N===r&&(N=G,K=mp(),K!==r&&(Dt=N,K=Qs(K)),N=K,N===r&&(N=G,K=xc(),K!==r&&(Dt=N,K=ro(K)),N=K,N===r&&(N=G,K=hg(),K!==r&&(Dt=N,K=pc(K)),N=K))),N}function gp(){var N,K;return N=G,K=Hr(),K!==r&&(Dt=N,K=gu(K)),N=K,N===r&&(N=G,K=mp(),K!==r&&(Dt=N,K=ap(K)),N=K,N===r&&(N=G,K=xc(),K!==r&&(Dt=N,K=lp(K)),N=K,N===r&&(N=G,K=AI(),K!==r&&(Dt=N,K=ks(K)),N=K,N===r&&(N=G,K=pa(),K!==r&&(Dt=N,K=pc(K)),N=K)))),N}function dp(){var N,K,te;for(N=G,K=[],En.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no));te!==r;)K.push(te),En.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no));return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function hg(){var N,K,te;if(N=G,K=[],te=fa(),te===r&&(Cl.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(El))),te!==r)for(;te!==r;)K.push(te),te=fa(),te===r&&(Cl.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(El)));else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function fa(){var N,K,te;return N=G,t.substr(G,2)===io?(K=io,G+=2):(K=r,lt===0&&mt(Ue)),K!==r&&(Dt=N,K=Fn()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(Ui.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Zt)),te!==r?(Dt=N,K=Ri(te),N=K):(G=N,N=r)):(G=N,N=r)),N}function rn(){var N,K,te;for(N=G,K=[],te=co(),te===r&&(En.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no)));te!==r;)K.push(te),te=co(),te===r&&(En.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(no)));return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function co(){var N,K,te;return N=G,t.substr(G,2)===$n?(K=$n,G+=2):(K=r,lt===0&&mt(Ma)),K!==r&&(Dt=N,K=$t()),N=K,N===r&&(N=G,t.substr(G,2)===hc?(K=hc,G+=2):(K=r,lt===0&&mt(du)),K!==r&&(Dt=N,K=gc()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(Il.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(PA)),te!==r?(Dt=N,K=mu(),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===Ee?(K=Ee,G+=2):(K=r,lt===0&&mt(Rt)),K!==r&&(Dt=N,K=dc()),N=K,N===r&&(N=G,t.substr(G,2)===_i?(K=_i,G+=2):(K=r,lt===0&&mt(yu)),K!==r&&(Dt=N,K=qt()),N=K,N===r&&(N=G,t.substr(G,2)===wl?(K=wl,G+=2):(K=r,lt===0&&mt(xA)),K!==r&&(Dt=N,K=cp()),N=K,N===r&&(N=G,t.substr(G,2)===mc?(K=mc,G+=2):(K=r,lt===0&&mt(bA)),K!==r&&(Dt=N,K=Dn()),N=K,N===r&&(N=G,t.substr(G,2)===ui?(K=ui,G+=2):(K=r,lt===0&&mt(yc)),K!==r&&(Dt=N,K=QA()),N=K,N===r&&(N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(ra.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Hi)),te!==r?(Dt=N,K=Ri(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=OA()))))))))),N}function OA(){var N,K,te,Ae,ze,gt,ur,gr,hn,ri,Ni,yg;return N=G,t.charCodeAt(G)===92?(K=Fi,G++):(K=r,lt===0&&mt(Rn)),K!==r?(te=Ya(),te!==r?(Dt=N,K=Oo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===$e?(K=$e,G+=2):(K=r,lt===0&&mt(so)),K!==r?(te=G,Ae=G,ze=Ya(),ze!==r?(gt=ti(),gt!==r?(ze=[ze,gt],Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r),Ae===r&&(Ae=Ya()),Ae!==r?te=t.substring(te,G):te=Ae,te!==r?(Dt=N,K=Oo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===Bl?(K=Bl,G+=2):(K=r,lt===0&&mt(Cu)),K!==r?(te=G,Ae=G,ze=ti(),ze!==r?(gt=ti(),gt!==r?(ur=ti(),ur!==r?(gr=ti(),gr!==r?(ze=[ze,gt,ur,gr],Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r),Ae!==r?te=t.substring(te,G):te=Ae,te!==r?(Dt=N,K=Oo(te),N=K):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===qi?(K=qi,G+=2):(K=r,lt===0&&mt(Eu)),K!==r?(te=G,Ae=G,ze=ti(),ze!==r?(gt=ti(),gt!==r?(ur=ti(),ur!==r?(gr=ti(),gr!==r?(hn=ti(),hn!==r?(ri=ti(),ri!==r?(Ni=ti(),Ni!==r?(yg=ti(),yg!==r?(ze=[ze,gt,ur,gr,hn,ri,Ni,yg],Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r)):(G=Ae,Ae=r),Ae!==r?te=t.substring(te,G):te=Ae,te!==r?(Dt=N,K=kA(te),N=K):(G=N,N=r)):(G=N,N=r)))),N}function Ya(){var N;return Ua.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(Cc)),N}function ti(){var N;return ds.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(Ot)),N}function pa(){var N,K,te,Ae,ze;if(N=G,K=[],te=G,t.charCodeAt(G)===92?(Ae=Fi,G++):(Ae=r,lt===0&&mt(Rn)),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r),te===r&&(te=G,t.substr(G,2)===di?(Ae=di,G+=2):(Ae=r,lt===0&&mt(na)),Ae!==r&&(Dt=te,Ae=oo()),te=Ae,te===r&&(te=G,Ae=G,lt++,ze=Nm(),lt--,ze===r?Ae=void 0:(G=Ae,Ae=r),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r))),te!==r)for(;te!==r;)K.push(te),te=G,t.charCodeAt(G)===92?(Ae=Fi,G++):(Ae=r,lt===0&&mt(Rn)),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r),te===r&&(te=G,t.substr(G,2)===di?(Ae=di,G+=2):(Ae=r,lt===0&&mt(na)),Ae!==r&&(Dt=te,Ae=oo()),te=Ae,te===r&&(te=G,Ae=G,lt++,ze=Nm(),lt--,ze===r?Ae=void 0:(G=Ae,Ae=r),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r)));else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function Pc(){var N,K,te,Ae,ze,gt;if(N=G,t.charCodeAt(G)===45?(K=Rs,G++):(K=r,lt===0&&mt(ia)),K===r&&(t.charCodeAt(G)===43?(K=sa,G++):(K=r,lt===0&&mt(Mo))),K===r&&(K=null),K!==r){if(te=[],At.test(t.charAt(G))?(Ae=t.charAt(G),G++):(Ae=r,lt===0&&mt(Oe)),Ae!==r)for(;Ae!==r;)te.push(Ae),At.test(t.charAt(G))?(Ae=t.charAt(G),G++):(Ae=r,lt===0&&mt(Oe));else te=r;if(te!==r)if(t.charCodeAt(G)===46?(Ae=Zi,G++):(Ae=r,lt===0&&mt(Ts)),Ae!==r){if(ze=[],At.test(t.charAt(G))?(gt=t.charAt(G),G++):(gt=r,lt===0&&mt(Oe)),gt!==r)for(;gt!==r;)ze.push(gt),At.test(t.charAt(G))?(gt=t.charAt(G),G++):(gt=r,lt===0&&mt(Oe));else ze=r;ze!==r?(Dt=N,K=Ns(K,te,ze),N=K):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;if(N===r){if(N=G,t.charCodeAt(G)===45?(K=Rs,G++):(K=r,lt===0&&mt(ia)),K===r&&(t.charCodeAt(G)===43?(K=sa,G++):(K=r,lt===0&&mt(Mo))),K===r&&(K=null),K!==r){if(te=[],At.test(t.charAt(G))?(Ae=t.charAt(G),G++):(Ae=r,lt===0&&mt(Oe)),Ae!==r)for(;Ae!==r;)te.push(Ae),At.test(t.charAt(G))?(Ae=t.charAt(G),G++):(Ae=r,lt===0&&mt(Oe));else te=r;te!==r?(Dt=N,K=Ls(K,te),N=K):(G=N,N=r)}else G=N,N=r;if(N===r&&(N=G,K=xc(),K!==r&&(Dt=N,K=ao(K)),N=K,N===r&&(N=G,K=Ka(),K!==r&&(Dt=N,K=Yn(K)),N=K,N===r)))if(N=G,t.charCodeAt(G)===40?(K=Ce,G++):(K=r,lt===0&&mt(de)),K!==r){for(te=[],Ae=kt();Ae!==r;)te.push(Ae),Ae=kt();if(te!==r)if(Ae=ts(),Ae!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(t.charCodeAt(G)===41?(gt=ne,G++):(gt=r,lt===0&&mt(Z)),gt!==r?(Dt=N,K=qn(Ae),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r}return N}function Sl(){var N,K,te,Ae,ze,gt,ur,gr;if(N=G,K=Pc(),K!==r){for(te=[],Ae=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===42?(gt=$i,G++):(gt=r,lt===0&&mt(es)),gt===r&&(t.charCodeAt(G)===47?(gt=mi,G++):(gt=r,lt===0&&mt(Ha))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Pc(),gr!==r?(Dt=Ae,ze=oa(K,gt,gr),Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)}else G=Ae,Ae=r;else G=Ae,Ae=r;for(;Ae!==r;){for(te.push(Ae),Ae=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===42?(gt=$i,G++):(gt=r,lt===0&&mt(es)),gt===r&&(t.charCodeAt(G)===47?(gt=mi,G++):(gt=r,lt===0&&mt(Ha))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Pc(),gr!==r?(Dt=Ae,ze=oa(K,gt,gr),Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)}else G=Ae,Ae=r;else G=Ae,Ae=r}te!==r?(Dt=N,K=ee(K,te),N=K):(G=N,N=r)}else G=N,N=r;return N}function ts(){var N,K,te,Ae,ze,gt,ur,gr;if(N=G,K=Sl(),K!==r){for(te=[],Ae=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===43?(gt=sa,G++):(gt=r,lt===0&&mt(Mo)),gt===r&&(t.charCodeAt(G)===45?(gt=Rs,G++):(gt=r,lt===0&&mt(ia))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Sl(),gr!==r?(Dt=Ae,ze=we(K,gt,gr),Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)}else G=Ae,Ae=r;else G=Ae,Ae=r;for(;Ae!==r;){for(te.push(Ae),Ae=G,ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();if(ze!==r)if(t.charCodeAt(G)===43?(gt=sa,G++):(gt=r,lt===0&&mt(Mo)),gt===r&&(t.charCodeAt(G)===45?(gt=Rs,G++):(gt=r,lt===0&&mt(ia))),gt!==r){for(ur=[],gr=kt();gr!==r;)ur.push(gr),gr=kt();ur!==r?(gr=Sl(),gr!==r?(Dt=Ae,ze=we(K,gt,gr),Ae=ze):(G=Ae,Ae=r)):(G=Ae,Ae=r)}else G=Ae,Ae=r;else G=Ae,Ae=r}te!==r?(Dt=N,K=ee(K,te),N=K):(G=N,N=r)}else G=N,N=r;return N}function Hr(){var N,K,te,Ae,ze,gt;if(N=G,t.substr(G,3)===je?(K=je,G+=3):(K=r,lt===0&&mt(Be)),K!==r){for(te=[],Ae=kt();Ae!==r;)te.push(Ae),Ae=kt();if(te!==r)if(Ae=ts(),Ae!==r){for(ze=[],gt=kt();gt!==r;)ze.push(gt),gt=kt();ze!==r?(t.substr(G,2)===xe?(gt=xe,G+=2):(gt=r,lt===0&&mt(Ve)),gt!==r?(Dt=N,K=vt(Ae),N=K):(G=N,N=r)):(G=N,N=r)}else G=N,N=r;else G=N,N=r}else G=N,N=r;return N}function mp(){var N,K,te,Ae;return N=G,t.substr(G,2)===tr?(K=tr,G+=2):(K=r,lt===0&&mt(Zr)),K!==r?(te=vu(),te!==r?(t.charCodeAt(G)===41?(Ae=ne,G++):(Ae=r,lt===0&&mt(Z)),Ae!==r?(Dt=N,K=Tn(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N}function xc(){var N,K,te,Ae,ze,gt;return N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt(ei)),K!==r?(te=Ka(),te!==r?(t.substr(G,2)===Ti?(Ae=Ti,G+=2):(Ae=r,lt===0&&mt(Kn)),Ae!==r?(ze=NA(),ze!==r?(t.charCodeAt(G)===125?(gt=H,G++):(gt=r,lt===0&&mt(yt)),gt!==r?(Dt=N,K=qa(te,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt(ei)),K!==r?(te=Ka(),te!==r?(t.substr(G,3)===aa?(Ae=aa,G+=3):(Ae=r,lt===0&&mt(yi)),Ae!==r?(Dt=N,K=la(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt(ei)),K!==r?(te=Ka(),te!==r?(t.substr(G,2)===ja?(Ae=ja,G+=2):(Ae=r,lt===0&&mt(lo)),Ae!==r?(ze=NA(),ze!==r?(t.charCodeAt(G)===125?(gt=H,G++):(gt=r,lt===0&&mt(yt)),gt!==r?(Dt=N,K=FA(te,ze),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt(ei)),K!==r?(te=Ka(),te!==r?(t.substr(G,3)===Ec?(Ae=Ec,G+=3):(Ae=r,lt===0&&mt(ca)),Ae!==r?(Dt=N,K=rg(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.substr(G,2)===_r?(K=_r,G+=2):(K=r,lt===0&&mt(ei)),K!==r?(te=Ka(),te!==r?(t.charCodeAt(G)===125?(Ae=H,G++):(Ae=r,lt===0&&mt(yt)),Ae!==r?(Dt=N,K=Ic(te),N=K):(G=N,N=r)):(G=N,N=r)):(G=N,N=r),N===r&&(N=G,t.charCodeAt(G)===36?(K=bm,G++):(K=r,lt===0&&mt(ng)),K!==r?(te=Ka(),te!==r?(Dt=N,K=Ic(te),N=K):(G=N,N=r)):(G=N,N=r)))))),N}function AI(){var N,K,te;return N=G,K=gg(),K!==r?(Dt=G,te=Vn(K),te?te=void 0:te=r,te!==r?(Dt=N,K=up(K),N=K):(G=N,N=r)):(G=N,N=r),N}function gg(){var N,K,te,Ae,ze;if(N=G,K=[],te=G,Ae=G,lt++,ze=mg(),lt--,ze===r?Ae=void 0:(G=Ae,Ae=r),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r),te!==r)for(;te!==r;)K.push(te),te=G,Ae=G,lt++,ze=mg(),lt--,ze===r?Ae=void 0:(G=Ae,Ae=r),Ae!==r?(t.length>G?(ze=t.charAt(G),G++):(ze=r,lt===0&&mt(Sn)),ze!==r?(Dt=te,Ae=Ri(ze),te=Ae):(G=te,te=r)):(G=te,te=r);else K=r;return K!==r&&(Dt=N,K=Fs(K)),N=K,N}function dg(){var N,K,te;if(N=G,K=[],ig.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(RA)),te!==r)for(;te!==r;)K.push(te),ig.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(RA));else K=r;return K!==r&&(Dt=N,K=Os()),N=K,N}function Ka(){var N,K,te;if(N=G,K=[],Iu.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Ga)),te!==r)for(;te!==r;)K.push(te),Iu.test(t.charAt(G))?(te=t.charAt(G),G++):(te=r,lt===0&&mt(Ga));else K=r;return K!==r&&(Dt=N,K=Os()),N=K,N}function Nm(){var N;return ji.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(ua)),N}function mg(){var N;return wu.test(t.charAt(G))?(N=t.charAt(G),G++):(N=r,lt===0&&mt(ms)),N}function kt(){var N,K;if(N=[],wc.test(t.charAt(G))?(K=t.charAt(G),G++):(K=r,lt===0&&mt(Bc)),K!==r)for(;K!==r;)N.push(K),wc.test(t.charAt(G))?(K=t.charAt(G),G++):(K=r,lt===0&&mt(Bc));else N=r;return N}if(Bu=a(),Bu!==r&&G===t.length)return Bu;throw Bu!==r&&G<t.length&&mt(ag()),cg(vc,Si<t.length?t.charAt(Si):null,Si<t.length?Dc(Si,Si+1):Dc(Si,Si))}iY.exports={SyntaxError:_g,parse:F8e}});function DD(t,e={isGlobPattern:()=>!1}){try{return(0,oY.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function fy(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:o},a)=>`${SD(r)}${o===";"?a!==t.length-1||e?";":"":" &"}`).join(" ")}function SD(t){return`${py(t.chain)}${t.then?` ${aT(t.then)}`:""}`}function aT(t){return`${t.type} ${SD(t.line)}`}function py(t){return`${cT(t)}${t.then?` ${lT(t.then)}`:""}`}function lT(t){return`${t.type} ${py(t.chain)}`}function cT(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>vD(e)).join(" ")} `:""}${t.args.map(e=>uT(e)).join(" ")}`;case"subshell":return`(${fy(t.subshell)})${t.args.length>0?` ${t.args.map(e=>HI(e)).join(" ")}`:""}`;case"group":return`{ ${fy(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>HI(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>vD(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function vD(t){return`${t.name}=${t.args[0]?Hg(t.args[0]):""}`}function uT(t){switch(t.type){case"redirection":return HI(t);case"argument":return Hg(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function HI(t){return`${t.subtype} ${t.args.map(e=>Hg(e)).join(" ")}`}function Hg(t){return t.segments.map(e=>AT(e)).join("")}function AT(t){let e=(o,a)=>a?`"${o}"`:o,r=o=>o===""?'""':o.match(/[(){}<>$|&; \t"']/)?`$'${o.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:o;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${fy(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue>"u"?typeof t.alternativeValue>"u"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(o=>Hg(o)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(o=>Hg(o)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${PD(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function PD(t){let e=a=>{switch(a){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,o=a=>r(PD(a),!["number","variable"].includes(a.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${o(t.left)} ${e(t.type)} ${o(t.right)}`}}var oY,aY=dt(()=>{oY=tt(sY())});var cY=U((Bxt,lY)=>{"use strict";function R8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function qg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,qg)}R8e(qg,Error);qg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,v;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,v=1;w<E.length;w++)E[w-1]!==E[w]&&(E[v]=E[w],v++);E.length=v}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function T8e(t,e){e=e!==void 0?e:{};var r={},o={resolution:Te},a=Te,n="/",u=Ce("/",!1),A=function(Oe,x){return{from:Oe,descriptor:x}},p=function(Oe){return{descriptor:Oe}},h="@",E=Ce("@",!1),w=function(Oe,x){return{fullName:Oe,description:x}},v=function(Oe){return{fullName:Oe}},b=function(){return le()},C=/^[^\/@]/,R=de(["/","@"],!0,!1),L=/^[^\/]/,_=de(["/"],!0,!1),V=0,re=0,oe=[{line:1,column:1}],pe=0,he=[],ve=0,ge;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function le(){return t.substring(re,V)}function Pe(){return ut(re,V)}function g(Oe,x){throw x=x!==void 0?x:ut(re,V),Me([me(Oe)],t.substring(re,V),x)}function De(Oe,x){throw x=x!==void 0?x:ut(re,V),yt(Oe,x)}function Ce(Oe,x){return{type:"literal",text:Oe,ignoreCase:x}}function de(Oe,x,I){return{type:"class",parts:Oe,inverted:x,ignoreCase:I}}function ne(){return{type:"any"}}function Z(){return{type:"end"}}function me(Oe){return{type:"other",description:Oe}}function be(Oe){var x=oe[Oe],I;if(x)return x;for(I=Oe-1;!oe[I];)I--;for(x=oe[I],x={line:x.line,column:x.column};I<Oe;)t.charCodeAt(I)===10?(x.line++,x.column=1):x.column++,I++;return oe[Oe]=x,x}function ut(Oe,x){var I=be(Oe),P=be(x);return{start:{offset:Oe,line:I.line,column:I.column},end:{offset:x,line:P.line,column:P.column}}}function H(Oe){V<pe||(V>pe&&(pe=V,he=[]),he.push(Oe))}function yt(Oe,x){return new qg(Oe,null,null,x)}function Me(Oe,x,I){return new qg(qg.buildMessage(Oe,x),Oe,x,I)}function Te(){var Oe,x,I,P;return Oe=V,x=Qe(),x!==r?(t.charCodeAt(V)===47?(I=n,V++):(I=r,ve===0&&H(u)),I!==r?(P=Qe(),P!==r?(re=Oe,x=A(x,P),Oe=x):(V=Oe,Oe=r)):(V=Oe,Oe=r)):(V=Oe,Oe=r),Oe===r&&(Oe=V,x=Qe(),x!==r&&(re=Oe,x=p(x)),Oe=x),Oe}function Qe(){var Oe,x,I,P;return Oe=V,x=_e(),x!==r?(t.charCodeAt(V)===64?(I=h,V++):(I=r,ve===0&&H(E)),I!==r?(P=At(),P!==r?(re=Oe,x=w(x,P),Oe=x):(V=Oe,Oe=r)):(V=Oe,Oe=r)):(V=Oe,Oe=r),Oe===r&&(Oe=V,x=_e(),x!==r&&(re=Oe,x=v(x)),Oe=x),Oe}function _e(){var Oe,x,I,P,y;return Oe=V,t.charCodeAt(V)===64?(x=h,V++):(x=r,ve===0&&H(E)),x!==r?(I=qe(),I!==r?(t.charCodeAt(V)===47?(P=n,V++):(P=r,ve===0&&H(u)),P!==r?(y=qe(),y!==r?(re=Oe,x=b(),Oe=x):(V=Oe,Oe=r)):(V=Oe,Oe=r)):(V=Oe,Oe=r)):(V=Oe,Oe=r),Oe===r&&(Oe=V,x=qe(),x!==r&&(re=Oe,x=b()),Oe=x),Oe}function qe(){var Oe,x,I;if(Oe=V,x=[],C.test(t.charAt(V))?(I=t.charAt(V),V++):(I=r,ve===0&&H(R)),I!==r)for(;I!==r;)x.push(I),C.test(t.charAt(V))?(I=t.charAt(V),V++):(I=r,ve===0&&H(R));else x=r;return x!==r&&(re=Oe,x=b()),Oe=x,Oe}function At(){var Oe,x,I;if(Oe=V,x=[],L.test(t.charAt(V))?(I=t.charAt(V),V++):(I=r,ve===0&&H(_)),I!==r)for(;I!==r;)x.push(I),L.test(t.charAt(V))?(I=t.charAt(V),V++):(I=r,ve===0&&H(_));else x=r;return x!==r&&(re=Oe,x=b()),Oe=x,Oe}if(ge=a(),ge!==r&&V===t.length)return ge;throw ge!==r&&V<t.length&&H(Z()),Me(he,pe<t.length?t.charAt(pe):null,pe<t.length?ut(pe,pe+1):ut(pe,pe))}lY.exports={SyntaxError:qg,parse:T8e}});function xD(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,uY.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function bD(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var uY,AY=dt(()=>{uY=tt(cY())});var Gg=U((Dxt,jg)=>{"use strict";function fY(t){return typeof t>"u"||t===null}function N8e(t){return typeof t=="object"&&t!==null}function L8e(t){return Array.isArray(t)?t:fY(t)?[]:[t]}function O8e(t,e){var r,o,a,n;if(e)for(n=Object.keys(e),r=0,o=n.length;r<o;r+=1)a=n[r],t[a]=e[a];return t}function M8e(t,e){var r="",o;for(o=0;o<e;o+=1)r+=t;return r}function U8e(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}jg.exports.isNothing=fY;jg.exports.isObject=N8e;jg.exports.toArray=L8e;jg.exports.repeat=M8e;jg.exports.isNegativeZero=U8e;jg.exports.extend=O8e});var hy=U((Sxt,pY)=>{"use strict";function qI(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}qI.prototype=Object.create(Error.prototype);qI.prototype.constructor=qI;qI.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};pY.exports=qI});var dY=U((Pxt,gY)=>{"use strict";var hY=Gg();function fT(t,e,r,o,a){this.name=t,this.buffer=e,this.position=r,this.line=o,this.column=a}fT.prototype.getSnippet=function(e,r){var o,a,n,u,A;if(!this.buffer)return null;for(e=e||4,r=r||75,o="",a=this.position;a>0&&`\0\r |
13 | \x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){o=" ... ",a+=5;break}for(n="",u=this.position;u<this.buffer.length&&`\0\r | 13 | \x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){o=" ... ",a+=5;break}for(n="",u=this.position;u<this.buffer.length&&`\0\r |
14 | \x85\u2028\u2029`.indexOf(this.buffer.charAt(u))===-1;)if(u+=1,u-this.position>r/2-1){n=" ... ",u-=5;break}return A=this.buffer.slice(a,u),lY.repeat(" ",e)+o+A+n+` | 14 | \x85\u2028\u2029`.indexOf(this.buffer.charAt(u))===-1;)if(u+=1,u-this.position>r/2-1){n=" ... ",u-=5;break}return A=this.buffer.slice(a,u),hY.repeat(" ",e)+o+A+n+` |
15 | `+lY.repeat(" ",e+this.position-a+o.length)+"^"};AT.prototype.toString=function(e){var r,o="";return this.name&&(o+='in "'+this.name+'" '),o+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(o+=`: | 15 | `+hY.repeat(" ",e+this.position-a+o.length)+"^"};fT.prototype.toString=function(e){var r,o="";return this.name&&(o+='in "'+this.name+'" '),o+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(o+=`: |
16 | `+r)),o};cY.exports=AT});var as=U((hxt,fY)=>{"use strict";var AY=cy(),b8e=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Q8e=["scalar","sequence","mapping"];function k8e(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(o){e[String(o)]=r})}),e}function F8e(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(b8e.indexOf(r)===-1)throw new AY('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=k8e(e.styleAliases||null),Q8e.indexOf(this.kind)===-1)throw new AY('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}fY.exports=F8e});var qg=U((gxt,hY)=>{"use strict";var pY=Hg(),BD=cy(),R8e=as();function fT(t,e,r){var o=[];return t.include.forEach(function(a){r=fT(a,e,r)}),t[e].forEach(function(a){r.forEach(function(n,u){n.tag===a.tag&&n.kind===a.kind&&o.push(u)}),r.push(a)}),r.filter(function(a,n){return o.indexOf(n)===-1})}function T8e(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function o(a){t[a.kind][a.tag]=t.fallback[a.tag]=a}for(e=0,r=arguments.length;e<r;e+=1)arguments[e].forEach(o);return t}function uy(t){this.include=t.include||[],this.implicit=t.implicit||[],this.explicit=t.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&e.loadKind!=="scalar")throw new BD("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=fT(this,"implicit",[]),this.compiledExplicit=fT(this,"explicit",[]),this.compiledTypeMap=T8e(this.compiledImplicit,this.compiledExplicit)}uy.DEFAULT=null;uy.create=function(){var e,r;switch(arguments.length){case 1:e=uy.DEFAULT,r=arguments[0];break;case 2:e=arguments[0],r=arguments[1];break;default:throw new BD("Wrong number of arguments for Schema.create function")}if(e=pY.toArray(e),r=pY.toArray(r),!e.every(function(o){return o instanceof uy}))throw new BD("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!r.every(function(o){return o instanceof R8e}))throw new BD("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new uy({include:e,explicit:r})};hY.exports=uy});var dY=U((dxt,gY)=>{"use strict";var N8e=as();gY.exports=new N8e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var yY=U((mxt,mY)=>{"use strict";var L8e=as();mY.exports=new L8e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var CY=U((yxt,EY)=>{"use strict";var O8e=as();EY.exports=new O8e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var vD=U((Ext,IY)=>{"use strict";var M8e=qg();IY.exports=new M8e({explicit:[dY(),yY(),CY()]})});var BY=U((Cxt,wY)=>{"use strict";var U8e=as();function _8e(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function H8e(){return null}function q8e(t){return t===null}wY.exports=new U8e("tag:yaml.org,2002:null",{kind:"scalar",resolve:_8e,construct:H8e,predicate:q8e,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var DY=U((Ixt,vY)=>{"use strict";var j8e=as();function G8e(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function W8e(t){return t==="true"||t==="True"||t==="TRUE"}function Y8e(t){return Object.prototype.toString.call(t)==="[object Boolean]"}vY.exports=new j8e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:G8e,construct:W8e,predicate:Y8e,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var PY=U((wxt,SY)=>{"use strict";var K8e=Hg(),J8e=as();function V8e(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function z8e(t){return 48<=t&&t<=55}function X8e(t){return 48<=t&&t<=57}function Z8e(t){if(t===null)return!1;var e=t.length,r=0,o=!1,a;if(!e)return!1;if(a=t[r],(a==="-"||a==="+")&&(a=t[++r]),a==="0"){if(r+1===e)return!0;if(a=t[++r],a==="b"){for(r++;r<e;r++)if(a=t[r],a!=="_"){if(a!=="0"&&a!=="1")return!1;o=!0}return o&&a!=="_"}if(a==="x"){for(r++;r<e;r++)if(a=t[r],a!=="_"){if(!V8e(t.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}for(;r<e;r++)if(a=t[r],a!=="_"){if(!z8e(t.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}if(a==="_")return!1;for(;r<e;r++)if(a=t[r],a!=="_"){if(a===":")break;if(!X8e(t.charCodeAt(r)))return!1;o=!0}return!o||a==="_"?!1:a!==":"?!0:/^(:[0-5]?[0-9])+$/.test(t.slice(r))}function $8e(t){var e=t,r=1,o,a,n=[];return e.indexOf("_")!==-1&&(e=e.replace(/_/g,"")),o=e[0],(o==="-"||o==="+")&&(o==="-"&&(r=-1),e=e.slice(1),o=e[0]),e==="0"?0:o==="0"?e[1]==="b"?r*parseInt(e.slice(2),2):e[1]==="x"?r*parseInt(e,16):r*parseInt(e,8):e.indexOf(":")!==-1?(e.split(":").forEach(function(u){n.unshift(parseInt(u,10))}),e=0,a=1,n.forEach(function(u){e+=u*a,a*=60}),r*e):r*parseInt(e,10)}function eHe(t){return Object.prototype.toString.call(t)==="[object Number]"&&t%1===0&&!K8e.isNegativeZero(t)}SY.exports=new J8e("tag:yaml.org,2002:int",{kind:"scalar",resolve:Z8e,construct:$8e,predicate:eHe,represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var QY=U((Bxt,bY)=>{"use strict";var xY=Hg(),tHe=as(),rHe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function nHe(t){return!(t===null||!rHe.test(t)||t[t.length-1]==="_")}function iHe(t){var e,r,o,a;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,a=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),e=0,o=1,a.forEach(function(n){e+=n*o,o*=60}),r*e):r*parseFloat(e,10)}var sHe=/^[-+]?[0-9]+e/;function oHe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(xY.isNegativeZero(t))return"-0.0";return r=t.toString(10),sHe.test(r)?r.replace("e",".e"):r}function aHe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||xY.isNegativeZero(t))}bY.exports=new tHe("tag:yaml.org,2002:float",{kind:"scalar",resolve:nHe,construct:iHe,predicate:aHe,represent:oHe,defaultStyle:"lowercase"})});var pT=U((vxt,kY)=>{"use strict";var lHe=qg();kY.exports=new lHe({include:[vD()],implicit:[BY(),DY(),PY(),QY()]})});var hT=U((Dxt,FY)=>{"use strict";var cHe=qg();FY.exports=new cHe({include:[pT()]})});var LY=U((Sxt,NY)=>{"use strict";var uHe=as(),RY=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),TY=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function AHe(t){return t===null?!1:RY.exec(t)!==null||TY.exec(t)!==null}function fHe(t){var e,r,o,a,n,u,A,p=0,h=null,C,w,v;if(e=RY.exec(t),e===null&&(e=TY.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],o=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(r,o,a));if(n=+e[4],u=+e[5],A=+e[6],e[7]){for(p=e[7].slice(0,3);p.length<3;)p+="0";p=+p}return e[9]&&(C=+e[10],w=+(e[11]||0),h=(C*60+w)*6e4,e[9]==="-"&&(h=-h)),v=new Date(Date.UTC(r,o,a,n,u,A,p)),h&&v.setTime(v.getTime()-h),v}function pHe(t){return t.toISOString()}NY.exports=new uHe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:AHe,construct:fHe,instanceOf:Date,represent:pHe})});var MY=U((Pxt,OY)=>{"use strict";var hHe=as();function gHe(t){return t==="<<"||t===null}OY.exports=new hHe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:gHe})});var HY=U((xxt,_Y)=>{"use strict";var jg;try{UY=Ie,jg=UY("buffer").Buffer}catch{}var UY,dHe=as(),gT=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= | 16 | `+r)),o};gY.exports=fT});var as=U((xxt,yY)=>{"use strict";var mY=hy(),_8e=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],H8e=["scalar","sequence","mapping"];function q8e(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(o){e[String(o)]=r})}),e}function j8e(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(_8e.indexOf(r)===-1)throw new mY('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=q8e(e.styleAliases||null),H8e.indexOf(this.kind)===-1)throw new mY('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}yY.exports=j8e});var Wg=U((bxt,EY)=>{"use strict";var CY=Gg(),QD=hy(),G8e=as();function pT(t,e,r){var o=[];return t.include.forEach(function(a){r=pT(a,e,r)}),t[e].forEach(function(a){r.forEach(function(n,u){n.tag===a.tag&&n.kind===a.kind&&o.push(u)}),r.push(a)}),r.filter(function(a,n){return o.indexOf(n)===-1})}function W8e(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function o(a){t[a.kind][a.tag]=t.fallback[a.tag]=a}for(e=0,r=arguments.length;e<r;e+=1)arguments[e].forEach(o);return t}function gy(t){this.include=t.include||[],this.implicit=t.implicit||[],this.explicit=t.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&e.loadKind!=="scalar")throw new QD("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=pT(this,"implicit",[]),this.compiledExplicit=pT(this,"explicit",[]),this.compiledTypeMap=W8e(this.compiledImplicit,this.compiledExplicit)}gy.DEFAULT=null;gy.create=function(){var e,r;switch(arguments.length){case 1:e=gy.DEFAULT,r=arguments[0];break;case 2:e=arguments[0],r=arguments[1];break;default:throw new QD("Wrong number of arguments for Schema.create function")}if(e=CY.toArray(e),r=CY.toArray(r),!e.every(function(o){return o instanceof gy}))throw new QD("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!r.every(function(o){return o instanceof G8e}))throw new QD("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new gy({include:e,explicit:r})};EY.exports=gy});var wY=U((Qxt,IY)=>{"use strict";var Y8e=as();IY.exports=new Y8e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var vY=U((kxt,BY)=>{"use strict";var K8e=as();BY.exports=new K8e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var SY=U((Fxt,DY)=>{"use strict";var V8e=as();DY.exports=new V8e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var kD=U((Rxt,PY)=>{"use strict";var J8e=Wg();PY.exports=new J8e({explicit:[wY(),vY(),SY()]})});var bY=U((Txt,xY)=>{"use strict";var z8e=as();function X8e(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function Z8e(){return null}function $8e(t){return t===null}xY.exports=new z8e("tag:yaml.org,2002:null",{kind:"scalar",resolve:X8e,construct:Z8e,predicate:$8e,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var kY=U((Nxt,QY)=>{"use strict";var eHe=as();function tHe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function rHe(t){return t==="true"||t==="True"||t==="TRUE"}function nHe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}QY.exports=new eHe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:tHe,construct:rHe,predicate:nHe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var RY=U((Lxt,FY)=>{"use strict";var iHe=Gg(),sHe=as();function oHe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function aHe(t){return 48<=t&&t<=55}function lHe(t){return 48<=t&&t<=57}function cHe(t){if(t===null)return!1;var e=t.length,r=0,o=!1,a;if(!e)return!1;if(a=t[r],(a==="-"||a==="+")&&(a=t[++r]),a==="0"){if(r+1===e)return!0;if(a=t[++r],a==="b"){for(r++;r<e;r++)if(a=t[r],a!=="_"){if(a!=="0"&&a!=="1")return!1;o=!0}return o&&a!=="_"}if(a==="x"){for(r++;r<e;r++)if(a=t[r],a!=="_"){if(!oHe(t.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}for(;r<e;r++)if(a=t[r],a!=="_"){if(!aHe(t.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}if(a==="_")return!1;for(;r<e;r++)if(a=t[r],a!=="_"){if(a===":")break;if(!lHe(t.charCodeAt(r)))return!1;o=!0}return!o||a==="_"?!1:a!==":"?!0:/^(:[0-5]?[0-9])+$/.test(t.slice(r))}function uHe(t){var e=t,r=1,o,a,n=[];return e.indexOf("_")!==-1&&(e=e.replace(/_/g,"")),o=e[0],(o==="-"||o==="+")&&(o==="-"&&(r=-1),e=e.slice(1),o=e[0]),e==="0"?0:o==="0"?e[1]==="b"?r*parseInt(e.slice(2),2):e[1]==="x"?r*parseInt(e,16):r*parseInt(e,8):e.indexOf(":")!==-1?(e.split(":").forEach(function(u){n.unshift(parseInt(u,10))}),e=0,a=1,n.forEach(function(u){e+=u*a,a*=60}),r*e):r*parseInt(e,10)}function AHe(t){return Object.prototype.toString.call(t)==="[object Number]"&&t%1===0&&!iHe.isNegativeZero(t)}FY.exports=new sHe("tag:yaml.org,2002:int",{kind:"scalar",resolve:cHe,construct:uHe,predicate:AHe,represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var LY=U((Oxt,NY)=>{"use strict";var TY=Gg(),fHe=as(),pHe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function hHe(t){return!(t===null||!pHe.test(t)||t[t.length-1]==="_")}function gHe(t){var e,r,o,a;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,a=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),e=0,o=1,a.forEach(function(n){e+=n*o,o*=60}),r*e):r*parseFloat(e,10)}var dHe=/^[-+]?[0-9]+e/;function mHe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(TY.isNegativeZero(t))return"-0.0";return r=t.toString(10),dHe.test(r)?r.replace("e",".e"):r}function yHe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||TY.isNegativeZero(t))}NY.exports=new fHe("tag:yaml.org,2002:float",{kind:"scalar",resolve:hHe,construct:gHe,predicate:yHe,represent:mHe,defaultStyle:"lowercase"})});var hT=U((Mxt,OY)=>{"use strict";var CHe=Wg();OY.exports=new CHe({include:[kD()],implicit:[bY(),kY(),RY(),LY()]})});var gT=U((Uxt,MY)=>{"use strict";var EHe=Wg();MY.exports=new EHe({include:[hT()]})});var qY=U((_xt,HY)=>{"use strict";var IHe=as(),UY=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),_Y=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function wHe(t){return t===null?!1:UY.exec(t)!==null||_Y.exec(t)!==null}function BHe(t){var e,r,o,a,n,u,A,p=0,h=null,E,w,v;if(e=UY.exec(t),e===null&&(e=_Y.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],o=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(r,o,a));if(n=+e[4],u=+e[5],A=+e[6],e[7]){for(p=e[7].slice(0,3);p.length<3;)p+="0";p=+p}return e[9]&&(E=+e[10],w=+(e[11]||0),h=(E*60+w)*6e4,e[9]==="-"&&(h=-h)),v=new Date(Date.UTC(r,o,a,n,u,A,p)),h&&v.setTime(v.getTime()-h),v}function vHe(t){return t.toISOString()}HY.exports=new IHe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:wHe,construct:BHe,instanceOf:Date,represent:vHe})});var GY=U((Hxt,jY)=>{"use strict";var DHe=as();function SHe(t){return t==="<<"||t===null}jY.exports=new DHe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:SHe})});var KY=U((qxt,YY)=>{"use strict";var Yg;try{WY=Ie,Yg=WY("buffer").Buffer}catch{}var WY,PHe=as(),dT=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= |
17 | \r`;function mHe(t){if(t===null)return!1;var e,r,o=0,a=t.length,n=gT;for(r=0;r<a;r++)if(e=n.indexOf(t.charAt(r)),!(e>64)){if(e<0)return!1;o+=6}return o%8===0}function yHe(t){var e,r,o=t.replace(/[\r\n=]/g,""),a=o.length,n=gT,u=0,A=[];for(e=0;e<a;e++)e%4===0&&e&&(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)),u=u<<6|n.indexOf(o.charAt(e));return r=a%4*6,r===0?(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)):r===18?(A.push(u>>10&255),A.push(u>>2&255)):r===12&&A.push(u>>4&255),jg?jg.from?jg.from(A):new jg(A):A}function EHe(t){var e="",r=0,o,a,n=t.length,u=gT;for(o=0;o<n;o++)o%3===0&&o&&(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]),r=(r<<8)+t[o];return a=n%3,a===0?(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]):a===2?(e+=u[r>>10&63],e+=u[r>>4&63],e+=u[r<<2&63],e+=u[64]):a===1&&(e+=u[r>>2&63],e+=u[r<<4&63],e+=u[64],e+=u[64]),e}function CHe(t){return jg&&jg.isBuffer(t)}_Y.exports=new dHe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:mHe,construct:yHe,predicate:CHe,represent:EHe})});var jY=U((Qxt,qY)=>{"use strict";var IHe=as(),wHe=Object.prototype.hasOwnProperty,BHe=Object.prototype.toString;function vHe(t){if(t===null)return!0;var e=[],r,o,a,n,u,A=t;for(r=0,o=A.length;r<o;r+=1){if(a=A[r],u=!1,BHe.call(a)!=="[object Object]")return!1;for(n in a)if(wHe.call(a,n))if(!u)u=!0;else return!1;if(!u)return!1;if(e.indexOf(n)===-1)e.push(n);else return!1}return!0}function DHe(t){return t!==null?t:[]}qY.exports=new IHe("tag:yaml.org,2002:omap",{kind:"sequence",resolve:vHe,construct:DHe})});var WY=U((kxt,GY)=>{"use strict";var SHe=as(),PHe=Object.prototype.toString;function xHe(t){if(t===null)return!0;var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e<r;e+=1){if(o=u[e],PHe.call(o)!=="[object Object]"||(a=Object.keys(o),a.length!==1))return!1;n[e]=[a[0],o[a[0]]]}return!0}function bHe(t){if(t===null)return[];var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e<r;e+=1)o=u[e],a=Object.keys(o),n[e]=[a[0],o[a[0]]];return n}GY.exports=new SHe("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:xHe,construct:bHe})});var KY=U((Fxt,YY)=>{"use strict";var QHe=as(),kHe=Object.prototype.hasOwnProperty;function FHe(t){if(t===null)return!0;var e,r=t;for(e in r)if(kHe.call(r,e)&&r[e]!==null)return!1;return!0}function RHe(t){return t!==null?t:{}}YY.exports=new QHe("tag:yaml.org,2002:set",{kind:"mapping",resolve:FHe,construct:RHe})});var Ay=U((Rxt,JY)=>{"use strict";var THe=qg();JY.exports=new THe({include:[hT()],implicit:[LY(),MY()],explicit:[HY(),jY(),WY(),KY()]})});var zY=U((Txt,VY)=>{"use strict";var NHe=as();function LHe(){return!0}function OHe(){}function MHe(){return""}function UHe(t){return typeof t>"u"}VY.exports=new NHe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:LHe,construct:OHe,predicate:UHe,represent:MHe})});var ZY=U((Nxt,XY)=>{"use strict";var _He=as();function HHe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),o="";return!(e[0]==="/"&&(r&&(o=r[1]),o.length>3||e[e.length-o.length-1]!=="/"))}function qHe(t){var e=t,r=/\/([gim]*)$/.exec(t),o="";return e[0]==="/"&&(r&&(o=r[1]),e=e.slice(1,e.length-o.length-1)),new RegExp(e,o)}function jHe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function GHe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}XY.exports=new _He("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:HHe,construct:qHe,predicate:GHe,represent:jHe})});var tK=U((Lxt,eK)=>{"use strict";var DD;try{$Y=Ie,DD=$Y("esprima")}catch{typeof window<"u"&&(DD=window.esprima)}var $Y,WHe=as();function YHe(t){if(t===null)return!1;try{var e="("+t+")",r=DD.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function KHe(t){var e="("+t+")",r=DD.parse(e,{range:!0}),o=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){o.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(o,e.slice(a[0]+1,a[1]-1)):new Function(o,"return "+e.slice(a[0],a[1]))}function JHe(t){return t.toString()}function VHe(t){return Object.prototype.toString.call(t)==="[object Function]"}eK.exports=new WHe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:YHe,construct:KHe,predicate:VHe,represent:JHe})});var UI=U((Mxt,nK)=>{"use strict";var rK=qg();nK.exports=rK.DEFAULT=new rK({include:[Ay()],explicit:[zY(),ZY(),tK()]})});var wK=U((Uxt,_I)=>{"use strict";var mf=Hg(),uK=cy(),zHe=uY(),AK=Ay(),XHe=UI(),qp=Object.prototype.hasOwnProperty,SD=1,fK=2,pK=3,PD=4,dT=1,ZHe=2,iK=3,$He=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,e6e=/[\x85\u2028\u2029]/,t6e=/[,\[\]\{\}]/,hK=/^(?:!|!!|![a-z\-]+!)$/i,gK=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function sK(t){return Object.prototype.toString.call(t)}function Gu(t){return t===10||t===13}function Wg(t){return t===9||t===32}function Ca(t){return t===9||t===32||t===10||t===13}function fy(t){return t===44||t===91||t===93||t===123||t===125}function r6e(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function n6e(t){return t===120?2:t===117?4:t===85?8:0}function i6e(t){return 48<=t&&t<=57?t-48:-1}function oK(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` | 17 | \r`;function xHe(t){if(t===null)return!1;var e,r,o=0,a=t.length,n=dT;for(r=0;r<a;r++)if(e=n.indexOf(t.charAt(r)),!(e>64)){if(e<0)return!1;o+=6}return o%8===0}function bHe(t){var e,r,o=t.replace(/[\r\n=]/g,""),a=o.length,n=dT,u=0,A=[];for(e=0;e<a;e++)e%4===0&&e&&(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)),u=u<<6|n.indexOf(o.charAt(e));return r=a%4*6,r===0?(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)):r===18?(A.push(u>>10&255),A.push(u>>2&255)):r===12&&A.push(u>>4&255),Yg?Yg.from?Yg.from(A):new Yg(A):A}function QHe(t){var e="",r=0,o,a,n=t.length,u=dT;for(o=0;o<n;o++)o%3===0&&o&&(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]),r=(r<<8)+t[o];return a=n%3,a===0?(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]):a===2?(e+=u[r>>10&63],e+=u[r>>4&63],e+=u[r<<2&63],e+=u[64]):a===1&&(e+=u[r>>2&63],e+=u[r<<4&63],e+=u[64],e+=u[64]),e}function kHe(t){return Yg&&Yg.isBuffer(t)}YY.exports=new PHe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:xHe,construct:bHe,predicate:kHe,represent:QHe})});var JY=U((Gxt,VY)=>{"use strict";var FHe=as(),RHe=Object.prototype.hasOwnProperty,THe=Object.prototype.toString;function NHe(t){if(t===null)return!0;var e=[],r,o,a,n,u,A=t;for(r=0,o=A.length;r<o;r+=1){if(a=A[r],u=!1,THe.call(a)!=="[object Object]")return!1;for(n in a)if(RHe.call(a,n))if(!u)u=!0;else return!1;if(!u)return!1;if(e.indexOf(n)===-1)e.push(n);else return!1}return!0}function LHe(t){return t!==null?t:[]}VY.exports=new FHe("tag:yaml.org,2002:omap",{kind:"sequence",resolve:NHe,construct:LHe})});var XY=U((Wxt,zY)=>{"use strict";var OHe=as(),MHe=Object.prototype.toString;function UHe(t){if(t===null)return!0;var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e<r;e+=1){if(o=u[e],MHe.call(o)!=="[object Object]"||(a=Object.keys(o),a.length!==1))return!1;n[e]=[a[0],o[a[0]]]}return!0}function _He(t){if(t===null)return[];var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e<r;e+=1)o=u[e],a=Object.keys(o),n[e]=[a[0],o[a[0]]];return n}zY.exports=new OHe("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:UHe,construct:_He})});var $Y=U((Yxt,ZY)=>{"use strict";var HHe=as(),qHe=Object.prototype.hasOwnProperty;function jHe(t){if(t===null)return!0;var e,r=t;for(e in r)if(qHe.call(r,e)&&r[e]!==null)return!1;return!0}function GHe(t){return t!==null?t:{}}ZY.exports=new HHe("tag:yaml.org,2002:set",{kind:"mapping",resolve:jHe,construct:GHe})});var dy=U((Kxt,eK)=>{"use strict";var WHe=Wg();eK.exports=new WHe({include:[gT()],implicit:[qY(),GY()],explicit:[KY(),JY(),XY(),$Y()]})});var rK=U((Vxt,tK)=>{"use strict";var YHe=as();function KHe(){return!0}function VHe(){}function JHe(){return""}function zHe(t){return typeof t>"u"}tK.exports=new YHe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:KHe,construct:VHe,predicate:zHe,represent:JHe})});var iK=U((Jxt,nK)=>{"use strict";var XHe=as();function ZHe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),o="";return!(e[0]==="/"&&(r&&(o=r[1]),o.length>3||e[e.length-o.length-1]!=="/"))}function $He(t){var e=t,r=/\/([gim]*)$/.exec(t),o="";return e[0]==="/"&&(r&&(o=r[1]),e=e.slice(1,e.length-o.length-1)),new RegExp(e,o)}function e6e(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function t6e(t){return Object.prototype.toString.call(t)==="[object RegExp]"}nK.exports=new XHe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:ZHe,construct:$He,predicate:t6e,represent:e6e})});var aK=U((zxt,oK)=>{"use strict";var FD;try{sK=Ie,FD=sK("esprima")}catch{typeof window<"u"&&(FD=window.esprima)}var sK,r6e=as();function n6e(t){if(t===null)return!1;try{var e="("+t+")",r=FD.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function i6e(t){var e="("+t+")",r=FD.parse(e,{range:!0}),o=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){o.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(o,e.slice(a[0]+1,a[1]-1)):new Function(o,"return "+e.slice(a[0],a[1]))}function s6e(t){return t.toString()}function o6e(t){return Object.prototype.toString.call(t)==="[object Function]"}oK.exports=new r6e("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:n6e,construct:i6e,predicate:o6e,represent:s6e})});var jI=U((Zxt,cK)=>{"use strict";var lK=Wg();cK.exports=lK.DEFAULT=new lK({include:[dy()],explicit:[rK(),iK(),aK()]})});var xK=U(($xt,GI)=>{"use strict";var Cf=Gg(),dK=hy(),a6e=dY(),mK=dy(),l6e=jI(),jp=Object.prototype.hasOwnProperty,RD=1,yK=2,CK=3,TD=4,mT=1,c6e=2,uK=3,u6e=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,A6e=/[\x85\u2028\u2029]/,f6e=/[,\[\]\{\}]/,EK=/^(?:!|!!|![a-z\-]+!)$/i,IK=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function AK(t){return Object.prototype.toString.call(t)}function Wu(t){return t===10||t===13}function Vg(t){return t===9||t===32}function Ia(t){return t===9||t===32||t===10||t===13}function my(t){return t===44||t===91||t===93||t===123||t===125}function p6e(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function h6e(t){return t===120?2:t===117?4:t===85?8:0}function g6e(t){return 48<=t&&t<=57?t-48:-1}function fK(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` |
18 | `:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function s6e(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var dK=new Array(256),mK=new Array(256);for(Gg=0;Gg<256;Gg++)dK[Gg]=oK(Gg)?1:0,mK[Gg]=oK(Gg);var Gg;function o6e(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||XHe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function yK(t,e){return new uK(e,new zHe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function wr(t,e){throw yK(t,e)}function xD(t,e){t.onWarning&&t.onWarning.call(null,yK(t,e))}var aK={YAML:function(e,r,o){var a,n,u;e.version!==null&&wr(e,"duplication of %YAML directive"),o.length!==1&&wr(e,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(o[0]),a===null&&wr(e,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),u=parseInt(a[2],10),n!==1&&wr(e,"unacceptable YAML version of the document"),e.version=o[0],e.checkLineBreaks=u<2,u!==1&&u!==2&&xD(e,"unsupported YAML version of the document")},TAG:function(e,r,o){var a,n;o.length!==2&&wr(e,"TAG directive accepts exactly two arguments"),a=o[0],n=o[1],hK.test(a)||wr(e,"ill-formed tag handle (first argument) of the TAG directive"),qp.call(e.tagMap,a)&&wr(e,'there is a previously declared suffix for "'+a+'" tag handle'),gK.test(n)||wr(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[a]=n}};function Hp(t,e,r,o){var a,n,u,A;if(e<r){if(A=t.input.slice(e,r),o)for(a=0,n=A.length;a<n;a+=1)u=A.charCodeAt(a),u===9||32<=u&&u<=1114111||wr(t,"expected valid JSON character");else $He.test(A)&&wr(t,"the stream contains non-printable characters");t.result+=A}}function lK(t,e,r,o){var a,n,u,A;for(mf.isObject(r)||wr(t,"cannot merge mappings; the provided source object is unacceptable"),a=Object.keys(r),u=0,A=a.length;u<A;u+=1)n=a[u],qp.call(e,n)||(e[n]=r[n],o[n]=!0)}function py(t,e,r,o,a,n,u,A){var p,h;if(Array.isArray(a))for(a=Array.prototype.slice.call(a),p=0,h=a.length;p<h;p+=1)Array.isArray(a[p])&&wr(t,"nested arrays are not supported inside keys"),typeof a=="object"&&sK(a[p])==="[object Object]"&&(a[p]="[object Object]");if(typeof a=="object"&&sK(a)==="[object Object]"&&(a="[object Object]"),a=String(a),e===null&&(e={}),o==="tag:yaml.org,2002:merge")if(Array.isArray(n))for(p=0,h=n.length;p<h;p+=1)lK(t,e,n[p],r);else lK(t,e,n,r);else!t.json&&!qp.call(r,a)&&qp.call(e,a)&&(t.line=u||t.line,t.position=A||t.position,wr(t,"duplicated mapping key")),e[a]=n,delete r[a];return e}function mT(t){var e;e=t.input.charCodeAt(t.position),e===10?t.position++:e===13?(t.position++,t.input.charCodeAt(t.position)===10&&t.position++):wr(t,"a line break is expected"),t.line+=1,t.lineStart=t.position}function Wi(t,e,r){for(var o=0,a=t.input.charCodeAt(t.position);a!==0;){for(;Wg(a);)a=t.input.charCodeAt(++t.position);if(e&&a===35)do a=t.input.charCodeAt(++t.position);while(a!==10&&a!==13&&a!==0);if(Gu(a))for(mT(t),a=t.input.charCodeAt(t.position),o++,t.lineIndent=0;a===32;)t.lineIndent++,a=t.input.charCodeAt(++t.position);else break}return r!==-1&&o!==0&&t.lineIndent<r&&xD(t,"deficient indentation"),o}function bD(t){var e=t.position,r;return r=t.input.charCodeAt(e),!!((r===45||r===46)&&r===t.input.charCodeAt(e+1)&&r===t.input.charCodeAt(e+2)&&(e+=3,r=t.input.charCodeAt(e),r===0||Ca(r)))}function yT(t,e){e===1?t.result+=" ":e>1&&(t.result+=mf.repeat(` | 18 | `:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function d6e(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var wK=new Array(256),BK=new Array(256);for(Kg=0;Kg<256;Kg++)wK[Kg]=fK(Kg)?1:0,BK[Kg]=fK(Kg);var Kg;function m6e(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||l6e,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function vK(t,e){return new dK(e,new a6e(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function wr(t,e){throw vK(t,e)}function ND(t,e){t.onWarning&&t.onWarning.call(null,vK(t,e))}var pK={YAML:function(e,r,o){var a,n,u;e.version!==null&&wr(e,"duplication of %YAML directive"),o.length!==1&&wr(e,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(o[0]),a===null&&wr(e,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),u=parseInt(a[2],10),n!==1&&wr(e,"unacceptable YAML version of the document"),e.version=o[0],e.checkLineBreaks=u<2,u!==1&&u!==2&&ND(e,"unsupported YAML version of the document")},TAG:function(e,r,o){var a,n;o.length!==2&&wr(e,"TAG directive accepts exactly two arguments"),a=o[0],n=o[1],EK.test(a)||wr(e,"ill-formed tag handle (first argument) of the TAG directive"),jp.call(e.tagMap,a)&&wr(e,'there is a previously declared suffix for "'+a+'" tag handle'),IK.test(n)||wr(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[a]=n}};function qp(t,e,r,o){var a,n,u,A;if(e<r){if(A=t.input.slice(e,r),o)for(a=0,n=A.length;a<n;a+=1)u=A.charCodeAt(a),u===9||32<=u&&u<=1114111||wr(t,"expected valid JSON character");else u6e.test(A)&&wr(t,"the stream contains non-printable characters");t.result+=A}}function hK(t,e,r,o){var a,n,u,A;for(Cf.isObject(r)||wr(t,"cannot merge mappings; the provided source object is unacceptable"),a=Object.keys(r),u=0,A=a.length;u<A;u+=1)n=a[u],jp.call(e,n)||(e[n]=r[n],o[n]=!0)}function yy(t,e,r,o,a,n,u,A){var p,h;if(Array.isArray(a))for(a=Array.prototype.slice.call(a),p=0,h=a.length;p<h;p+=1)Array.isArray(a[p])&&wr(t,"nested arrays are not supported inside keys"),typeof a=="object"&&AK(a[p])==="[object Object]"&&(a[p]="[object Object]");if(typeof a=="object"&&AK(a)==="[object Object]"&&(a="[object Object]"),a=String(a),e===null&&(e={}),o==="tag:yaml.org,2002:merge")if(Array.isArray(n))for(p=0,h=n.length;p<h;p+=1)hK(t,e,n[p],r);else hK(t,e,n,r);else!t.json&&!jp.call(r,a)&&jp.call(e,a)&&(t.line=u||t.line,t.position=A||t.position,wr(t,"duplicated mapping key")),e[a]=n,delete r[a];return e}function yT(t){var e;e=t.input.charCodeAt(t.position),e===10?t.position++:e===13?(t.position++,t.input.charCodeAt(t.position)===10&&t.position++):wr(t,"a line break is expected"),t.line+=1,t.lineStart=t.position}function Wi(t,e,r){for(var o=0,a=t.input.charCodeAt(t.position);a!==0;){for(;Vg(a);)a=t.input.charCodeAt(++t.position);if(e&&a===35)do a=t.input.charCodeAt(++t.position);while(a!==10&&a!==13&&a!==0);if(Wu(a))for(yT(t),a=t.input.charCodeAt(t.position),o++,t.lineIndent=0;a===32;)t.lineIndent++,a=t.input.charCodeAt(++t.position);else break}return r!==-1&&o!==0&&t.lineIndent<r&&ND(t,"deficient indentation"),o}function LD(t){var e=t.position,r;return r=t.input.charCodeAt(e),!!((r===45||r===46)&&r===t.input.charCodeAt(e+1)&&r===t.input.charCodeAt(e+2)&&(e+=3,r=t.input.charCodeAt(e),r===0||Ia(r)))}function CT(t,e){e===1?t.result+=" ":e>1&&(t.result+=Cf.repeat(` |
19 | `,e-1))}function a6e(t,e,r){var o,a,n,u,A,p,h,C,w=t.kind,v=t.result,b;if(b=t.input.charCodeAt(t.position),Ca(b)||fy(b)||b===35||b===38||b===42||b===33||b===124||b===62||b===39||b===34||b===37||b===64||b===96||(b===63||b===45)&&(a=t.input.charCodeAt(t.position+1),Ca(a)||r&&fy(a)))return!1;for(t.kind="scalar",t.result="",n=u=t.position,A=!1;b!==0;){if(b===58){if(a=t.input.charCodeAt(t.position+1),Ca(a)||r&&fy(a))break}else if(b===35){if(o=t.input.charCodeAt(t.position-1),Ca(o))break}else{if(t.position===t.lineStart&&bD(t)||r&&fy(b))break;if(Gu(b))if(p=t.line,h=t.lineStart,C=t.lineIndent,Wi(t,!1,-1),t.lineIndent>=e){A=!0,b=t.input.charCodeAt(t.position);continue}else{t.position=u,t.line=p,t.lineStart=h,t.lineIndent=C;break}}A&&(Hp(t,n,u,!1),yT(t,t.line-p),n=u=t.position,A=!1),Wg(b)||(u=t.position+1),b=t.input.charCodeAt(++t.position)}return Hp(t,n,u,!1),t.result?!0:(t.kind=w,t.result=v,!1)}function l6e(t,e){var r,o,a;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,o=a=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Hp(t,o,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)o=t.position,t.position++,a=t.position;else return!0;else Gu(r)?(Hp(t,o,a,!0),yT(t,Wi(t,!1,e)),o=a=t.position):t.position===t.lineStart&&bD(t)?wr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);wr(t,"unexpected end of the stream within a single quoted scalar")}function c6e(t,e){var r,o,a,n,u,A;if(A=t.input.charCodeAt(t.position),A!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=o=t.position;(A=t.input.charCodeAt(t.position))!==0;){if(A===34)return Hp(t,r,t.position,!0),t.position++,!0;if(A===92){if(Hp(t,r,t.position,!0),A=t.input.charCodeAt(++t.position),Gu(A))Wi(t,!1,e);else if(A<256&&dK[A])t.result+=mK[A],t.position++;else if((u=n6e(A))>0){for(a=u,n=0;a>0;a--)A=t.input.charCodeAt(++t.position),(u=r6e(A))>=0?n=(n<<4)+u:wr(t,"expected hexadecimal character");t.result+=s6e(n),t.position++}else wr(t,"unknown escape sequence");r=o=t.position}else Gu(A)?(Hp(t,r,o,!0),yT(t,Wi(t,!1,e)),r=o=t.position):t.position===t.lineStart&&bD(t)?wr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,o=t.position)}wr(t,"unexpected end of the stream within a double quoted scalar")}function u6e(t,e){var r=!0,o,a=t.tag,n,u=t.anchor,A,p,h,C,w,v={},b,E,R,L;if(L=t.input.charCodeAt(t.position),L===91)p=93,w=!1,n=[];else if(L===123)p=125,w=!0,n={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),L=t.input.charCodeAt(++t.position);L!==0;){if(Wi(t,!0,e),L=t.input.charCodeAt(t.position),L===p)return t.position++,t.tag=a,t.anchor=u,t.kind=w?"mapping":"sequence",t.result=n,!0;r||wr(t,"missed comma between flow collection entries"),E=b=R=null,h=C=!1,L===63&&(A=t.input.charCodeAt(t.position+1),Ca(A)&&(h=C=!0,t.position++,Wi(t,!0,e))),o=t.line,hy(t,e,SD,!1,!0),E=t.tag,b=t.result,Wi(t,!0,e),L=t.input.charCodeAt(t.position),(C||t.line===o)&&L===58&&(h=!0,L=t.input.charCodeAt(++t.position),Wi(t,!0,e),hy(t,e,SD,!1,!0),R=t.result),w?py(t,n,v,E,b,R):h?n.push(py(t,null,v,E,b,R)):n.push(b),Wi(t,!0,e),L=t.input.charCodeAt(t.position),L===44?(r=!0,L=t.input.charCodeAt(++t.position)):r=!1}wr(t,"unexpected end of the stream within a flow collection")}function A6e(t,e){var r,o,a=dT,n=!1,u=!1,A=e,p=0,h=!1,C,w;if(w=t.input.charCodeAt(t.position),w===124)o=!1;else if(w===62)o=!0;else return!1;for(t.kind="scalar",t.result="";w!==0;)if(w=t.input.charCodeAt(++t.position),w===43||w===45)dT===a?a=w===43?iK:ZHe:wr(t,"repeat of a chomping mode identifier");else if((C=i6e(w))>=0)C===0?wr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?wr(t,"repeat of an indentation width identifier"):(A=e+C-1,u=!0);else break;if(Wg(w)){do w=t.input.charCodeAt(++t.position);while(Wg(w));if(w===35)do w=t.input.charCodeAt(++t.position);while(!Gu(w)&&w!==0)}for(;w!==0;){for(mT(t),t.lineIndent=0,w=t.input.charCodeAt(t.position);(!u||t.lineIndent<A)&&w===32;)t.lineIndent++,w=t.input.charCodeAt(++t.position);if(!u&&t.lineIndent>A&&(A=t.lineIndent),Gu(w)){p++;continue}if(t.lineIndent<A){a===iK?t.result+=mf.repeat(` | 19 | `,e-1))}function y6e(t,e,r){var o,a,n,u,A,p,h,E,w=t.kind,v=t.result,b;if(b=t.input.charCodeAt(t.position),Ia(b)||my(b)||b===35||b===38||b===42||b===33||b===124||b===62||b===39||b===34||b===37||b===64||b===96||(b===63||b===45)&&(a=t.input.charCodeAt(t.position+1),Ia(a)||r&&my(a)))return!1;for(t.kind="scalar",t.result="",n=u=t.position,A=!1;b!==0;){if(b===58){if(a=t.input.charCodeAt(t.position+1),Ia(a)||r&&my(a))break}else if(b===35){if(o=t.input.charCodeAt(t.position-1),Ia(o))break}else{if(t.position===t.lineStart&&LD(t)||r&&my(b))break;if(Wu(b))if(p=t.line,h=t.lineStart,E=t.lineIndent,Wi(t,!1,-1),t.lineIndent>=e){A=!0,b=t.input.charCodeAt(t.position);continue}else{t.position=u,t.line=p,t.lineStart=h,t.lineIndent=E;break}}A&&(qp(t,n,u,!1),CT(t,t.line-p),n=u=t.position,A=!1),Vg(b)||(u=t.position+1),b=t.input.charCodeAt(++t.position)}return qp(t,n,u,!1),t.result?!0:(t.kind=w,t.result=v,!1)}function C6e(t,e){var r,o,a;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,o=a=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(qp(t,o,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)o=t.position,t.position++,a=t.position;else return!0;else Wu(r)?(qp(t,o,a,!0),CT(t,Wi(t,!1,e)),o=a=t.position):t.position===t.lineStart&&LD(t)?wr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);wr(t,"unexpected end of the stream within a single quoted scalar")}function E6e(t,e){var r,o,a,n,u,A;if(A=t.input.charCodeAt(t.position),A!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=o=t.position;(A=t.input.charCodeAt(t.position))!==0;){if(A===34)return qp(t,r,t.position,!0),t.position++,!0;if(A===92){if(qp(t,r,t.position,!0),A=t.input.charCodeAt(++t.position),Wu(A))Wi(t,!1,e);else if(A<256&&wK[A])t.result+=BK[A],t.position++;else if((u=h6e(A))>0){for(a=u,n=0;a>0;a--)A=t.input.charCodeAt(++t.position),(u=p6e(A))>=0?n=(n<<4)+u:wr(t,"expected hexadecimal character");t.result+=d6e(n),t.position++}else wr(t,"unknown escape sequence");r=o=t.position}else Wu(A)?(qp(t,r,o,!0),CT(t,Wi(t,!1,e)),r=o=t.position):t.position===t.lineStart&&LD(t)?wr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,o=t.position)}wr(t,"unexpected end of the stream within a double quoted scalar")}function I6e(t,e){var r=!0,o,a=t.tag,n,u=t.anchor,A,p,h,E,w,v={},b,C,R,L;if(L=t.input.charCodeAt(t.position),L===91)p=93,w=!1,n=[];else if(L===123)p=125,w=!0,n={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),L=t.input.charCodeAt(++t.position);L!==0;){if(Wi(t,!0,e),L=t.input.charCodeAt(t.position),L===p)return t.position++,t.tag=a,t.anchor=u,t.kind=w?"mapping":"sequence",t.result=n,!0;r||wr(t,"missed comma between flow collection entries"),C=b=R=null,h=E=!1,L===63&&(A=t.input.charCodeAt(t.position+1),Ia(A)&&(h=E=!0,t.position++,Wi(t,!0,e))),o=t.line,Cy(t,e,RD,!1,!0),C=t.tag,b=t.result,Wi(t,!0,e),L=t.input.charCodeAt(t.position),(E||t.line===o)&&L===58&&(h=!0,L=t.input.charCodeAt(++t.position),Wi(t,!0,e),Cy(t,e,RD,!1,!0),R=t.result),w?yy(t,n,v,C,b,R):h?n.push(yy(t,null,v,C,b,R)):n.push(b),Wi(t,!0,e),L=t.input.charCodeAt(t.position),L===44?(r=!0,L=t.input.charCodeAt(++t.position)):r=!1}wr(t,"unexpected end of the stream within a flow collection")}function w6e(t,e){var r,o,a=mT,n=!1,u=!1,A=e,p=0,h=!1,E,w;if(w=t.input.charCodeAt(t.position),w===124)o=!1;else if(w===62)o=!0;else return!1;for(t.kind="scalar",t.result="";w!==0;)if(w=t.input.charCodeAt(++t.position),w===43||w===45)mT===a?a=w===43?uK:c6e:wr(t,"repeat of a chomping mode identifier");else if((E=g6e(w))>=0)E===0?wr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?wr(t,"repeat of an indentation width identifier"):(A=e+E-1,u=!0);else break;if(Vg(w)){do w=t.input.charCodeAt(++t.position);while(Vg(w));if(w===35)do w=t.input.charCodeAt(++t.position);while(!Wu(w)&&w!==0)}for(;w!==0;){for(yT(t),t.lineIndent=0,w=t.input.charCodeAt(t.position);(!u||t.lineIndent<A)&&w===32;)t.lineIndent++,w=t.input.charCodeAt(++t.position);if(!u&&t.lineIndent>A&&(A=t.lineIndent),Wu(w)){p++;continue}if(t.lineIndent<A){a===uK?t.result+=Cf.repeat(` |
20 | `,n?1+p:p):a===dT&&n&&(t.result+=` | 20 | `,n?1+p:p):a===mT&&n&&(t.result+=` |
21 | `);break}for(o?Wg(w)?(h=!0,t.result+=mf.repeat(` | 21 | `);break}for(o?Vg(w)?(h=!0,t.result+=Cf.repeat(` |
22 | `,n?1+p:p)):h?(h=!1,t.result+=mf.repeat(` | 22 | `,n?1+p:p)):h?(h=!1,t.result+=Cf.repeat(` |
23 | `,p+1)):p===0?n&&(t.result+=" "):t.result+=mf.repeat(` | 23 | `,p+1)):p===0?n&&(t.result+=" "):t.result+=Cf.repeat(` |
24 | `,p):t.result+=mf.repeat(` | 24 | `,p):t.result+=Cf.repeat(` |
25 | `,n?1+p:p),n=!0,u=!0,p=0,r=t.position;!Gu(w)&&w!==0;)w=t.input.charCodeAt(++t.position);Hp(t,r,t.position,!1)}return!0}function cK(t,e){var r,o=t.tag,a=t.anchor,n=[],u,A=!1,p;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),p=t.input.charCodeAt(t.position);p!==0&&!(p!==45||(u=t.input.charCodeAt(t.position+1),!Ca(u)));){if(A=!0,t.position++,Wi(t,!0,-1)&&t.lineIndent<=e){n.push(null),p=t.input.charCodeAt(t.position);continue}if(r=t.line,hy(t,e,pK,!1,!0),n.push(t.result),Wi(t,!0,-1),p=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&p!==0)wr(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return A?(t.tag=o,t.anchor=a,t.kind="sequence",t.result=n,!0):!1}function f6e(t,e,r){var o,a,n,u,A=t.tag,p=t.anchor,h={},C={},w=null,v=null,b=null,E=!1,R=!1,L;for(t.anchor!==null&&(t.anchorMap[t.anchor]=h),L=t.input.charCodeAt(t.position);L!==0;){if(o=t.input.charCodeAt(t.position+1),n=t.line,u=t.position,(L===63||L===58)&&Ca(o))L===63?(E&&(py(t,h,C,w,v,null),w=v=b=null),R=!0,E=!0,a=!0):E?(E=!1,a=!0):wr(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,L=o;else if(hy(t,r,fK,!1,!0))if(t.line===n){for(L=t.input.charCodeAt(t.position);Wg(L);)L=t.input.charCodeAt(++t.position);if(L===58)L=t.input.charCodeAt(++t.position),Ca(L)||wr(t,"a whitespace character is expected after the key-value separator within a block mapping"),E&&(py(t,h,C,w,v,null),w=v=b=null),R=!0,E=!1,a=!1,w=t.tag,v=t.result;else if(R)wr(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=A,t.anchor=p,!0}else if(R)wr(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=A,t.anchor=p,!0;else break;if((t.line===n||t.lineIndent>e)&&(hy(t,e,PD,!0,a)&&(E?v=t.result:b=t.result),E||(py(t,h,C,w,v,b,n,u),w=v=b=null),Wi(t,!0,-1),L=t.input.charCodeAt(t.position)),t.lineIndent>e&&L!==0)wr(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return E&&py(t,h,C,w,v,null),R&&(t.tag=A,t.anchor=p,t.kind="mapping",t.result=h),R}function p6e(t){var e,r=!1,o=!1,a,n,u;if(u=t.input.charCodeAt(t.position),u!==33)return!1;if(t.tag!==null&&wr(t,"duplication of a tag property"),u=t.input.charCodeAt(++t.position),u===60?(r=!0,u=t.input.charCodeAt(++t.position)):u===33?(o=!0,a="!!",u=t.input.charCodeAt(++t.position)):a="!",e=t.position,r){do u=t.input.charCodeAt(++t.position);while(u!==0&&u!==62);t.position<t.length?(n=t.input.slice(e,t.position),u=t.input.charCodeAt(++t.position)):wr(t,"unexpected end of the stream within a verbatim tag")}else{for(;u!==0&&!Ca(u);)u===33&&(o?wr(t,"tag suffix cannot contain exclamation marks"):(a=t.input.slice(e-1,t.position+1),hK.test(a)||wr(t,"named tag handle cannot contain such characters"),o=!0,e=t.position+1)),u=t.input.charCodeAt(++t.position);n=t.input.slice(e,t.position),t6e.test(n)&&wr(t,"tag suffix cannot contain flow indicator characters")}return n&&!gK.test(n)&&wr(t,"tag name cannot contain such characters: "+n),r?t.tag=n:qp.call(t.tagMap,a)?t.tag=t.tagMap[a]+n:a==="!"?t.tag="!"+n:a==="!!"?t.tag="tag:yaml.org,2002:"+n:wr(t,'undeclared tag handle "'+a+'"'),!0}function h6e(t){var e,r;if(r=t.input.charCodeAt(t.position),r!==38)return!1;for(t.anchor!==null&&wr(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;r!==0&&!Ca(r)&&!fy(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&wr(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function g6e(t){var e,r,o;if(o=t.input.charCodeAt(t.position),o!==42)return!1;for(o=t.input.charCodeAt(++t.position),e=t.position;o!==0&&!Ca(o)&&!fy(o);)o=t.input.charCodeAt(++t.position);return t.position===e&&wr(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),qp.call(t.anchorMap,r)||wr(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],Wi(t,!0,-1),!0}function hy(t,e,r,o,a){var n,u,A,p=1,h=!1,C=!1,w,v,b,E,R;if(t.listener!==null&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,n=u=A=PD===r||pK===r,o&&Wi(t,!0,-1)&&(h=!0,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)),p===1)for(;p6e(t)||h6e(t);)Wi(t,!0,-1)?(h=!0,A=n,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)):A=!1;if(A&&(A=h||a),(p===1||PD===r)&&(SD===r||fK===r?E=e:E=e+1,R=t.position-t.lineStart,p===1?A&&(cK(t,R)||f6e(t,R,E))||u6e(t,E)?C=!0:(u&&A6e(t,E)||l6e(t,E)||c6e(t,E)?C=!0:g6e(t)?(C=!0,(t.tag!==null||t.anchor!==null)&&wr(t,"alias node should not have any properties")):a6e(t,E,SD===r)&&(C=!0,t.tag===null&&(t.tag="?")),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):p===0&&(C=A&&cK(t,R))),t.tag!==null&&t.tag!=="!")if(t.tag==="?"){for(t.result!==null&&t.kind!=="scalar"&&wr(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),w=0,v=t.implicitTypes.length;w<v;w+=1)if(b=t.implicitTypes[w],b.resolve(t.result)){t.result=b.construct(t.result),t.tag=b.tag,t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);break}}else qp.call(t.typeMap[t.kind||"fallback"],t.tag)?(b=t.typeMap[t.kind||"fallback"][t.tag],t.result!==null&&b.kind!==t.kind&&wr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+b.kind+'", not "'+t.kind+'"'),b.resolve(t.result)?(t.result=b.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):wr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):wr(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||C}function d6e(t){var e=t.position,r,o,a,n=!1,u;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(u=t.input.charCodeAt(t.position))!==0&&(Wi(t,!0,-1),u=t.input.charCodeAt(t.position),!(t.lineIndent>0||u!==37));){for(n=!0,u=t.input.charCodeAt(++t.position),r=t.position;u!==0&&!Ca(u);)u=t.input.charCodeAt(++t.position);for(o=t.input.slice(r,t.position),a=[],o.length<1&&wr(t,"directive name must not be less than one character in length");u!==0;){for(;Wg(u);)u=t.input.charCodeAt(++t.position);if(u===35){do u=t.input.charCodeAt(++t.position);while(u!==0&&!Gu(u));break}if(Gu(u))break;for(r=t.position;u!==0&&!Ca(u);)u=t.input.charCodeAt(++t.position);a.push(t.input.slice(r,t.position))}u!==0&&mT(t),qp.call(aK,o)?aK[o](t,o,a):xD(t,'unknown document directive "'+o+'"')}if(Wi(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Wi(t,!0,-1)):n&&wr(t,"directives end mark is expected"),hy(t,t.lineIndent-1,PD,!1,!0),Wi(t,!0,-1),t.checkLineBreaks&&e6e.test(t.input.slice(e,t.position))&&xD(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&bD(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Wi(t,!0,-1));return}if(t.position<t.length-1)wr(t,"end of the stream or a document separator is expected");else return}function EK(t,e){t=String(t),e=e||{},t.length!==0&&(t.charCodeAt(t.length-1)!==10&&t.charCodeAt(t.length-1)!==13&&(t+=` | 25 | `,n?1+p:p),n=!0,u=!0,p=0,r=t.position;!Wu(w)&&w!==0;)w=t.input.charCodeAt(++t.position);qp(t,r,t.position,!1)}return!0}function gK(t,e){var r,o=t.tag,a=t.anchor,n=[],u,A=!1,p;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),p=t.input.charCodeAt(t.position);p!==0&&!(p!==45||(u=t.input.charCodeAt(t.position+1),!Ia(u)));){if(A=!0,t.position++,Wi(t,!0,-1)&&t.lineIndent<=e){n.push(null),p=t.input.charCodeAt(t.position);continue}if(r=t.line,Cy(t,e,CK,!1,!0),n.push(t.result),Wi(t,!0,-1),p=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&p!==0)wr(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return A?(t.tag=o,t.anchor=a,t.kind="sequence",t.result=n,!0):!1}function B6e(t,e,r){var o,a,n,u,A=t.tag,p=t.anchor,h={},E={},w=null,v=null,b=null,C=!1,R=!1,L;for(t.anchor!==null&&(t.anchorMap[t.anchor]=h),L=t.input.charCodeAt(t.position);L!==0;){if(o=t.input.charCodeAt(t.position+1),n=t.line,u=t.position,(L===63||L===58)&&Ia(o))L===63?(C&&(yy(t,h,E,w,v,null),w=v=b=null),R=!0,C=!0,a=!0):C?(C=!1,a=!0):wr(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,L=o;else if(Cy(t,r,yK,!1,!0))if(t.line===n){for(L=t.input.charCodeAt(t.position);Vg(L);)L=t.input.charCodeAt(++t.position);if(L===58)L=t.input.charCodeAt(++t.position),Ia(L)||wr(t,"a whitespace character is expected after the key-value separator within a block mapping"),C&&(yy(t,h,E,w,v,null),w=v=b=null),R=!0,C=!1,a=!1,w=t.tag,v=t.result;else if(R)wr(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=A,t.anchor=p,!0}else if(R)wr(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=A,t.anchor=p,!0;else break;if((t.line===n||t.lineIndent>e)&&(Cy(t,e,TD,!0,a)&&(C?v=t.result:b=t.result),C||(yy(t,h,E,w,v,b,n,u),w=v=b=null),Wi(t,!0,-1),L=t.input.charCodeAt(t.position)),t.lineIndent>e&&L!==0)wr(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return C&&yy(t,h,E,w,v,null),R&&(t.tag=A,t.anchor=p,t.kind="mapping",t.result=h),R}function v6e(t){var e,r=!1,o=!1,a,n,u;if(u=t.input.charCodeAt(t.position),u!==33)return!1;if(t.tag!==null&&wr(t,"duplication of a tag property"),u=t.input.charCodeAt(++t.position),u===60?(r=!0,u=t.input.charCodeAt(++t.position)):u===33?(o=!0,a="!!",u=t.input.charCodeAt(++t.position)):a="!",e=t.position,r){do u=t.input.charCodeAt(++t.position);while(u!==0&&u!==62);t.position<t.length?(n=t.input.slice(e,t.position),u=t.input.charCodeAt(++t.position)):wr(t,"unexpected end of the stream within a verbatim tag")}else{for(;u!==0&&!Ia(u);)u===33&&(o?wr(t,"tag suffix cannot contain exclamation marks"):(a=t.input.slice(e-1,t.position+1),EK.test(a)||wr(t,"named tag handle cannot contain such characters"),o=!0,e=t.position+1)),u=t.input.charCodeAt(++t.position);n=t.input.slice(e,t.position),f6e.test(n)&&wr(t,"tag suffix cannot contain flow indicator characters")}return n&&!IK.test(n)&&wr(t,"tag name cannot contain such characters: "+n),r?t.tag=n:jp.call(t.tagMap,a)?t.tag=t.tagMap[a]+n:a==="!"?t.tag="!"+n:a==="!!"?t.tag="tag:yaml.org,2002:"+n:wr(t,'undeclared tag handle "'+a+'"'),!0}function D6e(t){var e,r;if(r=t.input.charCodeAt(t.position),r!==38)return!1;for(t.anchor!==null&&wr(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;r!==0&&!Ia(r)&&!my(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&wr(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function S6e(t){var e,r,o;if(o=t.input.charCodeAt(t.position),o!==42)return!1;for(o=t.input.charCodeAt(++t.position),e=t.position;o!==0&&!Ia(o)&&!my(o);)o=t.input.charCodeAt(++t.position);return t.position===e&&wr(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),jp.call(t.anchorMap,r)||wr(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],Wi(t,!0,-1),!0}function Cy(t,e,r,o,a){var n,u,A,p=1,h=!1,E=!1,w,v,b,C,R;if(t.listener!==null&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,n=u=A=TD===r||CK===r,o&&Wi(t,!0,-1)&&(h=!0,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)),p===1)for(;v6e(t)||D6e(t);)Wi(t,!0,-1)?(h=!0,A=n,t.lineIndent>e?p=1:t.lineIndent===e?p=0:t.lineIndent<e&&(p=-1)):A=!1;if(A&&(A=h||a),(p===1||TD===r)&&(RD===r||yK===r?C=e:C=e+1,R=t.position-t.lineStart,p===1?A&&(gK(t,R)||B6e(t,R,C))||I6e(t,C)?E=!0:(u&&w6e(t,C)||C6e(t,C)||E6e(t,C)?E=!0:S6e(t)?(E=!0,(t.tag!==null||t.anchor!==null)&&wr(t,"alias node should not have any properties")):y6e(t,C,RD===r)&&(E=!0,t.tag===null&&(t.tag="?")),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):p===0&&(E=A&&gK(t,R))),t.tag!==null&&t.tag!=="!")if(t.tag==="?"){for(t.result!==null&&t.kind!=="scalar"&&wr(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),w=0,v=t.implicitTypes.length;w<v;w+=1)if(b=t.implicitTypes[w],b.resolve(t.result)){t.result=b.construct(t.result),t.tag=b.tag,t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);break}}else jp.call(t.typeMap[t.kind||"fallback"],t.tag)?(b=t.typeMap[t.kind||"fallback"][t.tag],t.result!==null&&b.kind!==t.kind&&wr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+b.kind+'", not "'+t.kind+'"'),b.resolve(t.result)?(t.result=b.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):wr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):wr(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||E}function P6e(t){var e=t.position,r,o,a,n=!1,u;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(u=t.input.charCodeAt(t.position))!==0&&(Wi(t,!0,-1),u=t.input.charCodeAt(t.position),!(t.lineIndent>0||u!==37));){for(n=!0,u=t.input.charCodeAt(++t.position),r=t.position;u!==0&&!Ia(u);)u=t.input.charCodeAt(++t.position);for(o=t.input.slice(r,t.position),a=[],o.length<1&&wr(t,"directive name must not be less than one character in length");u!==0;){for(;Vg(u);)u=t.input.charCodeAt(++t.position);if(u===35){do u=t.input.charCodeAt(++t.position);while(u!==0&&!Wu(u));break}if(Wu(u))break;for(r=t.position;u!==0&&!Ia(u);)u=t.input.charCodeAt(++t.position);a.push(t.input.slice(r,t.position))}u!==0&&yT(t),jp.call(pK,o)?pK[o](t,o,a):ND(t,'unknown document directive "'+o+'"')}if(Wi(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Wi(t,!0,-1)):n&&wr(t,"directives end mark is expected"),Cy(t,t.lineIndent-1,TD,!1,!0),Wi(t,!0,-1),t.checkLineBreaks&&A6e.test(t.input.slice(e,t.position))&&ND(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&LD(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Wi(t,!0,-1));return}if(t.position<t.length-1)wr(t,"end of the stream or a document separator is expected");else return}function DK(t,e){t=String(t),e=e||{},t.length!==0&&(t.charCodeAt(t.length-1)!==10&&t.charCodeAt(t.length-1)!==13&&(t+=` |
26 | `),t.charCodeAt(0)===65279&&(t=t.slice(1)));var r=new o6e(t,e),o=t.indexOf("\0");for(o!==-1&&(r.position=o,wr(r,"null byte is not allowed in input")),r.input+="\0";r.input.charCodeAt(r.position)===32;)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)d6e(r);return r.documents}function CK(t,e,r){e!==null&&typeof e=="object"&&typeof r>"u"&&(r=e,e=null);var o=EK(t,r);if(typeof e!="function")return o;for(var a=0,n=o.length;a<n;a+=1)e(o[a])}function IK(t,e){var r=EK(t,e);if(r.length!==0){if(r.length===1)return r[0];throw new uK("expected a single document in the stream, but found more")}}function m6e(t,e,r){return typeof e=="object"&&e!==null&&typeof r>"u"&&(r=e,e=null),CK(t,e,mf.extend({schema:AK},r))}function y6e(t,e){return IK(t,mf.extend({schema:AK},e))}_I.exports.loadAll=CK;_I.exports.load=IK;_I.exports.safeLoadAll=m6e;_I.exports.safeLoad=y6e});var WK=U((_xt,wT)=>{"use strict";var qI=Hg(),jI=cy(),E6e=UI(),C6e=Ay(),QK=Object.prototype.toString,kK=Object.prototype.hasOwnProperty,I6e=9,HI=10,w6e=13,B6e=32,v6e=33,D6e=34,FK=35,S6e=37,P6e=38,x6e=39,b6e=42,RK=44,Q6e=45,TK=58,k6e=61,F6e=62,R6e=63,T6e=64,NK=91,LK=93,N6e=96,OK=123,L6e=124,MK=125,wo={};wo[0]="\\0";wo[7]="\\a";wo[8]="\\b";wo[9]="\\t";wo[10]="\\n";wo[11]="\\v";wo[12]="\\f";wo[13]="\\r";wo[27]="\\e";wo[34]='\\"';wo[92]="\\\\";wo[133]="\\N";wo[160]="\\_";wo[8232]="\\L";wo[8233]="\\P";var O6e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function M6e(t,e){var r,o,a,n,u,A,p;if(e===null)return{};for(r={},o=Object.keys(e),a=0,n=o.length;a<n;a+=1)u=o[a],A=String(e[u]),u.slice(0,2)==="!!"&&(u="tag:yaml.org,2002:"+u.slice(2)),p=t.compiledTypeMap.fallback[u],p&&kK.call(p.styleAliases,A)&&(A=p.styleAliases[A]),r[u]=A;return r}function BK(t){var e,r,o;if(e=t.toString(16).toUpperCase(),t<=255)r="x",o=2;else if(t<=65535)r="u",o=4;else if(t<=4294967295)r="U",o=8;else throw new jI("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+qI.repeat("0",o-e.length)+e}function U6e(t){this.schema=t.schema||E6e,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=qI.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=M6e(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function vK(t,e){for(var r=qI.repeat(" ",e),o=0,a=-1,n="",u,A=t.length;o<A;)a=t.indexOf(` | 26 | `),t.charCodeAt(0)===65279&&(t=t.slice(1)));var r=new m6e(t,e),o=t.indexOf("\0");for(o!==-1&&(r.position=o,wr(r,"null byte is not allowed in input")),r.input+="\0";r.input.charCodeAt(r.position)===32;)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)P6e(r);return r.documents}function SK(t,e,r){e!==null&&typeof e=="object"&&typeof r>"u"&&(r=e,e=null);var o=DK(t,r);if(typeof e!="function")return o;for(var a=0,n=o.length;a<n;a+=1)e(o[a])}function PK(t,e){var r=DK(t,e);if(r.length!==0){if(r.length===1)return r[0];throw new dK("expected a single document in the stream, but found more")}}function x6e(t,e,r){return typeof e=="object"&&e!==null&&typeof r>"u"&&(r=e,e=null),SK(t,e,Cf.extend({schema:mK},r))}function b6e(t,e){return PK(t,Cf.extend({schema:mK},e))}GI.exports.loadAll=SK;GI.exports.load=PK;GI.exports.safeLoadAll=x6e;GI.exports.safeLoad=b6e});var XK=U((ebt,BT)=>{"use strict";var YI=Gg(),KI=hy(),Q6e=jI(),k6e=dy(),LK=Object.prototype.toString,OK=Object.prototype.hasOwnProperty,F6e=9,WI=10,R6e=13,T6e=32,N6e=33,L6e=34,MK=35,O6e=37,M6e=38,U6e=39,_6e=42,UK=44,H6e=45,_K=58,q6e=61,j6e=62,G6e=63,W6e=64,HK=91,qK=93,Y6e=96,jK=123,K6e=124,GK=125,wo={};wo[0]="\\0";wo[7]="\\a";wo[8]="\\b";wo[9]="\\t";wo[10]="\\n";wo[11]="\\v";wo[12]="\\f";wo[13]="\\r";wo[27]="\\e";wo[34]='\\"';wo[92]="\\\\";wo[133]="\\N";wo[160]="\\_";wo[8232]="\\L";wo[8233]="\\P";var V6e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function J6e(t,e){var r,o,a,n,u,A,p;if(e===null)return{};for(r={},o=Object.keys(e),a=0,n=o.length;a<n;a+=1)u=o[a],A=String(e[u]),u.slice(0,2)==="!!"&&(u="tag:yaml.org,2002:"+u.slice(2)),p=t.compiledTypeMap.fallback[u],p&&OK.call(p.styleAliases,A)&&(A=p.styleAliases[A]),r[u]=A;return r}function bK(t){var e,r,o;if(e=t.toString(16).toUpperCase(),t<=255)r="x",o=2;else if(t<=65535)r="u",o=4;else if(t<=4294967295)r="U",o=8;else throw new KI("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+YI.repeat("0",o-e.length)+e}function z6e(t){this.schema=t.schema||Q6e,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=YI.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=J6e(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function QK(t,e){for(var r=YI.repeat(" ",e),o=0,a=-1,n="",u,A=t.length;o<A;)a=t.indexOf(` |
27 | `,o),a===-1?(u=t.slice(o),o=A):(u=t.slice(o,a+1),o=a+1),u.length&&u!==` | 27 | `,o),a===-1?(u=t.slice(o),o=A):(u=t.slice(o,a+1),o=a+1),u.length&&u!==` |
28 | `&&(n+=r),n+=u;return n}function ET(t,e){return` | 28 | `&&(n+=r),n+=u;return n}function ET(t,e){return` |
29 | `+qI.repeat(" ",t.indent*e)}function _6e(t,e){var r,o,a;for(r=0,o=t.implicitTypes.length;r<o;r+=1)if(a=t.implicitTypes[r],a.resolve(e))return!0;return!1}function IT(t){return t===B6e||t===I6e}function gy(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==8233||57344<=t&&t<=65533&&t!==65279||65536<=t&&t<=1114111}function H6e(t){return gy(t)&&!IT(t)&&t!==65279&&t!==w6e&&t!==HI}function DK(t,e){return gy(t)&&t!==65279&&t!==RK&&t!==NK&&t!==LK&&t!==OK&&t!==MK&&t!==TK&&(t!==FK||e&&H6e(e))}function q6e(t){return gy(t)&&t!==65279&&!IT(t)&&t!==Q6e&&t!==R6e&&t!==TK&&t!==RK&&t!==NK&&t!==LK&&t!==OK&&t!==MK&&t!==FK&&t!==P6e&&t!==b6e&&t!==v6e&&t!==L6e&&t!==k6e&&t!==F6e&&t!==x6e&&t!==D6e&&t!==S6e&&t!==T6e&&t!==N6e}function UK(t){var e=/^\n* /;return e.test(t)}var _K=1,HK=2,qK=3,jK=4,QD=5;function j6e(t,e,r,o,a){var n,u,A,p=!1,h=!1,C=o!==-1,w=-1,v=q6e(t.charCodeAt(0))&&!IT(t.charCodeAt(t.length-1));if(e)for(n=0;n<t.length;n++){if(u=t.charCodeAt(n),!gy(u))return QD;A=n>0?t.charCodeAt(n-1):null,v=v&&DK(u,A)}else{for(n=0;n<t.length;n++){if(u=t.charCodeAt(n),u===HI)p=!0,C&&(h=h||n-w-1>o&&t[w+1]!==" ",w=n);else if(!gy(u))return QD;A=n>0?t.charCodeAt(n-1):null,v=v&&DK(u,A)}h=h||C&&n-w-1>o&&t[w+1]!==" "}return!p&&!h?v&&!a(t)?_K:HK:r>9&&UK(t)?QD:h?jK:qK}function G6e(t,e,r,o){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&O6e.indexOf(e)!==-1)return"'"+e+"'";var a=t.indent*Math.max(1,r),n=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),u=o||t.flowLevel>-1&&r>=t.flowLevel;function A(p){return _6e(t,p)}switch(j6e(e,u,t.indent,n,A)){case _K:return e;case HK:return"'"+e.replace(/'/g,"''")+"'";case qK:return"|"+SK(e,t.indent)+PK(vK(e,a));case jK:return">"+SK(e,t.indent)+PK(vK(W6e(e,n),a));case QD:return'"'+Y6e(e,n)+'"';default:throw new jI("impossible error: invalid scalar style")}}()}function SK(t,e){var r=UK(t)?String(e):"",o=t[t.length-1]===` | 29 | `+YI.repeat(" ",t.indent*e)}function X6e(t,e){var r,o,a;for(r=0,o=t.implicitTypes.length;r<o;r+=1)if(a=t.implicitTypes[r],a.resolve(e))return!0;return!1}function wT(t){return t===T6e||t===F6e}function Ey(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==8233||57344<=t&&t<=65533&&t!==65279||65536<=t&&t<=1114111}function Z6e(t){return Ey(t)&&!wT(t)&&t!==65279&&t!==R6e&&t!==WI}function kK(t,e){return Ey(t)&&t!==65279&&t!==UK&&t!==HK&&t!==qK&&t!==jK&&t!==GK&&t!==_K&&(t!==MK||e&&Z6e(e))}function $6e(t){return Ey(t)&&t!==65279&&!wT(t)&&t!==H6e&&t!==G6e&&t!==_K&&t!==UK&&t!==HK&&t!==qK&&t!==jK&&t!==GK&&t!==MK&&t!==M6e&&t!==_6e&&t!==N6e&&t!==K6e&&t!==q6e&&t!==j6e&&t!==U6e&&t!==L6e&&t!==O6e&&t!==W6e&&t!==Y6e}function WK(t){var e=/^\n* /;return e.test(t)}var YK=1,KK=2,VK=3,JK=4,OD=5;function eqe(t,e,r,o,a){var n,u,A,p=!1,h=!1,E=o!==-1,w=-1,v=$6e(t.charCodeAt(0))&&!wT(t.charCodeAt(t.length-1));if(e)for(n=0;n<t.length;n++){if(u=t.charCodeAt(n),!Ey(u))return OD;A=n>0?t.charCodeAt(n-1):null,v=v&&kK(u,A)}else{for(n=0;n<t.length;n++){if(u=t.charCodeAt(n),u===WI)p=!0,E&&(h=h||n-w-1>o&&t[w+1]!==" ",w=n);else if(!Ey(u))return OD;A=n>0?t.charCodeAt(n-1):null,v=v&&kK(u,A)}h=h||E&&n-w-1>o&&t[w+1]!==" "}return!p&&!h?v&&!a(t)?YK:KK:r>9&&WK(t)?OD:h?JK:VK}function tqe(t,e,r,o){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&V6e.indexOf(e)!==-1)return"'"+e+"'";var a=t.indent*Math.max(1,r),n=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),u=o||t.flowLevel>-1&&r>=t.flowLevel;function A(p){return X6e(t,p)}switch(eqe(e,u,t.indent,n,A)){case YK:return e;case KK:return"'"+e.replace(/'/g,"''")+"'";case VK:return"|"+FK(e,t.indent)+RK(QK(e,a));case JK:return">"+FK(e,t.indent)+RK(QK(rqe(e,n),a));case OD:return'"'+nqe(e,n)+'"';default:throw new KI("impossible error: invalid scalar style")}}()}function FK(t,e){var r=WK(t)?String(e):"",o=t[t.length-1]===` |
30 | `,a=o&&(t[t.length-2]===` | 30 | `,a=o&&(t[t.length-2]===` |
31 | `||t===` | 31 | `||t===` |
32 | `),n=a?"+":o?"":"-";return r+n+` | 32 | `),n=a?"+":o?"":"-";return r+n+` |
33 | `}function PK(t){return t[t.length-1]===` | 33 | `}function RK(t){return t[t.length-1]===` |
34 | `?t.slice(0,-1):t}function W6e(t,e){for(var r=/(\n+)([^\n]*)/g,o=function(){var h=t.indexOf(` | 34 | `?t.slice(0,-1):t}function rqe(t,e){for(var r=/(\n+)([^\n]*)/g,o=function(){var h=t.indexOf(` |
35 | `);return h=h!==-1?h:t.length,r.lastIndex=h,xK(t.slice(0,h),e)}(),a=t[0]===` | 35 | `);return h=h!==-1?h:t.length,r.lastIndex=h,TK(t.slice(0,h),e)}(),a=t[0]===` |
36 | `||t[0]===" ",n,u;u=r.exec(t);){var A=u[1],p=u[2];n=p[0]===" ",o+=A+(!a&&!n&&p!==""?` | 36 | `||t[0]===" ",n,u;u=r.exec(t);){var A=u[1],p=u[2];n=p[0]===" ",o+=A+(!a&&!n&&p!==""?` |
37 | `:"")+xK(p,e),a=n}return o}function xK(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,o,a=0,n,u=0,A=0,p="";o=r.exec(t);)A=o.index,A-a>e&&(n=u>a?u:A,p+=` | 37 | `:"")+TK(p,e),a=n}return o}function TK(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,o,a=0,n,u=0,A=0,p="";o=r.exec(t);)A=o.index,A-a>e&&(n=u>a?u:A,p+=` |
38 | `+t.slice(a,n),a=n+1),u=A;return p+=` | 38 | `+t.slice(a,n),a=n+1),u=A;return p+=` |
39 | `,t.length-a>e&&u>a?p+=t.slice(a,u)+` | 39 | `,t.length-a>e&&u>a?p+=t.slice(a,u)+` |
40 | `+t.slice(u+1):p+=t.slice(a),p.slice(1)}function Y6e(t){for(var e="",r,o,a,n=0;n<t.length;n++){if(r=t.charCodeAt(n),r>=55296&&r<=56319&&(o=t.charCodeAt(n+1),o>=56320&&o<=57343)){e+=BK((r-55296)*1024+o-56320+65536),n++;continue}a=wo[r],e+=!a&&gy(r)?t[n]:a||BK(r)}return e}function K6e(t,e,r){var o="",a=t.tag,n,u;for(n=0,u=r.length;n<u;n+=1)Yg(t,e,r[n],!1,!1)&&(n!==0&&(o+=","+(t.condenseFlow?"":" ")),o+=t.dump);t.tag=a,t.dump="["+o+"]"}function J6e(t,e,r,o){var a="",n=t.tag,u,A;for(u=0,A=r.length;u<A;u+=1)Yg(t,e+1,r[u],!0,!0)&&((!o||u!==0)&&(a+=ET(t,e)),t.dump&&HI===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=n,t.dump=a||"[]"}function V6e(t,e,r){var o="",a=t.tag,n=Object.keys(r),u,A,p,h,C;for(u=0,A=n.length;u<A;u+=1)C="",u!==0&&(C+=", "),t.condenseFlow&&(C+='"'),p=n[u],h=r[p],Yg(t,e,p,!1,!1)&&(t.dump.length>1024&&(C+="? "),C+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Yg(t,e,h,!1,!1)&&(C+=t.dump,o+=C));t.tag=a,t.dump="{"+o+"}"}function z6e(t,e,r,o){var a="",n=t.tag,u=Object.keys(r),A,p,h,C,w,v;if(t.sortKeys===!0)u.sort();else if(typeof t.sortKeys=="function")u.sort(t.sortKeys);else if(t.sortKeys)throw new jI("sortKeys must be a boolean or a function");for(A=0,p=u.length;A<p;A+=1)v="",(!o||A!==0)&&(v+=ET(t,e)),h=u[A],C=r[h],Yg(t,e+1,h,!0,!0,!0)&&(w=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024,w&&(t.dump&&HI===t.dump.charCodeAt(0)?v+="?":v+="? "),v+=t.dump,w&&(v+=ET(t,e)),Yg(t,e+1,C,!0,w)&&(t.dump&&HI===t.dump.charCodeAt(0)?v+=":":v+=": ",v+=t.dump,a+=v));t.tag=n,t.dump=a||"{}"}function bK(t,e,r){var o,a,n,u,A,p;for(a=r?t.explicitTypes:t.implicitTypes,n=0,u=a.length;n<u;n+=1)if(A=a[n],(A.instanceOf||A.predicate)&&(!A.instanceOf||typeof e=="object"&&e instanceof A.instanceOf)&&(!A.predicate||A.predicate(e))){if(t.tag=r?A.tag:"?",A.represent){if(p=t.styleMap[A.tag]||A.defaultStyle,QK.call(A.represent)==="[object Function]")o=A.represent(e,p);else if(kK.call(A.represent,p))o=A.represent[p](e,p);else throw new jI("!<"+A.tag+'> tag resolver accepts not "'+p+'" style');t.dump=o}return!0}return!1}function Yg(t,e,r,o,a,n){t.tag=null,t.dump=r,bK(t,r,!1)||bK(t,r,!0);var u=QK.call(t.dump);o&&(o=t.flowLevel<0||t.flowLevel>e);var A=u==="[object Object]"||u==="[object Array]",p,h;if(A&&(p=t.duplicates.indexOf(r),h=p!==-1),(t.tag!==null&&t.tag!=="?"||h||t.indent!==2&&e>0)&&(a=!1),h&&t.usedDuplicates[p])t.dump="*ref_"+p;else{if(A&&h&&!t.usedDuplicates[p]&&(t.usedDuplicates[p]=!0),u==="[object Object]")o&&Object.keys(t.dump).length!==0?(z6e(t,e,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(V6e(t,e,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump));else if(u==="[object Array]"){var C=t.noArrayIndent&&e>0?e-1:e;o&&t.dump.length!==0?(J6e(t,C,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(K6e(t,C,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump))}else if(u==="[object String]")t.tag!=="?"&&G6e(t,t.dump,e,n);else{if(t.skipInvalid)return!1;throw new jI("unacceptable kind of an object to dump "+u)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function X6e(t,e){var r=[],o=[],a,n;for(CT(t,r,o),a=0,n=o.length;a<n;a+=1)e.duplicates.push(r[o[a]]);e.usedDuplicates=new Array(n)}function CT(t,e,r){var o,a,n;if(t!==null&&typeof t=="object")if(a=e.indexOf(t),a!==-1)r.indexOf(a)===-1&&r.push(a);else if(e.push(t),Array.isArray(t))for(a=0,n=t.length;a<n;a+=1)CT(t[a],e,r);else for(o=Object.keys(t),a=0,n=o.length;a<n;a+=1)CT(t[o[a]],e,r)}function GK(t,e){e=e||{};var r=new U6e(e);return r.noRefs||X6e(t,r),Yg(r,0,t,!0,!0)?r.dump+` | 40 | `+t.slice(u+1):p+=t.slice(a),p.slice(1)}function nqe(t){for(var e="",r,o,a,n=0;n<t.length;n++){if(r=t.charCodeAt(n),r>=55296&&r<=56319&&(o=t.charCodeAt(n+1),o>=56320&&o<=57343)){e+=bK((r-55296)*1024+o-56320+65536),n++;continue}a=wo[r],e+=!a&&Ey(r)?t[n]:a||bK(r)}return e}function iqe(t,e,r){var o="",a=t.tag,n,u;for(n=0,u=r.length;n<u;n+=1)Jg(t,e,r[n],!1,!1)&&(n!==0&&(o+=","+(t.condenseFlow?"":" ")),o+=t.dump);t.tag=a,t.dump="["+o+"]"}function sqe(t,e,r,o){var a="",n=t.tag,u,A;for(u=0,A=r.length;u<A;u+=1)Jg(t,e+1,r[u],!0,!0)&&((!o||u!==0)&&(a+=ET(t,e)),t.dump&&WI===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=n,t.dump=a||"[]"}function oqe(t,e,r){var o="",a=t.tag,n=Object.keys(r),u,A,p,h,E;for(u=0,A=n.length;u<A;u+=1)E="",u!==0&&(E+=", "),t.condenseFlow&&(E+='"'),p=n[u],h=r[p],Jg(t,e,p,!1,!1)&&(t.dump.length>1024&&(E+="? "),E+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Jg(t,e,h,!1,!1)&&(E+=t.dump,o+=E));t.tag=a,t.dump="{"+o+"}"}function aqe(t,e,r,o){var a="",n=t.tag,u=Object.keys(r),A,p,h,E,w,v;if(t.sortKeys===!0)u.sort();else if(typeof t.sortKeys=="function")u.sort(t.sortKeys);else if(t.sortKeys)throw new KI("sortKeys must be a boolean or a function");for(A=0,p=u.length;A<p;A+=1)v="",(!o||A!==0)&&(v+=ET(t,e)),h=u[A],E=r[h],Jg(t,e+1,h,!0,!0,!0)&&(w=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024,w&&(t.dump&&WI===t.dump.charCodeAt(0)?v+="?":v+="? "),v+=t.dump,w&&(v+=ET(t,e)),Jg(t,e+1,E,!0,w)&&(t.dump&&WI===t.dump.charCodeAt(0)?v+=":":v+=": ",v+=t.dump,a+=v));t.tag=n,t.dump=a||"{}"}function NK(t,e,r){var o,a,n,u,A,p;for(a=r?t.explicitTypes:t.implicitTypes,n=0,u=a.length;n<u;n+=1)if(A=a[n],(A.instanceOf||A.predicate)&&(!A.instanceOf||typeof e=="object"&&e instanceof A.instanceOf)&&(!A.predicate||A.predicate(e))){if(t.tag=r?A.tag:"?",A.represent){if(p=t.styleMap[A.tag]||A.defaultStyle,LK.call(A.represent)==="[object Function]")o=A.represent(e,p);else if(OK.call(A.represent,p))o=A.represent[p](e,p);else throw new KI("!<"+A.tag+'> tag resolver accepts not "'+p+'" style');t.dump=o}return!0}return!1}function Jg(t,e,r,o,a,n){t.tag=null,t.dump=r,NK(t,r,!1)||NK(t,r,!0);var u=LK.call(t.dump);o&&(o=t.flowLevel<0||t.flowLevel>e);var A=u==="[object Object]"||u==="[object Array]",p,h;if(A&&(p=t.duplicates.indexOf(r),h=p!==-1),(t.tag!==null&&t.tag!=="?"||h||t.indent!==2&&e>0)&&(a=!1),h&&t.usedDuplicates[p])t.dump="*ref_"+p;else{if(A&&h&&!t.usedDuplicates[p]&&(t.usedDuplicates[p]=!0),u==="[object Object]")o&&Object.keys(t.dump).length!==0?(aqe(t,e,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(oqe(t,e,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump));else if(u==="[object Array]"){var E=t.noArrayIndent&&e>0?e-1:e;o&&t.dump.length!==0?(sqe(t,E,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(iqe(t,E,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump))}else if(u==="[object String]")t.tag!=="?"&&tqe(t,t.dump,e,n);else{if(t.skipInvalid)return!1;throw new KI("unacceptable kind of an object to dump "+u)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function lqe(t,e){var r=[],o=[],a,n;for(IT(t,r,o),a=0,n=o.length;a<n;a+=1)e.duplicates.push(r[o[a]]);e.usedDuplicates=new Array(n)}function IT(t,e,r){var o,a,n;if(t!==null&&typeof t=="object")if(a=e.indexOf(t),a!==-1)r.indexOf(a)===-1&&r.push(a);else if(e.push(t),Array.isArray(t))for(a=0,n=t.length;a<n;a+=1)IT(t[a],e,r);else for(o=Object.keys(t),a=0,n=o.length;a<n;a+=1)IT(t[o[a]],e,r)}function zK(t,e){e=e||{};var r=new z6e(e);return r.noRefs||lqe(t,r),Jg(r,0,t,!0,!0)?r.dump+` |
41 | `:""}function Z6e(t,e){return GK(t,qI.extend({schema:C6e},e))}wT.exports.dump=GK;wT.exports.safeDump=Z6e});var KK=U((Hxt,Pi)=>{"use strict";var kD=wK(),YK=WK();function FD(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Pi.exports.Type=as();Pi.exports.Schema=qg();Pi.exports.FAILSAFE_SCHEMA=vD();Pi.exports.JSON_SCHEMA=pT();Pi.exports.CORE_SCHEMA=hT();Pi.exports.DEFAULT_SAFE_SCHEMA=Ay();Pi.exports.DEFAULT_FULL_SCHEMA=UI();Pi.exports.load=kD.load;Pi.exports.loadAll=kD.loadAll;Pi.exports.safeLoad=kD.safeLoad;Pi.exports.safeLoadAll=kD.safeLoadAll;Pi.exports.dump=YK.dump;Pi.exports.safeDump=YK.safeDump;Pi.exports.YAMLException=cy();Pi.exports.MINIMAL_SCHEMA=vD();Pi.exports.SAFE_SCHEMA=Ay();Pi.exports.DEFAULT_SCHEMA=UI();Pi.exports.scan=FD("scan");Pi.exports.parse=FD("parse");Pi.exports.compose=FD("compose");Pi.exports.addConstructor=FD("addConstructor")});var VK=U((qxt,JK)=>{"use strict";var $6e=KK();JK.exports=$6e});var XK=U((jxt,zK)=>{"use strict";function eqe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Kg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Kg)}eqe(Kg,Error);Kg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var C="",w;for(w=0;w<h.parts.length;w++)C+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+C+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function u(h){return r[h.type](h)}function A(h){var C=new Array(h.length),w,v;for(w=0;w<h.length;w++)C[w]=u(h[w]);if(C.sort(),C.length>0){for(w=1,v=1;w<C.length;w++)C[w-1]!==C[w]&&(C[v]=C[w],v++);C.length=v}switch(C.length){case 1:return C[0];case 2:return C[0]+" or "+C[1];default:return C.slice(0,-1).join(", ")+", or "+C[C.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function tqe(t,e){e=e!==void 0?e:{};var r={},o={Start:yu},a=yu,n=function(ee){return[].concat(...ee)},u="-",A=Dn("-",!1),p=function(ee){return ee},h=function(ee){return Object.assign({},...ee)},C="#",w=Dn("#",!1),v=gc(),b=function(){return{}},E=":",R=Dn(":",!1),L=function(ee,we){return{[ee]:we}},_=",",J=Dn(",",!1),re=function(ee,we){return we},oe=function(ee,we,qe){return Object.assign({},...[ee].concat(we).map(Be=>({[Be]:qe})))},pe=function(ee){return ee},he=function(ee){return ee},ve=ta("correct indentation"),ge=" ",le=Dn(" ",!1),Pe=function(ee){return ee.length===sa*Ma},g=function(ee){return ee.length===(sa+1)*Ma},De=function(){return sa++,!0},Ee=function(){return sa--,!0},de=function(){return SA()},ne=ta("pseudostring"),Z=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,me=ui(["\r",` | 41 | `:""}function cqe(t,e){return zK(t,YI.extend({schema:k6e},e))}BT.exports.dump=zK;BT.exports.safeDump=cqe});var $K=U((tbt,Pi)=>{"use strict";var MD=xK(),ZK=XK();function UD(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Pi.exports.Type=as();Pi.exports.Schema=Wg();Pi.exports.FAILSAFE_SCHEMA=kD();Pi.exports.JSON_SCHEMA=hT();Pi.exports.CORE_SCHEMA=gT();Pi.exports.DEFAULT_SAFE_SCHEMA=dy();Pi.exports.DEFAULT_FULL_SCHEMA=jI();Pi.exports.load=MD.load;Pi.exports.loadAll=MD.loadAll;Pi.exports.safeLoad=MD.safeLoad;Pi.exports.safeLoadAll=MD.safeLoadAll;Pi.exports.dump=ZK.dump;Pi.exports.safeDump=ZK.safeDump;Pi.exports.YAMLException=hy();Pi.exports.MINIMAL_SCHEMA=kD();Pi.exports.SAFE_SCHEMA=dy();Pi.exports.DEFAULT_SCHEMA=jI();Pi.exports.scan=UD("scan");Pi.exports.parse=UD("parse");Pi.exports.compose=UD("compose");Pi.exports.addConstructor=UD("addConstructor")});var tV=U((rbt,eV)=>{"use strict";var uqe=$K();eV.exports=uqe});var nV=U((nbt,rV)=>{"use strict";function Aqe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function zg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,zg)}Aqe(zg,Error);zg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,v;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,v=1;w<E.length;w++)E[w-1]!==E[w]&&(E[v]=E[w],v++);E.length=v}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function fqe(t,e){e=e!==void 0?e:{};var r={},o={Start:Cu},a=Cu,n=function(ee){return[].concat(...ee)},u="-",A=Dn("-",!1),p=function(ee){return ee},h=function(ee){return Object.assign({},...ee)},E="#",w=Dn("#",!1),v=yc(),b=function(){return{}},C=":",R=Dn(":",!1),L=function(ee,we){return{[ee]:we}},_=",",V=Dn(",",!1),re=function(ee,we){return we},oe=function(ee,we,je){return Object.assign({},...[ee].concat(we).map(Be=>({[Be]:je})))},pe=function(ee){return ee},he=function(ee){return ee},ve=ra("correct indentation"),ge=" ",le=Dn(" ",!1),Pe=function(ee){return ee.length===oa*Ha},g=function(ee){return ee.length===(oa+1)*Ha},De=function(){return oa++,!0},Ce=function(){return oa--,!0},de=function(){return xA()},ne=ra("pseudostring"),Z=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,me=ui(["\r",` |
42 | `," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),be=/^[^\r\n\t ,\][{}:#"']/,ut=ui(["\r",` | 42 | `," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),be=/^[^\r\n\t ,\][{}:#"']/,ut=ui(["\r",` |
43 | `," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),H=function(){return SA().replace(/^ *| *$/g,"")},yt="--",Me=Dn("--",!1),Te=/^[a-zA-Z\/0-9]/,Qe=ui([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ue=/^[^\r\n\t :,]/,je=ui(["\r",` | 43 | `," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),H=function(){return xA().replace(/^ *| *$/g,"")},yt="--",Me=Dn("--",!1),Te=/^[a-zA-Z\/0-9]/,Qe=ui([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),_e=/^[^\r\n\t :,]/,qe=ui(["\r",` |
44 | `," "," ",":",","],!0,!1),At="null",Le=Dn("null",!1),x=function(){return null},I="true",P=Dn("true",!1),y=function(){return!0},F="false",z=Dn("false",!1),X=function(){return!1},$=ta("string"),ie='"',ke=Dn('"',!1),Ne=function(){return""},st=function(ee){return ee},ht=function(ee){return ee.join("")},Ut=/^[^"\\\0-\x1F\x7F]/,Xt=ui(['"',"\\",["\0",""],"\x7F"],!0,!1),Pt='\\"',tn=Dn('\\"',!1),Dr=function(){return'"'},fr="\\\\",Br=Dn("\\\\",!1),jr=function(){return"\\"},Hn="\\/",bs=Dn("\\/",!1),ki=function(){return"/"},gs="\\b",to=Dn("\\b",!1),Di=function(){return"\b"},Qs="\\f",ro=Dn("\\f",!1),uc=function(){return"\f"},hu="\\n",op=Dn("\\n",!1),ap=function(){return` | 44 | `," "," ",":",","],!0,!1),At="null",Oe=Dn("null",!1),x=function(){return null},I="true",P=Dn("true",!1),y=function(){return!0},F="false",J=Dn("false",!1),X=function(){return!1},$=ra("string"),ie='"',ke=Dn('"',!1),Ne=function(){return""},st=function(ee){return ee},ht=function(ee){return ee.join("")},Ut=/^[^"\\\0-\x1F\x7F]/,Xt=ui(['"',"\\",["\0",""],"\x7F"],!0,!1),Pt='\\"',tn=Dn('\\"',!1),Dr=function(){return'"'},fr="\\\\",Br=Dn("\\\\",!1),jr=function(){return"\\"},Hn="\\/",bs=Dn("\\/",!1),ki=function(){return"/"},gs="\\b",to=Dn("\\b",!1),Di=function(){return"\b"},Qs="\\f",ro=Dn("\\f",!1),pc=function(){return"\f"},gu="\\n",ap=Dn("\\n",!1),lp=function(){return` |
45 | `},ks="\\r",Cn=Dn("\\r",!1),no=function(){return"\r"},Fs="\\t",dl=Dn("\\t",!1),ml=function(){return" "},io="\\u",_e=Dn("\\u",!1),Fn=function(ee,we,qe,Be){return String.fromCharCode(parseInt(`0x${ee}${we}${qe}${Be}`))},Fi=/^[0-9a-fA-F]/,Rn=ui([["0","9"],["a","f"],["A","F"]],!1,!1),Ui=ta("blank space"),Zt=/^[ \t]/,Ri=ui([" "," "],!1,!1),Zn=ta("white space"),La=/^[ \t\n\r]/,$t=ui([" "," ",` | 45 | `},ks="\\r",En=Dn("\\r",!1),no=function(){return"\r"},Fs="\\t",Cl=Dn("\\t",!1),El=function(){return" "},io="\\u",Ue=Dn("\\u",!1),Fn=function(ee,we,je,Be){return String.fromCharCode(parseInt(`0x${ee}${we}${je}${Be}`))},Fi=/^[0-9a-fA-F]/,Rn=ui([["0","9"],["a","f"],["A","F"]],!1,!1),Ui=ra("blank space"),Zt=/^[ \t]/,Ri=ui([" "," "],!1,!1),$n=ra("white space"),Ma=/^[ \t\n\r]/,$t=ui([" "," ",` |
46 | `,"\r"],!1,!1),Ac=`\r | 46 | `,"\r"],!1,!1),hc=`\r |
47 | `,gu=Dn(`\r | 47 | `,du=Dn(`\r |
48 | `,!1),fc=` | 48 | `,!1),gc=` |
49 | `,yl=Dn(` | 49 | `,Il=Dn(` |
50 | `,!1),DA="\r",du=Dn("\r",!1),Ce=0,Rt=0,pc=[{line:1,column:1}],_i=0,mu=[],qt=0,El;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function SA(){return t.substring(Rt,Ce)}function lp(){return Lo(Rt,Ce)}function hc(ee,we){throw we=we!==void 0?we:Lo(Rt,Ce),Cl([ta(ee)],t.substring(Rt,Ce),we)}function PA(ee,we){throw we=we!==void 0?we:Lo(Rt,Ce),so(ee,we)}function Dn(ee,we){return{type:"literal",text:ee,ignoreCase:we}}function ui(ee,we,qe){return{type:"class",parts:ee,inverted:we,ignoreCase:qe}}function gc(){return{type:"any"}}function xA(){return{type:"end"}}function ta(ee){return{type:"other",description:ee}}function Hi(ee){var we=pc[ee],qe;if(we)return we;for(qe=ee-1;!pc[qe];)qe--;for(we=pc[qe],we={line:we.line,column:we.column};qe<ee;)t.charCodeAt(qe)===10?(we.line++,we.column=1):we.column++,qe++;return pc[ee]=we,we}function Lo(ee,we){var qe=Hi(ee),Be=Hi(we);return{start:{offset:ee,line:qe.line,column:qe.column},end:{offset:we,line:Be.line,column:Be.column}}}function $e(ee){Ce<_i||(Ce>_i&&(_i=Ce,mu=[]),mu.push(ee))}function so(ee,we){return new Kg(ee,null,null,we)}function Cl(ee,we,qe){return new Kg(Kg.buildMessage(ee,we),ee,we,qe)}function yu(){var ee;return ee=bA(),ee}function qi(){var ee,we,qe;for(ee=Ce,we=[],qe=Eu();qe!==r;)we.push(qe),qe=Eu();return we!==r&&(Rt=ee,we=n(we)),ee=we,ee}function Eu(){var ee,we,qe,Be,xe;return ee=Ce,we=ds(),we!==r?(t.charCodeAt(Ce)===45?(qe=u,Ce++):(qe=r,qt===0&&$e(A)),qe!==r?(Be=qn(),Be!==r?(xe=dc(),xe!==r?(Rt=ee,we=p(xe),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee}function bA(){var ee,we,qe;for(ee=Ce,we=[],qe=Oa();qe!==r;)we.push(qe),qe=Oa();return we!==r&&(Rt=ee,we=h(we)),ee=we,ee}function Oa(){var ee,we,qe,Be,xe,Je,vt,tr,Zr;if(ee=Ce,we=qn(),we===r&&(we=null),we!==r){if(qe=Ce,t.charCodeAt(Ce)===35?(Be=C,Ce++):(Be=r,qt===0&&$e(w)),Be!==r){if(xe=[],Je=Ce,vt=Ce,qt++,tr=mi(),qt--,tr===r?vt=void 0:(Ce=vt,vt=r),vt!==r?(t.length>Ce?(tr=t.charAt(Ce),Ce++):(tr=r,qt===0&&$e(v)),tr!==r?(vt=[vt,tr],Je=vt):(Ce=Je,Je=r)):(Ce=Je,Je=r),Je!==r)for(;Je!==r;)xe.push(Je),Je=Ce,vt=Ce,qt++,tr=mi(),qt--,tr===r?vt=void 0:(Ce=vt,vt=r),vt!==r?(t.length>Ce?(tr=t.charAt(Ce),Ce++):(tr=r,qt===0&&$e(v)),tr!==r?(vt=[vt,tr],Je=vt):(Ce=Je,Je=r)):(Ce=Je,Je=r);else xe=r;xe!==r?(Be=[Be,xe],qe=Be):(Ce=qe,qe=r)}else Ce=qe,qe=r;if(qe===r&&(qe=null),qe!==r){if(Be=[],xe=es(),xe!==r)for(;xe!==r;)Be.push(xe),xe=es();else Be=r;Be!==r?(Rt=ee,we=b(),ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r}else Ce=ee,ee=r;if(ee===r&&(ee=Ce,we=ds(),we!==r?(qe=ra(),qe!==r?(Be=qn(),Be===r&&(Be=null),Be!==r?(t.charCodeAt(Ce)===58?(xe=E,Ce++):(xe=r,qt===0&&$e(R)),xe!==r?(Je=qn(),Je===r&&(Je=null),Je!==r?(vt=dc(),vt!==r?(Rt=ee,we=L(qe,vt),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee===r&&(ee=Ce,we=ds(),we!==r?(qe=oo(),qe!==r?(Be=qn(),Be===r&&(Be=null),Be!==r?(t.charCodeAt(Ce)===58?(xe=E,Ce++):(xe=r,qt===0&&$e(R)),xe!==r?(Je=qn(),Je===r&&(Je=null),Je!==r?(vt=dc(),vt!==r?(Rt=ee,we=L(qe,vt),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee===r))){if(ee=Ce,we=ds(),we!==r)if(qe=oo(),qe!==r)if(Be=qn(),Be!==r)if(xe=na(),xe!==r){if(Je=[],vt=es(),vt!==r)for(;vt!==r;)Je.push(vt),vt=es();else Je=r;Je!==r?(Rt=ee,we=L(qe,xe),ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r;else Ce=ee,ee=r;else Ce=ee,ee=r;else Ce=ee,ee=r;if(ee===r)if(ee=Ce,we=ds(),we!==r)if(qe=oo(),qe!==r){if(Be=[],xe=Ce,Je=qn(),Je===r&&(Je=null),Je!==r?(t.charCodeAt(Ce)===44?(vt=_,Ce++):(vt=r,qt===0&&$e(J)),vt!==r?(tr=qn(),tr===r&&(tr=null),tr!==r?(Zr=oo(),Zr!==r?(Rt=xe,Je=re(qe,Zr),xe=Je):(Ce=xe,xe=r)):(Ce=xe,xe=r)):(Ce=xe,xe=r)):(Ce=xe,xe=r),xe!==r)for(;xe!==r;)Be.push(xe),xe=Ce,Je=qn(),Je===r&&(Je=null),Je!==r?(t.charCodeAt(Ce)===44?(vt=_,Ce++):(vt=r,qt===0&&$e(J)),vt!==r?(tr=qn(),tr===r&&(tr=null),tr!==r?(Zr=oo(),Zr!==r?(Rt=xe,Je=re(qe,Zr),xe=Je):(Ce=xe,xe=r)):(Ce=xe,xe=r)):(Ce=xe,xe=r)):(Ce=xe,xe=r);else Be=r;Be!==r?(xe=qn(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(Ce)===58?(Je=E,Ce++):(Je=r,qt===0&&$e(R)),Je!==r?(vt=qn(),vt===r&&(vt=null),vt!==r?(tr=dc(),tr!==r?(Rt=ee,we=oe(qe,Be,tr),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)}else Ce=ee,ee=r;else Ce=ee,ee=r}return ee}function dc(){var ee,we,qe,Be,xe,Je,vt;if(ee=Ce,we=Ce,qt++,qe=Ce,Be=mi(),Be!==r?(xe=Ot(),xe!==r?(t.charCodeAt(Ce)===45?(Je=u,Ce++):(Je=r,qt===0&&$e(A)),Je!==r?(vt=qn(),vt!==r?(Be=[Be,xe,Je,vt],qe=Be):(Ce=qe,qe=r)):(Ce=qe,qe=r)):(Ce=qe,qe=r)):(Ce=qe,qe=r),qt--,qe!==r?(Ce=we,we=void 0):we=r,we!==r?(qe=es(),qe!==r?(Be=Sn(),Be!==r?(xe=qi(),xe!==r?(Je=di(),Je!==r?(Rt=ee,we=pe(xe),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee===r&&(ee=Ce,we=mi(),we!==r?(qe=Sn(),qe!==r?(Be=bA(),Be!==r?(xe=di(),xe!==r?(Rt=ee,we=pe(Be),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee===r))if(ee=Ce,we=Rs(),we!==r){if(qe=[],Be=es(),Be!==r)for(;Be!==r;)qe.push(Be),Be=es();else qe=r;qe!==r?(Rt=ee,we=he(we),ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r;return ee}function ds(){var ee,we,qe;for(qt++,ee=Ce,we=[],t.charCodeAt(Ce)===32?(qe=ge,Ce++):(qe=r,qt===0&&$e(le));qe!==r;)we.push(qe),t.charCodeAt(Ce)===32?(qe=ge,Ce++):(qe=r,qt===0&&$e(le));return we!==r?(Rt=Ce,qe=Pe(we),qe?qe=void 0:qe=r,qe!==r?(we=[we,qe],ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r),qt--,ee===r&&(we=r,qt===0&&$e(ve)),ee}function Ot(){var ee,we,qe;for(ee=Ce,we=[],t.charCodeAt(Ce)===32?(qe=ge,Ce++):(qe=r,qt===0&&$e(le));qe!==r;)we.push(qe),t.charCodeAt(Ce)===32?(qe=ge,Ce++):(qe=r,qt===0&&$e(le));return we!==r?(Rt=Ce,qe=g(we),qe?qe=void 0:qe=r,qe!==r?(we=[we,qe],ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee}function Sn(){var ee;return Rt=Ce,ee=De(),ee?ee=void 0:ee=r,ee}function di(){var ee;return Rt=Ce,ee=Ee(),ee?ee=void 0:ee=r,ee}function ra(){var ee;return ee=Ns(),ee===r&&(ee=ia()),ee}function oo(){var ee,we,qe;if(ee=Ns(),ee===r){if(ee=Ce,we=[],qe=Oo(),qe!==r)for(;qe!==r;)we.push(qe),qe=Oo();else we=r;we!==r&&(Rt=ee,we=de()),ee=we}return ee}function Rs(){var ee;return ee=Zi(),ee===r&&(ee=Ts(),ee===r&&(ee=Ns(),ee===r&&(ee=ia()))),ee}function na(){var ee;return ee=Zi(),ee===r&&(ee=Ns(),ee===r&&(ee=Oo())),ee}function ia(){var ee,we,qe,Be,xe,Je;if(qt++,ee=Ce,Z.test(t.charAt(Ce))?(we=t.charAt(Ce),Ce++):(we=r,qt===0&&$e(me)),we!==r){for(qe=[],Be=Ce,xe=qn(),xe===r&&(xe=null),xe!==r?(be.test(t.charAt(Ce))?(Je=t.charAt(Ce),Ce++):(Je=r,qt===0&&$e(ut)),Je!==r?(xe=[xe,Je],Be=xe):(Ce=Be,Be=r)):(Ce=Be,Be=r);Be!==r;)qe.push(Be),Be=Ce,xe=qn(),xe===r&&(xe=null),xe!==r?(be.test(t.charAt(Ce))?(Je=t.charAt(Ce),Ce++):(Je=r,qt===0&&$e(ut)),Je!==r?(xe=[xe,Je],Be=xe):(Ce=Be,Be=r)):(Ce=Be,Be=r);qe!==r?(Rt=ee,we=H(),ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r;return qt--,ee===r&&(we=r,qt===0&&$e(ne)),ee}function Oo(){var ee,we,qe,Be,xe;if(ee=Ce,t.substr(Ce,2)===yt?(we=yt,Ce+=2):(we=r,qt===0&&$e(Me)),we===r&&(we=null),we!==r)if(Te.test(t.charAt(Ce))?(qe=t.charAt(Ce),Ce++):(qe=r,qt===0&&$e(Qe)),qe!==r){for(Be=[],Ue.test(t.charAt(Ce))?(xe=t.charAt(Ce),Ce++):(xe=r,qt===0&&$e(je));xe!==r;)Be.push(xe),Ue.test(t.charAt(Ce))?(xe=t.charAt(Ce),Ce++):(xe=r,qt===0&&$e(je));Be!==r?(Rt=ee,we=H(),ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r;else Ce=ee,ee=r;return ee}function Zi(){var ee,we;return ee=Ce,t.substr(Ce,4)===At?(we=At,Ce+=4):(we=r,qt===0&&$e(Le)),we!==r&&(Rt=ee,we=x()),ee=we,ee}function Ts(){var ee,we;return ee=Ce,t.substr(Ce,4)===I?(we=I,Ce+=4):(we=r,qt===0&&$e(P)),we!==r&&(Rt=ee,we=y()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,5)===F?(we=F,Ce+=5):(we=r,qt===0&&$e(z)),we!==r&&(Rt=ee,we=X()),ee=we),ee}function Ns(){var ee,we,qe,Be;return qt++,ee=Ce,t.charCodeAt(Ce)===34?(we=ie,Ce++):(we=r,qt===0&&$e(ke)),we!==r?(t.charCodeAt(Ce)===34?(qe=ie,Ce++):(qe=r,qt===0&&$e(ke)),qe!==r?(Rt=ee,we=Ne(),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r),ee===r&&(ee=Ce,t.charCodeAt(Ce)===34?(we=ie,Ce++):(we=r,qt===0&&$e(ke)),we!==r?(qe=Ls(),qe!==r?(t.charCodeAt(Ce)===34?(Be=ie,Ce++):(Be=r,qt===0&&$e(ke)),Be!==r?(Rt=ee,we=st(qe),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)),qt--,ee===r&&(we=r,qt===0&&$e($)),ee}function Ls(){var ee,we,qe;if(ee=Ce,we=[],qe=ao(),qe!==r)for(;qe!==r;)we.push(qe),qe=ao();else we=r;return we!==r&&(Rt=ee,we=ht(we)),ee=we,ee}function ao(){var ee,we,qe,Be,xe,Je;return Ut.test(t.charAt(Ce))?(ee=t.charAt(Ce),Ce++):(ee=r,qt===0&&$e(Xt)),ee===r&&(ee=Ce,t.substr(Ce,2)===Pt?(we=Pt,Ce+=2):(we=r,qt===0&&$e(tn)),we!==r&&(Rt=ee,we=Dr()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===fr?(we=fr,Ce+=2):(we=r,qt===0&&$e(Br)),we!==r&&(Rt=ee,we=jr()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===Hn?(we=Hn,Ce+=2):(we=r,qt===0&&$e(bs)),we!==r&&(Rt=ee,we=ki()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===gs?(we=gs,Ce+=2):(we=r,qt===0&&$e(to)),we!==r&&(Rt=ee,we=Di()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===Qs?(we=Qs,Ce+=2):(we=r,qt===0&&$e(ro)),we!==r&&(Rt=ee,we=uc()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===hu?(we=hu,Ce+=2):(we=r,qt===0&&$e(op)),we!==r&&(Rt=ee,we=ap()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===ks?(we=ks,Ce+=2):(we=r,qt===0&&$e(Cn)),we!==r&&(Rt=ee,we=no()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===Fs?(we=Fs,Ce+=2):(we=r,qt===0&&$e(dl)),we!==r&&(Rt=ee,we=ml()),ee=we,ee===r&&(ee=Ce,t.substr(Ce,2)===io?(we=io,Ce+=2):(we=r,qt===0&&$e(_e)),we!==r?(qe=Wn(),qe!==r?(Be=Wn(),Be!==r?(xe=Wn(),xe!==r?(Je=Wn(),Je!==r?(Rt=ee,we=Fn(qe,Be,xe,Je),ee=we):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)):(Ce=ee,ee=r)))))))))),ee}function Wn(){var ee;return Fi.test(t.charAt(Ce))?(ee=t.charAt(Ce),Ce++):(ee=r,qt===0&&$e(Rn)),ee}function qn(){var ee,we;if(qt++,ee=[],Zt.test(t.charAt(Ce))?(we=t.charAt(Ce),Ce++):(we=r,qt===0&&$e(Ri)),we!==r)for(;we!==r;)ee.push(we),Zt.test(t.charAt(Ce))?(we=t.charAt(Ce),Ce++):(we=r,qt===0&&$e(Ri));else ee=r;return qt--,ee===r&&(we=r,qt===0&&$e(Ui)),ee}function $i(){var ee,we;if(qt++,ee=[],La.test(t.charAt(Ce))?(we=t.charAt(Ce),Ce++):(we=r,qt===0&&$e($t)),we!==r)for(;we!==r;)ee.push(we),La.test(t.charAt(Ce))?(we=t.charAt(Ce),Ce++):(we=r,qt===0&&$e($t));else ee=r;return qt--,ee===r&&(we=r,qt===0&&$e(Zn)),ee}function es(){var ee,we,qe,Be,xe,Je;if(ee=Ce,we=mi(),we!==r){for(qe=[],Be=Ce,xe=qn(),xe===r&&(xe=null),xe!==r?(Je=mi(),Je!==r?(xe=[xe,Je],Be=xe):(Ce=Be,Be=r)):(Ce=Be,Be=r);Be!==r;)qe.push(Be),Be=Ce,xe=qn(),xe===r&&(xe=null),xe!==r?(Je=mi(),Je!==r?(xe=[xe,Je],Be=xe):(Ce=Be,Be=r)):(Ce=Be,Be=r);qe!==r?(we=[we,qe],ee=we):(Ce=ee,ee=r)}else Ce=ee,ee=r;return ee}function mi(){var ee;return t.substr(Ce,2)===Ac?(ee=Ac,Ce+=2):(ee=r,qt===0&&$e(gu)),ee===r&&(t.charCodeAt(Ce)===10?(ee=fc,Ce++):(ee=r,qt===0&&$e(yl)),ee===r&&(t.charCodeAt(Ce)===13?(ee=DA,Ce++):(ee=r,qt===0&&$e(du)))),ee}let Ma=2,sa=0;if(El=a(),El!==r&&Ce===t.length)return El;throw El!==r&&Ce<t.length&&$e(xA()),Cl(mu,_i<t.length?t.charAt(_i):null,_i<t.length?Lo(_i,_i+1):Lo(_i,_i))}zK.exports={SyntaxError:Kg,parse:tqe}});function $K(t){return t.match(rqe)?t:JSON.stringify(t)}function tJ(t){return typeof t>"u"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>tJ(t[e])):!1}function BT(t,e,r){if(t===null)return`null | 50 | `,!1),PA="\r",mu=Dn("\r",!1),Ee=0,Rt=0,dc=[{line:1,column:1}],_i=0,yu=[],qt=0,wl;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function xA(){return t.substring(Rt,Ee)}function cp(){return Oo(Rt,Ee)}function mc(ee,we){throw we=we!==void 0?we:Oo(Rt,Ee),Bl([ra(ee)],t.substring(Rt,Ee),we)}function bA(ee,we){throw we=we!==void 0?we:Oo(Rt,Ee),so(ee,we)}function Dn(ee,we){return{type:"literal",text:ee,ignoreCase:we}}function ui(ee,we,je){return{type:"class",parts:ee,inverted:we,ignoreCase:je}}function yc(){return{type:"any"}}function QA(){return{type:"end"}}function ra(ee){return{type:"other",description:ee}}function Hi(ee){var we=dc[ee],je;if(we)return we;for(je=ee-1;!dc[je];)je--;for(we=dc[je],we={line:we.line,column:we.column};je<ee;)t.charCodeAt(je)===10?(we.line++,we.column=1):we.column++,je++;return dc[ee]=we,we}function Oo(ee,we){var je=Hi(ee),Be=Hi(we);return{start:{offset:ee,line:je.line,column:je.column},end:{offset:we,line:Be.line,column:Be.column}}}function $e(ee){Ee<_i||(Ee>_i&&(_i=Ee,yu=[]),yu.push(ee))}function so(ee,we){return new zg(ee,null,null,we)}function Bl(ee,we,je){return new zg(zg.buildMessage(ee,we),ee,we,je)}function Cu(){var ee;return ee=kA(),ee}function qi(){var ee,we,je;for(ee=Ee,we=[],je=Eu();je!==r;)we.push(je),je=Eu();return we!==r&&(Rt=ee,we=n(we)),ee=we,ee}function Eu(){var ee,we,je,Be,xe;return ee=Ee,we=ds(),we!==r?(t.charCodeAt(Ee)===45?(je=u,Ee++):(je=r,qt===0&&$e(A)),je!==r?(Be=qn(),Be!==r?(xe=Cc(),xe!==r?(Rt=ee,we=p(xe),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee}function kA(){var ee,we,je;for(ee=Ee,we=[],je=Ua();je!==r;)we.push(je),je=Ua();return we!==r&&(Rt=ee,we=h(we)),ee=we,ee}function Ua(){var ee,we,je,Be,xe,Ve,vt,tr,Zr;if(ee=Ee,we=qn(),we===r&&(we=null),we!==r){if(je=Ee,t.charCodeAt(Ee)===35?(Be=E,Ee++):(Be=r,qt===0&&$e(w)),Be!==r){if(xe=[],Ve=Ee,vt=Ee,qt++,tr=mi(),qt--,tr===r?vt=void 0:(Ee=vt,vt=r),vt!==r?(t.length>Ee?(tr=t.charAt(Ee),Ee++):(tr=r,qt===0&&$e(v)),tr!==r?(vt=[vt,tr],Ve=vt):(Ee=Ve,Ve=r)):(Ee=Ve,Ve=r),Ve!==r)for(;Ve!==r;)xe.push(Ve),Ve=Ee,vt=Ee,qt++,tr=mi(),qt--,tr===r?vt=void 0:(Ee=vt,vt=r),vt!==r?(t.length>Ee?(tr=t.charAt(Ee),Ee++):(tr=r,qt===0&&$e(v)),tr!==r?(vt=[vt,tr],Ve=vt):(Ee=Ve,Ve=r)):(Ee=Ve,Ve=r);else xe=r;xe!==r?(Be=[Be,xe],je=Be):(Ee=je,je=r)}else Ee=je,je=r;if(je===r&&(je=null),je!==r){if(Be=[],xe=es(),xe!==r)for(;xe!==r;)Be.push(xe),xe=es();else Be=r;Be!==r?(Rt=ee,we=b(),ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r}else Ee=ee,ee=r;if(ee===r&&(ee=Ee,we=ds(),we!==r?(je=na(),je!==r?(Be=qn(),Be===r&&(Be=null),Be!==r?(t.charCodeAt(Ee)===58?(xe=C,Ee++):(xe=r,qt===0&&$e(R)),xe!==r?(Ve=qn(),Ve===r&&(Ve=null),Ve!==r?(vt=Cc(),vt!==r?(Rt=ee,we=L(je,vt),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee===r&&(ee=Ee,we=ds(),we!==r?(je=oo(),je!==r?(Be=qn(),Be===r&&(Be=null),Be!==r?(t.charCodeAt(Ee)===58?(xe=C,Ee++):(xe=r,qt===0&&$e(R)),xe!==r?(Ve=qn(),Ve===r&&(Ve=null),Ve!==r?(vt=Cc(),vt!==r?(Rt=ee,we=L(je,vt),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee===r))){if(ee=Ee,we=ds(),we!==r)if(je=oo(),je!==r)if(Be=qn(),Be!==r)if(xe=ia(),xe!==r){if(Ve=[],vt=es(),vt!==r)for(;vt!==r;)Ve.push(vt),vt=es();else Ve=r;Ve!==r?(Rt=ee,we=L(je,xe),ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r;else Ee=ee,ee=r;else Ee=ee,ee=r;else Ee=ee,ee=r;if(ee===r)if(ee=Ee,we=ds(),we!==r)if(je=oo(),je!==r){if(Be=[],xe=Ee,Ve=qn(),Ve===r&&(Ve=null),Ve!==r?(t.charCodeAt(Ee)===44?(vt=_,Ee++):(vt=r,qt===0&&$e(V)),vt!==r?(tr=qn(),tr===r&&(tr=null),tr!==r?(Zr=oo(),Zr!==r?(Rt=xe,Ve=re(je,Zr),xe=Ve):(Ee=xe,xe=r)):(Ee=xe,xe=r)):(Ee=xe,xe=r)):(Ee=xe,xe=r),xe!==r)for(;xe!==r;)Be.push(xe),xe=Ee,Ve=qn(),Ve===r&&(Ve=null),Ve!==r?(t.charCodeAt(Ee)===44?(vt=_,Ee++):(vt=r,qt===0&&$e(V)),vt!==r?(tr=qn(),tr===r&&(tr=null),tr!==r?(Zr=oo(),Zr!==r?(Rt=xe,Ve=re(je,Zr),xe=Ve):(Ee=xe,xe=r)):(Ee=xe,xe=r)):(Ee=xe,xe=r)):(Ee=xe,xe=r);else Be=r;Be!==r?(xe=qn(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(Ee)===58?(Ve=C,Ee++):(Ve=r,qt===0&&$e(R)),Ve!==r?(vt=qn(),vt===r&&(vt=null),vt!==r?(tr=Cc(),tr!==r?(Rt=ee,we=oe(je,Be,tr),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)}else Ee=ee,ee=r;else Ee=ee,ee=r}return ee}function Cc(){var ee,we,je,Be,xe,Ve,vt;if(ee=Ee,we=Ee,qt++,je=Ee,Be=mi(),Be!==r?(xe=Ot(),xe!==r?(t.charCodeAt(Ee)===45?(Ve=u,Ee++):(Ve=r,qt===0&&$e(A)),Ve!==r?(vt=qn(),vt!==r?(Be=[Be,xe,Ve,vt],je=Be):(Ee=je,je=r)):(Ee=je,je=r)):(Ee=je,je=r)):(Ee=je,je=r),qt--,je!==r?(Ee=we,we=void 0):we=r,we!==r?(je=es(),je!==r?(Be=Sn(),Be!==r?(xe=qi(),xe!==r?(Ve=di(),Ve!==r?(Rt=ee,we=pe(xe),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee===r&&(ee=Ee,we=mi(),we!==r?(je=Sn(),je!==r?(Be=kA(),Be!==r?(xe=di(),xe!==r?(Rt=ee,we=pe(Be),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee===r))if(ee=Ee,we=Rs(),we!==r){if(je=[],Be=es(),Be!==r)for(;Be!==r;)je.push(Be),Be=es();else je=r;je!==r?(Rt=ee,we=he(we),ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r;return ee}function ds(){var ee,we,je;for(qt++,ee=Ee,we=[],t.charCodeAt(Ee)===32?(je=ge,Ee++):(je=r,qt===0&&$e(le));je!==r;)we.push(je),t.charCodeAt(Ee)===32?(je=ge,Ee++):(je=r,qt===0&&$e(le));return we!==r?(Rt=Ee,je=Pe(we),je?je=void 0:je=r,je!==r?(we=[we,je],ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r),qt--,ee===r&&(we=r,qt===0&&$e(ve)),ee}function Ot(){var ee,we,je;for(ee=Ee,we=[],t.charCodeAt(Ee)===32?(je=ge,Ee++):(je=r,qt===0&&$e(le));je!==r;)we.push(je),t.charCodeAt(Ee)===32?(je=ge,Ee++):(je=r,qt===0&&$e(le));return we!==r?(Rt=Ee,je=g(we),je?je=void 0:je=r,je!==r?(we=[we,je],ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee}function Sn(){var ee;return Rt=Ee,ee=De(),ee?ee=void 0:ee=r,ee}function di(){var ee;return Rt=Ee,ee=Ce(),ee?ee=void 0:ee=r,ee}function na(){var ee;return ee=Ns(),ee===r&&(ee=sa()),ee}function oo(){var ee,we,je;if(ee=Ns(),ee===r){if(ee=Ee,we=[],je=Mo(),je!==r)for(;je!==r;)we.push(je),je=Mo();else we=r;we!==r&&(Rt=ee,we=de()),ee=we}return ee}function Rs(){var ee;return ee=Zi(),ee===r&&(ee=Ts(),ee===r&&(ee=Ns(),ee===r&&(ee=sa()))),ee}function ia(){var ee;return ee=Zi(),ee===r&&(ee=Ns(),ee===r&&(ee=Mo())),ee}function sa(){var ee,we,je,Be,xe,Ve;if(qt++,ee=Ee,Z.test(t.charAt(Ee))?(we=t.charAt(Ee),Ee++):(we=r,qt===0&&$e(me)),we!==r){for(je=[],Be=Ee,xe=qn(),xe===r&&(xe=null),xe!==r?(be.test(t.charAt(Ee))?(Ve=t.charAt(Ee),Ee++):(Ve=r,qt===0&&$e(ut)),Ve!==r?(xe=[xe,Ve],Be=xe):(Ee=Be,Be=r)):(Ee=Be,Be=r);Be!==r;)je.push(Be),Be=Ee,xe=qn(),xe===r&&(xe=null),xe!==r?(be.test(t.charAt(Ee))?(Ve=t.charAt(Ee),Ee++):(Ve=r,qt===0&&$e(ut)),Ve!==r?(xe=[xe,Ve],Be=xe):(Ee=Be,Be=r)):(Ee=Be,Be=r);je!==r?(Rt=ee,we=H(),ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r;return qt--,ee===r&&(we=r,qt===0&&$e(ne)),ee}function Mo(){var ee,we,je,Be,xe;if(ee=Ee,t.substr(Ee,2)===yt?(we=yt,Ee+=2):(we=r,qt===0&&$e(Me)),we===r&&(we=null),we!==r)if(Te.test(t.charAt(Ee))?(je=t.charAt(Ee),Ee++):(je=r,qt===0&&$e(Qe)),je!==r){for(Be=[],_e.test(t.charAt(Ee))?(xe=t.charAt(Ee),Ee++):(xe=r,qt===0&&$e(qe));xe!==r;)Be.push(xe),_e.test(t.charAt(Ee))?(xe=t.charAt(Ee),Ee++):(xe=r,qt===0&&$e(qe));Be!==r?(Rt=ee,we=H(),ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r;else Ee=ee,ee=r;return ee}function Zi(){var ee,we;return ee=Ee,t.substr(Ee,4)===At?(we=At,Ee+=4):(we=r,qt===0&&$e(Oe)),we!==r&&(Rt=ee,we=x()),ee=we,ee}function Ts(){var ee,we;return ee=Ee,t.substr(Ee,4)===I?(we=I,Ee+=4):(we=r,qt===0&&$e(P)),we!==r&&(Rt=ee,we=y()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,5)===F?(we=F,Ee+=5):(we=r,qt===0&&$e(J)),we!==r&&(Rt=ee,we=X()),ee=we),ee}function Ns(){var ee,we,je,Be;return qt++,ee=Ee,t.charCodeAt(Ee)===34?(we=ie,Ee++):(we=r,qt===0&&$e(ke)),we!==r?(t.charCodeAt(Ee)===34?(je=ie,Ee++):(je=r,qt===0&&$e(ke)),je!==r?(Rt=ee,we=Ne(),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r),ee===r&&(ee=Ee,t.charCodeAt(Ee)===34?(we=ie,Ee++):(we=r,qt===0&&$e(ke)),we!==r?(je=Ls(),je!==r?(t.charCodeAt(Ee)===34?(Be=ie,Ee++):(Be=r,qt===0&&$e(ke)),Be!==r?(Rt=ee,we=st(je),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)),qt--,ee===r&&(we=r,qt===0&&$e($)),ee}function Ls(){var ee,we,je;if(ee=Ee,we=[],je=ao(),je!==r)for(;je!==r;)we.push(je),je=ao();else we=r;return we!==r&&(Rt=ee,we=ht(we)),ee=we,ee}function ao(){var ee,we,je,Be,xe,Ve;return Ut.test(t.charAt(Ee))?(ee=t.charAt(Ee),Ee++):(ee=r,qt===0&&$e(Xt)),ee===r&&(ee=Ee,t.substr(Ee,2)===Pt?(we=Pt,Ee+=2):(we=r,qt===0&&$e(tn)),we!==r&&(Rt=ee,we=Dr()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===fr?(we=fr,Ee+=2):(we=r,qt===0&&$e(Br)),we!==r&&(Rt=ee,we=jr()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===Hn?(we=Hn,Ee+=2):(we=r,qt===0&&$e(bs)),we!==r&&(Rt=ee,we=ki()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===gs?(we=gs,Ee+=2):(we=r,qt===0&&$e(to)),we!==r&&(Rt=ee,we=Di()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===Qs?(we=Qs,Ee+=2):(we=r,qt===0&&$e(ro)),we!==r&&(Rt=ee,we=pc()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===gu?(we=gu,Ee+=2):(we=r,qt===0&&$e(ap)),we!==r&&(Rt=ee,we=lp()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===ks?(we=ks,Ee+=2):(we=r,qt===0&&$e(En)),we!==r&&(Rt=ee,we=no()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===Fs?(we=Fs,Ee+=2):(we=r,qt===0&&$e(Cl)),we!==r&&(Rt=ee,we=El()),ee=we,ee===r&&(ee=Ee,t.substr(Ee,2)===io?(we=io,Ee+=2):(we=r,qt===0&&$e(Ue)),we!==r?(je=Yn(),je!==r?(Be=Yn(),Be!==r?(xe=Yn(),xe!==r?(Ve=Yn(),Ve!==r?(Rt=ee,we=Fn(je,Be,xe,Ve),ee=we):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)):(Ee=ee,ee=r)))))))))),ee}function Yn(){var ee;return Fi.test(t.charAt(Ee))?(ee=t.charAt(Ee),Ee++):(ee=r,qt===0&&$e(Rn)),ee}function qn(){var ee,we;if(qt++,ee=[],Zt.test(t.charAt(Ee))?(we=t.charAt(Ee),Ee++):(we=r,qt===0&&$e(Ri)),we!==r)for(;we!==r;)ee.push(we),Zt.test(t.charAt(Ee))?(we=t.charAt(Ee),Ee++):(we=r,qt===0&&$e(Ri));else ee=r;return qt--,ee===r&&(we=r,qt===0&&$e(Ui)),ee}function $i(){var ee,we;if(qt++,ee=[],Ma.test(t.charAt(Ee))?(we=t.charAt(Ee),Ee++):(we=r,qt===0&&$e($t)),we!==r)for(;we!==r;)ee.push(we),Ma.test(t.charAt(Ee))?(we=t.charAt(Ee),Ee++):(we=r,qt===0&&$e($t));else ee=r;return qt--,ee===r&&(we=r,qt===0&&$e($n)),ee}function es(){var ee,we,je,Be,xe,Ve;if(ee=Ee,we=mi(),we!==r){for(je=[],Be=Ee,xe=qn(),xe===r&&(xe=null),xe!==r?(Ve=mi(),Ve!==r?(xe=[xe,Ve],Be=xe):(Ee=Be,Be=r)):(Ee=Be,Be=r);Be!==r;)je.push(Be),Be=Ee,xe=qn(),xe===r&&(xe=null),xe!==r?(Ve=mi(),Ve!==r?(xe=[xe,Ve],Be=xe):(Ee=Be,Be=r)):(Ee=Be,Be=r);je!==r?(we=[we,je],ee=we):(Ee=ee,ee=r)}else Ee=ee,ee=r;return ee}function mi(){var ee;return t.substr(Ee,2)===hc?(ee=hc,Ee+=2):(ee=r,qt===0&&$e(du)),ee===r&&(t.charCodeAt(Ee)===10?(ee=gc,Ee++):(ee=r,qt===0&&$e(Il)),ee===r&&(t.charCodeAt(Ee)===13?(ee=PA,Ee++):(ee=r,qt===0&&$e(mu)))),ee}let Ha=2,oa=0;if(wl=a(),wl!==r&&Ee===t.length)return wl;throw wl!==r&&Ee<t.length&&$e(QA()),Bl(yu,_i<t.length?t.charAt(_i):null,_i<t.length?Oo(_i,_i+1):Oo(_i,_i))}rV.exports={SyntaxError:zg,parse:fqe}});function sV(t){return t.match(pqe)?t:JSON.stringify(t)}function aV(t){return typeof t>"u"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>aV(t[e])):!1}function vT(t,e,r){if(t===null)return`null |
51 | `;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} | 51 | `;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} |
52 | `;if(typeof t=="string")return`${$K(t)} | 52 | `;if(typeof t=="string")return`${sV(t)} |
53 | `;if(Array.isArray(t)){if(t.length===0)return`[] | 53 | `;if(Array.isArray(t)){if(t.length===0)return`[] |
54 | `;let o=" ".repeat(e);return` | 54 | `;let o=" ".repeat(e);return` |
55 | ${t.map(n=>`${o}- ${BT(n,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let[o,a]=t instanceof RD?[t.data,!1]:[t,!0],n=" ".repeat(e),u=Object.keys(o);a&&u.sort((p,h)=>{let C=ZK.indexOf(p),w=ZK.indexOf(h);return C===-1&&w===-1?p<h?-1:p>h?1:0:C!==-1&&w===-1?-1:C===-1&&w!==-1?1:C-w});let A=u.filter(p=>!tJ(o[p])).map((p,h)=>{let C=o[p],w=$K(p),v=BT(C,e+1,!0),b=h>0||r?n:"",E=w.length>1024?`? ${w} | 55 | ${t.map(n=>`${o}- ${vT(n,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let[o,a]=t instanceof _D?[t.data,!1]:[t,!0],n=" ".repeat(e),u=Object.keys(o);a&&u.sort((p,h)=>{let E=iV.indexOf(p),w=iV.indexOf(h);return E===-1&&w===-1?p<h?-1:p>h?1:0:E!==-1&&w===-1?-1:E===-1&&w!==-1?1:E-w});let A=u.filter(p=>!aV(o[p])).map((p,h)=>{let E=o[p],w=sV(p),v=vT(E,e+1,!0),b=h>0||r?n:"",C=w.length>1024?`? ${w} |
56 | ${b}:`:`${w}:`,R=v.startsWith(` | 56 | ${b}:`:`${w}:`,R=v.startsWith(` |
57 | `)?v:` ${v}`;return`${b}${E}${R}`}).join(e===0?` | 57 | `)?v:` ${v}`;return`${b}${C}${R}`}).join(e===0?` |
58 | `:"")||` | 58 | `:"")||` |
59 | `;return r?` | 59 | `;return r?` |
60 | ${A}`:`${A}`}throw new Error(`Unsupported value type (${t})`)}function Ia(t){try{let e=BT(t,0,!1);return e!==` | 60 | ${A}`:`${A}`}throw new Error(`Unsupported value type (${t})`)}function wa(t){try{let e=vT(t,0,!1);return e!==` |
61 | `?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function nqe(t){return t.endsWith(` | 61 | `?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function hqe(t){return t.endsWith(` |
62 | `)||(t+=` | 62 | `)||(t+=` |
63 | `),(0,eJ.parse)(t)}function sqe(t){if(iqe.test(t))return nqe(t);let e=(0,TD.safeLoad)(t,{schema:TD.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Yi(t){return sqe(t)}var TD,eJ,rqe,ZK,RD,iqe,rJ=dt(()=>{TD=tt(VK()),eJ=tt(XK()),rqe=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,ZK=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],RD=class{constructor(e){this.data=e}};Ia.PreserveOrdering=RD;iqe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var GI={};Yt(GI,{parseResolution:()=>ID,parseShell:()=>yD,parseSyml:()=>Yi,stringifyArgument:()=>cT,stringifyArgumentSegment:()=>uT,stringifyArithmeticExpression:()=>CD,stringifyCommand:()=>lT,stringifyCommandChain:()=>ly,stringifyCommandChainThen:()=>aT,stringifyCommandLine:()=>ED,stringifyCommandLineThen:()=>oT,stringifyEnvSegment:()=>mD,stringifyRedirectArgument:()=>OI,stringifyResolution:()=>wD,stringifyShell:()=>ay,stringifyShellLine:()=>ay,stringifySyml:()=>Ia,stringifyValueArgument:()=>Mg});var Ol=dt(()=>{tY();sY();rJ()});var iJ=U((Jxt,vT)=>{"use strict";var oqe=t=>{let e=!1,r=!1,o=!1;for(let a=0;a<t.length;a++){let n=t[a];e&&/[a-zA-Z]/.test(n)&&n.toUpperCase()===n?(t=t.slice(0,a)+"-"+t.slice(a),e=!1,o=r,r=!0,a++):r&&o&&/[a-zA-Z]/.test(n)&&n.toLowerCase()===n?(t=t.slice(0,a-1)+"-"+t.slice(a-1),o=r,r=!1,e=!0):(e=n.toLowerCase()===n&&n.toUpperCase()!==n,o=r,r=n.toUpperCase()===n&&n.toLowerCase()!==n)}return t},nJ=(t,e)=>{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=a=>e.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(t)?t=t.map(a=>a.trim()).filter(a=>a.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=oqe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(t))};vT.exports=nJ;vT.exports.default=nJ});var sJ=U((Vxt,aqe)=>{aqe.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Jg=U(Za=>{"use strict";var aJ=sJ(),Wu=process.env;Object.defineProperty(Za,"_vendors",{value:aJ.map(function(t){return t.constant})});Za.name=null;Za.isPR=null;aJ.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(o){return oJ(o)});if(Za[t.constant]=r,r)switch(Za.name=t.name,typeof t.pr){case"string":Za.isPR=!!Wu[t.pr];break;case"object":"env"in t.pr?Za.isPR=t.pr.env in Wu&&Wu[t.pr.env]!==t.pr.ne:"any"in t.pr?Za.isPR=t.pr.any.some(function(o){return!!Wu[o]}):Za.isPR=oJ(t.pr);break;default:Za.isPR=null}});Za.isCI=!!(Wu.CI||Wu.CONTINUOUS_INTEGRATION||Wu.BUILD_NUMBER||Wu.RUN_ID||Za.name);function oJ(t){return typeof t=="string"?!!Wu[t]:Object.keys(t).every(function(e){return Wu[e]===t[e]})}});var DT,js,ST,ND,lJ,PT,xT,bT=dt(()=>{DT="",js="\0",ST=/^(-h|--help)(?:=([0-9]+))?$/,ND=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,lJ=/^-[a-zA-Z]{2,}$/,PT=/^([^=]+)=([\s\S]*)$/,xT=process.env.DEBUG_CLI==="1"});var ot,dy,LD,QT,OD=dt(()=>{bT();ot=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},dy=class extends Error{constructor(e,r){if(super(),this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(o=>o.reason!==null&&o.reason===r[0].reason)){let[{reason:o}]=this.candidates;this.message=`${o} | 63 | `),(0,oV.parse)(t)}function dqe(t){if(gqe.test(t))return hqe(t);let e=(0,HD.safeLoad)(t,{schema:HD.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Yi(t){return dqe(t)}var HD,oV,pqe,iV,_D,gqe,lV=dt(()=>{HD=tt(tV()),oV=tt(nV()),pqe=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,iV=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],_D=class{constructor(e){this.data=e}};wa.PreserveOrdering=_D;gqe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var VI={};Yt(VI,{parseResolution:()=>xD,parseShell:()=>DD,parseSyml:()=>Yi,stringifyArgument:()=>uT,stringifyArgumentSegment:()=>AT,stringifyArithmeticExpression:()=>PD,stringifyCommand:()=>cT,stringifyCommandChain:()=>py,stringifyCommandChainThen:()=>lT,stringifyCommandLine:()=>SD,stringifyCommandLineThen:()=>aT,stringifyEnvSegment:()=>vD,stringifyRedirectArgument:()=>HI,stringifyResolution:()=>bD,stringifyShell:()=>fy,stringifyShellLine:()=>fy,stringifySyml:()=>wa,stringifyValueArgument:()=>Hg});var _l=dt(()=>{aY();AY();lV()});var uV=U((lbt,DT)=>{"use strict";var mqe=t=>{let e=!1,r=!1,o=!1;for(let a=0;a<t.length;a++){let n=t[a];e&&/[a-zA-Z]/.test(n)&&n.toUpperCase()===n?(t=t.slice(0,a)+"-"+t.slice(a),e=!1,o=r,r=!0,a++):r&&o&&/[a-zA-Z]/.test(n)&&n.toLowerCase()===n?(t=t.slice(0,a-1)+"-"+t.slice(a-1),o=r,r=!1,e=!0):(e=n.toLowerCase()===n&&n.toUpperCase()!==n,o=r,r=n.toUpperCase()===n&&n.toLowerCase()!==n)}return t},cV=(t,e)=>{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=a=>e.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(t)?t=t.map(a=>a.trim()).filter(a=>a.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=mqe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(t))};DT.exports=cV;DT.exports.default=cV});var AV=U((cbt,yqe)=>{yqe.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Xg=U(el=>{"use strict";var pV=AV(),Yu=process.env;Object.defineProperty(el,"_vendors",{value:pV.map(function(t){return t.constant})});el.name=null;el.isPR=null;pV.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(o){return fV(o)});if(el[t.constant]=r,r)switch(el.name=t.name,typeof t.pr){case"string":el.isPR=!!Yu[t.pr];break;case"object":"env"in t.pr?el.isPR=t.pr.env in Yu&&Yu[t.pr.env]!==t.pr.ne:"any"in t.pr?el.isPR=t.pr.any.some(function(o){return!!Yu[o]}):el.isPR=fV(t.pr);break;default:el.isPR=null}});el.isCI=!!(Yu.CI||Yu.CONTINUOUS_INTEGRATION||Yu.BUILD_NUMBER||Yu.RUN_ID||el.name);function fV(t){return typeof t=="string"?!!Yu[t]:Object.keys(t).every(function(e){return Yu[e]===t[e]})}});var ST,js,PT,qD,hV,xT,bT,QT=dt(()=>{ST="",js="\0",PT=/^(-h|--help)(?:=([0-9]+))?$/,qD=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,hV=/^-[a-zA-Z]{2,}$/,xT=/^([^=]+)=([\s\S]*)$/,bT=process.env.DEBUG_CLI==="1"});var ot,Iy,jD,kT,GD=dt(()=>{QT();ot=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},Iy=class extends Error{constructor(e,r){if(super(),this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(o=>o.reason!==null&&o.reason===r[0].reason)){let[{reason:o}]=this.candidates;this.message=`${o} |
64 | 64 | ||
65 | ${this.candidates.map(({usage:a})=>`$ ${a}`).join(` | 65 | ${this.candidates.map(({usage:a})=>`$ ${a}`).join(` |
66 | `)}`}else if(this.candidates.length===1){let[{usage:o}]=this.candidates;this.message=`Command not found; did you mean: | 66 | `)}`}else if(this.candidates.length===1){let[{usage:o}]=this.candidates;this.message=`Command not found; did you mean: |
67 | 67 | ||
68 | $ ${o} | 68 | $ ${o} |
69 | ${QT(e)}`}else this.message=`Command not found; did you mean one of: | 69 | ${kT(e)}`}else this.message=`Command not found; did you mean one of: |
70 | 70 | ||
71 | ${this.candidates.map(({usage:o},a)=>`${`${a}.`.padStart(4)} ${o}`).join(` | 71 | ${this.candidates.map(({usage:o},a)=>`${`${a}.`.padStart(4)} ${o}`).join(` |
72 | `)} | 72 | `)} |
73 | 73 | ||
74 | ${QT(e)}`}},LD=class extends Error{constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: | 74 | ${kT(e)}`}},jD=class extends Error{constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: |
75 | 75 | ||
76 | ${this.usages.map((o,a)=>`${`${a}.`.padStart(4)} ${o}`).join(` | 76 | ${this.usages.map((o,a)=>`${`${a}.`.padStart(4)} ${o}`).join(` |
77 | `)} | 77 | `)} |
78 | 78 | ||
79 | ${QT(e)}`}},QT=t=>`While running ${t.filter(e=>e!==js).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`});function lqe(t){let e=t.split(` | 79 | ${kT(e)}`}},kT=t=>`While running ${t.filter(e=>e!==js).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`});function Cqe(t){let e=t.split(` |
80 | `),r=e.filter(a=>a.match(/\S/)),o=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return e.map(a=>a.slice(o).trimRight()).join(` | 80 | `),r=e.filter(a=>a.match(/\S/)),o=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return e.map(a=>a.slice(o).trimRight()).join(` |
81 | `)}function Bo(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` | 81 | `)}function Bo(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` |
82 | `),t=lqe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 | 82 | `),t=Cqe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 |
83 | 83 | ||
84 | `),t=t.replace(/\n(\n)?\n*/g,(o,a)=>a||" "),r&&(t=t.split(/\n/).map(o=>{let a=o.match(/^\s*[*-][\t ]+(.*)/);if(!a)return o.match(/(.{1,80})(?: |$)/g).join(` | 84 | `),t=t.replace(/\n(\n)?\n*/g,(o,a)=>a||" "),r&&(t=t.split(/\n/).map(o=>{let a=o.match(/^\s*[*-][\t ]+(.*)/);if(!a)return o.match(/(.{1,80})(?: |$)/g).join(` |
85 | `);let n=o.length-o.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((u,A)=>" ".repeat(n)+(A===0?"- ":" ")+u).join(` | 85 | `);let n=o.length-o.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((u,A)=>" ".repeat(n)+(A===0?"- ":" ")+u).join(` |
86 | `)}).join(` | 86 | `)}).join(` |
87 | 87 | ||
88 | `)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(o,a,n)=>e.code(a+n+a)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(o,a,n)=>e.bold(a+n+a)),t?`${t} | 88 | `)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(o,a,n)=>e.code(a+n+a)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(o,a,n)=>e.bold(a+n+a)),t?`${t} |
89 | `:""}var kT,cJ,uJ,FT=dt(()=>{kT=Array(80).fill("\u2501");for(let t=0;t<=24;++t)kT[kT.length-t]=`\x1B[38;5;${232+t}m\u2501`;cJ={header:t=>`\x1B[1m\u2501\u2501\u2501 ${t}${t.length<80-5?` ${kT.slice(t.length+5).join("")}`:":"}\x1B[0m`,bold:t=>`\x1B[1m${t}\x1B[22m`,error:t=>`\x1B[31m\x1B[1m${t}\x1B[22m\x1B[39m`,code:t=>`\x1B[36m${t}\x1B[39m`},uJ={header:t=>t,bold:t=>t,error:t=>t,code:t=>t}});function jo(t){return{...t,[WI]:!0}}function Yu(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function MD(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function YI(t,e){return e.length===1?new ot(`${t}: ${MD(e[0],!0)}`):new ot(`${t}: | 89 | `:""}var FT,gV,dV,RT=dt(()=>{FT=Array(80).fill("\u2501");for(let t=0;t<=24;++t)FT[FT.length-t]=`\x1B[38;5;${232+t}m\u2501`;gV={header:t=>`\x1B[1m\u2501\u2501\u2501 ${t}${t.length<80-5?` ${FT.slice(t.length+5).join("")}`:":"}\x1B[0m`,bold:t=>`\x1B[1m${t}\x1B[22m`,error:t=>`\x1B[31m\x1B[1m${t}\x1B[22m\x1B[39m`,code:t=>`\x1B[36m${t}\x1B[39m`},dV={header:t=>t,bold:t=>t,error:t=>t,code:t=>t}});function Go(t){return{...t,[JI]:!0}}function Ku(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function WD(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function zI(t,e){return e.length===1?new ot(`${t}: ${WD(e[0],!0)}`):new ot(`${t}: |
90 | ${e.map(r=>` | 90 | ${e.map(r=>` |
91 | - ${MD(r)}`).join("")}`)}function KI(t,e,r){if(typeof r>"u")return e;let o=[],a=[],n=A=>{let p=e;return e=A,n.bind(null,p)};if(!r(e,{errors:o,coercions:a,coercion:n}))throw YI(`Invalid value for ${t}`,o);for(let[,A]of a)A();return e}var WI,yf=dt(()=>{OD();WI=Symbol("clipanion/isOption")});var Go={};Yt(Go,{KeyRelationship:()=>Vg,applyCascade:()=>Xg,base64RegExp:()=>hJ,colorStringAlphaRegExp:()=>pJ,colorStringRegExp:()=>fJ,computeKey:()=>jp,getPrintable:()=>Ki,hasExactLength:()=>EJ,hasForbiddenKeys:()=>Lqe,hasKeyRelationship:()=>MT,hasMaxLength:()=>Iqe,hasMinLength:()=>Cqe,hasMutuallyExclusiveKeys:()=>Oqe,hasRequiredKeys:()=>Nqe,hasUniqueItems:()=>wqe,isArray:()=>pqe,isAtLeast:()=>LT,isAtMost:()=>Dqe,isBase64:()=>Rqe,isBoolean:()=>Aqe,isDate:()=>fqe,isDict:()=>gqe,isEnum:()=>Gs,isHexColor:()=>Fqe,isISO8601:()=>kqe,isInExclusiveRange:()=>Pqe,isInInclusiveRange:()=>Sqe,isInstanceOf:()=>mqe,isInteger:()=>OT,isJSON:()=>Tqe,isLiteral:()=>cqe,isLowerCase:()=>xqe,isNegative:()=>Bqe,isNullable:()=>Eqe,isNumber:()=>TT,isObject:()=>dqe,isOneOf:()=>NT,isOptional:()=>yqe,isPositive:()=>vqe,isString:()=>JI,isTuple:()=>hqe,isUUID4:()=>Qqe,isUnknown:()=>yJ,isUpperCase:()=>bqe,iso8601RegExp:()=>RT,makeCoercionFn:()=>zg,makeSetter:()=>mJ,makeTrait:()=>dJ,makeValidator:()=>Yr,matchesRegExp:()=>VI,plural:()=>UD,pushError:()=>xr,simpleKeyRegExp:()=>AJ,uuid4RegExp:()=>gJ});function Yr({test:t}){return dJ(t)()}function Ki(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function jp(t,e){var r,o,a;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:AJ.test(e)?`${(o=t==null?void 0:t.p)!==null&&o!==void 0?o:""}.${e}`:`${(a=t==null?void 0:t.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(e)}]`}function zg(t,e){return r=>{let o=t[e];return t[e]=r,zg(t,e).bind(null,o)}}function mJ(t,e){return r=>{t[e]=r}}function UD(t,e,r){return t===1?e:r}function xr({errors:t,p:e}={},r){return t==null||t.push(`${e??"."}: ${r}`),!1}function cqe(t){return Yr({test:(e,r)=>e!==t?xr(r,`Expected a literal (got ${Ki(t)})`):!0})}function Gs(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return Yr({test:(o,a)=>r.has(o)?!0:xr(a,`Expected a valid enumeration value (got ${Ki(o)})`)})}var AJ,fJ,pJ,hJ,gJ,RT,dJ,yJ,JI,uqe,Aqe,TT,fqe,pqe,hqe,gqe,dqe,mqe,NT,Xg,yqe,Eqe,Cqe,Iqe,EJ,wqe,Bqe,vqe,LT,Dqe,Sqe,Pqe,OT,VI,xqe,bqe,Qqe,kqe,Fqe,Rqe,Tqe,Nqe,Lqe,Oqe,Vg,Mqe,MT,$a=dt(()=>{AJ=/^[a-zA-Z_][a-zA-Z0-9_]*$/,fJ=/^#[0-9a-f]{6}$/i,pJ=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,hJ=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,gJ=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,RT=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,dJ=t=>()=>t;yJ=()=>Yr({test:(t,e)=>!0});JI=()=>Yr({test:(t,e)=>typeof t!="string"?xr(e,`Expected a string (got ${Ki(t)})`):!0});uqe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Aqe=()=>Yr({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o=uqe.get(t);if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a boolean (got ${Ki(t)})`)}return!0}}),TT=()=>Yr({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o;if(typeof t=="string"){let a;try{a=JSON.parse(t)}catch{}if(typeof a=="number")if(JSON.stringify(a)===t)o=a;else return xr(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a number (got ${Ki(t)})`)}return!0}}),fqe=()=>Yr({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o;if(typeof t=="string"&&RT.test(t))o=new Date(t);else{let a;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch{}typeof n=="number"&&(a=n)}else typeof t=="number"&&(a=t);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))o=new Date(a*1e3);else return xr(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a date (got ${Ki(t)})`)}return!0}}),pqe=(t,{delimiter:e}={})=>Yr({test:(r,o)=>{var a;if(typeof r=="string"&&typeof e<"u"&&typeof(o==null?void 0:o.coercions)<"u"){if(typeof(o==null?void 0:o.coercion)>"u")return xr(o,"Unbound coercion result");r=r.split(e),o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",o.coercion.bind(null,r)])}if(!Array.isArray(r))return xr(o,`Expected an array (got ${Ki(r)})`);let n=!0;for(let u=0,A=r.length;u<A&&(n=t(r[u],Object.assign(Object.assign({},o),{p:jp(o,u),coercion:zg(r,u)}))&&n,!(!n&&(o==null?void 0:o.errors)==null));++u);return n}}),hqe=(t,{delimiter:e}={})=>{let r=EJ(t.length);return Yr({test:(o,a)=>{var n;if(typeof o=="string"&&typeof e<"u"&&typeof(a==null?void 0:a.coercions)<"u"){if(typeof(a==null?void 0:a.coercion)>"u")return xr(a,"Unbound coercion result");o=o.split(e),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)])}if(!Array.isArray(o))return xr(a,`Expected a tuple (got ${Ki(o)})`);let u=r(o,Object.assign({},a));for(let A=0,p=o.length;A<p&&A<t.length&&(u=t[A](o[A],Object.assign(Object.assign({},a),{p:jp(a,A),coercion:zg(o,A)}))&&u,!(!u&&(a==null?void 0:a.errors)==null));++A);return u}})},gqe=(t,{keys:e=null}={})=>Yr({test:(r,o)=>{if(typeof r!="object"||r===null)return xr(o,`Expected an object (got ${Ki(r)})`);let a=Object.keys(r),n=!0;for(let u=0,A=a.length;u<A&&(n||(o==null?void 0:o.errors)!=null);++u){let p=a[u],h=r[p];if(p==="__proto__"||p==="constructor"){n=xr(Object.assign(Object.assign({},o),{p:jp(o,p)}),"Unsafe property name");continue}if(e!==null&&!e(p,o)){n=!1;continue}if(!t(h,Object.assign(Object.assign({},o),{p:jp(o,p),coercion:zg(r,p)}))){n=!1;continue}}return n}}),dqe=(t,{extra:e=null}={})=>{let r=Object.keys(t);return Yr({test:(o,a)=>{if(typeof o!="object"||o===null)return xr(a,`Expected an object (got ${Ki(o)})`);let n=new Set([...r,...Object.keys(o)]),u={},A=!0;for(let p of n){if(p==="constructor"||p==="__proto__")A=xr(Object.assign(Object.assign({},a),{p:jp(a,p)}),"Unsafe property name");else{let h=Object.prototype.hasOwnProperty.call(t,p)?t[p]:void 0,C=Object.prototype.hasOwnProperty.call(o,p)?o[p]:void 0;typeof h<"u"?A=h(C,Object.assign(Object.assign({},a),{p:jp(a,p),coercion:zg(o,p)}))&&A:e===null?A=xr(Object.assign(Object.assign({},a),{p:jp(a,p)}),`Extraneous property (got ${Ki(C)})`):Object.defineProperty(u,p,{enumerable:!0,get:()=>C,set:mJ(o,p)})}if(!A&&(a==null?void 0:a.errors)==null)break}return e!==null&&(A||(a==null?void 0:a.errors)!=null)&&(A=e(u,a)&&A),A}})},mqe=t=>Yr({test:(e,r)=>e instanceof t?!0:xr(r,`Expected an instance of ${t.name} (got ${Ki(e)})`)}),NT=(t,{exclusive:e=!1}={})=>Yr({test:(r,o)=>{var a,n,u;let A=[],p=typeof(o==null?void 0:o.errors)<"u"?[]:void 0;for(let h=0,C=t.length;h<C;++h){let w=typeof(o==null?void 0:o.errors)<"u"?[]:void 0,v=typeof(o==null?void 0:o.coercions)<"u"?[]:void 0;if(t[h](r,Object.assign(Object.assign({},o),{errors:w,coercions:v,p:`${(a=o==null?void 0:o.p)!==null&&a!==void 0?a:"."}#${h+1}`}))){if(A.push([`#${h+1}`,v]),!e)break}else p==null||p.push(w[0])}if(A.length===1){let[,h]=A[0];return typeof h<"u"&&((n=o==null?void 0:o.coercions)===null||n===void 0||n.push(...h)),!0}return A.length>1?xr(o,`Expected to match exactly a single predicate (matched ${A.join(", ")})`):(u=o==null?void 0:o.errors)===null||u===void 0||u.push(...p),!1}}),Xg=(t,e)=>Yr({test:(r,o)=>{var a,n;let u={value:r},A=typeof(o==null?void 0:o.coercions)<"u"?zg(u,"value"):void 0,p=typeof(o==null?void 0:o.coercions)<"u"?[]:void 0;if(!t(r,Object.assign(Object.assign({},o),{coercion:A,coercions:p})))return!1;let h=[];if(typeof p<"u")for(let[,C]of p)h.push(C());try{if(typeof(o==null?void 0:o.coercions)<"u"){if(u.value!==r){if(typeof(o==null?void 0:o.coercion)>"u")return xr(o,"Unbound coercion result");o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",o.coercion.bind(null,u.value)])}(n=o==null?void 0:o.coercions)===null||n===void 0||n.push(...p)}return e.every(C=>C(u.value,o))}finally{for(let C of h)C()}}}),yqe=t=>Yr({test:(e,r)=>typeof e>"u"?!0:t(e,r)}),Eqe=t=>Yr({test:(e,r)=>e===null?!0:t(e,r)}),Cqe=t=>Yr({test:(e,r)=>e.length>=t?!0:xr(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),Iqe=t=>Yr({test:(e,r)=>e.length<=t?!0:xr(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),EJ=t=>Yr({test:(e,r)=>e.length!==t?xr(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),wqe=({map:t}={})=>Yr({test:(e,r)=>{let o=new Set,a=new Set;for(let n=0,u=e.length;n<u;++n){let A=e[n],p=typeof t<"u"?t(A):A;if(o.has(p)){if(a.has(p))continue;xr(r,`Expected to contain unique elements; got a duplicate with ${Ki(e)}`),a.add(p)}else o.add(p)}return a.size===0}}),Bqe=()=>Yr({test:(t,e)=>t<=0?!0:xr(e,`Expected to be negative (got ${t})`)}),vqe=()=>Yr({test:(t,e)=>t>=0?!0:xr(e,`Expected to be positive (got ${t})`)}),LT=t=>Yr({test:(e,r)=>e>=t?!0:xr(r,`Expected to be at least ${t} (got ${e})`)}),Dqe=t=>Yr({test:(e,r)=>e<=t?!0:xr(r,`Expected to be at most ${t} (got ${e})`)}),Sqe=(t,e)=>Yr({test:(r,o)=>r>=t&&r<=e?!0:xr(o,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),Pqe=(t,e)=>Yr({test:(r,o)=>r>=t&&r<e?!0:xr(o,`Expected to be in the [${t}; ${e}[ range (got ${r})`)}),OT=({unsafe:t=!1}={})=>Yr({test:(e,r)=>e!==Math.round(e)?xr(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:xr(r,`Expected to be a safe integer (got ${e})`)}),VI=t=>Yr({test:(e,r)=>t.test(e)?!0:xr(r,`Expected to match the pattern ${t.toString()} (got ${Ki(e)})`)}),xqe=()=>Yr({test:(t,e)=>t!==t.toLowerCase()?xr(e,`Expected to be all-lowercase (got ${t})`):!0}),bqe=()=>Yr({test:(t,e)=>t!==t.toUpperCase()?xr(e,`Expected to be all-uppercase (got ${t})`):!0}),Qqe=()=>Yr({test:(t,e)=>gJ.test(t)?!0:xr(e,`Expected to be a valid UUID v4 (got ${Ki(t)})`)}),kqe=()=>Yr({test:(t,e)=>RT.test(t)?!1:xr(e,`Expected to be a valid ISO 8601 date string (got ${Ki(t)})`)}),Fqe=({alpha:t=!1})=>Yr({test:(e,r)=>(t?fJ.test(e):pJ.test(e))?!0:xr(r,`Expected to be a valid hexadecimal color string (got ${Ki(e)})`)}),Rqe=()=>Yr({test:(t,e)=>hJ.test(t)?!0:xr(e,`Expected to be a valid base 64 string (got ${Ki(t)})`)}),Tqe=(t=yJ())=>Yr({test:(e,r)=>{let o;try{o=JSON.parse(e)}catch{return xr(r,`Expected to be a valid JSON string (got ${Ki(e)})`)}return t(o,r)}}),Nqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)||n.push(u);return n.length>0?xr(o,`Missing required ${UD(n.length,"property","properties")} ${n.map(u=>`"${u}"`).join(", ")}`):!0}})},Lqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)&&n.push(u);return n.length>0?xr(o,`Forbidden ${UD(n.length,"property","properties")} ${n.map(u=>`"${u}"`).join(", ")}`):!0}})},Oqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)&&n.push(u);return n.length>1?xr(o,`Mutually exclusive properties ${n.map(u=>`"${u}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Vg||(Vg={}));Mqe={[Vg.Forbids]:{expect:!1,message:"forbids using"},[Vg.Requires]:{expect:!0,message:"requires using"}},MT=(t,e,r,{ignore:o=[]}={})=>{let a=new Set(o),n=new Set(r),u=Mqe[e];return Yr({test:(A,p)=>{let h=new Set(Object.keys(A));if(!h.has(t)||a.has(A[t]))return!0;let C=[];for(let w of n)(h.has(w)&&!a.has(A[w]))!==u.expect&&C.push(w);return C.length>=1?xr(p,`Property "${t}" ${u.message} ${UD(C.length,"property","properties")} ${C.map(w=>`"${w}"`).join(", ")}`):!0}})}});var it,Zg=dt(()=>{yf();it=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:u}=await Promise.resolve().then(()=>($a(),Go)),A=u(a(n()),r),p=[],h=[];if(!A(this,{errors:p,coercions:h}))throw YI("Invalid option schema",p);for(let[,w]of h)w()}else if(r!=null)throw new Error("Invalid command schema");let o=await this.execute();return typeof o<"u"?o:0}};it.isOption=WI;it.Default=[]});function wa(t){xT&&console.log(t)}function IJ(){return{nodes:[Wo(),Wo(),Wo()]}}function Uqe(t){let e=IJ(),r=[],o=e.nodes.length;for(let a of t){r.push(o);for(let n=0;n<a.nodes.length;++n)vJ(n)||e.nodes.push(Jqe(a.nodes[n],o));o+=a.nodes.length-2}for(let a of r)my(e,0,a);return e}function Mc(t,e){return t.nodes.push(e),t.nodes.length-1}function _qe(t){let e=new Set,r=o=>{if(e.has(o))return;e.add(o);let a=t.nodes[o];for(let u of Object.values(a.statics))for(let{to:A}of u)r(A);for(let[,{to:u}]of a.dynamics)r(u);for(let{to:u}of a.shortcuts)r(u);let n=new Set(a.shortcuts.map(({to:u})=>u));for(;a.shortcuts.length>0;){let{to:u}=a.shortcuts.shift(),A=t.nodes[u];for(let[p,h]of Object.entries(A.statics)){let C=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let w of h)C.some(({to:v})=>w.to===v)||C.push(w)}for(let[p,h]of A.dynamics)a.dynamics.some(([C,{to:w}])=>p===C&&h.to===w)||a.dynamics.push([p,h]);for(let p of A.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(0)}function Hqe(t,{prefix:e=""}={}){if(xT){wa(`${e}Nodes are:`);for(let r=0;r<t.nodes.length;++r)wa(`${e} ${r}: ${JSON.stringify(t.nodes[r])}`)}}function wJ(t,e,r=!1){wa(`Running a vm on ${JSON.stringify(e)}`);let o=[{node:0,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null}}];Hqe(t,{prefix:" "});let a=[DT,...e];for(let n=0;n<a.length;++n){let u=a[n];wa(` Processing ${JSON.stringify(u)}`);let A=[];for(let{node:p,state:h}of o){wa(` Current node is ${p}`);let C=t.nodes[p];if(p===2){A.push({node:p,state:h});continue}console.assert(C.shortcuts.length===0,"Shortcuts should have been eliminated by now");let w=Object.prototype.hasOwnProperty.call(C.statics,u);if(!r||n<a.length-1||w)if(w){let v=C.statics[u];for(let{to:b,reducer:E}of v)A.push({node:b,state:typeof E<"u"?_D(_T,E,h,u):h}),wa(` Static transition to ${b} found`)}else wa(" No static transition found");else{let v=!1;for(let b of Object.keys(C.statics))if(!!b.startsWith(u)){if(u===b)for(let{to:E,reducer:R}of C.statics[b])A.push({node:E,state:typeof R<"u"?_D(_T,R,h,u):h}),wa(` Static transition to ${E} found`);else for(let{to:E}of C.statics[b])A.push({node:E,state:{...h,remainder:b.slice(u.length)}}),wa(` Static transition to ${E} found (partial match)`);v=!0}v||wa(" No partial static transition found")}if(u!==js)for(let[v,{to:b,reducer:E}]of C.dynamics)_D(qD,v,h,u)&&(A.push({node:b,state:typeof E<"u"?_D(_T,E,h,u):h}),wa(` Dynamic transition to ${b} found (via ${v})`))}if(A.length===0&&u===js&&e.length===1)return[{node:0,state:CJ}];if(A.length===0)throw new dy(e,o.filter(({node:p})=>p!==2).map(({state:p})=>({usage:p.candidateUsage,reason:null})));if(A.every(({node:p})=>p===2))throw new dy(e,A.map(({state:p})=>({usage:p.candidateUsage,reason:p.errorMessage})));o=Wqe(A)}if(o.length>0){wa(" Results:");for(let n of o)wa(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else wa(" No results");return o}function qqe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,js)){for(let{to:r}of t.statics[js])if(r===1)return!0}return!1}function jqe(t,e,r){let o=r&&e.length>0?[""]:[],a=wJ(t,e,r),n=[],u=new Set,A=(p,h,C=!0)=>{let w=[h];for(;w.length>0;){let b=w;w=[];for(let E of b){let R=t.nodes[E],L=Object.keys(R.statics);for(let _ of Object.keys(R.statics)){let J=L[0];for(let{to:re,reducer:oe}of R.statics[J])oe==="pushPath"&&(C||p.push(J),w.push(re))}}C=!1}let v=JSON.stringify(p);u.has(v)||(n.push(p),u.add(v))};for(let{node:p,state:h}of a){if(h.remainder!==null){A([h.remainder],p);continue}let C=t.nodes[p],w=qqe(C,h);for(let[v,b]of Object.entries(C.statics))(w&&v!==js||!v.startsWith("-")&&b.some(({reducer:E})=>E==="pushPath"))&&A([...o,v],p);if(!!w)for(let[v,{to:b}]of C.dynamics){if(b===2)continue;let E=Vqe(v,h);if(E!==null)for(let R of E)A([...o,R],p)}}return[...n].sort()}function Gqe(t,e){let r=wJ(t,[...e,js]);return Yqe(e,r.map(({state:o})=>o))}function Wqe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function Yqe(t,e){let r=e.filter(w=>w.selectedIndex!==null);if(r.length===0)throw new Error;let o=r.filter(w=>w.requiredOptions.every(v=>v.some(b=>w.options.find(E=>E.name===b))));if(o.length===0)throw new dy(t,r.map(w=>({usage:w.candidateUsage,reason:null})));let a=0;for(let w of o)w.path.length>a&&(a=w.path.length);let n=o.filter(w=>w.path.length===a),u=w=>w.positionals.filter(({extra:v})=>!v).length+w.options.length,A=n.map(w=>({state:w,positionalCount:u(w)})),p=0;for(let{positionalCount:w}of A)w>p&&(p=w);let h=A.filter(({positionalCount:w})=>w===p).map(({state:w})=>w),C=Kqe(h);if(C.length>1)throw new LD(t,C.map(w=>w.candidateUsage));return C[0]}function Kqe(t){let e=[],r=[];for(let o of t)o.selectedIndex===-1?r.push(o):e.push(o);return r.length>0&&e.push({...CJ,path:BJ(...r.map(o=>o.path)),options:r.reduce((o,a)=>o.concat(a.options),[])}),e}function BJ(t,e,...r){return e===void 0?Array.from(t):BJ(t.filter((o,a)=>o===e[a]),...r)}function Wo(){return{dynamics:[],shortcuts:[],statics:{}}}function vJ(t){return t===1||t===2}function UT(t,e=0){return{to:vJ(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function Jqe(t,e=0){let r=Wo();for(let[o,a]of t.dynamics)r.dynamics.push([o,UT(a,e)]);for(let o of t.shortcuts)r.shortcuts.push(UT(o,e));for(let[o,a]of Object.entries(t.statics))r.statics[o]=a.map(n=>UT(n,e));return r}function Ws(t,e,r,o,a){t.nodes[e].dynamics.push([r,{to:o,reducer:a}])}function my(t,e,r,o){t.nodes[e].shortcuts.push({to:r,reducer:o})}function Ef(t,e,r,o,a){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:o,reducer:a})}function _D(t,e,r,o){if(Array.isArray(e)){let[a,...n]=e;return t[a](r,o,...n)}else return t[e](r,o)}function Vqe(t,e){let r=Array.isArray(t)?qD[t[0]]:qD[t];if(typeof r.suggest>"u")return null;let o=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...o)}var CJ,qD,_T,el,HT,Ey,GD=dt(()=>{bT();OD();CJ={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};qD={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,o)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&lJ.test(e)&&[...e.slice(1)].every(o=>r.includes(`-${o}`)),isBoundOption:(t,e,r,o)=>{let a=e.match(PT);return!t.ignoreOptions&&!!a&&ND.test(a[1])&&r.includes(a[1])&&o.filter(n=>n.names.includes(a[1])).every(n=>n.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&ST.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&ND.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!ND.test(e)};qD.isOption.suggest=(t,e,r=!0)=>r?null:[e];_T={setCandidateState:(t,e,r)=>({...t,...r}),setSelectedIndex:(t,e,r)=>({...t,selectedIndex:r}),pushBatch:(t,e)=>({...t,options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,o]=e.match(PT);return{...t,options:t.options.concat({name:r,value:o})}},pushPath:(t,e)=>({...t,path:t.path.concat(e)}),pushPositional:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:el})}),pushTrue:(t,e,r=e)=>({...t,options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>({...t,options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>({...t,options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let o={...t,options:[...t.options]},a=t.options[t.options.length-1];return a.value=((r=a.value)!==null&&r!==void 0?r:[]).concat([e]),o},setStringValue:(t,e)=>{let r={...t,options:[...t.options]},o=t.options[t.options.length-1];return o.value=e,r},inhibateOptions:t=>({...t,ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,o]=e.match(ST);return typeof o<"u"?{...t,options:[{name:"-c",value:String(r)},{name:"-i",value:o}]}:{...t,options:[{name:"-c",value:String(r)}]}},setError:(t,e,r)=>e===js?{...t,errorMessage:`${r}.`}:{...t,errorMessage:`${r} ("${e}").`},setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return{...t,errorMessage:`Not enough arguments to option ${r.name}.`}}},el=Symbol(),HT=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:o=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:o,proxy:a})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===el)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==el?this.arity.extra.push(e):this.arity.extra!==el&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===el)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let o=0;o<r;++o)this.addPositional({name:e});this.arity.extra=el}addProxy({required:e=0}={}){this.addRest({required:e}),this.arity.proxy=!0}addOption({names:e,description:r,arity:o=0,hidden:a=!1,required:n=!1,allowBinding:u=!0}){if(!u&&o>1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(o))throw new Error(`The arity must be an integer, got ${o}`);if(o<0)throw new Error(`The arity must be positive, got ${o}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:o,hidden:a,required:n,allowBinding:u})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let o=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&o.push(...this.paths[0]),e){for(let{names:u,arity:A,hidden:p,description:h,required:C}of this.options){if(p)continue;let w=[];for(let b=0;b<A;++b)w.push(` #${b}`);let v=`${u.join(",")}${w.join("")}`;!r&&h?a.push({definition:v,description:h,required:C}):o.push(C?`<${v}>`:`[${v}]`)}o.push(...this.arity.leading.map(u=>`<${u}>`)),this.arity.extra===el?o.push("..."):o.push(...this.arity.extra.map(u=>`[${u}]`)),o.push(...this.arity.trailing.map(u=>`<${u}>`))}return{usage:o.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=IJ(),r=0,o=this.usage().usage,a=this.options.filter(A=>A.required).map(A=>A.names);r=Mc(e,Wo()),Ef(e,0,DT,r,["setCandidateState",{candidateUsage:o,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",u=this.paths.length>0?this.paths:[[]];for(let A of u){let p=r;if(A.length>0){let v=Mc(e,Wo());my(e,p,v),this.registerOptions(e,v),p=v}for(let v=0;v<A.length;++v){let b=Mc(e,Wo());Ef(e,p,A[v],b,"pushPath"),p=b}if(this.arity.leading.length>0||!this.arity.proxy){let v=Mc(e,Wo());Ws(e,p,"isHelp",v,["useHelp",this.cliIndex]),Ef(e,v,js,1,["setSelectedIndex",-1]),this.registerOptions(e,p)}this.arity.leading.length>0&&Ef(e,p,js,2,["setError","Not enough positional arguments"]);let h=p;for(let v=0;v<this.arity.leading.length;++v){let b=Mc(e,Wo());(!this.arity.proxy||v+1!==this.arity.leading.length)&&this.registerOptions(e,b),(this.arity.trailing.length>0||v+1!==this.arity.leading.length)&&Ef(e,b,js,2,["setError","Not enough positional arguments"]),Ws(e,h,"isNotOptionLike",b,"pushPositional"),h=b}let C=h;if(this.arity.extra===el||this.arity.extra.length>0){let v=Mc(e,Wo());if(my(e,h,v),this.arity.extra===el){let b=Mc(e,Wo());this.arity.proxy||this.registerOptions(e,b),Ws(e,h,n,b,"pushExtraNoLimits"),Ws(e,b,n,b,"pushExtraNoLimits"),my(e,b,v)}else for(let b=0;b<this.arity.extra.length;++b){let E=Mc(e,Wo());(!this.arity.proxy||b>0)&&this.registerOptions(e,E),Ws(e,C,n,E,"pushExtra"),my(e,E,v),C=E}C=v}this.arity.trailing.length>0&&Ef(e,C,js,2,["setError","Not enough positional arguments"]);let w=C;for(let v=0;v<this.arity.trailing.length;++v){let b=Mc(e,Wo());this.arity.proxy||this.registerOptions(e,b),v+1<this.arity.trailing.length&&Ef(e,b,js,2,["setError","Not enough positional arguments"]),Ws(e,w,"isNotOptionLike",b,"pushPositional"),w=b}Ws(e,w,n,2,["setError","Extraneous positional argument"]),Ef(e,w,js,1,["setSelectedIndex",this.cliIndex])}return{machine:e,context:this.context}}registerOptions(e,r){Ws(e,r,["isOption","--"],r,"inhibateOptions"),Ws(e,r,["isBatchOption",this.allOptionNames],r,"pushBatch"),Ws(e,r,["isBoundOption",this.allOptionNames,this.options],r,"pushBound"),Ws(e,r,["isUnsupportedOption",this.allOptionNames],2,["setError","Unsupported option name"]),Ws(e,r,["isInvalidOption"],2,["setError","Invalid option name"]);for(let o of this.options){let a=o.names.reduce((n,u)=>u.length>n.length?u:n,"");if(o.arity===0)for(let n of o.names)Ws(e,r,["isOption",n,o.hidden||n!==a],r,"pushTrue"),n.startsWith("--")&&!n.startsWith("--no-")&&Ws(e,r,["isNegatedOption",n],r,["pushFalse",n]);else{let n=Mc(e,Wo());for(let u of o.names)Ws(e,r,["isOption",u,o.hidden||u!==a],n,"pushUndefined");for(let u=0;u<o.arity;++u){let A=Mc(e,Wo());Ef(e,n,js,2,"setOptionArityError"),Ws(e,n,"isOptionLike",2,"setOptionArityError");let p=o.arity===1?"setStringValue":"pushStringValue";Ws(e,n,"isNotOptionLike",A,p),n=A}my(e,n,r)}}}},Ey=class{constructor({binaryName:e="..."}={}){this.builders=[],this.opts={binaryName:e}}static build(e,r={}){return new Ey(r).commands(e).compile()}getBuilderByIndex(e){if(!(e>=0&&e<this.builders.length))throw new Error(`Assertion failed: Out-of-bound command index (${e})`);return this.builders[e]}commands(e){for(let r of e)r(this.command());return this}command(){let e=new HT(this.builders.length,this.opts);return this.builders.push(e),e}compile(){let e=[],r=[];for(let a of this.builders){let{machine:n,context:u}=a.compile();e.push(n),r.push(u)}let o=Uqe(e);return _qe(o),{machine:o,contexts:r,process:a=>Gqe(o,a),suggest:(a,n)=>jqe(o,a,n)}}}});function SJ(){return WD.default&&"getColorDepth"in WD.default.WriteStream.prototype?WD.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function PJ(t){let e=DJ;if(typeof e>"u"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=Ie("async_hooks");e=DJ=new r;let o=process.stdout._write;process.stdout._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?o.call(this,n,u,A):p.stdout.write(n,u,A)};let a=process.stderr._write;process.stderr._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?a.call(this,n,u,A):p.stderr.write(n,u,A)}}return r=>e.run(t,r)}var WD,DJ,xJ=dt(()=>{WD=tt(Ie("tty"),1)});var Cy,bJ=dt(()=>{Zg();Cy=class extends it{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,r){let o=new Cy(r);o.path=e.path;for(let a of e.options)switch(a.name){case"-c":o.commands.push(Number(a.value));break;case"-i":o.index=Number(a.value);break}return o}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index<e.length&&(e=[e[this.index]]),e.length===0)this.context.stdout.write(this.cli.usage());else if(e.length===1)this.context.stdout.write(this.cli.usage(this.contexts[e[0]].commandClass,{detailed:!0}));else if(e.length>1){this.context.stdout.write(`Multiple commands match your selection: | 91 | - ${WD(r)}`).join("")}`)}function XI(t,e,r){if(typeof r>"u")return e;let o=[],a=[],n=A=>{let p=e;return e=A,n.bind(null,p)};if(!r(e,{errors:o,coercions:a,coercion:n}))throw zI(`Invalid value for ${t}`,o);for(let[,A]of a)A();return e}var JI,Ef=dt(()=>{GD();JI=Symbol("clipanion/isOption")});var Wo={};Yt(Wo,{KeyRelationship:()=>Zg,applyCascade:()=>ed,base64RegExp:()=>EV,colorStringAlphaRegExp:()=>CV,colorStringRegExp:()=>yV,computeKey:()=>Gp,getPrintable:()=>Ki,hasExactLength:()=>DV,hasForbiddenKeys:()=>Kqe,hasKeyRelationship:()=>UT,hasMaxLength:()=>Fqe,hasMinLength:()=>kqe,hasMutuallyExclusiveKeys:()=>Vqe,hasRequiredKeys:()=>Yqe,hasUniqueItems:()=>Rqe,isArray:()=>vqe,isAtLeast:()=>OT,isAtMost:()=>Lqe,isBase64:()=>Gqe,isBoolean:()=>wqe,isDate:()=>Bqe,isDict:()=>Sqe,isEnum:()=>Gs,isHexColor:()=>jqe,isISO8601:()=>qqe,isInExclusiveRange:()=>Mqe,isInInclusiveRange:()=>Oqe,isInstanceOf:()=>xqe,isInteger:()=>MT,isJSON:()=>Wqe,isLiteral:()=>Eqe,isLowerCase:()=>Uqe,isNegative:()=>Tqe,isNullable:()=>Qqe,isNumber:()=>NT,isObject:()=>Pqe,isOneOf:()=>LT,isOptional:()=>bqe,isPositive:()=>Nqe,isString:()=>ZI,isTuple:()=>Dqe,isUUID4:()=>Hqe,isUnknown:()=>vV,isUpperCase:()=>_qe,iso8601RegExp:()=>TT,makeCoercionFn:()=>$g,makeSetter:()=>BV,makeTrait:()=>wV,makeValidator:()=>Yr,matchesRegExp:()=>$I,plural:()=>YD,pushError:()=>xr,simpleKeyRegExp:()=>mV,uuid4RegExp:()=>IV});function Yr({test:t}){return wV(t)()}function Ki(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function Gp(t,e){var r,o,a;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:mV.test(e)?`${(o=t==null?void 0:t.p)!==null&&o!==void 0?o:""}.${e}`:`${(a=t==null?void 0:t.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(e)}]`}function $g(t,e){return r=>{let o=t[e];return t[e]=r,$g(t,e).bind(null,o)}}function BV(t,e){return r=>{t[e]=r}}function YD(t,e,r){return t===1?e:r}function xr({errors:t,p:e}={},r){return t==null||t.push(`${e??"."}: ${r}`),!1}function Eqe(t){return Yr({test:(e,r)=>e!==t?xr(r,`Expected a literal (got ${Ki(t)})`):!0})}function Gs(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return Yr({test:(o,a)=>r.has(o)?!0:xr(a,`Expected a valid enumeration value (got ${Ki(o)})`)})}var mV,yV,CV,EV,IV,TT,wV,vV,ZI,Iqe,wqe,NT,Bqe,vqe,Dqe,Sqe,Pqe,xqe,LT,ed,bqe,Qqe,kqe,Fqe,DV,Rqe,Tqe,Nqe,OT,Lqe,Oqe,Mqe,MT,$I,Uqe,_qe,Hqe,qqe,jqe,Gqe,Wqe,Yqe,Kqe,Vqe,Zg,Jqe,UT,tl=dt(()=>{mV=/^[a-zA-Z_][a-zA-Z0-9_]*$/,yV=/^#[0-9a-f]{6}$/i,CV=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,EV=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,IV=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,TT=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,wV=t=>()=>t;vV=()=>Yr({test:(t,e)=>!0});ZI=()=>Yr({test:(t,e)=>typeof t!="string"?xr(e,`Expected a string (got ${Ki(t)})`):!0});Iqe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),wqe=()=>Yr({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o=Iqe.get(t);if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a boolean (got ${Ki(t)})`)}return!0}}),NT=()=>Yr({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o;if(typeof t=="string"){let a;try{a=JSON.parse(t)}catch{}if(typeof a=="number")if(JSON.stringify(a)===t)o=a;else return xr(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a number (got ${Ki(t)})`)}return!0}}),Bqe=()=>Yr({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return xr(e,"Unbound coercion result");let o;if(typeof t=="string"&&TT.test(t))o=new Date(t);else{let a;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch{}typeof n=="number"&&(a=n)}else typeof t=="number"&&(a=t);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))o=new Date(a*1e3);else return xr(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return xr(e,`Expected a date (got ${Ki(t)})`)}return!0}}),vqe=(t,{delimiter:e}={})=>Yr({test:(r,o)=>{var a;if(typeof r=="string"&&typeof e<"u"&&typeof(o==null?void 0:o.coercions)<"u"){if(typeof(o==null?void 0:o.coercion)>"u")return xr(o,"Unbound coercion result");r=r.split(e),o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",o.coercion.bind(null,r)])}if(!Array.isArray(r))return xr(o,`Expected an array (got ${Ki(r)})`);let n=!0;for(let u=0,A=r.length;u<A&&(n=t(r[u],Object.assign(Object.assign({},o),{p:Gp(o,u),coercion:$g(r,u)}))&&n,!(!n&&(o==null?void 0:o.errors)==null));++u);return n}}),Dqe=(t,{delimiter:e}={})=>{let r=DV(t.length);return Yr({test:(o,a)=>{var n;if(typeof o=="string"&&typeof e<"u"&&typeof(a==null?void 0:a.coercions)<"u"){if(typeof(a==null?void 0:a.coercion)>"u")return xr(a,"Unbound coercion result");o=o.split(e),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)])}if(!Array.isArray(o))return xr(a,`Expected a tuple (got ${Ki(o)})`);let u=r(o,Object.assign({},a));for(let A=0,p=o.length;A<p&&A<t.length&&(u=t[A](o[A],Object.assign(Object.assign({},a),{p:Gp(a,A),coercion:$g(o,A)}))&&u,!(!u&&(a==null?void 0:a.errors)==null));++A);return u}})},Sqe=(t,{keys:e=null}={})=>Yr({test:(r,o)=>{if(typeof r!="object"||r===null)return xr(o,`Expected an object (got ${Ki(r)})`);let a=Object.keys(r),n=!0;for(let u=0,A=a.length;u<A&&(n||(o==null?void 0:o.errors)!=null);++u){let p=a[u],h=r[p];if(p==="__proto__"||p==="constructor"){n=xr(Object.assign(Object.assign({},o),{p:Gp(o,p)}),"Unsafe property name");continue}if(e!==null&&!e(p,o)){n=!1;continue}if(!t(h,Object.assign(Object.assign({},o),{p:Gp(o,p),coercion:$g(r,p)}))){n=!1;continue}}return n}}),Pqe=(t,{extra:e=null}={})=>{let r=Object.keys(t);return Yr({test:(o,a)=>{if(typeof o!="object"||o===null)return xr(a,`Expected an object (got ${Ki(o)})`);let n=new Set([...r,...Object.keys(o)]),u={},A=!0;for(let p of n){if(p==="constructor"||p==="__proto__")A=xr(Object.assign(Object.assign({},a),{p:Gp(a,p)}),"Unsafe property name");else{let h=Object.prototype.hasOwnProperty.call(t,p)?t[p]:void 0,E=Object.prototype.hasOwnProperty.call(o,p)?o[p]:void 0;typeof h<"u"?A=h(E,Object.assign(Object.assign({},a),{p:Gp(a,p),coercion:$g(o,p)}))&&A:e===null?A=xr(Object.assign(Object.assign({},a),{p:Gp(a,p)}),`Extraneous property (got ${Ki(E)})`):Object.defineProperty(u,p,{enumerable:!0,get:()=>E,set:BV(o,p)})}if(!A&&(a==null?void 0:a.errors)==null)break}return e!==null&&(A||(a==null?void 0:a.errors)!=null)&&(A=e(u,a)&&A),A}})},xqe=t=>Yr({test:(e,r)=>e instanceof t?!0:xr(r,`Expected an instance of ${t.name} (got ${Ki(e)})`)}),LT=(t,{exclusive:e=!1}={})=>Yr({test:(r,o)=>{var a,n,u;let A=[],p=typeof(o==null?void 0:o.errors)<"u"?[]:void 0;for(let h=0,E=t.length;h<E;++h){let w=typeof(o==null?void 0:o.errors)<"u"?[]:void 0,v=typeof(o==null?void 0:o.coercions)<"u"?[]:void 0;if(t[h](r,Object.assign(Object.assign({},o),{errors:w,coercions:v,p:`${(a=o==null?void 0:o.p)!==null&&a!==void 0?a:"."}#${h+1}`}))){if(A.push([`#${h+1}`,v]),!e)break}else p==null||p.push(w[0])}if(A.length===1){let[,h]=A[0];return typeof h<"u"&&((n=o==null?void 0:o.coercions)===null||n===void 0||n.push(...h)),!0}return A.length>1?xr(o,`Expected to match exactly a single predicate (matched ${A.join(", ")})`):(u=o==null?void 0:o.errors)===null||u===void 0||u.push(...p),!1}}),ed=(t,e)=>Yr({test:(r,o)=>{var a,n;let u={value:r},A=typeof(o==null?void 0:o.coercions)<"u"?$g(u,"value"):void 0,p=typeof(o==null?void 0:o.coercions)<"u"?[]:void 0;if(!t(r,Object.assign(Object.assign({},o),{coercion:A,coercions:p})))return!1;let h=[];if(typeof p<"u")for(let[,E]of p)h.push(E());try{if(typeof(o==null?void 0:o.coercions)<"u"){if(u.value!==r){if(typeof(o==null?void 0:o.coercion)>"u")return xr(o,"Unbound coercion result");o.coercions.push([(a=o.p)!==null&&a!==void 0?a:".",o.coercion.bind(null,u.value)])}(n=o==null?void 0:o.coercions)===null||n===void 0||n.push(...p)}return e.every(E=>E(u.value,o))}finally{for(let E of h)E()}}}),bqe=t=>Yr({test:(e,r)=>typeof e>"u"?!0:t(e,r)}),Qqe=t=>Yr({test:(e,r)=>e===null?!0:t(e,r)}),kqe=t=>Yr({test:(e,r)=>e.length>=t?!0:xr(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),Fqe=t=>Yr({test:(e,r)=>e.length<=t?!0:xr(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),DV=t=>Yr({test:(e,r)=>e.length!==t?xr(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),Rqe=({map:t}={})=>Yr({test:(e,r)=>{let o=new Set,a=new Set;for(let n=0,u=e.length;n<u;++n){let A=e[n],p=typeof t<"u"?t(A):A;if(o.has(p)){if(a.has(p))continue;xr(r,`Expected to contain unique elements; got a duplicate with ${Ki(e)}`),a.add(p)}else o.add(p)}return a.size===0}}),Tqe=()=>Yr({test:(t,e)=>t<=0?!0:xr(e,`Expected to be negative (got ${t})`)}),Nqe=()=>Yr({test:(t,e)=>t>=0?!0:xr(e,`Expected to be positive (got ${t})`)}),OT=t=>Yr({test:(e,r)=>e>=t?!0:xr(r,`Expected to be at least ${t} (got ${e})`)}),Lqe=t=>Yr({test:(e,r)=>e<=t?!0:xr(r,`Expected to be at most ${t} (got ${e})`)}),Oqe=(t,e)=>Yr({test:(r,o)=>r>=t&&r<=e?!0:xr(o,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),Mqe=(t,e)=>Yr({test:(r,o)=>r>=t&&r<e?!0:xr(o,`Expected to be in the [${t}; ${e}[ range (got ${r})`)}),MT=({unsafe:t=!1}={})=>Yr({test:(e,r)=>e!==Math.round(e)?xr(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:xr(r,`Expected to be a safe integer (got ${e})`)}),$I=t=>Yr({test:(e,r)=>t.test(e)?!0:xr(r,`Expected to match the pattern ${t.toString()} (got ${Ki(e)})`)}),Uqe=()=>Yr({test:(t,e)=>t!==t.toLowerCase()?xr(e,`Expected to be all-lowercase (got ${t})`):!0}),_qe=()=>Yr({test:(t,e)=>t!==t.toUpperCase()?xr(e,`Expected to be all-uppercase (got ${t})`):!0}),Hqe=()=>Yr({test:(t,e)=>IV.test(t)?!0:xr(e,`Expected to be a valid UUID v4 (got ${Ki(t)})`)}),qqe=()=>Yr({test:(t,e)=>TT.test(t)?!1:xr(e,`Expected to be a valid ISO 8601 date string (got ${Ki(t)})`)}),jqe=({alpha:t=!1})=>Yr({test:(e,r)=>(t?yV.test(e):CV.test(e))?!0:xr(r,`Expected to be a valid hexadecimal color string (got ${Ki(e)})`)}),Gqe=()=>Yr({test:(t,e)=>EV.test(t)?!0:xr(e,`Expected to be a valid base 64 string (got ${Ki(t)})`)}),Wqe=(t=vV())=>Yr({test:(e,r)=>{let o;try{o=JSON.parse(e)}catch{return xr(r,`Expected to be a valid JSON string (got ${Ki(e)})`)}return t(o,r)}}),Yqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)||n.push(u);return n.length>0?xr(o,`Missing required ${YD(n.length,"property","properties")} ${n.map(u=>`"${u}"`).join(", ")}`):!0}})},Kqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)&&n.push(u);return n.length>0?xr(o,`Forbidden ${YD(n.length,"property","properties")} ${n.map(u=>`"${u}"`).join(", ")}`):!0}})},Vqe=t=>{let e=new Set(t);return Yr({test:(r,o)=>{let a=new Set(Object.keys(r)),n=[];for(let u of e)a.has(u)&&n.push(u);return n.length>1?xr(o,`Mutually exclusive properties ${n.map(u=>`"${u}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Zg||(Zg={}));Jqe={[Zg.Forbids]:{expect:!1,message:"forbids using"},[Zg.Requires]:{expect:!0,message:"requires using"}},UT=(t,e,r,{ignore:o=[]}={})=>{let a=new Set(o),n=new Set(r),u=Jqe[e];return Yr({test:(A,p)=>{let h=new Set(Object.keys(A));if(!h.has(t)||a.has(A[t]))return!0;let E=[];for(let w of n)(h.has(w)&&!a.has(A[w]))!==u.expect&&E.push(w);return E.length>=1?xr(p,`Property "${t}" ${u.message} ${YD(E.length,"property","properties")} ${E.map(w=>`"${w}"`).join(", ")}`):!0}})}});var it,td=dt(()=>{Ef();it=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:u}=await Promise.resolve().then(()=>(tl(),Wo)),A=u(a(n()),r),p=[],h=[];if(!A(this,{errors:p,coercions:h}))throw zI("Invalid option schema",p);for(let[,w]of h)w()}else if(r!=null)throw new Error("Invalid command schema");let o=await this.execute();return typeof o<"u"?o:0}};it.isOption=JI;it.Default=[]});function Ba(t){bT&&console.log(t)}function PV(){return{nodes:[Yo(),Yo(),Yo()]}}function zqe(t){let e=PV(),r=[],o=e.nodes.length;for(let a of t){r.push(o);for(let n=0;n<a.nodes.length;++n)QV(n)||e.nodes.push(sje(a.nodes[n],o));o+=a.nodes.length-2}for(let a of r)wy(e,0,a);return e}function Hc(t,e){return t.nodes.push(e),t.nodes.length-1}function Xqe(t){let e=new Set,r=o=>{if(e.has(o))return;e.add(o);let a=t.nodes[o];for(let u of Object.values(a.statics))for(let{to:A}of u)r(A);for(let[,{to:u}]of a.dynamics)r(u);for(let{to:u}of a.shortcuts)r(u);let n=new Set(a.shortcuts.map(({to:u})=>u));for(;a.shortcuts.length>0;){let{to:u}=a.shortcuts.shift(),A=t.nodes[u];for(let[p,h]of Object.entries(A.statics)){let E=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let w of h)E.some(({to:v})=>w.to===v)||E.push(w)}for(let[p,h]of A.dynamics)a.dynamics.some(([E,{to:w}])=>p===E&&h.to===w)||a.dynamics.push([p,h]);for(let p of A.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(0)}function Zqe(t,{prefix:e=""}={}){if(bT){Ba(`${e}Nodes are:`);for(let r=0;r<t.nodes.length;++r)Ba(`${e} ${r}: ${JSON.stringify(t.nodes[r])}`)}}function xV(t,e,r=!1){Ba(`Running a vm on ${JSON.stringify(e)}`);let o=[{node:0,state:{candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,options:[],path:[],positionals:[],remainder:null,selectedIndex:null}}];Zqe(t,{prefix:" "});let a=[ST,...e];for(let n=0;n<a.length;++n){let u=a[n];Ba(` Processing ${JSON.stringify(u)}`);let A=[];for(let{node:p,state:h}of o){Ba(` Current node is ${p}`);let E=t.nodes[p];if(p===2){A.push({node:p,state:h});continue}console.assert(E.shortcuts.length===0,"Shortcuts should have been eliminated by now");let w=Object.prototype.hasOwnProperty.call(E.statics,u);if(!r||n<a.length-1||w)if(w){let v=E.statics[u];for(let{to:b,reducer:C}of v)A.push({node:b,state:typeof C<"u"?KD(HT,C,h,u):h}),Ba(` Static transition to ${b} found`)}else Ba(" No static transition found");else{let v=!1;for(let b of Object.keys(E.statics))if(!!b.startsWith(u)){if(u===b)for(let{to:C,reducer:R}of E.statics[b])A.push({node:C,state:typeof R<"u"?KD(HT,R,h,u):h}),Ba(` Static transition to ${C} found`);else for(let{to:C}of E.statics[b])A.push({node:C,state:{...h,remainder:b.slice(u.length)}}),Ba(` Static transition to ${C} found (partial match)`);v=!0}v||Ba(" No partial static transition found")}if(u!==js)for(let[v,{to:b,reducer:C}]of E.dynamics)KD(JD,v,h,u)&&(A.push({node:b,state:typeof C<"u"?KD(HT,C,h,u):h}),Ba(` Dynamic transition to ${b} found (via ${v})`))}if(A.length===0&&u===js&&e.length===1)return[{node:0,state:SV}];if(A.length===0)throw new Iy(e,o.filter(({node:p})=>p!==2).map(({state:p})=>({usage:p.candidateUsage,reason:null})));if(A.every(({node:p})=>p===2))throw new Iy(e,A.map(({state:p})=>({usage:p.candidateUsage,reason:p.errorMessage})));o=rje(A)}if(o.length>0){Ba(" Results:");for(let n of o)Ba(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else Ba(" No results");return o}function $qe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,js)){for(let{to:r}of t.statics[js])if(r===1)return!0}return!1}function eje(t,e,r){let o=r&&e.length>0?[""]:[],a=xV(t,e,r),n=[],u=new Set,A=(p,h,E=!0)=>{let w=[h];for(;w.length>0;){let b=w;w=[];for(let C of b){let R=t.nodes[C],L=Object.keys(R.statics);for(let _ of Object.keys(R.statics)){let V=L[0];for(let{to:re,reducer:oe}of R.statics[V])oe==="pushPath"&&(E||p.push(V),w.push(re))}}E=!1}let v=JSON.stringify(p);u.has(v)||(n.push(p),u.add(v))};for(let{node:p,state:h}of a){if(h.remainder!==null){A([h.remainder],p);continue}let E=t.nodes[p],w=$qe(E,h);for(let[v,b]of Object.entries(E.statics))(w&&v!==js||!v.startsWith("-")&&b.some(({reducer:C})=>C==="pushPath"))&&A([...o,v],p);if(!!w)for(let[v,{to:b}]of E.dynamics){if(b===2)continue;let C=oje(v,h);if(C!==null)for(let R of C)A([...o,R],p)}}return[...n].sort()}function tje(t,e){let r=xV(t,[...e,js]);return nje(e,r.map(({state:o})=>o))}function rje(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function nje(t,e){let r=e.filter(w=>w.selectedIndex!==null);if(r.length===0)throw new Error;let o=r.filter(w=>w.requiredOptions.every(v=>v.some(b=>w.options.find(C=>C.name===b))));if(o.length===0)throw new Iy(t,r.map(w=>({usage:w.candidateUsage,reason:null})));let a=0;for(let w of o)w.path.length>a&&(a=w.path.length);let n=o.filter(w=>w.path.length===a),u=w=>w.positionals.filter(({extra:v})=>!v).length+w.options.length,A=n.map(w=>({state:w,positionalCount:u(w)})),p=0;for(let{positionalCount:w}of A)w>p&&(p=w);let h=A.filter(({positionalCount:w})=>w===p).map(({state:w})=>w),E=ije(h);if(E.length>1)throw new jD(t,E.map(w=>w.candidateUsage));return E[0]}function ije(t){let e=[],r=[];for(let o of t)o.selectedIndex===-1?r.push(o):e.push(o);return r.length>0&&e.push({...SV,path:bV(...r.map(o=>o.path)),options:r.reduce((o,a)=>o.concat(a.options),[])}),e}function bV(t,e,...r){return e===void 0?Array.from(t):bV(t.filter((o,a)=>o===e[a]),...r)}function Yo(){return{dynamics:[],shortcuts:[],statics:{}}}function QV(t){return t===1||t===2}function _T(t,e=0){return{to:QV(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function sje(t,e=0){let r=Yo();for(let[o,a]of t.dynamics)r.dynamics.push([o,_T(a,e)]);for(let o of t.shortcuts)r.shortcuts.push(_T(o,e));for(let[o,a]of Object.entries(t.statics))r.statics[o]=a.map(n=>_T(n,e));return r}function Ws(t,e,r,o,a){t.nodes[e].dynamics.push([r,{to:o,reducer:a}])}function wy(t,e,r,o){t.nodes[e].shortcuts.push({to:r,reducer:o})}function If(t,e,r,o,a){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:o,reducer:a})}function KD(t,e,r,o){if(Array.isArray(e)){let[a,...n]=e;return t[a](r,o,...n)}else return t[e](r,o)}function oje(t,e){let r=Array.isArray(t)?JD[t[0]]:JD[t];if(typeof r.suggest>"u")return null;let o=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...o)}var SV,JD,HT,rl,qT,vy,XD=dt(()=>{QT();GD();SV={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};JD={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,o)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&hV.test(e)&&[...e.slice(1)].every(o=>r.includes(`-${o}`)),isBoundOption:(t,e,r,o)=>{let a=e.match(xT);return!t.ignoreOptions&&!!a&&qD.test(a[1])&&r.includes(a[1])&&o.filter(n=>n.names.includes(a[1])).every(n=>n.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&PT.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&qD.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!qD.test(e)};JD.isOption.suggest=(t,e,r=!0)=>r?null:[e];HT={setCandidateState:(t,e,r)=>({...t,...r}),setSelectedIndex:(t,e,r)=>({...t,selectedIndex:r}),pushBatch:(t,e)=>({...t,options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,o]=e.match(xT);return{...t,options:t.options.concat({name:r,value:o})}},pushPath:(t,e)=>({...t,path:t.path.concat(e)}),pushPositional:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>({...t,positionals:t.positionals.concat({value:e,extra:rl})}),pushTrue:(t,e,r=e)=>({...t,options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>({...t,options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>({...t,options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let o={...t,options:[...t.options]},a=t.options[t.options.length-1];return a.value=((r=a.value)!==null&&r!==void 0?r:[]).concat([e]),o},setStringValue:(t,e)=>{let r={...t,options:[...t.options]},o=t.options[t.options.length-1];return o.value=e,r},inhibateOptions:t=>({...t,ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,o]=e.match(PT);return typeof o<"u"?{...t,options:[{name:"-c",value:String(r)},{name:"-i",value:o}]}:{...t,options:[{name:"-c",value:String(r)}]}},setError:(t,e,r)=>e===js?{...t,errorMessage:`${r}.`}:{...t,errorMessage:`${r} ("${e}").`},setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return{...t,errorMessage:`Not enough arguments to option ${r.name}.`}}},rl=Symbol(),qT=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:o=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:o,proxy:a})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===rl)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==rl?this.arity.extra.push(e):this.arity.extra!==rl&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===rl)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let o=0;o<r;++o)this.addPositional({name:e});this.arity.extra=rl}addProxy({required:e=0}={}){this.addRest({required:e}),this.arity.proxy=!0}addOption({names:e,description:r,arity:o=0,hidden:a=!1,required:n=!1,allowBinding:u=!0}){if(!u&&o>1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(o))throw new Error(`The arity must be an integer, got ${o}`);if(o<0)throw new Error(`The arity must be positive, got ${o}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:o,hidden:a,required:n,allowBinding:u})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let o=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&o.push(...this.paths[0]),e){for(let{names:u,arity:A,hidden:p,description:h,required:E}of this.options){if(p)continue;let w=[];for(let b=0;b<A;++b)w.push(` #${b}`);let v=`${u.join(",")}${w.join("")}`;!r&&h?a.push({definition:v,description:h,required:E}):o.push(E?`<${v}>`:`[${v}]`)}o.push(...this.arity.leading.map(u=>`<${u}>`)),this.arity.extra===rl?o.push("..."):o.push(...this.arity.extra.map(u=>`[${u}]`)),o.push(...this.arity.trailing.map(u=>`<${u}>`))}return{usage:o.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=PV(),r=0,o=this.usage().usage,a=this.options.filter(A=>A.required).map(A=>A.names);r=Hc(e,Yo()),If(e,0,ST,r,["setCandidateState",{candidateUsage:o,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",u=this.paths.length>0?this.paths:[[]];for(let A of u){let p=r;if(A.length>0){let v=Hc(e,Yo());wy(e,p,v),this.registerOptions(e,v),p=v}for(let v=0;v<A.length;++v){let b=Hc(e,Yo());If(e,p,A[v],b,"pushPath"),p=b}if(this.arity.leading.length>0||!this.arity.proxy){let v=Hc(e,Yo());Ws(e,p,"isHelp",v,["useHelp",this.cliIndex]),If(e,v,js,1,["setSelectedIndex",-1]),this.registerOptions(e,p)}this.arity.leading.length>0&&If(e,p,js,2,["setError","Not enough positional arguments"]);let h=p;for(let v=0;v<this.arity.leading.length;++v){let b=Hc(e,Yo());(!this.arity.proxy||v+1!==this.arity.leading.length)&&this.registerOptions(e,b),(this.arity.trailing.length>0||v+1!==this.arity.leading.length)&&If(e,b,js,2,["setError","Not enough positional arguments"]),Ws(e,h,"isNotOptionLike",b,"pushPositional"),h=b}let E=h;if(this.arity.extra===rl||this.arity.extra.length>0){let v=Hc(e,Yo());if(wy(e,h,v),this.arity.extra===rl){let b=Hc(e,Yo());this.arity.proxy||this.registerOptions(e,b),Ws(e,h,n,b,"pushExtraNoLimits"),Ws(e,b,n,b,"pushExtraNoLimits"),wy(e,b,v)}else for(let b=0;b<this.arity.extra.length;++b){let C=Hc(e,Yo());(!this.arity.proxy||b>0)&&this.registerOptions(e,C),Ws(e,E,n,C,"pushExtra"),wy(e,C,v),E=C}E=v}this.arity.trailing.length>0&&If(e,E,js,2,["setError","Not enough positional arguments"]);let w=E;for(let v=0;v<this.arity.trailing.length;++v){let b=Hc(e,Yo());this.arity.proxy||this.registerOptions(e,b),v+1<this.arity.trailing.length&&If(e,b,js,2,["setError","Not enough positional arguments"]),Ws(e,w,"isNotOptionLike",b,"pushPositional"),w=b}Ws(e,w,n,2,["setError","Extraneous positional argument"]),If(e,w,js,1,["setSelectedIndex",this.cliIndex])}return{machine:e,context:this.context}}registerOptions(e,r){Ws(e,r,["isOption","--"],r,"inhibateOptions"),Ws(e,r,["isBatchOption",this.allOptionNames],r,"pushBatch"),Ws(e,r,["isBoundOption",this.allOptionNames,this.options],r,"pushBound"),Ws(e,r,["isUnsupportedOption",this.allOptionNames],2,["setError","Unsupported option name"]),Ws(e,r,["isInvalidOption"],2,["setError","Invalid option name"]);for(let o of this.options){let a=o.names.reduce((n,u)=>u.length>n.length?u:n,"");if(o.arity===0)for(let n of o.names)Ws(e,r,["isOption",n,o.hidden||n!==a],r,"pushTrue"),n.startsWith("--")&&!n.startsWith("--no-")&&Ws(e,r,["isNegatedOption",n],r,["pushFalse",n]);else{let n=Hc(e,Yo());for(let u of o.names)Ws(e,r,["isOption",u,o.hidden||u!==a],n,"pushUndefined");for(let u=0;u<o.arity;++u){let A=Hc(e,Yo());If(e,n,js,2,"setOptionArityError"),Ws(e,n,"isOptionLike",2,"setOptionArityError");let p=o.arity===1?"setStringValue":"pushStringValue";Ws(e,n,"isNotOptionLike",A,p),n=A}wy(e,n,r)}}}},vy=class{constructor({binaryName:e="..."}={}){this.builders=[],this.opts={binaryName:e}}static build(e,r={}){return new vy(r).commands(e).compile()}getBuilderByIndex(e){if(!(e>=0&&e<this.builders.length))throw new Error(`Assertion failed: Out-of-bound command index (${e})`);return this.builders[e]}commands(e){for(let r of e)r(this.command());return this}command(){let e=new qT(this.builders.length,this.opts);return this.builders.push(e),e}compile(){let e=[],r=[];for(let a of this.builders){let{machine:n,context:u}=a.compile();e.push(n),r.push(u)}let o=zqe(e);return Xqe(o),{machine:o,contexts:r,process:a=>tje(o,a),suggest:(a,n)=>eje(o,a,n)}}}});function FV(){return ZD.default&&"getColorDepth"in ZD.default.WriteStream.prototype?ZD.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function RV(t){let e=kV;if(typeof e>"u"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=Ie("async_hooks");e=kV=new r;let o=process.stdout._write;process.stdout._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?o.call(this,n,u,A):p.stdout.write(n,u,A)};let a=process.stderr._write;process.stderr._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?a.call(this,n,u,A):p.stderr.write(n,u,A)}}return r=>e.run(t,r)}var ZD,kV,TV=dt(()=>{ZD=tt(Ie("tty"),1)});var Dy,NV=dt(()=>{td();Dy=class extends it{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,r){let o=new Dy(r);o.path=e.path;for(let a of e.options)switch(a.name){case"-c":o.commands.push(Number(a.value));break;case"-i":o.index=Number(a.value);break}return o}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index<e.length&&(e=[e[this.index]]),e.length===0)this.context.stdout.write(this.cli.usage());else if(e.length===1)this.context.stdout.write(this.cli.usage(this.contexts[e[0]].commandClass,{detailed:!0}));else if(e.length>1){this.context.stdout.write(`Multiple commands match your selection: |
92 | `),this.context.stdout.write(` | 92 | `),this.context.stdout.write(` |
93 | `);let r=0;for(let o of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[o].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` | 93 | `);let r=0;for(let o of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[o].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` |
94 | `),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands. | 94 | `),this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands. |
95 | `)}}}});async function FJ(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=TJ(t);return vo.from(r,e).runExit(o,a)}async function RJ(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=TJ(t);return vo.from(r,e).run(o,a)}function TJ(t){let e,r,o,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(o=process.argv.slice(2)),t.length){case 1:r=t[0];break;case 2:t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],Array.isArray(t[1])?o=t[1]:a=t[1]):(e=t[0],r=t[1]);break;case 3:Array.isArray(t[2])?(e=t[0],r=t[1],o=t[2]):t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],o=t[1],a=t[2]):(e=t[0],r=t[1],a=t[2]);break;default:e=t[0],r=t[1],o=t[2],a=t[3];break}if(typeof o>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}}function kJ(t){return t()}var QJ,vo,NJ=dt(()=>{GD();FT();xJ();Zg();bJ();QJ=Symbol("clipanion/errorCommand");vo=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:o,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new Ey({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=o,this.enableCapture=a,this.enableColors=n}static from(e,r={}){let o=new vo(r),a=Array.isArray(e)?e:[e];for(let n of a)o.register(n);return o}register(e){var r;let o=new Map,a=new e;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[it.isOption]&&o.set(p,h)}let n=this.builder.command(),u=n.cliIndex,A=(r=e.paths)!==null&&r!==void 0?r:a.paths;if(typeof A<"u")for(let p of A)n.addPath(p);this.registrations.set(e,{specs:o,builder:n,index:u});for(let[p,{definition:h}]of o.entries())h(n,p);n.setContext({commandClass:e})}process(e,r){let{contexts:o,process:a}=this.builder.compile(),n=a(e),u={...vo.defaultContext,...r};switch(n.selectedIndex){case-1:{let A=Cy.from(n,o);return A.context=u,A}default:{let{commandClass:A}=o[n.selectedIndex],p=this.registrations.get(A);if(typeof p>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let h=new A;h.context=u,h.path=n.path;try{for(let[C,{transformer:w}]of p.specs.entries())h[C]=w(p.builder,C,n,u);return h}catch(C){throw C[QJ]=h,C}}break}}async run(e,r){var o,a;let n,u={...vo.defaultContext,...r},A=(o=this.enableColors)!==null&&o!==void 0?o:u.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e,u)}catch(C){return u.stdout.write(this.error(C,{colored:A})),1}if(n.help)return u.stdout.write(this.usage(n,{colored:A,detailed:!0})),0;n.context=u,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(C,w)=>this.error(C,w),format:C=>this.format(C),process:(C,w)=>this.process(C,{...u,...w}),run:(C,w)=>this.run(C,{...u,...w}),usage:(C,w)=>this.usage(C,w)};let p=this.enableCapture&&(a=PJ(u))!==null&&a!==void 0?a:kJ,h;try{h=await p(()=>n.validateAndExecute().catch(C=>n.catch(C).then(()=>0)))}catch(C){return u.stdout.write(this.error(C,{colored:A,command:n})),1}return h}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:o}=this.builder.compile();return o(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[o,{index:a}]of this.registrations){if(typeof o.usage>"u")continue;let{usage:n}=this.getUsageByIndex(a,{detailed:!1}),{usage:u,options:A}=this.getUsageByIndex(a,{detailed:!0,inlineOptions:!1}),p=typeof o.usage.category<"u"?Bo(o.usage.category,{format:this.format(e),paragraphs:!1}):void 0,h=typeof o.usage.description<"u"?Bo(o.usage.description,{format:this.format(e),paragraphs:!1}):void 0,C=typeof o.usage.details<"u"?Bo(o.usage.details,{format:this.format(e),paragraphs:!0}):void 0,w=typeof o.usage.examples<"u"?o.usage.examples.map(([v,b])=>[Bo(v,{format:this.format(e),paragraphs:!1}),b.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:n,usage:u,category:p,description:h,details:C,examples:w,options:A})}return r}usage(e=null,{colored:r,detailed:o=!1,prefix:a="$ "}={}){var n;if(e===null){for(let p of this.registrations.keys()){let h=p.paths,C=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h==null?void 0:h.some(b=>b.length===0))!==null&&n!==void 0?n:!1))if(e){e=null;break}else e=p;else if(C){e=null;continue}}e&&(o=!0)}let u=e!==null&&e instanceof it?e.constructor:e,A="";if(u)if(o){let{description:p="",details:h="",examples:C=[]}=u.usage||{};p!==""&&(A+=Bo(p,{format:this.format(r),paragraphs:!1}).replace(/^./,b=>b.toUpperCase()),A+=` | 95 | `)}}}});async function MV(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=_V(t);return vo.from(r,e).runExit(o,a)}async function UV(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=_V(t);return vo.from(r,e).run(o,a)}function _V(t){let e,r,o,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(o=process.argv.slice(2)),t.length){case 1:r=t[0];break;case 2:t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],Array.isArray(t[1])?o=t[1]:a=t[1]):(e=t[0],r=t[1]);break;case 3:Array.isArray(t[2])?(e=t[0],r=t[1],o=t[2]):t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],o=t[1],a=t[2]):(e=t[0],r=t[1],a=t[2]);break;default:e=t[0],r=t[1],o=t[2],a=t[3];break}if(typeof o>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}}function OV(t){return t()}var LV,vo,HV=dt(()=>{XD();RT();TV();td();NV();LV=Symbol("clipanion/errorCommand");vo=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:o,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new vy({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=o,this.enableCapture=a,this.enableColors=n}static from(e,r={}){let o=new vo(r),a=Array.isArray(e)?e:[e];for(let n of a)o.register(n);return o}register(e){var r;let o=new Map,a=new e;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[it.isOption]&&o.set(p,h)}let n=this.builder.command(),u=n.cliIndex,A=(r=e.paths)!==null&&r!==void 0?r:a.paths;if(typeof A<"u")for(let p of A)n.addPath(p);this.registrations.set(e,{specs:o,builder:n,index:u});for(let[p,{definition:h}]of o.entries())h(n,p);n.setContext({commandClass:e})}process(e,r){let{contexts:o,process:a}=this.builder.compile(),n=a(e),u={...vo.defaultContext,...r};switch(n.selectedIndex){case-1:{let A=Dy.from(n,o);return A.context=u,A}default:{let{commandClass:A}=o[n.selectedIndex],p=this.registrations.get(A);if(typeof p>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let h=new A;h.context=u,h.path=n.path;try{for(let[E,{transformer:w}]of p.specs.entries())h[E]=w(p.builder,E,n,u);return h}catch(E){throw E[LV]=h,E}}break}}async run(e,r){var o,a;let n,u={...vo.defaultContext,...r},A=(o=this.enableColors)!==null&&o!==void 0?o:u.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e,u)}catch(E){return u.stdout.write(this.error(E,{colored:A})),1}if(n.help)return u.stdout.write(this.usage(n,{colored:A,detailed:!0})),0;n.context=u,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(E,w)=>this.error(E,w),format:E=>this.format(E),process:(E,w)=>this.process(E,{...u,...w}),run:(E,w)=>this.run(E,{...u,...w}),usage:(E,w)=>this.usage(E,w)};let p=this.enableCapture&&(a=RV(u))!==null&&a!==void 0?a:OV,h;try{h=await p(()=>n.validateAndExecute().catch(E=>n.catch(E).then(()=>0)))}catch(E){return u.stdout.write(this.error(E,{colored:A,command:n})),1}return h}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:o}=this.builder.compile();return o(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[o,{index:a}]of this.registrations){if(typeof o.usage>"u")continue;let{usage:n}=this.getUsageByIndex(a,{detailed:!1}),{usage:u,options:A}=this.getUsageByIndex(a,{detailed:!0,inlineOptions:!1}),p=typeof o.usage.category<"u"?Bo(o.usage.category,{format:this.format(e),paragraphs:!1}):void 0,h=typeof o.usage.description<"u"?Bo(o.usage.description,{format:this.format(e),paragraphs:!1}):void 0,E=typeof o.usage.details<"u"?Bo(o.usage.details,{format:this.format(e),paragraphs:!0}):void 0,w=typeof o.usage.examples<"u"?o.usage.examples.map(([v,b])=>[Bo(v,{format:this.format(e),paragraphs:!1}),b.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:n,usage:u,category:p,description:h,details:E,examples:w,options:A})}return r}usage(e=null,{colored:r,detailed:o=!1,prefix:a="$ "}={}){var n;if(e===null){for(let p of this.registrations.keys()){let h=p.paths,E=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h==null?void 0:h.some(b=>b.length===0))!==null&&n!==void 0?n:!1))if(e){e=null;break}else e=p;else if(E){e=null;continue}}e&&(o=!0)}let u=e!==null&&e instanceof it?e.constructor:e,A="";if(u)if(o){let{description:p="",details:h="",examples:E=[]}=u.usage||{};p!==""&&(A+=Bo(p,{format:this.format(r),paragraphs:!1}).replace(/^./,b=>b.toUpperCase()),A+=` |
96 | `),(h!==""||C.length>0)&&(A+=`${this.format(r).header("Usage")} | 96 | `),(h!==""||E.length>0)&&(A+=`${this.format(r).header("Usage")} |
97 | `,A+=` | 97 | `,A+=` |
98 | `);let{usage:w,options:v}=this.getUsageByRegistration(u,{inlineOptions:!1});if(A+=`${this.format(r).bold(a)}${w} | 98 | `);let{usage:w,options:v}=this.getUsageByRegistration(u,{inlineOptions:!1});if(A+=`${this.format(r).bold(a)}${w} |
99 | `,v.length>0){A+=` | 99 | `,v.length>0){A+=` |
100 | `,A+=`${this.format(r).header("Options")} | 100 | `,A+=`${this.format(r).header("Options")} |
101 | `;let b=v.reduce((E,R)=>Math.max(E,R.definition.length),0);A+=` | 101 | `;let b=v.reduce((C,R)=>Math.max(C,R.definition.length),0);A+=` |
102 | `;for(let{definition:E,description:R}of v)A+=` ${this.format(r).bold(E.padEnd(b))} ${Bo(R,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(A+=` | 102 | `;for(let{definition:C,description:R}of v)A+=` ${this.format(r).bold(C.padEnd(b))} ${Bo(R,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(A+=` |
103 | `,A+=`${this.format(r).header("Details")} | 103 | `,A+=`${this.format(r).header("Details")} |
104 | `,A+=` | 104 | `,A+=` |
105 | `,A+=Bo(h,{format:this.format(r),paragraphs:!0})),C.length>0){A+=` | 105 | `,A+=Bo(h,{format:this.format(r),paragraphs:!0})),E.length>0){A+=` |
106 | `,A+=`${this.format(r).header("Examples")} | 106 | `,A+=`${this.format(r).header("Examples")} |
107 | `;for(let[b,E]of C)A+=` | 107 | `;for(let[b,C]of E)A+=` |
108 | `,A+=Bo(b,{format:this.format(r),paragraphs:!1}),A+=`${E.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)} | 108 | `,A+=Bo(b,{format:this.format(r),paragraphs:!1}),A+=`${C.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)} |
109 | `}}else{let{usage:p}=this.getUsageByRegistration(u);A+=`${this.format(r).bold(a)}${p} | 109 | `}}else{let{usage:p}=this.getUsageByRegistration(u);A+=`${this.format(r).bold(a)}${p} |
110 | `}else{let p=new Map;for(let[v,{index:b}]of this.registrations.entries()){if(typeof v.usage>"u")continue;let E=typeof v.usage.category<"u"?Bo(v.usage.category,{format:this.format(r),paragraphs:!1}):null,R=p.get(E);typeof R>"u"&&p.set(E,R=[]);let{usage:L}=this.getUsageByIndex(b);R.push({commandClass:v,usage:L})}let h=Array.from(p.keys()).sort((v,b)=>v===null?-1:b===null?1:v.localeCompare(b,"en",{usage:"sort",caseFirst:"upper"})),C=typeof this.binaryLabel<"u",w=typeof this.binaryVersion<"u";C||w?(C&&w?A+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} | 110 | `}else{let p=new Map;for(let[v,{index:b}]of this.registrations.entries()){if(typeof v.usage>"u")continue;let C=typeof v.usage.category<"u"?Bo(v.usage.category,{format:this.format(r),paragraphs:!1}):null,R=p.get(C);typeof R>"u"&&p.set(C,R=[]);let{usage:L}=this.getUsageByIndex(b);R.push({commandClass:v,usage:L})}let h=Array.from(p.keys()).sort((v,b)=>v===null?-1:b===null?1:v.localeCompare(b,"en",{usage:"sort",caseFirst:"upper"})),E=typeof this.binaryLabel<"u",w=typeof this.binaryVersion<"u";E||w?(E&&w?A+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} |
111 | 111 | ||
112 | `:C?A+=`${this.format(r).header(`${this.binaryLabel}`)} | 112 | `:E?A+=`${this.format(r).header(`${this.binaryLabel}`)} |
113 | `:A+=`${this.format(r).header(`${this.binaryVersion}`)} | 113 | `:A+=`${this.format(r).header(`${this.binaryVersion}`)} |
114 | `,A+=` ${this.format(r).bold(a)}${this.binaryName} <command> | 114 | `,A+=` ${this.format(r).bold(a)}${this.binaryName} <command> |
115 | `):A+=`${this.format(r).bold(a)}${this.binaryName} <command> | 115 | `):A+=`${this.format(r).bold(a)}${this.binaryName} <command> |
116 | `;for(let v of h){let b=p.get(v).slice().sort((R,L)=>R.usage.localeCompare(L.usage,"en",{usage:"sort",caseFirst:"upper"})),E=v!==null?v.trim():"General commands";A+=` | 116 | `;for(let v of h){let b=p.get(v).slice().sort((R,L)=>R.usage.localeCompare(L.usage,"en",{usage:"sort",caseFirst:"upper"})),C=v!==null?v.trim():"General commands";A+=` |
117 | `,A+=`${this.format(r).header(`${E}`)} | 117 | `,A+=`${this.format(r).header(`${C}`)} |
118 | `;for(let{commandClass:R,usage:L}of b){let _=R.usage.description||"undocumented";A+=` | 118 | `;for(let{commandClass:R,usage:L}of b){let _=R.usage.description||"undocumented";A+=` |
119 | `,A+=` ${this.format(r).bold(L)} | 119 | `,A+=` ${this.format(r).bold(L)} |
120 | `,A+=` ${Bo(_,{format:this.format(r),paragraphs:!1})}`}}A+=` | 120 | `,A+=` ${Bo(_,{format:this.format(r),paragraphs:!1})}`}}A+=` |
121 | `,A+=Bo("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return A}error(e,r){var o,{colored:a,command:n=(o=e[QJ])!==null&&o!==void 0?o:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let u="",A=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");A==="Error"&&(A="Internal Error"),u+=`${this.format(a).error(A)}: ${e.message} | 121 | `,A+=Bo("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return A}error(e,r){var o,{colored:a,command:n=(o=e[LV])!==null&&o!==void 0?o:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let u="",A=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");A==="Error"&&(A="Internal Error"),u+=`${this.format(a).error(A)}: ${e.message} |
122 | `;let p=e.clipanion;return typeof p<"u"?p.type==="usage"&&(u+=` | 122 | `;let p=e.clipanion;return typeof p<"u"?p.type==="usage"&&(u+=` |
123 | `,u+=this.usage(n)):e.stack&&(u+=`${e.stack.replace(/^.*\n/,"")} | 123 | `,u+=this.usage(n)):e.stack&&(u+=`${e.stack.replace(/^.*\n/,"")} |
124 | `),u}format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:vo.defaultContext.colorDepth>1)?cJ:uJ}getUsageByRegistration(e,r){let o=this.registrations.get(e);if(typeof o>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(o.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};vo.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:SJ()}});var zI,LJ=dt(()=>{Zg();zI=class extends it{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} | 124 | `),u}format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:vo.defaultContext.colorDepth>1)?gV:dV}getUsageByRegistration(e,r){let o=this.registrations.get(e);if(typeof o>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(o.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};vo.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:FV()}});var ew,qV=dt(()=>{td();ew=class extends it{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} |
125 | `)}};zI.paths=[["--clipanion=definitions"]]});var XI,OJ=dt(()=>{Zg();XI=class extends it{async execute(){this.context.stdout.write(this.cli.usage())}};XI.paths=[["-h"],["--help"]]});var ZI,MJ=dt(()=>{Zg();ZI=class extends it{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:"<unknown>"} | 125 | `)}};ew.paths=[["--clipanion=definitions"]]});var tw,jV=dt(()=>{td();tw=class extends it{async execute(){this.context.stdout.write(this.cli.usage())}};tw.paths=[["-h"],["--help"]]});var rw,GV=dt(()=>{td();rw=class extends it{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:"<unknown>"} |
126 | `)}};ZI.paths=[["-v"],["--version"]]});var qT={};Yt(qT,{DefinitionsCommand:()=>zI,HelpCommand:()=>XI,VersionCommand:()=>ZI});var UJ=dt(()=>{LJ();OJ();MJ()});function _J(t,e,r){let[o,a]=Yu(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return jo({definition(p){p.addOption({names:u,arity:n,hidden:a==null?void 0:a.hidden,description:a==null?void 0:a.description,required:a.required})},transformer(p,h,C){let w=typeof o<"u"?[...o]:void 0;for(let{name:v,value:b}of C.options)!A.has(v)||(w=w??[],w.push(b));return w}})}var HJ=dt(()=>{yf()});function qJ(t,e,r){let[o,a]=Yu(e,r??{}),n=t.split(","),u=new Set(n);return jo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let C=o;for(let{name:w,value:v}of h.options)!u.has(w)||(C=v);return C}})}var jJ=dt(()=>{yf()});function GJ(t,e,r){let[o,a]=Yu(e,r??{}),n=t.split(","),u=new Set(n);return jo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let C=o;for(let{name:w,value:v}of h.options)!u.has(w)||(C??(C=0),v?C+=1:C=0);return C}})}var WJ=dt(()=>{yf()});function YJ(t={}){return jo({definition(e,r){var o;e.addProxy({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){return o.positionals.map(({value:a})=>a)}})}var KJ=dt(()=>{yf()});function JJ(t={}){return jo({definition(e,r){var o;e.addRest({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){let a=u=>{let A=o.positionals[u];return A.extra===el||A.extra===!1&&u<e.arity.leading.length},n=0;for(;n<o.positionals.length&&a(n);)n+=1;return o.positionals.splice(0,n).map(({value:u})=>u)}})}var VJ=dt(()=>{GD();yf()});function zqe(t,e,r){let[o,a]=Yu(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return jo({definition(p){p.addOption({names:u,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,C,w){let v,b=o;typeof a.env<"u"&&w.env[a.env]&&(v=a.env,b=w.env[a.env]);for(let{name:E,value:R}of C.options)!A.has(E)||(v=E,b=R);return typeof b=="string"?KI(v??h,b,a.validator):b}})}function Xqe(t={}){let{required:e=!0}=t;return jo({definition(r,o){var a;r.addPositional({name:(a=t.name)!==null&&a!==void 0?a:o,required:t.required})},transformer(r,o,a){var n;for(let u=0;u<a.positionals.length;++u){if(a.positionals[u].extra===el||e&&a.positionals[u].extra===!0||!e&&a.positionals[u].extra===!1)continue;let[A]=a.positionals.splice(u,1);return KI((n=t.name)!==null&&n!==void 0?n:o,A.value,t.validator)}}})}function zJ(t,...e){return typeof t=="string"?zqe(t,...e):Xqe(t)}var XJ=dt(()=>{GD();yf()});var fe={};Yt(fe,{Array:()=>_J,Boolean:()=>qJ,Counter:()=>GJ,Proxy:()=>YJ,Rest:()=>JJ,String:()=>zJ,applyValidator:()=>KI,cleanValidationError:()=>MD,formatError:()=>YI,isOptionSymbol:()=>WI,makeCommandOption:()=>jo,rerouteArguments:()=>Yu});var ZJ=dt(()=>{yf();HJ();jJ();WJ();KJ();VJ();XJ()});var $I={};Yt($I,{Builtins:()=>qT,Cli:()=>vo,Command:()=>it,Option:()=>fe,UsageError:()=>ot,formatMarkdownish:()=>Bo,run:()=>RJ,runExit:()=>FJ});var _t=dt(()=>{OD();FT();Zg();NJ();UJ();ZJ()});var eV=U((Xbt,$J)=>{"use strict";$J.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var $g=U((Zbt,jT)=>{"use strict";var Zqe=eV(),tV=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,o=()=>{r--,e.length>0&&e.shift()()},a=(A,p,...h)=>{r++;let C=Zqe(A,...h);p(C),C.then(o,o)},n=(A,p,...h)=>{r<t?a(A,p,...h):e.push(a.bind(null,A,p,...h))},u=(A,...p)=>new Promise(h=>n(A,h,...p));return Object.defineProperties(u,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),u};jT.exports=tV;jT.exports.default=tV});function Ku(t){return`YN${t.toString(10).padStart(4,"0")}`}function YD(t){let e=Number(t.slice(2));if(typeof dr[e]>"u")throw new Error(`Unknown message name: "${t}"`);return e}var dr,KD=dt(()=>{dr=(_e=>(_e[_e.UNNAMED=0]="UNNAMED",_e[_e.EXCEPTION=1]="EXCEPTION",_e[_e.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",_e[_e.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",_e[_e.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",_e[_e.BUILD_DISABLED=5]="BUILD_DISABLED",_e[_e.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",_e[_e.MUST_BUILD=7]="MUST_BUILD",_e[_e.MUST_REBUILD=8]="MUST_REBUILD",_e[_e.BUILD_FAILED=9]="BUILD_FAILED",_e[_e.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",_e[_e.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",_e[_e.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",_e[_e.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",_e[_e.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",_e[_e.REMOTE_INVALID=15]="REMOTE_INVALID",_e[_e.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",_e[_e.RESOLUTION_PACK=17]="RESOLUTION_PACK",_e[_e.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",_e[_e.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",_e[_e.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",_e[_e.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",_e[_e.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",_e[_e.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",_e[_e.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",_e[_e.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",_e[_e.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",_e[_e.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",_e[_e.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",_e[_e.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",_e[_e.FETCH_FAILED=30]="FETCH_FAILED",_e[_e.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",_e[_e.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",_e[_e.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",_e[_e.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",_e[_e.NETWORK_ERROR=35]="NETWORK_ERROR",_e[_e.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",_e[_e.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",_e[_e.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",_e[_e.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",_e[_e.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",_e[_e.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",_e[_e.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",_e[_e.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",_e[_e.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",_e[_e.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",_e[_e.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",_e[_e.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",_e[_e.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",_e[_e.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",_e[_e.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",_e[_e.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",_e[_e.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",_e[_e.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",_e[_e.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",_e[_e.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",_e[_e.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",_e[_e.INVALID_MANIFEST=57]="INVALID_MANIFEST",_e[_e.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",_e[_e.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",_e[_e.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",_e[_e.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",_e[_e.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",_e[_e.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",_e[_e.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",_e[_e.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",_e[_e.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",_e[_e.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",_e[_e.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",_e[_e.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",_e[_e.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",_e[_e.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",_e[_e.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",_e[_e.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",_e[_e.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",_e[_e.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",_e[_e.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",_e[_e.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",_e[_e.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",_e[_e.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",_e[_e.NETWORK_DISABLED=80]="NETWORK_DISABLED",_e[_e.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",_e[_e.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",_e[_e.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",_e[_e.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",_e))(dr||{})});var ew=U((eQt,rV)=>{var $qe="2.0.0",eje=Number.MAX_SAFE_INTEGER||9007199254740991,tje=16;rV.exports={SEMVER_SPEC_VERSION:$qe,MAX_LENGTH:256,MAX_SAFE_INTEGER:eje,MAX_SAFE_COMPONENT_LENGTH:tje}});var tw=U((tQt,nV)=>{var rje=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};nV.exports=rje});var ed=U((Gp,iV)=>{var{MAX_SAFE_COMPONENT_LENGTH:GT}=ew(),nje=tw();Gp=iV.exports={};var ije=Gp.re=[],or=Gp.src=[],ar=Gp.t={},sje=0,Kr=(t,e,r)=>{let o=sje++;nje(t,o,e),ar[t]=o,or[o]=e,ije[o]=new RegExp(e,r?"g":void 0)};Kr("NUMERICIDENTIFIER","0|[1-9]\\d*");Kr("NUMERICIDENTIFIERLOOSE","[0-9]+");Kr("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");Kr("MAINVERSION",`(${or[ar.NUMERICIDENTIFIER]})\\.(${or[ar.NUMERICIDENTIFIER]})\\.(${or[ar.NUMERICIDENTIFIER]})`);Kr("MAINVERSIONLOOSE",`(${or[ar.NUMERICIDENTIFIERLOOSE]})\\.(${or[ar.NUMERICIDENTIFIERLOOSE]})\\.(${or[ar.NUMERICIDENTIFIERLOOSE]})`);Kr("PRERELEASEIDENTIFIER",`(?:${or[ar.NUMERICIDENTIFIER]}|${or[ar.NONNUMERICIDENTIFIER]})`);Kr("PRERELEASEIDENTIFIERLOOSE",`(?:${or[ar.NUMERICIDENTIFIERLOOSE]}|${or[ar.NONNUMERICIDENTIFIER]})`);Kr("PRERELEASE",`(?:-(${or[ar.PRERELEASEIDENTIFIER]}(?:\\.${or[ar.PRERELEASEIDENTIFIER]})*))`);Kr("PRERELEASELOOSE",`(?:-?(${or[ar.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${or[ar.PRERELEASEIDENTIFIERLOOSE]})*))`);Kr("BUILDIDENTIFIER","[0-9A-Za-z-]+");Kr("BUILD",`(?:\\+(${or[ar.BUILDIDENTIFIER]}(?:\\.${or[ar.BUILDIDENTIFIER]})*))`);Kr("FULLPLAIN",`v?${or[ar.MAINVERSION]}${or[ar.PRERELEASE]}?${or[ar.BUILD]}?`);Kr("FULL",`^${or[ar.FULLPLAIN]}$`);Kr("LOOSEPLAIN",`[v=\\s]*${or[ar.MAINVERSIONLOOSE]}${or[ar.PRERELEASELOOSE]}?${or[ar.BUILD]}?`);Kr("LOOSE",`^${or[ar.LOOSEPLAIN]}$`);Kr("GTLT","((?:<|>)?=?)");Kr("XRANGEIDENTIFIERLOOSE",`${or[ar.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Kr("XRANGEIDENTIFIER",`${or[ar.NUMERICIDENTIFIER]}|x|X|\\*`);Kr("XRANGEPLAIN",`[v=\\s]*(${or[ar.XRANGEIDENTIFIER]})(?:\\.(${or[ar.XRANGEIDENTIFIER]})(?:\\.(${or[ar.XRANGEIDENTIFIER]})(?:${or[ar.PRERELEASE]})?${or[ar.BUILD]}?)?)?`);Kr("XRANGEPLAINLOOSE",`[v=\\s]*(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:\\.(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:\\.(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:${or[ar.PRERELEASELOOSE]})?${or[ar.BUILD]}?)?)?`);Kr("XRANGE",`^${or[ar.GTLT]}\\s*${or[ar.XRANGEPLAIN]}$`);Kr("XRANGELOOSE",`^${or[ar.GTLT]}\\s*${or[ar.XRANGEPLAINLOOSE]}$`);Kr("COERCE",`(^|[^\\d])(\\d{1,${GT}})(?:\\.(\\d{1,${GT}}))?(?:\\.(\\d{1,${GT}}))?(?:$|[^\\d])`);Kr("COERCERTL",or[ar.COERCE],!0);Kr("LONETILDE","(?:~>?)");Kr("TILDETRIM",`(\\s*)${or[ar.LONETILDE]}\\s+`,!0);Gp.tildeTrimReplace="$1~";Kr("TILDE",`^${or[ar.LONETILDE]}${or[ar.XRANGEPLAIN]}$`);Kr("TILDELOOSE",`^${or[ar.LONETILDE]}${or[ar.XRANGEPLAINLOOSE]}$`);Kr("LONECARET","(?:\\^)");Kr("CARETTRIM",`(\\s*)${or[ar.LONECARET]}\\s+`,!0);Gp.caretTrimReplace="$1^";Kr("CARET",`^${or[ar.LONECARET]}${or[ar.XRANGEPLAIN]}$`);Kr("CARETLOOSE",`^${or[ar.LONECARET]}${or[ar.XRANGEPLAINLOOSE]}$`);Kr("COMPARATORLOOSE",`^${or[ar.GTLT]}\\s*(${or[ar.LOOSEPLAIN]})$|^$`);Kr("COMPARATOR",`^${or[ar.GTLT]}\\s*(${or[ar.FULLPLAIN]})$|^$`);Kr("COMPARATORTRIM",`(\\s*)${or[ar.GTLT]}\\s*(${or[ar.LOOSEPLAIN]}|${or[ar.XRANGEPLAIN]})`,!0);Gp.comparatorTrimReplace="$1$2$3";Kr("HYPHENRANGE",`^\\s*(${or[ar.XRANGEPLAIN]})\\s+-\\s+(${or[ar.XRANGEPLAIN]})\\s*$`);Kr("HYPHENRANGELOOSE",`^\\s*(${or[ar.XRANGEPLAINLOOSE]})\\s+-\\s+(${or[ar.XRANGEPLAINLOOSE]})\\s*$`);Kr("STAR","(<|>)?=?\\s*\\*");Kr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Kr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var rw=U((rQt,sV)=>{var oje=["includePrerelease","loose","rtl"],aje=t=>t?typeof t!="object"?{loose:!0}:oje.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};sV.exports=aje});var JD=U((nQt,lV)=>{var oV=/^[0-9]+$/,aV=(t,e)=>{let r=oV.test(t),o=oV.test(e);return r&&o&&(t=+t,e=+e),t===e?0:r&&!o?-1:o&&!r?1:t<e?-1:1},lje=(t,e)=>aV(e,t);lV.exports={compareIdentifiers:aV,rcompareIdentifiers:lje}});var Do=U((iQt,fV)=>{var VD=tw(),{MAX_LENGTH:cV,MAX_SAFE_INTEGER:zD}=ew(),{re:uV,t:AV}=ed(),cje=rw(),{compareIdentifiers:Iy}=JD(),tl=class{constructor(e,r){if(r=cje(r),e instanceof tl){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>cV)throw new TypeError(`version is longer than ${cV} characters`);VD("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let o=e.trim().match(r.loose?uV[AV.LOOSE]:uV[AV.FULL]);if(!o)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>zD||this.major<0)throw new TypeError("Invalid major version");if(this.minor>zD||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>zD||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n<zD)return n}return a}):this.prerelease=[],this.build=o[5]?o[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(VD("SemVer.compare",this.version,this.options,e),!(e instanceof tl)){if(typeof e=="string"&&e===this.version)return 0;e=new tl(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof tl||(e=new tl(e,this.options)),Iy(this.major,e.major)||Iy(this.minor,e.minor)||Iy(this.patch,e.patch)}comparePre(e){if(e instanceof tl||(e=new tl(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let o=this.prerelease[r],a=e.prerelease[r];if(VD("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return Iy(o,a)}while(++r)}compareBuild(e){e instanceof tl||(e=new tl(e,this.options));let r=0;do{let o=this.build[r],a=e.build[r];if(VD("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return Iy(o,a)}while(++r)}inc(e,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r),this.inc("pre",r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r),this.inc("pre",r);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);o===-1&&this.prerelease.push(0)}r&&(Iy(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};fV.exports=tl});var td=U((sQt,dV)=>{var{MAX_LENGTH:uje}=ew(),{re:pV,t:hV}=ed(),gV=Do(),Aje=rw(),fje=(t,e)=>{if(e=Aje(e),t instanceof gV)return t;if(typeof t!="string"||t.length>uje||!(e.loose?pV[hV.LOOSE]:pV[hV.FULL]).test(t))return null;try{return new gV(t,e)}catch{return null}};dV.exports=fje});var yV=U((oQt,mV)=>{var pje=td(),hje=(t,e)=>{let r=pje(t,e);return r?r.version:null};mV.exports=hje});var CV=U((aQt,EV)=>{var gje=td(),dje=(t,e)=>{let r=gje(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};EV.exports=dje});var BV=U((lQt,wV)=>{var IV=Do(),mje=(t,e,r,o)=>{typeof r=="string"&&(o=r,r=void 0);try{return new IV(t instanceof IV?t.version:t,r).inc(e,o).version}catch{return null}};wV.exports=mje});var Ml=U((cQt,DV)=>{var vV=Do(),yje=(t,e,r)=>new vV(t,r).compare(new vV(e,r));DV.exports=yje});var XD=U((uQt,SV)=>{var Eje=Ml(),Cje=(t,e,r)=>Eje(t,e,r)===0;SV.exports=Cje});var bV=U((AQt,xV)=>{var PV=td(),Ije=XD(),wje=(t,e)=>{if(Ije(t,e))return null;{let r=PV(t),o=PV(e),a=r.prerelease.length||o.prerelease.length,n=a?"pre":"",u=a?"prerelease":"";for(let A in r)if((A==="major"||A==="minor"||A==="patch")&&r[A]!==o[A])return n+A;return u}};xV.exports=wje});var kV=U((fQt,QV)=>{var Bje=Do(),vje=(t,e)=>new Bje(t,e).major;QV.exports=vje});var RV=U((pQt,FV)=>{var Dje=Do(),Sje=(t,e)=>new Dje(t,e).minor;FV.exports=Sje});var NV=U((hQt,TV)=>{var Pje=Do(),xje=(t,e)=>new Pje(t,e).patch;TV.exports=xje});var OV=U((gQt,LV)=>{var bje=td(),Qje=(t,e)=>{let r=bje(t,e);return r&&r.prerelease.length?r.prerelease:null};LV.exports=Qje});var UV=U((dQt,MV)=>{var kje=Ml(),Fje=(t,e,r)=>kje(e,t,r);MV.exports=Fje});var HV=U((mQt,_V)=>{var Rje=Ml(),Tje=(t,e)=>Rje(t,e,!0);_V.exports=Tje});var ZD=U((yQt,jV)=>{var qV=Do(),Nje=(t,e,r)=>{let o=new qV(t,r),a=new qV(e,r);return o.compare(a)||o.compareBuild(a)};jV.exports=Nje});var WV=U((EQt,GV)=>{var Lje=ZD(),Oje=(t,e)=>t.sort((r,o)=>Lje(r,o,e));GV.exports=Oje});var KV=U((CQt,YV)=>{var Mje=ZD(),Uje=(t,e)=>t.sort((r,o)=>Mje(o,r,e));YV.exports=Uje});var nw=U((IQt,JV)=>{var _je=Ml(),Hje=(t,e,r)=>_je(t,e,r)>0;JV.exports=Hje});var $D=U((wQt,VV)=>{var qje=Ml(),jje=(t,e,r)=>qje(t,e,r)<0;VV.exports=jje});var WT=U((BQt,zV)=>{var Gje=Ml(),Wje=(t,e,r)=>Gje(t,e,r)!==0;zV.exports=Wje});var eS=U((vQt,XV)=>{var Yje=Ml(),Kje=(t,e,r)=>Yje(t,e,r)>=0;XV.exports=Kje});var tS=U((DQt,ZV)=>{var Jje=Ml(),Vje=(t,e,r)=>Jje(t,e,r)<=0;ZV.exports=Vje});var YT=U((SQt,$V)=>{var zje=XD(),Xje=WT(),Zje=nw(),$je=eS(),e9e=$D(),t9e=tS(),r9e=(t,e,r,o)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return zje(t,r,o);case"!=":return Xje(t,r,o);case">":return Zje(t,r,o);case">=":return $je(t,r,o);case"<":return e9e(t,r,o);case"<=":return t9e(t,r,o);default:throw new TypeError(`Invalid operator: ${e}`)}};$V.exports=r9e});var tz=U((PQt,ez)=>{var n9e=Do(),i9e=td(),{re:rS,t:nS}=ed(),s9e=(t,e)=>{if(t instanceof n9e)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(rS[nS.COERCE]);else{let o;for(;(o=rS[nS.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||o.index+o[0].length!==r.index+r[0].length)&&(r=o),rS[nS.COERCERTL].lastIndex=o.index+o[1].length+o[2].length;rS[nS.COERCERTL].lastIndex=-1}return r===null?null:i9e(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};ez.exports=s9e});var nz=U((xQt,rz)=>{"use strict";rz.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var iS=U((bQt,iz)=>{"use strict";iz.exports=dn;dn.Node=rd;dn.create=dn;function dn(t){var e=this;if(e instanceof dn||(e=new dn),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(a){e.push(a)});else if(arguments.length>0)for(var r=0,o=arguments.length;r<o;r++)e.push(arguments[r]);return e}dn.prototype.removeNode=function(t){if(t.list!==this)throw new Error("removing node which does not belong to this list");var e=t.next,r=t.prev;return e&&(e.prev=r),r&&(r.next=e),t===this.head&&(this.head=e),t===this.tail&&(this.tail=r),t.list.length--,t.next=null,t.prev=null,t.list=null,e};dn.prototype.unshiftNode=function(t){if(t!==this.head){t.list&&t.list.removeNode(t);var e=this.head;t.list=this,t.next=e,e&&(e.prev=t),this.head=t,this.tail||(this.tail=t),this.length++}};dn.prototype.pushNode=function(t){if(t!==this.tail){t.list&&t.list.removeNode(t);var e=this.tail;t.list=this,t.prev=e,e&&(e.next=t),this.tail=t,this.head||(this.head=t),this.length++}};dn.prototype.push=function(){for(var t=0,e=arguments.length;t<e;t++)a9e(this,arguments[t]);return this.length};dn.prototype.unshift=function(){for(var t=0,e=arguments.length;t<e;t++)l9e(this,arguments[t]);return this.length};dn.prototype.pop=function(){if(!!this.tail){var t=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,t}};dn.prototype.shift=function(){if(!!this.head){var t=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,t}};dn.prototype.forEach=function(t,e){e=e||this;for(var r=this.head,o=0;r!==null;o++)t.call(e,r.value,o,this),r=r.next};dn.prototype.forEachReverse=function(t,e){e=e||this;for(var r=this.tail,o=this.length-1;r!==null;o--)t.call(e,r.value,o,this),r=r.prev};dn.prototype.get=function(t){for(var e=0,r=this.head;r!==null&&e<t;e++)r=r.next;if(e===t&&r!==null)return r.value};dn.prototype.getReverse=function(t){for(var e=0,r=this.tail;r!==null&&e<t;e++)r=r.prev;if(e===t&&r!==null)return r.value};dn.prototype.map=function(t,e){e=e||this;for(var r=new dn,o=this.head;o!==null;)r.push(t.call(e,o.value,this)),o=o.next;return r};dn.prototype.mapReverse=function(t,e){e=e||this;for(var r=new dn,o=this.tail;o!==null;)r.push(t.call(e,o.value,this)),o=o.prev;return r};dn.prototype.reduce=function(t,e){var r,o=this.head;if(arguments.length>1)r=e;else if(this.head)o=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;o!==null;a++)r=t(r,o.value,a),o=o.next;return r};dn.prototype.reduceReverse=function(t,e){var r,o=this.tail;if(arguments.length>1)r=e;else if(this.tail)o=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;o!==null;a--)r=t(r,o.value,a),o=o.prev;return r};dn.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};dn.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};dn.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new dn;if(e<t||e<0)return r;t<0&&(t=0),e>this.length&&(e=this.length);for(var o=0,a=this.head;a!==null&&o<t;o++)a=a.next;for(;a!==null&&o<e;o++,a=a.next)r.push(a.value);return r};dn.prototype.sliceReverse=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new dn;if(e<t||e<0)return r;t<0&&(t=0),e>this.length&&(e=this.length);for(var o=this.length,a=this.tail;a!==null&&o>e;o--)a=a.prev;for(;a!==null&&o>t;o--,a=a.prev)r.push(a.value);return r};dn.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var o=0,a=this.head;a!==null&&o<t;o++)a=a.next;for(var n=[],o=0;a&&o<e;o++)n.push(a.value),a=this.removeNode(a);a===null&&(a=this.tail),a!==this.head&&a!==this.tail&&(a=a.prev);for(var o=0;o<r.length;o++)a=o9e(this,a,r[o]);return n};dn.prototype.reverse=function(){for(var t=this.head,e=this.tail,r=t;r!==null;r=r.prev){var o=r.prev;r.prev=r.next,r.next=o}return this.head=e,this.tail=t,this};function o9e(t,e,r){var o=e===t.head?new rd(r,null,e,t):new rd(r,e,e.next,t);return o.next===null&&(t.tail=o),o.prev===null&&(t.head=o),t.length++,o}function a9e(t,e){t.tail=new rd(e,t.tail,null,t),t.head||(t.head=t.tail),t.length++}function l9e(t,e){t.head=new rd(e,null,t.head,t),t.tail||(t.tail=t.head),t.length++}function rd(t,e,r,o){if(!(this instanceof rd))return new rd(t,e,r,o);this.list=o,this.value=t,e?(e.next=this,this.prev=e):this.prev=null,r?(r.prev=this,this.next=r):this.next=null}try{nz()(dn)}catch{}});var cz=U((QQt,lz)=>{"use strict";var c9e=iS(),nd=Symbol("max"),If=Symbol("length"),wy=Symbol("lengthCalculator"),sw=Symbol("allowStale"),id=Symbol("maxAge"),Cf=Symbol("dispose"),sz=Symbol("noDisposeOnSet"),Ds=Symbol("lruList"),Uc=Symbol("cache"),az=Symbol("updateAgeOnGet"),KT=()=>1,VT=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[nd]=e.max||1/0,o=e.length||KT;if(this[wy]=typeof o!="function"?KT:o,this[sw]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[id]=e.maxAge||0,this[Cf]=e.dispose,this[sz]=e.noDisposeOnSet||!1,this[az]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[nd]=e||1/0,iw(this)}get max(){return this[nd]}set allowStale(e){this[sw]=!!e}get allowStale(){return this[sw]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[id]=e,iw(this)}get maxAge(){return this[id]}set lengthCalculator(e){typeof e!="function"&&(e=KT),e!==this[wy]&&(this[wy]=e,this[If]=0,this[Ds].forEach(r=>{r.length=this[wy](r.value,r.key),this[If]+=r.length})),iw(this)}get lengthCalculator(){return this[wy]}get length(){return this[If]}get itemCount(){return this[Ds].length}rforEach(e,r){r=r||this;for(let o=this[Ds].tail;o!==null;){let a=o.prev;oz(this,e,o,r),o=a}}forEach(e,r){r=r||this;for(let o=this[Ds].head;o!==null;){let a=o.next;oz(this,e,o,r),o=a}}keys(){return this[Ds].toArray().map(e=>e.key)}values(){return this[Ds].toArray().map(e=>e.value)}reset(){this[Cf]&&this[Ds]&&this[Ds].length&&this[Ds].forEach(e=>this[Cf](e.key,e.value)),this[Uc]=new Map,this[Ds]=new c9e,this[If]=0}dump(){return this[Ds].map(e=>sS(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ds]}set(e,r,o){if(o=o||this[id],o&&typeof o!="number")throw new TypeError("maxAge must be a number");let a=o?Date.now():0,n=this[wy](r,e);if(this[Uc].has(e)){if(n>this[nd])return By(this,this[Uc].get(e)),!1;let p=this[Uc].get(e).value;return this[Cf]&&(this[sz]||this[Cf](e,p.value)),p.now=a,p.maxAge=o,p.value=r,this[If]+=n-p.length,p.length=n,this.get(e),iw(this),!0}let u=new zT(e,r,n,a,o);return u.length>this[nd]?(this[Cf]&&this[Cf](e,r),!1):(this[If]+=u.length,this[Ds].unshift(u),this[Uc].set(e,this[Ds].head),iw(this),!0)}has(e){if(!this[Uc].has(e))return!1;let r=this[Uc].get(e).value;return!sS(this,r)}get(e){return JT(this,e,!0)}peek(e){return JT(this,e,!1)}pop(){let e=this[Ds].tail;return e?(By(this,e),e.value):null}del(e){By(this,this[Uc].get(e))}load(e){this.reset();let r=Date.now();for(let o=e.length-1;o>=0;o--){let a=e[o],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let u=n-r;u>0&&this.set(a.k,a.v,u)}}}prune(){this[Uc].forEach((e,r)=>JT(this,r,!1))}},JT=(t,e,r)=>{let o=t[Uc].get(e);if(o){let a=o.value;if(sS(t,a)){if(By(t,o),!t[sw])return}else r&&(t[az]&&(o.value.now=Date.now()),t[Ds].unshiftNode(o));return a.value}},sS=(t,e)=>{if(!e||!e.maxAge&&!t[id])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[id]&&r>t[id]},iw=t=>{if(t[If]>t[nd])for(let e=t[Ds].tail;t[If]>t[nd]&&e!==null;){let r=e.prev;By(t,e),e=r}},By=(t,e)=>{if(e){let r=e.value;t[Cf]&&t[Cf](r.key,r.value),t[If]-=r.length,t[Uc].delete(r.key),t[Ds].removeNode(e)}},zT=class{constructor(e,r,o,a,n){this.key=e,this.value=r,this.length=o,this.now=a,this.maxAge=n||0}},oz=(t,e,r,o)=>{let a=r.value;sS(t,a)&&(By(t,r),t[sw]||(a=void 0)),a&&e.call(o,a.value,a.key,t)};lz.exports=VT});var Ul=U((kQt,pz)=>{var sd=class{constructor(e,r){if(r=A9e(r),e instanceof sd)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new sd(e.raw,r);if(e instanceof XT)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(a=>!Az(a[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&d9e(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let o=`parseRange:${Object.keys(this.options).join(",")}:${e}`,a=uz.get(o);if(a)return a;let n=this.options.loose,u=n?va[Yo.HYPHENRANGELOOSE]:va[Yo.HYPHENRANGE];e=e.replace(u,S9e(this.options.includePrerelease)),wi("hyphen replace",e),e=e.replace(va[Yo.COMPARATORTRIM],p9e),wi("comparator trim",e),e=e.replace(va[Yo.TILDETRIM],h9e),e=e.replace(va[Yo.CARETTRIM],g9e),e=e.split(/\s+/).join(" ");let A=e.split(" ").map(w=>m9e(w,this.options)).join(" ").split(/\s+/).map(w=>D9e(w,this.options));n&&(A=A.filter(w=>(wi("loose invalid filter",w,this.options),!!w.match(va[Yo.COMPARATORLOOSE])))),wi("range list",A);let p=new Map,h=A.map(w=>new XT(w,this.options));for(let w of h){if(Az(w))return[w];p.set(w.value,w)}p.size>1&&p.has("")&&p.delete("");let C=[...p.values()];return uz.set(o,C),C}intersects(e,r){if(!(e instanceof sd))throw new TypeError("a Range is required");return this.set.some(o=>fz(o,r)&&e.set.some(a=>fz(a,r)&&o.every(n=>a.every(u=>n.intersects(u,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new f9e(e,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(P9e(this.set[r],e,this.options))return!0;return!1}};pz.exports=sd;var u9e=cz(),uz=new u9e({max:1e3}),A9e=rw(),XT=ow(),wi=tw(),f9e=Do(),{re:va,t:Yo,comparatorTrimReplace:p9e,tildeTrimReplace:h9e,caretTrimReplace:g9e}=ed(),Az=t=>t.value==="<0.0.0-0",d9e=t=>t.value==="",fz=(t,e)=>{let r=!0,o=t.slice(),a=o.pop();for(;r&&o.length;)r=o.every(n=>a.intersects(n,e)),a=o.pop();return r},m9e=(t,e)=>(wi("comp",t,e),t=C9e(t,e),wi("caret",t),t=y9e(t,e),wi("tildes",t),t=w9e(t,e),wi("xrange",t),t=v9e(t,e),wi("stars",t),t),Ko=t=>!t||t.toLowerCase()==="x"||t==="*",y9e=(t,e)=>t.trim().split(/\s+/).map(r=>E9e(r,e)).join(" "),E9e=(t,e)=>{let r=e.loose?va[Yo.TILDELOOSE]:va[Yo.TILDE];return t.replace(r,(o,a,n,u,A)=>{wi("tilde",t,o,a,n,u,A);let p;return Ko(a)?p="":Ko(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:Ko(u)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:A?(wi("replaceTilde pr",A),p=`>=${a}.${n}.${u}-${A} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${u} <${a}.${+n+1}.0-0`,wi("tilde return",p),p})},C9e=(t,e)=>t.trim().split(/\s+/).map(r=>I9e(r,e)).join(" "),I9e=(t,e)=>{wi("caret",t,e);let r=e.loose?va[Yo.CARETLOOSE]:va[Yo.CARET],o=e.includePrerelease?"-0":"";return t.replace(r,(a,n,u,A,p)=>{wi("caret",t,a,n,u,A,p);let h;return Ko(n)?h="":Ko(u)?h=`>=${n}.0.0${o} <${+n+1}.0.0-0`:Ko(A)?n==="0"?h=`>=${n}.${u}.0${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.0${o} <${+n+1}.0.0-0`:p?(wi("replaceCaret pr",p),n==="0"?u==="0"?h=`>=${n}.${u}.${A}-${p} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}-${p} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A}-${p} <${+n+1}.0.0-0`):(wi("no pr"),n==="0"?u==="0"?h=`>=${n}.${u}.${A}${o} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A} <${+n+1}.0.0-0`),wi("caret return",h),h})},w9e=(t,e)=>(wi("replaceXRanges",t,e),t.split(/\s+/).map(r=>B9e(r,e)).join(" ")),B9e=(t,e)=>{t=t.trim();let r=e.loose?va[Yo.XRANGELOOSE]:va[Yo.XRANGE];return t.replace(r,(o,a,n,u,A,p)=>{wi("xRange",t,o,a,n,u,A,p);let h=Ko(n),C=h||Ko(u),w=C||Ko(A),v=w;return a==="="&&v&&(a=""),p=e.includePrerelease?"-0":"",h?a===">"||a==="<"?o="<0.0.0-0":o="*":a&&v?(C&&(u=0),A=0,a===">"?(a=">=",C?(n=+n+1,u=0,A=0):(u=+u+1,A=0)):a==="<="&&(a="<",C?n=+n+1:u=+u+1),a==="<"&&(p="-0"),o=`${a+n}.${u}.${A}${p}`):C?o=`>=${n}.0.0${p} <${+n+1}.0.0-0`:w&&(o=`>=${n}.${u}.0${p} <${n}.${+u+1}.0-0`),wi("xRange return",o),o})},v9e=(t,e)=>(wi("replaceStars",t,e),t.trim().replace(va[Yo.STAR],"")),D9e=(t,e)=>(wi("replaceGTE0",t,e),t.trim().replace(va[e.includePrerelease?Yo.GTE0PRE:Yo.GTE0],"")),S9e=t=>(e,r,o,a,n,u,A,p,h,C,w,v,b)=>(Ko(o)?r="":Ko(a)?r=`>=${o}.0.0${t?"-0":""}`:Ko(n)?r=`>=${o}.${a}.0${t?"-0":""}`:u?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Ko(h)?p="":Ko(C)?p=`<${+h+1}.0.0-0`:Ko(w)?p=`<${h}.${+C+1}.0-0`:v?p=`<=${h}.${C}.${w}-${v}`:t?p=`<${h}.${C}.${+w+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),P9e=(t,e,r)=>{for(let o=0;o<t.length;o++)if(!t[o].test(e))return!1;if(e.prerelease.length&&!r.includePrerelease){for(let o=0;o<t.length;o++)if(wi(t[o].semver),t[o].semver!==XT.ANY&&t[o].semver.prerelease.length>0){let a=t[o].semver;if(a.major===e.major&&a.minor===e.minor&&a.patch===e.patch)return!0}return!1}return!0}});var ow=U((FQt,yz)=>{var aw=Symbol("SemVer ANY"),vy=class{static get ANY(){return aw}constructor(e,r){if(r=x9e(r),e instanceof vy){if(e.loose===!!r.loose)return e;e=e.value}$T("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===aw?this.value="":this.value=this.operator+this.semver.version,$T("comp",this)}parse(e){let r=this.options.loose?hz[gz.COMPARATORLOOSE]:hz[gz.COMPARATOR],o=e.match(r);if(!o)throw new TypeError(`Invalid comparator: ${e}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new dz(o[2],this.options.loose):this.semver=aw}toString(){return this.value}test(e){if($T("Comparator.test",e,this.options.loose),this.semver===aw||e===aw)return!0;if(typeof e=="string")try{e=new dz(e,this.options)}catch{return!1}return ZT(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof vy))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new mz(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new mz(this.value,r).test(e.semver);let o=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),a=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),n=this.semver.version===e.semver.version,u=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),A=ZT(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),p=ZT(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return o||a||n&&u||A||p}};yz.exports=vy;var x9e=rw(),{re:hz,t:gz}=ed(),ZT=YT(),$T=tw(),dz=Do(),mz=Ul()});var lw=U((RQt,Ez)=>{var b9e=Ul(),Q9e=(t,e,r)=>{try{e=new b9e(e,r)}catch{return!1}return e.test(t)};Ez.exports=Q9e});var Iz=U((TQt,Cz)=>{var k9e=Ul(),F9e=(t,e)=>new k9e(t,e).set.map(r=>r.map(o=>o.value).join(" ").trim().split(" "));Cz.exports=F9e});var Bz=U((NQt,wz)=>{var R9e=Do(),T9e=Ul(),N9e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new T9e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===-1)&&(o=u,a=new R9e(o,r))}),o};wz.exports=N9e});var Dz=U((LQt,vz)=>{var L9e=Do(),O9e=Ul(),M9e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new O9e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===1)&&(o=u,a=new L9e(o,r))}),o};vz.exports=M9e});var xz=U((OQt,Pz)=>{var eN=Do(),U9e=Ul(),Sz=nw(),_9e=(t,e)=>{t=new U9e(t,e);let r=new eN("0.0.0");if(t.test(r)||(r=new eN("0.0.0-0"),t.test(r)))return r;r=null;for(let o=0;o<t.set.length;++o){let a=t.set[o],n=null;a.forEach(u=>{let A=new eN(u.semver.version);switch(u.operator){case">":A.prerelease.length===0?A.patch++:A.prerelease.push(0),A.raw=A.format();case"":case">=":(!n||Sz(A,n))&&(n=A);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),n&&(!r||Sz(r,n))&&(r=n)}return r&&t.test(r)?r:null};Pz.exports=_9e});var Qz=U((MQt,bz)=>{var H9e=Ul(),q9e=(t,e)=>{try{return new H9e(t,e).range||"*"}catch{return null}};bz.exports=q9e});var oS=U((UQt,Tz)=>{var j9e=Do(),Rz=ow(),{ANY:G9e}=Rz,W9e=Ul(),Y9e=lw(),kz=nw(),Fz=$D(),K9e=tS(),J9e=eS(),V9e=(t,e,r,o)=>{t=new j9e(t,o),e=new W9e(e,o);let a,n,u,A,p;switch(r){case">":a=kz,n=K9e,u=Fz,A=">",p=">=";break;case"<":a=Fz,n=J9e,u=kz,A="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Y9e(t,e,o))return!1;for(let h=0;h<e.set.length;++h){let C=e.set[h],w=null,v=null;if(C.forEach(b=>{b.semver===G9e&&(b=new Rz(">=0.0.0")),w=w||b,v=v||b,a(b.semver,w.semver,o)?w=b:u(b.semver,v.semver,o)&&(v=b)}),w.operator===A||w.operator===p||(!v.operator||v.operator===A)&&n(t,v.semver))return!1;if(v.operator===p&&u(t,v.semver))return!1}return!0};Tz.exports=V9e});var Lz=U((_Qt,Nz)=>{var z9e=oS(),X9e=(t,e,r)=>z9e(t,e,">",r);Nz.exports=X9e});var Mz=U((HQt,Oz)=>{var Z9e=oS(),$9e=(t,e,r)=>Z9e(t,e,"<",r);Oz.exports=$9e});var Hz=U((qQt,_z)=>{var Uz=Ul(),e5e=(t,e,r)=>(t=new Uz(t,r),e=new Uz(e,r),t.intersects(e));_z.exports=e5e});var jz=U((jQt,qz)=>{var t5e=lw(),r5e=Ml();qz.exports=(t,e,r)=>{let o=[],a=null,n=null,u=t.sort((C,w)=>r5e(C,w,r));for(let C of u)t5e(C,e,r)?(n=C,a||(a=C)):(n&&o.push([a,n]),n=null,a=null);a&&o.push([a,null]);let A=[];for(let[C,w]of o)C===w?A.push(C):!w&&C===u[0]?A.push("*"):w?C===u[0]?A.push(`<=${w}`):A.push(`${C} - ${w}`):A.push(`>=${C}`);let p=A.join(" || "),h=typeof e.raw=="string"?e.raw:String(e);return p.length<h.length?p:e}});var Jz=U((GQt,Kz)=>{var Gz=Ul(),aS=ow(),{ANY:tN}=aS,cw=lw(),rN=Ml(),n5e=(t,e,r={})=>{if(t===e)return!0;t=new Gz(t,r),e=new Gz(e,r);let o=!1;e:for(let a of t.set){for(let n of e.set){let u=i5e(a,n,r);if(o=o||u!==null,u)continue e}if(o)return!1}return!0},i5e=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===tN){if(e.length===1&&e[0].semver===tN)return!0;r.includePrerelease?t=[new aS(">=0.0.0-0")]:t=[new aS(">=0.0.0")]}if(e.length===1&&e[0].semver===tN){if(r.includePrerelease)return!0;e=[new aS(">=0.0.0")]}let o=new Set,a,n;for(let b of t)b.operator===">"||b.operator===">="?a=Wz(a,b,r):b.operator==="<"||b.operator==="<="?n=Yz(n,b,r):o.add(b.semver);if(o.size>1)return null;let u;if(a&&n){if(u=rN(a.semver,n.semver,r),u>0)return null;if(u===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let b of o){if(a&&!cw(b,String(a),r)||n&&!cw(b,String(n),r))return null;for(let E of e)if(!cw(b,String(E),r))return!1;return!0}let A,p,h,C,w=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,v=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;w&&w.prerelease.length===1&&n.operator==="<"&&w.prerelease[0]===0&&(w=!1);for(let b of e){if(C=C||b.operator===">"||b.operator===">=",h=h||b.operator==="<"||b.operator==="<=",a){if(v&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===v.major&&b.semver.minor===v.minor&&b.semver.patch===v.patch&&(v=!1),b.operator===">"||b.operator===">="){if(A=Wz(a,b,r),A===b&&A!==a)return!1}else if(a.operator===">="&&!cw(a.semver,String(b),r))return!1}if(n){if(w&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===w.major&&b.semver.minor===w.minor&&b.semver.patch===w.patch&&(w=!1),b.operator==="<"||b.operator==="<="){if(p=Yz(n,b,r),p===b&&p!==n)return!1}else if(n.operator==="<="&&!cw(n.semver,String(b),r))return!1}if(!b.operator&&(n||a)&&u!==0)return!1}return!(a&&h&&!n&&u!==0||n&&C&&!a&&u!==0||v||w)},Wz=(t,e,r)=>{if(!t)return e;let o=rN(t.semver,e.semver,r);return o>0?t:o<0||e.operator===">"&&t.operator===">="?e:t},Yz=(t,e,r)=>{if(!t)return e;let o=rN(t.semver,e.semver,r);return o<0?t:o>0||e.operator==="<"&&t.operator==="<="?e:t};Kz.exports=n5e});var ii=U((WQt,Vz)=>{var nN=ed();Vz.exports={re:nN.re,src:nN.src,tokens:nN.t,SEMVER_SPEC_VERSION:ew().SEMVER_SPEC_VERSION,SemVer:Do(),compareIdentifiers:JD().compareIdentifiers,rcompareIdentifiers:JD().rcompareIdentifiers,parse:td(),valid:yV(),clean:CV(),inc:BV(),diff:bV(),major:kV(),minor:RV(),patch:NV(),prerelease:OV(),compare:Ml(),rcompare:UV(),compareLoose:HV(),compareBuild:ZD(),sort:WV(),rsort:KV(),gt:nw(),lt:$D(),eq:XD(),neq:WT(),gte:eS(),lte:tS(),cmp:YT(),coerce:tz(),Comparator:ow(),Range:Ul(),satisfies:lw(),toComparators:Iz(),maxSatisfying:Bz(),minSatisfying:Dz(),minVersion:xz(),validRange:Qz(),outside:oS(),gtr:Lz(),ltr:Mz(),intersects:Hz(),simplifyRange:jz(),subset:Jz()}});var Xz=U((YQt,zz)=>{"use strict";function s5e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function od(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,od)}s5e(od,Error);od.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var C="",w;for(w=0;w<h.parts.length;w++)C+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+C+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(C){return"\\x0"+o(C)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(C){return"\\x"+o(C)})}function u(h){return r[h.type](h)}function A(h){var C=new Array(h.length),w,v;for(w=0;w<h.length;w++)C[w]=u(h[w]);if(C.sort(),C.length>0){for(w=1,v=1;w<C.length;w++)C[w-1]!==C[w]&&(C[v]=C[w],v++);C.length=v}switch(C.length){case 1:return C[0];case 2:return C[0]+" or "+C[1];default:return C.slice(0,-1).join(", ")+", or "+C[C.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function o5e(t,e){e=e!==void 0?e:{};var r={},o={Expression:y},a=y,n="|",u=Me("|",!1),A="&",p=Me("&",!1),h="^",C=Me("^",!1),w=function($,ie){return!!ie.reduce((ke,Ne)=>{switch(Ne[1]){case"|":return ke|Ne[3];case"&":return ke&Ne[3];case"^":return ke^Ne[3]}},$)},v="!",b=Me("!",!1),E=function($){return!$},R="(",L=Me("(",!1),_=")",J=Me(")",!1),re=function($){return $},oe=/^[^ \t\n\r()!|&\^]/,pe=Te([" "," ",` | 126 | `)}};rw.paths=[["-v"],["--version"]]});var jT={};Yt(jT,{DefinitionsCommand:()=>ew,HelpCommand:()=>tw,VersionCommand:()=>rw});var WV=dt(()=>{qV();jV();GV()});function YV(t,e,r){let[o,a]=Ku(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Go({definition(p){p.addOption({names:u,arity:n,hidden:a==null?void 0:a.hidden,description:a==null?void 0:a.description,required:a.required})},transformer(p,h,E){let w=typeof o<"u"?[...o]:void 0;for(let{name:v,value:b}of E.options)!A.has(v)||(w=w??[],w.push(b));return w}})}var KV=dt(()=>{Ef()});function VV(t,e,r){let[o,a]=Ku(e,r??{}),n=t.split(","),u=new Set(n);return Go({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:w,value:v}of h.options)!u.has(w)||(E=v);return E}})}var JV=dt(()=>{Ef()});function zV(t,e,r){let[o,a]=Ku(e,r??{}),n=t.split(","),u=new Set(n);return Go({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:w,value:v}of h.options)!u.has(w)||(E??(E=0),v?E+=1:E=0);return E}})}var XV=dt(()=>{Ef()});function ZV(t={}){return Go({definition(e,r){var o;e.addProxy({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){return o.positionals.map(({value:a})=>a)}})}var $V=dt(()=>{Ef()});function eJ(t={}){return Go({definition(e,r){var o;e.addRest({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){let a=u=>{let A=o.positionals[u];return A.extra===rl||A.extra===!1&&u<e.arity.leading.length},n=0;for(;n<o.positionals.length&&a(n);)n+=1;return o.positionals.splice(0,n).map(({value:u})=>u)}})}var tJ=dt(()=>{XD();Ef()});function aje(t,e,r){let[o,a]=Ku(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Go({definition(p){p.addOption({names:u,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,E,w){let v,b=o;typeof a.env<"u"&&w.env[a.env]&&(v=a.env,b=w.env[a.env]);for(let{name:C,value:R}of E.options)!A.has(C)||(v=C,b=R);return typeof b=="string"?XI(v??h,b,a.validator):b}})}function lje(t={}){let{required:e=!0}=t;return Go({definition(r,o){var a;r.addPositional({name:(a=t.name)!==null&&a!==void 0?a:o,required:t.required})},transformer(r,o,a){var n;for(let u=0;u<a.positionals.length;++u){if(a.positionals[u].extra===rl||e&&a.positionals[u].extra===!0||!e&&a.positionals[u].extra===!1)continue;let[A]=a.positionals.splice(u,1);return XI((n=t.name)!==null&&n!==void 0?n:o,A.value,t.validator)}}})}function rJ(t,...e){return typeof t=="string"?aje(t,...e):lje(t)}var nJ=dt(()=>{XD();Ef()});var fe={};Yt(fe,{Array:()=>YV,Boolean:()=>VV,Counter:()=>zV,Proxy:()=>ZV,Rest:()=>eJ,String:()=>rJ,applyValidator:()=>XI,cleanValidationError:()=>WD,formatError:()=>zI,isOptionSymbol:()=>JI,makeCommandOption:()=>Go,rerouteArguments:()=>Ku});var iJ=dt(()=>{Ef();KV();JV();XV();$V();tJ();nJ()});var nw={};Yt(nw,{Builtins:()=>jT,Cli:()=>vo,Command:()=>it,Option:()=>fe,UsageError:()=>ot,formatMarkdownish:()=>Bo,run:()=>UV,runExit:()=>MV});var _t=dt(()=>{GD();RT();td();HV();WV();iJ()});var oJ=U((AQt,sJ)=>{"use strict";sJ.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var rd=U((fQt,GT)=>{"use strict";var cje=oJ(),aJ=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,o=()=>{r--,e.length>0&&e.shift()()},a=(A,p,...h)=>{r++;let E=cje(A,...h);p(E),E.then(o,o)},n=(A,p,...h)=>{r<t?a(A,p,...h):e.push(a.bind(null,A,p,...h))},u=(A,...p)=>new Promise(h=>n(A,h,...p));return Object.defineProperties(u,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),u};GT.exports=aJ;GT.exports.default=aJ});function Vu(t){return`YN${t.toString(10).padStart(4,"0")}`}function $D(t){let e=Number(t.slice(2));if(typeof dr[e]>"u")throw new Error(`Unknown message name: "${t}"`);return e}var dr,eS=dt(()=>{dr=(Ue=>(Ue[Ue.UNNAMED=0]="UNNAMED",Ue[Ue.EXCEPTION=1]="EXCEPTION",Ue[Ue.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",Ue[Ue.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",Ue[Ue.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",Ue[Ue.BUILD_DISABLED=5]="BUILD_DISABLED",Ue[Ue.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",Ue[Ue.MUST_BUILD=7]="MUST_BUILD",Ue[Ue.MUST_REBUILD=8]="MUST_REBUILD",Ue[Ue.BUILD_FAILED=9]="BUILD_FAILED",Ue[Ue.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",Ue[Ue.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",Ue[Ue.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",Ue[Ue.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",Ue[Ue.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",Ue[Ue.REMOTE_INVALID=15]="REMOTE_INVALID",Ue[Ue.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",Ue[Ue.RESOLUTION_PACK=17]="RESOLUTION_PACK",Ue[Ue.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",Ue[Ue.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",Ue[Ue.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",Ue[Ue.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",Ue[Ue.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",Ue[Ue.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",Ue[Ue.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",Ue[Ue.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",Ue[Ue.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",Ue[Ue.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",Ue[Ue.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",Ue[Ue.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",Ue[Ue.FETCH_FAILED=30]="FETCH_FAILED",Ue[Ue.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",Ue[Ue.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",Ue[Ue.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",Ue[Ue.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",Ue[Ue.NETWORK_ERROR=35]="NETWORK_ERROR",Ue[Ue.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",Ue[Ue.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",Ue[Ue.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",Ue[Ue.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",Ue[Ue.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",Ue[Ue.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",Ue[Ue.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",Ue[Ue.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",Ue[Ue.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",Ue[Ue.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",Ue[Ue.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",Ue[Ue.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",Ue[Ue.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",Ue[Ue.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",Ue[Ue.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",Ue[Ue.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",Ue[Ue.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",Ue[Ue.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",Ue[Ue.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",Ue[Ue.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",Ue[Ue.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",Ue[Ue.INVALID_MANIFEST=57]="INVALID_MANIFEST",Ue[Ue.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",Ue[Ue.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",Ue[Ue.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",Ue[Ue.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",Ue[Ue.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",Ue[Ue.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",Ue[Ue.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",Ue[Ue.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",Ue[Ue.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",Ue[Ue.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",Ue[Ue.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",Ue[Ue.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",Ue[Ue.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",Ue[Ue.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",Ue[Ue.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",Ue[Ue.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",Ue[Ue.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",Ue[Ue.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",Ue[Ue.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",Ue[Ue.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",Ue[Ue.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",Ue[Ue.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",Ue[Ue.NETWORK_DISABLED=80]="NETWORK_DISABLED",Ue[Ue.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",Ue[Ue.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",Ue[Ue.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",Ue[Ue.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",Ue))(dr||{})});var iw=U((hQt,lJ)=>{var uje="2.0.0",Aje=Number.MAX_SAFE_INTEGER||9007199254740991,fje=16;lJ.exports={SEMVER_SPEC_VERSION:uje,MAX_LENGTH:256,MAX_SAFE_INTEGER:Aje,MAX_SAFE_COMPONENT_LENGTH:fje}});var sw=U((gQt,cJ)=>{var pje=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};cJ.exports=pje});var nd=U((Wp,uJ)=>{var{MAX_SAFE_COMPONENT_LENGTH:WT}=iw(),hje=sw();Wp=uJ.exports={};var gje=Wp.re=[],or=Wp.src=[],ar=Wp.t={},dje=0,Kr=(t,e,r)=>{let o=dje++;hje(t,o,e),ar[t]=o,or[o]=e,gje[o]=new RegExp(e,r?"g":void 0)};Kr("NUMERICIDENTIFIER","0|[1-9]\\d*");Kr("NUMERICIDENTIFIERLOOSE","[0-9]+");Kr("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");Kr("MAINVERSION",`(${or[ar.NUMERICIDENTIFIER]})\\.(${or[ar.NUMERICIDENTIFIER]})\\.(${or[ar.NUMERICIDENTIFIER]})`);Kr("MAINVERSIONLOOSE",`(${or[ar.NUMERICIDENTIFIERLOOSE]})\\.(${or[ar.NUMERICIDENTIFIERLOOSE]})\\.(${or[ar.NUMERICIDENTIFIERLOOSE]})`);Kr("PRERELEASEIDENTIFIER",`(?:${or[ar.NUMERICIDENTIFIER]}|${or[ar.NONNUMERICIDENTIFIER]})`);Kr("PRERELEASEIDENTIFIERLOOSE",`(?:${or[ar.NUMERICIDENTIFIERLOOSE]}|${or[ar.NONNUMERICIDENTIFIER]})`);Kr("PRERELEASE",`(?:-(${or[ar.PRERELEASEIDENTIFIER]}(?:\\.${or[ar.PRERELEASEIDENTIFIER]})*))`);Kr("PRERELEASELOOSE",`(?:-?(${or[ar.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${or[ar.PRERELEASEIDENTIFIERLOOSE]})*))`);Kr("BUILDIDENTIFIER","[0-9A-Za-z-]+");Kr("BUILD",`(?:\\+(${or[ar.BUILDIDENTIFIER]}(?:\\.${or[ar.BUILDIDENTIFIER]})*))`);Kr("FULLPLAIN",`v?${or[ar.MAINVERSION]}${or[ar.PRERELEASE]}?${or[ar.BUILD]}?`);Kr("FULL",`^${or[ar.FULLPLAIN]}$`);Kr("LOOSEPLAIN",`[v=\\s]*${or[ar.MAINVERSIONLOOSE]}${or[ar.PRERELEASELOOSE]}?${or[ar.BUILD]}?`);Kr("LOOSE",`^${or[ar.LOOSEPLAIN]}$`);Kr("GTLT","((?:<|>)?=?)");Kr("XRANGEIDENTIFIERLOOSE",`${or[ar.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Kr("XRANGEIDENTIFIER",`${or[ar.NUMERICIDENTIFIER]}|x|X|\\*`);Kr("XRANGEPLAIN",`[v=\\s]*(${or[ar.XRANGEIDENTIFIER]})(?:\\.(${or[ar.XRANGEIDENTIFIER]})(?:\\.(${or[ar.XRANGEIDENTIFIER]})(?:${or[ar.PRERELEASE]})?${or[ar.BUILD]}?)?)?`);Kr("XRANGEPLAINLOOSE",`[v=\\s]*(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:\\.(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:\\.(${or[ar.XRANGEIDENTIFIERLOOSE]})(?:${or[ar.PRERELEASELOOSE]})?${or[ar.BUILD]}?)?)?`);Kr("XRANGE",`^${or[ar.GTLT]}\\s*${or[ar.XRANGEPLAIN]}$`);Kr("XRANGELOOSE",`^${or[ar.GTLT]}\\s*${or[ar.XRANGEPLAINLOOSE]}$`);Kr("COERCE",`(^|[^\\d])(\\d{1,${WT}})(?:\\.(\\d{1,${WT}}))?(?:\\.(\\d{1,${WT}}))?(?:$|[^\\d])`);Kr("COERCERTL",or[ar.COERCE],!0);Kr("LONETILDE","(?:~>?)");Kr("TILDETRIM",`(\\s*)${or[ar.LONETILDE]}\\s+`,!0);Wp.tildeTrimReplace="$1~";Kr("TILDE",`^${or[ar.LONETILDE]}${or[ar.XRANGEPLAIN]}$`);Kr("TILDELOOSE",`^${or[ar.LONETILDE]}${or[ar.XRANGEPLAINLOOSE]}$`);Kr("LONECARET","(?:\\^)");Kr("CARETTRIM",`(\\s*)${or[ar.LONECARET]}\\s+`,!0);Wp.caretTrimReplace="$1^";Kr("CARET",`^${or[ar.LONECARET]}${or[ar.XRANGEPLAIN]}$`);Kr("CARETLOOSE",`^${or[ar.LONECARET]}${or[ar.XRANGEPLAINLOOSE]}$`);Kr("COMPARATORLOOSE",`^${or[ar.GTLT]}\\s*(${or[ar.LOOSEPLAIN]})$|^$`);Kr("COMPARATOR",`^${or[ar.GTLT]}\\s*(${or[ar.FULLPLAIN]})$|^$`);Kr("COMPARATORTRIM",`(\\s*)${or[ar.GTLT]}\\s*(${or[ar.LOOSEPLAIN]}|${or[ar.XRANGEPLAIN]})`,!0);Wp.comparatorTrimReplace="$1$2$3";Kr("HYPHENRANGE",`^\\s*(${or[ar.XRANGEPLAIN]})\\s+-\\s+(${or[ar.XRANGEPLAIN]})\\s*$`);Kr("HYPHENRANGELOOSE",`^\\s*(${or[ar.XRANGEPLAINLOOSE]})\\s+-\\s+(${or[ar.XRANGEPLAINLOOSE]})\\s*$`);Kr("STAR","(<|>)?=?\\s*\\*");Kr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Kr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var ow=U((dQt,AJ)=>{var mje=["includePrerelease","loose","rtl"],yje=t=>t?typeof t!="object"?{loose:!0}:mje.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};AJ.exports=yje});var tS=U((mQt,hJ)=>{var fJ=/^[0-9]+$/,pJ=(t,e)=>{let r=fJ.test(t),o=fJ.test(e);return r&&o&&(t=+t,e=+e),t===e?0:r&&!o?-1:o&&!r?1:t<e?-1:1},Cje=(t,e)=>pJ(e,t);hJ.exports={compareIdentifiers:pJ,rcompareIdentifiers:Cje}});var Do=U((yQt,yJ)=>{var rS=sw(),{MAX_LENGTH:gJ,MAX_SAFE_INTEGER:nS}=iw(),{re:dJ,t:mJ}=nd(),Eje=ow(),{compareIdentifiers:Sy}=tS(),nl=class{constructor(e,r){if(r=Eje(r),e instanceof nl){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>gJ)throw new TypeError(`version is longer than ${gJ} characters`);rS("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let o=e.trim().match(r.loose?dJ[mJ.LOOSE]:dJ[mJ.FULL]);if(!o)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>nS||this.major<0)throw new TypeError("Invalid major version");if(this.minor>nS||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>nS||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n<nS)return n}return a}):this.prerelease=[],this.build=o[5]?o[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(rS("SemVer.compare",this.version,this.options,e),!(e instanceof nl)){if(typeof e=="string"&&e===this.version)return 0;e=new nl(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof nl||(e=new nl(e,this.options)),Sy(this.major,e.major)||Sy(this.minor,e.minor)||Sy(this.patch,e.patch)}comparePre(e){if(e instanceof nl||(e=new nl(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let o=this.prerelease[r],a=e.prerelease[r];if(rS("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return Sy(o,a)}while(++r)}compareBuild(e){e instanceof nl||(e=new nl(e,this.options));let r=0;do{let o=this.build[r],a=e.build[r];if(rS("prerelease compare",r,o,a),o===void 0&&a===void 0)return 0;if(a===void 0)return 1;if(o===void 0)return-1;if(o===a)continue;return Sy(o,a)}while(++r)}inc(e,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r),this.inc("pre",r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r),this.inc("pre",r);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);o===-1&&this.prerelease.push(0)}r&&(Sy(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};yJ.exports=nl});var id=U((CQt,wJ)=>{var{MAX_LENGTH:Ije}=iw(),{re:CJ,t:EJ}=nd(),IJ=Do(),wje=ow(),Bje=(t,e)=>{if(e=wje(e),t instanceof IJ)return t;if(typeof t!="string"||t.length>Ije||!(e.loose?CJ[EJ.LOOSE]:CJ[EJ.FULL]).test(t))return null;try{return new IJ(t,e)}catch{return null}};wJ.exports=Bje});var vJ=U((EQt,BJ)=>{var vje=id(),Dje=(t,e)=>{let r=vje(t,e);return r?r.version:null};BJ.exports=Dje});var SJ=U((IQt,DJ)=>{var Sje=id(),Pje=(t,e)=>{let r=Sje(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};DJ.exports=Pje});var bJ=U((wQt,xJ)=>{var PJ=Do(),xje=(t,e,r,o)=>{typeof r=="string"&&(o=r,r=void 0);try{return new PJ(t instanceof PJ?t.version:t,r).inc(e,o).version}catch{return null}};xJ.exports=xje});var Hl=U((BQt,kJ)=>{var QJ=Do(),bje=(t,e,r)=>new QJ(t,r).compare(new QJ(e,r));kJ.exports=bje});var iS=U((vQt,FJ)=>{var Qje=Hl(),kje=(t,e,r)=>Qje(t,e,r)===0;FJ.exports=kje});var NJ=U((DQt,TJ)=>{var RJ=id(),Fje=iS(),Rje=(t,e)=>{if(Fje(t,e))return null;{let r=RJ(t),o=RJ(e),a=r.prerelease.length||o.prerelease.length,n=a?"pre":"",u=a?"prerelease":"";for(let A in r)if((A==="major"||A==="minor"||A==="patch")&&r[A]!==o[A])return n+A;return u}};TJ.exports=Rje});var OJ=U((SQt,LJ)=>{var Tje=Do(),Nje=(t,e)=>new Tje(t,e).major;LJ.exports=Nje});var UJ=U((PQt,MJ)=>{var Lje=Do(),Oje=(t,e)=>new Lje(t,e).minor;MJ.exports=Oje});var HJ=U((xQt,_J)=>{var Mje=Do(),Uje=(t,e)=>new Mje(t,e).patch;_J.exports=Uje});var jJ=U((bQt,qJ)=>{var _je=id(),Hje=(t,e)=>{let r=_je(t,e);return r&&r.prerelease.length?r.prerelease:null};qJ.exports=Hje});var WJ=U((QQt,GJ)=>{var qje=Hl(),jje=(t,e,r)=>qje(e,t,r);GJ.exports=jje});var KJ=U((kQt,YJ)=>{var Gje=Hl(),Wje=(t,e)=>Gje(t,e,!0);YJ.exports=Wje});var sS=U((FQt,JJ)=>{var VJ=Do(),Yje=(t,e,r)=>{let o=new VJ(t,r),a=new VJ(e,r);return o.compare(a)||o.compareBuild(a)};JJ.exports=Yje});var XJ=U((RQt,zJ)=>{var Kje=sS(),Vje=(t,e)=>t.sort((r,o)=>Kje(r,o,e));zJ.exports=Vje});var $J=U((TQt,ZJ)=>{var Jje=sS(),zje=(t,e)=>t.sort((r,o)=>Jje(o,r,e));ZJ.exports=zje});var aw=U((NQt,ez)=>{var Xje=Hl(),Zje=(t,e,r)=>Xje(t,e,r)>0;ez.exports=Zje});var oS=U((LQt,tz)=>{var $je=Hl(),eGe=(t,e,r)=>$je(t,e,r)<0;tz.exports=eGe});var YT=U((OQt,rz)=>{var tGe=Hl(),rGe=(t,e,r)=>tGe(t,e,r)!==0;rz.exports=rGe});var aS=U((MQt,nz)=>{var nGe=Hl(),iGe=(t,e,r)=>nGe(t,e,r)>=0;nz.exports=iGe});var lS=U((UQt,iz)=>{var sGe=Hl(),oGe=(t,e,r)=>sGe(t,e,r)<=0;iz.exports=oGe});var KT=U((_Qt,sz)=>{var aGe=iS(),lGe=YT(),cGe=aw(),uGe=aS(),AGe=oS(),fGe=lS(),pGe=(t,e,r,o)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return aGe(t,r,o);case"!=":return lGe(t,r,o);case">":return cGe(t,r,o);case">=":return uGe(t,r,o);case"<":return AGe(t,r,o);case"<=":return fGe(t,r,o);default:throw new TypeError(`Invalid operator: ${e}`)}};sz.exports=pGe});var az=U((HQt,oz)=>{var hGe=Do(),gGe=id(),{re:cS,t:uS}=nd(),dGe=(t,e)=>{if(t instanceof hGe)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(cS[uS.COERCE]);else{let o;for(;(o=cS[uS.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||o.index+o[0].length!==r.index+r[0].length)&&(r=o),cS[uS.COERCERTL].lastIndex=o.index+o[1].length+o[2].length;cS[uS.COERCERTL].lastIndex=-1}return r===null?null:gGe(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};oz.exports=dGe});var cz=U((qQt,lz)=>{"use strict";lz.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var AS=U((jQt,uz)=>{"use strict";uz.exports=dn;dn.Node=sd;dn.create=dn;function dn(t){var e=this;if(e instanceof dn||(e=new dn),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(a){e.push(a)});else if(arguments.length>0)for(var r=0,o=arguments.length;r<o;r++)e.push(arguments[r]);return e}dn.prototype.removeNode=function(t){if(t.list!==this)throw new Error("removing node which does not belong to this list");var e=t.next,r=t.prev;return e&&(e.prev=r),r&&(r.next=e),t===this.head&&(this.head=e),t===this.tail&&(this.tail=r),t.list.length--,t.next=null,t.prev=null,t.list=null,e};dn.prototype.unshiftNode=function(t){if(t!==this.head){t.list&&t.list.removeNode(t);var e=this.head;t.list=this,t.next=e,e&&(e.prev=t),this.head=t,this.tail||(this.tail=t),this.length++}};dn.prototype.pushNode=function(t){if(t!==this.tail){t.list&&t.list.removeNode(t);var e=this.tail;t.list=this,t.prev=e,e&&(e.next=t),this.tail=t,this.head||(this.head=t),this.length++}};dn.prototype.push=function(){for(var t=0,e=arguments.length;t<e;t++)yGe(this,arguments[t]);return this.length};dn.prototype.unshift=function(){for(var t=0,e=arguments.length;t<e;t++)CGe(this,arguments[t]);return this.length};dn.prototype.pop=function(){if(!!this.tail){var t=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,t}};dn.prototype.shift=function(){if(!!this.head){var t=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,t}};dn.prototype.forEach=function(t,e){e=e||this;for(var r=this.head,o=0;r!==null;o++)t.call(e,r.value,o,this),r=r.next};dn.prototype.forEachReverse=function(t,e){e=e||this;for(var r=this.tail,o=this.length-1;r!==null;o--)t.call(e,r.value,o,this),r=r.prev};dn.prototype.get=function(t){for(var e=0,r=this.head;r!==null&&e<t;e++)r=r.next;if(e===t&&r!==null)return r.value};dn.prototype.getReverse=function(t){for(var e=0,r=this.tail;r!==null&&e<t;e++)r=r.prev;if(e===t&&r!==null)return r.value};dn.prototype.map=function(t,e){e=e||this;for(var r=new dn,o=this.head;o!==null;)r.push(t.call(e,o.value,this)),o=o.next;return r};dn.prototype.mapReverse=function(t,e){e=e||this;for(var r=new dn,o=this.tail;o!==null;)r.push(t.call(e,o.value,this)),o=o.prev;return r};dn.prototype.reduce=function(t,e){var r,o=this.head;if(arguments.length>1)r=e;else if(this.head)o=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;o!==null;a++)r=t(r,o.value,a),o=o.next;return r};dn.prototype.reduceReverse=function(t,e){var r,o=this.tail;if(arguments.length>1)r=e;else if(this.tail)o=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;o!==null;a--)r=t(r,o.value,a),o=o.prev;return r};dn.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};dn.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};dn.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new dn;if(e<t||e<0)return r;t<0&&(t=0),e>this.length&&(e=this.length);for(var o=0,a=this.head;a!==null&&o<t;o++)a=a.next;for(;a!==null&&o<e;o++,a=a.next)r.push(a.value);return r};dn.prototype.sliceReverse=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new dn;if(e<t||e<0)return r;t<0&&(t=0),e>this.length&&(e=this.length);for(var o=this.length,a=this.tail;a!==null&&o>e;o--)a=a.prev;for(;a!==null&&o>t;o--,a=a.prev)r.push(a.value);return r};dn.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var o=0,a=this.head;a!==null&&o<t;o++)a=a.next;for(var n=[],o=0;a&&o<e;o++)n.push(a.value),a=this.removeNode(a);a===null&&(a=this.tail),a!==this.head&&a!==this.tail&&(a=a.prev);for(var o=0;o<r.length;o++)a=mGe(this,a,r[o]);return n};dn.prototype.reverse=function(){for(var t=this.head,e=this.tail,r=t;r!==null;r=r.prev){var o=r.prev;r.prev=r.next,r.next=o}return this.head=e,this.tail=t,this};function mGe(t,e,r){var o=e===t.head?new sd(r,null,e,t):new sd(r,e,e.next,t);return o.next===null&&(t.tail=o),o.prev===null&&(t.head=o),t.length++,o}function yGe(t,e){t.tail=new sd(e,t.tail,null,t),t.head||(t.head=t.tail),t.length++}function CGe(t,e){t.head=new sd(e,null,t.head,t),t.tail||(t.tail=t.head),t.length++}function sd(t,e,r,o){if(!(this instanceof sd))return new sd(t,e,r,o);this.list=o,this.value=t,e?(e.next=this,this.prev=e):this.prev=null,r?(r.prev=this,this.next=r):this.next=null}try{cz()(dn)}catch{}});var gz=U((GQt,hz)=>{"use strict";var EGe=AS(),od=Symbol("max"),Bf=Symbol("length"),Py=Symbol("lengthCalculator"),cw=Symbol("allowStale"),ad=Symbol("maxAge"),wf=Symbol("dispose"),Az=Symbol("noDisposeOnSet"),Ds=Symbol("lruList"),qc=Symbol("cache"),pz=Symbol("updateAgeOnGet"),VT=()=>1,zT=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[od]=e.max||1/0,o=e.length||VT;if(this[Py]=typeof o!="function"?VT:o,this[cw]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[ad]=e.maxAge||0,this[wf]=e.dispose,this[Az]=e.noDisposeOnSet||!1,this[pz]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[od]=e||1/0,lw(this)}get max(){return this[od]}set allowStale(e){this[cw]=!!e}get allowStale(){return this[cw]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[ad]=e,lw(this)}get maxAge(){return this[ad]}set lengthCalculator(e){typeof e!="function"&&(e=VT),e!==this[Py]&&(this[Py]=e,this[Bf]=0,this[Ds].forEach(r=>{r.length=this[Py](r.value,r.key),this[Bf]+=r.length})),lw(this)}get lengthCalculator(){return this[Py]}get length(){return this[Bf]}get itemCount(){return this[Ds].length}rforEach(e,r){r=r||this;for(let o=this[Ds].tail;o!==null;){let a=o.prev;fz(this,e,o,r),o=a}}forEach(e,r){r=r||this;for(let o=this[Ds].head;o!==null;){let a=o.next;fz(this,e,o,r),o=a}}keys(){return this[Ds].toArray().map(e=>e.key)}values(){return this[Ds].toArray().map(e=>e.value)}reset(){this[wf]&&this[Ds]&&this[Ds].length&&this[Ds].forEach(e=>this[wf](e.key,e.value)),this[qc]=new Map,this[Ds]=new EGe,this[Bf]=0}dump(){return this[Ds].map(e=>fS(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ds]}set(e,r,o){if(o=o||this[ad],o&&typeof o!="number")throw new TypeError("maxAge must be a number");let a=o?Date.now():0,n=this[Py](r,e);if(this[qc].has(e)){if(n>this[od])return xy(this,this[qc].get(e)),!1;let p=this[qc].get(e).value;return this[wf]&&(this[Az]||this[wf](e,p.value)),p.now=a,p.maxAge=o,p.value=r,this[Bf]+=n-p.length,p.length=n,this.get(e),lw(this),!0}let u=new XT(e,r,n,a,o);return u.length>this[od]?(this[wf]&&this[wf](e,r),!1):(this[Bf]+=u.length,this[Ds].unshift(u),this[qc].set(e,this[Ds].head),lw(this),!0)}has(e){if(!this[qc].has(e))return!1;let r=this[qc].get(e).value;return!fS(this,r)}get(e){return JT(this,e,!0)}peek(e){return JT(this,e,!1)}pop(){let e=this[Ds].tail;return e?(xy(this,e),e.value):null}del(e){xy(this,this[qc].get(e))}load(e){this.reset();let r=Date.now();for(let o=e.length-1;o>=0;o--){let a=e[o],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let u=n-r;u>0&&this.set(a.k,a.v,u)}}}prune(){this[qc].forEach((e,r)=>JT(this,r,!1))}},JT=(t,e,r)=>{let o=t[qc].get(e);if(o){let a=o.value;if(fS(t,a)){if(xy(t,o),!t[cw])return}else r&&(t[pz]&&(o.value.now=Date.now()),t[Ds].unshiftNode(o));return a.value}},fS=(t,e)=>{if(!e||!e.maxAge&&!t[ad])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[ad]&&r>t[ad]},lw=t=>{if(t[Bf]>t[od])for(let e=t[Ds].tail;t[Bf]>t[od]&&e!==null;){let r=e.prev;xy(t,e),e=r}},xy=(t,e)=>{if(e){let r=e.value;t[wf]&&t[wf](r.key,r.value),t[Bf]-=r.length,t[qc].delete(r.key),t[Ds].removeNode(e)}},XT=class{constructor(e,r,o,a,n){this.key=e,this.value=r,this.length=o,this.now=a,this.maxAge=n||0}},fz=(t,e,r,o)=>{let a=r.value;fS(t,a)&&(xy(t,r),t[cw]||(a=void 0)),a&&e.call(o,a.value,a.key,t)};hz.exports=zT});var ql=U((WQt,Cz)=>{var ld=class{constructor(e,r){if(r=wGe(r),e instanceof ld)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new ld(e.raw,r);if(e instanceof ZT)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(a=>!mz(a[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&PGe(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let o=`parseRange:${Object.keys(this.options).join(",")}:${e}`,a=dz.get(o);if(a)return a;let n=this.options.loose,u=n?Da[Ko.HYPHENRANGELOOSE]:Da[Ko.HYPHENRANGE];e=e.replace(u,OGe(this.options.includePrerelease)),wi("hyphen replace",e),e=e.replace(Da[Ko.COMPARATORTRIM],vGe),wi("comparator trim",e),e=e.replace(Da[Ko.TILDETRIM],DGe),e=e.replace(Da[Ko.CARETTRIM],SGe),e=e.split(/\s+/).join(" ");let A=e.split(" ").map(w=>xGe(w,this.options)).join(" ").split(/\s+/).map(w=>LGe(w,this.options));n&&(A=A.filter(w=>(wi("loose invalid filter",w,this.options),!!w.match(Da[Ko.COMPARATORLOOSE])))),wi("range list",A);let p=new Map,h=A.map(w=>new ZT(w,this.options));for(let w of h){if(mz(w))return[w];p.set(w.value,w)}p.size>1&&p.has("")&&p.delete("");let E=[...p.values()];return dz.set(o,E),E}intersects(e,r){if(!(e instanceof ld))throw new TypeError("a Range is required");return this.set.some(o=>yz(o,r)&&e.set.some(a=>yz(a,r)&&o.every(n=>a.every(u=>n.intersects(u,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new BGe(e,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(MGe(this.set[r],e,this.options))return!0;return!1}};Cz.exports=ld;var IGe=gz(),dz=new IGe({max:1e3}),wGe=ow(),ZT=uw(),wi=sw(),BGe=Do(),{re:Da,t:Ko,comparatorTrimReplace:vGe,tildeTrimReplace:DGe,caretTrimReplace:SGe}=nd(),mz=t=>t.value==="<0.0.0-0",PGe=t=>t.value==="",yz=(t,e)=>{let r=!0,o=t.slice(),a=o.pop();for(;r&&o.length;)r=o.every(n=>a.intersects(n,e)),a=o.pop();return r},xGe=(t,e)=>(wi("comp",t,e),t=kGe(t,e),wi("caret",t),t=bGe(t,e),wi("tildes",t),t=RGe(t,e),wi("xrange",t),t=NGe(t,e),wi("stars",t),t),Vo=t=>!t||t.toLowerCase()==="x"||t==="*",bGe=(t,e)=>t.trim().split(/\s+/).map(r=>QGe(r,e)).join(" "),QGe=(t,e)=>{let r=e.loose?Da[Ko.TILDELOOSE]:Da[Ko.TILDE];return t.replace(r,(o,a,n,u,A)=>{wi("tilde",t,o,a,n,u,A);let p;return Vo(a)?p="":Vo(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:Vo(u)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:A?(wi("replaceTilde pr",A),p=`>=${a}.${n}.${u}-${A} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${u} <${a}.${+n+1}.0-0`,wi("tilde return",p),p})},kGe=(t,e)=>t.trim().split(/\s+/).map(r=>FGe(r,e)).join(" "),FGe=(t,e)=>{wi("caret",t,e);let r=e.loose?Da[Ko.CARETLOOSE]:Da[Ko.CARET],o=e.includePrerelease?"-0":"";return t.replace(r,(a,n,u,A,p)=>{wi("caret",t,a,n,u,A,p);let h;return Vo(n)?h="":Vo(u)?h=`>=${n}.0.0${o} <${+n+1}.0.0-0`:Vo(A)?n==="0"?h=`>=${n}.${u}.0${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.0${o} <${+n+1}.0.0-0`:p?(wi("replaceCaret pr",p),n==="0"?u==="0"?h=`>=${n}.${u}.${A}-${p} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}-${p} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A}-${p} <${+n+1}.0.0-0`):(wi("no pr"),n==="0"?u==="0"?h=`>=${n}.${u}.${A}${o} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A} <${+n+1}.0.0-0`),wi("caret return",h),h})},RGe=(t,e)=>(wi("replaceXRanges",t,e),t.split(/\s+/).map(r=>TGe(r,e)).join(" ")),TGe=(t,e)=>{t=t.trim();let r=e.loose?Da[Ko.XRANGELOOSE]:Da[Ko.XRANGE];return t.replace(r,(o,a,n,u,A,p)=>{wi("xRange",t,o,a,n,u,A,p);let h=Vo(n),E=h||Vo(u),w=E||Vo(A),v=w;return a==="="&&v&&(a=""),p=e.includePrerelease?"-0":"",h?a===">"||a==="<"?o="<0.0.0-0":o="*":a&&v?(E&&(u=0),A=0,a===">"?(a=">=",E?(n=+n+1,u=0,A=0):(u=+u+1,A=0)):a==="<="&&(a="<",E?n=+n+1:u=+u+1),a==="<"&&(p="-0"),o=`${a+n}.${u}.${A}${p}`):E?o=`>=${n}.0.0${p} <${+n+1}.0.0-0`:w&&(o=`>=${n}.${u}.0${p} <${n}.${+u+1}.0-0`),wi("xRange return",o),o})},NGe=(t,e)=>(wi("replaceStars",t,e),t.trim().replace(Da[Ko.STAR],"")),LGe=(t,e)=>(wi("replaceGTE0",t,e),t.trim().replace(Da[e.includePrerelease?Ko.GTE0PRE:Ko.GTE0],"")),OGe=t=>(e,r,o,a,n,u,A,p,h,E,w,v,b)=>(Vo(o)?r="":Vo(a)?r=`>=${o}.0.0${t?"-0":""}`:Vo(n)?r=`>=${o}.${a}.0${t?"-0":""}`:u?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Vo(h)?p="":Vo(E)?p=`<${+h+1}.0.0-0`:Vo(w)?p=`<${h}.${+E+1}.0-0`:v?p=`<=${h}.${E}.${w}-${v}`:t?p=`<${h}.${E}.${+w+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),MGe=(t,e,r)=>{for(let o=0;o<t.length;o++)if(!t[o].test(e))return!1;if(e.prerelease.length&&!r.includePrerelease){for(let o=0;o<t.length;o++)if(wi(t[o].semver),t[o].semver!==ZT.ANY&&t[o].semver.prerelease.length>0){let a=t[o].semver;if(a.major===e.major&&a.minor===e.minor&&a.patch===e.patch)return!0}return!1}return!0}});var uw=U((YQt,vz)=>{var Aw=Symbol("SemVer ANY"),by=class{static get ANY(){return Aw}constructor(e,r){if(r=UGe(r),e instanceof by){if(e.loose===!!r.loose)return e;e=e.value}eN("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Aw?this.value="":this.value=this.operator+this.semver.version,eN("comp",this)}parse(e){let r=this.options.loose?Ez[Iz.COMPARATORLOOSE]:Ez[Iz.COMPARATOR],o=e.match(r);if(!o)throw new TypeError(`Invalid comparator: ${e}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new wz(o[2],this.options.loose):this.semver=Aw}toString(){return this.value}test(e){if(eN("Comparator.test",e,this.options.loose),this.semver===Aw||e===Aw)return!0;if(typeof e=="string")try{e=new wz(e,this.options)}catch{return!1}return $T(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof by))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new Bz(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new Bz(this.value,r).test(e.semver);let o=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),a=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),n=this.semver.version===e.semver.version,u=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),A=$T(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),p=$T(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return o||a||n&&u||A||p}};vz.exports=by;var UGe=ow(),{re:Ez,t:Iz}=nd(),$T=KT(),eN=sw(),wz=Do(),Bz=ql()});var fw=U((KQt,Dz)=>{var _Ge=ql(),HGe=(t,e,r)=>{try{e=new _Ge(e,r)}catch{return!1}return e.test(t)};Dz.exports=HGe});var Pz=U((VQt,Sz)=>{var qGe=ql(),jGe=(t,e)=>new qGe(t,e).set.map(r=>r.map(o=>o.value).join(" ").trim().split(" "));Sz.exports=jGe});var bz=U((JQt,xz)=>{var GGe=Do(),WGe=ql(),YGe=(t,e,r)=>{let o=null,a=null,n=null;try{n=new WGe(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===-1)&&(o=u,a=new GGe(o,r))}),o};xz.exports=YGe});var kz=U((zQt,Qz)=>{var KGe=Do(),VGe=ql(),JGe=(t,e,r)=>{let o=null,a=null,n=null;try{n=new VGe(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===1)&&(o=u,a=new KGe(o,r))}),o};Qz.exports=JGe});var Tz=U((XQt,Rz)=>{var tN=Do(),zGe=ql(),Fz=aw(),XGe=(t,e)=>{t=new zGe(t,e);let r=new tN("0.0.0");if(t.test(r)||(r=new tN("0.0.0-0"),t.test(r)))return r;r=null;for(let o=0;o<t.set.length;++o){let a=t.set[o],n=null;a.forEach(u=>{let A=new tN(u.semver.version);switch(u.operator){case">":A.prerelease.length===0?A.patch++:A.prerelease.push(0),A.raw=A.format();case"":case">=":(!n||Fz(A,n))&&(n=A);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),n&&(!r||Fz(r,n))&&(r=n)}return r&&t.test(r)?r:null};Rz.exports=XGe});var Lz=U((ZQt,Nz)=>{var ZGe=ql(),$Ge=(t,e)=>{try{return new ZGe(t,e).range||"*"}catch{return null}};Nz.exports=$Ge});var pS=U(($Qt,_z)=>{var e9e=Do(),Uz=uw(),{ANY:t9e}=Uz,r9e=ql(),n9e=fw(),Oz=aw(),Mz=oS(),i9e=lS(),s9e=aS(),o9e=(t,e,r,o)=>{t=new e9e(t,o),e=new r9e(e,o);let a,n,u,A,p;switch(r){case">":a=Oz,n=i9e,u=Mz,A=">",p=">=";break;case"<":a=Mz,n=s9e,u=Oz,A="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(n9e(t,e,o))return!1;for(let h=0;h<e.set.length;++h){let E=e.set[h],w=null,v=null;if(E.forEach(b=>{b.semver===t9e&&(b=new Uz(">=0.0.0")),w=w||b,v=v||b,a(b.semver,w.semver,o)?w=b:u(b.semver,v.semver,o)&&(v=b)}),w.operator===A||w.operator===p||(!v.operator||v.operator===A)&&n(t,v.semver))return!1;if(v.operator===p&&u(t,v.semver))return!1}return!0};_z.exports=o9e});var qz=U((ekt,Hz)=>{var a9e=pS(),l9e=(t,e,r)=>a9e(t,e,">",r);Hz.exports=l9e});var Gz=U((tkt,jz)=>{var c9e=pS(),u9e=(t,e,r)=>c9e(t,e,"<",r);jz.exports=u9e});var Kz=U((rkt,Yz)=>{var Wz=ql(),A9e=(t,e,r)=>(t=new Wz(t,r),e=new Wz(e,r),t.intersects(e));Yz.exports=A9e});var Jz=U((nkt,Vz)=>{var f9e=fw(),p9e=Hl();Vz.exports=(t,e,r)=>{let o=[],a=null,n=null,u=t.sort((E,w)=>p9e(E,w,r));for(let E of u)f9e(E,e,r)?(n=E,a||(a=E)):(n&&o.push([a,n]),n=null,a=null);a&&o.push([a,null]);let A=[];for(let[E,w]of o)E===w?A.push(E):!w&&E===u[0]?A.push("*"):w?E===u[0]?A.push(`<=${w}`):A.push(`${E} - ${w}`):A.push(`>=${E}`);let p=A.join(" || "),h=typeof e.raw=="string"?e.raw:String(e);return p.length<h.length?p:e}});var eX=U((ikt,$z)=>{var zz=ql(),hS=uw(),{ANY:rN}=hS,pw=fw(),nN=Hl(),h9e=(t,e,r={})=>{if(t===e)return!0;t=new zz(t,r),e=new zz(e,r);let o=!1;e:for(let a of t.set){for(let n of e.set){let u=g9e(a,n,r);if(o=o||u!==null,u)continue e}if(o)return!1}return!0},g9e=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===rN){if(e.length===1&&e[0].semver===rN)return!0;r.includePrerelease?t=[new hS(">=0.0.0-0")]:t=[new hS(">=0.0.0")]}if(e.length===1&&e[0].semver===rN){if(r.includePrerelease)return!0;e=[new hS(">=0.0.0")]}let o=new Set,a,n;for(let b of t)b.operator===">"||b.operator===">="?a=Xz(a,b,r):b.operator==="<"||b.operator==="<="?n=Zz(n,b,r):o.add(b.semver);if(o.size>1)return null;let u;if(a&&n){if(u=nN(a.semver,n.semver,r),u>0)return null;if(u===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let b of o){if(a&&!pw(b,String(a),r)||n&&!pw(b,String(n),r))return null;for(let C of e)if(!pw(b,String(C),r))return!1;return!0}let A,p,h,E,w=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,v=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;w&&w.prerelease.length===1&&n.operator==="<"&&w.prerelease[0]===0&&(w=!1);for(let b of e){if(E=E||b.operator===">"||b.operator===">=",h=h||b.operator==="<"||b.operator==="<=",a){if(v&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===v.major&&b.semver.minor===v.minor&&b.semver.patch===v.patch&&(v=!1),b.operator===">"||b.operator===">="){if(A=Xz(a,b,r),A===b&&A!==a)return!1}else if(a.operator===">="&&!pw(a.semver,String(b),r))return!1}if(n){if(w&&b.semver.prerelease&&b.semver.prerelease.length&&b.semver.major===w.major&&b.semver.minor===w.minor&&b.semver.patch===w.patch&&(w=!1),b.operator==="<"||b.operator==="<="){if(p=Zz(n,b,r),p===b&&p!==n)return!1}else if(n.operator==="<="&&!pw(n.semver,String(b),r))return!1}if(!b.operator&&(n||a)&&u!==0)return!1}return!(a&&h&&!n&&u!==0||n&&E&&!a&&u!==0||v||w)},Xz=(t,e,r)=>{if(!t)return e;let o=nN(t.semver,e.semver,r);return o>0?t:o<0||e.operator===">"&&t.operator===">="?e:t},Zz=(t,e,r)=>{if(!t)return e;let o=nN(t.semver,e.semver,r);return o<0?t:o>0||e.operator==="<"&&t.operator==="<="?e:t};$z.exports=h9e});var si=U((skt,tX)=>{var iN=nd();tX.exports={re:iN.re,src:iN.src,tokens:iN.t,SEMVER_SPEC_VERSION:iw().SEMVER_SPEC_VERSION,SemVer:Do(),compareIdentifiers:tS().compareIdentifiers,rcompareIdentifiers:tS().rcompareIdentifiers,parse:id(),valid:vJ(),clean:SJ(),inc:bJ(),diff:NJ(),major:OJ(),minor:UJ(),patch:HJ(),prerelease:jJ(),compare:Hl(),rcompare:WJ(),compareLoose:KJ(),compareBuild:sS(),sort:XJ(),rsort:$J(),gt:aw(),lt:oS(),eq:iS(),neq:YT(),gte:aS(),lte:lS(),cmp:KT(),coerce:az(),Comparator:uw(),Range:ql(),satisfies:fw(),toComparators:Pz(),maxSatisfying:bz(),minSatisfying:kz(),minVersion:Tz(),validRange:Lz(),outside:pS(),gtr:qz(),ltr:Gz(),intersects:Kz(),simplifyRange:Jz(),subset:eX()}});var nX=U((okt,rX)=>{"use strict";function d9e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function cd(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,cd)}d9e(cd,Error);cd.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",w;for(w=0;w<h.parts.length;w++)E+=h.parts[w]instanceof Array?n(h.parts[w][0])+"-"+n(h.parts[w][1]):n(h.parts[w]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function o(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(h){return r[h.type](h)}function A(h){var E=new Array(h.length),w,v;for(w=0;w<h.length;w++)E[w]=u(h[w]);if(E.sort(),E.length>0){for(w=1,v=1;w<E.length;w++)E[w-1]!==E[w]&&(E[v]=E[w],v++);E.length=v}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+A(t)+" but "+p(e)+" found."};function m9e(t,e){e=e!==void 0?e:{};var r={},o={Expression:y},a=y,n="|",u=Me("|",!1),A="&",p=Me("&",!1),h="^",E=Me("^",!1),w=function($,ie){return!!ie.reduce((ke,Ne)=>{switch(Ne[1]){case"|":return ke|Ne[3];case"&":return ke&Ne[3];case"^":return ke^Ne[3]}},$)},v="!",b=Me("!",!1),C=function($){return!$},R="(",L=Me("(",!1),_=")",V=Me(")",!1),re=function($){return $},oe=/^[^ \t\n\r()!|&\^]/,pe=Te([" "," ",` |
127 | `,"\r","(",")","!","|","&","^"],!0,!1),he=function($){return e.queryPattern.test($)},ve=function($){return e.checkFn($)},ge=je("whitespace"),le=/^[ \t\n\r]/,Pe=Te([" "," ",` | 127 | `,"\r","(",")","!","|","&","^"],!0,!1),he=function($){return e.queryPattern.test($)},ve=function($){return e.checkFn($)},ge=qe("whitespace"),le=/^[ \t\n\r]/,Pe=Te([" "," ",` |
128 | `,"\r"],!1,!1),g=0,De=0,Ee=[{line:1,column:1}],de=0,ne=[],Z=0,me;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function be(){return t.substring(De,g)}function ut(){return Le(De,g)}function H($,ie){throw ie=ie!==void 0?ie:Le(De,g),P([je($)],t.substring(De,g),ie)}function yt($,ie){throw ie=ie!==void 0?ie:Le(De,g),I($,ie)}function Me($,ie){return{type:"literal",text:$,ignoreCase:ie}}function Te($,ie,ke){return{type:"class",parts:$,inverted:ie,ignoreCase:ke}}function Qe(){return{type:"any"}}function Ue(){return{type:"end"}}function je($){return{type:"other",description:$}}function At($){var ie=Ee[$],ke;if(ie)return ie;for(ke=$-1;!Ee[ke];)ke--;for(ie=Ee[ke],ie={line:ie.line,column:ie.column};ke<$;)t.charCodeAt(ke)===10?(ie.line++,ie.column=1):ie.column++,ke++;return Ee[$]=ie,ie}function Le($,ie){var ke=At($),Ne=At(ie);return{start:{offset:$,line:ke.line,column:ke.column},end:{offset:ie,line:Ne.line,column:Ne.column}}}function x($){g<de||(g>de&&(de=g,ne=[]),ne.push($))}function I($,ie){return new od($,null,null,ie)}function P($,ie,ke){return new od(od.buildMessage($,ie),$,ie,ke)}function y(){var $,ie,ke,Ne,st,ht,Ut,Xt;if($=g,ie=F(),ie!==r){for(ke=[],Ne=g,st=X(),st!==r?(t.charCodeAt(g)===124?(ht=n,g++):(ht=r,Z===0&&x(u)),ht===r&&(t.charCodeAt(g)===38?(ht=A,g++):(ht=r,Z===0&&x(p)),ht===r&&(t.charCodeAt(g)===94?(ht=h,g++):(ht=r,Z===0&&x(C)))),ht!==r?(Ut=X(),Ut!==r?(Xt=F(),Xt!==r?(st=[st,ht,Ut,Xt],Ne=st):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r);Ne!==r;)ke.push(Ne),Ne=g,st=X(),st!==r?(t.charCodeAt(g)===124?(ht=n,g++):(ht=r,Z===0&&x(u)),ht===r&&(t.charCodeAt(g)===38?(ht=A,g++):(ht=r,Z===0&&x(p)),ht===r&&(t.charCodeAt(g)===94?(ht=h,g++):(ht=r,Z===0&&x(C)))),ht!==r?(Ut=X(),Ut!==r?(Xt=F(),Xt!==r?(st=[st,ht,Ut,Xt],Ne=st):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r);ke!==r?(De=$,ie=w(ie,ke),$=ie):(g=$,$=r)}else g=$,$=r;return $}function F(){var $,ie,ke,Ne,st,ht;return $=g,t.charCodeAt(g)===33?(ie=v,g++):(ie=r,Z===0&&x(b)),ie!==r?(ke=F(),ke!==r?(De=$,ie=E(ke),$=ie):(g=$,$=r)):(g=$,$=r),$===r&&($=g,t.charCodeAt(g)===40?(ie=R,g++):(ie=r,Z===0&&x(L)),ie!==r?(ke=X(),ke!==r?(Ne=y(),Ne!==r?(st=X(),st!==r?(t.charCodeAt(g)===41?(ht=_,g++):(ht=r,Z===0&&x(J)),ht!==r?(De=$,ie=re(Ne),$=ie):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r),$===r&&($=z())),$}function z(){var $,ie,ke,Ne,st;if($=g,ie=X(),ie!==r){if(ke=g,Ne=[],oe.test(t.charAt(g))?(st=t.charAt(g),g++):(st=r,Z===0&&x(pe)),st!==r)for(;st!==r;)Ne.push(st),oe.test(t.charAt(g))?(st=t.charAt(g),g++):(st=r,Z===0&&x(pe));else Ne=r;Ne!==r?ke=t.substring(ke,g):ke=Ne,ke!==r?(De=g,Ne=he(ke),Ne?Ne=void 0:Ne=r,Ne!==r?(De=$,ie=ve(ke),$=ie):(g=$,$=r)):(g=$,$=r)}else g=$,$=r;return $}function X(){var $,ie;for(Z++,$=[],le.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&x(Pe));ie!==r;)$.push(ie),le.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&x(Pe));return Z--,$===r&&(ie=r,Z===0&&x(ge)),$}if(me=a(),me!==r&&g===t.length)return me;throw me!==r&&g<t.length&&x(Ue()),P(ne,de<t.length?t.charAt(de):null,de<t.length?Le(de,de+1):Le(de,de))}zz.exports={SyntaxError:od,parse:o5e}});var Zz=U(lS=>{var{parse:a5e}=Xz();lS.makeParser=(t=/[a-z]+/)=>(e,r)=>a5e(e,{queryPattern:t,checkFn:r});lS.parse=lS.makeParser()});var eX=U((JQt,$z)=>{"use strict";$z.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var iN=U((VQt,rX)=>{var uw=eX(),tX={};for(let t of Object.keys(uw))tX[uw[t]]=t;var cr={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};rX.exports=cr;for(let t of Object.keys(cr)){if(!("channels"in cr[t]))throw new Error("missing channels property: "+t);if(!("labels"in cr[t]))throw new Error("missing channel labels property: "+t);if(cr[t].labels.length!==cr[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=cr[t];delete cr[t].channels,delete cr[t].labels,Object.defineProperty(cr[t],"channels",{value:e}),Object.defineProperty(cr[t],"labels",{value:r})}cr.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(e,r,o),n=Math.max(e,r,o),u=n-a,A,p;n===a?A=0:e===n?A=(r-o)/u:r===n?A=2+(o-e)/u:o===n&&(A=4+(e-r)/u),A=Math.min(A*60,360),A<0&&(A+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=u/(n+a):p=u/(2-n-a),[A,p*100,h*100]};cr.rgb.hsv=function(t){let e,r,o,a,n,u=t[0]/255,A=t[1]/255,p=t[2]/255,h=Math.max(u,A,p),C=h-Math.min(u,A,p),w=function(v){return(h-v)/6/C+1/2};return C===0?(a=0,n=0):(n=C/h,e=w(u),r=w(A),o=w(p),u===h?a=o-r:A===h?a=1/3+e-o:p===h&&(a=2/3+r-e),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};cr.rgb.hwb=function(t){let e=t[0],r=t[1],o=t[2],a=cr.rgb.hsl(t)[0],n=1/255*Math.min(e,Math.min(r,o));return o=1-1/255*Math.max(e,Math.max(r,o)),[a,n*100,o*100]};cr.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(1-e,1-r,1-o),n=(1-e-a)/(1-a)||0,u=(1-r-a)/(1-a)||0,A=(1-o-a)/(1-a)||0;return[n*100,u*100,A*100,a*100]};function l5e(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}cr.rgb.keyword=function(t){let e=tX[t];if(e)return e;let r=1/0,o;for(let a of Object.keys(uw)){let n=uw[a],u=l5e(t,n);u<r&&(r=u,o=a)}return o};cr.keyword.rgb=function(t){return uw[t]};cr.rgb.xyz=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=e*.4124+r*.3576+o*.1805,n=e*.2126+r*.7152+o*.0722,u=e*.0193+r*.1192+o*.9505;return[a*100,n*100,u*100]};cr.rgb.lab=function(t){let e=cr.rgb.xyz(t),r=e[0],o=e[1],a=e[2];r/=95.047,o/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*o-16,u=500*(r-o),A=200*(o-a);return[n,u,A]};cr.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a,n,u;if(r===0)return u=o*255,[u,u,u];o<.5?a=o*(1+r):a=o+r-o*r;let A=2*o-a,p=[0,0,0];for(let h=0;h<3;h++)n=e+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?u=A+(a-A)*6*n:2*n<1?u=a:3*n<2?u=A+(a-A)*(2/3-n)*6:u=A,p[h]=u*255;return p};cr.hsl.hsv=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=r,n=Math.max(o,.01);o*=2,r*=o<=1?o:2-o,a*=n<=1?n:2-n;let u=(o+r)/2,A=o===0?2*a/(n+a):2*r/(o+r);return[e,A*100,u*100]};cr.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,o=t[2]/100,a=Math.floor(e)%6,n=e-Math.floor(e),u=255*o*(1-r),A=255*o*(1-r*n),p=255*o*(1-r*(1-n));switch(o*=255,a){case 0:return[o,p,u];case 1:return[A,o,u];case 2:return[u,o,p];case 3:return[u,A,o];case 4:return[p,u,o];case 5:return[o,u,A]}};cr.hsv.hsl=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=Math.max(o,.01),n,u;u=(2-r)*o;let A=(2-r)*a;return n=r*a,n/=A<=1?A:2-A,n=n||0,u/=2,[e,n*100,u*100]};cr.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a=r+o,n;a>1&&(r/=a,o/=a);let u=Math.floor(6*e),A=1-o;n=6*e-u,(u&1)!==0&&(n=1-n);let p=r+n*(A-r),h,C,w;switch(u){default:case 6:case 0:h=A,C=p,w=r;break;case 1:h=p,C=A,w=r;break;case 2:h=r,C=A,w=p;break;case 3:h=r,C=p,w=A;break;case 4:h=p,C=r,w=A;break;case 5:h=A,C=r,w=p;break}return[h*255,C*255,w*255]};cr.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a=t[3]/100,n=1-Math.min(1,e*(1-a)+a),u=1-Math.min(1,r*(1-a)+a),A=1-Math.min(1,o*(1-a)+a);return[n*255,u*255,A*255]};cr.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a,n,u;return a=e*3.2406+r*-1.5372+o*-.4986,n=e*-.9689+r*1.8758+o*.0415,u=e*.0557+r*-.204+o*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),u=Math.min(Math.max(0,u),1),[a*255,n*255,u*255]};cr.xyz.lab=function(t){let e=t[0],r=t[1],o=t[2];e/=95.047,r/=100,o/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let a=116*r-16,n=500*(e-r),u=200*(r-o);return[a,n,u]};cr.lab.xyz=function(t){let e=t[0],r=t[1],o=t[2],a,n,u;n=(e+16)/116,a=r/500+n,u=n-o/200;let A=n**3,p=a**3,h=u**3;return n=A>.008856?A:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,u=h>.008856?h:(u-16/116)/7.787,a*=95.047,n*=100,u*=108.883,[a,n,u]};cr.lab.lch=function(t){let e=t[0],r=t[1],o=t[2],a;a=Math.atan2(o,r)*360/2/Math.PI,a<0&&(a+=360);let u=Math.sqrt(r*r+o*o);return[e,u,a]};cr.lch.lab=function(t){let e=t[0],r=t[1],a=t[2]/360*2*Math.PI,n=r*Math.cos(a),u=r*Math.sin(a);return[e,n,u]};cr.rgb.ansi16=function(t,e=null){let[r,o,a]=t,n=e===null?cr.rgb.hsv(t)[2]:e;if(n=Math.round(n/50),n===0)return 30;let u=30+(Math.round(a/255)<<2|Math.round(o/255)<<1|Math.round(r/255));return n===2&&(u+=60),u};cr.hsv.ansi16=function(t){return cr.rgb.ansi16(cr.hsv.rgb(t),t[2])};cr.rgb.ansi256=function(t){let e=t[0],r=t[1],o=t[2];return e===r&&r===o?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)};cr.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,o=(e&1)*r*255,a=(e>>1&1)*r*255,n=(e>>2&1)*r*255;return[o,a,n]};cr.ansi256.rgb=function(t){if(t>=232){let n=(t-232)*10+8;return[n,n,n]}t-=16;let e,r=Math.floor(t/36)/5*255,o=Math.floor((e=t%36)/6)/5*255,a=e%6/5*255;return[r,o,a]};cr.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};cr.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(A=>A+A).join(""));let o=parseInt(r,16),a=o>>16&255,n=o>>8&255,u=o&255;return[a,n,u]};cr.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.max(Math.max(e,r),o),n=Math.min(Math.min(e,r),o),u=a-n,A,p;return u<1?A=n/(1-u):A=0,u<=0?p=0:a===e?p=(r-o)/u%6:a===r?p=2+(o-e)/u:p=4+(e-r)/u,p/=6,p%=1,[p*360,u*100,A*100]};cr.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=r<.5?2*e*r:2*e*(1-r),a=0;return o<1&&(a=(r-.5*o)/(1-o)),[t[0],o*100,a*100]};cr.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=e*r,a=0;return o<1&&(a=(r-o)/(1-o)),[t[0],o*100,a*100]};cr.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100;if(r===0)return[o*255,o*255,o*255];let a=[0,0,0],n=e%1*6,u=n%1,A=1-u,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=u,a[2]=0;break;case 1:a[0]=A,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=u;break;case 3:a[0]=0,a[1]=A,a[2]=1;break;case 4:a[0]=u,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=A}return p=(1-r)*o,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};cr.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e),a=0;return o>0&&(a=e/o),[t[0],a*100,o*100]};cr.hcg.hsl=function(t){let e=t[1]/100,o=t[2]/100*(1-e)+.5*e,a=0;return o>0&&o<.5?a=e/(2*o):o>=.5&&o<1&&(a=e/(2*(1-o))),[t[0],a*100,o*100]};cr.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e);return[t[0],(o-e)*100,(1-o)*100]};cr.hwb.hcg=function(t){let e=t[1]/100,o=1-t[2]/100,a=o-e,n=0;return a<1&&(n=(o-a)/(1-a)),[t[0],a*100,n*100]};cr.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};cr.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};cr.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};cr.gray.hsl=function(t){return[0,0,t[0]]};cr.gray.hsv=cr.gray.hsl;cr.gray.hwb=function(t){return[0,100,t[0]]};cr.gray.cmyk=function(t){return[0,0,0,t[0]]};cr.gray.lab=function(t){return[t[0],0,0]};cr.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,o=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(o.length)+o};cr.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var iX=U((zQt,nX)=>{var cS=iN();function c5e(){let t={},e=Object.keys(cS);for(let r=e.length,o=0;o<r;o++)t[e[o]]={distance:-1,parent:null};return t}function u5e(t){let e=c5e(),r=[t];for(e[t].distance=0;r.length;){let o=r.pop(),a=Object.keys(cS[o]);for(let n=a.length,u=0;u<n;u++){let A=a[u],p=e[A];p.distance===-1&&(p.distance=e[o].distance+1,p.parent=o,r.unshift(A))}}return e}function A5e(t,e){return function(r){return e(t(r))}}function f5e(t,e){let r=[e[t].parent,t],o=cS[e[t].parent][t],a=e[t].parent;for(;e[a].parent;)r.unshift(e[a].parent),o=A5e(cS[e[a].parent][a],o),a=e[a].parent;return o.conversion=r,o}nX.exports=function(t){let e=u5e(t),r={},o=Object.keys(e);for(let a=o.length,n=0;n<a;n++){let u=o[n];e[u].parent!==null&&(r[u]=f5e(u,e))}return r}});var oX=U((XQt,sX)=>{var sN=iN(),p5e=iX(),Dy={},h5e=Object.keys(sN);function g5e(t){let e=function(...r){let o=r[0];return o==null?o:(o.length>1&&(r=o),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function d5e(t){let e=function(...r){let o=r[0];if(o==null)return o;o.length>1&&(r=o);let a=t(r);if(typeof a=="object")for(let n=a.length,u=0;u<n;u++)a[u]=Math.round(a[u]);return a};return"conversion"in t&&(e.conversion=t.conversion),e}h5e.forEach(t=>{Dy[t]={},Object.defineProperty(Dy[t],"channels",{value:sN[t].channels}),Object.defineProperty(Dy[t],"labels",{value:sN[t].labels});let e=p5e(t);Object.keys(e).forEach(o=>{let a=e[o];Dy[t][o]=d5e(a),Dy[t][o].raw=g5e(a)})});sX.exports=Dy});var Aw=U((ZQt,AX)=>{"use strict";var aX=(t,e)=>(...r)=>`\x1B[${t(...r)+e}m`,lX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};5;${o}m`},cX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};2;${o[0]};${o[1]};${o[2]}m`},uS=t=>t,uX=(t,e,r)=>[t,e,r],Sy=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let o=r();return Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0}),o},enumerable:!0,configurable:!0})},oN,Py=(t,e,r,o)=>{oN===void 0&&(oN=oX());let a=o?10:0,n={};for(let[u,A]of Object.entries(oN)){let p=u==="ansi16"?"ansi":u;u===e?n[p]=t(r,a):typeof A=="object"&&(n[p]=t(A[e],a))}return n};function m5e(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,o]of Object.entries(e)){for(let[a,n]of Object.entries(o))e[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[a]=e[a],t.set(n[0],n[1]);Object.defineProperty(e,r,{value:o,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",Sy(e.color,"ansi",()=>Py(aX,"ansi16",uS,!1)),Sy(e.color,"ansi256",()=>Py(lX,"ansi256",uS,!1)),Sy(e.color,"ansi16m",()=>Py(cX,"rgb",uX,!1)),Sy(e.bgColor,"ansi",()=>Py(aX,"ansi16",uS,!0)),Sy(e.bgColor,"ansi256",()=>Py(lX,"ansi256",uS,!0)),Sy(e.bgColor,"ansi16m",()=>Py(cX,"rgb",uX,!0)),e}Object.defineProperty(AX,"exports",{enumerable:!0,get:m5e})});var pX=U(($Qt,fX)=>{"use strict";fX.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),a=e.indexOf("--");return o!==-1&&(a===-1||o<a)}});var cN=U((ekt,gX)=>{"use strict";var y5e=Ie("os"),hX=Ie("tty"),_l=pX(),{env:ls}=process,Wp;_l("no-color")||_l("no-colors")||_l("color=false")||_l("color=never")?Wp=0:(_l("color")||_l("colors")||_l("color=true")||_l("color=always"))&&(Wp=1);"FORCE_COLOR"in ls&&(ls.FORCE_COLOR==="true"?Wp=1:ls.FORCE_COLOR==="false"?Wp=0:Wp=ls.FORCE_COLOR.length===0?1:Math.min(parseInt(ls.FORCE_COLOR,10),3));function aN(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function lN(t,e){if(Wp===0)return 0;if(_l("color=16m")||_l("color=full")||_l("color=truecolor"))return 3;if(_l("color=256"))return 2;if(t&&!e&&Wp===void 0)return 0;let r=Wp||0;if(ls.TERM==="dumb")return r;if(process.platform==="win32"){let o=y5e.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in ls)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(o=>o in ls)||ls.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in ls)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ls.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ls)return 1;if(ls.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ls){let o=parseInt((ls.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ls.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ls.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ls.TERM)||"COLORTERM"in ls?1:r}function E5e(t){let e=lN(t,t&&t.isTTY);return aN(e)}gX.exports={supportsColor:E5e,stdout:aN(lN(!0,hX.isatty(1))),stderr:aN(lN(!0,hX.isatty(2)))}});var mX=U((tkt,dX)=>{"use strict";var C5e=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},I5e=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r | 128 | `,"\r"],!1,!1),g=0,De=0,Ce=[{line:1,column:1}],de=0,ne=[],Z=0,me;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function be(){return t.substring(De,g)}function ut(){return Oe(De,g)}function H($,ie){throw ie=ie!==void 0?ie:Oe(De,g),P([qe($)],t.substring(De,g),ie)}function yt($,ie){throw ie=ie!==void 0?ie:Oe(De,g),I($,ie)}function Me($,ie){return{type:"literal",text:$,ignoreCase:ie}}function Te($,ie,ke){return{type:"class",parts:$,inverted:ie,ignoreCase:ke}}function Qe(){return{type:"any"}}function _e(){return{type:"end"}}function qe($){return{type:"other",description:$}}function At($){var ie=Ce[$],ke;if(ie)return ie;for(ke=$-1;!Ce[ke];)ke--;for(ie=Ce[ke],ie={line:ie.line,column:ie.column};ke<$;)t.charCodeAt(ke)===10?(ie.line++,ie.column=1):ie.column++,ke++;return Ce[$]=ie,ie}function Oe($,ie){var ke=At($),Ne=At(ie);return{start:{offset:$,line:ke.line,column:ke.column},end:{offset:ie,line:Ne.line,column:Ne.column}}}function x($){g<de||(g>de&&(de=g,ne=[]),ne.push($))}function I($,ie){return new cd($,null,null,ie)}function P($,ie,ke){return new cd(cd.buildMessage($,ie),$,ie,ke)}function y(){var $,ie,ke,Ne,st,ht,Ut,Xt;if($=g,ie=F(),ie!==r){for(ke=[],Ne=g,st=X(),st!==r?(t.charCodeAt(g)===124?(ht=n,g++):(ht=r,Z===0&&x(u)),ht===r&&(t.charCodeAt(g)===38?(ht=A,g++):(ht=r,Z===0&&x(p)),ht===r&&(t.charCodeAt(g)===94?(ht=h,g++):(ht=r,Z===0&&x(E)))),ht!==r?(Ut=X(),Ut!==r?(Xt=F(),Xt!==r?(st=[st,ht,Ut,Xt],Ne=st):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r);Ne!==r;)ke.push(Ne),Ne=g,st=X(),st!==r?(t.charCodeAt(g)===124?(ht=n,g++):(ht=r,Z===0&&x(u)),ht===r&&(t.charCodeAt(g)===38?(ht=A,g++):(ht=r,Z===0&&x(p)),ht===r&&(t.charCodeAt(g)===94?(ht=h,g++):(ht=r,Z===0&&x(E)))),ht!==r?(Ut=X(),Ut!==r?(Xt=F(),Xt!==r?(st=[st,ht,Ut,Xt],Ne=st):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r)):(g=Ne,Ne=r);ke!==r?(De=$,ie=w(ie,ke),$=ie):(g=$,$=r)}else g=$,$=r;return $}function F(){var $,ie,ke,Ne,st,ht;return $=g,t.charCodeAt(g)===33?(ie=v,g++):(ie=r,Z===0&&x(b)),ie!==r?(ke=F(),ke!==r?(De=$,ie=C(ke),$=ie):(g=$,$=r)):(g=$,$=r),$===r&&($=g,t.charCodeAt(g)===40?(ie=R,g++):(ie=r,Z===0&&x(L)),ie!==r?(ke=X(),ke!==r?(Ne=y(),Ne!==r?(st=X(),st!==r?(t.charCodeAt(g)===41?(ht=_,g++):(ht=r,Z===0&&x(V)),ht!==r?(De=$,ie=re(Ne),$=ie):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r),$===r&&($=J())),$}function J(){var $,ie,ke,Ne,st;if($=g,ie=X(),ie!==r){if(ke=g,Ne=[],oe.test(t.charAt(g))?(st=t.charAt(g),g++):(st=r,Z===0&&x(pe)),st!==r)for(;st!==r;)Ne.push(st),oe.test(t.charAt(g))?(st=t.charAt(g),g++):(st=r,Z===0&&x(pe));else Ne=r;Ne!==r?ke=t.substring(ke,g):ke=Ne,ke!==r?(De=g,Ne=he(ke),Ne?Ne=void 0:Ne=r,Ne!==r?(De=$,ie=ve(ke),$=ie):(g=$,$=r)):(g=$,$=r)}else g=$,$=r;return $}function X(){var $,ie;for(Z++,$=[],le.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&x(Pe));ie!==r;)$.push(ie),le.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&x(Pe));return Z--,$===r&&(ie=r,Z===0&&x(ge)),$}if(me=a(),me!==r&&g===t.length)return me;throw me!==r&&g<t.length&&x(_e()),P(ne,de<t.length?t.charAt(de):null,de<t.length?Oe(de,de+1):Oe(de,de))}rX.exports={SyntaxError:cd,parse:m9e}});var iX=U(gS=>{var{parse:y9e}=nX();gS.makeParser=(t=/[a-z]+/)=>(e,r)=>y9e(e,{queryPattern:t,checkFn:r});gS.parse=gS.makeParser()});var oX=U((lkt,sX)=>{"use strict";sX.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var sN=U((ckt,lX)=>{var hw=oX(),aX={};for(let t of Object.keys(hw))aX[hw[t]]=t;var cr={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};lX.exports=cr;for(let t of Object.keys(cr)){if(!("channels"in cr[t]))throw new Error("missing channels property: "+t);if(!("labels"in cr[t]))throw new Error("missing channel labels property: "+t);if(cr[t].labels.length!==cr[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=cr[t];delete cr[t].channels,delete cr[t].labels,Object.defineProperty(cr[t],"channels",{value:e}),Object.defineProperty(cr[t],"labels",{value:r})}cr.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(e,r,o),n=Math.max(e,r,o),u=n-a,A,p;n===a?A=0:e===n?A=(r-o)/u:r===n?A=2+(o-e)/u:o===n&&(A=4+(e-r)/u),A=Math.min(A*60,360),A<0&&(A+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=u/(n+a):p=u/(2-n-a),[A,p*100,h*100]};cr.rgb.hsv=function(t){let e,r,o,a,n,u=t[0]/255,A=t[1]/255,p=t[2]/255,h=Math.max(u,A,p),E=h-Math.min(u,A,p),w=function(v){return(h-v)/6/E+1/2};return E===0?(a=0,n=0):(n=E/h,e=w(u),r=w(A),o=w(p),u===h?a=o-r:A===h?a=1/3+e-o:p===h&&(a=2/3+r-e),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};cr.rgb.hwb=function(t){let e=t[0],r=t[1],o=t[2],a=cr.rgb.hsl(t)[0],n=1/255*Math.min(e,Math.min(r,o));return o=1-1/255*Math.max(e,Math.max(r,o)),[a,n*100,o*100]};cr.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(1-e,1-r,1-o),n=(1-e-a)/(1-a)||0,u=(1-r-a)/(1-a)||0,A=(1-o-a)/(1-a)||0;return[n*100,u*100,A*100,a*100]};function C9e(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}cr.rgb.keyword=function(t){let e=aX[t];if(e)return e;let r=1/0,o;for(let a of Object.keys(hw)){let n=hw[a],u=C9e(t,n);u<r&&(r=u,o=a)}return o};cr.keyword.rgb=function(t){return hw[t]};cr.rgb.xyz=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=e*.4124+r*.3576+o*.1805,n=e*.2126+r*.7152+o*.0722,u=e*.0193+r*.1192+o*.9505;return[a*100,n*100,u*100]};cr.rgb.lab=function(t){let e=cr.rgb.xyz(t),r=e[0],o=e[1],a=e[2];r/=95.047,o/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*o-16,u=500*(r-o),A=200*(o-a);return[n,u,A]};cr.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a,n,u;if(r===0)return u=o*255,[u,u,u];o<.5?a=o*(1+r):a=o+r-o*r;let A=2*o-a,p=[0,0,0];for(let h=0;h<3;h++)n=e+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?u=A+(a-A)*6*n:2*n<1?u=a:3*n<2?u=A+(a-A)*(2/3-n)*6:u=A,p[h]=u*255;return p};cr.hsl.hsv=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=r,n=Math.max(o,.01);o*=2,r*=o<=1?o:2-o,a*=n<=1?n:2-n;let u=(o+r)/2,A=o===0?2*a/(n+a):2*r/(o+r);return[e,A*100,u*100]};cr.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,o=t[2]/100,a=Math.floor(e)%6,n=e-Math.floor(e),u=255*o*(1-r),A=255*o*(1-r*n),p=255*o*(1-r*(1-n));switch(o*=255,a){case 0:return[o,p,u];case 1:return[A,o,u];case 2:return[u,o,p];case 3:return[u,A,o];case 4:return[p,u,o];case 5:return[o,u,A]}};cr.hsv.hsl=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=Math.max(o,.01),n,u;u=(2-r)*o;let A=(2-r)*a;return n=r*a,n/=A<=1?A:2-A,n=n||0,u/=2,[e,n*100,u*100]};cr.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a=r+o,n;a>1&&(r/=a,o/=a);let u=Math.floor(6*e),A=1-o;n=6*e-u,(u&1)!==0&&(n=1-n);let p=r+n*(A-r),h,E,w;switch(u){default:case 6:case 0:h=A,E=p,w=r;break;case 1:h=p,E=A,w=r;break;case 2:h=r,E=A,w=p;break;case 3:h=r,E=p,w=A;break;case 4:h=p,E=r,w=A;break;case 5:h=A,E=r,w=p;break}return[h*255,E*255,w*255]};cr.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a=t[3]/100,n=1-Math.min(1,e*(1-a)+a),u=1-Math.min(1,r*(1-a)+a),A=1-Math.min(1,o*(1-a)+a);return[n*255,u*255,A*255]};cr.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a,n,u;return a=e*3.2406+r*-1.5372+o*-.4986,n=e*-.9689+r*1.8758+o*.0415,u=e*.0557+r*-.204+o*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),u=Math.min(Math.max(0,u),1),[a*255,n*255,u*255]};cr.xyz.lab=function(t){let e=t[0],r=t[1],o=t[2];e/=95.047,r/=100,o/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let a=116*r-16,n=500*(e-r),u=200*(r-o);return[a,n,u]};cr.lab.xyz=function(t){let e=t[0],r=t[1],o=t[2],a,n,u;n=(e+16)/116,a=r/500+n,u=n-o/200;let A=n**3,p=a**3,h=u**3;return n=A>.008856?A:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,u=h>.008856?h:(u-16/116)/7.787,a*=95.047,n*=100,u*=108.883,[a,n,u]};cr.lab.lch=function(t){let e=t[0],r=t[1],o=t[2],a;a=Math.atan2(o,r)*360/2/Math.PI,a<0&&(a+=360);let u=Math.sqrt(r*r+o*o);return[e,u,a]};cr.lch.lab=function(t){let e=t[0],r=t[1],a=t[2]/360*2*Math.PI,n=r*Math.cos(a),u=r*Math.sin(a);return[e,n,u]};cr.rgb.ansi16=function(t,e=null){let[r,o,a]=t,n=e===null?cr.rgb.hsv(t)[2]:e;if(n=Math.round(n/50),n===0)return 30;let u=30+(Math.round(a/255)<<2|Math.round(o/255)<<1|Math.round(r/255));return n===2&&(u+=60),u};cr.hsv.ansi16=function(t){return cr.rgb.ansi16(cr.hsv.rgb(t),t[2])};cr.rgb.ansi256=function(t){let e=t[0],r=t[1],o=t[2];return e===r&&r===o?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)};cr.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,o=(e&1)*r*255,a=(e>>1&1)*r*255,n=(e>>2&1)*r*255;return[o,a,n]};cr.ansi256.rgb=function(t){if(t>=232){let n=(t-232)*10+8;return[n,n,n]}t-=16;let e,r=Math.floor(t/36)/5*255,o=Math.floor((e=t%36)/6)/5*255,a=e%6/5*255;return[r,o,a]};cr.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};cr.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(A=>A+A).join(""));let o=parseInt(r,16),a=o>>16&255,n=o>>8&255,u=o&255;return[a,n,u]};cr.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.max(Math.max(e,r),o),n=Math.min(Math.min(e,r),o),u=a-n,A,p;return u<1?A=n/(1-u):A=0,u<=0?p=0:a===e?p=(r-o)/u%6:a===r?p=2+(o-e)/u:p=4+(e-r)/u,p/=6,p%=1,[p*360,u*100,A*100]};cr.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=r<.5?2*e*r:2*e*(1-r),a=0;return o<1&&(a=(r-.5*o)/(1-o)),[t[0],o*100,a*100]};cr.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=e*r,a=0;return o<1&&(a=(r-o)/(1-o)),[t[0],o*100,a*100]};cr.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100;if(r===0)return[o*255,o*255,o*255];let a=[0,0,0],n=e%1*6,u=n%1,A=1-u,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=u,a[2]=0;break;case 1:a[0]=A,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=u;break;case 3:a[0]=0,a[1]=A,a[2]=1;break;case 4:a[0]=u,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=A}return p=(1-r)*o,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};cr.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e),a=0;return o>0&&(a=e/o),[t[0],a*100,o*100]};cr.hcg.hsl=function(t){let e=t[1]/100,o=t[2]/100*(1-e)+.5*e,a=0;return o>0&&o<.5?a=e/(2*o):o>=.5&&o<1&&(a=e/(2*(1-o))),[t[0],a*100,o*100]};cr.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e);return[t[0],(o-e)*100,(1-o)*100]};cr.hwb.hcg=function(t){let e=t[1]/100,o=1-t[2]/100,a=o-e,n=0;return a<1&&(n=(o-a)/(1-a)),[t[0],a*100,n*100]};cr.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};cr.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};cr.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};cr.gray.hsl=function(t){return[0,0,t[0]]};cr.gray.hsv=cr.gray.hsl;cr.gray.hwb=function(t){return[0,100,t[0]]};cr.gray.cmyk=function(t){return[0,0,0,t[0]]};cr.gray.lab=function(t){return[t[0],0,0]};cr.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,o=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(o.length)+o};cr.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var uX=U((ukt,cX)=>{var dS=sN();function E9e(){let t={},e=Object.keys(dS);for(let r=e.length,o=0;o<r;o++)t[e[o]]={distance:-1,parent:null};return t}function I9e(t){let e=E9e(),r=[t];for(e[t].distance=0;r.length;){let o=r.pop(),a=Object.keys(dS[o]);for(let n=a.length,u=0;u<n;u++){let A=a[u],p=e[A];p.distance===-1&&(p.distance=e[o].distance+1,p.parent=o,r.unshift(A))}}return e}function w9e(t,e){return function(r){return e(t(r))}}function B9e(t,e){let r=[e[t].parent,t],o=dS[e[t].parent][t],a=e[t].parent;for(;e[a].parent;)r.unshift(e[a].parent),o=w9e(dS[e[a].parent][a],o),a=e[a].parent;return o.conversion=r,o}cX.exports=function(t){let e=I9e(t),r={},o=Object.keys(e);for(let a=o.length,n=0;n<a;n++){let u=o[n];e[u].parent!==null&&(r[u]=B9e(u,e))}return r}});var fX=U((Akt,AX)=>{var oN=sN(),v9e=uX(),Qy={},D9e=Object.keys(oN);function S9e(t){let e=function(...r){let o=r[0];return o==null?o:(o.length>1&&(r=o),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function P9e(t){let e=function(...r){let o=r[0];if(o==null)return o;o.length>1&&(r=o);let a=t(r);if(typeof a=="object")for(let n=a.length,u=0;u<n;u++)a[u]=Math.round(a[u]);return a};return"conversion"in t&&(e.conversion=t.conversion),e}D9e.forEach(t=>{Qy[t]={},Object.defineProperty(Qy[t],"channels",{value:oN[t].channels}),Object.defineProperty(Qy[t],"labels",{value:oN[t].labels});let e=v9e(t);Object.keys(e).forEach(o=>{let a=e[o];Qy[t][o]=P9e(a),Qy[t][o].raw=S9e(a)})});AX.exports=Qy});var gw=U((fkt,mX)=>{"use strict";var pX=(t,e)=>(...r)=>`\x1B[${t(...r)+e}m`,hX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};5;${o}m`},gX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};2;${o[0]};${o[1]};${o[2]}m`},mS=t=>t,dX=(t,e,r)=>[t,e,r],ky=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let o=r();return Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0}),o},enumerable:!0,configurable:!0})},aN,Fy=(t,e,r,o)=>{aN===void 0&&(aN=fX());let a=o?10:0,n={};for(let[u,A]of Object.entries(aN)){let p=u==="ansi16"?"ansi":u;u===e?n[p]=t(r,a):typeof A=="object"&&(n[p]=t(A[e],a))}return n};function x9e(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,o]of Object.entries(e)){for(let[a,n]of Object.entries(o))e[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[a]=e[a],t.set(n[0],n[1]);Object.defineProperty(e,r,{value:o,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",ky(e.color,"ansi",()=>Fy(pX,"ansi16",mS,!1)),ky(e.color,"ansi256",()=>Fy(hX,"ansi256",mS,!1)),ky(e.color,"ansi16m",()=>Fy(gX,"rgb",dX,!1)),ky(e.bgColor,"ansi",()=>Fy(pX,"ansi16",mS,!0)),ky(e.bgColor,"ansi256",()=>Fy(hX,"ansi256",mS,!0)),ky(e.bgColor,"ansi16m",()=>Fy(gX,"rgb",dX,!0)),e}Object.defineProperty(mX,"exports",{enumerable:!0,get:x9e})});var CX=U((pkt,yX)=>{"use strict";yX.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),a=e.indexOf("--");return o!==-1&&(a===-1||o<a)}});var uN=U((hkt,IX)=>{"use strict";var b9e=Ie("os"),EX=Ie("tty"),jl=CX(),{env:ls}=process,Yp;jl("no-color")||jl("no-colors")||jl("color=false")||jl("color=never")?Yp=0:(jl("color")||jl("colors")||jl("color=true")||jl("color=always"))&&(Yp=1);"FORCE_COLOR"in ls&&(ls.FORCE_COLOR==="true"?Yp=1:ls.FORCE_COLOR==="false"?Yp=0:Yp=ls.FORCE_COLOR.length===0?1:Math.min(parseInt(ls.FORCE_COLOR,10),3));function lN(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function cN(t,e){if(Yp===0)return 0;if(jl("color=16m")||jl("color=full")||jl("color=truecolor"))return 3;if(jl("color=256"))return 2;if(t&&!e&&Yp===void 0)return 0;let r=Yp||0;if(ls.TERM==="dumb")return r;if(process.platform==="win32"){let o=b9e.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in ls)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(o=>o in ls)||ls.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in ls)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ls.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ls)return 1;if(ls.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ls){let o=parseInt((ls.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ls.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ls.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ls.TERM)||"COLORTERM"in ls?1:r}function Q9e(t){let e=cN(t,t&&t.isTTY);return lN(e)}IX.exports={supportsColor:Q9e,stdout:lN(cN(!0,EX.isatty(1))),stderr:lN(cN(!0,EX.isatty(2)))}});var BX=U((gkt,wX)=>{"use strict";var k9e=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},F9e=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r |
129 | `:` | 129 | `:` |
130 | `)+r,a=o+1,o=t.indexOf(` | 130 | `)+r,a=o+1,o=t.indexOf(` |
131 | `,a)}while(o!==-1);return n+=t.substr(a),n};dX.exports={stringReplaceAll:C5e,stringEncaseCRLFWithFirstIndex:I5e}});var wX=U((rkt,IX)=>{"use strict";var w5e=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,yX=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,B5e=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,v5e=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,D5e=new Map([["n",` | 131 | `,a)}while(o!==-1);return n+=t.substr(a),n};wX.exports={stringReplaceAll:k9e,stringEncaseCRLFWithFirstIndex:F9e}});var xX=U((dkt,PX)=>{"use strict";var R9e=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,vX=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,T9e=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,N9e=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,L9e=new Map([["n",` |
132 | `],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function CX(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):D5e.get(t)||t}function S5e(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(B5e))r.push(a[2].replace(v5e,(A,p,h)=>p?CX(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function P5e(t){yX.lastIndex=0;let e=[],r;for(;(r=yX.exec(t))!==null;){let o=r[1];if(r[2]){let a=S5e(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function EX(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}IX.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(w5e,(n,u,A,p,h,C)=>{if(u)a.push(CX(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:EX(t,r)(w)),r.push({inverse:A,styles:P5e(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(EX(t,r)(a.join(""))),a=[],r.pop()}else a.push(C)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var gN=U((nkt,SX)=>{"use strict";var fw=Aw(),{stdout:AN,stderr:fN}=cN(),{stringReplaceAll:x5e,stringEncaseCRLFWithFirstIndex:b5e}=mX(),BX=["ansi","ansi","ansi256","ansi16m"],xy=Object.create(null),Q5e=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=AN?AN.level:0;t.level=e.level===void 0?r:e.level},pN=class{constructor(e){return vX(e)}},vX=t=>{let e={};return Q5e(e,t),e.template=(...r)=>R5e(e.template,...r),Object.setPrototypeOf(e,AS.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=pN,e.template};function AS(t){return vX(t)}for(let[t,e]of Object.entries(fw))xy[t]={get(){let r=fS(this,hN(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};xy.visible={get(){let t=fS(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var DX=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of DX)xy[t]={get(){let{level:e}=this;return function(...r){let o=hN(fw.color[BX[e]][t](...r),fw.color.close,this._styler);return fS(this,o,this._isEmpty)}}};for(let t of DX){let e="bg"+t[0].toUpperCase()+t.slice(1);xy[e]={get(){let{level:r}=this;return function(...o){let a=hN(fw.bgColor[BX[r]][t](...o),fw.bgColor.close,this._styler);return fS(this,a,this._isEmpty)}}}}var k5e=Object.defineProperties(()=>{},{...xy,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),hN=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},fS=(t,e,r)=>{let o=(...a)=>F5e(o,a.length===1?""+a[0]:a.join(" "));return o.__proto__=k5e,o._generator=t,o._styler=e,o._isEmpty=r,o},F5e=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=x5e(e,r.close,r.open),r=r.parent;let n=e.indexOf(` | 132 | `],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function SX(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):L9e.get(t)||t}function O9e(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(T9e))r.push(a[2].replace(N9e,(A,p,h)=>p?SX(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function M9e(t){vX.lastIndex=0;let e=[],r;for(;(r=vX.exec(t))!==null;){let o=r[1];if(r[2]){let a=O9e(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function DX(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}PX.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(R9e,(n,u,A,p,h,E)=>{if(u)a.push(SX(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:DX(t,r)(w)),r.push({inverse:A,styles:M9e(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(DX(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var dN=U((mkt,FX)=>{"use strict";var dw=gw(),{stdout:fN,stderr:pN}=uN(),{stringReplaceAll:U9e,stringEncaseCRLFWithFirstIndex:_9e}=BX(),bX=["ansi","ansi","ansi256","ansi16m"],Ry=Object.create(null),H9e=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=fN?fN.level:0;t.level=e.level===void 0?r:e.level},hN=class{constructor(e){return QX(e)}},QX=t=>{let e={};return H9e(e,t),e.template=(...r)=>G9e(e.template,...r),Object.setPrototypeOf(e,yS.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=hN,e.template};function yS(t){return QX(t)}for(let[t,e]of Object.entries(dw))Ry[t]={get(){let r=CS(this,gN(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Ry.visible={get(){let t=CS(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var kX=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of kX)Ry[t]={get(){let{level:e}=this;return function(...r){let o=gN(dw.color[bX[e]][t](...r),dw.color.close,this._styler);return CS(this,o,this._isEmpty)}}};for(let t of kX){let e="bg"+t[0].toUpperCase()+t.slice(1);Ry[e]={get(){let{level:r}=this;return function(...o){let a=gN(dw.bgColor[bX[r]][t](...o),dw.bgColor.close,this._styler);return CS(this,a,this._isEmpty)}}}}var q9e=Object.defineProperties(()=>{},{...Ry,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),gN=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},CS=(t,e,r)=>{let o=(...a)=>j9e(o,a.length===1?""+a[0]:a.join(" "));return o.__proto__=q9e,o._generator=t,o._styler=e,o._isEmpty=r,o},j9e=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=U9e(e,r.close,r.open),r=r.parent;let n=e.indexOf(` |
133 | `);return n!==-1&&(e=b5e(e,a,o,n)),o+e+a},uN,R5e=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return uN===void 0&&(uN=wX()),uN(t,a.join(""))};Object.defineProperties(AS.prototype,xy);var pw=AS();pw.supportsColor=AN;pw.stderr=AS({level:fN?fN.level:0});pw.stderr.supportsColor=fN;pw.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:"None",1:"Basic",2:"Ansi256",3:"TrueColor"};SX.exports=pw});var pS=U(Hl=>{"use strict";Hl.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Hl.find=(t,e)=>t.nodes.find(r=>r.type===e);Hl.exceedsLimit=(t,e,r=1,o)=>o===!1||!Hl.isInteger(t)||!Hl.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=o;Hl.escapeNode=(t,e=0,r)=>{let o=t.nodes[e];!o||(r&&o.type===r||o.type==="open"||o.type==="close")&&o.escaped!==!0&&(o.value="\\"+o.value,o.escaped=!0)};Hl.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;Hl.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Hl.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Hl.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);Hl.flatten=(...t)=>{let e=[],r=o=>{for(let a=0;a<o.length;a++){let n=o[a];Array.isArray(n)?r(n,e):n!==void 0&&e.push(n)}return e};return r(t),e}});var hS=U((skt,xX)=>{"use strict";var PX=pS();xX.exports=(t,e={})=>{let r=(o,a={})=>{let n=e.escapeInvalid&&PX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A="";if(o.value)return(n||u)&&PX.isOpenOrClose(o)?"\\"+o.value:o.value;if(o.value)return o.value;if(o.nodes)for(let p of o.nodes)A+=r(p);return A};return r(t)}});var QX=U((okt,bX)=>{"use strict";bX.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var UX=U((akt,MX)=>{"use strict";var kX=QX(),ad=(t,e,r)=>{if(kX(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(kX(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};typeof o.strictZeros=="boolean"&&(o.relaxZeros=o.strictZeros===!1);let a=String(o.relaxZeros),n=String(o.shorthand),u=String(o.capture),A=String(o.wrap),p=t+":"+e+"="+a+n+u+A;if(ad.cache.hasOwnProperty(p))return ad.cache[p].result;let h=Math.min(t,e),C=Math.max(t,e);if(Math.abs(h-C)===1){let R=t+"|"+e;return o.capture?`(${R})`:o.wrap===!1?R:`(?:${R})`}let w=OX(t)||OX(e),v={min:t,max:e,a:h,b:C},b=[],E=[];if(w&&(v.isPadded=w,v.maxLen=String(v.max).length),h<0){let R=C<0?Math.abs(C):1;E=FX(R,Math.abs(h),v,o),h=v.a=0}return C>=0&&(b=FX(h,C,v,o)),v.negatives=E,v.positives=b,v.result=T5e(E,b,o),o.capture===!0?v.result=`(${v.result})`:o.wrap!==!1&&b.length+E.length>1&&(v.result=`(?:${v.result})`),ad.cache[p]=v,v.result};function T5e(t,e,r){let o=dN(t,e,"-",!1,r)||[],a=dN(e,t,"",!1,r)||[],n=dN(t,e,"-?",!0,r)||[];return o.concat(n).concat(a).join("|")}function N5e(t,e){let r=1,o=1,a=TX(t,r),n=new Set([e]);for(;t<=a&&a<=e;)n.add(a),r+=1,a=TX(t,r);for(a=NX(e+1,o)-1;t<a&&a<=e;)n.add(a),o+=1,a=NX(e+1,o)-1;return n=[...n],n.sort(M5e),n}function L5e(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let o=O5e(t,e),a=o.length,n="",u=0;for(let A=0;A<a;A++){let[p,h]=o[A];p===h?n+=p:p!=="0"||h!=="9"?n+=U5e(p,h,r):u++}return u&&(n+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:n,count:[u],digits:a}}function FX(t,e,r,o){let a=N5e(t,e),n=[],u=t,A;for(let p=0;p<a.length;p++){let h=a[p],C=L5e(String(u),String(h),o),w="";if(!r.isPadded&&A&&A.pattern===C.pattern){A.count.length>1&&A.count.pop(),A.count.push(C.count[0]),A.string=A.pattern+LX(A.count),u=h+1;continue}r.isPadded&&(w=_5e(h,r,o)),C.string=w+C.pattern+LX(C.count),n.push(C),u=h+1,A=C}return n}function dN(t,e,r,o,a){let n=[];for(let u of t){let{string:A}=u;!o&&!RX(e,"string",A)&&n.push(r+A),o&&RX(e,"string",A)&&n.push(r+A)}return n}function O5e(t,e){let r=[];for(let o=0;o<t.length;o++)r.push([t[o],e[o]]);return r}function M5e(t,e){return t>e?1:e>t?-1:0}function RX(t,e,r){return t.some(o=>o[e]===r)}function TX(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function NX(t,e){return t-t%Math.pow(10,e)}function LX(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function U5e(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function OX(t){return/^-?(0+)\d/.test(t)}function _5e(t,e,r){if(!e.isPadded)return t;let o=Math.abs(e.maxLen-String(t).length),a=r.relaxZeros!==!1;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${o}}`:`0{${o}}`}}ad.cache={};ad.clearCache=()=>ad.cache={};MX.exports=ad});var EN=U((lkt,KX)=>{"use strict";var H5e=Ie("util"),qX=UX(),_X=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),q5e=t=>e=>t===!0?Number(e):String(e),mN=t=>typeof t=="number"||typeof t=="string"&&t!=="",hw=t=>Number.isInteger(+t),yN=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},j5e=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,G5e=(t,e,r)=>{if(e>0){let o=t[0]==="-"?"-":"";o&&(t=t.slice(1)),t=o+t.padStart(o?e-1:e,"0")}return r===!1?String(t):t},HX=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return r?"-"+t:t},W5e=(t,e)=>{t.negatives.sort((u,A)=>u<A?-1:u>A?1:0),t.positives.sort((u,A)=>u<A?-1:u>A?1:0);let r=e.capture?"":"?:",o="",a="",n;return t.positives.length&&(o=t.positives.join("|")),t.negatives.length&&(a=`-(${r}${t.negatives.join("|")})`),o&&a?n=`${o}|${a}`:n=o||a,e.wrap?`(${r}${n})`:n},jX=(t,e,r,o)=>{if(r)return qX(t,e,{wrap:!1,...o});let a=String.fromCharCode(t);if(t===e)return a;let n=String.fromCharCode(e);return`[${a}-${n}]`},GX=(t,e,r)=>{if(Array.isArray(t)){let o=r.wrap===!0,a=r.capture?"":"?:";return o?`(${a}${t.join("|")})`:t.join("|")}return qX(t,e,r)},WX=(...t)=>new RangeError("Invalid range arguments: "+H5e.inspect(...t)),YX=(t,e,r)=>{if(r.strictRanges===!0)throw WX([t,e]);return[]},Y5e=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},K5e=(t,e,r=1,o={})=>{let a=Number(t),n=Number(e);if(!Number.isInteger(a)||!Number.isInteger(n)){if(o.strictRanges===!0)throw WX([t,e]);return[]}a===0&&(a=0),n===0&&(n=0);let u=a>n,A=String(t),p=String(e),h=String(r);r=Math.max(Math.abs(r),1);let C=yN(A)||yN(p)||yN(h),w=C?Math.max(A.length,p.length,h.length):0,v=C===!1&&j5e(t,e,o)===!1,b=o.transform||q5e(v);if(o.toRegex&&r===1)return jX(HX(t,w),HX(e,w),!0,o);let E={negatives:[],positives:[]},R=J=>E[J<0?"negatives":"positives"].push(Math.abs(J)),L=[],_=0;for(;u?a>=n:a<=n;)o.toRegex===!0&&r>1?R(a):L.push(G5e(b(a,_),w,v)),a=u?a-r:a+r,_++;return o.toRegex===!0?r>1?W5e(E,o):GX(L,null,{wrap:!1,...o}):L},J5e=(t,e,r=1,o={})=>{if(!hw(t)&&t.length>1||!hw(e)&&e.length>1)return YX(t,e,o);let a=o.transform||(v=>String.fromCharCode(v)),n=`${t}`.charCodeAt(0),u=`${e}`.charCodeAt(0),A=n>u,p=Math.min(n,u),h=Math.max(n,u);if(o.toRegex&&r===1)return jX(p,h,!1,o);let C=[],w=0;for(;A?n>=u:n<=u;)C.push(a(n,w)),n=A?n-r:n+r,w++;return o.toRegex===!0?GX(C,null,{wrap:!1,options:o}):C},gS=(t,e,r,o={})=>{if(e==null&&mN(t))return[t];if(!mN(t)||!mN(e))return YX(t,e,o);if(typeof r=="function")return gS(t,e,1,{transform:r});if(_X(r))return gS(t,e,0,r);let a={...o};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,hw(r)?hw(t)&&hw(e)?K5e(t,e,r,a):J5e(t,e,Math.max(Math.abs(r),1),a):r!=null&&!_X(r)?Y5e(r,a):gS(t,e,1,r)};KX.exports=gS});var zX=U((ckt,VX)=>{"use strict";var V5e=EN(),JX=pS(),z5e=(t,e={})=>{let r=(o,a={})=>{let n=JX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A=n===!0||u===!0,p=e.escapeInvalid===!0?"\\":"",h="";if(o.isOpen===!0||o.isClose===!0)return p+o.value;if(o.type==="open")return A?p+o.value:"(";if(o.type==="close")return A?p+o.value:")";if(o.type==="comma")return o.prev.type==="comma"?"":A?o.value:"|";if(o.value)return o.value;if(o.nodes&&o.ranges>0){let C=JX.reduce(o.nodes),w=V5e(...C,{...e,wrap:!1,toRegex:!0});if(w.length!==0)return C.length>1&&w.length>1?`(${w})`:w}if(o.nodes)for(let C of o.nodes)h+=r(C,o);return h};return r(t)};VX.exports=z5e});var $X=U((ukt,ZX)=>{"use strict";var X5e=EN(),XX=hS(),by=pS(),ld=(t="",e="",r=!1)=>{let o=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?by.flatten(e).map(a=>`{${a}}`):e;for(let a of t)if(Array.isArray(a))for(let n of a)o.push(ld(n,e,r));else for(let n of e)r===!0&&typeof n=="string"&&(n=`{${n}}`),o.push(Array.isArray(n)?ld(a,n,r):a+n);return by.flatten(o)},Z5e=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,o=(a,n={})=>{a.queue=[];let u=n,A=n.queue;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,A=u.queue;if(a.invalid||a.dollar){A.push(ld(A.pop(),XX(a,e)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){A.push(ld(A.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let w=by.reduce(a.nodes);if(by.exceedsLimit(...w,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let v=X5e(...w,e);v.length===0&&(v=XX(a,e)),A.push(ld(A.pop(),v)),a.nodes=[];return}let p=by.encloseBrace(a),h=a.queue,C=a;for(;C.type!=="brace"&&C.type!=="root"&&C.parent;)C=C.parent,h=C.queue;for(let w=0;w<a.nodes.length;w++){let v=a.nodes[w];if(v.type==="comma"&&a.type==="brace"){w===1&&h.push(""),h.push("");continue}if(v.type==="close"){A.push(ld(A.pop(),h,p));continue}if(v.value&&v.type!=="open"){h.push(ld(h.pop(),v.value));continue}v.nodes&&o(v,a)}return h};return by.flatten(o(t))};ZX.exports=Z5e});var tZ=U((Akt,eZ)=>{"use strict";eZ.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` | 133 | `);return n!==-1&&(e=_9e(e,a,o,n)),o+e+a},AN,G9e=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return AN===void 0&&(AN=xX()),AN(t,a.join(""))};Object.defineProperties(yS.prototype,Ry);var mw=yS();mw.supportsColor=fN;mw.stderr=yS({level:pN?pN.level:0});mw.stderr.supportsColor=pN;mw.Level={None:0,Basic:1,Ansi256:2,TrueColor:3,0:"None",1:"Basic",2:"Ansi256",3:"TrueColor"};FX.exports=mw});var ES=U(Gl=>{"use strict";Gl.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Gl.find=(t,e)=>t.nodes.find(r=>r.type===e);Gl.exceedsLimit=(t,e,r=1,o)=>o===!1||!Gl.isInteger(t)||!Gl.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=o;Gl.escapeNode=(t,e=0,r)=>{let o=t.nodes[e];!o||(r&&o.type===r||o.type==="open"||o.type==="close")&&o.escaped!==!0&&(o.value="\\"+o.value,o.escaped=!0)};Gl.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;Gl.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Gl.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Gl.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);Gl.flatten=(...t)=>{let e=[],r=o=>{for(let a=0;a<o.length;a++){let n=o[a];Array.isArray(n)?r(n,e):n!==void 0&&e.push(n)}return e};return r(t),e}});var IS=U((Ckt,TX)=>{"use strict";var RX=ES();TX.exports=(t,e={})=>{let r=(o,a={})=>{let n=e.escapeInvalid&&RX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A="";if(o.value)return(n||u)&&RX.isOpenOrClose(o)?"\\"+o.value:o.value;if(o.value)return o.value;if(o.nodes)for(let p of o.nodes)A+=r(p);return A};return r(t)}});var LX=U((Ekt,NX)=>{"use strict";NX.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var WX=U((Ikt,GX)=>{"use strict";var OX=LX(),ud=(t,e,r)=>{if(OX(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(OX(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};typeof o.strictZeros=="boolean"&&(o.relaxZeros=o.strictZeros===!1);let a=String(o.relaxZeros),n=String(o.shorthand),u=String(o.capture),A=String(o.wrap),p=t+":"+e+"="+a+n+u+A;if(ud.cache.hasOwnProperty(p))return ud.cache[p].result;let h=Math.min(t,e),E=Math.max(t,e);if(Math.abs(h-E)===1){let R=t+"|"+e;return o.capture?`(${R})`:o.wrap===!1?R:`(?:${R})`}let w=jX(t)||jX(e),v={min:t,max:e,a:h,b:E},b=[],C=[];if(w&&(v.isPadded=w,v.maxLen=String(v.max).length),h<0){let R=E<0?Math.abs(E):1;C=MX(R,Math.abs(h),v,o),h=v.a=0}return E>=0&&(b=MX(h,E,v,o)),v.negatives=C,v.positives=b,v.result=W9e(C,b,o),o.capture===!0?v.result=`(${v.result})`:o.wrap!==!1&&b.length+C.length>1&&(v.result=`(?:${v.result})`),ud.cache[p]=v,v.result};function W9e(t,e,r){let o=mN(t,e,"-",!1,r)||[],a=mN(e,t,"",!1,r)||[],n=mN(t,e,"-?",!0,r)||[];return o.concat(n).concat(a).join("|")}function Y9e(t,e){let r=1,o=1,a=_X(t,r),n=new Set([e]);for(;t<=a&&a<=e;)n.add(a),r+=1,a=_X(t,r);for(a=HX(e+1,o)-1;t<a&&a<=e;)n.add(a),o+=1,a=HX(e+1,o)-1;return n=[...n],n.sort(J9e),n}function K9e(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let o=V9e(t,e),a=o.length,n="",u=0;for(let A=0;A<a;A++){let[p,h]=o[A];p===h?n+=p:p!=="0"||h!=="9"?n+=z9e(p,h,r):u++}return u&&(n+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:n,count:[u],digits:a}}function MX(t,e,r,o){let a=Y9e(t,e),n=[],u=t,A;for(let p=0;p<a.length;p++){let h=a[p],E=K9e(String(u),String(h),o),w="";if(!r.isPadded&&A&&A.pattern===E.pattern){A.count.length>1&&A.count.pop(),A.count.push(E.count[0]),A.string=A.pattern+qX(A.count),u=h+1;continue}r.isPadded&&(w=X9e(h,r,o)),E.string=w+E.pattern+qX(E.count),n.push(E),u=h+1,A=E}return n}function mN(t,e,r,o,a){let n=[];for(let u of t){let{string:A}=u;!o&&!UX(e,"string",A)&&n.push(r+A),o&&UX(e,"string",A)&&n.push(r+A)}return n}function V9e(t,e){let r=[];for(let o=0;o<t.length;o++)r.push([t[o],e[o]]);return r}function J9e(t,e){return t>e?1:e>t?-1:0}function UX(t,e,r){return t.some(o=>o[e]===r)}function _X(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function HX(t,e){return t-t%Math.pow(10,e)}function qX(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function z9e(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function jX(t){return/^-?(0+)\d/.test(t)}function X9e(t,e,r){if(!e.isPadded)return t;let o=Math.abs(e.maxLen-String(t).length),a=r.relaxZeros!==!1;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${o}}`:`0{${o}}`}}ud.cache={};ud.clearCache=()=>ud.cache={};GX.exports=ud});var EN=U((wkt,$X)=>{"use strict";var Z9e=Ie("util"),VX=WX(),YX=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),$9e=t=>e=>t===!0?Number(e):String(e),yN=t=>typeof t=="number"||typeof t=="string"&&t!=="",yw=t=>Number.isInteger(+t),CN=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},e5e=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,t5e=(t,e,r)=>{if(e>0){let o=t[0]==="-"?"-":"";o&&(t=t.slice(1)),t=o+t.padStart(o?e-1:e,"0")}return r===!1?String(t):t},KX=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return r?"-"+t:t},r5e=(t,e)=>{t.negatives.sort((u,A)=>u<A?-1:u>A?1:0),t.positives.sort((u,A)=>u<A?-1:u>A?1:0);let r=e.capture?"":"?:",o="",a="",n;return t.positives.length&&(o=t.positives.join("|")),t.negatives.length&&(a=`-(${r}${t.negatives.join("|")})`),o&&a?n=`${o}|${a}`:n=o||a,e.wrap?`(${r}${n})`:n},JX=(t,e,r,o)=>{if(r)return VX(t,e,{wrap:!1,...o});let a=String.fromCharCode(t);if(t===e)return a;let n=String.fromCharCode(e);return`[${a}-${n}]`},zX=(t,e,r)=>{if(Array.isArray(t)){let o=r.wrap===!0,a=r.capture?"":"?:";return o?`(${a}${t.join("|")})`:t.join("|")}return VX(t,e,r)},XX=(...t)=>new RangeError("Invalid range arguments: "+Z9e.inspect(...t)),ZX=(t,e,r)=>{if(r.strictRanges===!0)throw XX([t,e]);return[]},n5e=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},i5e=(t,e,r=1,o={})=>{let a=Number(t),n=Number(e);if(!Number.isInteger(a)||!Number.isInteger(n)){if(o.strictRanges===!0)throw XX([t,e]);return[]}a===0&&(a=0),n===0&&(n=0);let u=a>n,A=String(t),p=String(e),h=String(r);r=Math.max(Math.abs(r),1);let E=CN(A)||CN(p)||CN(h),w=E?Math.max(A.length,p.length,h.length):0,v=E===!1&&e5e(t,e,o)===!1,b=o.transform||$9e(v);if(o.toRegex&&r===1)return JX(KX(t,w),KX(e,w),!0,o);let C={negatives:[],positives:[]},R=V=>C[V<0?"negatives":"positives"].push(Math.abs(V)),L=[],_=0;for(;u?a>=n:a<=n;)o.toRegex===!0&&r>1?R(a):L.push(t5e(b(a,_),w,v)),a=u?a-r:a+r,_++;return o.toRegex===!0?r>1?r5e(C,o):zX(L,null,{wrap:!1,...o}):L},s5e=(t,e,r=1,o={})=>{if(!yw(t)&&t.length>1||!yw(e)&&e.length>1)return ZX(t,e,o);let a=o.transform||(v=>String.fromCharCode(v)),n=`${t}`.charCodeAt(0),u=`${e}`.charCodeAt(0),A=n>u,p=Math.min(n,u),h=Math.max(n,u);if(o.toRegex&&r===1)return JX(p,h,!1,o);let E=[],w=0;for(;A?n>=u:n<=u;)E.push(a(n,w)),n=A?n-r:n+r,w++;return o.toRegex===!0?zX(E,null,{wrap:!1,options:o}):E},wS=(t,e,r,o={})=>{if(e==null&&yN(t))return[t];if(!yN(t)||!yN(e))return ZX(t,e,o);if(typeof r=="function")return wS(t,e,1,{transform:r});if(YX(r))return wS(t,e,0,r);let a={...o};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,yw(r)?yw(t)&&yw(e)?i5e(t,e,r,a):s5e(t,e,Math.max(Math.abs(r),1),a):r!=null&&!YX(r)?n5e(r,a):wS(t,e,1,r)};$X.exports=wS});var rZ=U((Bkt,tZ)=>{"use strict";var o5e=EN(),eZ=ES(),a5e=(t,e={})=>{let r=(o,a={})=>{let n=eZ.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A=n===!0||u===!0,p=e.escapeInvalid===!0?"\\":"",h="";if(o.isOpen===!0||o.isClose===!0)return p+o.value;if(o.type==="open")return A?p+o.value:"(";if(o.type==="close")return A?p+o.value:")";if(o.type==="comma")return o.prev.type==="comma"?"":A?o.value:"|";if(o.value)return o.value;if(o.nodes&&o.ranges>0){let E=eZ.reduce(o.nodes),w=o5e(...E,{...e,wrap:!1,toRegex:!0});if(w.length!==0)return E.length>1&&w.length>1?`(${w})`:w}if(o.nodes)for(let E of o.nodes)h+=r(E,o);return h};return r(t)};tZ.exports=a5e});var sZ=U((vkt,iZ)=>{"use strict";var l5e=EN(),nZ=IS(),Ty=ES(),Ad=(t="",e="",r=!1)=>{let o=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Ty.flatten(e).map(a=>`{${a}}`):e;for(let a of t)if(Array.isArray(a))for(let n of a)o.push(Ad(n,e,r));else for(let n of e)r===!0&&typeof n=="string"&&(n=`{${n}}`),o.push(Array.isArray(n)?Ad(a,n,r):a+n);return Ty.flatten(o)},c5e=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,o=(a,n={})=>{a.queue=[];let u=n,A=n.queue;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,A=u.queue;if(a.invalid||a.dollar){A.push(Ad(A.pop(),nZ(a,e)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){A.push(Ad(A.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let w=Ty.reduce(a.nodes);if(Ty.exceedsLimit(...w,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let v=l5e(...w,e);v.length===0&&(v=nZ(a,e)),A.push(Ad(A.pop(),v)),a.nodes=[];return}let p=Ty.encloseBrace(a),h=a.queue,E=a;for(;E.type!=="brace"&&E.type!=="root"&&E.parent;)E=E.parent,h=E.queue;for(let w=0;w<a.nodes.length;w++){let v=a.nodes[w];if(v.type==="comma"&&a.type==="brace"){w===1&&h.push(""),h.push("");continue}if(v.type==="close"){A.push(Ad(A.pop(),h,p));continue}if(v.value&&v.type!=="open"){h.push(Ad(h.pop(),v.value));continue}v.nodes&&o(v,a)}return h};return Ty.flatten(o(t))};iZ.exports=c5e});var aZ=U((Dkt,oZ)=>{"use strict";oZ.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` |
134 | `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var oZ=U((fkt,sZ)=>{"use strict";var $5e=hS(),{MAX_LENGTH:rZ,CHAR_BACKSLASH:CN,CHAR_BACKTICK:eGe,CHAR_COMMA:tGe,CHAR_DOT:rGe,CHAR_LEFT_PARENTHESES:nGe,CHAR_RIGHT_PARENTHESES:iGe,CHAR_LEFT_CURLY_BRACE:sGe,CHAR_RIGHT_CURLY_BRACE:oGe,CHAR_LEFT_SQUARE_BRACKET:nZ,CHAR_RIGHT_SQUARE_BRACKET:iZ,CHAR_DOUBLE_QUOTE:aGe,CHAR_SINGLE_QUOTE:lGe,CHAR_NO_BREAK_SPACE:cGe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:uGe}=tZ(),AGe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},o=typeof r.maxLength=="number"?Math.min(rZ,r.maxLength):rZ;if(t.length>o)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${o})`);let a={type:"root",input:t,nodes:[]},n=[a],u=a,A=a,p=0,h=t.length,C=0,w=0,v,b={},E=()=>t[C++],R=L=>{if(L.type==="text"&&A.type==="dot"&&(A.type="text"),A&&A.type==="text"&&L.type==="text"){A.value+=L.value;return}return u.nodes.push(L),L.parent=u,L.prev=A,A=L,L};for(R({type:"bos"});C<h;)if(u=n[n.length-1],v=E(),!(v===uGe||v===cGe)){if(v===CN){R({type:"text",value:(e.keepEscaping?v:"")+E()});continue}if(v===iZ){R({type:"text",value:"\\"+v});continue}if(v===nZ){p++;let L=!0,_;for(;C<h&&(_=E());){if(v+=_,_===nZ){p++;continue}if(_===CN){v+=E();continue}if(_===iZ&&(p--,p===0))break}R({type:"text",value:v});continue}if(v===nGe){u=R({type:"paren",nodes:[]}),n.push(u),R({type:"text",value:v});continue}if(v===iGe){if(u.type!=="paren"){R({type:"text",value:v});continue}u=n.pop(),R({type:"text",value:v}),u=n[n.length-1];continue}if(v===aGe||v===lGe||v===eGe){let L=v,_;for(e.keepQuotes!==!0&&(v="");C<h&&(_=E());){if(_===CN){v+=_+E();continue}if(_===L){e.keepQuotes===!0&&(v+=_);break}v+=_}R({type:"text",value:v});continue}if(v===sGe){w++;let _={type:"brace",open:!0,close:!1,dollar:A.value&&A.value.slice(-1)==="$"||u.dollar===!0,depth:w,commas:0,ranges:0,nodes:[]};u=R(_),n.push(u),R({type:"open",value:v});continue}if(v===oGe){if(u.type!=="brace"){R({type:"text",value:v});continue}let L="close";u=n.pop(),u.close=!0,R({type:L,value:v}),w--,u=n[n.length-1];continue}if(v===tGe&&w>0){if(u.ranges>0){u.ranges=0;let L=u.nodes.shift();u.nodes=[L,{type:"text",value:$5e(u)}]}R({type:"comma",value:v}),u.commas++;continue}if(v===rGe&&w>0&&u.commas===0){let L=u.nodes;if(w===0||L.length===0){R({type:"text",value:v});continue}if(A.type==="dot"){if(u.range=[],A.value+=v,A.type="range",u.nodes.length!==3&&u.nodes.length!==5){u.invalid=!0,u.ranges=0,A.type="text";continue}u.ranges++,u.args=[];continue}if(A.type==="range"){L.pop();let _=L[L.length-1];_.value+=A.value+v,A=_,u.ranges--;continue}R({type:"dot",value:v});continue}R({type:"text",value:v})}do if(u=n.pop(),u.type!=="root"){u.nodes.forEach(J=>{J.nodes||(J.type==="open"&&(J.isOpen=!0),J.type==="close"&&(J.isClose=!0),J.nodes||(J.type="text"),J.invalid=!0)});let L=n[n.length-1],_=L.nodes.indexOf(u);L.nodes.splice(_,1,...u.nodes)}while(n.length>0);return R({type:"eos"}),a};sZ.exports=AGe});var cZ=U((pkt,lZ)=>{"use strict";var aZ=hS(),fGe=zX(),pGe=$X(),hGe=oZ(),rl=(t,e={})=>{let r=[];if(Array.isArray(t))for(let o of t){let a=rl.create(o,e);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(rl.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};rl.parse=(t,e={})=>hGe(t,e);rl.stringify=(t,e={})=>aZ(typeof t=="string"?rl.parse(t,e):t,e);rl.compile=(t,e={})=>(typeof t=="string"&&(t=rl.parse(t,e)),fGe(t,e));rl.expand=(t,e={})=>{typeof t=="string"&&(t=rl.parse(t,e));let r=pGe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};rl.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?rl.compile(t,e):rl.expand(t,e);lZ.exports=rl});var gw=U((hkt,hZ)=>{"use strict";var gGe=Ie("path"),Ju="\\\\/",uZ=`[^${Ju}]`,wf="\\.",dGe="\\+",mGe="\\?",dS="\\/",yGe="(?=.)",AZ="[^/]",IN=`(?:${dS}|$)`,fZ=`(?:^|${dS})`,wN=`${wf}{1,2}${IN}`,EGe=`(?!${wf})`,CGe=`(?!${fZ}${wN})`,IGe=`(?!${wf}{0,1}${IN})`,wGe=`(?!${wN})`,BGe=`[^.${dS}]`,vGe=`${AZ}*?`,pZ={DOT_LITERAL:wf,PLUS_LITERAL:dGe,QMARK_LITERAL:mGe,SLASH_LITERAL:dS,ONE_CHAR:yGe,QMARK:AZ,END_ANCHOR:IN,DOTS_SLASH:wN,NO_DOT:EGe,NO_DOTS:CGe,NO_DOT_SLASH:IGe,NO_DOTS_SLASH:wGe,QMARK_NO_DOT:BGe,STAR:vGe,START_ANCHOR:fZ},DGe={...pZ,SLASH_LITERAL:`[${Ju}]`,QMARK:uZ,STAR:`${uZ}*?`,DOTS_SLASH:`${wf}{1,2}(?:[${Ju}]|$)`,NO_DOT:`(?!${wf})`,NO_DOTS:`(?!(?:^|[${Ju}])${wf}{1,2}(?:[${Ju}]|$))`,NO_DOT_SLASH:`(?!${wf}{0,1}(?:[${Ju}]|$))`,NO_DOTS_SLASH:`(?!${wf}{1,2}(?:[${Ju}]|$))`,QMARK_NO_DOT:`[^.${Ju}]`,START_ANCHOR:`(?:^|[${Ju}])`,END_ANCHOR:`(?:[${Ju}]|$)`},SGe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};hZ.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:SGe,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:gGe.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?DGe:pZ}}});var dw=U(Da=>{"use strict";var PGe=Ie("path"),xGe=process.platform==="win32",{REGEX_BACKSLASH:bGe,REGEX_REMOVE_BACKSLASH:QGe,REGEX_SPECIAL_CHARS:kGe,REGEX_SPECIAL_CHARS_GLOBAL:FGe}=gw();Da.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Da.hasRegexChars=t=>kGe.test(t);Da.isRegexChar=t=>t.length===1&&Da.hasRegexChars(t);Da.escapeRegex=t=>t.replace(FGe,"\\$1");Da.toPosixSlashes=t=>t.replace(bGe,"/");Da.removeBackslashes=t=>t.replace(QGe,e=>e==="\\"?"":e);Da.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Da.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:xGe===!0||PGe.sep==="\\";Da.escapeLast=(t,e,r)=>{let o=t.lastIndexOf(e,r);return o===-1?t:t[o-1]==="\\"?Da.escapeLast(t,e,o-1):`${t.slice(0,o)}\\${t.slice(o)}`};Da.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Da.wrapOutput=(t,e={},r={})=>{let o=r.contains?"":"^",a=r.contains?"":"$",n=`${o}(?:${t})${a}`;return e.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var wZ=U((dkt,IZ)=>{"use strict";var gZ=dw(),{CHAR_ASTERISK:BN,CHAR_AT:RGe,CHAR_BACKWARD_SLASH:mw,CHAR_COMMA:TGe,CHAR_DOT:vN,CHAR_EXCLAMATION_MARK:DN,CHAR_FORWARD_SLASH:CZ,CHAR_LEFT_CURLY_BRACE:SN,CHAR_LEFT_PARENTHESES:PN,CHAR_LEFT_SQUARE_BRACKET:NGe,CHAR_PLUS:LGe,CHAR_QUESTION_MARK:dZ,CHAR_RIGHT_CURLY_BRACE:OGe,CHAR_RIGHT_PARENTHESES:mZ,CHAR_RIGHT_SQUARE_BRACKET:MGe}=gw(),yZ=t=>t===CZ||t===mw,EZ=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},UGe=(t,e)=>{let r=e||{},o=t.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],u=[],A=[],p=t,h=-1,C=0,w=0,v=!1,b=!1,E=!1,R=!1,L=!1,_=!1,J=!1,re=!1,oe=!1,pe=!1,he=0,ve,ge,le={value:"",depth:0,isGlob:!1},Pe=()=>h>=o,g=()=>p.charCodeAt(h+1),De=()=>(ve=ge,p.charCodeAt(++h));for(;h<o;){ge=De();let me;if(ge===mw){J=le.backslashes=!0,ge=De(),ge===SN&&(_=!0);continue}if(_===!0||ge===SN){for(he++;Pe()!==!0&&(ge=De());){if(ge===mw){J=le.backslashes=!0,De();continue}if(ge===SN){he++;continue}if(_!==!0&&ge===vN&&(ge=De())===vN){if(v=le.isBrace=!0,E=le.isGlob=!0,pe=!0,a===!0)continue;break}if(_!==!0&&ge===TGe){if(v=le.isBrace=!0,E=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===OGe&&(he--,he===0)){_=!1,v=le.isBrace=!0,pe=!0;break}}if(a===!0)continue;break}if(ge===CZ){if(n.push(h),u.push(le),le={value:"",depth:0,isGlob:!1},pe===!0)continue;if(ve===vN&&h===C+1){C+=2;continue}w=h+1;continue}if(r.noext!==!0&&(ge===LGe||ge===RGe||ge===BN||ge===dZ||ge===DN)===!0&&g()===PN){if(E=le.isGlob=!0,R=le.isExtglob=!0,pe=!0,ge===DN&&h===C&&(oe=!0),a===!0){for(;Pe()!==!0&&(ge=De());){if(ge===mw){J=le.backslashes=!0,ge=De();continue}if(ge===mZ){E=le.isGlob=!0,pe=!0;break}}continue}break}if(ge===BN){if(ve===BN&&(L=le.isGlobstar=!0),E=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===dZ){if(E=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===NGe){for(;Pe()!==!0&&(me=De());){if(me===mw){J=le.backslashes=!0,De();continue}if(me===MGe){b=le.isBracket=!0,E=le.isGlob=!0,pe=!0;break}}if(a===!0)continue;break}if(r.nonegate!==!0&&ge===DN&&h===C){re=le.negated=!0,C++;continue}if(r.noparen!==!0&&ge===PN){if(E=le.isGlob=!0,a===!0){for(;Pe()!==!0&&(ge=De());){if(ge===PN){J=le.backslashes=!0,ge=De();continue}if(ge===mZ){pe=!0;break}}continue}break}if(E===!0){if(pe=!0,a===!0)continue;break}}r.noext===!0&&(R=!1,E=!1);let Ee=p,de="",ne="";C>0&&(de=p.slice(0,C),p=p.slice(C),w-=C),Ee&&E===!0&&w>0?(Ee=p.slice(0,w),ne=p.slice(w)):E===!0?(Ee="",ne=p):Ee=p,Ee&&Ee!==""&&Ee!=="/"&&Ee!==p&&yZ(Ee.charCodeAt(Ee.length-1))&&(Ee=Ee.slice(0,-1)),r.unescape===!0&&(ne&&(ne=gZ.removeBackslashes(ne)),Ee&&J===!0&&(Ee=gZ.removeBackslashes(Ee)));let Z={prefix:de,input:t,start:C,base:Ee,glob:ne,isBrace:v,isBracket:b,isGlob:E,isExtglob:R,isGlobstar:L,negated:re,negatedExtglob:oe};if(r.tokens===!0&&(Z.maxDepth=0,yZ(ge)||u.push(le),Z.tokens=u),r.parts===!0||r.tokens===!0){let me;for(let be=0;be<n.length;be++){let ut=me?me+1:C,H=n[be],yt=t.slice(ut,H);r.tokens&&(be===0&&C!==0?(u[be].isPrefix=!0,u[be].value=de):u[be].value=yt,EZ(u[be]),Z.maxDepth+=u[be].depth),(be!==0||yt!=="")&&A.push(yt),me=H}if(me&&me+1<t.length){let be=t.slice(me+1);A.push(be),r.tokens&&(u[u.length-1].value=be,EZ(u[u.length-1]),Z.maxDepth+=u[u.length-1].depth)}Z.slashes=n,Z.parts=A}return Z};IZ.exports=UGe});var DZ=U((mkt,vZ)=>{"use strict";var mS=gw(),nl=dw(),{MAX_LENGTH:yS,POSIX_REGEX_SOURCE:_Ge,REGEX_NON_SPECIAL_CHARS:HGe,REGEX_SPECIAL_CHARS_BACKREF:qGe,REPLACEMENTS:BZ}=mS,jGe=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(a=>nl.escapeRegex(a)).join("..")}return r},Qy=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,xN=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=BZ[t]||t;let r={...e},o=typeof r.maxLength=="number"?Math.min(yS,r.maxLength):yS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);let n={type:"bos",value:"",output:r.prepend||""},u=[n],A=r.capture?"":"?:",p=nl.isWindows(e),h=mS.globChars(p),C=mS.extglobChars(h),{DOT_LITERAL:w,PLUS_LITERAL:v,SLASH_LITERAL:b,ONE_CHAR:E,DOTS_SLASH:R,NO_DOT:L,NO_DOT_SLASH:_,NO_DOTS_SLASH:J,QMARK:re,QMARK_NO_DOT:oe,STAR:pe,START_ANCHOR:he}=h,ve=x=>`(${A}(?:(?!${he}${x.dot?R:w}).)*?)`,ge=r.dot?"":L,le=r.dot?re:oe,Pe=r.bash===!0?ve(r):pe;r.capture&&(Pe=`(${Pe})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:u};t=nl.removePrefix(t,g),a=t.length;let De=[],Ee=[],de=[],ne=n,Z,me=()=>g.index===a-1,be=g.peek=(x=1)=>t[g.index+x],ut=g.advance=()=>t[++g.index]||"",H=()=>t.slice(g.index+1),yt=(x="",I=0)=>{g.consumed+=x,g.index+=I},Me=x=>{g.output+=x.output!=null?x.output:x.value,yt(x.value)},Te=()=>{let x=1;for(;be()==="!"&&(be(2)!=="("||be(3)==="?");)ut(),g.start++,x++;return x%2===0?!1:(g.negated=!0,g.start++,!0)},Qe=x=>{g[x]++,de.push(x)},Ue=x=>{g[x]--,de.pop()},je=x=>{if(ne.type==="globstar"){let I=g.braces>0&&(x.type==="comma"||x.type==="brace"),P=x.extglob===!0||De.length&&(x.type==="pipe"||x.type==="paren");x.type!=="slash"&&x.type!=="paren"&&!I&&!P&&(g.output=g.output.slice(0,-ne.output.length),ne.type="star",ne.value="*",ne.output=Pe,g.output+=ne.output)}if(De.length&&x.type!=="paren"&&(De[De.length-1].inner+=x.value),(x.value||x.output)&&Me(x),ne&&ne.type==="text"&&x.type==="text"){ne.value+=x.value,ne.output=(ne.output||"")+x.value;return}x.prev=ne,u.push(x),ne=x},At=(x,I)=>{let P={...C[I],conditions:1,inner:""};P.prev=ne,P.parens=g.parens,P.output=g.output;let y=(r.capture?"(":"")+P.open;Qe("parens"),je({type:x,value:I,output:g.output?"":E}),je({type:"paren",extglob:!0,value:ut(),output:y}),De.push(P)},Le=x=>{let I=x.close+(r.capture?")":""),P;if(x.type==="negate"){let y=Pe;if(x.inner&&x.inner.length>1&&x.inner.includes("/")&&(y=ve(r)),(y!==Pe||me()||/^\)+$/.test(H()))&&(I=x.close=`)$))${y}`),x.inner.includes("*")&&(P=H())&&/^\.[^\\/.]+$/.test(P)){let F=xN(P,{...e,fastpaths:!1}).output;I=x.close=`)${F})${y})`}x.prev.type==="bos"&&(g.negatedExtglob=!0)}je({type:"paren",extglob:!0,value:Z,output:I}),Ue("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let x=!1,I=t.replace(qGe,(P,y,F,z,X,$)=>z==="\\"?(x=!0,P):z==="?"?y?y+z+(X?re.repeat(X.length):""):$===0?le+(X?re.repeat(X.length):""):re.repeat(F.length):z==="."?w.repeat(F.length):z==="*"?y?y+z+(X?Pe:""):Pe:y?P:`\\${P}`);return x===!0&&(r.unescape===!0?I=I.replace(/\\/g,""):I=I.replace(/\\+/g,P=>P.length%2===0?"\\\\":P?"\\":"")),I===t&&r.contains===!0?(g.output=t,g):(g.output=nl.wrapOutput(I,g,e),g)}for(;!me();){if(Z=ut(),Z==="\0")continue;if(Z==="\\"){let P=be();if(P==="/"&&r.bash!==!0||P==="."||P===";")continue;if(!P){Z+="\\",je({type:"text",value:Z});continue}let y=/^\\+/.exec(H()),F=0;if(y&&y[0].length>2&&(F=y[0].length,g.index+=F,F%2!==0&&(Z+="\\")),r.unescape===!0?Z=ut():Z+=ut(),g.brackets===0){je({type:"text",value:Z});continue}}if(g.brackets>0&&(Z!=="]"||ne.value==="["||ne.value==="[^")){if(r.posix!==!1&&Z===":"){let P=ne.value.slice(1);if(P.includes("[")&&(ne.posix=!0,P.includes(":"))){let y=ne.value.lastIndexOf("["),F=ne.value.slice(0,y),z=ne.value.slice(y+2),X=_Ge[z];if(X){ne.value=F+X,g.backtrack=!0,ut(),!n.output&&u.indexOf(ne)===1&&(n.output=E);continue}}}(Z==="["&&be()!==":"||Z==="-"&&be()==="]")&&(Z=`\\${Z}`),Z==="]"&&(ne.value==="["||ne.value==="[^")&&(Z=`\\${Z}`),r.posix===!0&&Z==="!"&&ne.value==="["&&(Z="^"),ne.value+=Z,Me({value:Z});continue}if(g.quotes===1&&Z!=='"'){Z=nl.escapeRegex(Z),ne.value+=Z,Me({value:Z});continue}if(Z==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&je({type:"text",value:Z});continue}if(Z==="("){Qe("parens"),je({type:"paren",value:Z});continue}if(Z===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Qy("opening","("));let P=De[De.length-1];if(P&&g.parens===P.parens+1){Le(De.pop());continue}je({type:"paren",value:Z,output:g.parens?")":"\\)"}),Ue("parens");continue}if(Z==="["){if(r.nobracket===!0||!H().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Qy("closing","]"));Z=`\\${Z}`}else Qe("brackets");je({type:"bracket",value:Z});continue}if(Z==="]"){if(r.nobracket===!0||ne&&ne.type==="bracket"&&ne.value.length===1){je({type:"text",value:Z,output:`\\${Z}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Qy("opening","["));je({type:"text",value:Z,output:`\\${Z}`});continue}Ue("brackets");let P=ne.value.slice(1);if(ne.posix!==!0&&P[0]==="^"&&!P.includes("/")&&(Z=`/${Z}`),ne.value+=Z,Me({value:Z}),r.literalBrackets===!1||nl.hasRegexChars(P))continue;let y=nl.escapeRegex(ne.value);if(g.output=g.output.slice(0,-ne.value.length),r.literalBrackets===!0){g.output+=y,ne.value=y;continue}ne.value=`(${A}${y}|${ne.value})`,g.output+=ne.value;continue}if(Z==="{"&&r.nobrace!==!0){Qe("braces");let P={type:"brace",value:Z,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};Ee.push(P),je(P);continue}if(Z==="}"){let P=Ee[Ee.length-1];if(r.nobrace===!0||!P){je({type:"text",value:Z,output:Z});continue}let y=")";if(P.dots===!0){let F=u.slice(),z=[];for(let X=F.length-1;X>=0&&(u.pop(),F[X].type!=="brace");X--)F[X].type!=="dots"&&z.unshift(F[X].value);y=jGe(z,r),g.backtrack=!0}if(P.comma!==!0&&P.dots!==!0){let F=g.output.slice(0,P.outputIndex),z=g.tokens.slice(P.tokensIndex);P.value=P.output="\\{",Z=y="\\}",g.output=F;for(let X of z)g.output+=X.output||X.value}je({type:"brace",value:Z,output:y}),Ue("braces"),Ee.pop();continue}if(Z==="|"){De.length>0&&De[De.length-1].conditions++,je({type:"text",value:Z});continue}if(Z===","){let P=Z,y=Ee[Ee.length-1];y&&de[de.length-1]==="braces"&&(y.comma=!0,P="|"),je({type:"comma",value:Z,output:P});continue}if(Z==="/"){if(ne.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",u.pop(),ne=n;continue}je({type:"slash",value:Z,output:b});continue}if(Z==="."){if(g.braces>0&&ne.type==="dot"){ne.value==="."&&(ne.output=w);let P=Ee[Ee.length-1];ne.type="dots",ne.output+=Z,ne.value+=Z,P.dots=!0;continue}if(g.braces+g.parens===0&&ne.type!=="bos"&&ne.type!=="slash"){je({type:"text",value:Z,output:w});continue}je({type:"dot",value:Z,output:w});continue}if(Z==="?"){if(!(ne&&ne.value==="(")&&r.noextglob!==!0&&be()==="("&&be(2)!=="?"){At("qmark",Z);continue}if(ne&&ne.type==="paren"){let y=be(),F=Z;if(y==="<"&&!nl.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ne.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(H()))&&(F=`\\${Z}`),je({type:"text",value:Z,output:F});continue}if(r.dot!==!0&&(ne.type==="slash"||ne.type==="bos")){je({type:"qmark",value:Z,output:oe});continue}je({type:"qmark",value:Z,output:re});continue}if(Z==="!"){if(r.noextglob!==!0&&be()==="("&&(be(2)!=="?"||!/[!=<:]/.test(be(3)))){At("negate",Z);continue}if(r.nonegate!==!0&&g.index===0){Te();continue}}if(Z==="+"){if(r.noextglob!==!0&&be()==="("&&be(2)!=="?"){At("plus",Z);continue}if(ne&&ne.value==="("||r.regex===!1){je({type:"plus",value:Z,output:v});continue}if(ne&&(ne.type==="bracket"||ne.type==="paren"||ne.type==="brace")||g.parens>0){je({type:"plus",value:Z});continue}je({type:"plus",value:v});continue}if(Z==="@"){if(r.noextglob!==!0&&be()==="("&&be(2)!=="?"){je({type:"at",extglob:!0,value:Z,output:""});continue}je({type:"text",value:Z});continue}if(Z!=="*"){(Z==="$"||Z==="^")&&(Z=`\\${Z}`);let P=HGe.exec(H());P&&(Z+=P[0],g.index+=P[0].length),je({type:"text",value:Z});continue}if(ne&&(ne.type==="globstar"||ne.star===!0)){ne.type="star",ne.star=!0,ne.value+=Z,ne.output=Pe,g.backtrack=!0,g.globstar=!0,yt(Z);continue}let x=H();if(r.noextglob!==!0&&/^\([^?]/.test(x)){At("star",Z);continue}if(ne.type==="star"){if(r.noglobstar===!0){yt(Z);continue}let P=ne.prev,y=P.prev,F=P.type==="slash"||P.type==="bos",z=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!F||x[0]&&x[0]!=="/")){je({type:"star",value:Z,output:""});continue}let X=g.braces>0&&(P.type==="comma"||P.type==="brace"),$=De.length&&(P.type==="pipe"||P.type==="paren");if(!F&&P.type!=="paren"&&!X&&!$){je({type:"star",value:Z,output:""});continue}for(;x.slice(0,3)==="/**";){let ie=t[g.index+4];if(ie&&ie!=="/")break;x=x.slice(3),yt("/**",3)}if(P.type==="bos"&&me()){ne.type="globstar",ne.value+=Z,ne.output=ve(r),g.output=ne.output,g.globstar=!0,yt(Z);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&!z&&me()){g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=ve(r)+(r.strictSlashes?")":"|$)"),ne.value+=Z,g.globstar=!0,g.output+=P.output+ne.output,yt(Z);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&x[0]==="/"){let ie=x[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=`${ve(r)}${b}|${b}${ie})`,ne.value+=Z,g.output+=P.output+ne.output,g.globstar=!0,yt(Z+ut()),je({type:"slash",value:"/",output:""});continue}if(P.type==="bos"&&x[0]==="/"){ne.type="globstar",ne.value+=Z,ne.output=`(?:^|${b}|${ve(r)}${b})`,g.output=ne.output,g.globstar=!0,yt(Z+ut()),je({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-ne.output.length),ne.type="globstar",ne.output=ve(r),ne.value+=Z,g.output+=ne.output,g.globstar=!0,yt(Z);continue}let I={type:"star",value:Z,output:Pe};if(r.bash===!0){I.output=".*?",(ne.type==="bos"||ne.type==="slash")&&(I.output=ge+I.output),je(I);continue}if(ne&&(ne.type==="bracket"||ne.type==="paren")&&r.regex===!0){I.output=Z,je(I);continue}(g.index===g.start||ne.type==="slash"||ne.type==="dot")&&(ne.type==="dot"?(g.output+=_,ne.output+=_):r.dot===!0?(g.output+=J,ne.output+=J):(g.output+=ge,ne.output+=ge),be()!=="*"&&(g.output+=E,ne.output+=E)),je(I)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Qy("closing","]"));g.output=nl.escapeLast(g.output,"["),Ue("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Qy("closing",")"));g.output=nl.escapeLast(g.output,"("),Ue("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Qy("closing","}"));g.output=nl.escapeLast(g.output,"{"),Ue("braces")}if(r.strictSlashes!==!0&&(ne.type==="star"||ne.type==="bracket")&&je({type:"maybe_slash",value:"",output:`${b}?`}),g.backtrack===!0){g.output="";for(let x of g.tokens)g.output+=x.output!=null?x.output:x.value,x.suffix&&(g.output+=x.suffix)}return g};xN.fastpaths=(t,e)=>{let r={...e},o=typeof r.maxLength=="number"?Math.min(yS,r.maxLength):yS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);t=BZ[t]||t;let n=nl.isWindows(e),{DOT_LITERAL:u,SLASH_LITERAL:A,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:C,NO_DOTS:w,NO_DOTS_SLASH:v,STAR:b,START_ANCHOR:E}=mS.globChars(n),R=r.dot?w:C,L=r.dot?v:C,_=r.capture?"":"?:",J={negated:!1,prefix:""},re=r.bash===!0?".*?":b;r.capture&&(re=`(${re})`);let oe=ge=>ge.noglobstar===!0?re:`(${_}(?:(?!${E}${ge.dot?h:u}).)*?)`,pe=ge=>{switch(ge){case"*":return`${R}${p}${re}`;case".*":return`${u}${p}${re}`;case"*.*":return`${R}${re}${u}${p}${re}`;case"*/*":return`${R}${re}${A}${p}${L}${re}`;case"**":return R+oe(r);case"**/*":return`(?:${R}${oe(r)}${A})?${L}${p}${re}`;case"**/*.*":return`(?:${R}${oe(r)}${A})?${L}${re}${u}${p}${re}`;case"**/.*":return`(?:${R}${oe(r)}${A})?${u}${p}${re}`;default:{let le=/^(.*?)\.(\w+)$/.exec(ge);if(!le)return;let Pe=pe(le[1]);return Pe?Pe+u+le[2]:void 0}}},he=nl.removePrefix(t,J),ve=pe(he);return ve&&r.strictSlashes!==!0&&(ve+=`${A}?`),ve};vZ.exports=xN});var PZ=U((ykt,SZ)=>{"use strict";var GGe=Ie("path"),WGe=wZ(),bN=DZ(),QN=dw(),YGe=gw(),KGe=t=>t&&typeof t=="object"&&!Array.isArray(t),Oi=(t,e,r=!1)=>{if(Array.isArray(t)){let C=t.map(v=>Oi(v,e,r));return v=>{for(let b of C){let E=b(v);if(E)return E}return!1}}let o=KGe(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let a=e||{},n=QN.isWindows(e),u=o?Oi.compileRe(t,e):Oi.makeRe(t,e,!1,!0),A=u.state;delete u.state;let p=()=>!1;if(a.ignore){let C={...e,ignore:null,onMatch:null,onResult:null};p=Oi(a.ignore,C,r)}let h=(C,w=!1)=>{let{isMatch:v,match:b,output:E}=Oi.test(C,u,e,{glob:t,posix:n}),R={glob:t,state:A,regex:u,posix:n,input:C,output:E,match:b,isMatch:v};return typeof a.onResult=="function"&&a.onResult(R),v===!1?(R.isMatch=!1,w?R:!1):p(C)?(typeof a.onIgnore=="function"&&a.onIgnore(R),R.isMatch=!1,w?R:!1):(typeof a.onMatch=="function"&&a.onMatch(R),w?R:!0)};return r&&(h.state=A),h};Oi.test=(t,e,r,{glob:o,posix:a}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let n=r||{},u=n.format||(a?QN.toPosixSlashes:null),A=t===o,p=A&&u?u(t):t;return A===!1&&(p=u?u(t):t,A=p===o),(A===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?A=Oi.matchBase(t,e,r,a):A=e.exec(p)),{isMatch:Boolean(A),match:A,output:p}};Oi.matchBase=(t,e,r,o=QN.isWindows(r))=>(e instanceof RegExp?e:Oi.makeRe(e,r)).test(GGe.basename(t));Oi.isMatch=(t,e,r)=>Oi(e,r)(t);Oi.parse=(t,e)=>Array.isArray(t)?t.map(r=>Oi.parse(r,e)):bN(t,{...e,fastpaths:!1});Oi.scan=(t,e)=>WGe(t,e);Oi.compileRe=(t,e,r=!1,o=!1)=>{if(r===!0)return t.output;let a=e||{},n=a.contains?"":"^",u=a.contains?"":"$",A=`${n}(?:${t.output})${u}`;t&&t.negated===!0&&(A=`^(?!${A}).*$`);let p=Oi.toRegex(A,e);return o===!0&&(p.state=t),p};Oi.makeRe=(t,e={},r=!1,o=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a.output=bN.fastpaths(t,e)),a.output||(a=bN(t,e)),Oi.compileRe(a,e,r,o)};Oi.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Oi.constants=YGe;SZ.exports=Oi});var bZ=U((Ekt,xZ)=>{"use strict";xZ.exports=PZ()});var Jo=U((Ckt,RZ)=>{"use strict";var kZ=Ie("util"),FZ=cZ(),Vu=bZ(),kN=dw(),QZ=t=>t===""||t==="./",hi=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let o=new Set,a=new Set,n=new Set,u=0,A=C=>{n.add(C.output),r&&r.onResult&&r.onResult(C)};for(let C=0;C<e.length;C++){let w=Vu(String(e[C]),{...r,onResult:A},!0),v=w.state.negated||w.state.negatedExtglob;v&&u++;for(let b of t){let E=w(b,!0);!(v?!E.isMatch:E.isMatch)||(v?o.add(E.output):(o.delete(E.output),a.add(E.output)))}}let h=(u===e.length?[...n]:[...a]).filter(C=>!o.has(C));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(C=>C.replace(/\\/g,"")):e}return h};hi.match=hi;hi.matcher=(t,e)=>Vu(t,e);hi.isMatch=(t,e,r)=>Vu(e,r)(t);hi.any=hi.isMatch;hi.not=(t,e,r={})=>{e=[].concat(e).map(String);let o=new Set,a=[],n=A=>{r.onResult&&r.onResult(A),a.push(A.output)},u=new Set(hi(t,e,{...r,onResult:n}));for(let A of a)u.has(A)||o.add(A);return[...o]};hi.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${kZ.inspect(t)}"`);if(Array.isArray(e))return e.some(o=>hi.contains(t,o,r));if(typeof e=="string"){if(QZ(t)||QZ(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return hi.isMatch(t,e,{...r,contains:!0})};hi.matchKeys=(t,e,r)=>{if(!kN.isObject(t))throw new TypeError("Expected the first argument to be an object");let o=hi(Object.keys(t),e,r),a={};for(let n of o)a[n]=t[n];return a};hi.some=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Vu(String(a),r);if(o.some(u=>n(u)))return!0}return!1};hi.every=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Vu(String(a),r);if(!o.every(u=>n(u)))return!1}return!0};hi.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${kZ.inspect(t)}"`);return[].concat(e).every(o=>Vu(o,r)(t))};hi.capture=(t,e,r)=>{let o=kN.isWindows(r),n=Vu.makeRe(String(t),{...r,capture:!0}).exec(o?kN.toPosixSlashes(e):e);if(n)return n.slice(1).map(u=>u===void 0?"":u)};hi.makeRe=(...t)=>Vu.makeRe(...t);hi.scan=(...t)=>Vu.scan(...t);hi.parse=(t,e)=>{let r=[];for(let o of[].concat(t||[]))for(let a of FZ(String(o),e))r.push(Vu.parse(a,e));return r};hi.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:FZ(t,e)};hi.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return hi.braces(t,{...e,expand:!0})};RZ.exports=hi});var NZ=U((Ikt,TZ)=>{"use strict";TZ.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var ES=U((wkt,LZ)=>{"use strict";var JGe=NZ();LZ.exports=t=>typeof t=="string"?t.replace(JGe(),""):t});var MZ=U((Bkt,OZ)=>{function VGe(){this.__data__=[],this.size=0}OZ.exports=VGe});var ky=U((vkt,UZ)=>{function zGe(t,e){return t===e||t!==t&&e!==e}UZ.exports=zGe});var yw=U((Dkt,_Z)=>{var XGe=ky();function ZGe(t,e){for(var r=t.length;r--;)if(XGe(t[r][0],e))return r;return-1}_Z.exports=ZGe});var qZ=U((Skt,HZ)=>{var $Ge=yw(),e7e=Array.prototype,t7e=e7e.splice;function r7e(t){var e=this.__data__,r=$Ge(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():t7e.call(e,r,1),--this.size,!0}HZ.exports=r7e});var GZ=U((Pkt,jZ)=>{var n7e=yw();function i7e(t){var e=this.__data__,r=n7e(e,t);return r<0?void 0:e[r][1]}jZ.exports=i7e});var YZ=U((xkt,WZ)=>{var s7e=yw();function o7e(t){return s7e(this.__data__,t)>-1}WZ.exports=o7e});var JZ=U((bkt,KZ)=>{var a7e=yw();function l7e(t,e){var r=this.__data__,o=a7e(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}KZ.exports=l7e});var Ew=U((Qkt,VZ)=>{var c7e=MZ(),u7e=qZ(),A7e=GZ(),f7e=YZ(),p7e=JZ();function Fy(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Fy.prototype.clear=c7e;Fy.prototype.delete=u7e;Fy.prototype.get=A7e;Fy.prototype.has=f7e;Fy.prototype.set=p7e;VZ.exports=Fy});var XZ=U((kkt,zZ)=>{var h7e=Ew();function g7e(){this.__data__=new h7e,this.size=0}zZ.exports=g7e});var $Z=U((Fkt,ZZ)=>{function d7e(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}ZZ.exports=d7e});var t$=U((Rkt,e$)=>{function m7e(t){return this.__data__.get(t)}e$.exports=m7e});var n$=U((Tkt,r$)=>{function y7e(t){return this.__data__.has(t)}r$.exports=y7e});var FN=U((Nkt,i$)=>{var E7e=typeof global=="object"&&global&&global.Object===Object&&global;i$.exports=E7e});var ql=U((Lkt,s$)=>{var C7e=FN(),I7e=typeof self=="object"&&self&&self.Object===Object&&self,w7e=C7e||I7e||Function("return this")();s$.exports=w7e});var cd=U((Okt,o$)=>{var B7e=ql(),v7e=B7e.Symbol;o$.exports=v7e});var u$=U((Mkt,c$)=>{var a$=cd(),l$=Object.prototype,D7e=l$.hasOwnProperty,S7e=l$.toString,Cw=a$?a$.toStringTag:void 0;function P7e(t){var e=D7e.call(t,Cw),r=t[Cw];try{t[Cw]=void 0;var o=!0}catch{}var a=S7e.call(t);return o&&(e?t[Cw]=r:delete t[Cw]),a}c$.exports=P7e});var f$=U((Ukt,A$)=>{var x7e=Object.prototype,b7e=x7e.toString;function Q7e(t){return b7e.call(t)}A$.exports=Q7e});var ud=U((_kt,g$)=>{var p$=cd(),k7e=u$(),F7e=f$(),R7e="[object Null]",T7e="[object Undefined]",h$=p$?p$.toStringTag:void 0;function N7e(t){return t==null?t===void 0?T7e:R7e:h$&&h$ in Object(t)?k7e(t):F7e(t)}g$.exports=N7e});var il=U((Hkt,d$)=>{function L7e(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}d$.exports=L7e});var CS=U((qkt,m$)=>{var O7e=ud(),M7e=il(),U7e="[object AsyncFunction]",_7e="[object Function]",H7e="[object GeneratorFunction]",q7e="[object Proxy]";function j7e(t){if(!M7e(t))return!1;var e=O7e(t);return e==_7e||e==H7e||e==U7e||e==q7e}m$.exports=j7e});var E$=U((jkt,y$)=>{var G7e=ql(),W7e=G7e["__core-js_shared__"];y$.exports=W7e});var w$=U((Gkt,I$)=>{var RN=E$(),C$=function(){var t=/[^.]+$/.exec(RN&&RN.keys&&RN.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Y7e(t){return!!C$&&C$ in t}I$.exports=Y7e});var TN=U((Wkt,B$)=>{var K7e=Function.prototype,J7e=K7e.toString;function V7e(t){if(t!=null){try{return J7e.call(t)}catch{}try{return t+""}catch{}}return""}B$.exports=V7e});var D$=U((Ykt,v$)=>{var z7e=CS(),X7e=w$(),Z7e=il(),$7e=TN(),eWe=/[\\^$.*+?()[\]{}|]/g,tWe=/^\[object .+?Constructor\]$/,rWe=Function.prototype,nWe=Object.prototype,iWe=rWe.toString,sWe=nWe.hasOwnProperty,oWe=RegExp("^"+iWe.call(sWe).replace(eWe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function aWe(t){if(!Z7e(t)||X7e(t))return!1;var e=z7e(t)?oWe:tWe;return e.test($7e(t))}v$.exports=aWe});var P$=U((Kkt,S$)=>{function lWe(t,e){return t==null?void 0:t[e]}S$.exports=lWe});var Yp=U((Jkt,x$)=>{var cWe=D$(),uWe=P$();function AWe(t,e){var r=uWe(t,e);return cWe(r)?r:void 0}x$.exports=AWe});var IS=U((Vkt,b$)=>{var fWe=Yp(),pWe=ql(),hWe=fWe(pWe,"Map");b$.exports=hWe});var Iw=U((zkt,Q$)=>{var gWe=Yp(),dWe=gWe(Object,"create");Q$.exports=dWe});var R$=U((Xkt,F$)=>{var k$=Iw();function mWe(){this.__data__=k$?k$(null):{},this.size=0}F$.exports=mWe});var N$=U((Zkt,T$)=>{function yWe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}T$.exports=yWe});var O$=U(($kt,L$)=>{var EWe=Iw(),CWe="__lodash_hash_undefined__",IWe=Object.prototype,wWe=IWe.hasOwnProperty;function BWe(t){var e=this.__data__;if(EWe){var r=e[t];return r===CWe?void 0:r}return wWe.call(e,t)?e[t]:void 0}L$.exports=BWe});var U$=U((eFt,M$)=>{var vWe=Iw(),DWe=Object.prototype,SWe=DWe.hasOwnProperty;function PWe(t){var e=this.__data__;return vWe?e[t]!==void 0:SWe.call(e,t)}M$.exports=PWe});var H$=U((tFt,_$)=>{var xWe=Iw(),bWe="__lodash_hash_undefined__";function QWe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=xWe&&e===void 0?bWe:e,this}_$.exports=QWe});var j$=U((rFt,q$)=>{var kWe=R$(),FWe=N$(),RWe=O$(),TWe=U$(),NWe=H$();function Ry(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Ry.prototype.clear=kWe;Ry.prototype.delete=FWe;Ry.prototype.get=RWe;Ry.prototype.has=TWe;Ry.prototype.set=NWe;q$.exports=Ry});var Y$=U((nFt,W$)=>{var G$=j$(),LWe=Ew(),OWe=IS();function MWe(){this.size=0,this.__data__={hash:new G$,map:new(OWe||LWe),string:new G$}}W$.exports=MWe});var J$=U((iFt,K$)=>{function UWe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}K$.exports=UWe});var ww=U((sFt,V$)=>{var _We=J$();function HWe(t,e){var r=t.__data__;return _We(e)?r[typeof e=="string"?"string":"hash"]:r.map}V$.exports=HWe});var X$=U((oFt,z$)=>{var qWe=ww();function jWe(t){var e=qWe(this,t).delete(t);return this.size-=e?1:0,e}z$.exports=jWe});var $$=U((aFt,Z$)=>{var GWe=ww();function WWe(t){return GWe(this,t).get(t)}Z$.exports=WWe});var tee=U((lFt,eee)=>{var YWe=ww();function KWe(t){return YWe(this,t).has(t)}eee.exports=KWe});var nee=U((cFt,ree)=>{var JWe=ww();function VWe(t,e){var r=JWe(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}ree.exports=VWe});var wS=U((uFt,iee)=>{var zWe=Y$(),XWe=X$(),ZWe=$$(),$We=tee(),eYe=nee();function Ty(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Ty.prototype.clear=zWe;Ty.prototype.delete=XWe;Ty.prototype.get=ZWe;Ty.prototype.has=$We;Ty.prototype.set=eYe;iee.exports=Ty});var oee=U((AFt,see)=>{var tYe=Ew(),rYe=IS(),nYe=wS(),iYe=200;function sYe(t,e){var r=this.__data__;if(r instanceof tYe){var o=r.__data__;if(!rYe||o.length<iYe-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new nYe(o)}return r.set(t,e),this.size=r.size,this}see.exports=sYe});var BS=U((fFt,aee)=>{var oYe=Ew(),aYe=XZ(),lYe=$Z(),cYe=t$(),uYe=n$(),AYe=oee();function Ny(t){var e=this.__data__=new oYe(t);this.size=e.size}Ny.prototype.clear=aYe;Ny.prototype.delete=lYe;Ny.prototype.get=cYe;Ny.prototype.has=uYe;Ny.prototype.set=AYe;aee.exports=Ny});var cee=U((pFt,lee)=>{var fYe="__lodash_hash_undefined__";function pYe(t){return this.__data__.set(t,fYe),this}lee.exports=pYe});var Aee=U((hFt,uee)=>{function hYe(t){return this.__data__.has(t)}uee.exports=hYe});var pee=U((gFt,fee)=>{var gYe=wS(),dYe=cee(),mYe=Aee();function vS(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new gYe;++e<r;)this.add(t[e])}vS.prototype.add=vS.prototype.push=dYe;vS.prototype.has=mYe;fee.exports=vS});var gee=U((dFt,hee)=>{function yYe(t,e){for(var r=-1,o=t==null?0:t.length;++r<o;)if(e(t[r],r,t))return!0;return!1}hee.exports=yYe});var mee=U((mFt,dee)=>{function EYe(t,e){return t.has(e)}dee.exports=EYe});var NN=U((yFt,yee)=>{var CYe=pee(),IYe=gee(),wYe=mee(),BYe=1,vYe=2;function DYe(t,e,r,o,a,n){var u=r&BYe,A=t.length,p=e.length;if(A!=p&&!(u&&p>A))return!1;var h=n.get(t),C=n.get(e);if(h&&C)return h==e&&C==t;var w=-1,v=!0,b=r&vYe?new CYe:void 0;for(n.set(t,e),n.set(e,t);++w<A;){var E=t[w],R=e[w];if(o)var L=u?o(R,E,w,e,t,n):o(E,R,w,t,e,n);if(L!==void 0){if(L)continue;v=!1;break}if(b){if(!IYe(e,function(_,J){if(!wYe(b,J)&&(E===_||a(E,_,r,o,n)))return b.push(J)})){v=!1;break}}else if(!(E===R||a(E,R,r,o,n))){v=!1;break}}return n.delete(t),n.delete(e),v}yee.exports=DYe});var LN=U((EFt,Eee)=>{var SYe=ql(),PYe=SYe.Uint8Array;Eee.exports=PYe});var Iee=U((CFt,Cee)=>{function xYe(t){var e=-1,r=Array(t.size);return t.forEach(function(o,a){r[++e]=[a,o]}),r}Cee.exports=xYe});var Bee=U((IFt,wee)=>{function bYe(t){var e=-1,r=Array(t.size);return t.forEach(function(o){r[++e]=o}),r}wee.exports=bYe});var xee=U((wFt,Pee)=>{var vee=cd(),Dee=LN(),QYe=ky(),kYe=NN(),FYe=Iee(),RYe=Bee(),TYe=1,NYe=2,LYe="[object Boolean]",OYe="[object Date]",MYe="[object Error]",UYe="[object Map]",_Ye="[object Number]",HYe="[object RegExp]",qYe="[object Set]",jYe="[object String]",GYe="[object Symbol]",WYe="[object ArrayBuffer]",YYe="[object DataView]",See=vee?vee.prototype:void 0,ON=See?See.valueOf:void 0;function KYe(t,e,r,o,a,n,u){switch(r){case YYe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case WYe:return!(t.byteLength!=e.byteLength||!n(new Dee(t),new Dee(e)));case LYe:case OYe:case _Ye:return QYe(+t,+e);case MYe:return t.name==e.name&&t.message==e.message;case HYe:case jYe:return t==e+"";case UYe:var A=FYe;case qYe:var p=o&TYe;if(A||(A=RYe),t.size!=e.size&&!p)return!1;var h=u.get(t);if(h)return h==e;o|=NYe,u.set(t,e);var C=kYe(A(t),A(e),o,a,n,u);return u.delete(t),C;case GYe:if(ON)return ON.call(t)==ON.call(e)}return!1}Pee.exports=KYe});var DS=U((BFt,bee)=>{function JYe(t,e){for(var r=-1,o=e.length,a=t.length;++r<o;)t[a+r]=e[r];return t}bee.exports=JYe});var jl=U((vFt,Qee)=>{var VYe=Array.isArray;Qee.exports=VYe});var MN=U((DFt,kee)=>{var zYe=DS(),XYe=jl();function ZYe(t,e,r){var o=e(t);return XYe(t)?o:zYe(o,r(t))}kee.exports=ZYe});var Ree=U((SFt,Fee)=>{function $Ye(t,e){for(var r=-1,o=t==null?0:t.length,a=0,n=[];++r<o;){var u=t[r];e(u,r,t)&&(n[a++]=u)}return n}Fee.exports=$Ye});var UN=U((PFt,Tee)=>{function eKe(){return[]}Tee.exports=eKe});var SS=U((xFt,Lee)=>{var tKe=Ree(),rKe=UN(),nKe=Object.prototype,iKe=nKe.propertyIsEnumerable,Nee=Object.getOwnPropertySymbols,sKe=Nee?function(t){return t==null?[]:(t=Object(t),tKe(Nee(t),function(e){return iKe.call(t,e)}))}:rKe;Lee.exports=sKe});var Mee=U((bFt,Oee)=>{function oKe(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}Oee.exports=oKe});var zu=U((QFt,Uee)=>{function aKe(t){return t!=null&&typeof t=="object"}Uee.exports=aKe});var Hee=U((kFt,_ee)=>{var lKe=ud(),cKe=zu(),uKe="[object Arguments]";function AKe(t){return cKe(t)&&lKe(t)==uKe}_ee.exports=AKe});var Bw=U((FFt,Gee)=>{var qee=Hee(),fKe=zu(),jee=Object.prototype,pKe=jee.hasOwnProperty,hKe=jee.propertyIsEnumerable,gKe=qee(function(){return arguments}())?qee:function(t){return fKe(t)&&pKe.call(t,"callee")&&!hKe.call(t,"callee")};Gee.exports=gKe});var Yee=U((RFt,Wee)=>{function dKe(){return!1}Wee.exports=dKe});var Dw=U((vw,Ly)=>{var mKe=ql(),yKe=Yee(),Vee=typeof vw=="object"&&vw&&!vw.nodeType&&vw,Kee=Vee&&typeof Ly=="object"&&Ly&&!Ly.nodeType&&Ly,EKe=Kee&&Kee.exports===Vee,Jee=EKe?mKe.Buffer:void 0,CKe=Jee?Jee.isBuffer:void 0,IKe=CKe||yKe;Ly.exports=IKe});var Sw=U((TFt,zee)=>{var wKe=9007199254740991,BKe=/^(?:0|[1-9]\d*)$/;function vKe(t,e){var r=typeof t;return e=e??wKe,!!e&&(r=="number"||r!="symbol"&&BKe.test(t))&&t>-1&&t%1==0&&t<e}zee.exports=vKe});var PS=U((NFt,Xee)=>{var DKe=9007199254740991;function SKe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=DKe}Xee.exports=SKe});var $ee=U((LFt,Zee)=>{var PKe=ud(),xKe=PS(),bKe=zu(),QKe="[object Arguments]",kKe="[object Array]",FKe="[object Boolean]",RKe="[object Date]",TKe="[object Error]",NKe="[object Function]",LKe="[object Map]",OKe="[object Number]",MKe="[object Object]",UKe="[object RegExp]",_Ke="[object Set]",HKe="[object String]",qKe="[object WeakMap]",jKe="[object ArrayBuffer]",GKe="[object DataView]",WKe="[object Float32Array]",YKe="[object Float64Array]",KKe="[object Int8Array]",JKe="[object Int16Array]",VKe="[object Int32Array]",zKe="[object Uint8Array]",XKe="[object Uint8ClampedArray]",ZKe="[object Uint16Array]",$Ke="[object Uint32Array]",si={};si[WKe]=si[YKe]=si[KKe]=si[JKe]=si[VKe]=si[zKe]=si[XKe]=si[ZKe]=si[$Ke]=!0;si[QKe]=si[kKe]=si[jKe]=si[FKe]=si[GKe]=si[RKe]=si[TKe]=si[NKe]=si[LKe]=si[OKe]=si[MKe]=si[UKe]=si[_Ke]=si[HKe]=si[qKe]=!1;function eJe(t){return bKe(t)&&xKe(t.length)&&!!si[PKe(t)]}Zee.exports=eJe});var xS=U((OFt,ete)=>{function tJe(t){return function(e){return t(e)}}ete.exports=tJe});var bS=U((Pw,Oy)=>{var rJe=FN(),tte=typeof Pw=="object"&&Pw&&!Pw.nodeType&&Pw,xw=tte&&typeof Oy=="object"&&Oy&&!Oy.nodeType&&Oy,nJe=xw&&xw.exports===tte,_N=nJe&&rJe.process,iJe=function(){try{var t=xw&&xw.require&&xw.require("util").types;return t||_N&&_N.binding&&_N.binding("util")}catch{}}();Oy.exports=iJe});var QS=U((MFt,ite)=>{var sJe=$ee(),oJe=xS(),rte=bS(),nte=rte&&rte.isTypedArray,aJe=nte?oJe(nte):sJe;ite.exports=aJe});var HN=U((UFt,ste)=>{var lJe=Mee(),cJe=Bw(),uJe=jl(),AJe=Dw(),fJe=Sw(),pJe=QS(),hJe=Object.prototype,gJe=hJe.hasOwnProperty;function dJe(t,e){var r=uJe(t),o=!r&&cJe(t),a=!r&&!o&&AJe(t),n=!r&&!o&&!a&&pJe(t),u=r||o||a||n,A=u?lJe(t.length,String):[],p=A.length;for(var h in t)(e||gJe.call(t,h))&&!(u&&(h=="length"||a&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||fJe(h,p)))&&A.push(h);return A}ste.exports=dJe});var kS=U((_Ft,ote)=>{var mJe=Object.prototype;function yJe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||mJe;return t===r}ote.exports=yJe});var qN=U((HFt,ate)=>{function EJe(t,e){return function(r){return t(e(r))}}ate.exports=EJe});var cte=U((qFt,lte)=>{var CJe=qN(),IJe=CJe(Object.keys,Object);lte.exports=IJe});var Ate=U((jFt,ute)=>{var wJe=kS(),BJe=cte(),vJe=Object.prototype,DJe=vJe.hasOwnProperty;function SJe(t){if(!wJe(t))return BJe(t);var e=[];for(var r in Object(t))DJe.call(t,r)&&r!="constructor"&&e.push(r);return e}ute.exports=SJe});var bw=U((GFt,fte)=>{var PJe=CS(),xJe=PS();function bJe(t){return t!=null&&xJe(t.length)&&!PJe(t)}fte.exports=bJe});var RS=U((WFt,pte)=>{var QJe=HN(),kJe=Ate(),FJe=bw();function RJe(t){return FJe(t)?QJe(t):kJe(t)}pte.exports=RJe});var jN=U((YFt,hte)=>{var TJe=MN(),NJe=SS(),LJe=RS();function OJe(t){return TJe(t,LJe,NJe)}hte.exports=OJe});var mte=U((KFt,dte)=>{var gte=jN(),MJe=1,UJe=Object.prototype,_Je=UJe.hasOwnProperty;function HJe(t,e,r,o,a,n){var u=r&MJe,A=gte(t),p=A.length,h=gte(e),C=h.length;if(p!=C&&!u)return!1;for(var w=p;w--;){var v=A[w];if(!(u?v in e:_Je.call(e,v)))return!1}var b=n.get(t),E=n.get(e);if(b&&E)return b==e&&E==t;var R=!0;n.set(t,e),n.set(e,t);for(var L=u;++w<p;){v=A[w];var _=t[v],J=e[v];if(o)var re=u?o(J,_,v,e,t,n):o(_,J,v,t,e,n);if(!(re===void 0?_===J||a(_,J,r,o,n):re)){R=!1;break}L||(L=v=="constructor")}if(R&&!L){var oe=t.constructor,pe=e.constructor;oe!=pe&&"constructor"in t&&"constructor"in e&&!(typeof oe=="function"&&oe instanceof oe&&typeof pe=="function"&&pe instanceof pe)&&(R=!1)}return n.delete(t),n.delete(e),R}dte.exports=HJe});var Ete=U((JFt,yte)=>{var qJe=Yp(),jJe=ql(),GJe=qJe(jJe,"DataView");yte.exports=GJe});var Ite=U((VFt,Cte)=>{var WJe=Yp(),YJe=ql(),KJe=WJe(YJe,"Promise");Cte.exports=KJe});var Bte=U((zFt,wte)=>{var JJe=Yp(),VJe=ql(),zJe=JJe(VJe,"Set");wte.exports=zJe});var Dte=U((XFt,vte)=>{var XJe=Yp(),ZJe=ql(),$Je=XJe(ZJe,"WeakMap");vte.exports=$Je});var Qw=U((ZFt,Fte)=>{var GN=Ete(),WN=IS(),YN=Ite(),KN=Bte(),JN=Dte(),kte=ud(),My=TN(),Ste="[object Map]",eVe="[object Object]",Pte="[object Promise]",xte="[object Set]",bte="[object WeakMap]",Qte="[object DataView]",tVe=My(GN),rVe=My(WN),nVe=My(YN),iVe=My(KN),sVe=My(JN),Ad=kte;(GN&&Ad(new GN(new ArrayBuffer(1)))!=Qte||WN&&Ad(new WN)!=Ste||YN&&Ad(YN.resolve())!=Pte||KN&&Ad(new KN)!=xte||JN&&Ad(new JN)!=bte)&&(Ad=function(t){var e=kte(t),r=e==eVe?t.constructor:void 0,o=r?My(r):"";if(o)switch(o){case tVe:return Qte;case rVe:return Ste;case nVe:return Pte;case iVe:return xte;case sVe:return bte}return e});Fte.exports=Ad});var _te=U(($Ft,Ute)=>{var VN=BS(),oVe=NN(),aVe=xee(),lVe=mte(),Rte=Qw(),Tte=jl(),Nte=Dw(),cVe=QS(),uVe=1,Lte="[object Arguments]",Ote="[object Array]",TS="[object Object]",AVe=Object.prototype,Mte=AVe.hasOwnProperty;function fVe(t,e,r,o,a,n){var u=Tte(t),A=Tte(e),p=u?Ote:Rte(t),h=A?Ote:Rte(e);p=p==Lte?TS:p,h=h==Lte?TS:h;var C=p==TS,w=h==TS,v=p==h;if(v&&Nte(t)){if(!Nte(e))return!1;u=!0,C=!1}if(v&&!C)return n||(n=new VN),u||cVe(t)?oVe(t,e,r,o,a,n):aVe(t,e,p,r,o,a,n);if(!(r&uVe)){var b=C&&Mte.call(t,"__wrapped__"),E=w&&Mte.call(e,"__wrapped__");if(b||E){var R=b?t.value():t,L=E?e.value():e;return n||(n=new VN),a(R,L,r,o,n)}}return v?(n||(n=new VN),lVe(t,e,r,o,a,n)):!1}Ute.exports=fVe});var Gte=U((eRt,jte)=>{var pVe=_te(),Hte=zu();function qte(t,e,r,o,a){return t===e?!0:t==null||e==null||!Hte(t)&&!Hte(e)?t!==t&&e!==e:pVe(t,e,r,o,qte,a)}jte.exports=qte});var Yte=U((tRt,Wte)=>{var hVe=Gte();function gVe(t,e){return hVe(t,e)}Wte.exports=gVe});var zN=U((rRt,Kte)=>{var dVe=Yp(),mVe=function(){try{var t=dVe(Object,"defineProperty");return t({},"",{}),t}catch{}}();Kte.exports=mVe});var NS=U((nRt,Vte)=>{var Jte=zN();function yVe(t,e,r){e=="__proto__"&&Jte?Jte(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}Vte.exports=yVe});var XN=U((iRt,zte)=>{var EVe=NS(),CVe=ky();function IVe(t,e,r){(r!==void 0&&!CVe(t[e],r)||r===void 0&&!(e in t))&&EVe(t,e,r)}zte.exports=IVe});var Zte=U((sRt,Xte)=>{function wVe(t){return function(e,r,o){for(var a=-1,n=Object(e),u=o(e),A=u.length;A--;){var p=u[t?A:++a];if(r(n[p],p,n)===!1)break}return e}}Xte.exports=wVe});var ere=U((oRt,$te)=>{var BVe=Zte(),vVe=BVe();$te.exports=vVe});var ZN=U((kw,Uy)=>{var DVe=ql(),ire=typeof kw=="object"&&kw&&!kw.nodeType&&kw,tre=ire&&typeof Uy=="object"&&Uy&&!Uy.nodeType&&Uy,SVe=tre&&tre.exports===ire,rre=SVe?DVe.Buffer:void 0,nre=rre?rre.allocUnsafe:void 0;function PVe(t,e){if(e)return t.slice();var r=t.length,o=nre?nre(r):new t.constructor(r);return t.copy(o),o}Uy.exports=PVe});var LS=U((aRt,ore)=>{var sre=LN();function xVe(t){var e=new t.constructor(t.byteLength);return new sre(e).set(new sre(t)),e}ore.exports=xVe});var $N=U((lRt,are)=>{var bVe=LS();function QVe(t,e){var r=e?bVe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}are.exports=QVe});var OS=U((cRt,lre)=>{function kVe(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}lre.exports=kVe});var Are=U((uRt,ure)=>{var FVe=il(),cre=Object.create,RVe=function(){function t(){}return function(e){if(!FVe(e))return{};if(cre)return cre(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();ure.exports=RVe});var MS=U((ARt,fre)=>{var TVe=qN(),NVe=TVe(Object.getPrototypeOf,Object);fre.exports=NVe});var eL=U((fRt,pre)=>{var LVe=Are(),OVe=MS(),MVe=kS();function UVe(t){return typeof t.constructor=="function"&&!MVe(t)?LVe(OVe(t)):{}}pre.exports=UVe});var gre=U((pRt,hre)=>{var _Ve=bw(),HVe=zu();function qVe(t){return HVe(t)&&_Ve(t)}hre.exports=qVe});var tL=U((hRt,mre)=>{var jVe=ud(),GVe=MS(),WVe=zu(),YVe="[object Object]",KVe=Function.prototype,JVe=Object.prototype,dre=KVe.toString,VVe=JVe.hasOwnProperty,zVe=dre.call(Object);function XVe(t){if(!WVe(t)||jVe(t)!=YVe)return!1;var e=GVe(t);if(e===null)return!0;var r=VVe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&dre.call(r)==zVe}mre.exports=XVe});var rL=U((gRt,yre)=>{function ZVe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}yre.exports=ZVe});var US=U((dRt,Ere)=>{var $Ve=NS(),eze=ky(),tze=Object.prototype,rze=tze.hasOwnProperty;function nze(t,e,r){var o=t[e];(!(rze.call(t,e)&&eze(o,r))||r===void 0&&!(e in t))&&$Ve(t,e,r)}Ere.exports=nze});var fd=U((mRt,Cre)=>{var ize=US(),sze=NS();function oze(t,e,r,o){var a=!r;r||(r={});for(var n=-1,u=e.length;++n<u;){var A=e[n],p=o?o(r[A],t[A],A,r,t):void 0;p===void 0&&(p=t[A]),a?sze(r,A,p):ize(r,A,p)}return r}Cre.exports=oze});var wre=U((yRt,Ire)=>{function aze(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}Ire.exports=aze});var vre=U((ERt,Bre)=>{var lze=il(),cze=kS(),uze=wre(),Aze=Object.prototype,fze=Aze.hasOwnProperty;function pze(t){if(!lze(t))return uze(t);var e=cze(t),r=[];for(var o in t)o=="constructor"&&(e||!fze.call(t,o))||r.push(o);return r}Bre.exports=pze});var _y=U((CRt,Dre)=>{var hze=HN(),gze=vre(),dze=bw();function mze(t){return dze(t)?hze(t,!0):gze(t)}Dre.exports=mze});var Pre=U((IRt,Sre)=>{var yze=fd(),Eze=_y();function Cze(t){return yze(t,Eze(t))}Sre.exports=Cze});var Rre=U((wRt,Fre)=>{var xre=XN(),Ize=ZN(),wze=$N(),Bze=OS(),vze=eL(),bre=Bw(),Qre=jl(),Dze=gre(),Sze=Dw(),Pze=CS(),xze=il(),bze=tL(),Qze=QS(),kre=rL(),kze=Pre();function Fze(t,e,r,o,a,n,u){var A=kre(t,r),p=kre(e,r),h=u.get(p);if(h){xre(t,r,h);return}var C=n?n(A,p,r+"",t,e,u):void 0,w=C===void 0;if(w){var v=Qre(p),b=!v&&Sze(p),E=!v&&!b&&Qze(p);C=p,v||b||E?Qre(A)?C=A:Dze(A)?C=Bze(A):b?(w=!1,C=Ize(p,!0)):E?(w=!1,C=wze(p,!0)):C=[]:bze(p)||bre(p)?(C=A,bre(A)?C=kze(A):(!xze(A)||Pze(A))&&(C=vze(p))):w=!1}w&&(u.set(p,C),a(C,p,o,n,u),u.delete(p)),xre(t,r,C)}Fre.exports=Fze});var Lre=U((BRt,Nre)=>{var Rze=BS(),Tze=XN(),Nze=ere(),Lze=Rre(),Oze=il(),Mze=_y(),Uze=rL();function Tre(t,e,r,o,a){t!==e&&Nze(e,function(n,u){if(a||(a=new Rze),Oze(n))Lze(t,e,u,r,Tre,o,a);else{var A=o?o(Uze(t,u),n,u+"",t,e,a):void 0;A===void 0&&(A=n),Tze(t,u,A)}},Mze)}Nre.exports=Tre});var nL=U((vRt,Ore)=>{function _ze(t){return t}Ore.exports=_ze});var Ure=U((DRt,Mre)=>{function Hze(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}Mre.exports=Hze});var iL=U((SRt,Hre)=>{var qze=Ure(),_re=Math.max;function jze(t,e,r){return e=_re(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,n=_re(o.length-e,0),u=Array(n);++a<n;)u[a]=o[e+a];a=-1;for(var A=Array(e+1);++a<e;)A[a]=o[a];return A[e]=r(u),qze(t,this,A)}}Hre.exports=jze});var jre=U((PRt,qre)=>{function Gze(t){return function(){return t}}qre.exports=Gze});var Yre=U((xRt,Wre)=>{var Wze=jre(),Gre=zN(),Yze=nL(),Kze=Gre?function(t,e){return Gre(t,"toString",{configurable:!0,enumerable:!1,value:Wze(e),writable:!0})}:Yze;Wre.exports=Kze});var Jre=U((bRt,Kre)=>{var Jze=800,Vze=16,zze=Date.now;function Xze(t){var e=0,r=0;return function(){var o=zze(),a=Vze-(o-r);if(r=o,a>0){if(++e>=Jze)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}Kre.exports=Xze});var sL=U((QRt,Vre)=>{var Zze=Yre(),$ze=Jre(),eXe=$ze(Zze);Vre.exports=eXe});var Xre=U((kRt,zre)=>{var tXe=nL(),rXe=iL(),nXe=sL();function iXe(t,e){return nXe(rXe(t,e,tXe),t+"")}zre.exports=iXe});var $re=U((FRt,Zre)=>{var sXe=ky(),oXe=bw(),aXe=Sw(),lXe=il();function cXe(t,e,r){if(!lXe(r))return!1;var o=typeof e;return(o=="number"?oXe(r)&&aXe(e,r.length):o=="string"&&e in r)?sXe(r[e],t):!1}Zre.exports=cXe});var tne=U((RRt,ene)=>{var uXe=Xre(),AXe=$re();function fXe(t){return uXe(function(e,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(n=t.length>3&&typeof n=="function"?(a--,n):void 0,u&&AXe(r[0],r[1],u)&&(n=a<3?void 0:n,a=1),e=Object(e);++o<a;){var A=r[o];A&&t(e,A,o,n)}return e})}ene.exports=fXe});var nne=U((TRt,rne)=>{var pXe=Lre(),hXe=tne(),gXe=hXe(function(t,e,r,o){pXe(t,e,r,o)});rne.exports=gXe});var Ye={};Yt(Ye,{AsyncActions:()=>lL,BufferStream:()=>aL,CachingStrategy:()=>gne,DefaultStream:()=>cL,allSettledSafe:()=>_c,assertNever:()=>AL,bufferStream:()=>Gy,buildIgnorePattern:()=>wXe,convertMapsToIndexableObjects:()=>_S,dynamicRequire:()=>Kp,escapeRegExp:()=>mXe,getArrayWithDefault:()=>Hy,getFactoryWithDefault:()=>Bf,getMapWithDefault:()=>qy,getSetWithDefault:()=>pd,isIndexableObject:()=>oL,isPathLike:()=>BXe,isTaggedYarnVersion:()=>dXe,makeDeferred:()=>fne,mapAndFilter:()=>Xu,mapAndFind:()=>Rw,mergeIntoTarget:()=>mne,overrideType:()=>yXe,parseBoolean:()=>Tw,parseOptionalBoolean:()=>dne,prettifyAsyncErrors:()=>jy,prettifySyncErrors:()=>fL,releaseAfterUseAsync:()=>CXe,replaceEnvVariables:()=>pL,sortMap:()=>Sa,toMerged:()=>vXe,tryParseOptionalBoolean:()=>hL,validateEnum:()=>EXe});function dXe(t){return!!(cne.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function mXe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function yXe(t){}function AL(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function EXe(t,e){let r=Object.values(t);if(!r.includes(e))throw new ot(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(o=>JSON.stringify(o)).join(", ")})`);return e}function Xu(t,e){let r=[];for(let o of t){let a=e(o);a!==une&&r.push(a)}return r}function Rw(t,e){for(let r of t){let o=e(r);if(o!==Ane)return o}}function oL(t){return typeof t=="object"&&t!==null}async function _c(t){let e=await Promise.allSettled(t),r=[];for(let o of e){if(o.status==="rejected")throw o.reason;r.push(o.value)}return r}function _S(t){if(t instanceof Map&&(t=Object.fromEntries(t)),oL(t))for(let e of Object.keys(t)){let r=t[e];oL(r)&&(t[e]=_S(r))}return t}function Bf(t,e,r){let o=t.get(e);return typeof o>"u"&&t.set(e,o=r()),o}function Hy(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=[]),r}function pd(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Set),r}function qy(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Map),r}async function CXe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function jy(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function fL(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Gy(t){return await new Promise((e,r)=>{let o=[];t.on("error",a=>{r(a)}),t.on("data",a=>{o.push(a)}),t.on("end",()=>{e(Buffer.concat(o))})})}function fne(){let t,e;return{promise:new Promise((o,a)=>{t=o,e=a}),resolve:t,reject:e}}function pne(t){return Fw(Ae.fromPortablePath(t))}function hne(path){let physicalPath=Ae.fromPortablePath(path),currentCacheEntry=Fw.cache[physicalPath];delete Fw.cache[physicalPath];let result;try{result=pne(physicalPath);let freshCacheEntry=Fw.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Fw.cache[physicalPath]=currentCacheEntry}return result}function IXe(t){let e=ine.get(t),r=ae.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let o=hne(t);return ine.set(t,{mtime:r.mtimeMs,instance:o}),o}function Kp(t,{cachingStrategy:e=2}={}){switch(e){case 0:return hne(t);case 1:return IXe(t);case 2:return pne(t);default:throw new Error("Unsupported caching strategy")}}function Sa(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function wXe(t){return t.length===0?null:t.map(e=>`(${ane.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function pL(t,{env:e}){let r=/\${(?<variableName>[\d\w_]+)(?<colon>:)?(?:-(?<fallback>[^}]*))?}/g;return t.replace(r,(...o)=>{let{variableName:a,colon:n,fallback:u}=o[o.length-1],A=Object.prototype.hasOwnProperty.call(e,a),p=e[a];if(p||A&&!n)return p;if(u!=null)return u;throw new ot(`Environment variable not found (${a})`)})}function Tw(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function dne(t){return typeof t>"u"?t:Tw(t)}function hL(t){try{return dne(t)}catch{return null}}function BXe(t){return!!(Ae.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}function mne(t,...e){let r=u=>({value:u}),o=r(t),a=e.map(u=>r(u)),{value:n}=(0,one.default)(o,...a,(u,A)=>{if(Array.isArray(u)&&Array.isArray(A)){for(let p of A)u.find(h=>(0,sne.default)(h,p))||u.push(p);return u}});return n}function vXe(...t){return mne({},...t)}var sne,one,ane,lne,cne,uL,une,Ane,aL,lL,cL,Fw,ine,gne,Gl=dt(()=>{bt();_t();sne=tt(Yte()),one=tt(nne()),ane=tt(Jo()),lne=tt($g()),cne=tt(ii()),uL=Ie("stream");une=Symbol();Xu.skip=une;Ane=Symbol();Rw.skip=Ane;aL=class extends uL.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};lL=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,lne.default)(e)}set(e,r){let o=this.deferred.get(e);typeof o>"u"&&this.deferred.set(e,o=fne());let a=this.limit(()=>r());return this.promises.set(e,a),a.then(()=>{this.promises.get(e)===a&&o.resolve()},n=>{this.promises.get(e)===a&&o.reject(n)}),o.promise}reduce(e,r){let o=this.promises.get(e)??Promise.resolve();this.set(e,()=>r(o))}async wait(){await Promise.all(this.promises.values())}},cL=class extends uL.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},Fw=eval("require");ine=new Map;gne=(o=>(o[o.NoCache=0]="NoCache",o[o.FsTime=1]="FsTime",o[o.Node=2]="Node",o))(gne||{})});var Wy,gL,dL,yne=dt(()=>{Wy=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))(Wy||{}),gL=(o=>(o.Dependency="Dependency",o.PeerDependency="PeerDependency",o.PeerDependencyMeta="PeerDependencyMeta",o))(gL||{}),dL=(o=>(o.Inactive="inactive",o.Redundant="redundant",o.Active="active",o))(dL||{})});var ye={};Yt(ye,{LogLevel:()=>GS,Style:()=>yL,Type:()=>Bt,addLogFilterSupport:()=>Ow,applyColor:()=>Pa,applyHyperlink:()=>Yy,applyStyle:()=>jS,json:()=>hd,jsonOrPretty:()=>PXe,mark:()=>wL,pretty:()=>Kt,prettyField:()=>Zu,prettyList:()=>IL,supportsColor:()=>qS,supportsHyperlinks:()=>CL,tuple:()=>Hc});function Hc(t,e){return[e,t]}function jS(t,e,r){return t.get("enableColors")&&r&2&&(e=Lw.default.bold(e)),e}function Pa(t,e,r){if(!t.get("enableColors"))return e;let o=DXe.get(r);if(o===null)return e;let a=typeof o>"u"?r:EL.level>=3?o[0]:o[1],n=typeof a=="number"?mL.ansi256(a):a.startsWith("#")?mL.hex(a):mL[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(e)}function Yy(t,e,r){return t.get("enableHyperlinks")?SXe?`\x1B]8;;${r}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${e}\x1B]8;;\x07`:e}function Kt(t,e,r){if(e===null)return Pa(t,"null",Bt.NULL);if(Object.prototype.hasOwnProperty.call(HS,r))return HS[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Pa(t,e,r)}function IL(t,e,r,{separator:o=", "}={}){return[...e].map(a=>Kt(t,a,r)).join(o)}function hd(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(HS,e))return HS[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function PXe(t,e,[r,o]){return t?hd(r,o):Kt(e,r,o)}function wL(t){return{Check:Pa(t,"\u2713","green"),Cross:Pa(t,"\u2718","red"),Question:Pa(t,"?","cyan")}}function Zu(t,{label:e,value:[r,o]}){return`${Kt(t,e,Bt.CODE)}: ${Kt(t,r,o)}`}function Ow(t,{configuration:e}){let r=e.get("logFilters"),o=new Map,a=new Map,n=[];for(let w of r){let v=w.get("level");if(typeof v>"u")continue;let b=w.get("code");typeof b<"u"&&o.set(b,v);let E=w.get("text");typeof E<"u"&&a.set(E,v);let R=w.get("pattern");typeof R<"u"&&n.push([Ene.default.matcher(R,{contains:!0}),v])}n.reverse();let u=(w,v,b)=>{if(w===null||w===0)return b;let E=a.size>0||n.length>0?(0,Cne.default)(v):v;if(a.size>0){let R=a.get(E);if(typeof R<"u")return R??b}if(n.length>0){for(let[R,L]of n)if(R(E))return L??b}if(o.size>0){let R=o.get(Ku(w));if(typeof R<"u")return R??b}return b},A=t.reportInfo,p=t.reportWarning,h=t.reportError,C=function(w,v,b,E){switch(u(v,b,E)){case"info":A.call(w,v,b);break;case"warning":p.call(w,v??0,b);break;case"error":h.call(w,v??0,b);break}};t.reportInfo=function(...w){return C(this,...w,"info")},t.reportWarning=function(...w){return C(this,...w,"warning")},t.reportError=function(...w){return C(this,...w,"error")}}var Lw,Nw,Ene,Cne,Ine,Bt,yL,EL,qS,CL,mL,DXe,sl,HS,SXe,GS,Yl=dt(()=>{bt();Lw=tt(gN()),Nw=tt(Jg());_t();Ene=tt(Jo()),Cne=tt(ES()),Ine=Ie("util");KD();Ks();Bt={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},yL=(e=>(e[e.BOLD=2]="BOLD",e))(yL||{}),EL=Nw.default.GITHUB_ACTIONS?{level:2}:Lw.default.supportsColor?{level:Lw.default.supportsColor.level}:{level:0},qS=EL.level!==0,CL=qS&&!Nw.default.GITHUB_ACTIONS&&!Nw.default.CIRCLE&&!Nw.default.GITLAB,mL=new Lw.default.Instance(EL),DXe=new Map([[Bt.NO_HINT,null],[Bt.NULL,["#a853b5",129]],[Bt.SCOPE,["#d75f00",166]],[Bt.NAME,["#d7875f",173]],[Bt.RANGE,["#00afaf",37]],[Bt.REFERENCE,["#87afff",111]],[Bt.NUMBER,["#ffd700",220]],[Bt.PATH,["#d75fd7",170]],[Bt.URL,["#d75fd7",170]],[Bt.ADDED,["#5faf00",70]],[Bt.REMOVED,["#d70000",160]],[Bt.CODE,["#87afff",111]],[Bt.SIZE,["#ffd700",220]]]),sl=t=>t,HS={[Bt.INSPECT]:sl({pretty:(t,e)=>(0,Ine.inspect)(e,{depth:1/0,colors:t.get("enableColors"),compact:!0,breakLength:1/0}),json:t=>t}),[Bt.NUMBER]:sl({pretty:(t,e)=>Pa(t,`${e}`,Bt.NUMBER),json:t=>t}),[Bt.IDENT]:sl({pretty:(t,e)=>cs(t,e),json:t=>nn(t)}),[Bt.LOCATOR]:sl({pretty:(t,e)=>kr(t,e),json:t=>Wl(t)}),[Bt.DESCRIPTOR]:sl({pretty:(t,e)=>Ln(t,e),json:t=>xa(t)}),[Bt.RESOLUTION]:sl({pretty:(t,{descriptor:e,locator:r})=>Mw(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:xa(t),locator:e!==null?Wl(e):null})}),[Bt.DEPENDENT]:sl({pretty:(t,{locator:e,descriptor:r})=>BL(t,e,r),json:({locator:t,descriptor:e})=>({locator:Wl(t),descriptor:xa(e)})}),[Bt.PACKAGE_EXTENSION]:sl({pretty:(t,e)=>{switch(e.type){case"Dependency":return`${cs(t,e.parentDescriptor)} \u27A4 ${Pa(t,"dependencies",Bt.CODE)} \u27A4 ${cs(t,e.descriptor)}`;case"PeerDependency":return`${cs(t,e.parentDescriptor)} \u27A4 ${Pa(t,"peerDependencies",Bt.CODE)} \u27A4 ${cs(t,e.descriptor)}`;case"PeerDependencyMeta":return`${cs(t,e.parentDescriptor)} \u27A4 ${Pa(t,"peerDependenciesMeta",Bt.CODE)} \u27A4 ${cs(t,Ys(e.selector))} \u27A4 ${Pa(t,e.key,Bt.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case"Dependency":return`${nn(t.parentDescriptor)} > ${nn(t.descriptor)}`;case"PeerDependency":return`${nn(t.parentDescriptor)} >> ${nn(t.descriptor)}`;case"PeerDependencyMeta":return`${nn(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Bt.SETTING]:sl({pretty:(t,e)=>(t.get(e),Yy(t,Pa(t,e,Bt.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Bt.DURATION]:sl({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),o=Math.ceil((e-r*60*1e3)/1e3);return o===0?`${r}m`:`${r}m ${o}s`}else{let r=Math.floor(e/1e3),o=e-r*1e3;return o===0?`${r}s`:`${r}s ${o}ms`}},json:t=>t}),[Bt.SIZE]:sl({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],o=r.length;for(;o>1&&e<1024**o;)o-=1;let a=1024**o,n=Math.floor(e*100/a)/100;return Pa(t,`${n} ${r[o-1]}`,Bt.NUMBER)},json:t=>t}),[Bt.PATH]:sl({pretty:(t,e)=>Pa(t,Ae.fromPortablePath(e),Bt.PATH),json:t=>Ae.fromPortablePath(t)}),[Bt.MARKDOWN]:sl({pretty:(t,{text:e,format:r,paragraphs:o})=>Bo(e,{format:r,paragraphs:o}),json:({text:t})=>t})};SXe=!!process.env.KONSOLE_VERSION;GS=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))(GS||{})});var Bne=U((WRt,wne)=>{"use strict";wne.exports=(...t)=>[...new Set([].concat(...t))]});var vL=U((YRt,Sne)=>{"use strict";var xXe=Ie("stream"),vne=xXe.PassThrough,bXe=Array.prototype.slice;Sne.exports=QXe;function QXe(){let t=[],e=bXe.call(arguments),r=!1,o=e[e.length-1];o&&!Array.isArray(o)&&o.pipe==null?e.pop():o={};let a=o.end!==!1,n=o.pipeError===!0;o.objectMode==null&&(o.objectMode=!0),o.highWaterMark==null&&(o.highWaterMark=64*1024);let u=vne(o);function A(){for(let C=0,w=arguments.length;C<w;C++)t.push(Dne(arguments[C],o));return p(),this}function p(){if(r)return;r=!0;let C=t.shift();if(!C){process.nextTick(h);return}Array.isArray(C)||(C=[C]);let w=C.length+1;function v(){--w>0||(r=!1,p())}function b(E){function R(){E.removeListener("merge2UnpipeEnd",R),E.removeListener("end",R),n&&E.removeListener("error",L),v()}function L(_){u.emit("error",_)}if(E._readableState.endEmitted)return v();E.on("merge2UnpipeEnd",R),E.on("end",R),n&&E.on("error",L),E.pipe(u,{end:!1}),E.resume()}for(let E=0;E<C.length;E++)b(C[E]);v()}function h(){r=!1,u.emit("queueDrain"),a&&u.end()}return u.setMaxListeners(0),u.add=A,u.on("unpipe",function(C){C.emit("merge2UnpipeEnd")}),e.length&&A.apply(null,e),u}function Dne(t,e){if(Array.isArray(t))for(let r=0,o=t.length;r<o;r++)t[r]=Dne(t[r],e);else{if(!t._readableState&&t.pipe&&(t=t.pipe(vne(e))),!t._readableState||!t.pause||!t.pipe)throw new Error("Only readable stream can be merged.");t.pause()}return t}});var Pne=U(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});Ky.splitWhen=Ky.flatten=void 0;function kXe(t){return t.reduce((e,r)=>[].concat(e,r),[])}Ky.flatten=kXe;function FXe(t,e){let r=[[]],o=0;for(let a of t)e(a)?(o++,r[o]=[]):r[o].push(a);return r}Ky.splitWhen=FXe});var xne=U(WS=>{"use strict";Object.defineProperty(WS,"__esModule",{value:!0});WS.isEnoentCodeError=void 0;function RXe(t){return t.code==="ENOENT"}WS.isEnoentCodeError=RXe});var bne=U(YS=>{"use strict";Object.defineProperty(YS,"__esModule",{value:!0});YS.createDirentFromStats=void 0;var DL=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function TXe(t,e){return new DL(t,e)}YS.createDirentFromStats=TXe});var Qne=U($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.removeLeadingDotSegment=$u.escape=$u.makeAbsolute=$u.unixify=void 0;var NXe=Ie("path"),LXe=2,OXe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function MXe(t){return t.replace(/\\/g,"/")}$u.unixify=MXe;function UXe(t,e){return NXe.resolve(t,e)}$u.makeAbsolute=UXe;function _Xe(t){return t.replace(OXe,"\\$2")}$u.escape=_Xe;function HXe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(LXe)}return t}$u.removeLeadingDotSegment=HXe});var Fne=U((XRt,kne)=>{kne.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var Nne=U((ZRt,Tne)=>{var qXe=Fne(),Rne={"{":"}","(":")","[":"]"},jXe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,o=-2,a=-2,n=-2,u=-2;e<t.length;){if(t[e]==="*"||t[e+1]==="?"&&/[\].+)]/.test(t[e])||o!==-1&&t[e]==="["&&t[e+1]!=="]"&&(o<e&&(o=t.indexOf("]",e)),o>e&&(u===-1||u>o||(u=t.indexOf("\\",e),u===-1||u>o)))||a!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(a=t.indexOf("}",e),a>e&&(u=t.indexOf("\\",e),u===-1||u>a))||n!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(n=t.indexOf(")",e),n>e&&(u=t.indexOf("\\",e),u===-1||u>n))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(r<e&&(r=t.indexOf("|",e)),r!==-1&&t[r+1]!==")"&&(n=t.indexOf(")",r),n>r&&(u=t.indexOf("\\",r),u===-1||u>n))))return!0;if(t[e]==="\\"){var A=t[e+1];e+=2;var p=Rne[A];if(p){var h=t.indexOf(p,e);h!==-1&&(e=h+1)}if(t[e]==="!")return!0}else e++}return!1},GXe=function(t){if(t[0]==="!")return!0;for(var e=0;e<t.length;){if(/[*?{}()[\]]/.test(t[e]))return!0;if(t[e]==="\\"){var r=t[e+1];e+=2;var o=Rne[r];if(o){var a=t.indexOf(o,e);a!==-1&&(e=a+1)}if(t[e]==="!")return!0}else e++}return!1};Tne.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(qXe(e))return!0;var o=jXe;return r&&r.strict===!1&&(o=GXe),o(e)}});var One=U(($Rt,Lne)=>{"use strict";var WXe=Nne(),YXe=Ie("path").posix.dirname,KXe=Ie("os").platform()==="win32",SL="/",JXe=/\\/g,VXe=/[\{\[].*[\}\]]$/,zXe=/(^|[^\\])([\{\[]|\([^\)]+$)/,XXe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;Lne.exports=function(e,r){var o=Object.assign({flipBackslashes:!0},r);o.flipBackslashes&&KXe&&e.indexOf(SL)<0&&(e=e.replace(JXe,SL)),VXe.test(e)&&(e+=SL),e+="a";do e=YXe(e);while(WXe(e)||zXe.test(e));return e.replace(XXe,"$1")}});var Wne=U(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.matchAny=Or.convertPatternsToRe=Or.makeRe=Or.getPatternParts=Or.expandBraceExpansion=Or.expandPatternsWithBraceExpansion=Or.isAffectDepthOfReadingPattern=Or.endsWithSlashGlobStar=Or.hasGlobStar=Or.getBaseDirectory=Or.isPatternRelatedToParentDirectory=Or.getPatternsOutsideCurrentDirectory=Or.getPatternsInsideCurrentDirectory=Or.getPositivePatterns=Or.getNegativePatterns=Or.isPositivePattern=Or.isNegativePattern=Or.convertToNegativePattern=Or.convertToPositivePattern=Or.isDynamicPattern=Or.isStaticPattern=void 0;var ZXe=Ie("path"),$Xe=One(),PL=Jo(),Mne="**",eZe="\\",tZe=/[*?]|^!/,rZe=/\[[^[]*]/,nZe=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,iZe=/[!*+?@]\([^(]*\)/,sZe=/,|\.\./;function Une(t,e={}){return!_ne(t,e)}Or.isStaticPattern=Une;function _ne(t,e={}){return t===""?!1:!!(e.caseSensitiveMatch===!1||t.includes(eZe)||tZe.test(t)||rZe.test(t)||nZe.test(t)||e.extglob!==!1&&iZe.test(t)||e.braceExpansion!==!1&&oZe(t))}Or.isDynamicPattern=_ne;function oZe(t){let e=t.indexOf("{");if(e===-1)return!1;let r=t.indexOf("}",e+1);if(r===-1)return!1;let o=t.slice(e,r);return sZe.test(o)}function aZe(t){return KS(t)?t.slice(1):t}Or.convertToPositivePattern=aZe;function lZe(t){return"!"+t}Or.convertToNegativePattern=lZe;function KS(t){return t.startsWith("!")&&t[1]!=="("}Or.isNegativePattern=KS;function Hne(t){return!KS(t)}Or.isPositivePattern=Hne;function cZe(t){return t.filter(KS)}Or.getNegativePatterns=cZe;function uZe(t){return t.filter(Hne)}Or.getPositivePatterns=uZe;function AZe(t){return t.filter(e=>!xL(e))}Or.getPatternsInsideCurrentDirectory=AZe;function fZe(t){return t.filter(xL)}Or.getPatternsOutsideCurrentDirectory=fZe;function xL(t){return t.startsWith("..")||t.startsWith("./..")}Or.isPatternRelatedToParentDirectory=xL;function pZe(t){return $Xe(t,{flipBackslashes:!1})}Or.getBaseDirectory=pZe;function hZe(t){return t.includes(Mne)}Or.hasGlobStar=hZe;function qne(t){return t.endsWith("/"+Mne)}Or.endsWithSlashGlobStar=qne;function gZe(t){let e=ZXe.basename(t);return qne(t)||Une(e)}Or.isAffectDepthOfReadingPattern=gZe;function dZe(t){return t.reduce((e,r)=>e.concat(jne(r)),[])}Or.expandPatternsWithBraceExpansion=dZe;function jne(t){return PL.braces(t,{expand:!0,nodupes:!0})}Or.expandBraceExpansion=jne;function mZe(t,e){let{parts:r}=PL.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.length===0&&(r=[t]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}Or.getPatternParts=mZe;function Gne(t,e){return PL.makeRe(t,e)}Or.makeRe=Gne;function yZe(t,e){return t.map(r=>Gne(r,e))}Or.convertPatternsToRe=yZe;function EZe(t,e){return e.some(r=>r.test(t))}Or.matchAny=EZe});var Kne=U(JS=>{"use strict";Object.defineProperty(JS,"__esModule",{value:!0});JS.merge=void 0;var CZe=vL();function IZe(t){let e=CZe(t);return t.forEach(r=>{r.once("error",o=>e.emit("error",o))}),e.once("close",()=>Yne(t)),e.once("end",()=>Yne(t)),e}JS.merge=IZe;function Yne(t){t.forEach(e=>e.emit("close"))}});var Jne=U(Jy=>{"use strict";Object.defineProperty(Jy,"__esModule",{value:!0});Jy.isEmpty=Jy.isString=void 0;function wZe(t){return typeof t=="string"}Jy.isString=wZe;function BZe(t){return t===""}Jy.isEmpty=BZe});var vf=U(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.string=So.stream=So.pattern=So.path=So.fs=So.errno=So.array=void 0;var vZe=Pne();So.array=vZe;var DZe=xne();So.errno=DZe;var SZe=bne();So.fs=SZe;var PZe=Qne();So.path=PZe;var xZe=Wne();So.pattern=xZe;var bZe=Kne();So.stream=bZe;var QZe=Jne();So.string=QZe});var Xne=U(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.convertPatternGroupToTask=Po.convertPatternGroupsToTasks=Po.groupPatternsByBaseDirectory=Po.getNegativePatternsAsPositive=Po.getPositivePatterns=Po.convertPatternsToTasks=Po.generate=void 0;var Df=vf();function kZe(t,e){let r=Vne(t),o=zne(t,e.ignore),a=r.filter(p=>Df.pattern.isStaticPattern(p,e)),n=r.filter(p=>Df.pattern.isDynamicPattern(p,e)),u=bL(a,o,!1),A=bL(n,o,!0);return u.concat(A)}Po.generate=kZe;function bL(t,e,r){let o=[],a=Df.pattern.getPatternsOutsideCurrentDirectory(t),n=Df.pattern.getPatternsInsideCurrentDirectory(t),u=QL(a),A=QL(n);return o.push(...kL(u,e,r)),"."in A?o.push(FL(".",n,e,r)):o.push(...kL(A,e,r)),o}Po.convertPatternsToTasks=bL;function Vne(t){return Df.pattern.getPositivePatterns(t)}Po.getPositivePatterns=Vne;function zne(t,e){return Df.pattern.getNegativePatterns(t).concat(e).map(Df.pattern.convertToPositivePattern)}Po.getNegativePatternsAsPositive=zne;function QL(t){let e={};return t.reduce((r,o)=>{let a=Df.pattern.getBaseDirectory(o);return a in r?r[a].push(o):r[a]=[o],r},e)}Po.groupPatternsByBaseDirectory=QL;function kL(t,e,r){return Object.keys(t).map(o=>FL(o,t[o],e,r))}Po.convertPatternGroupsToTasks=kL;function FL(t,e,r,o){return{dynamic:o,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Df.pattern.convertToNegativePattern))}}Po.convertPatternGroupToTask=FL});var $ne=U(Vy=>{"use strict";Object.defineProperty(Vy,"__esModule",{value:!0});Vy.removeDuplicateSlashes=Vy.transform=void 0;var FZe=/(?!^)\/{2,}/g;function RZe(t){return t.map(e=>Zne(e))}Vy.transform=RZe;function Zne(t){return t.replace(FZe,"/")}Vy.removeDuplicateSlashes=Zne});var tie=U(VS=>{"use strict";Object.defineProperty(VS,"__esModule",{value:!0});VS.read=void 0;function TZe(t,e,r){e.fs.lstat(t,(o,a)=>{if(o!==null){eie(r,o);return}if(!a.isSymbolicLink()||!e.followSymbolicLink){RL(r,a);return}e.fs.stat(t,(n,u)=>{if(n!==null){if(e.throwErrorOnBrokenSymbolicLink){eie(r,n);return}RL(r,a);return}e.markSymbolicLink&&(u.isSymbolicLink=()=>!0),RL(r,u)})})}VS.read=TZe;function eie(t,e){t(e)}function RL(t,e){t(null,e)}});var rie=U(zS=>{"use strict";Object.defineProperty(zS,"__esModule",{value:!0});zS.read=void 0;function NZe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let o=e.fs.statSync(t);return e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),o}catch(o){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw o}}zS.read=NZe});var nie=U(Jp=>{"use strict";Object.defineProperty(Jp,"__esModule",{value:!0});Jp.createFileSystemAdapter=Jp.FILE_SYSTEM_ADAPTER=void 0;var XS=Ie("fs");Jp.FILE_SYSTEM_ADAPTER={lstat:XS.lstat,stat:XS.stat,lstatSync:XS.lstatSync,statSync:XS.statSync};function LZe(t){return t===void 0?Jp.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Jp.FILE_SYSTEM_ADAPTER),t)}Jp.createFileSystemAdapter=LZe});var iie=U(NL=>{"use strict";Object.defineProperty(NL,"__esModule",{value:!0});var OZe=nie(),TL=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=OZe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e??r}};NL.default=TL});var gd=U(Vp=>{"use strict";Object.defineProperty(Vp,"__esModule",{value:!0});Vp.statSync=Vp.stat=Vp.Settings=void 0;var sie=tie(),MZe=rie(),LL=iie();Vp.Settings=LL.default;function UZe(t,e,r){if(typeof e=="function"){sie.read(t,OL(),e);return}sie.read(t,OL(e),r)}Vp.stat=UZe;function _Ze(t,e){let r=OL(e);return MZe.read(t,r)}Vp.statSync=_Ze;function OL(t={}){return t instanceof LL.default?t:new LL.default(t)}});var aie=U((ATt,oie)=>{oie.exports=HZe;function HZe(t,e){var r,o,a,n=!0;Array.isArray(t)?(r=[],o=t.length):(a=Object.keys(t),r={},o=a.length);function u(p){function h(){e&&e(p,r),e=null}n?process.nextTick(h):h()}function A(p,h,C){r[p]=C,(--o===0||h)&&u(h)}o?a?a.forEach(function(p){t[p](function(h,C){A(p,h,C)})}):t.forEach(function(p,h){p(function(C,w){A(h,C,w)})}):u(null),n=!1}});var ML=U($S=>{"use strict";Object.defineProperty($S,"__esModule",{value:!0});$S.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var ZS=process.versions.node.split(".");if(ZS[0]===void 0||ZS[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var lie=Number.parseInt(ZS[0],10),qZe=Number.parseInt(ZS[1],10),cie=10,jZe=10,GZe=lie>cie,WZe=lie===cie&&qZe>=jZe;$S.IS_SUPPORT_READDIR_WITH_FILE_TYPES=GZe||WZe});var uie=U(eP=>{"use strict";Object.defineProperty(eP,"__esModule",{value:!0});eP.createDirentFromStats=void 0;var UL=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function YZe(t,e){return new UL(t,e)}eP.createDirentFromStats=YZe});var _L=U(tP=>{"use strict";Object.defineProperty(tP,"__esModule",{value:!0});tP.fs=void 0;var KZe=uie();tP.fs=KZe});var HL=U(rP=>{"use strict";Object.defineProperty(rP,"__esModule",{value:!0});rP.joinPathSegments=void 0;function JZe(t,e,r){return t.endsWith(r)?t+e:t+r+e}rP.joinPathSegments=JZe});var die=U(zp=>{"use strict";Object.defineProperty(zp,"__esModule",{value:!0});zp.readdir=zp.readdirWithFileTypes=zp.read=void 0;var VZe=gd(),Aie=aie(),zZe=ML(),fie=_L(),pie=HL();function XZe(t,e,r){if(!e.stats&&zZe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){hie(t,e,r);return}gie(t,e,r)}zp.read=XZe;function hie(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(o,a)=>{if(o!==null){nP(r,o);return}let n=a.map(A=>({dirent:A,name:A.name,path:pie.joinPathSegments(t,A.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){qL(r,n);return}let u=n.map(A=>ZZe(A,e));Aie(u,(A,p)=>{if(A!==null){nP(r,A);return}qL(r,p)})})}zp.readdirWithFileTypes=hie;function ZZe(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(o,a)=>{if(o!==null){if(e.throwErrorOnBrokenSymbolicLink){r(o);return}r(null,t);return}t.dirent=fie.fs.createDirentFromStats(t.name,a),r(null,t)})}}function gie(t,e,r){e.fs.readdir(t,(o,a)=>{if(o!==null){nP(r,o);return}let n=a.map(u=>{let A=pie.joinPathSegments(t,u,e.pathSegmentSeparator);return p=>{VZe.stat(A,e.fsStatSettings,(h,C)=>{if(h!==null){p(h);return}let w={name:u,path:A,dirent:fie.fs.createDirentFromStats(u,C)};e.stats&&(w.stats=C),p(null,w)})}});Aie(n,(u,A)=>{if(u!==null){nP(r,u);return}qL(r,A)})})}zp.readdir=gie;function nP(t,e){t(e)}function qL(t,e){t(null,e)}});var Iie=U(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.readdir=Xp.readdirWithFileTypes=Xp.read=void 0;var $Ze=gd(),e$e=ML(),mie=_L(),yie=HL();function t$e(t,e){return!e.stats&&e$e.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Eie(t,e):Cie(t,e)}Xp.read=t$e;function Eie(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(o=>{let a={dirent:o,name:o.name,path:yie.joinPathSegments(t,o.name,e.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let n=e.fs.statSync(a.path);a.dirent=mie.fs.createDirentFromStats(a.name,n)}catch(n){if(e.throwErrorOnBrokenSymbolicLink)throw n}return a})}Xp.readdirWithFileTypes=Eie;function Cie(t,e){return e.fs.readdirSync(t).map(o=>{let a=yie.joinPathSegments(t,o,e.pathSegmentSeparator),n=$Ze.statSync(a,e.fsStatSettings),u={name:o,path:a,dirent:mie.fs.createDirentFromStats(o,n)};return e.stats&&(u.stats=n),u})}Xp.readdir=Cie});var wie=U(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});Zp.createFileSystemAdapter=Zp.FILE_SYSTEM_ADAPTER=void 0;var zy=Ie("fs");Zp.FILE_SYSTEM_ADAPTER={lstat:zy.lstat,stat:zy.stat,lstatSync:zy.lstatSync,statSync:zy.statSync,readdir:zy.readdir,readdirSync:zy.readdirSync};function r$e(t){return t===void 0?Zp.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Zp.FILE_SYSTEM_ADAPTER),t)}Zp.createFileSystemAdapter=r$e});var Bie=U(WL=>{"use strict";Object.defineProperty(WL,"__esModule",{value:!0});var n$e=Ie("path"),i$e=gd(),s$e=wie(),jL=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=s$e.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,n$e.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new i$e.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};WL.default=jL});var iP=U($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.Settings=$p.scandirSync=$p.scandir=void 0;var vie=die(),o$e=Iie(),YL=Bie();$p.Settings=YL.default;function a$e(t,e,r){if(typeof e=="function"){vie.read(t,KL(),e);return}vie.read(t,KL(e),r)}$p.scandir=a$e;function l$e(t,e){let r=KL(e);return o$e.read(t,r)}$p.scandirSync=l$e;function KL(t={}){return t instanceof YL.default?t:new YL.default(t)}});var Sie=U((ITt,Die)=>{"use strict";function c$e(t){var e=new t,r=e;function o(){var n=e;return n.next?e=n.next:(e=new t,r=e),n.next=null,n}function a(n){r.next=n,r=n}return{get:o,release:a}}Die.exports=c$e});var xie=U((wTt,JL)=>{"use strict";var u$e=Sie();function Pie(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var o=u$e(A$e),a=null,n=null,u=0,A=null,p={push:R,drain:Kl,saturated:Kl,pause:C,paused:!1,concurrency:r,running:h,resume:b,idle:E,length:w,getQueue:v,unshift:L,empty:Kl,kill:J,killAndDrain:re,error:oe};return p;function h(){return u}function C(){p.paused=!0}function w(){for(var pe=a,he=0;pe;)pe=pe.next,he++;return he}function v(){for(var pe=a,he=[];pe;)he.push(pe.value),pe=pe.next;return he}function b(){if(!!p.paused){p.paused=!1;for(var pe=0;pe<p.concurrency;pe++)u++,_()}}function E(){return u===0&&p.length()===0}function R(pe,he){var ve=o.get();ve.context=t,ve.release=_,ve.value=pe,ve.callback=he||Kl,ve.errorHandler=A,u===p.concurrency||p.paused?n?(n.next=ve,n=ve):(a=ve,n=ve,p.saturated()):(u++,e.call(t,ve.value,ve.worked))}function L(pe,he){var ve=o.get();ve.context=t,ve.release=_,ve.value=pe,ve.callback=he||Kl,u===p.concurrency||p.paused?a?(ve.next=a,a=ve):(a=ve,n=ve,p.saturated()):(u++,e.call(t,ve.value,ve.worked))}function _(pe){pe&&o.release(pe);var he=a;he?p.paused?u--:(n===a&&(n=null),a=he.next,he.next=null,e.call(t,he.value,he.worked),n===null&&p.empty()):--u===0&&p.drain()}function J(){a=null,n=null,p.drain=Kl}function re(){a=null,n=null,p.drain(),p.drain=Kl}function oe(pe){A=pe}}function Kl(){}function A$e(){this.value=null,this.callback=Kl,this.next=null,this.release=Kl,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,o){var a=t.callback,n=t.errorHandler,u=t.value;t.value=null,t.callback=Kl,t.errorHandler&&n(r,u),a.call(t.context,r,o),t.release(t)}}function f$e(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function o(C,w){e.call(this,C).then(function(v){w(null,v)},w)}var a=Pie(t,o,r),n=a.push,u=a.unshift;return a.push=A,a.unshift=p,a.drained=h,a;function A(C){var w=new Promise(function(v,b){n(C,function(E,R){if(E){b(E);return}v(R)})});return w.catch(Kl),w}function p(C){var w=new Promise(function(v,b){u(C,function(E,R){if(E){b(E);return}v(R)})});return w.catch(Kl),w}function h(){var C=a.drain,w=new Promise(function(v){a.drain=function(){C(),v()}});return w}}JL.exports=Pie;JL.exports.promise=f$e});var sP=U(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.joinPathSegments=eA.replacePathSegmentSeparator=eA.isAppliedFilter=eA.isFatalError=void 0;function p$e(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}eA.isFatalError=p$e;function h$e(t,e){return t===null||t(e)}eA.isAppliedFilter=h$e;function g$e(t,e){return t.split(/[/\\]/).join(e)}eA.replacePathSegmentSeparator=g$e;function d$e(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}eA.joinPathSegments=d$e});var XL=U(zL=>{"use strict";Object.defineProperty(zL,"__esModule",{value:!0});var m$e=sP(),VL=class{constructor(e,r){this._root=e,this._settings=r,this._root=m$e.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};zL.default=VL});var eO=U($L=>{"use strict";Object.defineProperty($L,"__esModule",{value:!0});var y$e=Ie("events"),E$e=iP(),C$e=xie(),oP=sP(),I$e=XL(),ZL=class extends I$e.default{constructor(e,r){super(e,r),this._settings=r,this._scandir=E$e.scandir,this._emitter=new y$e.EventEmitter,this._queue=C$e(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let o={directory:e,base:r};this._queue.push(o,a=>{a!==null&&this._handleError(a)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(o,a)=>{if(o!==null){r(o,void 0);return}for(let n of a)this._handleEntry(n,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!oP.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let o=e.path;r!==void 0&&(e.path=oP.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),oP.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&oP.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};$L.default=ZL});var bie=U(rO=>{"use strict";Object.defineProperty(rO,"__esModule",{value:!0});var w$e=eO(),tO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new w$e.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{B$e(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{v$e(e,[...this._storage])}),this._reader.read()}};rO.default=tO;function B$e(t,e){t(e)}function v$e(t,e){t(null,e)}});var Qie=U(iO=>{"use strict";Object.defineProperty(iO,"__esModule",{value:!0});var D$e=Ie("stream"),S$e=eO(),nO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new S$e.default(this._root,this._settings),this._stream=new D$e.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};iO.default=nO});var kie=U(oO=>{"use strict";Object.defineProperty(oO,"__esModule",{value:!0});var P$e=iP(),aP=sP(),x$e=XL(),sO=class extends x$e.default{constructor(){super(...arguments),this._scandir=P$e.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let o=this._scandir(e,this._settings.fsScandirSettings);for(let a of o)this._handleEntry(a,r)}catch(o){this._handleError(o)}}_handleError(e){if(!!aP.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let o=e.path;r!==void 0&&(e.path=aP.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),aP.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&aP.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,e.path)}_pushToStorage(e){this._storage.add(e)}};oO.default=sO});var Fie=U(lO=>{"use strict";Object.defineProperty(lO,"__esModule",{value:!0});var b$e=kie(),aO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new b$e.default(this._root,this._settings)}read(){return this._reader.read()}};lO.default=aO});var Rie=U(uO=>{"use strict";Object.defineProperty(uO,"__esModule",{value:!0});var Q$e=Ie("path"),k$e=iP(),cO=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Q$e.sep),this.fsScandirSettings=new k$e.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};uO.default=cO});var cP=U(tA=>{"use strict";Object.defineProperty(tA,"__esModule",{value:!0});tA.Settings=tA.walkStream=tA.walkSync=tA.walk=void 0;var Tie=bie(),F$e=Qie(),R$e=Fie(),AO=Rie();tA.Settings=AO.default;function T$e(t,e,r){if(typeof e=="function"){new Tie.default(t,lP()).read(e);return}new Tie.default(t,lP(e)).read(r)}tA.walk=T$e;function N$e(t,e){let r=lP(e);return new R$e.default(t,r).read()}tA.walkSync=N$e;function L$e(t,e){let r=lP(e);return new F$e.default(t,r).read()}tA.walkStream=L$e;function lP(t={}){return t instanceof AO.default?t:new AO.default(t)}});var uP=U(pO=>{"use strict";Object.defineProperty(pO,"__esModule",{value:!0});var O$e=Ie("path"),M$e=gd(),Nie=vf(),fO=class{constructor(e){this._settings=e,this._fsStatSettings=new M$e.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return O$e.resolve(this._settings.cwd,e)}_makeEntry(e,r){let o={name:r,path:r,dirent:Nie.fs.createDirentFromStats(r,e)};return this._settings.stats&&(o.stats=e),o}_isFatalError(e){return!Nie.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};pO.default=fO});var dO=U(gO=>{"use strict";Object.defineProperty(gO,"__esModule",{value:!0});var U$e=Ie("stream"),_$e=gd(),H$e=cP(),q$e=uP(),hO=class extends q$e.default{constructor(){super(...arguments),this._walkStream=H$e.walkStream,this._stat=_$e.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let o=e.map(this._getFullEntryPath,this),a=new U$e.PassThrough({objectMode:!0});a._write=(n,u,A)=>this._getEntry(o[n],e[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===o.length-1&&a.end(),A()}).catch(A);for(let n=0;n<o.length;n++)a.write(n);return a}_getEntry(e,r,o){return this._getStat(e).then(a=>this._makeEntry(a,r)).catch(a=>{if(o.errorFilter(a))return null;throw a})}_getStat(e){return new Promise((r,o)=>{this._stat(e,this._fsStatSettings,(a,n)=>a===null?r(n):o(a))})}};gO.default=hO});var Lie=U(yO=>{"use strict";Object.defineProperty(yO,"__esModule",{value:!0});var j$e=cP(),G$e=uP(),W$e=dO(),mO=class extends G$e.default{constructor(){super(...arguments),this._walkAsync=j$e.walk,this._readerStream=new W$e.default(this._settings)}dynamic(e,r){return new Promise((o,a)=>{this._walkAsync(e,r,(n,u)=>{n===null?o(u):a(n)})})}async static(e,r){let o=[],a=this._readerStream.static(e,r);return new Promise((n,u)=>{a.once("error",u),a.on("data",A=>o.push(A)),a.once("end",()=>n(o))})}};yO.default=mO});var Oie=U(CO=>{"use strict";Object.defineProperty(CO,"__esModule",{value:!0});var Xy=vf(),EO=class{constructor(e,r,o){this._patterns=e,this._settings=r,this._micromatchOptions=o,this._storage=[],this._fillStorage()}_fillStorage(){let e=Xy.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let o=this._getPatternSegments(r),a=this._splitSegmentsIntoSections(o);this._storage.push({complete:a.length<=1,pattern:r,segments:o,sections:a})}}_getPatternSegments(e){return Xy.pattern.getPatternParts(e,this._micromatchOptions).map(o=>Xy.pattern.isDynamicPattern(o,this._settings)?{dynamic:!0,pattern:o,patternRe:Xy.pattern.makeRe(o,this._micromatchOptions)}:{dynamic:!1,pattern:o})}_splitSegmentsIntoSections(e){return Xy.array.splitWhen(e,r=>r.dynamic&&Xy.pattern.hasGlobStar(r.pattern))}};CO.default=EO});var Mie=U(wO=>{"use strict";Object.defineProperty(wO,"__esModule",{value:!0});var Y$e=Oie(),IO=class extends Y$e.default{match(e){let r=e.split("/"),o=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>o);for(let n of a){let u=n.sections[0];if(!n.complete&&o>u.length||r.every((p,h)=>{let C=n.segments[h];return!!(C.dynamic&&C.patternRe.test(p)||!C.dynamic&&C.pattern===p)}))return!0}return!1}};wO.default=IO});var Uie=U(vO=>{"use strict";Object.defineProperty(vO,"__esModule",{value:!0});var AP=vf(),K$e=Mie(),BO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,o){let a=this._getMatcher(r),n=this._getNegativePatternsRe(o);return u=>this._filter(e,u,a,n)}_getMatcher(e){return new K$e.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(AP.pattern.isAffectDepthOfReadingPattern);return AP.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,o,a){if(this._isSkippedByDeep(e,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=AP.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,o)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(e,r){return this._settings.deep===1/0?!1:this._getEntryLevel(e,r)>=this._settings.deep}_getEntryLevel(e,r){let o=r.split("/").length;if(e==="")return o;let a=e.split("/").length;return o-a}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!AP.pattern.matchAny(e,r)}};vO.default=BO});var _ie=U(SO=>{"use strict";Object.defineProperty(SO,"__esModule",{value:!0});var dd=vf(),DO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let o=dd.pattern.convertPatternsToRe(e,this._micromatchOptions),a=dd.pattern.convertPatternsToRe(r,this._micromatchOptions);return n=>this._filter(n,o,a)}_filter(e,r,o){if(this._settings.unique&&this._isDuplicateEntry(e)||this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e.path,o))return!1;let a=this._settings.baseNameMatch?e.name:e.path,n=e.dirent.isDirectory(),u=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(e.path,o,n);return this._settings.unique&&u&&this._createIndexRecord(e),u}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let o=dd.path.makeAbsolute(this._settings.cwd,e);return dd.pattern.matchAny(o,r)}_isMatchToPatterns(e,r,o){let a=dd.path.removeLeadingDotSegment(e),n=dd.pattern.matchAny(a,r);return!n&&o?dd.pattern.matchAny(a+"/",r):n}};SO.default=DO});var Hie=U(xO=>{"use strict";Object.defineProperty(xO,"__esModule",{value:!0});var J$e=vf(),PO=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return J$e.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};xO.default=PO});var jie=U(QO=>{"use strict";Object.defineProperty(QO,"__esModule",{value:!0});var qie=vf(),bO=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=qie.path.makeAbsolute(this._settings.cwd,r),r=qie.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};QO.default=bO});var fP=U(FO=>{"use strict";Object.defineProperty(FO,"__esModule",{value:!0});var V$e=Ie("path"),z$e=Uie(),X$e=_ie(),Z$e=Hie(),$$e=jie(),kO=class{constructor(e){this._settings=e,this.errorFilter=new Z$e.default(this._settings),this.entryFilter=new X$e.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new z$e.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new $$e.default(this._settings)}_getRootDirectory(e){return V$e.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};FO.default=kO});var Gie=U(TO=>{"use strict";Object.defineProperty(TO,"__esModule",{value:!0});var eet=Lie(),tet=fP(),RO=class extends tet.default{constructor(){super(...arguments),this._reader=new eet.default(this._settings)}async read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return(await this.api(r,e,o)).map(n=>o.transform(n))}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};TO.default=RO});var Wie=U(LO=>{"use strict";Object.defineProperty(LO,"__esModule",{value:!0});var ret=Ie("stream"),net=dO(),iet=fP(),NO=class extends iet.default{constructor(){super(...arguments),this._reader=new net.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e),a=this.api(r,e,o),n=new ret.Readable({objectMode:!0,read:()=>{}});return a.once("error",u=>n.emit("error",u)).on("data",u=>n.emit("data",o.transform(u))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};LO.default=NO});var Yie=U(MO=>{"use strict";Object.defineProperty(MO,"__esModule",{value:!0});var set=gd(),oet=cP(),aet=uP(),OO=class extends aet.default{constructor(){super(...arguments),this._walkSync=oet.walkSync,this._statSync=set.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let o=[];for(let a of e){let n=this._getFullEntryPath(a),u=this._getEntry(n,a,r);u===null||!r.entryFilter(u)||o.push(u)}return o}_getEntry(e,r,o){try{let a=this._getStat(e);return this._makeEntry(a,r)}catch(a){if(o.errorFilter(a))return null;throw a}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};MO.default=OO});var Kie=U(_O=>{"use strict";Object.defineProperty(_O,"__esModule",{value:!0});var cet=Yie(),uet=fP(),UO=class extends uet.default{constructor(){super(...arguments),this._reader=new cet.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return this.api(r,e,o).map(o.transform)}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};_O.default=UO});var Jie=U($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});$y.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var Zy=Ie("fs"),Aet=Ie("os"),fet=Math.max(Aet.cpus().length,1);$y.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Zy.lstat,lstatSync:Zy.lstatSync,stat:Zy.stat,statSync:Zy.statSync,readdir:Zy.readdir,readdirSync:Zy.readdirSync};var HO=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,fet),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},$y.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};$y.default=HO});var pP=U((KTt,Xie)=>{"use strict";var Vie=Xne(),zie=$ne(),pet=Gie(),het=Wie(),get=Kie(),qO=Jie(),md=vf();async function jO(t,e){eE(t);let r=GO(t,pet.default,e),o=await Promise.all(r);return md.array.flatten(o)}(function(t){function e(u,A){eE(u);let p=GO(u,get.default,A);return md.array.flatten(p)}t.sync=e;function r(u,A){eE(u);let p=GO(u,het.default,A);return md.stream.merge(p)}t.stream=r;function o(u,A){eE(u);let p=zie.transform([].concat(u)),h=new qO.default(A);return Vie.generate(p,h)}t.generateTasks=o;function a(u,A){eE(u);let p=new qO.default(A);return md.pattern.isDynamicPattern(u,p)}t.isDynamicPattern=a;function n(u){return eE(u),md.path.escape(u)}t.escapePath=n})(jO||(jO={}));function GO(t,e,r){let o=zie.transform([].concat(t)),a=new qO.default(r),n=Vie.generate(o,a),u=new e(a);return n.map(u.read,u)}function eE(t){if(![].concat(t).every(o=>md.string.isString(o)&&!md.string.isEmpty(o)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}Xie.exports=jO});var $ie=U(yd=>{"use strict";var{promisify:det}=Ie("util"),Zie=Ie("fs");async function WO(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await det(Zie[t])(r))[e]()}catch(o){if(o.code==="ENOENT")return!1;throw o}}function YO(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return Zie[t](r)[e]()}catch(o){if(o.code==="ENOENT")return!1;throw o}}yd.isFile=WO.bind(null,"stat","isFile");yd.isDirectory=WO.bind(null,"stat","isDirectory");yd.isSymlink=WO.bind(null,"lstat","isSymbolicLink");yd.isFileSync=YO.bind(null,"statSync","isFile");yd.isDirectorySync=YO.bind(null,"statSync","isDirectory");yd.isSymlinkSync=YO.bind(null,"lstatSync","isSymbolicLink")});var ise=U((VTt,KO)=>{"use strict";var Ed=Ie("path"),ese=$ie(),tse=t=>t.length>1?`{${t.join(",")}}`:t[0],rse=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return Ed.isAbsolute(r)?r:Ed.join(e,r)},met=(t,e)=>Ed.extname(t)?`**/${t}`:`**/${t}.${tse(e)}`,nse=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>Ed.posix.join(t,met(r,e.extensions))):e.files?e.files.map(r=>Ed.posix.join(t,`**/${r}`)):e.extensions?[Ed.posix.join(t,`**/*.${tse(e.extensions)}`)]:[Ed.posix.join(t,"**")]};KO.exports=async(t,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async o=>await ese.isDirectory(rse(o,e.cwd))?nse(o,e):o));return[].concat.apply([],r)};KO.exports.sync=(t,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(o=>ese.isDirectorySync(rse(o,e.cwd))?nse(o,e):o);return[].concat.apply([],r)}});var pse=U((zTt,fse)=>{function sse(t){return Array.isArray(t)?t:[t]}var cse="",ose=" ",JO="\\",yet=/^\s+$/,Eet=/^\\!/,Cet=/^\\#/,Iet=/\r?\n/g,wet=/^\.*\/|^\.+$/,VO="/",ase=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",Bet=(t,e,r)=>Object.defineProperty(t,e,{value:r}),vet=/([0-z])-([0-z])/g,use=()=>!1,Det=t=>t.replace(vet,(e,r,o)=>r.charCodeAt(0)<=o.charCodeAt(0)?e:cse),Pet=t=>{let{length:e}=t;return t.slice(0,e-e%2)},xet=[[/\\?\s+$/,t=>t.indexOf("\\")===0?ose:cse],[/\\\s/g,()=>ose],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6<r.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)\\\*(?=.+)/g,(t,e)=>`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>JO],[/\\\\/g,()=>JO],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,o,a)=>e===JO?`\\[${r}${Pet(o)}${a}`:a==="]"&&o.length%2===0?`[${Det(r)}${o}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],lse=Object.create(null),bet=(t,e)=>{let r=lse[t];return r||(r=xet.reduce((o,a)=>o.replace(a[0],a[1].bind(t)),t),lse[t]=r),e?new RegExp(r,"i"):new RegExp(r)},ZO=t=>typeof t=="string",Qet=t=>t&&ZO(t)&&!yet.test(t)&&t.indexOf("#")!==0,ket=t=>t.split(Iet),zO=class{constructor(e,r,o,a){this.origin=e,this.pattern=r,this.negative=o,this.regex=a}},Fet=(t,e)=>{let r=t,o=!1;t.indexOf("!")===0&&(o=!0,t=t.substr(1)),t=t.replace(Eet,"!").replace(Cet,"#");let a=bet(t,e);return new zO(r,t,o,a)},Ret=(t,e)=>{throw new e(t)},Sf=(t,e,r)=>ZO(t)?t?Sf.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),Ase=t=>wet.test(t);Sf.isNotRelative=Ase;Sf.convert=t=>t;var XO=class{constructor({ignorecase:e=!0,ignoreCase:r=e,allowRelativePaths:o=!1}={}){Bet(this,ase,!0),this._rules=[],this._ignoreCase=r,this._allowRelativePaths=o,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[ase]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Qet(e)){let r=Fet(e,this._ignoreCase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,sse(ZO(e)?ket(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let o=!1,a=!1;return this._rules.forEach(n=>{let{negative:u}=n;if(a===u&&o!==a||u&&!o&&!a&&!r)return;n.regex.test(e)&&(o=!u,a=u)}),{ignored:o,unignored:a}}_test(e,r,o,a){let n=e&&Sf.convert(e);return Sf(n,e,this._allowRelativePaths?use:Ret),this._t(n,r,o,a)}_t(e,r,o,a){if(e in r)return r[e];if(a||(a=e.split(VO)),a.pop(),!a.length)return r[e]=this._testOne(e,o);let n=this._t(a.join(VO)+VO,r,o,a);return r[e]=n.ignored?n:this._testOne(e,o)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return sse(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},hP=t=>new XO(t),Tet=t=>Sf(t&&Sf.convert(t),t,use);hP.isPathValid=Tet;hP.default=hP;fse.exports=hP;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");Sf.convert=t;let e=/^[a-z]:\//i;Sf.isNotRelative=r=>e.test(r)||Ase(r)}});var gse=U((XTt,hse)=>{"use strict";hse.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var wse=U((ZTt,$O)=>{"use strict";var{promisify:Net}=Ie("util"),dse=Ie("fs"),Pf=Ie("path"),mse=pP(),Let=pse(),Uw=gse(),yse=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],Oet=Net(dse.readFile),Met=t=>e=>e.startsWith("!")?"!"+Pf.posix.join(t,e.slice(1)):Pf.posix.join(t,e),Uet=(t,e)=>{let r=Uw(Pf.relative(e.cwd,Pf.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(o=>!o.startsWith("#")).map(Met(r))},Ese=t=>{let e=Let();for(let r of t)e.add(Uet(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},_et=(t,e)=>{if(t=Uw(t),Pf.isAbsolute(e)){if(Uw(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return Pf.join(t,e)},Cse=(t,e)=>r=>t.ignores(Uw(Pf.relative(e,_et(e,r.path||r)))),Het=async(t,e)=>{let r=Pf.join(e,t),o=await Oet(r,"utf8");return{cwd:e,filePath:r,content:o}},qet=(t,e)=>{let r=Pf.join(e,t),o=dse.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:o}},Ise=({ignore:t=[],cwd:e=Uw(process.cwd())}={})=>({ignore:t,cwd:e});$O.exports=async t=>{t=Ise(t);let e=await mse("**/.gitignore",{ignore:yse.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(a=>Het(a,t.cwd))),o=Ese(r);return Cse(o,t.cwd)};$O.exports.sync=t=>{t=Ise(t);let r=mse.sync("**/.gitignore",{ignore:yse.concat(t.ignore),cwd:t.cwd}).map(a=>qet(a,t.cwd)),o=Ese(r);return Cse(o,t.cwd)}});var vse=U(($Tt,Bse)=>{"use strict";var{Transform:jet}=Ie("stream"),gP=class extends jet{constructor(){super({objectMode:!0})}},eM=class extends gP{constructor(e){super(),this._filter=e}_transform(e,r,o){this._filter(e)&&this.push(e),o()}},tM=class extends gP{constructor(){super(),this._pushed=new Set}_transform(e,r,o){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),o()}};Bse.exports={FilterStream:eM,UniqueStream:tM}});var sM=U((eNt,Cd)=>{"use strict";var Sse=Ie("fs"),dP=Bne(),Get=vL(),mP=pP(),yP=ise(),rM=wse(),{FilterStream:Wet,UniqueStream:Yet}=vse(),Pse=()=>!1,Dse=t=>t[0]==="!",Ket=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},Jet=(t={})=>{if(!t.cwd)return;let e;try{e=Sse.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},Vet=t=>t.stats instanceof Sse.Stats?t.path:t,EP=(t,e)=>{t=dP([].concat(t)),Ket(t),Jet(e);let r=[];e={ignore:[],expandDirectories:!0,...e};for(let[o,a]of t.entries()){if(Dse(a))continue;let n=t.slice(o).filter(A=>Dse(A)).map(A=>A.slice(1)),u={...e,ignore:e.ignore.concat(n)};r.push({pattern:a,options:u})}return r},zet=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r={...r,files:t.options.expandDirectories}:typeof t.options.expandDirectories=="object"&&(r={...r,...t.options.expandDirectories}),e(t.pattern,r)},nM=(t,e)=>t.options.expandDirectories?zet(t,e):[t.pattern],xse=t=>t&&t.gitignore?rM.sync({cwd:t.cwd,ignore:t.ignore}):Pse,iM=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=yP.sync(r.ignore)),{pattern:e,options:r}};Cd.exports=async(t,e)=>{let r=EP(t,e),o=async()=>e&&e.gitignore?rM({cwd:e.cwd,ignore:e.ignore}):Pse,a=async()=>{let p=await Promise.all(r.map(async h=>{let C=await nM(h,yP);return Promise.all(C.map(iM(h)))}));return dP(...p)},[n,u]=await Promise.all([o(),a()]),A=await Promise.all(u.map(p=>mP(p.pattern,p.options)));return dP(...A).filter(p=>!n(Vet(p)))};Cd.exports.sync=(t,e)=>{let r=EP(t,e),o=[];for(let u of r){let A=nM(u,yP.sync).map(iM(u));o.push(...A)}let a=xse(e),n=[];for(let u of o)n=dP(n,mP.sync(u.pattern,u.options));return n.filter(u=>!a(u))};Cd.exports.stream=(t,e)=>{let r=EP(t,e),o=[];for(let A of r){let p=nM(A,yP.sync).map(iM(A));o.push(...p)}let a=xse(e),n=new Wet(A=>!a(A)),u=new Yet;return Get(o.map(A=>mP.stream(A.pattern,A.options))).pipe(n).pipe(u)};Cd.exports.generateGlobTasks=EP;Cd.exports.hasMagic=(t,e)=>[].concat(t).some(r=>mP.isDynamicPattern(r,e));Cd.exports.gitignore=rM});var bn={};Yt(bn,{checksumFile:()=>IP,checksumPattern:()=>wP,makeHash:()=>Js});function Js(...t){let e=(0,CP.createHash)("sha512"),r="";for(let o of t)typeof o=="string"?r+=o:o&&(r&&(e.update(r),r=""),e.update(o));return r&&e.update(r),e.digest("hex")}async function IP(t,{baseFs:e,algorithm:r}={baseFs:ae,algorithm:"sha512"}){let o=await e.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,CP.createHash)(r),A=0;for(;(A=await e.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await e.closePromise(o)}}async function wP(t,{cwd:e}){let o=(await(0,oM.default)(t,{cwd:Ae.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(A=>`${A}/**/*`),a=await(0,oM.default)([t,...o],{cwd:Ae.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});a.sort();let n=await Promise.all(a.map(async A=>{let p=[Buffer.from(A)],h=Ae.toPortablePath(A),C=await ae.lstatPromise(h);return C.isSymbolicLink()?p.push(Buffer.from(await ae.readlinkPromise(h))):C.isFile()&&p.push(await ae.readFilePromise(h)),p.join("\0")})),u=(0,CP.createHash)("sha512");for(let A of n)u.update(A);return u.digest("hex")}var CP,oM,e0=dt(()=>{bt();CP=Ie("crypto"),oM=tt(sM())});var Y={};Yt(Y,{areDescriptorsEqual:()=>Rse,areIdentsEqual:()=>Gw,areLocatorsEqual:()=>Ww,areVirtualPackagesEquivalent:()=>stt,bindDescriptor:()=>ntt,bindLocator:()=>itt,convertDescriptorToLocator:()=>BP,convertLocatorToDescriptor:()=>lM,convertPackageToLocator:()=>ett,convertToIdent:()=>$et,convertToManifestRange:()=>ctt,copyPackage:()=>Hw,devirtualizeDescriptor:()=>qw,devirtualizeLocator:()=>jw,ensureDevirtualizedDescriptor:()=>ttt,ensureDevirtualizedLocator:()=>rtt,getIdentVendorPath:()=>pM,isPackageCompatible:()=>xP,isVirtualDescriptor:()=>xf,isVirtualLocator:()=>qc,makeDescriptor:()=>mn,makeIdent:()=>rA,makeLocator:()=>us,makeRange:()=>DP,parseDescriptor:()=>t0,parseFileStyleRange:()=>att,parseIdent:()=>Ys,parseLocator:()=>bf,parseRange:()=>Id,prettyDependent:()=>BL,prettyDescriptor:()=>Ln,prettyIdent:()=>cs,prettyLocator:()=>kr,prettyLocatorNoColors:()=>fM,prettyRange:()=>PP,prettyReference:()=>Kw,prettyResolution:()=>Mw,prettyWorkspace:()=>Jw,renamePackage:()=>cM,slugifyIdent:()=>aM,slugifyLocator:()=>rE,sortDescriptors:()=>nE,stringifyDescriptor:()=>xa,stringifyIdent:()=>nn,stringifyLocator:()=>Wl,tryParseDescriptor:()=>Yw,tryParseIdent:()=>Tse,tryParseLocator:()=>vP,tryParseRange:()=>ott,virtualizeDescriptor:()=>uM,virtualizePackage:()=>AM});function rA(t,e){if(t!=null&&t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:Js(t,e),scope:t,name:e}}function mn(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:Js(t.identHash,e),range:e}}function us(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:Js(t.identHash,e),reference:e}}function $et(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function BP(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function lM(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function ett(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function cM(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function Hw(t){return cM(t,t)}function uM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return mn(t,`virtual:${e}#${t.range}`)}function AM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return cM(t,us(t,`virtual:${e}#${t.reference}`))}function xf(t){return t.range.startsWith(_w)}function qc(t){return t.reference.startsWith(_w)}function qw(t){if(!xf(t))throw new Error("Not a virtual descriptor");return mn(t,t.range.replace(/^[^#]*#/,""))}function jw(t){if(!qc(t))throw new Error("Not a virtual descriptor");return us(t,t.reference.replace(/^[^#]*#/,""))}function ttt(t){return xf(t)?mn(t,t.range.replace(/^[^#]*#/,"")):t}function rtt(t){return qc(t)?us(t,t.reference.replace(/^[^#]*#/,"")):t}function ntt(t,e){return t.range.includes("::")?t:mn(t,`${t.range}::${tE.default.stringify(e)}`)}function itt(t,e){return t.reference.includes("::")?t:us(t,`${t.reference}::${tE.default.stringify(e)}`)}function Gw(t,e){return t.identHash===e.identHash}function Rse(t,e){return t.descriptorHash===e.descriptorHash}function Ww(t,e){return t.locatorHash===e.locatorHash}function stt(t,e){if(!qc(t))throw new Error("Invalid package type");if(!qc(e))throw new Error("Invalid package type");if(!Gw(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let o=e.dependencies.get(r.identHash);if(!o||!Rse(r,o))return!1}return!0}function Ys(t){let e=Tse(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function Tse(t){let e=t.match(/^(?:@([^/]+?)\/)?([^@/]+)$/);if(!e)return null;let[,r,o]=e;return rA(typeof r<"u"?r:null,o)}function t0(t,e=!1){let r=Yw(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function Yw(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid range (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return mn(rA(u,a),A)}function bf(t,e=!1){let r=vP(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function vP(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return us(rA(u,a),A)}function Id(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let o=typeof r[1]<"u"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&o!==e.requireProtocol)throw new Error(`Invalid protocol (${o})`);if((e==null?void 0:e.requireProtocol)&&o===null)throw new Error(`Missing protocol (${o})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&a===null)throw new Error(`Missing source (${t})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),u=e!=null&&e.parseSelector?tE.default.parse(n):n,A=typeof r[4]<"u"?tE.default.parse(r[4]):null;return{protocol:o,source:a,selector:u,params:A}}function ott(t,e){try{return Id(t,e)}catch{return null}}function att(t,{protocol:e}){let{selector:r,params:o}=Id(t,{requireProtocol:e,requireBindings:!0});if(typeof o.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:bf(o.locator,!0),path:r}}function bse(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function ltt(t){return t===null?!1:Object.entries(t).length>0}function DP({protocol:t,source:e,selector:r,params:o}){let a="";return t!==null&&(a+=`${t}`),e!==null&&(a+=`${bse(e)}#`),a+=bse(r),ltt(o)&&(a+=`::${tE.default.stringify(o)}`),a}function ctt(t){let{params:e,protocol:r,source:o,selector:a}=Id(t);for(let n in e)n.startsWith("__")&&delete e[n];return DP({protocol:r,source:o,params:e,selector:a})}function nn(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function xa(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function Wl(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function aM(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function rE(t){let{protocol:e,selector:r}=Id(t.reference),o=e!==null?e.replace(/:$/,""):"exotic",a=Qse.default.valid(r),n=a!==null?`${o}-${a}`:`${o}`,u=10,A=t.scope?`${aM(t)}-${n}-${t.locatorHash.slice(0,u)}`:`${aM(t)}-${n}-${t.locatorHash.slice(0,u)}`;return Li(A)}function cs(t,e){return e.scope?`${Kt(t,`@${e.scope}/`,Bt.SCOPE)}${Kt(t,e.name,Bt.NAME)}`:`${Kt(t,e.name,Bt.NAME)}`}function SP(t){if(t.startsWith(_w)){let e=SP(t.substring(t.indexOf("#")+1)),r=t.substring(_w.length,_w.length+Xet);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function PP(t,e){return`${Kt(t,SP(e),Bt.RANGE)}`}function Ln(t,e){return`${cs(t,e)}${Kt(t,"@",Bt.RANGE)}${PP(t,e.range)}`}function Kw(t,e){return`${Kt(t,SP(e),Bt.REFERENCE)}`}function kr(t,e){return`${cs(t,e)}${Kt(t,"@",Bt.REFERENCE)}${Kw(t,e.reference)}`}function fM(t){return`${nn(t)}@${SP(t.reference)}`}function nE(t){return Sa(t,[e=>nn(e),e=>e.range])}function Jw(t,e){return cs(t,e.locator)}function Mw(t,e,r){let o=xf(e)?qw(e):e;return r===null?`${Ln(t,o)} \u2192 ${wL(t).Cross}`:o.identHash===r.identHash?`${Ln(t,o)} \u2192 ${Kw(t,r.reference)}`:`${Ln(t,o)} \u2192 ${kr(t,r)}`}function BL(t,e,r){return r===null?`${kr(t,e)}`:`${kr(t,e)} (via ${PP(t,r.range)})`}function pM(t){return`node_modules/${nn(t)}`}function xP(t,e){return t.conditions?Zet(t.conditions,r=>{let[,o,a]=r.match(Fse),n=e[o];return n?n.includes(a):!0}):!0}var tE,Qse,kse,_w,Xet,Fse,Zet,Ks=dt(()=>{bt();tE=tt(Ie("querystring")),Qse=tt(ii()),kse=tt(Zz());Yl();e0();Gl();Ks();_w="virtual:",Xet=5,Fse=/(os|cpu|libc)=([a-z0-9_-]+)/,Zet=(0,kse.makeParser)(Fse)});var Nse,Lse=dt(()=>{Ks();Nse={hooks:{reduceDependency:(t,e,r,o,{resolver:a,resolveOptions:n})=>{for(let{pattern:u,reference:A}of e.topLevelWorkspace.manifest.resolutions){if(u.from&&(u.from.fullName!==nn(r)||e.configuration.normalizeLocator(us(Ys(u.from.fullName),u.from.description??r.reference)).locatorHash!==r.locatorHash)||u.descriptor.fullName!==nn(t)||e.configuration.normalizeDependency(mn(bf(u.descriptor.fullName),u.descriptor.description??t.range)).descriptorHash!==t.descriptorHash)continue;return a.bindDescriptor(e.configuration.normalizeDependency(mn(t,A)),e.topLevelWorkspace.anchoredLocator,n)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let o=Jw(t.configuration,r);await t.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>e.reportWarning(a,`${o}: ${n}`),reportError:(a,n)=>e.reportError(a,`${o}: ${n}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let o of r.errors)e.reportWarning(57,o.message)}}}});var Vw,oi,wd=dt(()=>{Vw=class{supportsDescriptor(e,r){return!!(e.range.startsWith(Vw.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(Vw.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[o.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.getWorkspaceByCwd(e.reference.slice(Vw.protocol.length));return{...e,version:o.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...o.manifest.dependencies,...o.manifest.devDependencies])),peerDependencies:new Map([...o.manifest.peerDependencies]),dependenciesMeta:o.manifest.dependenciesMeta,peerDependenciesMeta:o.manifest.peerDependenciesMeta,bin:o.manifest.bin}}},oi=Vw;oi.protocol="workspace:"});var Tr={};Yt(Tr,{SemVer:()=>Use.SemVer,clean:()=>Att,satisfiesWithPrereleases:()=>Bd,validRange:()=>jc});function Bd(t,e,r=!1){if(!t)return!1;let o=`${e}${r}`,a=Ose.get(o);if(typeof a>"u")try{a=new bP.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{Ose.set(o,a||null)}else if(a===null)return!1;let n;try{n=new bP.default.SemVer(t,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(u=>{for(let A of u)A.semver.prerelease&&(A.semver.prerelease=[]);return u.every(A=>A.test(n))}))}function jc(t){if(t.indexOf(":")!==-1)return null;let e=Mse.get(t);if(typeof e<"u")return e;try{e=new bP.default.Range(t)}catch{e=null}return Mse.set(t,e),e}function Att(t){let e=utt.exec(t);return e?e[1]:null}var bP,Use,Ose,Mse,utt,r0=dt(()=>{bP=tt(ii()),Use=tt(ii()),Ose=new Map;Mse=new Map;utt=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/});function _se(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function Hse(t){return t.charCodeAt(0)===65279?t.slice(1):t}function Vo(t){return t.replace(/\\/g,"/")}function QP(t,{yamlCompatibilityMode:e}){return e?hL(t):typeof t>"u"||typeof t=="boolean"?t:null}function qse(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let o=r%2===0?"":"!",a=e.slice(r);return`${o}${t}=${a}`}function hM(t,e){return e.length===1?qse(t,e[0]):`(${e.map(r=>qse(t,r)).join(" | ")})`}var jse,iE,Nt,sE=dt(()=>{bt();Ol();jse=tt(ii());wd();Gl();r0();Ks();iE=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new xn}={}){let o=V.join(e,"package.json");try{return await iE.fromFile(o,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(e,{baseFs:r}={}){let o=await iE.tryFind(e,{baseFs:r});if(o===null)throw new Error("Manifest not found");return o}static async fromFile(e,{baseFs:r=new xn}={}){let o=new iE;return await o.loadFile(e,{baseFs:r}),o}static fromText(e){let r=new iE;return r.loadFromText(e),r}loadFromText(e){let r;try{r=JSON.parse(Hse(e)||"{}")}catch(o){throw o.message+=` (when parsing ${e})`,o}this.load(r),this.indent=_se(e)}async loadFile(e,{baseFs:r=new xn}){let o=await r.readFilePromise(e,"utf8"),a;try{a=JSON.parse(Hse(o)||"{}")}catch(n){throw n.message+=` (when parsing ${e})`,n}this.load(a),this.indent=_se(o)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let o=[];if(this.name=null,typeof e.name=="string")try{this.name=Ys(e.name)}catch{o.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let n=[];this.os=n;for(let u of e.os)typeof u!="string"?o.push(new Error("Parsing failed for the 'os' field")):n.push(u)}else this.os=null;if(Array.isArray(e.cpu)){let n=[];this.cpu=n;for(let u of e.cpu)typeof u!="string"?o.push(new Error("Parsing failed for the 'cpu' field")):n.push(u)}else this.cpu=null;if(Array.isArray(e.libc)){let n=[];this.libc=n;for(let u of e.libc)typeof u!="string"?o.push(new Error("Parsing failed for the 'libc' field")):n.push(u)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=Vo(e.main):this.main=null,typeof e.module=="string"?this.module=Vo(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=Vo(e.browser);else{this.browser=new Map;for(let[n,u]of Object.entries(e.browser))this.browser.set(Vo(n),typeof u=="string"?Vo(u):u)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,Vo(e.bin)):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[n,u]of Object.entries(e.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}let A=Ys(n);this.bin.set(A.name,Vo(u))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[n,u]of Object.entries(e.scripts)){if(typeof u!="string"){o.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,u)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[n,u]of Object.entries(e.dependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[n,u]of Object.entries(e.devDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[n,u]of Object.entries(e.peerDependencies)){let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof u!="string"||!u.startsWith(oi.protocol)&&!jc(u))&&(o.push(new Error(`Invalid dependency range for '${n}'`)),u="*");let p=mn(A,u);this.peerDependencies.set(p.identHash,p)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&o.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let n of a){if(typeof n!="string"){o.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[n,u]of Object.entries(e.dependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}`));continue}let A=t0(n),p=this.ensureDependencyMeta(A),h=QP(u.built,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid built meta field for '${n}'`));continue}let C=QP(u.optional,{yamlCompatibilityMode:r});if(C===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}let w=QP(u.unplugged,{yamlCompatibilityMode:r});if(w===null){o.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:C,unplugged:w})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[n,u]of Object.entries(e.peerDependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}'`));continue}let A=t0(n),p=this.ensurePeerDependencyMeta(A),h=QP(u.optional,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[n,u]of Object.entries(e.resolutions)){if(typeof u!="string"){o.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:ID(n),reference:u})}catch(A){o.push(A);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let n of e.files){if(typeof n!="string"){o.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=Vo(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=Vo(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=Vo(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,u]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(Vo(n),typeof u=="string"?Vo(u):u)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,Vo(e.publishConfig.bin)]]):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[n,u]of Object.entries(e.publishConfig.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,Vo(u))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of e.publishConfig.executableFiles){if(typeof n!="string"){o.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(Vo(n))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let n of Object.keys(e.installConfig))n==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:o.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:o.push(new Error("Invalid selfReferences definition, must be a boolean value")):o.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[n,u]of Object.entries(e.optionalDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.dependencies.set(p.identHash,p);let h=mn(A,"unknown"),C=this.ensureDependencyMeta(h);Object.assign(C,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=o}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(hM("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(hM("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(hM("libc",this.libc)),e.length>0?e.join(" & "):null}ensureDependencyMeta(e){if(e.range!=="unknown"&&!jse.default.valid(e.range))throw new Error(`Invalid meta field range for '${xa(e)}'`);let r=nn(e),o=e.range!=="unknown"?e.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(o);return n||a.set(o,n={}),n}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${xa(e)}'`);let r=nn(e),o=this.peerDependenciesMeta.get(r);return o||this.peerDependenciesMeta.set(r,o={}),o}setRawField(e,r,{after:o=[]}={}){let a=new Set(o.filter(n=>Object.prototype.hasOwnProperty.call(this.raw,n)));if(a.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let n=this.raw,u=this.raw={},A=!1;for(let p of Object.keys(n))u[p]=n[p],A||(a.delete(p),a.size===0&&(u[e]=r,A=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=nn(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let n=this.browser;typeof n=="string"?e.browser=n:n instanceof Map&&(e.browser=Object.assign({},...Array.from(n.keys()).sort().map(u=>({[u]:n.get(u)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(n=>({[n]:this.bin.get(n)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:n})=>n)}:e.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let o=[],a=[];for(let n of this.dependencies.values()){let u=this.dependenciesMeta.get(nn(n)),A=!1;if(r&&u){let p=u.get(null);p&&p.optional&&(A=!0)}A?a.push(n):o.push(n)}o.length>0?e.dependencies=Object.assign({},...nE(o).map(n=>({[nn(n)]:n.range}))):delete e.dependencies,a.length>0?e.optionalDependencies=Object.assign({},...nE(a).map(n=>({[nn(n)]:n.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...nE(this.devDependencies.values()).map(n=>({[nn(n)]:n.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...nE(this.peerDependencies.values()).map(n=>({[nn(n)]:n.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[n,u]of Sa(this.dependenciesMeta.entries(),([A,p])=>A))for(let[A,p]of Sa(u.entries(),([h,C])=>h!==null?`0${h}`:"1")){let h=A!==null?xa(mn(Ys(n),A)):n,C={...p};r&&A===null&&delete C.optional,Object.keys(C).length!==0&&(e.dependenciesMeta[h]=C)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...Sa(this.peerDependenciesMeta.entries(),([n,u])=>n).map(([n,u])=>({[n]:u}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:u})=>({[wD(n)]:u}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){e.scripts??(e.scripts={});for(let n of Object.keys(e.scripts))this.scripts.has(n)||delete e.scripts[n];for(let[n,u]of this.scripts.entries())e.scripts[n]=u}else delete e.scripts;return e}},Nt=iE;Nt.fileName="package.json",Nt.allDependencies=["dependencies","devDependencies","peerDependencies"],Nt.hardDependencies=["dependencies","devDependencies"]});var Wse=U((mNt,Gse)=>{var ftt=ql(),ptt=function(){return ftt.Date.now()};Gse.exports=ptt});var Kse=U((yNt,Yse)=>{var htt=/\s/;function gtt(t){for(var e=t.length;e--&&htt.test(t.charAt(e)););return e}Yse.exports=gtt});var Vse=U((ENt,Jse)=>{var dtt=Kse(),mtt=/^\s+/;function ytt(t){return t&&t.slice(0,dtt(t)+1).replace(mtt,"")}Jse.exports=ytt});var oE=U((CNt,zse)=>{var Ett=ud(),Ctt=zu(),Itt="[object Symbol]";function wtt(t){return typeof t=="symbol"||Ctt(t)&&Ett(t)==Itt}zse.exports=wtt});var eoe=U((INt,$se)=>{var Btt=Vse(),Xse=il(),vtt=oE(),Zse=0/0,Dtt=/^[-+]0x[0-9a-f]+$/i,Stt=/^0b[01]+$/i,Ptt=/^0o[0-7]+$/i,xtt=parseInt;function btt(t){if(typeof t=="number")return t;if(vtt(t))return Zse;if(Xse(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Xse(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Btt(t);var r=Stt.test(t);return r||Ptt.test(t)?xtt(t.slice(2),r?2:8):Dtt.test(t)?Zse:+t}$se.exports=btt});var noe=U((wNt,roe)=>{var Qtt=il(),gM=Wse(),toe=eoe(),ktt="Expected a function",Ftt=Math.max,Rtt=Math.min;function Ttt(t,e,r){var o,a,n,u,A,p,h=0,C=!1,w=!1,v=!0;if(typeof t!="function")throw new TypeError(ktt);e=toe(e)||0,Qtt(r)&&(C=!!r.leading,w="maxWait"in r,n=w?Ftt(toe(r.maxWait)||0,e):n,v="trailing"in r?!!r.trailing:v);function b(he){var ve=o,ge=a;return o=a=void 0,h=he,u=t.apply(ge,ve),u}function E(he){return h=he,A=setTimeout(_,e),C?b(he):u}function R(he){var ve=he-p,ge=he-h,le=e-ve;return w?Rtt(le,n-ge):le}function L(he){var ve=he-p,ge=he-h;return p===void 0||ve>=e||ve<0||w&&ge>=n}function _(){var he=gM();if(L(he))return J(he);A=setTimeout(_,R(he))}function J(he){return A=void 0,v&&o?b(he):(o=a=void 0,u)}function re(){A!==void 0&&clearTimeout(A),h=0,o=p=a=A=void 0}function oe(){return A===void 0?u:J(gM())}function pe(){var he=gM(),ve=L(he);if(o=arguments,a=this,p=he,ve){if(A===void 0)return E(p);if(w)return clearTimeout(A),A=setTimeout(_,e),b(p)}return A===void 0&&(A=setTimeout(_,e)),u}return pe.cancel=re,pe.flush=oe,pe}roe.exports=Ttt});var dM=U((BNt,ioe)=>{var Ntt=noe(),Ltt=il(),Ott="Expected a function";function Mtt(t,e,r){var o=!0,a=!0;if(typeof t!="function")throw new TypeError(Ott);return Ltt(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),Ntt(t,e,{leading:o,maxWait:e,trailing:a})}ioe.exports=Mtt});function _tt(t){return typeof t.reportCode<"u"}var soe,ooe,aoe,Utt,Jt,Vs,Jl=dt(()=>{soe=tt(dM()),ooe=Ie("stream"),aoe=Ie("string_decoder"),Utt=15,Jt=class extends Error{constructor(r,o,a){super(o);this.reportExtra=a;this.reportCode=r}};Vs=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,o,a=new Promise(p=>{o=p}),n=p=>{let h=o;a=new Promise(C=>{o=C}),r=p,h()},u=(p=0)=>{n(r+1)},A=async function*(){for(;r<e;)await a,yield{progress:r/e}}();return{[Symbol.asyncIterator](){return A},hasProgress:!0,hasTitle:!1,set:n,tick:u}}static progressViaTitle(){let e,r,o=new Promise(u=>{r=u}),a=(0,soe.default)(u=>{let A=r;o=new Promise(p=>{r=p}),e=u,A()},1e3/Utt),n=async function*(){for(;;)await o,yield{title:e}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(e,r){let o=this.reportProgress(e);try{return await r(e)}finally{o.stop()}}startProgressSync(e,r){let o=this.reportProgress(e);try{return r(e)}finally{o.stop()}}reportInfoOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportWarningOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportErrorOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportExceptionOnce(e){_tt(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new ooe.PassThrough,o=new aoe.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` | 134 | `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var fZ=U((Skt,AZ)=>{"use strict";var u5e=IS(),{MAX_LENGTH:lZ,CHAR_BACKSLASH:IN,CHAR_BACKTICK:A5e,CHAR_COMMA:f5e,CHAR_DOT:p5e,CHAR_LEFT_PARENTHESES:h5e,CHAR_RIGHT_PARENTHESES:g5e,CHAR_LEFT_CURLY_BRACE:d5e,CHAR_RIGHT_CURLY_BRACE:m5e,CHAR_LEFT_SQUARE_BRACKET:cZ,CHAR_RIGHT_SQUARE_BRACKET:uZ,CHAR_DOUBLE_QUOTE:y5e,CHAR_SINGLE_QUOTE:C5e,CHAR_NO_BREAK_SPACE:E5e,CHAR_ZERO_WIDTH_NOBREAK_SPACE:I5e}=aZ(),w5e=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},o=typeof r.maxLength=="number"?Math.min(lZ,r.maxLength):lZ;if(t.length>o)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${o})`);let a={type:"root",input:t,nodes:[]},n=[a],u=a,A=a,p=0,h=t.length,E=0,w=0,v,b={},C=()=>t[E++],R=L=>{if(L.type==="text"&&A.type==="dot"&&(A.type="text"),A&&A.type==="text"&&L.type==="text"){A.value+=L.value;return}return u.nodes.push(L),L.parent=u,L.prev=A,A=L,L};for(R({type:"bos"});E<h;)if(u=n[n.length-1],v=C(),!(v===I5e||v===E5e)){if(v===IN){R({type:"text",value:(e.keepEscaping?v:"")+C()});continue}if(v===uZ){R({type:"text",value:"\\"+v});continue}if(v===cZ){p++;let L=!0,_;for(;E<h&&(_=C());){if(v+=_,_===cZ){p++;continue}if(_===IN){v+=C();continue}if(_===uZ&&(p--,p===0))break}R({type:"text",value:v});continue}if(v===h5e){u=R({type:"paren",nodes:[]}),n.push(u),R({type:"text",value:v});continue}if(v===g5e){if(u.type!=="paren"){R({type:"text",value:v});continue}u=n.pop(),R({type:"text",value:v}),u=n[n.length-1];continue}if(v===y5e||v===C5e||v===A5e){let L=v,_;for(e.keepQuotes!==!0&&(v="");E<h&&(_=C());){if(_===IN){v+=_+C();continue}if(_===L){e.keepQuotes===!0&&(v+=_);break}v+=_}R({type:"text",value:v});continue}if(v===d5e){w++;let _={type:"brace",open:!0,close:!1,dollar:A.value&&A.value.slice(-1)==="$"||u.dollar===!0,depth:w,commas:0,ranges:0,nodes:[]};u=R(_),n.push(u),R({type:"open",value:v});continue}if(v===m5e){if(u.type!=="brace"){R({type:"text",value:v});continue}let L="close";u=n.pop(),u.close=!0,R({type:L,value:v}),w--,u=n[n.length-1];continue}if(v===f5e&&w>0){if(u.ranges>0){u.ranges=0;let L=u.nodes.shift();u.nodes=[L,{type:"text",value:u5e(u)}]}R({type:"comma",value:v}),u.commas++;continue}if(v===p5e&&w>0&&u.commas===0){let L=u.nodes;if(w===0||L.length===0){R({type:"text",value:v});continue}if(A.type==="dot"){if(u.range=[],A.value+=v,A.type="range",u.nodes.length!==3&&u.nodes.length!==5){u.invalid=!0,u.ranges=0,A.type="text";continue}u.ranges++,u.args=[];continue}if(A.type==="range"){L.pop();let _=L[L.length-1];_.value+=A.value+v,A=_,u.ranges--;continue}R({type:"dot",value:v});continue}R({type:"text",value:v})}do if(u=n.pop(),u.type!=="root"){u.nodes.forEach(V=>{V.nodes||(V.type==="open"&&(V.isOpen=!0),V.type==="close"&&(V.isClose=!0),V.nodes||(V.type="text"),V.invalid=!0)});let L=n[n.length-1],_=L.nodes.indexOf(u);L.nodes.splice(_,1,...u.nodes)}while(n.length>0);return R({type:"eos"}),a};AZ.exports=w5e});var gZ=U((Pkt,hZ)=>{"use strict";var pZ=IS(),B5e=rZ(),v5e=sZ(),D5e=fZ(),il=(t,e={})=>{let r=[];if(Array.isArray(t))for(let o of t){let a=il.create(o,e);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(il.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};il.parse=(t,e={})=>D5e(t,e);il.stringify=(t,e={})=>pZ(typeof t=="string"?il.parse(t,e):t,e);il.compile=(t,e={})=>(typeof t=="string"&&(t=il.parse(t,e)),B5e(t,e));il.expand=(t,e={})=>{typeof t=="string"&&(t=il.parse(t,e));let r=v5e(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};il.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?il.compile(t,e):il.expand(t,e);hZ.exports=il});var Cw=U((xkt,EZ)=>{"use strict";var S5e=Ie("path"),Ju="\\\\/",dZ=`[^${Ju}]`,vf="\\.",P5e="\\+",x5e="\\?",BS="\\/",b5e="(?=.)",mZ="[^/]",wN=`(?:${BS}|$)`,yZ=`(?:^|${BS})`,BN=`${vf}{1,2}${wN}`,Q5e=`(?!${vf})`,k5e=`(?!${yZ}${BN})`,F5e=`(?!${vf}{0,1}${wN})`,R5e=`(?!${BN})`,T5e=`[^.${BS}]`,N5e=`${mZ}*?`,CZ={DOT_LITERAL:vf,PLUS_LITERAL:P5e,QMARK_LITERAL:x5e,SLASH_LITERAL:BS,ONE_CHAR:b5e,QMARK:mZ,END_ANCHOR:wN,DOTS_SLASH:BN,NO_DOT:Q5e,NO_DOTS:k5e,NO_DOT_SLASH:F5e,NO_DOTS_SLASH:R5e,QMARK_NO_DOT:T5e,STAR:N5e,START_ANCHOR:yZ},L5e={...CZ,SLASH_LITERAL:`[${Ju}]`,QMARK:dZ,STAR:`${dZ}*?`,DOTS_SLASH:`${vf}{1,2}(?:[${Ju}]|$)`,NO_DOT:`(?!${vf})`,NO_DOTS:`(?!(?:^|[${Ju}])${vf}{1,2}(?:[${Ju}]|$))`,NO_DOT_SLASH:`(?!${vf}{0,1}(?:[${Ju}]|$))`,NO_DOTS_SLASH:`(?!${vf}{1,2}(?:[${Ju}]|$))`,QMARK_NO_DOT:`[^.${Ju}]`,START_ANCHOR:`(?:^|[${Ju}])`,END_ANCHOR:`(?:[${Ju}]|$)`},O5e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};EZ.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:O5e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:S5e.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?L5e:CZ}}});var Ew=U(Sa=>{"use strict";var M5e=Ie("path"),U5e=process.platform==="win32",{REGEX_BACKSLASH:_5e,REGEX_REMOVE_BACKSLASH:H5e,REGEX_SPECIAL_CHARS:q5e,REGEX_SPECIAL_CHARS_GLOBAL:j5e}=Cw();Sa.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Sa.hasRegexChars=t=>q5e.test(t);Sa.isRegexChar=t=>t.length===1&&Sa.hasRegexChars(t);Sa.escapeRegex=t=>t.replace(j5e,"\\$1");Sa.toPosixSlashes=t=>t.replace(_5e,"/");Sa.removeBackslashes=t=>t.replace(H5e,e=>e==="\\"?"":e);Sa.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Sa.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:U5e===!0||M5e.sep==="\\";Sa.escapeLast=(t,e,r)=>{let o=t.lastIndexOf(e,r);return o===-1?t:t[o-1]==="\\"?Sa.escapeLast(t,e,o-1):`${t.slice(0,o)}\\${t.slice(o)}`};Sa.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Sa.wrapOutput=(t,e={},r={})=>{let o=r.contains?"":"^",a=r.contains?"":"$",n=`${o}(?:${t})${a}`;return e.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var xZ=U((Qkt,PZ)=>{"use strict";var IZ=Ew(),{CHAR_ASTERISK:vN,CHAR_AT:G5e,CHAR_BACKWARD_SLASH:Iw,CHAR_COMMA:W5e,CHAR_DOT:DN,CHAR_EXCLAMATION_MARK:SN,CHAR_FORWARD_SLASH:SZ,CHAR_LEFT_CURLY_BRACE:PN,CHAR_LEFT_PARENTHESES:xN,CHAR_LEFT_SQUARE_BRACKET:Y5e,CHAR_PLUS:K5e,CHAR_QUESTION_MARK:wZ,CHAR_RIGHT_CURLY_BRACE:V5e,CHAR_RIGHT_PARENTHESES:BZ,CHAR_RIGHT_SQUARE_BRACKET:J5e}=Cw(),vZ=t=>t===SZ||t===Iw,DZ=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},z5e=(t,e)=>{let r=e||{},o=t.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],u=[],A=[],p=t,h=-1,E=0,w=0,v=!1,b=!1,C=!1,R=!1,L=!1,_=!1,V=!1,re=!1,oe=!1,pe=!1,he=0,ve,ge,le={value:"",depth:0,isGlob:!1},Pe=()=>h>=o,g=()=>p.charCodeAt(h+1),De=()=>(ve=ge,p.charCodeAt(++h));for(;h<o;){ge=De();let me;if(ge===Iw){V=le.backslashes=!0,ge=De(),ge===PN&&(_=!0);continue}if(_===!0||ge===PN){for(he++;Pe()!==!0&&(ge=De());){if(ge===Iw){V=le.backslashes=!0,De();continue}if(ge===PN){he++;continue}if(_!==!0&&ge===DN&&(ge=De())===DN){if(v=le.isBrace=!0,C=le.isGlob=!0,pe=!0,a===!0)continue;break}if(_!==!0&&ge===W5e){if(v=le.isBrace=!0,C=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===V5e&&(he--,he===0)){_=!1,v=le.isBrace=!0,pe=!0;break}}if(a===!0)continue;break}if(ge===SZ){if(n.push(h),u.push(le),le={value:"",depth:0,isGlob:!1},pe===!0)continue;if(ve===DN&&h===E+1){E+=2;continue}w=h+1;continue}if(r.noext!==!0&&(ge===K5e||ge===G5e||ge===vN||ge===wZ||ge===SN)===!0&&g()===xN){if(C=le.isGlob=!0,R=le.isExtglob=!0,pe=!0,ge===SN&&h===E&&(oe=!0),a===!0){for(;Pe()!==!0&&(ge=De());){if(ge===Iw){V=le.backslashes=!0,ge=De();continue}if(ge===BZ){C=le.isGlob=!0,pe=!0;break}}continue}break}if(ge===vN){if(ve===vN&&(L=le.isGlobstar=!0),C=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===wZ){if(C=le.isGlob=!0,pe=!0,a===!0)continue;break}if(ge===Y5e){for(;Pe()!==!0&&(me=De());){if(me===Iw){V=le.backslashes=!0,De();continue}if(me===J5e){b=le.isBracket=!0,C=le.isGlob=!0,pe=!0;break}}if(a===!0)continue;break}if(r.nonegate!==!0&&ge===SN&&h===E){re=le.negated=!0,E++;continue}if(r.noparen!==!0&&ge===xN){if(C=le.isGlob=!0,a===!0){for(;Pe()!==!0&&(ge=De());){if(ge===xN){V=le.backslashes=!0,ge=De();continue}if(ge===BZ){pe=!0;break}}continue}break}if(C===!0){if(pe=!0,a===!0)continue;break}}r.noext===!0&&(R=!1,C=!1);let Ce=p,de="",ne="";E>0&&(de=p.slice(0,E),p=p.slice(E),w-=E),Ce&&C===!0&&w>0?(Ce=p.slice(0,w),ne=p.slice(w)):C===!0?(Ce="",ne=p):Ce=p,Ce&&Ce!==""&&Ce!=="/"&&Ce!==p&&vZ(Ce.charCodeAt(Ce.length-1))&&(Ce=Ce.slice(0,-1)),r.unescape===!0&&(ne&&(ne=IZ.removeBackslashes(ne)),Ce&&V===!0&&(Ce=IZ.removeBackslashes(Ce)));let Z={prefix:de,input:t,start:E,base:Ce,glob:ne,isBrace:v,isBracket:b,isGlob:C,isExtglob:R,isGlobstar:L,negated:re,negatedExtglob:oe};if(r.tokens===!0&&(Z.maxDepth=0,vZ(ge)||u.push(le),Z.tokens=u),r.parts===!0||r.tokens===!0){let me;for(let be=0;be<n.length;be++){let ut=me?me+1:E,H=n[be],yt=t.slice(ut,H);r.tokens&&(be===0&&E!==0?(u[be].isPrefix=!0,u[be].value=de):u[be].value=yt,DZ(u[be]),Z.maxDepth+=u[be].depth),(be!==0||yt!=="")&&A.push(yt),me=H}if(me&&me+1<t.length){let be=t.slice(me+1);A.push(be),r.tokens&&(u[u.length-1].value=be,DZ(u[u.length-1]),Z.maxDepth+=u[u.length-1].depth)}Z.slashes=n,Z.parts=A}return Z};PZ.exports=z5e});var kZ=U((kkt,QZ)=>{"use strict";var vS=Cw(),sl=Ew(),{MAX_LENGTH:DS,POSIX_REGEX_SOURCE:X5e,REGEX_NON_SPECIAL_CHARS:Z5e,REGEX_SPECIAL_CHARS_BACKREF:$5e,REPLACEMENTS:bZ}=vS,e7e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(a=>sl.escapeRegex(a)).join("..")}return r},Ny=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,bN=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=bZ[t]||t;let r={...e},o=typeof r.maxLength=="number"?Math.min(DS,r.maxLength):DS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);let n={type:"bos",value:"",output:r.prepend||""},u=[n],A=r.capture?"":"?:",p=sl.isWindows(e),h=vS.globChars(p),E=vS.extglobChars(h),{DOT_LITERAL:w,PLUS_LITERAL:v,SLASH_LITERAL:b,ONE_CHAR:C,DOTS_SLASH:R,NO_DOT:L,NO_DOT_SLASH:_,NO_DOTS_SLASH:V,QMARK:re,QMARK_NO_DOT:oe,STAR:pe,START_ANCHOR:he}=h,ve=x=>`(${A}(?:(?!${he}${x.dot?R:w}).)*?)`,ge=r.dot?"":L,le=r.dot?re:oe,Pe=r.bash===!0?ve(r):pe;r.capture&&(Pe=`(${Pe})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:u};t=sl.removePrefix(t,g),a=t.length;let De=[],Ce=[],de=[],ne=n,Z,me=()=>g.index===a-1,be=g.peek=(x=1)=>t[g.index+x],ut=g.advance=()=>t[++g.index]||"",H=()=>t.slice(g.index+1),yt=(x="",I=0)=>{g.consumed+=x,g.index+=I},Me=x=>{g.output+=x.output!=null?x.output:x.value,yt(x.value)},Te=()=>{let x=1;for(;be()==="!"&&(be(2)!=="("||be(3)==="?");)ut(),g.start++,x++;return x%2===0?!1:(g.negated=!0,g.start++,!0)},Qe=x=>{g[x]++,de.push(x)},_e=x=>{g[x]--,de.pop()},qe=x=>{if(ne.type==="globstar"){let I=g.braces>0&&(x.type==="comma"||x.type==="brace"),P=x.extglob===!0||De.length&&(x.type==="pipe"||x.type==="paren");x.type!=="slash"&&x.type!=="paren"&&!I&&!P&&(g.output=g.output.slice(0,-ne.output.length),ne.type="star",ne.value="*",ne.output=Pe,g.output+=ne.output)}if(De.length&&x.type!=="paren"&&(De[De.length-1].inner+=x.value),(x.value||x.output)&&Me(x),ne&&ne.type==="text"&&x.type==="text"){ne.value+=x.value,ne.output=(ne.output||"")+x.value;return}x.prev=ne,u.push(x),ne=x},At=(x,I)=>{let P={...E[I],conditions:1,inner:""};P.prev=ne,P.parens=g.parens,P.output=g.output;let y=(r.capture?"(":"")+P.open;Qe("parens"),qe({type:x,value:I,output:g.output?"":C}),qe({type:"paren",extglob:!0,value:ut(),output:y}),De.push(P)},Oe=x=>{let I=x.close+(r.capture?")":""),P;if(x.type==="negate"){let y=Pe;if(x.inner&&x.inner.length>1&&x.inner.includes("/")&&(y=ve(r)),(y!==Pe||me()||/^\)+$/.test(H()))&&(I=x.close=`)$))${y}`),x.inner.includes("*")&&(P=H())&&/^\.[^\\/.]+$/.test(P)){let F=bN(P,{...e,fastpaths:!1}).output;I=x.close=`)${F})${y})`}x.prev.type==="bos"&&(g.negatedExtglob=!0)}qe({type:"paren",extglob:!0,value:Z,output:I}),_e("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let x=!1,I=t.replace($5e,(P,y,F,J,X,$)=>J==="\\"?(x=!0,P):J==="?"?y?y+J+(X?re.repeat(X.length):""):$===0?le+(X?re.repeat(X.length):""):re.repeat(F.length):J==="."?w.repeat(F.length):J==="*"?y?y+J+(X?Pe:""):Pe:y?P:`\\${P}`);return x===!0&&(r.unescape===!0?I=I.replace(/\\/g,""):I=I.replace(/\\+/g,P=>P.length%2===0?"\\\\":P?"\\":"")),I===t&&r.contains===!0?(g.output=t,g):(g.output=sl.wrapOutput(I,g,e),g)}for(;!me();){if(Z=ut(),Z==="\0")continue;if(Z==="\\"){let P=be();if(P==="/"&&r.bash!==!0||P==="."||P===";")continue;if(!P){Z+="\\",qe({type:"text",value:Z});continue}let y=/^\\+/.exec(H()),F=0;if(y&&y[0].length>2&&(F=y[0].length,g.index+=F,F%2!==0&&(Z+="\\")),r.unescape===!0?Z=ut():Z+=ut(),g.brackets===0){qe({type:"text",value:Z});continue}}if(g.brackets>0&&(Z!=="]"||ne.value==="["||ne.value==="[^")){if(r.posix!==!1&&Z===":"){let P=ne.value.slice(1);if(P.includes("[")&&(ne.posix=!0,P.includes(":"))){let y=ne.value.lastIndexOf("["),F=ne.value.slice(0,y),J=ne.value.slice(y+2),X=X5e[J];if(X){ne.value=F+X,g.backtrack=!0,ut(),!n.output&&u.indexOf(ne)===1&&(n.output=C);continue}}}(Z==="["&&be()!==":"||Z==="-"&&be()==="]")&&(Z=`\\${Z}`),Z==="]"&&(ne.value==="["||ne.value==="[^")&&(Z=`\\${Z}`),r.posix===!0&&Z==="!"&&ne.value==="["&&(Z="^"),ne.value+=Z,Me({value:Z});continue}if(g.quotes===1&&Z!=='"'){Z=sl.escapeRegex(Z),ne.value+=Z,Me({value:Z});continue}if(Z==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&qe({type:"text",value:Z});continue}if(Z==="("){Qe("parens"),qe({type:"paren",value:Z});continue}if(Z===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Ny("opening","("));let P=De[De.length-1];if(P&&g.parens===P.parens+1){Oe(De.pop());continue}qe({type:"paren",value:Z,output:g.parens?")":"\\)"}),_e("parens");continue}if(Z==="["){if(r.nobracket===!0||!H().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Ny("closing","]"));Z=`\\${Z}`}else Qe("brackets");qe({type:"bracket",value:Z});continue}if(Z==="]"){if(r.nobracket===!0||ne&&ne.type==="bracket"&&ne.value.length===1){qe({type:"text",value:Z,output:`\\${Z}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Ny("opening","["));qe({type:"text",value:Z,output:`\\${Z}`});continue}_e("brackets");let P=ne.value.slice(1);if(ne.posix!==!0&&P[0]==="^"&&!P.includes("/")&&(Z=`/${Z}`),ne.value+=Z,Me({value:Z}),r.literalBrackets===!1||sl.hasRegexChars(P))continue;let y=sl.escapeRegex(ne.value);if(g.output=g.output.slice(0,-ne.value.length),r.literalBrackets===!0){g.output+=y,ne.value=y;continue}ne.value=`(${A}${y}|${ne.value})`,g.output+=ne.value;continue}if(Z==="{"&&r.nobrace!==!0){Qe("braces");let P={type:"brace",value:Z,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};Ce.push(P),qe(P);continue}if(Z==="}"){let P=Ce[Ce.length-1];if(r.nobrace===!0||!P){qe({type:"text",value:Z,output:Z});continue}let y=")";if(P.dots===!0){let F=u.slice(),J=[];for(let X=F.length-1;X>=0&&(u.pop(),F[X].type!=="brace");X--)F[X].type!=="dots"&&J.unshift(F[X].value);y=e7e(J,r),g.backtrack=!0}if(P.comma!==!0&&P.dots!==!0){let F=g.output.slice(0,P.outputIndex),J=g.tokens.slice(P.tokensIndex);P.value=P.output="\\{",Z=y="\\}",g.output=F;for(let X of J)g.output+=X.output||X.value}qe({type:"brace",value:Z,output:y}),_e("braces"),Ce.pop();continue}if(Z==="|"){De.length>0&&De[De.length-1].conditions++,qe({type:"text",value:Z});continue}if(Z===","){let P=Z,y=Ce[Ce.length-1];y&&de[de.length-1]==="braces"&&(y.comma=!0,P="|"),qe({type:"comma",value:Z,output:P});continue}if(Z==="/"){if(ne.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",u.pop(),ne=n;continue}qe({type:"slash",value:Z,output:b});continue}if(Z==="."){if(g.braces>0&&ne.type==="dot"){ne.value==="."&&(ne.output=w);let P=Ce[Ce.length-1];ne.type="dots",ne.output+=Z,ne.value+=Z,P.dots=!0;continue}if(g.braces+g.parens===0&&ne.type!=="bos"&&ne.type!=="slash"){qe({type:"text",value:Z,output:w});continue}qe({type:"dot",value:Z,output:w});continue}if(Z==="?"){if(!(ne&&ne.value==="(")&&r.noextglob!==!0&&be()==="("&&be(2)!=="?"){At("qmark",Z);continue}if(ne&&ne.type==="paren"){let y=be(),F=Z;if(y==="<"&&!sl.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ne.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(H()))&&(F=`\\${Z}`),qe({type:"text",value:Z,output:F});continue}if(r.dot!==!0&&(ne.type==="slash"||ne.type==="bos")){qe({type:"qmark",value:Z,output:oe});continue}qe({type:"qmark",value:Z,output:re});continue}if(Z==="!"){if(r.noextglob!==!0&&be()==="("&&(be(2)!=="?"||!/[!=<:]/.test(be(3)))){At("negate",Z);continue}if(r.nonegate!==!0&&g.index===0){Te();continue}}if(Z==="+"){if(r.noextglob!==!0&&be()==="("&&be(2)!=="?"){At("plus",Z);continue}if(ne&&ne.value==="("||r.regex===!1){qe({type:"plus",value:Z,output:v});continue}if(ne&&(ne.type==="bracket"||ne.type==="paren"||ne.type==="brace")||g.parens>0){qe({type:"plus",value:Z});continue}qe({type:"plus",value:v});continue}if(Z==="@"){if(r.noextglob!==!0&&be()==="("&&be(2)!=="?"){qe({type:"at",extglob:!0,value:Z,output:""});continue}qe({type:"text",value:Z});continue}if(Z!=="*"){(Z==="$"||Z==="^")&&(Z=`\\${Z}`);let P=Z5e.exec(H());P&&(Z+=P[0],g.index+=P[0].length),qe({type:"text",value:Z});continue}if(ne&&(ne.type==="globstar"||ne.star===!0)){ne.type="star",ne.star=!0,ne.value+=Z,ne.output=Pe,g.backtrack=!0,g.globstar=!0,yt(Z);continue}let x=H();if(r.noextglob!==!0&&/^\([^?]/.test(x)){At("star",Z);continue}if(ne.type==="star"){if(r.noglobstar===!0){yt(Z);continue}let P=ne.prev,y=P.prev,F=P.type==="slash"||P.type==="bos",J=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!F||x[0]&&x[0]!=="/")){qe({type:"star",value:Z,output:""});continue}let X=g.braces>0&&(P.type==="comma"||P.type==="brace"),$=De.length&&(P.type==="pipe"||P.type==="paren");if(!F&&P.type!=="paren"&&!X&&!$){qe({type:"star",value:Z,output:""});continue}for(;x.slice(0,3)==="/**";){let ie=t[g.index+4];if(ie&&ie!=="/")break;x=x.slice(3),yt("/**",3)}if(P.type==="bos"&&me()){ne.type="globstar",ne.value+=Z,ne.output=ve(r),g.output=ne.output,g.globstar=!0,yt(Z);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&!J&&me()){g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=ve(r)+(r.strictSlashes?")":"|$)"),ne.value+=Z,g.globstar=!0,g.output+=P.output+ne.output,yt(Z);continue}if(P.type==="slash"&&P.prev.type!=="bos"&&x[0]==="/"){let ie=x[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(P.output+ne.output).length),P.output=`(?:${P.output}`,ne.type="globstar",ne.output=`${ve(r)}${b}|${b}${ie})`,ne.value+=Z,g.output+=P.output+ne.output,g.globstar=!0,yt(Z+ut()),qe({type:"slash",value:"/",output:""});continue}if(P.type==="bos"&&x[0]==="/"){ne.type="globstar",ne.value+=Z,ne.output=`(?:^|${b}|${ve(r)}${b})`,g.output=ne.output,g.globstar=!0,yt(Z+ut()),qe({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-ne.output.length),ne.type="globstar",ne.output=ve(r),ne.value+=Z,g.output+=ne.output,g.globstar=!0,yt(Z);continue}let I={type:"star",value:Z,output:Pe};if(r.bash===!0){I.output=".*?",(ne.type==="bos"||ne.type==="slash")&&(I.output=ge+I.output),qe(I);continue}if(ne&&(ne.type==="bracket"||ne.type==="paren")&&r.regex===!0){I.output=Z,qe(I);continue}(g.index===g.start||ne.type==="slash"||ne.type==="dot")&&(ne.type==="dot"?(g.output+=_,ne.output+=_):r.dot===!0?(g.output+=V,ne.output+=V):(g.output+=ge,ne.output+=ge),be()!=="*"&&(g.output+=C,ne.output+=C)),qe(I)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ny("closing","]"));g.output=sl.escapeLast(g.output,"["),_e("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ny("closing",")"));g.output=sl.escapeLast(g.output,"("),_e("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ny("closing","}"));g.output=sl.escapeLast(g.output,"{"),_e("braces")}if(r.strictSlashes!==!0&&(ne.type==="star"||ne.type==="bracket")&&qe({type:"maybe_slash",value:"",output:`${b}?`}),g.backtrack===!0){g.output="";for(let x of g.tokens)g.output+=x.output!=null?x.output:x.value,x.suffix&&(g.output+=x.suffix)}return g};bN.fastpaths=(t,e)=>{let r={...e},o=typeof r.maxLength=="number"?Math.min(DS,r.maxLength):DS,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);t=bZ[t]||t;let n=sl.isWindows(e),{DOT_LITERAL:u,SLASH_LITERAL:A,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:E,NO_DOTS:w,NO_DOTS_SLASH:v,STAR:b,START_ANCHOR:C}=vS.globChars(n),R=r.dot?w:E,L=r.dot?v:E,_=r.capture?"":"?:",V={negated:!1,prefix:""},re=r.bash===!0?".*?":b;r.capture&&(re=`(${re})`);let oe=ge=>ge.noglobstar===!0?re:`(${_}(?:(?!${C}${ge.dot?h:u}).)*?)`,pe=ge=>{switch(ge){case"*":return`${R}${p}${re}`;case".*":return`${u}${p}${re}`;case"*.*":return`${R}${re}${u}${p}${re}`;case"*/*":return`${R}${re}${A}${p}${L}${re}`;case"**":return R+oe(r);case"**/*":return`(?:${R}${oe(r)}${A})?${L}${p}${re}`;case"**/*.*":return`(?:${R}${oe(r)}${A})?${L}${re}${u}${p}${re}`;case"**/.*":return`(?:${R}${oe(r)}${A})?${u}${p}${re}`;default:{let le=/^(.*?)\.(\w+)$/.exec(ge);if(!le)return;let Pe=pe(le[1]);return Pe?Pe+u+le[2]:void 0}}},he=sl.removePrefix(t,V),ve=pe(he);return ve&&r.strictSlashes!==!0&&(ve+=`${A}?`),ve};QZ.exports=bN});var RZ=U((Fkt,FZ)=>{"use strict";var t7e=Ie("path"),r7e=xZ(),QN=kZ(),kN=Ew(),n7e=Cw(),i7e=t=>t&&typeof t=="object"&&!Array.isArray(t),Oi=(t,e,r=!1)=>{if(Array.isArray(t)){let E=t.map(v=>Oi(v,e,r));return v=>{for(let b of E){let C=b(v);if(C)return C}return!1}}let o=i7e(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let a=e||{},n=kN.isWindows(e),u=o?Oi.compileRe(t,e):Oi.makeRe(t,e,!1,!0),A=u.state;delete u.state;let p=()=>!1;if(a.ignore){let E={...e,ignore:null,onMatch:null,onResult:null};p=Oi(a.ignore,E,r)}let h=(E,w=!1)=>{let{isMatch:v,match:b,output:C}=Oi.test(E,u,e,{glob:t,posix:n}),R={glob:t,state:A,regex:u,posix:n,input:E,output:C,match:b,isMatch:v};return typeof a.onResult=="function"&&a.onResult(R),v===!1?(R.isMatch=!1,w?R:!1):p(E)?(typeof a.onIgnore=="function"&&a.onIgnore(R),R.isMatch=!1,w?R:!1):(typeof a.onMatch=="function"&&a.onMatch(R),w?R:!0)};return r&&(h.state=A),h};Oi.test=(t,e,r,{glob:o,posix:a}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let n=r||{},u=n.format||(a?kN.toPosixSlashes:null),A=t===o,p=A&&u?u(t):t;return A===!1&&(p=u?u(t):t,A=p===o),(A===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?A=Oi.matchBase(t,e,r,a):A=e.exec(p)),{isMatch:Boolean(A),match:A,output:p}};Oi.matchBase=(t,e,r,o=kN.isWindows(r))=>(e instanceof RegExp?e:Oi.makeRe(e,r)).test(t7e.basename(t));Oi.isMatch=(t,e,r)=>Oi(e,r)(t);Oi.parse=(t,e)=>Array.isArray(t)?t.map(r=>Oi.parse(r,e)):QN(t,{...e,fastpaths:!1});Oi.scan=(t,e)=>r7e(t,e);Oi.compileRe=(t,e,r=!1,o=!1)=>{if(r===!0)return t.output;let a=e||{},n=a.contains?"":"^",u=a.contains?"":"$",A=`${n}(?:${t.output})${u}`;t&&t.negated===!0&&(A=`^(?!${A}).*$`);let p=Oi.toRegex(A,e);return o===!0&&(p.state=t),p};Oi.makeRe=(t,e={},r=!1,o=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a.output=QN.fastpaths(t,e)),a.output||(a=QN(t,e)),Oi.compileRe(a,e,r,o)};Oi.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Oi.constants=n7e;FZ.exports=Oi});var NZ=U((Rkt,TZ)=>{"use strict";TZ.exports=RZ()});var Jo=U((Tkt,UZ)=>{"use strict";var OZ=Ie("util"),MZ=gZ(),zu=NZ(),FN=Ew(),LZ=t=>t===""||t==="./",hi=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let o=new Set,a=new Set,n=new Set,u=0,A=E=>{n.add(E.output),r&&r.onResult&&r.onResult(E)};for(let E=0;E<e.length;E++){let w=zu(String(e[E]),{...r,onResult:A},!0),v=w.state.negated||w.state.negatedExtglob;v&&u++;for(let b of t){let C=w(b,!0);!(v?!C.isMatch:C.isMatch)||(v?o.add(C.output):(o.delete(C.output),a.add(C.output)))}}let h=(u===e.length?[...n]:[...a]).filter(E=>!o.has(E));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(E=>E.replace(/\\/g,"")):e}return h};hi.match=hi;hi.matcher=(t,e)=>zu(t,e);hi.isMatch=(t,e,r)=>zu(e,r)(t);hi.any=hi.isMatch;hi.not=(t,e,r={})=>{e=[].concat(e).map(String);let o=new Set,a=[],n=A=>{r.onResult&&r.onResult(A),a.push(A.output)},u=new Set(hi(t,e,{...r,onResult:n}));for(let A of a)u.has(A)||o.add(A);return[...o]};hi.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${OZ.inspect(t)}"`);if(Array.isArray(e))return e.some(o=>hi.contains(t,o,r));if(typeof e=="string"){if(LZ(t)||LZ(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return hi.isMatch(t,e,{...r,contains:!0})};hi.matchKeys=(t,e,r)=>{if(!FN.isObject(t))throw new TypeError("Expected the first argument to be an object");let o=hi(Object.keys(t),e,r),a={};for(let n of o)a[n]=t[n];return a};hi.some=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=zu(String(a),r);if(o.some(u=>n(u)))return!0}return!1};hi.every=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=zu(String(a),r);if(!o.every(u=>n(u)))return!1}return!0};hi.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${OZ.inspect(t)}"`);return[].concat(e).every(o=>zu(o,r)(t))};hi.capture=(t,e,r)=>{let o=FN.isWindows(r),n=zu.makeRe(String(t),{...r,capture:!0}).exec(o?FN.toPosixSlashes(e):e);if(n)return n.slice(1).map(u=>u===void 0?"":u)};hi.makeRe=(...t)=>zu.makeRe(...t);hi.scan=(...t)=>zu.scan(...t);hi.parse=(t,e)=>{let r=[];for(let o of[].concat(t||[]))for(let a of MZ(String(o),e))r.push(zu.parse(a,e));return r};hi.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:MZ(t,e)};hi.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return hi.braces(t,{...e,expand:!0})};UZ.exports=hi});var HZ=U((Nkt,_Z)=>{"use strict";_Z.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var SS=U((Lkt,qZ)=>{"use strict";var s7e=HZ();qZ.exports=t=>typeof t=="string"?t.replace(s7e(),""):t});var GZ=U((Okt,jZ)=>{function o7e(){this.__data__=[],this.size=0}jZ.exports=o7e});var Ly=U((Mkt,WZ)=>{function a7e(t,e){return t===e||t!==t&&e!==e}WZ.exports=a7e});var ww=U((Ukt,YZ)=>{var l7e=Ly();function c7e(t,e){for(var r=t.length;r--;)if(l7e(t[r][0],e))return r;return-1}YZ.exports=c7e});var VZ=U((_kt,KZ)=>{var u7e=ww(),A7e=Array.prototype,f7e=A7e.splice;function p7e(t){var e=this.__data__,r=u7e(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():f7e.call(e,r,1),--this.size,!0}KZ.exports=p7e});var zZ=U((Hkt,JZ)=>{var h7e=ww();function g7e(t){var e=this.__data__,r=h7e(e,t);return r<0?void 0:e[r][1]}JZ.exports=g7e});var ZZ=U((qkt,XZ)=>{var d7e=ww();function m7e(t){return d7e(this.__data__,t)>-1}XZ.exports=m7e});var e$=U((jkt,$Z)=>{var y7e=ww();function C7e(t,e){var r=this.__data__,o=y7e(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}$Z.exports=C7e});var Bw=U((Gkt,t$)=>{var E7e=GZ(),I7e=VZ(),w7e=zZ(),B7e=ZZ(),v7e=e$();function Oy(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Oy.prototype.clear=E7e;Oy.prototype.delete=I7e;Oy.prototype.get=w7e;Oy.prototype.has=B7e;Oy.prototype.set=v7e;t$.exports=Oy});var n$=U((Wkt,r$)=>{var D7e=Bw();function S7e(){this.__data__=new D7e,this.size=0}r$.exports=S7e});var s$=U((Ykt,i$)=>{function P7e(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}i$.exports=P7e});var a$=U((Kkt,o$)=>{function x7e(t){return this.__data__.get(t)}o$.exports=x7e});var c$=U((Vkt,l$)=>{function b7e(t){return this.__data__.has(t)}l$.exports=b7e});var RN=U((Jkt,u$)=>{var Q7e=typeof global=="object"&&global&&global.Object===Object&&global;u$.exports=Q7e});var Wl=U((zkt,A$)=>{var k7e=RN(),F7e=typeof self=="object"&&self&&self.Object===Object&&self,R7e=k7e||F7e||Function("return this")();A$.exports=R7e});var fd=U((Xkt,f$)=>{var T7e=Wl(),N7e=T7e.Symbol;f$.exports=N7e});var d$=U((Zkt,g$)=>{var p$=fd(),h$=Object.prototype,L7e=h$.hasOwnProperty,O7e=h$.toString,vw=p$?p$.toStringTag:void 0;function M7e(t){var e=L7e.call(t,vw),r=t[vw];try{t[vw]=void 0;var o=!0}catch{}var a=O7e.call(t);return o&&(e?t[vw]=r:delete t[vw]),a}g$.exports=M7e});var y$=U(($kt,m$)=>{var U7e=Object.prototype,_7e=U7e.toString;function H7e(t){return _7e.call(t)}m$.exports=H7e});var pd=U((eFt,I$)=>{var C$=fd(),q7e=d$(),j7e=y$(),G7e="[object Null]",W7e="[object Undefined]",E$=C$?C$.toStringTag:void 0;function Y7e(t){return t==null?t===void 0?W7e:G7e:E$&&E$ in Object(t)?q7e(t):j7e(t)}I$.exports=Y7e});var ol=U((tFt,w$)=>{function K7e(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}w$.exports=K7e});var PS=U((rFt,B$)=>{var V7e=pd(),J7e=ol(),z7e="[object AsyncFunction]",X7e="[object Function]",Z7e="[object GeneratorFunction]",$7e="[object Proxy]";function eWe(t){if(!J7e(t))return!1;var e=V7e(t);return e==X7e||e==Z7e||e==z7e||e==$7e}B$.exports=eWe});var D$=U((nFt,v$)=>{var tWe=Wl(),rWe=tWe["__core-js_shared__"];v$.exports=rWe});var x$=U((iFt,P$)=>{var TN=D$(),S$=function(){var t=/[^.]+$/.exec(TN&&TN.keys&&TN.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function nWe(t){return!!S$&&S$ in t}P$.exports=nWe});var NN=U((sFt,b$)=>{var iWe=Function.prototype,sWe=iWe.toString;function oWe(t){if(t!=null){try{return sWe.call(t)}catch{}try{return t+""}catch{}}return""}b$.exports=oWe});var k$=U((oFt,Q$)=>{var aWe=PS(),lWe=x$(),cWe=ol(),uWe=NN(),AWe=/[\\^$.*+?()[\]{}|]/g,fWe=/^\[object .+?Constructor\]$/,pWe=Function.prototype,hWe=Object.prototype,gWe=pWe.toString,dWe=hWe.hasOwnProperty,mWe=RegExp("^"+gWe.call(dWe).replace(AWe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function yWe(t){if(!cWe(t)||lWe(t))return!1;var e=aWe(t)?mWe:fWe;return e.test(uWe(t))}Q$.exports=yWe});var R$=U((aFt,F$)=>{function CWe(t,e){return t==null?void 0:t[e]}F$.exports=CWe});var Kp=U((lFt,T$)=>{var EWe=k$(),IWe=R$();function wWe(t,e){var r=IWe(t,e);return EWe(r)?r:void 0}T$.exports=wWe});var xS=U((cFt,N$)=>{var BWe=Kp(),vWe=Wl(),DWe=BWe(vWe,"Map");N$.exports=DWe});var Dw=U((uFt,L$)=>{var SWe=Kp(),PWe=SWe(Object,"create");L$.exports=PWe});var U$=U((AFt,M$)=>{var O$=Dw();function xWe(){this.__data__=O$?O$(null):{},this.size=0}M$.exports=xWe});var H$=U((fFt,_$)=>{function bWe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}_$.exports=bWe});var j$=U((pFt,q$)=>{var QWe=Dw(),kWe="__lodash_hash_undefined__",FWe=Object.prototype,RWe=FWe.hasOwnProperty;function TWe(t){var e=this.__data__;if(QWe){var r=e[t];return r===kWe?void 0:r}return RWe.call(e,t)?e[t]:void 0}q$.exports=TWe});var W$=U((hFt,G$)=>{var NWe=Dw(),LWe=Object.prototype,OWe=LWe.hasOwnProperty;function MWe(t){var e=this.__data__;return NWe?e[t]!==void 0:OWe.call(e,t)}G$.exports=MWe});var K$=U((gFt,Y$)=>{var UWe=Dw(),_We="__lodash_hash_undefined__";function HWe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=UWe&&e===void 0?_We:e,this}Y$.exports=HWe});var J$=U((dFt,V$)=>{var qWe=U$(),jWe=H$(),GWe=j$(),WWe=W$(),YWe=K$();function My(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}My.prototype.clear=qWe;My.prototype.delete=jWe;My.prototype.get=GWe;My.prototype.has=WWe;My.prototype.set=YWe;V$.exports=My});var Z$=U((mFt,X$)=>{var z$=J$(),KWe=Bw(),VWe=xS();function JWe(){this.size=0,this.__data__={hash:new z$,map:new(VWe||KWe),string:new z$}}X$.exports=JWe});var eee=U((yFt,$$)=>{function zWe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}$$.exports=zWe});var Sw=U((CFt,tee)=>{var XWe=eee();function ZWe(t,e){var r=t.__data__;return XWe(e)?r[typeof e=="string"?"string":"hash"]:r.map}tee.exports=ZWe});var nee=U((EFt,ree)=>{var $We=Sw();function eYe(t){var e=$We(this,t).delete(t);return this.size-=e?1:0,e}ree.exports=eYe});var see=U((IFt,iee)=>{var tYe=Sw();function rYe(t){return tYe(this,t).get(t)}iee.exports=rYe});var aee=U((wFt,oee)=>{var nYe=Sw();function iYe(t){return nYe(this,t).has(t)}oee.exports=iYe});var cee=U((BFt,lee)=>{var sYe=Sw();function oYe(t,e){var r=sYe(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}lee.exports=oYe});var bS=U((vFt,uee)=>{var aYe=Z$(),lYe=nee(),cYe=see(),uYe=aee(),AYe=cee();function Uy(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}Uy.prototype.clear=aYe;Uy.prototype.delete=lYe;Uy.prototype.get=cYe;Uy.prototype.has=uYe;Uy.prototype.set=AYe;uee.exports=Uy});var fee=U((DFt,Aee)=>{var fYe=Bw(),pYe=xS(),hYe=bS(),gYe=200;function dYe(t,e){var r=this.__data__;if(r instanceof fYe){var o=r.__data__;if(!pYe||o.length<gYe-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new hYe(o)}return r.set(t,e),this.size=r.size,this}Aee.exports=dYe});var QS=U((SFt,pee)=>{var mYe=Bw(),yYe=n$(),CYe=s$(),EYe=a$(),IYe=c$(),wYe=fee();function _y(t){var e=this.__data__=new mYe(t);this.size=e.size}_y.prototype.clear=yYe;_y.prototype.delete=CYe;_y.prototype.get=EYe;_y.prototype.has=IYe;_y.prototype.set=wYe;pee.exports=_y});var gee=U((PFt,hee)=>{var BYe="__lodash_hash_undefined__";function vYe(t){return this.__data__.set(t,BYe),this}hee.exports=vYe});var mee=U((xFt,dee)=>{function DYe(t){return this.__data__.has(t)}dee.exports=DYe});var Cee=U((bFt,yee)=>{var SYe=bS(),PYe=gee(),xYe=mee();function kS(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new SYe;++e<r;)this.add(t[e])}kS.prototype.add=kS.prototype.push=PYe;kS.prototype.has=xYe;yee.exports=kS});var Iee=U((QFt,Eee)=>{function bYe(t,e){for(var r=-1,o=t==null?0:t.length;++r<o;)if(e(t[r],r,t))return!0;return!1}Eee.exports=bYe});var Bee=U((kFt,wee)=>{function QYe(t,e){return t.has(e)}wee.exports=QYe});var LN=U((FFt,vee)=>{var kYe=Cee(),FYe=Iee(),RYe=Bee(),TYe=1,NYe=2;function LYe(t,e,r,o,a,n){var u=r&TYe,A=t.length,p=e.length;if(A!=p&&!(u&&p>A))return!1;var h=n.get(t),E=n.get(e);if(h&&E)return h==e&&E==t;var w=-1,v=!0,b=r&NYe?new kYe:void 0;for(n.set(t,e),n.set(e,t);++w<A;){var C=t[w],R=e[w];if(o)var L=u?o(R,C,w,e,t,n):o(C,R,w,t,e,n);if(L!==void 0){if(L)continue;v=!1;break}if(b){if(!FYe(e,function(_,V){if(!RYe(b,V)&&(C===_||a(C,_,r,o,n)))return b.push(V)})){v=!1;break}}else if(!(C===R||a(C,R,r,o,n))){v=!1;break}}return n.delete(t),n.delete(e),v}vee.exports=LYe});var ON=U((RFt,Dee)=>{var OYe=Wl(),MYe=OYe.Uint8Array;Dee.exports=MYe});var Pee=U((TFt,See)=>{function UYe(t){var e=-1,r=Array(t.size);return t.forEach(function(o,a){r[++e]=[a,o]}),r}See.exports=UYe});var bee=U((NFt,xee)=>{function _Ye(t){var e=-1,r=Array(t.size);return t.forEach(function(o){r[++e]=o}),r}xee.exports=_Ye});var Tee=U((LFt,Ree)=>{var Qee=fd(),kee=ON(),HYe=Ly(),qYe=LN(),jYe=Pee(),GYe=bee(),WYe=1,YYe=2,KYe="[object Boolean]",VYe="[object Date]",JYe="[object Error]",zYe="[object Map]",XYe="[object Number]",ZYe="[object RegExp]",$Ye="[object Set]",eKe="[object String]",tKe="[object Symbol]",rKe="[object ArrayBuffer]",nKe="[object DataView]",Fee=Qee?Qee.prototype:void 0,MN=Fee?Fee.valueOf:void 0;function iKe(t,e,r,o,a,n,u){switch(r){case nKe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case rKe:return!(t.byteLength!=e.byteLength||!n(new kee(t),new kee(e)));case KYe:case VYe:case XYe:return HYe(+t,+e);case JYe:return t.name==e.name&&t.message==e.message;case ZYe:case eKe:return t==e+"";case zYe:var A=jYe;case $Ye:var p=o&WYe;if(A||(A=GYe),t.size!=e.size&&!p)return!1;var h=u.get(t);if(h)return h==e;o|=YYe,u.set(t,e);var E=qYe(A(t),A(e),o,a,n,u);return u.delete(t),E;case tKe:if(MN)return MN.call(t)==MN.call(e)}return!1}Ree.exports=iKe});var RS=U((OFt,Nee)=>{function sKe(t,e){for(var r=-1,o=e.length,a=t.length;++r<o;)t[a+r]=e[r];return t}Nee.exports=sKe});var Yl=U((MFt,Lee)=>{var oKe=Array.isArray;Lee.exports=oKe});var UN=U((UFt,Oee)=>{var aKe=RS(),lKe=Yl();function cKe(t,e,r){var o=e(t);return lKe(t)?o:aKe(o,r(t))}Oee.exports=cKe});var Uee=U((_Ft,Mee)=>{function uKe(t,e){for(var r=-1,o=t==null?0:t.length,a=0,n=[];++r<o;){var u=t[r];e(u,r,t)&&(n[a++]=u)}return n}Mee.exports=uKe});var _N=U((HFt,_ee)=>{function AKe(){return[]}_ee.exports=AKe});var TS=U((qFt,qee)=>{var fKe=Uee(),pKe=_N(),hKe=Object.prototype,gKe=hKe.propertyIsEnumerable,Hee=Object.getOwnPropertySymbols,dKe=Hee?function(t){return t==null?[]:(t=Object(t),fKe(Hee(t),function(e){return gKe.call(t,e)}))}:pKe;qee.exports=dKe});var Gee=U((jFt,jee)=>{function mKe(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o}jee.exports=mKe});var Xu=U((GFt,Wee)=>{function yKe(t){return t!=null&&typeof t=="object"}Wee.exports=yKe});var Kee=U((WFt,Yee)=>{var CKe=pd(),EKe=Xu(),IKe="[object Arguments]";function wKe(t){return EKe(t)&&CKe(t)==IKe}Yee.exports=wKe});var Pw=U((YFt,zee)=>{var Vee=Kee(),BKe=Xu(),Jee=Object.prototype,vKe=Jee.hasOwnProperty,DKe=Jee.propertyIsEnumerable,SKe=Vee(function(){return arguments}())?Vee:function(t){return BKe(t)&&vKe.call(t,"callee")&&!DKe.call(t,"callee")};zee.exports=SKe});var Zee=U((KFt,Xee)=>{function PKe(){return!1}Xee.exports=PKe});var bw=U((xw,Hy)=>{var xKe=Wl(),bKe=Zee(),tte=typeof xw=="object"&&xw&&!xw.nodeType&&xw,$ee=tte&&typeof Hy=="object"&&Hy&&!Hy.nodeType&&Hy,QKe=$ee&&$ee.exports===tte,ete=QKe?xKe.Buffer:void 0,kKe=ete?ete.isBuffer:void 0,FKe=kKe||bKe;Hy.exports=FKe});var Qw=U((VFt,rte)=>{var RKe=9007199254740991,TKe=/^(?:0|[1-9]\d*)$/;function NKe(t,e){var r=typeof t;return e=e??RKe,!!e&&(r=="number"||r!="symbol"&&TKe.test(t))&&t>-1&&t%1==0&&t<e}rte.exports=NKe});var NS=U((JFt,nte)=>{var LKe=9007199254740991;function OKe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=LKe}nte.exports=OKe});var ste=U((zFt,ite)=>{var MKe=pd(),UKe=NS(),_Ke=Xu(),HKe="[object Arguments]",qKe="[object Array]",jKe="[object Boolean]",GKe="[object Date]",WKe="[object Error]",YKe="[object Function]",KKe="[object Map]",VKe="[object Number]",JKe="[object Object]",zKe="[object RegExp]",XKe="[object Set]",ZKe="[object String]",$Ke="[object WeakMap]",eVe="[object ArrayBuffer]",tVe="[object DataView]",rVe="[object Float32Array]",nVe="[object Float64Array]",iVe="[object Int8Array]",sVe="[object Int16Array]",oVe="[object Int32Array]",aVe="[object Uint8Array]",lVe="[object Uint8ClampedArray]",cVe="[object Uint16Array]",uVe="[object Uint32Array]",oi={};oi[rVe]=oi[nVe]=oi[iVe]=oi[sVe]=oi[oVe]=oi[aVe]=oi[lVe]=oi[cVe]=oi[uVe]=!0;oi[HKe]=oi[qKe]=oi[eVe]=oi[jKe]=oi[tVe]=oi[GKe]=oi[WKe]=oi[YKe]=oi[KKe]=oi[VKe]=oi[JKe]=oi[zKe]=oi[XKe]=oi[ZKe]=oi[$Ke]=!1;function AVe(t){return _Ke(t)&&UKe(t.length)&&!!oi[MKe(t)]}ite.exports=AVe});var LS=U((XFt,ote)=>{function fVe(t){return function(e){return t(e)}}ote.exports=fVe});var OS=U((kw,qy)=>{var pVe=RN(),ate=typeof kw=="object"&&kw&&!kw.nodeType&&kw,Fw=ate&&typeof qy=="object"&&qy&&!qy.nodeType&&qy,hVe=Fw&&Fw.exports===ate,HN=hVe&&pVe.process,gVe=function(){try{var t=Fw&&Fw.require&&Fw.require("util").types;return t||HN&&HN.binding&&HN.binding("util")}catch{}}();qy.exports=gVe});var MS=U((ZFt,ute)=>{var dVe=ste(),mVe=LS(),lte=OS(),cte=lte&<e.isTypedArray,yVe=cte?mVe(cte):dVe;ute.exports=yVe});var qN=U(($Ft,Ate)=>{var CVe=Gee(),EVe=Pw(),IVe=Yl(),wVe=bw(),BVe=Qw(),vVe=MS(),DVe=Object.prototype,SVe=DVe.hasOwnProperty;function PVe(t,e){var r=IVe(t),o=!r&&EVe(t),a=!r&&!o&&wVe(t),n=!r&&!o&&!a&&vVe(t),u=r||o||a||n,A=u?CVe(t.length,String):[],p=A.length;for(var h in t)(e||SVe.call(t,h))&&!(u&&(h=="length"||a&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||BVe(h,p)))&&A.push(h);return A}Ate.exports=PVe});var US=U((eRt,fte)=>{var xVe=Object.prototype;function bVe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||xVe;return t===r}fte.exports=bVe});var jN=U((tRt,pte)=>{function QVe(t,e){return function(r){return t(e(r))}}pte.exports=QVe});var gte=U((rRt,hte)=>{var kVe=jN(),FVe=kVe(Object.keys,Object);hte.exports=FVe});var mte=U((nRt,dte)=>{var RVe=US(),TVe=gte(),NVe=Object.prototype,LVe=NVe.hasOwnProperty;function OVe(t){if(!RVe(t))return TVe(t);var e=[];for(var r in Object(t))LVe.call(t,r)&&r!="constructor"&&e.push(r);return e}dte.exports=OVe});var Rw=U((iRt,yte)=>{var MVe=PS(),UVe=NS();function _Ve(t){return t!=null&&UVe(t.length)&&!MVe(t)}yte.exports=_Ve});var _S=U((sRt,Cte)=>{var HVe=qN(),qVe=mte(),jVe=Rw();function GVe(t){return jVe(t)?HVe(t):qVe(t)}Cte.exports=GVe});var GN=U((oRt,Ete)=>{var WVe=UN(),YVe=TS(),KVe=_S();function VVe(t){return WVe(t,KVe,YVe)}Ete.exports=VVe});var Bte=U((aRt,wte)=>{var Ite=GN(),JVe=1,zVe=Object.prototype,XVe=zVe.hasOwnProperty;function ZVe(t,e,r,o,a,n){var u=r&JVe,A=Ite(t),p=A.length,h=Ite(e),E=h.length;if(p!=E&&!u)return!1;for(var w=p;w--;){var v=A[w];if(!(u?v in e:XVe.call(e,v)))return!1}var b=n.get(t),C=n.get(e);if(b&&C)return b==e&&C==t;var R=!0;n.set(t,e),n.set(e,t);for(var L=u;++w<p;){v=A[w];var _=t[v],V=e[v];if(o)var re=u?o(V,_,v,e,t,n):o(_,V,v,t,e,n);if(!(re===void 0?_===V||a(_,V,r,o,n):re)){R=!1;break}L||(L=v=="constructor")}if(R&&!L){var oe=t.constructor,pe=e.constructor;oe!=pe&&"constructor"in t&&"constructor"in e&&!(typeof oe=="function"&&oe instanceof oe&&typeof pe=="function"&&pe instanceof pe)&&(R=!1)}return n.delete(t),n.delete(e),R}wte.exports=ZVe});var Dte=U((lRt,vte)=>{var $Ve=Kp(),eJe=Wl(),tJe=$Ve(eJe,"DataView");vte.exports=tJe});var Pte=U((cRt,Ste)=>{var rJe=Kp(),nJe=Wl(),iJe=rJe(nJe,"Promise");Ste.exports=iJe});var bte=U((uRt,xte)=>{var sJe=Kp(),oJe=Wl(),aJe=sJe(oJe,"Set");xte.exports=aJe});var kte=U((ARt,Qte)=>{var lJe=Kp(),cJe=Wl(),uJe=lJe(cJe,"WeakMap");Qte.exports=uJe});var Tw=U((fRt,Mte)=>{var WN=Dte(),YN=xS(),KN=Pte(),VN=bte(),JN=kte(),Ote=pd(),jy=NN(),Fte="[object Map]",AJe="[object Object]",Rte="[object Promise]",Tte="[object Set]",Nte="[object WeakMap]",Lte="[object DataView]",fJe=jy(WN),pJe=jy(YN),hJe=jy(KN),gJe=jy(VN),dJe=jy(JN),hd=Ote;(WN&&hd(new WN(new ArrayBuffer(1)))!=Lte||YN&&hd(new YN)!=Fte||KN&&hd(KN.resolve())!=Rte||VN&&hd(new VN)!=Tte||JN&&hd(new JN)!=Nte)&&(hd=function(t){var e=Ote(t),r=e==AJe?t.constructor:void 0,o=r?jy(r):"";if(o)switch(o){case fJe:return Lte;case pJe:return Fte;case hJe:return Rte;case gJe:return Tte;case dJe:return Nte}return e});Mte.exports=hd});var Yte=U((pRt,Wte)=>{var zN=QS(),mJe=LN(),yJe=Tee(),CJe=Bte(),Ute=Tw(),_te=Yl(),Hte=bw(),EJe=MS(),IJe=1,qte="[object Arguments]",jte="[object Array]",HS="[object Object]",wJe=Object.prototype,Gte=wJe.hasOwnProperty;function BJe(t,e,r,o,a,n){var u=_te(t),A=_te(e),p=u?jte:Ute(t),h=A?jte:Ute(e);p=p==qte?HS:p,h=h==qte?HS:h;var E=p==HS,w=h==HS,v=p==h;if(v&&Hte(t)){if(!Hte(e))return!1;u=!0,E=!1}if(v&&!E)return n||(n=new zN),u||EJe(t)?mJe(t,e,r,o,a,n):yJe(t,e,p,r,o,a,n);if(!(r&IJe)){var b=E&&Gte.call(t,"__wrapped__"),C=w&&Gte.call(e,"__wrapped__");if(b||C){var R=b?t.value():t,L=C?e.value():e;return n||(n=new zN),a(R,L,r,o,n)}}return v?(n||(n=new zN),CJe(t,e,r,o,a,n)):!1}Wte.exports=BJe});var zte=U((hRt,Jte)=>{var vJe=Yte(),Kte=Xu();function Vte(t,e,r,o,a){return t===e?!0:t==null||e==null||!Kte(t)&&!Kte(e)?t!==t&&e!==e:vJe(t,e,r,o,Vte,a)}Jte.exports=Vte});var Zte=U((gRt,Xte)=>{var DJe=zte();function SJe(t,e){return DJe(t,e)}Xte.exports=SJe});var XN=U((dRt,$te)=>{var PJe=Kp(),xJe=function(){try{var t=PJe(Object,"defineProperty");return t({},"",{}),t}catch{}}();$te.exports=xJe});var qS=U((mRt,tre)=>{var ere=XN();function bJe(t,e,r){e=="__proto__"&&ere?ere(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}tre.exports=bJe});var ZN=U((yRt,rre)=>{var QJe=qS(),kJe=Ly();function FJe(t,e,r){(r!==void 0&&!kJe(t[e],r)||r===void 0&&!(e in t))&&QJe(t,e,r)}rre.exports=FJe});var ire=U((CRt,nre)=>{function RJe(t){return function(e,r,o){for(var a=-1,n=Object(e),u=o(e),A=u.length;A--;){var p=u[t?A:++a];if(r(n[p],p,n)===!1)break}return e}}nre.exports=RJe});var ore=U((ERt,sre)=>{var TJe=ire(),NJe=TJe();sre.exports=NJe});var $N=U((Nw,Gy)=>{var LJe=Wl(),ure=typeof Nw=="object"&&Nw&&!Nw.nodeType&&Nw,are=ure&&typeof Gy=="object"&&Gy&&!Gy.nodeType&&Gy,OJe=are&&are.exports===ure,lre=OJe?LJe.Buffer:void 0,cre=lre?lre.allocUnsafe:void 0;function MJe(t,e){if(e)return t.slice();var r=t.length,o=cre?cre(r):new t.constructor(r);return t.copy(o),o}Gy.exports=MJe});var jS=U((IRt,fre)=>{var Are=ON();function UJe(t){var e=new t.constructor(t.byteLength);return new Are(e).set(new Are(t)),e}fre.exports=UJe});var eL=U((wRt,pre)=>{var _Je=jS();function HJe(t,e){var r=e?_Je(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}pre.exports=HJe});var GS=U((BRt,hre)=>{function qJe(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}hre.exports=qJe});var mre=U((vRt,dre)=>{var jJe=ol(),gre=Object.create,GJe=function(){function t(){}return function(e){if(!jJe(e))return{};if(gre)return gre(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();dre.exports=GJe});var WS=U((DRt,yre)=>{var WJe=jN(),YJe=WJe(Object.getPrototypeOf,Object);yre.exports=YJe});var tL=U((SRt,Cre)=>{var KJe=mre(),VJe=WS(),JJe=US();function zJe(t){return typeof t.constructor=="function"&&!JJe(t)?KJe(VJe(t)):{}}Cre.exports=zJe});var Ire=U((PRt,Ere)=>{var XJe=Rw(),ZJe=Xu();function $Je(t){return ZJe(t)&&XJe(t)}Ere.exports=$Je});var rL=U((xRt,Bre)=>{var eze=pd(),tze=WS(),rze=Xu(),nze="[object Object]",ize=Function.prototype,sze=Object.prototype,wre=ize.toString,oze=sze.hasOwnProperty,aze=wre.call(Object);function lze(t){if(!rze(t)||eze(t)!=nze)return!1;var e=tze(t);if(e===null)return!0;var r=oze.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&wre.call(r)==aze}Bre.exports=lze});var nL=U((bRt,vre)=>{function cze(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}vre.exports=cze});var YS=U((QRt,Dre)=>{var uze=qS(),Aze=Ly(),fze=Object.prototype,pze=fze.hasOwnProperty;function hze(t,e,r){var o=t[e];(!(pze.call(t,e)&&Aze(o,r))||r===void 0&&!(e in t))&&uze(t,e,r)}Dre.exports=hze});var gd=U((kRt,Sre)=>{var gze=YS(),dze=qS();function mze(t,e,r,o){var a=!r;r||(r={});for(var n=-1,u=e.length;++n<u;){var A=e[n],p=o?o(r[A],t[A],A,r,t):void 0;p===void 0&&(p=t[A]),a?dze(r,A,p):gze(r,A,p)}return r}Sre.exports=mze});var xre=U((FRt,Pre)=>{function yze(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}Pre.exports=yze});var Qre=U((RRt,bre)=>{var Cze=ol(),Eze=US(),Ize=xre(),wze=Object.prototype,Bze=wze.hasOwnProperty;function vze(t){if(!Cze(t))return Ize(t);var e=Eze(t),r=[];for(var o in t)o=="constructor"&&(e||!Bze.call(t,o))||r.push(o);return r}bre.exports=vze});var Wy=U((TRt,kre)=>{var Dze=qN(),Sze=Qre(),Pze=Rw();function xze(t){return Pze(t)?Dze(t,!0):Sze(t)}kre.exports=xze});var Rre=U((NRt,Fre)=>{var bze=gd(),Qze=Wy();function kze(t){return bze(t,Qze(t))}Fre.exports=kze});var Ure=U((LRt,Mre)=>{var Tre=ZN(),Fze=$N(),Rze=eL(),Tze=GS(),Nze=tL(),Nre=Pw(),Lre=Yl(),Lze=Ire(),Oze=bw(),Mze=PS(),Uze=ol(),_ze=rL(),Hze=MS(),Ore=nL(),qze=Rre();function jze(t,e,r,o,a,n,u){var A=Ore(t,r),p=Ore(e,r),h=u.get(p);if(h){Tre(t,r,h);return}var E=n?n(A,p,r+"",t,e,u):void 0,w=E===void 0;if(w){var v=Lre(p),b=!v&&Oze(p),C=!v&&!b&&Hze(p);E=p,v||b||C?Lre(A)?E=A:Lze(A)?E=Tze(A):b?(w=!1,E=Fze(p,!0)):C?(w=!1,E=Rze(p,!0)):E=[]:_ze(p)||Nre(p)?(E=A,Nre(A)?E=qze(A):(!Uze(A)||Mze(A))&&(E=Nze(p))):w=!1}w&&(u.set(p,E),a(E,p,o,n,u),u.delete(p)),Tre(t,r,E)}Mre.exports=jze});var qre=U((ORt,Hre)=>{var Gze=QS(),Wze=ZN(),Yze=ore(),Kze=Ure(),Vze=ol(),Jze=Wy(),zze=nL();function _re(t,e,r,o,a){t!==e&&Yze(e,function(n,u){if(a||(a=new Gze),Vze(n))Kze(t,e,u,r,_re,o,a);else{var A=o?o(zze(t,u),n,u+"",t,e,a):void 0;A===void 0&&(A=n),Wze(t,u,A)}},Jze)}Hre.exports=_re});var iL=U((MRt,jre)=>{function Xze(t){return t}jre.exports=Xze});var Wre=U((URt,Gre)=>{function Zze(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}Gre.exports=Zze});var sL=U((_Rt,Kre)=>{var $ze=Wre(),Yre=Math.max;function eXe(t,e,r){return e=Yre(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,n=Yre(o.length-e,0),u=Array(n);++a<n;)u[a]=o[e+a];a=-1;for(var A=Array(e+1);++a<e;)A[a]=o[a];return A[e]=r(u),$ze(t,this,A)}}Kre.exports=eXe});var Jre=U((HRt,Vre)=>{function tXe(t){return function(){return t}}Vre.exports=tXe});var Zre=U((qRt,Xre)=>{var rXe=Jre(),zre=XN(),nXe=iL(),iXe=zre?function(t,e){return zre(t,"toString",{configurable:!0,enumerable:!1,value:rXe(e),writable:!0})}:nXe;Xre.exports=iXe});var ene=U((jRt,$re)=>{var sXe=800,oXe=16,aXe=Date.now;function lXe(t){var e=0,r=0;return function(){var o=aXe(),a=oXe-(o-r);if(r=o,a>0){if(++e>=sXe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}$re.exports=lXe});var oL=U((GRt,tne)=>{var cXe=Zre(),uXe=ene(),AXe=uXe(cXe);tne.exports=AXe});var nne=U((WRt,rne)=>{var fXe=iL(),pXe=sL(),hXe=oL();function gXe(t,e){return hXe(pXe(t,e,fXe),t+"")}rne.exports=gXe});var sne=U((YRt,ine)=>{var dXe=Ly(),mXe=Rw(),yXe=Qw(),CXe=ol();function EXe(t,e,r){if(!CXe(r))return!1;var o=typeof e;return(o=="number"?mXe(r)&&yXe(e,r.length):o=="string"&&e in r)?dXe(r[e],t):!1}ine.exports=EXe});var ane=U((KRt,one)=>{var IXe=nne(),wXe=sne();function BXe(t){return IXe(function(e,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(n=t.length>3&&typeof n=="function"?(a--,n):void 0,u&&wXe(r[0],r[1],u)&&(n=a<3?void 0:n,a=1),e=Object(e);++o<a;){var A=r[o];A&&t(e,A,o,n)}return e})}one.exports=BXe});var cne=U((VRt,lne)=>{var vXe=qre(),DXe=ane(),SXe=DXe(function(t,e,r,o){vXe(t,e,r,o)});lne.exports=SXe});var Ye={};Yt(Ye,{AsyncActions:()=>cL,BufferStream:()=>lL,CachingStrategy:()=>Ine,DefaultStream:()=>uL,allSettledSafe:()=>jc,assertNever:()=>fL,bufferStream:()=>Jy,buildIgnorePattern:()=>RXe,convertMapsToIndexableObjects:()=>KS,dynamicRequire:()=>Vp,escapeRegExp:()=>xXe,getArrayWithDefault:()=>Yy,getFactoryWithDefault:()=>Df,getMapWithDefault:()=>Ky,getSetWithDefault:()=>dd,isIndexableObject:()=>aL,isPathLike:()=>TXe,isTaggedYarnVersion:()=>PXe,makeDeferred:()=>yne,mapAndFilter:()=>Zu,mapAndFind:()=>Ow,mergeIntoTarget:()=>Bne,overrideType:()=>bXe,parseBoolean:()=>Mw,parseOptionalBoolean:()=>wne,prettifyAsyncErrors:()=>Vy,prettifySyncErrors:()=>pL,releaseAfterUseAsync:()=>kXe,replaceEnvVariables:()=>hL,sortMap:()=>Pa,toMerged:()=>NXe,tryParseOptionalBoolean:()=>gL,validateEnum:()=>QXe});function PXe(t){return!!(gne.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function xXe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function bXe(t){}function fL(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function QXe(t,e){let r=Object.values(t);if(!r.includes(e))throw new ot(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(o=>JSON.stringify(o)).join(", ")})`);return e}function Zu(t,e){let r=[];for(let o of t){let a=e(o);a!==dne&&r.push(a)}return r}function Ow(t,e){for(let r of t){let o=e(r);if(o!==mne)return o}}function aL(t){return typeof t=="object"&&t!==null}async function jc(t){let e=await Promise.allSettled(t),r=[];for(let o of e){if(o.status==="rejected")throw o.reason;r.push(o.value)}return r}function KS(t){if(t instanceof Map&&(t=Object.fromEntries(t)),aL(t))for(let e of Object.keys(t)){let r=t[e];aL(r)&&(t[e]=KS(r))}return t}function Df(t,e,r){let o=t.get(e);return typeof o>"u"&&t.set(e,o=r()),o}function Yy(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=[]),r}function dd(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Set),r}function Ky(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Map),r}async function kXe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Vy(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function pL(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Jy(t){return await new Promise((e,r)=>{let o=[];t.on("error",a=>{r(a)}),t.on("data",a=>{o.push(a)}),t.on("end",()=>{e(Buffer.concat(o))})})}function yne(){let t,e;return{promise:new Promise((o,a)=>{t=o,e=a}),resolve:t,reject:e}}function Cne(t){return Lw(ue.fromPortablePath(t))}function Ene(path){let physicalPath=ue.fromPortablePath(path),currentCacheEntry=Lw.cache[physicalPath];delete Lw.cache[physicalPath];let result;try{result=Cne(physicalPath);let freshCacheEntry=Lw.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Lw.cache[physicalPath]=currentCacheEntry}return result}function FXe(t){let e=une.get(t),r=ae.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let o=Ene(t);return une.set(t,{mtime:r.mtimeMs,instance:o}),o}function Vp(t,{cachingStrategy:e=2}={}){switch(e){case 0:return Ene(t);case 1:return FXe(t);case 2:return Cne(t);default:throw new Error("Unsupported caching strategy")}}function Pa(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function RXe(t){return t.length===0?null:t.map(e=>`(${pne.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function hL(t,{env:e}){let r=/\${(?<variableName>[\d\w_]+)(?<colon>:)?(?:-(?<fallback>[^}]*))?}/g;return t.replace(r,(...o)=>{let{variableName:a,colon:n,fallback:u}=o[o.length-1],A=Object.prototype.hasOwnProperty.call(e,a),p=e[a];if(p||A&&!n)return p;if(u!=null)return u;throw new ot(`Environment variable not found (${a})`)})}function Mw(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function wne(t){return typeof t>"u"?t:Mw(t)}function gL(t){try{return wne(t)}catch{return null}}function TXe(t){return!!(ue.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}function Bne(t,...e){let r=u=>({value:u}),o=r(t),a=e.map(u=>r(u)),{value:n}=(0,fne.default)(o,...a,(u,A)=>{if(Array.isArray(u)&&Array.isArray(A)){for(let p of A)u.find(h=>(0,Ane.default)(h,p))||u.push(p);return u}});return n}function NXe(...t){return Bne({},...t)}var Ane,fne,pne,hne,gne,AL,dne,mne,lL,cL,uL,Lw,une,Ine,Kl=dt(()=>{bt();_t();Ane=tt(Zte()),fne=tt(cne()),pne=tt(Jo()),hne=tt(rd()),gne=tt(si()),AL=Ie("stream");dne=Symbol();Zu.skip=dne;mne=Symbol();Ow.skip=mne;lL=class extends AL.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};cL=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,hne.default)(e)}set(e,r){let o=this.deferred.get(e);typeof o>"u"&&this.deferred.set(e,o=yne());let a=this.limit(()=>r());return this.promises.set(e,a),a.then(()=>{this.promises.get(e)===a&&o.resolve()},n=>{this.promises.get(e)===a&&o.reject(n)}),o.promise}reduce(e,r){let o=this.promises.get(e)??Promise.resolve();this.set(e,()=>r(o))}async wait(){await Promise.all(this.promises.values())}},uL=class extends AL.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},Lw=eval("require");une=new Map;Ine=(o=>(o[o.NoCache=0]="NoCache",o[o.FsTime=1]="FsTime",o[o.Node=2]="Node",o))(Ine||{})});var zy,dL,mL,vne=dt(()=>{zy=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))(zy||{}),dL=(o=>(o.Dependency="Dependency",o.PeerDependency="PeerDependency",o.PeerDependencyMeta="PeerDependencyMeta",o))(dL||{}),mL=(o=>(o.Inactive="inactive",o.Redundant="redundant",o.Active="active",o))(mL||{})});var ye={};Yt(ye,{LogLevel:()=>XS,Style:()=>CL,Type:()=>Bt,addLogFilterSupport:()=>Hw,applyColor:()=>xa,applyHyperlink:()=>Xy,applyStyle:()=>zS,json:()=>md,jsonOrPretty:()=>MXe,mark:()=>BL,pretty:()=>Kt,prettyField:()=>$u,prettyList:()=>wL,supportsColor:()=>JS,supportsHyperlinks:()=>IL,tuple:()=>Gc});function Gc(t,e){return[e,t]}function zS(t,e,r){return t.get("enableColors")&&r&2&&(e=_w.default.bold(e)),e}function xa(t,e,r){if(!t.get("enableColors"))return e;let o=LXe.get(r);if(o===null)return e;let a=typeof o>"u"?r:EL.level>=3?o[0]:o[1],n=typeof a=="number"?yL.ansi256(a):a.startsWith("#")?yL.hex(a):yL[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(e)}function Xy(t,e,r){return t.get("enableHyperlinks")?OXe?`\x1B]8;;${r}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${e}\x1B]8;;\x07`:e}function Kt(t,e,r){if(e===null)return xa(t,"null",Bt.NULL);if(Object.prototype.hasOwnProperty.call(VS,r))return VS[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return xa(t,e,r)}function wL(t,e,r,{separator:o=", "}={}){return[...e].map(a=>Kt(t,a,r)).join(o)}function md(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(VS,e))return VS[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function MXe(t,e,[r,o]){return t?md(r,o):Kt(e,r,o)}function BL(t){return{Check:xa(t,"\u2713","green"),Cross:xa(t,"\u2718","red"),Question:xa(t,"?","cyan")}}function $u(t,{label:e,value:[r,o]}){return`${Kt(t,e,Bt.CODE)}: ${Kt(t,r,o)}`}function Hw(t,{configuration:e}){let r=e.get("logFilters"),o=new Map,a=new Map,n=[];for(let w of r){let v=w.get("level");if(typeof v>"u")continue;let b=w.get("code");typeof b<"u"&&o.set(b,v);let C=w.get("text");typeof C<"u"&&a.set(C,v);let R=w.get("pattern");typeof R<"u"&&n.push([Dne.default.matcher(R,{contains:!0}),v])}n.reverse();let u=(w,v,b)=>{if(w===null||w===0)return b;let C=a.size>0||n.length>0?(0,Sne.default)(v):v;if(a.size>0){let R=a.get(C);if(typeof R<"u")return R??b}if(n.length>0){for(let[R,L]of n)if(R(C))return L??b}if(o.size>0){let R=o.get(Vu(w));if(typeof R<"u")return R??b}return b},A=t.reportInfo,p=t.reportWarning,h=t.reportError,E=function(w,v,b,C){switch(u(v,b,C)){case"info":A.call(w,v,b);break;case"warning":p.call(w,v??0,b);break;case"error":h.call(w,v??0,b);break}};t.reportInfo=function(...w){return E(this,...w,"info")},t.reportWarning=function(...w){return E(this,...w,"warning")},t.reportError=function(...w){return E(this,...w,"error")}}var _w,Uw,Dne,Sne,Pne,Bt,CL,EL,JS,IL,yL,LXe,al,VS,OXe,XS,Jl=dt(()=>{bt();_w=tt(dN()),Uw=tt(Xg());_t();Dne=tt(Jo()),Sne=tt(SS()),Pne=Ie("util");eS();Ks();Bt={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},CL=(e=>(e[e.BOLD=2]="BOLD",e))(CL||{}),EL=Uw.default.GITHUB_ACTIONS?{level:2}:_w.default.supportsColor?{level:_w.default.supportsColor.level}:{level:0},JS=EL.level!==0,IL=JS&&!Uw.default.GITHUB_ACTIONS&&!Uw.default.CIRCLE&&!Uw.default.GITLAB,yL=new _w.default.Instance(EL),LXe=new Map([[Bt.NO_HINT,null],[Bt.NULL,["#a853b5",129]],[Bt.SCOPE,["#d75f00",166]],[Bt.NAME,["#d7875f",173]],[Bt.RANGE,["#00afaf",37]],[Bt.REFERENCE,["#87afff",111]],[Bt.NUMBER,["#ffd700",220]],[Bt.PATH,["#d75fd7",170]],[Bt.URL,["#d75fd7",170]],[Bt.ADDED,["#5faf00",70]],[Bt.REMOVED,["#d70000",160]],[Bt.CODE,["#87afff",111]],[Bt.SIZE,["#ffd700",220]]]),al=t=>t,VS={[Bt.INSPECT]:al({pretty:(t,e)=>(0,Pne.inspect)(e,{depth:1/0,colors:t.get("enableColors"),compact:!0,breakLength:1/0}),json:t=>t}),[Bt.NUMBER]:al({pretty:(t,e)=>xa(t,`${e}`,Bt.NUMBER),json:t=>t}),[Bt.IDENT]:al({pretty:(t,e)=>cs(t,e),json:t=>nn(t)}),[Bt.LOCATOR]:al({pretty:(t,e)=>kr(t,e),json:t=>Vl(t)}),[Bt.DESCRIPTOR]:al({pretty:(t,e)=>Ln(t,e),json:t=>ba(t)}),[Bt.RESOLUTION]:al({pretty:(t,{descriptor:e,locator:r})=>qw(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:ba(t),locator:e!==null?Vl(e):null})}),[Bt.DEPENDENT]:al({pretty:(t,{locator:e,descriptor:r})=>vL(t,e,r),json:({locator:t,descriptor:e})=>({locator:Vl(t),descriptor:ba(e)})}),[Bt.PACKAGE_EXTENSION]:al({pretty:(t,e)=>{switch(e.type){case"Dependency":return`${cs(t,e.parentDescriptor)} \u27A4 ${xa(t,"dependencies",Bt.CODE)} \u27A4 ${cs(t,e.descriptor)}`;case"PeerDependency":return`${cs(t,e.parentDescriptor)} \u27A4 ${xa(t,"peerDependencies",Bt.CODE)} \u27A4 ${cs(t,e.descriptor)}`;case"PeerDependencyMeta":return`${cs(t,e.parentDescriptor)} \u27A4 ${xa(t,"peerDependenciesMeta",Bt.CODE)} \u27A4 ${cs(t,Ys(e.selector))} \u27A4 ${xa(t,e.key,Bt.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case"Dependency":return`${nn(t.parentDescriptor)} > ${nn(t.descriptor)}`;case"PeerDependency":return`${nn(t.parentDescriptor)} >> ${nn(t.descriptor)}`;case"PeerDependencyMeta":return`${nn(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Bt.SETTING]:al({pretty:(t,e)=>(t.get(e),Xy(t,xa(t,e,Bt.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Bt.DURATION]:al({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),o=Math.ceil((e-r*60*1e3)/1e3);return o===0?`${r}m`:`${r}m ${o}s`}else{let r=Math.floor(e/1e3),o=e-r*1e3;return o===0?`${r}s`:`${r}s ${o}ms`}},json:t=>t}),[Bt.SIZE]:al({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],o=r.length;for(;o>1&&e<1024**o;)o-=1;let a=1024**o,n=Math.floor(e*100/a)/100;return xa(t,`${n} ${r[o-1]}`,Bt.NUMBER)},json:t=>t}),[Bt.PATH]:al({pretty:(t,e)=>xa(t,ue.fromPortablePath(e),Bt.PATH),json:t=>ue.fromPortablePath(t)}),[Bt.MARKDOWN]:al({pretty:(t,{text:e,format:r,paragraphs:o})=>Bo(e,{format:r,paragraphs:o}),json:({text:t})=>t})};OXe=!!process.env.KONSOLE_VERSION;XS=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))(XS||{})});var bne=U((sTt,xne)=>{"use strict";xne.exports=(...t)=>[...new Set([].concat(...t))]});var DL=U((oTt,Fne)=>{"use strict";var UXe=Ie("stream"),Qne=UXe.PassThrough,_Xe=Array.prototype.slice;Fne.exports=HXe;function HXe(){let t=[],e=_Xe.call(arguments),r=!1,o=e[e.length-1];o&&!Array.isArray(o)&&o.pipe==null?e.pop():o={};let a=o.end!==!1,n=o.pipeError===!0;o.objectMode==null&&(o.objectMode=!0),o.highWaterMark==null&&(o.highWaterMark=64*1024);let u=Qne(o);function A(){for(let E=0,w=arguments.length;E<w;E++)t.push(kne(arguments[E],o));return p(),this}function p(){if(r)return;r=!0;let E=t.shift();if(!E){process.nextTick(h);return}Array.isArray(E)||(E=[E]);let w=E.length+1;function v(){--w>0||(r=!1,p())}function b(C){function R(){C.removeListener("merge2UnpipeEnd",R),C.removeListener("end",R),n&&C.removeListener("error",L),v()}function L(_){u.emit("error",_)}if(C._readableState.endEmitted)return v();C.on("merge2UnpipeEnd",R),C.on("end",R),n&&C.on("error",L),C.pipe(u,{end:!1}),C.resume()}for(let C=0;C<E.length;C++)b(E[C]);v()}function h(){r=!1,u.emit("queueDrain"),a&&u.end()}return u.setMaxListeners(0),u.add=A,u.on("unpipe",function(E){E.emit("merge2UnpipeEnd")}),e.length&&A.apply(null,e),u}function kne(t,e){if(Array.isArray(t))for(let r=0,o=t.length;r<o;r++)t[r]=kne(t[r],e);else{if(!t._readableState&&t.pipe&&(t=t.pipe(Qne(e))),!t._readableState||!t.pause||!t.pipe)throw new Error("Only readable stream can be merged.");t.pause()}return t}});var Rne=U(Zy=>{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});Zy.splitWhen=Zy.flatten=void 0;function qXe(t){return t.reduce((e,r)=>[].concat(e,r),[])}Zy.flatten=qXe;function jXe(t,e){let r=[[]],o=0;for(let a of t)e(a)?(o++,r[o]=[]):r[o].push(a);return r}Zy.splitWhen=jXe});var Tne=U(ZS=>{"use strict";Object.defineProperty(ZS,"__esModule",{value:!0});ZS.isEnoentCodeError=void 0;function GXe(t){return t.code==="ENOENT"}ZS.isEnoentCodeError=GXe});var Nne=U($S=>{"use strict";Object.defineProperty($S,"__esModule",{value:!0});$S.createDirentFromStats=void 0;var SL=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function WXe(t,e){return new SL(t,e)}$S.createDirentFromStats=WXe});var Lne=U(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.removeLeadingDotSegment=eA.escape=eA.makeAbsolute=eA.unixify=void 0;var YXe=Ie("path"),KXe=2,VXe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function JXe(t){return t.replace(/\\/g,"/")}eA.unixify=JXe;function zXe(t,e){return YXe.resolve(t,e)}eA.makeAbsolute=zXe;function XXe(t){return t.replace(VXe,"\\$2")}eA.escape=XXe;function ZXe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(KXe)}return t}eA.removeLeadingDotSegment=ZXe});var Mne=U((ATt,One)=>{One.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var Hne=U((fTt,_ne)=>{var $Xe=Mne(),Une={"{":"}","(":")","[":"]"},eZe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,o=-2,a=-2,n=-2,u=-2;e<t.length;){if(t[e]==="*"||t[e+1]==="?"&&/[\].+)]/.test(t[e])||o!==-1&&t[e]==="["&&t[e+1]!=="]"&&(o<e&&(o=t.indexOf("]",e)),o>e&&(u===-1||u>o||(u=t.indexOf("\\",e),u===-1||u>o)))||a!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(a=t.indexOf("}",e),a>e&&(u=t.indexOf("\\",e),u===-1||u>a))||n!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(n=t.indexOf(")",e),n>e&&(u=t.indexOf("\\",e),u===-1||u>n))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(r<e&&(r=t.indexOf("|",e)),r!==-1&&t[r+1]!==")"&&(n=t.indexOf(")",r),n>r&&(u=t.indexOf("\\",r),u===-1||u>n))))return!0;if(t[e]==="\\"){var A=t[e+1];e+=2;var p=Une[A];if(p){var h=t.indexOf(p,e);h!==-1&&(e=h+1)}if(t[e]==="!")return!0}else e++}return!1},tZe=function(t){if(t[0]==="!")return!0;for(var e=0;e<t.length;){if(/[*?{}()[\]]/.test(t[e]))return!0;if(t[e]==="\\"){var r=t[e+1];e+=2;var o=Une[r];if(o){var a=t.indexOf(o,e);a!==-1&&(e=a+1)}if(t[e]==="!")return!0}else e++}return!1};_ne.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if($Xe(e))return!0;var o=eZe;return r&&r.strict===!1&&(o=tZe),o(e)}});var jne=U((pTt,qne)=>{"use strict";var rZe=Hne(),nZe=Ie("path").posix.dirname,iZe=Ie("os").platform()==="win32",PL="/",sZe=/\\/g,oZe=/[\{\[].*[\}\]]$/,aZe=/(^|[^\\])([\{\[]|\([^\)]+$)/,lZe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;qne.exports=function(e,r){var o=Object.assign({flipBackslashes:!0},r);o.flipBackslashes&&iZe&&e.indexOf(PL)<0&&(e=e.replace(sZe,PL)),oZe.test(e)&&(e+=PL),e+="a";do e=nZe(e);while(rZe(e)||aZe.test(e));return e.replace(lZe,"$1")}});var Xne=U(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.matchAny=Or.convertPatternsToRe=Or.makeRe=Or.getPatternParts=Or.expandBraceExpansion=Or.expandPatternsWithBraceExpansion=Or.isAffectDepthOfReadingPattern=Or.endsWithSlashGlobStar=Or.hasGlobStar=Or.getBaseDirectory=Or.isPatternRelatedToParentDirectory=Or.getPatternsOutsideCurrentDirectory=Or.getPatternsInsideCurrentDirectory=Or.getPositivePatterns=Or.getNegativePatterns=Or.isPositivePattern=Or.isNegativePattern=Or.convertToNegativePattern=Or.convertToPositivePattern=Or.isDynamicPattern=Or.isStaticPattern=void 0;var cZe=Ie("path"),uZe=jne(),xL=Jo(),Gne="**",AZe="\\",fZe=/[*?]|^!/,pZe=/\[[^[]*]/,hZe=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,gZe=/[!*+?@]\([^(]*\)/,dZe=/,|\.\./;function Wne(t,e={}){return!Yne(t,e)}Or.isStaticPattern=Wne;function Yne(t,e={}){return t===""?!1:!!(e.caseSensitiveMatch===!1||t.includes(AZe)||fZe.test(t)||pZe.test(t)||hZe.test(t)||e.extglob!==!1&&gZe.test(t)||e.braceExpansion!==!1&&mZe(t))}Or.isDynamicPattern=Yne;function mZe(t){let e=t.indexOf("{");if(e===-1)return!1;let r=t.indexOf("}",e+1);if(r===-1)return!1;let o=t.slice(e,r);return dZe.test(o)}function yZe(t){return eP(t)?t.slice(1):t}Or.convertToPositivePattern=yZe;function CZe(t){return"!"+t}Or.convertToNegativePattern=CZe;function eP(t){return t.startsWith("!")&&t[1]!=="("}Or.isNegativePattern=eP;function Kne(t){return!eP(t)}Or.isPositivePattern=Kne;function EZe(t){return t.filter(eP)}Or.getNegativePatterns=EZe;function IZe(t){return t.filter(Kne)}Or.getPositivePatterns=IZe;function wZe(t){return t.filter(e=>!bL(e))}Or.getPatternsInsideCurrentDirectory=wZe;function BZe(t){return t.filter(bL)}Or.getPatternsOutsideCurrentDirectory=BZe;function bL(t){return t.startsWith("..")||t.startsWith("./..")}Or.isPatternRelatedToParentDirectory=bL;function vZe(t){return uZe(t,{flipBackslashes:!1})}Or.getBaseDirectory=vZe;function DZe(t){return t.includes(Gne)}Or.hasGlobStar=DZe;function Vne(t){return t.endsWith("/"+Gne)}Or.endsWithSlashGlobStar=Vne;function SZe(t){let e=cZe.basename(t);return Vne(t)||Wne(e)}Or.isAffectDepthOfReadingPattern=SZe;function PZe(t){return t.reduce((e,r)=>e.concat(Jne(r)),[])}Or.expandPatternsWithBraceExpansion=PZe;function Jne(t){return xL.braces(t,{expand:!0,nodupes:!0})}Or.expandBraceExpansion=Jne;function xZe(t,e){let{parts:r}=xL.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.length===0&&(r=[t]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}Or.getPatternParts=xZe;function zne(t,e){return xL.makeRe(t,e)}Or.makeRe=zne;function bZe(t,e){return t.map(r=>zne(r,e))}Or.convertPatternsToRe=bZe;function QZe(t,e){return e.some(r=>r.test(t))}Or.matchAny=QZe});var $ne=U(tP=>{"use strict";Object.defineProperty(tP,"__esModule",{value:!0});tP.merge=void 0;var kZe=DL();function FZe(t){let e=kZe(t);return t.forEach(r=>{r.once("error",o=>e.emit("error",o))}),e.once("close",()=>Zne(t)),e.once("end",()=>Zne(t)),e}tP.merge=FZe;function Zne(t){t.forEach(e=>e.emit("close"))}});var eie=U($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});$y.isEmpty=$y.isString=void 0;function RZe(t){return typeof t=="string"}$y.isString=RZe;function TZe(t){return t===""}$y.isEmpty=TZe});var Sf=U(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.string=So.stream=So.pattern=So.path=So.fs=So.errno=So.array=void 0;var NZe=Rne();So.array=NZe;var LZe=Tne();So.errno=LZe;var OZe=Nne();So.fs=OZe;var MZe=Lne();So.path=MZe;var UZe=Xne();So.pattern=UZe;var _Ze=$ne();So.stream=_Ze;var HZe=eie();So.string=HZe});var nie=U(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.convertPatternGroupToTask=Po.convertPatternGroupsToTasks=Po.groupPatternsByBaseDirectory=Po.getNegativePatternsAsPositive=Po.getPositivePatterns=Po.convertPatternsToTasks=Po.generate=void 0;var Pf=Sf();function qZe(t,e){let r=tie(t),o=rie(t,e.ignore),a=r.filter(p=>Pf.pattern.isStaticPattern(p,e)),n=r.filter(p=>Pf.pattern.isDynamicPattern(p,e)),u=QL(a,o,!1),A=QL(n,o,!0);return u.concat(A)}Po.generate=qZe;function QL(t,e,r){let o=[],a=Pf.pattern.getPatternsOutsideCurrentDirectory(t),n=Pf.pattern.getPatternsInsideCurrentDirectory(t),u=kL(a),A=kL(n);return o.push(...FL(u,e,r)),"."in A?o.push(RL(".",n,e,r)):o.push(...FL(A,e,r)),o}Po.convertPatternsToTasks=QL;function tie(t){return Pf.pattern.getPositivePatterns(t)}Po.getPositivePatterns=tie;function rie(t,e){return Pf.pattern.getNegativePatterns(t).concat(e).map(Pf.pattern.convertToPositivePattern)}Po.getNegativePatternsAsPositive=rie;function kL(t){let e={};return t.reduce((r,o)=>{let a=Pf.pattern.getBaseDirectory(o);return a in r?r[a].push(o):r[a]=[o],r},e)}Po.groupPatternsByBaseDirectory=kL;function FL(t,e,r){return Object.keys(t).map(o=>RL(o,t[o],e,r))}Po.convertPatternGroupsToTasks=FL;function RL(t,e,r,o){return{dynamic:o,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Pf.pattern.convertToNegativePattern))}}Po.convertPatternGroupToTask=RL});var sie=U(eC=>{"use strict";Object.defineProperty(eC,"__esModule",{value:!0});eC.removeDuplicateSlashes=eC.transform=void 0;var jZe=/(?!^)\/{2,}/g;function GZe(t){return t.map(e=>iie(e))}eC.transform=GZe;function iie(t){return t.replace(jZe,"/")}eC.removeDuplicateSlashes=iie});var aie=U(rP=>{"use strict";Object.defineProperty(rP,"__esModule",{value:!0});rP.read=void 0;function WZe(t,e,r){e.fs.lstat(t,(o,a)=>{if(o!==null){oie(r,o);return}if(!a.isSymbolicLink()||!e.followSymbolicLink){TL(r,a);return}e.fs.stat(t,(n,u)=>{if(n!==null){if(e.throwErrorOnBrokenSymbolicLink){oie(r,n);return}TL(r,a);return}e.markSymbolicLink&&(u.isSymbolicLink=()=>!0),TL(r,u)})})}rP.read=WZe;function oie(t,e){t(e)}function TL(t,e){t(null,e)}});var lie=U(nP=>{"use strict";Object.defineProperty(nP,"__esModule",{value:!0});nP.read=void 0;function YZe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let o=e.fs.statSync(t);return e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),o}catch(o){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw o}}nP.read=YZe});var cie=U(Jp=>{"use strict";Object.defineProperty(Jp,"__esModule",{value:!0});Jp.createFileSystemAdapter=Jp.FILE_SYSTEM_ADAPTER=void 0;var iP=Ie("fs");Jp.FILE_SYSTEM_ADAPTER={lstat:iP.lstat,stat:iP.stat,lstatSync:iP.lstatSync,statSync:iP.statSync};function KZe(t){return t===void 0?Jp.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Jp.FILE_SYSTEM_ADAPTER),t)}Jp.createFileSystemAdapter=KZe});var uie=U(LL=>{"use strict";Object.defineProperty(LL,"__esModule",{value:!0});var VZe=cie(),NL=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=VZe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e??r}};LL.default=NL});var yd=U(zp=>{"use strict";Object.defineProperty(zp,"__esModule",{value:!0});zp.statSync=zp.stat=zp.Settings=void 0;var Aie=aie(),JZe=lie(),OL=uie();zp.Settings=OL.default;function zZe(t,e,r){if(typeof e=="function"){Aie.read(t,ML(),e);return}Aie.read(t,ML(e),r)}zp.stat=zZe;function XZe(t,e){let r=ML(e);return JZe.read(t,r)}zp.statSync=XZe;function ML(t={}){return t instanceof OL.default?t:new OL.default(t)}});var pie=U((DTt,fie)=>{fie.exports=ZZe;function ZZe(t,e){var r,o,a,n=!0;Array.isArray(t)?(r=[],o=t.length):(a=Object.keys(t),r={},o=a.length);function u(p){function h(){e&&e(p,r),e=null}n?process.nextTick(h):h()}function A(p,h,E){r[p]=E,(--o===0||h)&&u(h)}o?a?a.forEach(function(p){t[p](function(h,E){A(p,h,E)})}):t.forEach(function(p,h){p(function(E,w){A(h,E,w)})}):u(null),n=!1}});var UL=U(oP=>{"use strict";Object.defineProperty(oP,"__esModule",{value:!0});oP.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var sP=process.versions.node.split(".");if(sP[0]===void 0||sP[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var hie=Number.parseInt(sP[0],10),$Ze=Number.parseInt(sP[1],10),gie=10,e$e=10,t$e=hie>gie,r$e=hie===gie&&$Ze>=e$e;oP.IS_SUPPORT_READDIR_WITH_FILE_TYPES=t$e||r$e});var die=U(aP=>{"use strict";Object.defineProperty(aP,"__esModule",{value:!0});aP.createDirentFromStats=void 0;var _L=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function n$e(t,e){return new _L(t,e)}aP.createDirentFromStats=n$e});var HL=U(lP=>{"use strict";Object.defineProperty(lP,"__esModule",{value:!0});lP.fs=void 0;var i$e=die();lP.fs=i$e});var qL=U(cP=>{"use strict";Object.defineProperty(cP,"__esModule",{value:!0});cP.joinPathSegments=void 0;function s$e(t,e,r){return t.endsWith(r)?t+e:t+r+e}cP.joinPathSegments=s$e});var wie=U(Xp=>{"use strict";Object.defineProperty(Xp,"__esModule",{value:!0});Xp.readdir=Xp.readdirWithFileTypes=Xp.read=void 0;var o$e=yd(),mie=pie(),a$e=UL(),yie=HL(),Cie=qL();function l$e(t,e,r){if(!e.stats&&a$e.IS_SUPPORT_READDIR_WITH_FILE_TYPES){Eie(t,e,r);return}Iie(t,e,r)}Xp.read=l$e;function Eie(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(o,a)=>{if(o!==null){uP(r,o);return}let n=a.map(A=>({dirent:A,name:A.name,path:Cie.joinPathSegments(t,A.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){jL(r,n);return}let u=n.map(A=>c$e(A,e));mie(u,(A,p)=>{if(A!==null){uP(r,A);return}jL(r,p)})})}Xp.readdirWithFileTypes=Eie;function c$e(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(o,a)=>{if(o!==null){if(e.throwErrorOnBrokenSymbolicLink){r(o);return}r(null,t);return}t.dirent=yie.fs.createDirentFromStats(t.name,a),r(null,t)})}}function Iie(t,e,r){e.fs.readdir(t,(o,a)=>{if(o!==null){uP(r,o);return}let n=a.map(u=>{let A=Cie.joinPathSegments(t,u,e.pathSegmentSeparator);return p=>{o$e.stat(A,e.fsStatSettings,(h,E)=>{if(h!==null){p(h);return}let w={name:u,path:A,dirent:yie.fs.createDirentFromStats(u,E)};e.stats&&(w.stats=E),p(null,w)})}});mie(n,(u,A)=>{if(u!==null){uP(r,u);return}jL(r,A)})})}Xp.readdir=Iie;function uP(t,e){t(e)}function jL(t,e){t(null,e)}});var Pie=U(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});Zp.readdir=Zp.readdirWithFileTypes=Zp.read=void 0;var u$e=yd(),A$e=UL(),Bie=HL(),vie=qL();function f$e(t,e){return!e.stats&&A$e.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Die(t,e):Sie(t,e)}Zp.read=f$e;function Die(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(o=>{let a={dirent:o,name:o.name,path:vie.joinPathSegments(t,o.name,e.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let n=e.fs.statSync(a.path);a.dirent=Bie.fs.createDirentFromStats(a.name,n)}catch(n){if(e.throwErrorOnBrokenSymbolicLink)throw n}return a})}Zp.readdirWithFileTypes=Die;function Sie(t,e){return e.fs.readdirSync(t).map(o=>{let a=vie.joinPathSegments(t,o,e.pathSegmentSeparator),n=u$e.statSync(a,e.fsStatSettings),u={name:o,path:a,dirent:Bie.fs.createDirentFromStats(o,n)};return e.stats&&(u.stats=n),u})}Zp.readdir=Sie});var xie=U($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.createFileSystemAdapter=$p.FILE_SYSTEM_ADAPTER=void 0;var tC=Ie("fs");$p.FILE_SYSTEM_ADAPTER={lstat:tC.lstat,stat:tC.stat,lstatSync:tC.lstatSync,statSync:tC.statSync,readdir:tC.readdir,readdirSync:tC.readdirSync};function p$e(t){return t===void 0?$p.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},$p.FILE_SYSTEM_ADAPTER),t)}$p.createFileSystemAdapter=p$e});var bie=U(YL=>{"use strict";Object.defineProperty(YL,"__esModule",{value:!0});var h$e=Ie("path"),g$e=yd(),d$e=xie(),WL=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=d$e.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,h$e.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new g$e.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};YL.default=WL});var AP=U(e0=>{"use strict";Object.defineProperty(e0,"__esModule",{value:!0});e0.Settings=e0.scandirSync=e0.scandir=void 0;var Qie=wie(),m$e=Pie(),KL=bie();e0.Settings=KL.default;function y$e(t,e,r){if(typeof e=="function"){Qie.read(t,VL(),e);return}Qie.read(t,VL(e),r)}e0.scandir=y$e;function C$e(t,e){let r=VL(e);return m$e.read(t,r)}e0.scandirSync=C$e;function VL(t={}){return t instanceof KL.default?t:new KL.default(t)}});var Fie=U((NTt,kie)=>{"use strict";function E$e(t){var e=new t,r=e;function o(){var n=e;return n.next?e=n.next:(e=new t,r=e),n.next=null,n}function a(n){r.next=n,r=n}return{get:o,release:a}}kie.exports=E$e});var Tie=U((LTt,JL)=>{"use strict";var I$e=Fie();function Rie(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var o=I$e(w$e),a=null,n=null,u=0,A=null,p={push:R,drain:zl,saturated:zl,pause:E,paused:!1,concurrency:r,running:h,resume:b,idle:C,length:w,getQueue:v,unshift:L,empty:zl,kill:V,killAndDrain:re,error:oe};return p;function h(){return u}function E(){p.paused=!0}function w(){for(var pe=a,he=0;pe;)pe=pe.next,he++;return he}function v(){for(var pe=a,he=[];pe;)he.push(pe.value),pe=pe.next;return he}function b(){if(!!p.paused){p.paused=!1;for(var pe=0;pe<p.concurrency;pe++)u++,_()}}function C(){return u===0&&p.length()===0}function R(pe,he){var ve=o.get();ve.context=t,ve.release=_,ve.value=pe,ve.callback=he||zl,ve.errorHandler=A,u===p.concurrency||p.paused?n?(n.next=ve,n=ve):(a=ve,n=ve,p.saturated()):(u++,e.call(t,ve.value,ve.worked))}function L(pe,he){var ve=o.get();ve.context=t,ve.release=_,ve.value=pe,ve.callback=he||zl,u===p.concurrency||p.paused?a?(ve.next=a,a=ve):(a=ve,n=ve,p.saturated()):(u++,e.call(t,ve.value,ve.worked))}function _(pe){pe&&o.release(pe);var he=a;he?p.paused?u--:(n===a&&(n=null),a=he.next,he.next=null,e.call(t,he.value,he.worked),n===null&&p.empty()):--u===0&&p.drain()}function V(){a=null,n=null,p.drain=zl}function re(){a=null,n=null,p.drain(),p.drain=zl}function oe(pe){A=pe}}function zl(){}function w$e(){this.value=null,this.callback=zl,this.next=null,this.release=zl,this.context=null,this.errorHandler=null;var t=this;this.worked=function(r,o){var a=t.callback,n=t.errorHandler,u=t.value;t.value=null,t.callback=zl,t.errorHandler&&n(r,u),a.call(t.context,r,o),t.release(t)}}function B$e(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function o(E,w){e.call(this,E).then(function(v){w(null,v)},w)}var a=Rie(t,o,r),n=a.push,u=a.unshift;return a.push=A,a.unshift=p,a.drained=h,a;function A(E){var w=new Promise(function(v,b){n(E,function(C,R){if(C){b(C);return}v(R)})});return w.catch(zl),w}function p(E){var w=new Promise(function(v,b){u(E,function(C,R){if(C){b(C);return}v(R)})});return w.catch(zl),w}function h(){var E=a.drain,w=new Promise(function(v){a.drain=function(){E(),v()}});return w}}JL.exports=Rie;JL.exports.promise=B$e});var fP=U(tA=>{"use strict";Object.defineProperty(tA,"__esModule",{value:!0});tA.joinPathSegments=tA.replacePathSegmentSeparator=tA.isAppliedFilter=tA.isFatalError=void 0;function v$e(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}tA.isFatalError=v$e;function D$e(t,e){return t===null||t(e)}tA.isAppliedFilter=D$e;function S$e(t,e){return t.split(/[/\\]/).join(e)}tA.replacePathSegmentSeparator=S$e;function P$e(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}tA.joinPathSegments=P$e});var ZL=U(XL=>{"use strict";Object.defineProperty(XL,"__esModule",{value:!0});var x$e=fP(),zL=class{constructor(e,r){this._root=e,this._settings=r,this._root=x$e.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};XL.default=zL});var tO=U(eO=>{"use strict";Object.defineProperty(eO,"__esModule",{value:!0});var b$e=Ie("events"),Q$e=AP(),k$e=Tie(),pP=fP(),F$e=ZL(),$L=class extends F$e.default{constructor(e,r){super(e,r),this._settings=r,this._scandir=Q$e.scandir,this._emitter=new b$e.EventEmitter,this._queue=k$e(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let o={directory:e,base:r};this._queue.push(o,a=>{a!==null&&this._handleError(a)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(o,a)=>{if(o!==null){r(o,void 0);return}for(let n of a)this._handleEntry(n,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!pP.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let o=e.path;r!==void 0&&(e.path=pP.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),pP.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&pP.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};eO.default=$L});var Nie=U(nO=>{"use strict";Object.defineProperty(nO,"__esModule",{value:!0});var R$e=tO(),rO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new R$e.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{T$e(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{N$e(e,[...this._storage])}),this._reader.read()}};nO.default=rO;function T$e(t,e){t(e)}function N$e(t,e){t(null,e)}});var Lie=U(sO=>{"use strict";Object.defineProperty(sO,"__esModule",{value:!0});var L$e=Ie("stream"),O$e=tO(),iO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new O$e.default(this._root,this._settings),this._stream=new L$e.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};sO.default=iO});var Oie=U(aO=>{"use strict";Object.defineProperty(aO,"__esModule",{value:!0});var M$e=AP(),hP=fP(),U$e=ZL(),oO=class extends U$e.default{constructor(){super(...arguments),this._scandir=M$e.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let o=this._scandir(e,this._settings.fsScandirSettings);for(let a of o)this._handleEntry(a,r)}catch(o){this._handleError(o)}}_handleError(e){if(!!hP.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let o=e.path;r!==void 0&&(e.path=hP.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),hP.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&hP.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,e.path)}_pushToStorage(e){this._storage.add(e)}};aO.default=oO});var Mie=U(cO=>{"use strict";Object.defineProperty(cO,"__esModule",{value:!0});var _$e=Oie(),lO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new _$e.default(this._root,this._settings)}read(){return this._reader.read()}};cO.default=lO});var Uie=U(AO=>{"use strict";Object.defineProperty(AO,"__esModule",{value:!0});var H$e=Ie("path"),q$e=AP(),uO=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,H$e.sep),this.fsScandirSettings=new q$e.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};AO.default=uO});var dP=U(rA=>{"use strict";Object.defineProperty(rA,"__esModule",{value:!0});rA.Settings=rA.walkStream=rA.walkSync=rA.walk=void 0;var _ie=Nie(),j$e=Lie(),G$e=Mie(),fO=Uie();rA.Settings=fO.default;function W$e(t,e,r){if(typeof e=="function"){new _ie.default(t,gP()).read(e);return}new _ie.default(t,gP(e)).read(r)}rA.walk=W$e;function Y$e(t,e){let r=gP(e);return new G$e.default(t,r).read()}rA.walkSync=Y$e;function K$e(t,e){let r=gP(e);return new j$e.default(t,r).read()}rA.walkStream=K$e;function gP(t={}){return t instanceof fO.default?t:new fO.default(t)}});var mP=U(hO=>{"use strict";Object.defineProperty(hO,"__esModule",{value:!0});var V$e=Ie("path"),J$e=yd(),Hie=Sf(),pO=class{constructor(e){this._settings=e,this._fsStatSettings=new J$e.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return V$e.resolve(this._settings.cwd,e)}_makeEntry(e,r){let o={name:r,path:r,dirent:Hie.fs.createDirentFromStats(r,e)};return this._settings.stats&&(o.stats=e),o}_isFatalError(e){return!Hie.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};hO.default=pO});var mO=U(dO=>{"use strict";Object.defineProperty(dO,"__esModule",{value:!0});var z$e=Ie("stream"),X$e=yd(),Z$e=dP(),$$e=mP(),gO=class extends $$e.default{constructor(){super(...arguments),this._walkStream=Z$e.walkStream,this._stat=X$e.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let o=e.map(this._getFullEntryPath,this),a=new z$e.PassThrough({objectMode:!0});a._write=(n,u,A)=>this._getEntry(o[n],e[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===o.length-1&&a.end(),A()}).catch(A);for(let n=0;n<o.length;n++)a.write(n);return a}_getEntry(e,r,o){return this._getStat(e).then(a=>this._makeEntry(a,r)).catch(a=>{if(o.errorFilter(a))return null;throw a})}_getStat(e){return new Promise((r,o)=>{this._stat(e,this._fsStatSettings,(a,n)=>a===null?r(n):o(a))})}};dO.default=gO});var qie=U(CO=>{"use strict";Object.defineProperty(CO,"__esModule",{value:!0});var eet=dP(),tet=mP(),ret=mO(),yO=class extends tet.default{constructor(){super(...arguments),this._walkAsync=eet.walk,this._readerStream=new ret.default(this._settings)}dynamic(e,r){return new Promise((o,a)=>{this._walkAsync(e,r,(n,u)=>{n===null?o(u):a(n)})})}async static(e,r){let o=[],a=this._readerStream.static(e,r);return new Promise((n,u)=>{a.once("error",u),a.on("data",A=>o.push(A)),a.once("end",()=>n(o))})}};CO.default=yO});var jie=U(IO=>{"use strict";Object.defineProperty(IO,"__esModule",{value:!0});var rC=Sf(),EO=class{constructor(e,r,o){this._patterns=e,this._settings=r,this._micromatchOptions=o,this._storage=[],this._fillStorage()}_fillStorage(){let e=rC.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let o=this._getPatternSegments(r),a=this._splitSegmentsIntoSections(o);this._storage.push({complete:a.length<=1,pattern:r,segments:o,sections:a})}}_getPatternSegments(e){return rC.pattern.getPatternParts(e,this._micromatchOptions).map(o=>rC.pattern.isDynamicPattern(o,this._settings)?{dynamic:!0,pattern:o,patternRe:rC.pattern.makeRe(o,this._micromatchOptions)}:{dynamic:!1,pattern:o})}_splitSegmentsIntoSections(e){return rC.array.splitWhen(e,r=>r.dynamic&&rC.pattern.hasGlobStar(r.pattern))}};IO.default=EO});var Gie=U(BO=>{"use strict";Object.defineProperty(BO,"__esModule",{value:!0});var net=jie(),wO=class extends net.default{match(e){let r=e.split("/"),o=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>o);for(let n of a){let u=n.sections[0];if(!n.complete&&o>u.length||r.every((p,h)=>{let E=n.segments[h];return!!(E.dynamic&&E.patternRe.test(p)||!E.dynamic&&E.pattern===p)}))return!0}return!1}};BO.default=wO});var Wie=U(DO=>{"use strict";Object.defineProperty(DO,"__esModule",{value:!0});var yP=Sf(),iet=Gie(),vO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,o){let a=this._getMatcher(r),n=this._getNegativePatternsRe(o);return u=>this._filter(e,u,a,n)}_getMatcher(e){return new iet.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(yP.pattern.isAffectDepthOfReadingPattern);return yP.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,o,a){if(this._isSkippedByDeep(e,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=yP.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,o)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(e,r){return this._settings.deep===1/0?!1:this._getEntryLevel(e,r)>=this._settings.deep}_getEntryLevel(e,r){let o=r.split("/").length;if(e==="")return o;let a=e.split("/").length;return o-a}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!yP.pattern.matchAny(e,r)}};DO.default=vO});var Yie=U(PO=>{"use strict";Object.defineProperty(PO,"__esModule",{value:!0});var Cd=Sf(),SO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let o=Cd.pattern.convertPatternsToRe(e,this._micromatchOptions),a=Cd.pattern.convertPatternsToRe(r,this._micromatchOptions);return n=>this._filter(n,o,a)}_filter(e,r,o){if(this._settings.unique&&this._isDuplicateEntry(e)||this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e.path,o))return!1;let a=this._settings.baseNameMatch?e.name:e.path,n=e.dirent.isDirectory(),u=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(e.path,o,n);return this._settings.unique&&u&&this._createIndexRecord(e),u}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let o=Cd.path.makeAbsolute(this._settings.cwd,e);return Cd.pattern.matchAny(o,r)}_isMatchToPatterns(e,r,o){let a=Cd.path.removeLeadingDotSegment(e),n=Cd.pattern.matchAny(a,r);return!n&&o?Cd.pattern.matchAny(a+"/",r):n}};PO.default=SO});var Kie=U(bO=>{"use strict";Object.defineProperty(bO,"__esModule",{value:!0});var set=Sf(),xO=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return set.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};bO.default=xO});var Jie=U(kO=>{"use strict";Object.defineProperty(kO,"__esModule",{value:!0});var Vie=Sf(),QO=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=Vie.path.makeAbsolute(this._settings.cwd,r),r=Vie.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};kO.default=QO});var CP=U(RO=>{"use strict";Object.defineProperty(RO,"__esModule",{value:!0});var oet=Ie("path"),aet=Wie(),cet=Yie(),uet=Kie(),Aet=Jie(),FO=class{constructor(e){this._settings=e,this.errorFilter=new uet.default(this._settings),this.entryFilter=new cet.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new aet.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new Aet.default(this._settings)}_getRootDirectory(e){return oet.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};RO.default=FO});var zie=U(NO=>{"use strict";Object.defineProperty(NO,"__esModule",{value:!0});var fet=qie(),pet=CP(),TO=class extends pet.default{constructor(){super(...arguments),this._reader=new fet.default(this._settings)}async read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return(await this.api(r,e,o)).map(n=>o.transform(n))}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};NO.default=TO});var Xie=U(OO=>{"use strict";Object.defineProperty(OO,"__esModule",{value:!0});var het=Ie("stream"),get=mO(),det=CP(),LO=class extends det.default{constructor(){super(...arguments),this._reader=new get.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e),a=this.api(r,e,o),n=new het.Readable({objectMode:!0,read:()=>{}});return a.once("error",u=>n.emit("error",u)).on("data",u=>n.emit("data",o.transform(u))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};OO.default=LO});var Zie=U(UO=>{"use strict";Object.defineProperty(UO,"__esModule",{value:!0});var met=yd(),yet=dP(),Cet=mP(),MO=class extends Cet.default{constructor(){super(...arguments),this._walkSync=yet.walkSync,this._statSync=met.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let o=[];for(let a of e){let n=this._getFullEntryPath(a),u=this._getEntry(n,a,r);u===null||!r.entryFilter(u)||o.push(u)}return o}_getEntry(e,r,o){try{let a=this._getStat(e);return this._makeEntry(a,r)}catch(a){if(o.errorFilter(a))return null;throw a}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};UO.default=MO});var $ie=U(HO=>{"use strict";Object.defineProperty(HO,"__esModule",{value:!0});var Eet=Zie(),Iet=CP(),_O=class extends Iet.default{constructor(){super(...arguments),this._reader=new Eet.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return this.api(r,e,o).map(o.transform)}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};HO.default=_O});var ese=U(iC=>{"use strict";Object.defineProperty(iC,"__esModule",{value:!0});iC.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var nC=Ie("fs"),wet=Ie("os"),Bet=Math.max(wet.cpus().length,1);iC.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:nC.lstat,lstatSync:nC.lstatSync,stat:nC.stat,statSync:nC.statSync,readdir:nC.readdir,readdirSync:nC.readdirSync};var qO=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,Bet),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},iC.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};iC.default=qO});var EP=U((aNt,nse)=>{"use strict";var tse=nie(),rse=sie(),vet=zie(),Det=Xie(),Pet=$ie(),jO=ese(),Ed=Sf();async function GO(t,e){sC(t);let r=WO(t,vet.default,e),o=await Promise.all(r);return Ed.array.flatten(o)}(function(t){function e(u,A){sC(u);let p=WO(u,Pet.default,A);return Ed.array.flatten(p)}t.sync=e;function r(u,A){sC(u);let p=WO(u,Det.default,A);return Ed.stream.merge(p)}t.stream=r;function o(u,A){sC(u);let p=rse.transform([].concat(u)),h=new jO.default(A);return tse.generate(p,h)}t.generateTasks=o;function a(u,A){sC(u);let p=new jO.default(A);return Ed.pattern.isDynamicPattern(u,p)}t.isDynamicPattern=a;function n(u){return sC(u),Ed.path.escape(u)}t.escapePath=n})(GO||(GO={}));function WO(t,e,r){let o=rse.transform([].concat(t)),a=new jO.default(r),n=tse.generate(o,a),u=new e(a);return n.map(u.read,u)}function sC(t){if(![].concat(t).every(o=>Ed.string.isString(o)&&!Ed.string.isEmpty(o)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}nse.exports=GO});var sse=U(Id=>{"use strict";var{promisify:xet}=Ie("util"),ise=Ie("fs");async function YO(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await xet(ise[t])(r))[e]()}catch(o){if(o.code==="ENOENT")return!1;throw o}}function KO(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return ise[t](r)[e]()}catch(o){if(o.code==="ENOENT")return!1;throw o}}Id.isFile=YO.bind(null,"stat","isFile");Id.isDirectory=YO.bind(null,"stat","isDirectory");Id.isSymlink=YO.bind(null,"lstat","isSymbolicLink");Id.isFileSync=KO.bind(null,"statSync","isFile");Id.isDirectorySync=KO.bind(null,"statSync","isDirectory");Id.isSymlinkSync=KO.bind(null,"lstatSync","isSymbolicLink")});var use=U((cNt,VO)=>{"use strict";var wd=Ie("path"),ose=sse(),ase=t=>t.length>1?`{${t.join(",")}}`:t[0],lse=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return wd.isAbsolute(r)?r:wd.join(e,r)},bet=(t,e)=>wd.extname(t)?`**/${t}`:`**/${t}.${ase(e)}`,cse=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>wd.posix.join(t,bet(r,e.extensions))):e.files?e.files.map(r=>wd.posix.join(t,`**/${r}`)):e.extensions?[wd.posix.join(t,`**/*.${ase(e.extensions)}`)]:[wd.posix.join(t,"**")]};VO.exports=async(t,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async o=>await ose.isDirectory(lse(o,e.cwd))?cse(o,e):o));return[].concat.apply([],r)};VO.exports.sync=(t,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(o=>ose.isDirectorySync(lse(o,e.cwd))?cse(o,e):o);return[].concat.apply([],r)}});var Cse=U((uNt,yse)=>{function Ase(t){return Array.isArray(t)?t:[t]}var gse="",fse=" ",JO="\\",Qet=/^\s+$/,ket=/^\\!/,Fet=/^\\#/,Ret=/\r?\n/g,Tet=/^\.*\/|^\.+$/,zO="/",pse=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",Net=(t,e,r)=>Object.defineProperty(t,e,{value:r}),Let=/([0-z])-([0-z])/g,dse=()=>!1,Oet=t=>t.replace(Let,(e,r,o)=>r.charCodeAt(0)<=o.charCodeAt(0)?e:gse),Met=t=>{let{length:e}=t;return t.slice(0,e-e%2)},Uet=[[/\\?\s+$/,t=>t.indexOf("\\")===0?fse:gse],[/\\\s/g,()=>fse],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6<r.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)\\\*(?=.+)/g,(t,e)=>`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>JO],[/\\\\/g,()=>JO],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,o,a)=>e===JO?`\\[${r}${Met(o)}${a}`:a==="]"&&o.length%2===0?`[${Oet(r)}${o}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],hse=Object.create(null),_et=(t,e)=>{let r=hse[t];return r||(r=Uet.reduce((o,a)=>o.replace(a[0],a[1].bind(t)),t),hse[t]=r),e?new RegExp(r,"i"):new RegExp(r)},$O=t=>typeof t=="string",Het=t=>t&&$O(t)&&!Qet.test(t)&&t.indexOf("#")!==0,qet=t=>t.split(Ret),XO=class{constructor(e,r,o,a){this.origin=e,this.pattern=r,this.negative=o,this.regex=a}},jet=(t,e)=>{let r=t,o=!1;t.indexOf("!")===0&&(o=!0,t=t.substr(1)),t=t.replace(ket,"!").replace(Fet,"#");let a=_et(t,e);return new XO(r,t,o,a)},Get=(t,e)=>{throw new e(t)},xf=(t,e,r)=>$O(t)?t?xf.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),mse=t=>Tet.test(t);xf.isNotRelative=mse;xf.convert=t=>t;var ZO=class{constructor({ignorecase:e=!0,ignoreCase:r=e,allowRelativePaths:o=!1}={}){Net(this,pse,!0),this._rules=[],this._ignoreCase=r,this._allowRelativePaths=o,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[pse]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Het(e)){let r=jet(e,this._ignoreCase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,Ase($O(e)?qet(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let o=!1,a=!1;return this._rules.forEach(n=>{let{negative:u}=n;if(a===u&&o!==a||u&&!o&&!a&&!r)return;n.regex.test(e)&&(o=!u,a=u)}),{ignored:o,unignored:a}}_test(e,r,o,a){let n=e&&xf.convert(e);return xf(n,e,this._allowRelativePaths?dse:Get),this._t(n,r,o,a)}_t(e,r,o,a){if(e in r)return r[e];if(a||(a=e.split(zO)),a.pop(),!a.length)return r[e]=this._testOne(e,o);let n=this._t(a.join(zO)+zO,r,o,a);return r[e]=n.ignored?n:this._testOne(e,o)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return Ase(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},IP=t=>new ZO(t),Wet=t=>xf(t&&xf.convert(t),t,dse);IP.isPathValid=Wet;IP.default=IP;yse.exports=IP;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");xf.convert=t;let e=/^[a-z]:\//i;xf.isNotRelative=r=>e.test(r)||mse(r)}});var Ise=U((ANt,Ese)=>{"use strict";Ese.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var xse=U((fNt,eM)=>{"use strict";var{promisify:Yet}=Ie("util"),wse=Ie("fs"),bf=Ie("path"),Bse=EP(),Ket=Cse(),jw=Ise(),vse=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],Vet=Yet(wse.readFile),Jet=t=>e=>e.startsWith("!")?"!"+bf.posix.join(t,e.slice(1)):bf.posix.join(t,e),zet=(t,e)=>{let r=jw(bf.relative(e.cwd,bf.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(o=>!o.startsWith("#")).map(Jet(r))},Dse=t=>{let e=Ket();for(let r of t)e.add(zet(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},Xet=(t,e)=>{if(t=jw(t),bf.isAbsolute(e)){if(jw(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return bf.join(t,e)},Sse=(t,e)=>r=>t.ignores(jw(bf.relative(e,Xet(e,r.path||r)))),Zet=async(t,e)=>{let r=bf.join(e,t),o=await Vet(r,"utf8");return{cwd:e,filePath:r,content:o}},$et=(t,e)=>{let r=bf.join(e,t),o=wse.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:o}},Pse=({ignore:t=[],cwd:e=jw(process.cwd())}={})=>({ignore:t,cwd:e});eM.exports=async t=>{t=Pse(t);let e=await Bse("**/.gitignore",{ignore:vse.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(a=>Zet(a,t.cwd))),o=Dse(r);return Sse(o,t.cwd)};eM.exports.sync=t=>{t=Pse(t);let r=Bse.sync("**/.gitignore",{ignore:vse.concat(t.ignore),cwd:t.cwd}).map(a=>$et(a,t.cwd)),o=Dse(r);return Sse(o,t.cwd)}});var Qse=U((pNt,bse)=>{"use strict";var{Transform:ett}=Ie("stream"),wP=class extends ett{constructor(){super({objectMode:!0})}},tM=class extends wP{constructor(e){super(),this._filter=e}_transform(e,r,o){this._filter(e)&&this.push(e),o()}},rM=class extends wP{constructor(){super(),this._pushed=new Set}_transform(e,r,o){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),o()}};bse.exports={FilterStream:tM,UniqueStream:rM}});var oM=U((hNt,Bd)=>{"use strict";var Fse=Ie("fs"),BP=bne(),ttt=DL(),vP=EP(),DP=use(),nM=xse(),{FilterStream:rtt,UniqueStream:ntt}=Qse(),Rse=()=>!1,kse=t=>t[0]==="!",itt=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},stt=(t={})=>{if(!t.cwd)return;let e;try{e=Fse.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},ott=t=>t.stats instanceof Fse.Stats?t.path:t,SP=(t,e)=>{t=BP([].concat(t)),itt(t),stt(e);let r=[];e={ignore:[],expandDirectories:!0,...e};for(let[o,a]of t.entries()){if(kse(a))continue;let n=t.slice(o).filter(A=>kse(A)).map(A=>A.slice(1)),u={...e,ignore:e.ignore.concat(n)};r.push({pattern:a,options:u})}return r},att=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r={...r,files:t.options.expandDirectories}:typeof t.options.expandDirectories=="object"&&(r={...r,...t.options.expandDirectories}),e(t.pattern,r)},iM=(t,e)=>t.options.expandDirectories?att(t,e):[t.pattern],Tse=t=>t&&t.gitignore?nM.sync({cwd:t.cwd,ignore:t.ignore}):Rse,sM=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=DP.sync(r.ignore)),{pattern:e,options:r}};Bd.exports=async(t,e)=>{let r=SP(t,e),o=async()=>e&&e.gitignore?nM({cwd:e.cwd,ignore:e.ignore}):Rse,a=async()=>{let p=await Promise.all(r.map(async h=>{let E=await iM(h,DP);return Promise.all(E.map(sM(h)))}));return BP(...p)},[n,u]=await Promise.all([o(),a()]),A=await Promise.all(u.map(p=>vP(p.pattern,p.options)));return BP(...A).filter(p=>!n(ott(p)))};Bd.exports.sync=(t,e)=>{let r=SP(t,e),o=[];for(let u of r){let A=iM(u,DP.sync).map(sM(u));o.push(...A)}let a=Tse(e),n=[];for(let u of o)n=BP(n,vP.sync(u.pattern,u.options));return n.filter(u=>!a(u))};Bd.exports.stream=(t,e)=>{let r=SP(t,e),o=[];for(let A of r){let p=iM(A,DP.sync).map(sM(A));o.push(...p)}let a=Tse(e),n=new rtt(A=>!a(A)),u=new ntt;return ttt(o.map(A=>vP.stream(A.pattern,A.options))).pipe(n).pipe(u)};Bd.exports.generateGlobTasks=SP;Bd.exports.hasMagic=(t,e)=>[].concat(t).some(r=>vP.isDynamicPattern(r,e));Bd.exports.gitignore=nM});var bn={};Yt(bn,{checksumFile:()=>xP,checksumPattern:()=>bP,makeHash:()=>Vs});function Vs(...t){let e=(0,PP.createHash)("sha512"),r="";for(let o of t)typeof o=="string"?r+=o:o&&(r&&(e.update(r),r=""),e.update(o));return r&&e.update(r),e.digest("hex")}async function xP(t,{baseFs:e,algorithm:r}={baseFs:ae,algorithm:"sha512"}){let o=await e.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,PP.createHash)(r),A=0;for(;(A=await e.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await e.closePromise(o)}}async function bP(t,{cwd:e}){let o=(await(0,aM.default)(t,{cwd:ue.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(A=>`${A}/**/*`),a=await(0,aM.default)([t,...o],{cwd:ue.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});a.sort();let n=await Promise.all(a.map(async A=>{let p=[Buffer.from(A)],h=ue.toPortablePath(A),E=await ae.lstatPromise(h);return E.isSymbolicLink()?p.push(Buffer.from(await ae.readlinkPromise(h))):E.isFile()&&p.push(await ae.readFilePromise(h)),p.join("\0")})),u=(0,PP.createHash)("sha512");for(let A of n)u.update(A);return u.digest("hex")}var PP,aM,t0=dt(()=>{bt();PP=Ie("crypto"),aM=tt(oM())});var Y={};Yt(Y,{areDescriptorsEqual:()=>Use,areIdentsEqual:()=>Vw,areLocatorsEqual:()=>Jw,areVirtualPackagesEquivalent:()=>dtt,bindDescriptor:()=>htt,bindLocator:()=>gtt,convertDescriptorToLocator:()=>QP,convertLocatorToDescriptor:()=>cM,convertPackageToLocator:()=>Att,convertToIdent:()=>utt,convertToManifestRange:()=>Ett,copyPackage:()=>Ww,devirtualizeDescriptor:()=>Yw,devirtualizeLocator:()=>Kw,ensureDevirtualizedDescriptor:()=>ftt,ensureDevirtualizedLocator:()=>ptt,getIdentVendorPath:()=>hM,isPackageCompatible:()=>NP,isVirtualDescriptor:()=>Qf,isVirtualLocator:()=>Wc,makeDescriptor:()=>mn,makeIdent:()=>nA,makeLocator:()=>us,makeRange:()=>FP,parseDescriptor:()=>r0,parseFileStyleRange:()=>ytt,parseIdent:()=>Ys,parseLocator:()=>kf,parseRange:()=>vd,prettyDependent:()=>vL,prettyDescriptor:()=>Ln,prettyIdent:()=>cs,prettyLocator:()=>kr,prettyLocatorNoColors:()=>pM,prettyRange:()=>TP,prettyReference:()=>Xw,prettyResolution:()=>qw,prettyWorkspace:()=>Zw,renamePackage:()=>uM,slugifyIdent:()=>lM,slugifyLocator:()=>aC,sortDescriptors:()=>lC,stringifyDescriptor:()=>ba,stringifyIdent:()=>nn,stringifyLocator:()=>Vl,tryParseDescriptor:()=>zw,tryParseIdent:()=>_se,tryParseLocator:()=>kP,tryParseRange:()=>mtt,virtualizeDescriptor:()=>AM,virtualizePackage:()=>fM});function nA(t,e){if(t!=null&&t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:Vs(t,e),scope:t,name:e}}function mn(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:Vs(t.identHash,e),range:e}}function us(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:Vs(t.identHash,e),reference:e}}function utt(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function QP(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function cM(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function Att(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function uM(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function Ww(t){return uM(t,t)}function AM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return mn(t,`virtual:${e}#${t.range}`)}function fM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return uM(t,us(t,`virtual:${e}#${t.reference}`))}function Qf(t){return t.range.startsWith(Gw)}function Wc(t){return t.reference.startsWith(Gw)}function Yw(t){if(!Qf(t))throw new Error("Not a virtual descriptor");return mn(t,t.range.replace(/^[^#]*#/,""))}function Kw(t){if(!Wc(t))throw new Error("Not a virtual descriptor");return us(t,t.reference.replace(/^[^#]*#/,""))}function ftt(t){return Qf(t)?mn(t,t.range.replace(/^[^#]*#/,"")):t}function ptt(t){return Wc(t)?us(t,t.reference.replace(/^[^#]*#/,"")):t}function htt(t,e){return t.range.includes("::")?t:mn(t,`${t.range}::${oC.default.stringify(e)}`)}function gtt(t,e){return t.reference.includes("::")?t:us(t,`${t.reference}::${oC.default.stringify(e)}`)}function Vw(t,e){return t.identHash===e.identHash}function Use(t,e){return t.descriptorHash===e.descriptorHash}function Jw(t,e){return t.locatorHash===e.locatorHash}function dtt(t,e){if(!Wc(t))throw new Error("Invalid package type");if(!Wc(e))throw new Error("Invalid package type");if(!Vw(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let o=e.dependencies.get(r.identHash);if(!o||!Use(r,o))return!1}return!0}function Ys(t){let e=_se(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function _se(t){let e=t.match(/^(?:@([^/]+?)\/)?([^@/]+)$/);if(!e)return null;let[,r,o]=e;return nA(typeof r<"u"?r:null,o)}function r0(t,e=!1){let r=zw(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function zw(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid range (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return mn(nA(u,a),A)}function kf(t,e=!1){let r=kP(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function kP(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return us(nA(u,a),A)}function vd(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let o=typeof r[1]<"u"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&o!==e.requireProtocol)throw new Error(`Invalid protocol (${o})`);if((e==null?void 0:e.requireProtocol)&&o===null)throw new Error(`Missing protocol (${o})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&a===null)throw new Error(`Missing source (${t})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),u=e!=null&&e.parseSelector?oC.default.parse(n):n,A=typeof r[4]<"u"?oC.default.parse(r[4]):null;return{protocol:o,source:a,selector:u,params:A}}function mtt(t,e){try{return vd(t,e)}catch{return null}}function ytt(t,{protocol:e}){let{selector:r,params:o}=vd(t,{requireProtocol:e,requireBindings:!0});if(typeof o.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:kf(o.locator,!0),path:r}}function Nse(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function Ctt(t){return t===null?!1:Object.entries(t).length>0}function FP({protocol:t,source:e,selector:r,params:o}){let a="";return t!==null&&(a+=`${t}`),e!==null&&(a+=`${Nse(e)}#`),a+=Nse(r),Ctt(o)&&(a+=`::${oC.default.stringify(o)}`),a}function Ett(t){let{params:e,protocol:r,source:o,selector:a}=vd(t);for(let n in e)n.startsWith("__")&&delete e[n];return FP({protocol:r,source:o,params:e,selector:a})}function nn(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function ba(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function Vl(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function lM(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function aC(t){let{protocol:e,selector:r}=vd(t.reference),o=e!==null?e.replace(/:$/,""):"exotic",a=Lse.default.valid(r),n=a!==null?`${o}-${a}`:`${o}`,u=10,A=t.scope?`${lM(t)}-${n}-${t.locatorHash.slice(0,u)}`:`${lM(t)}-${n}-${t.locatorHash.slice(0,u)}`;return Li(A)}function cs(t,e){return e.scope?`${Kt(t,`@${e.scope}/`,Bt.SCOPE)}${Kt(t,e.name,Bt.NAME)}`:`${Kt(t,e.name,Bt.NAME)}`}function RP(t){if(t.startsWith(Gw)){let e=RP(t.substring(t.indexOf("#")+1)),r=t.substring(Gw.length,Gw.length+ltt);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function TP(t,e){return`${Kt(t,RP(e),Bt.RANGE)}`}function Ln(t,e){return`${cs(t,e)}${Kt(t,"@",Bt.RANGE)}${TP(t,e.range)}`}function Xw(t,e){return`${Kt(t,RP(e),Bt.REFERENCE)}`}function kr(t,e){return`${cs(t,e)}${Kt(t,"@",Bt.REFERENCE)}${Xw(t,e.reference)}`}function pM(t){return`${nn(t)}@${RP(t.reference)}`}function lC(t){return Pa(t,[e=>nn(e),e=>e.range])}function Zw(t,e){return cs(t,e.locator)}function qw(t,e,r){let o=Qf(e)?Yw(e):e;return r===null?`${Ln(t,o)} \u2192 ${BL(t).Cross}`:o.identHash===r.identHash?`${Ln(t,o)} \u2192 ${Xw(t,r.reference)}`:`${Ln(t,o)} \u2192 ${kr(t,r)}`}function vL(t,e,r){return r===null?`${kr(t,e)}`:`${kr(t,e)} (via ${TP(t,r.range)})`}function hM(t){return`node_modules/${nn(t)}`}function NP(t,e){return t.conditions?ctt(t.conditions,r=>{let[,o,a]=r.match(Mse),n=e[o];return n?n.includes(a):!0}):!0}var oC,Lse,Ose,Gw,ltt,Mse,ctt,Ks=dt(()=>{bt();oC=tt(Ie("querystring")),Lse=tt(si()),Ose=tt(iX());Jl();t0();Kl();Ks();Gw="virtual:",ltt=5,Mse=/(os|cpu|libc)=([a-z0-9_-]+)/,ctt=(0,Ose.makeParser)(Mse)});var Hse,qse=dt(()=>{Ks();Hse={hooks:{reduceDependency:(t,e,r,o,{resolver:a,resolveOptions:n})=>{for(let{pattern:u,reference:A}of e.topLevelWorkspace.manifest.resolutions){if(u.from&&(u.from.fullName!==nn(r)||e.configuration.normalizeLocator(us(Ys(u.from.fullName),u.from.description??r.reference)).locatorHash!==r.locatorHash)||u.descriptor.fullName!==nn(t)||e.configuration.normalizeDependency(mn(kf(u.descriptor.fullName),u.descriptor.description??t.range)).descriptorHash!==t.descriptorHash)continue;return a.bindDescriptor(e.configuration.normalizeDependency(mn(t,A)),e.topLevelWorkspace.anchoredLocator,n)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let o=Zw(t.configuration,r);await t.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>e.reportWarning(a,`${o}: ${n}`),reportError:(a,n)=>e.reportError(a,`${o}: ${n}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let o of r.errors)e.reportWarning(57,o.message)}}}});var $w,Gn,Dd=dt(()=>{$w=class{supportsDescriptor(e,r){return!!(e.range.startsWith($w.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith($w.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[o.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.getWorkspaceByCwd(e.reference.slice($w.protocol.length));return{...e,version:o.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...o.manifest.dependencies,...o.manifest.devDependencies])),peerDependencies:new Map([...o.manifest.peerDependencies]),dependenciesMeta:o.manifest.dependenciesMeta,peerDependenciesMeta:o.manifest.peerDependenciesMeta,bin:o.manifest.bin}}},Gn=$w;Gn.protocol="workspace:"});var Tr={};Yt(Tr,{SemVer:()=>Wse.SemVer,clean:()=>wtt,satisfiesWithPrereleases:()=>Sd,validRange:()=>ll});function Sd(t,e,r=!1){if(!t)return!1;let o=`${e}${r}`,a=jse.get(o);if(typeof a>"u")try{a=new LP.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{jse.set(o,a||null)}else if(a===null)return!1;let n;try{n=new LP.default.SemVer(t,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(u=>{for(let A of u)A.semver.prerelease&&(A.semver.prerelease=[]);return u.every(A=>A.test(n))}))}function ll(t){if(t.indexOf(":")!==-1)return null;let e=Gse.get(t);if(typeof e<"u")return e;try{e=new LP.default.Range(t)}catch{e=null}return Gse.set(t,e),e}function wtt(t){let e=Itt.exec(t);return e?e[1]:null}var LP,Wse,jse,Gse,Itt,n0=dt(()=>{LP=tt(si()),Wse=tt(si()),jse=new Map;Gse=new Map;Itt=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/});function Yse(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function Kse(t){return t.charCodeAt(0)===65279?t.slice(1):t}function zo(t){return t.replace(/\\/g,"/")}function OP(t,{yamlCompatibilityMode:e}){return e?gL(t):typeof t>"u"||typeof t=="boolean"?t:null}function Vse(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let o=r%2===0?"":"!",a=e.slice(r);return`${o}${t}=${a}`}function gM(t,e){return e.length===1?Vse(t,e[0]):`(${e.map(r=>Vse(t,r)).join(" | ")})`}var Jse,cC,Nt,uC=dt(()=>{bt();_l();Jse=tt(si());Dd();Kl();n0();Ks();cC=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new xn}={}){let o=z.join(e,"package.json");try{return await cC.fromFile(o,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(e,{baseFs:r}={}){let o=await cC.tryFind(e,{baseFs:r});if(o===null)throw new Error("Manifest not found");return o}static async fromFile(e,{baseFs:r=new xn}={}){let o=new cC;return await o.loadFile(e,{baseFs:r}),o}static fromText(e){let r=new cC;return r.loadFromText(e),r}loadFromText(e){let r;try{r=JSON.parse(Kse(e)||"{}")}catch(o){throw o.message+=` (when parsing ${e})`,o}this.load(r),this.indent=Yse(e)}async loadFile(e,{baseFs:r=new xn}){let o=await r.readFilePromise(e,"utf8"),a;try{a=JSON.parse(Kse(o)||"{}")}catch(n){throw n.message+=` (when parsing ${e})`,n}this.load(a),this.indent=Yse(o)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let o=[];if(this.name=null,typeof e.name=="string")try{this.name=Ys(e.name)}catch{o.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let n=[];this.os=n;for(let u of e.os)typeof u!="string"?o.push(new Error("Parsing failed for the 'os' field")):n.push(u)}else this.os=null;if(Array.isArray(e.cpu)){let n=[];this.cpu=n;for(let u of e.cpu)typeof u!="string"?o.push(new Error("Parsing failed for the 'cpu' field")):n.push(u)}else this.cpu=null;if(Array.isArray(e.libc)){let n=[];this.libc=n;for(let u of e.libc)typeof u!="string"?o.push(new Error("Parsing failed for the 'libc' field")):n.push(u)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=zo(e.main):this.main=null,typeof e.module=="string"?this.module=zo(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=zo(e.browser);else{this.browser=new Map;for(let[n,u]of Object.entries(e.browser))this.browser.set(zo(n),typeof u=="string"?zo(u):u)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,zo(e.bin)):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[n,u]of Object.entries(e.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}let A=Ys(n);this.bin.set(A.name,zo(u))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[n,u]of Object.entries(e.scripts)){if(typeof u!="string"){o.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,u)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[n,u]of Object.entries(e.dependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[n,u]of Object.entries(e.devDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[n,u]of Object.entries(e.peerDependencies)){let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof u!="string"||!u.startsWith(Gn.protocol)&&!ll(u))&&(o.push(new Error(`Invalid dependency range for '${n}'`)),u="*");let p=mn(A,u);this.peerDependencies.set(p.identHash,p)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&o.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let n of a){if(typeof n!="string"){o.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[n,u]of Object.entries(e.dependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}`));continue}let A=r0(n),p=this.ensureDependencyMeta(A),h=OP(u.built,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid built meta field for '${n}'`));continue}let E=OP(u.optional,{yamlCompatibilityMode:r});if(E===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}let w=OP(u.unplugged,{yamlCompatibilityMode:r});if(w===null){o.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:E,unplugged:w})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[n,u]of Object.entries(e.peerDependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}'`));continue}let A=r0(n),p=this.ensurePeerDependencyMeta(A),h=OP(u.optional,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[n,u]of Object.entries(e.resolutions)){if(typeof u!="string"){o.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:xD(n),reference:u})}catch(A){o.push(A);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let n of e.files){if(typeof n!="string"){o.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=zo(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=zo(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=zo(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,u]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(zo(n),typeof u=="string"?zo(u):u)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,zo(e.publishConfig.bin)]]):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[n,u]of Object.entries(e.publishConfig.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,zo(u))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of e.publishConfig.executableFiles){if(typeof n!="string"){o.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(zo(n))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let n of Object.keys(e.installConfig))n==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:o.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:o.push(new Error("Invalid selfReferences definition, must be a boolean value")):o.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[n,u]of Object.entries(e.optionalDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Ys(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=mn(A,u);this.dependencies.set(p.identHash,p);let h=mn(A,"unknown"),E=this.ensureDependencyMeta(h);Object.assign(E,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=o}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(gM("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(gM("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(gM("libc",this.libc)),e.length>0?e.join(" & "):null}ensureDependencyMeta(e){if(e.range!=="unknown"&&!Jse.default.valid(e.range))throw new Error(`Invalid meta field range for '${ba(e)}'`);let r=nn(e),o=e.range!=="unknown"?e.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(o);return n||a.set(o,n={}),n}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${ba(e)}'`);let r=nn(e),o=this.peerDependenciesMeta.get(r);return o||this.peerDependenciesMeta.set(r,o={}),o}setRawField(e,r,{after:o=[]}={}){let a=new Set(o.filter(n=>Object.prototype.hasOwnProperty.call(this.raw,n)));if(a.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let n=this.raw,u=this.raw={},A=!1;for(let p of Object.keys(n))u[p]=n[p],A||(a.delete(p),a.size===0&&(u[e]=r,A=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=nn(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let n=this.browser;typeof n=="string"?e.browser=n:n instanceof Map&&(e.browser=Object.assign({},...Array.from(n.keys()).sort().map(u=>({[u]:n.get(u)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(n=>({[n]:this.bin.get(n)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:n})=>n)}:e.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let o=[],a=[];for(let n of this.dependencies.values()){let u=this.dependenciesMeta.get(nn(n)),A=!1;if(r&&u){let p=u.get(null);p&&p.optional&&(A=!0)}A?a.push(n):o.push(n)}o.length>0?e.dependencies=Object.assign({},...lC(o).map(n=>({[nn(n)]:n.range}))):delete e.dependencies,a.length>0?e.optionalDependencies=Object.assign({},...lC(a).map(n=>({[nn(n)]:n.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...lC(this.devDependencies.values()).map(n=>({[nn(n)]:n.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...lC(this.peerDependencies.values()).map(n=>({[nn(n)]:n.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[n,u]of Pa(this.dependenciesMeta.entries(),([A,p])=>A))for(let[A,p]of Pa(u.entries(),([h,E])=>h!==null?`0${h}`:"1")){let h=A!==null?ba(mn(Ys(n),A)):n,E={...p};r&&A===null&&delete E.optional,Object.keys(E).length!==0&&(e.dependenciesMeta[h]=E)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...Pa(this.peerDependenciesMeta.entries(),([n,u])=>n).map(([n,u])=>({[n]:u}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:u})=>({[bD(n)]:u}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){e.scripts??(e.scripts={});for(let n of Object.keys(e.scripts))this.scripts.has(n)||delete e.scripts[n];for(let[n,u]of this.scripts.entries())e.scripts[n]=u}else delete e.scripts;return e}},Nt=cC;Nt.fileName="package.json",Nt.allDependencies=["dependencies","devDependencies","peerDependencies"],Nt.hardDependencies=["dependencies","devDependencies"]});var Xse=U((kNt,zse)=>{var Btt=Wl(),vtt=function(){return Btt.Date.now()};zse.exports=vtt});var $se=U((FNt,Zse)=>{var Dtt=/\s/;function Stt(t){for(var e=t.length;e--&&Dtt.test(t.charAt(e)););return e}Zse.exports=Stt});var toe=U((RNt,eoe)=>{var Ptt=$se(),xtt=/^\s+/;function btt(t){return t&&t.slice(0,Ptt(t)+1).replace(xtt,"")}eoe.exports=btt});var AC=U((TNt,roe)=>{var Qtt=pd(),ktt=Xu(),Ftt="[object Symbol]";function Rtt(t){return typeof t=="symbol"||ktt(t)&&Qtt(t)==Ftt}roe.exports=Rtt});var ooe=U((NNt,soe)=>{var Ttt=toe(),noe=ol(),Ntt=AC(),ioe=0/0,Ltt=/^[-+]0x[0-9a-f]+$/i,Ott=/^0b[01]+$/i,Mtt=/^0o[0-7]+$/i,Utt=parseInt;function _tt(t){if(typeof t=="number")return t;if(Ntt(t))return ioe;if(noe(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=noe(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Ttt(t);var r=Ott.test(t);return r||Mtt.test(t)?Utt(t.slice(2),r?2:8):Ltt.test(t)?ioe:+t}soe.exports=_tt});var coe=U((LNt,loe)=>{var Htt=ol(),dM=Xse(),aoe=ooe(),qtt="Expected a function",jtt=Math.max,Gtt=Math.min;function Wtt(t,e,r){var o,a,n,u,A,p,h=0,E=!1,w=!1,v=!0;if(typeof t!="function")throw new TypeError(qtt);e=aoe(e)||0,Htt(r)&&(E=!!r.leading,w="maxWait"in r,n=w?jtt(aoe(r.maxWait)||0,e):n,v="trailing"in r?!!r.trailing:v);function b(he){var ve=o,ge=a;return o=a=void 0,h=he,u=t.apply(ge,ve),u}function C(he){return h=he,A=setTimeout(_,e),E?b(he):u}function R(he){var ve=he-p,ge=he-h,le=e-ve;return w?Gtt(le,n-ge):le}function L(he){var ve=he-p,ge=he-h;return p===void 0||ve>=e||ve<0||w&&ge>=n}function _(){var he=dM();if(L(he))return V(he);A=setTimeout(_,R(he))}function V(he){return A=void 0,v&&o?b(he):(o=a=void 0,u)}function re(){A!==void 0&&clearTimeout(A),h=0,o=p=a=A=void 0}function oe(){return A===void 0?u:V(dM())}function pe(){var he=dM(),ve=L(he);if(o=arguments,a=this,p=he,ve){if(A===void 0)return C(p);if(w)return clearTimeout(A),A=setTimeout(_,e),b(p)}return A===void 0&&(A=setTimeout(_,e)),u}return pe.cancel=re,pe.flush=oe,pe}loe.exports=Wtt});var mM=U((ONt,uoe)=>{var Ytt=coe(),Ktt=ol(),Vtt="Expected a function";function Jtt(t,e,r){var o=!0,a=!0;if(typeof t!="function")throw new TypeError(Vtt);return Ktt(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),Ytt(t,e,{leading:o,maxWait:e,trailing:a})}uoe.exports=Jtt});function Xtt(t){return typeof t.reportCode<"u"}var Aoe,foe,poe,ztt,Vt,Js,Xl=dt(()=>{Aoe=tt(mM()),foe=Ie("stream"),poe=Ie("string_decoder"),ztt=15,Vt=class extends Error{constructor(r,o,a){super(o);this.reportExtra=a;this.reportCode=r}};Js=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,o,a=new Promise(p=>{o=p}),n=p=>{let h=o;a=new Promise(E=>{o=E}),r=p,h()},u=(p=0)=>{n(r+1)},A=async function*(){for(;r<e;)await a,yield{progress:r/e}}();return{[Symbol.asyncIterator](){return A},hasProgress:!0,hasTitle:!1,set:n,tick:u}}static progressViaTitle(){let e,r,o=new Promise(u=>{r=u}),a=(0,Aoe.default)(u=>{let A=r;o=new Promise(p=>{r=p}),e=u,A()},1e3/ztt),n=async function*(){for(;;)await o,yield{title:e}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(e,r){let o=this.reportProgress(e);try{return await r(e)}finally{o.stop()}}startProgressSync(e,r){let o=this.reportProgress(e);try{return r(e)}finally{o.stop()}}reportInfoOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportWarningOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportErrorOnce(e,r,o){var n;let a=o&&o.key?o.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(e,r),(n=o==null?void 0:o.reportExtra)==null||n.call(o,this))}reportExceptionOnce(e){Xtt(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new foe.PassThrough,o=new poe.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` |
135 | `),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",e!==null?this.reportInfo(null,`${e} ${p}`):this.reportInfo(null,p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&(e!==null?this.reportInfo(null,`${e} ${n}`):this.reportInfo(null,n))}),r}}});var aE,mM=dt(()=>{Jl();Ks();aE=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));return o||null}getFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));if(!o)throw new Jt(11,`${kr(r.project.configuration,e)} isn't supported by any available fetcher`);return o}}});var vd,yM=dt(()=>{Ks();vd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.getResolverByDescriptor(e,o).bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,o){return await this.getResolverByDescriptor(e,o).getCandidates(e,r,o)}async getSatisfying(e,r,o,a){return this.getResolverByDescriptor(e,a).getSatisfying(e,r,o,a)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));return o||null}getResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));if(!o)throw new Error(`${Ln(r.project.configuration,e)} isn't supported by any available resolver`);return o}tryResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));return o||null}getResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));if(!o)throw new Error(`${kr(r.project.configuration,e)} isn't supported by any available resolver`);return o}}});var lE,EM=dt(()=>{bt();Ks();lE=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=us(e,a);return r.fetcher.getLocalPath(n,r)}async fetch(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=us(e,a),u=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(e,u,r)}getLocatorFilename(e){return rE(e)}async ensureVirtualLink(e,r,o){let a=r.packageFs.getRealPath(),n=o.project.configuration.get("virtualFolder"),u=this.getLocatorFilename(e),A=pi.makeVirtualPath(n,u,a),p=new qu(A,{baseFs:r.packageFs,pathUtils:V});return{...r,packageFs:p}}}});var cE,zw,loe=dt(()=>{cE=class{static isVirtualDescriptor(e){return!!e.range.startsWith(cE.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(cE.protocol)}supportsDescriptor(e,r){return cE.isVirtualDescriptor(e)}supportsLocator(e,r){return cE.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,o){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,o,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},zw=cE;zw.protocol="virtual:"});var uE,CM=dt(()=>{bt();wd();uE=class{supports(e){return!!e.reference.startsWith(oi.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let o=this.getWorkspace(e,r).cwd;return{packageFs:new An(o),prefixPath:wt.dot,localPath:o}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(oi.protocol.length))}}});function Xw(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function coe(t){return typeof t>"u"?3:Xw(t)?0:Array.isArray(t)?1:2}function BM(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function qtt(t){return Xw(t)&&BM(t,"onConflict")&&typeof t.onConflict=="string"}function jtt(t){if(typeof t>"u")return{onConflict:"default",value:t};if(!qtt(t))return{onConflict:"default",value:t};if(BM(t,"value"))return t;let{onConflict:e,...r}=t;return{onConflict:e,value:r}}function uoe(t,e){let r=Xw(t)&&BM(t,e)?t[e]:void 0;return jtt(r)}function AE(t,e){return[t,e,Aoe]}function vM(t){return Array.isArray(t)?t[2]===Aoe:!1}function IM(t,e){if(Xw(t)){let r={};for(let o of Object.keys(t))r[o]=IM(t[o],e);return AE(e,r)}return Array.isArray(t)?AE(e,t.map(r=>IM(r,e))):AE(e,t)}function wM(t,e,r,o,a){let n,u=[],A=a,p=0;for(let C=a-1;C>=o;--C){let[w,v]=t[C],{onConflict:b,value:E}=uoe(v,r),R=coe(E);if(R!==3){if(n??(n=R),R!==n||b==="hardReset"){p=A;break}if(R===2)return AE(w,E);if(u.unshift([w,E]),b==="reset"){p=C;break}b==="extend"&&C===o&&(o=0),A=C}}if(typeof n>"u")return null;let h=u.map(([C])=>C).join(", ");switch(n){case 1:return AE(h,new Array().concat(...u.map(([C,w])=>w.map(v=>IM(v,C)))));case 0:{let C=Object.assign({},...u.map(([,R])=>R)),w=Object.keys(C),v={},b=t.map(([R,L])=>[R,uoe(L,r).value]),E=Htt(b,([R,L])=>{let _=coe(L);return _!==0&&_!==3});if(E!==-1){let R=b.slice(E+1);for(let L of w)v[L]=wM(R,e,L,0,R.length)}else for(let R of w)v[R]=wM(b,e,R,p,b.length);return AE(h,v)}default:throw new Error("Assertion failed: Non-extendable value type")}}function foe(t){return wM(t.map(([e,r])=>[e,{["."]:r}]),[],".",0,t.length)}function Zw(t){return vM(t)?t[1]:t}function kP(t){let e=vM(t)?t[1]:t;if(Array.isArray(e))return e.map(r=>kP(r));if(Xw(e)){let r={};for(let[o,a]of Object.entries(e))r[o]=kP(a);return r}return e}function DM(t){return vM(t)?t[0]:null}var Htt,Aoe,poe=dt(()=>{Htt=(t,e,r)=>{let o=[...t];return o.reverse(),o.findIndex(e,r)};Aoe=Symbol()});var FP={};Yt(FP,{getDefaultGlobalFolder:()=>PM,getHomeFolder:()=>fE,isFolderInside:()=>xM});function PM(){if(process.platform==="win32"){let t=Ae.toPortablePath(process.env.LOCALAPPDATA||Ae.join((0,SM.homedir)(),"AppData","Local"));return V.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=Ae.toPortablePath(process.env.XDG_DATA_HOME);return V.resolve(t,"yarn/berry")}return V.resolve(fE(),".yarn/berry")}function fE(){return Ae.toPortablePath((0,SM.homedir)()||"/usr/local/share")}function xM(t,e){let r=V.relative(e,t);return r&&!r.startsWith("..")&&!V.isAbsolute(r)}var SM,RP=dt(()=>{bt();SM=Ie("os")});var moe=U(pE=>{"use strict";var LNt=Ie("net"),Wtt=Ie("tls"),bM=Ie("http"),hoe=Ie("https"),Ytt=Ie("events"),ONt=Ie("assert"),Ktt=Ie("util");pE.httpOverHttp=Jtt;pE.httpsOverHttp=Vtt;pE.httpOverHttps=ztt;pE.httpsOverHttps=Xtt;function Jtt(t){var e=new Qf(t);return e.request=bM.request,e}function Vtt(t){var e=new Qf(t);return e.request=bM.request,e.createSocket=goe,e.defaultPort=443,e}function ztt(t){var e=new Qf(t);return e.request=hoe.request,e}function Xtt(t){var e=new Qf(t);return e.request=hoe.request,e.createSocket=goe,e.defaultPort=443,e}function Qf(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||bM.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(o,a,n,u){for(var A=doe(a,n,u),p=0,h=e.requests.length;p<h;++p){var C=e.requests[p];if(C.host===A.host&&C.port===A.port){e.requests.splice(p,1),C.request.onSocket(o);return}}o.destroy(),e.removeSocket(o)})}Ktt.inherits(Qf,Ytt.EventEmitter);Qf.prototype.addRequest=function(e,r,o,a){var n=this,u=QM({request:e},n.options,doe(r,o,a));if(n.sockets.length>=this.maxSockets){n.requests.push(u);return}n.createSocket(u,function(A){A.on("free",p),A.on("close",h),A.on("agentRemove",h),e.onSocket(A);function p(){n.emit("free",A,u)}function h(C){n.removeSocket(A),A.removeListener("free",p),A.removeListener("close",h),A.removeListener("agentRemove",h)}})};Qf.prototype.createSocket=function(e,r){var o=this,a={};o.sockets.push(a);var n=QM({},o.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(n.localAddress=e.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),n0("making CONNECT request");var u=o.request(n);u.useChunkedEncodingByDefault=!1,u.once("response",A),u.once("upgrade",p),u.once("connect",h),u.once("error",C),u.end();function A(w){w.upgrade=!0}function p(w,v,b){process.nextTick(function(){h(w,v,b)})}function h(w,v,b){if(u.removeAllListeners(),v.removeAllListeners(),w.statusCode!==200){n0("tunneling socket could not be established, statusCode=%d",w.statusCode),v.destroy();var E=new Error("tunneling socket could not be established, statusCode="+w.statusCode);E.code="ECONNRESET",e.request.emit("error",E),o.removeSocket(a);return}if(b.length>0){n0("got illegal response body from proxy"),v.destroy();var E=new Error("got illegal response body from proxy");E.code="ECONNRESET",e.request.emit("error",E),o.removeSocket(a);return}return n0("tunneling connection has established"),o.sockets[o.sockets.indexOf(a)]=v,r(v)}function C(w){u.removeAllListeners(),n0(`tunneling socket could not be established, cause=%s | 135 | `),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",e!==null?this.reportInfo(null,`${e} ${p}`):this.reportInfo(null,p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&(e!==null?this.reportInfo(null,`${e} ${n}`):this.reportInfo(null,n))}),r}}});var fC,yM=dt(()=>{Xl();Ks();fC=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));return o||null}getFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));if(!o)throw new Vt(11,`${kr(r.project.configuration,e)} isn't supported by any available fetcher`);return o}}});var Pd,CM=dt(()=>{Ks();Pd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.getResolverByDescriptor(e,o).bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,o){return await this.getResolverByDescriptor(e,o).getCandidates(e,r,o)}async getSatisfying(e,r,o,a){return this.getResolverByDescriptor(e,a).getSatisfying(e,r,o,a)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));return o||null}getResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));if(!o)throw new Error(`${Ln(r.project.configuration,e)} isn't supported by any available resolver`);return o}tryResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));return o||null}getResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));if(!o)throw new Error(`${kr(r.project.configuration,e)} isn't supported by any available resolver`);return o}}});var pC,EM=dt(()=>{bt();Ks();pC=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=us(e,a);return r.fetcher.getLocalPath(n,r)}async fetch(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=us(e,a),u=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(e,u,r)}getLocatorFilename(e){return aC(e)}async ensureVirtualLink(e,r,o){let a=r.packageFs.getRealPath(),n=o.project.configuration.get("virtualFolder"),u=this.getLocatorFilename(e),A=pi.makeVirtualPath(n,u,a),p=new ju(A,{baseFs:r.packageFs,pathUtils:z});return{...r,packageFs:p}}}});var hC,e1,hoe=dt(()=>{hC=class{static isVirtualDescriptor(e){return!!e.range.startsWith(hC.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(hC.protocol)}supportsDescriptor(e,r){return hC.isVirtualDescriptor(e)}supportsLocator(e,r){return hC.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,o){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,o,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},e1=hC;e1.protocol="virtual:"});var gC,IM=dt(()=>{bt();Dd();gC=class{supports(e){return!!e.reference.startsWith(Gn.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let o=this.getWorkspace(e,r).cwd;return{packageFs:new An(o),prefixPath:wt.dot,localPath:o}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Gn.protocol.length))}}});function t1(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function goe(t){return typeof t>"u"?3:t1(t)?0:Array.isArray(t)?1:2}function vM(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function $tt(t){return t1(t)&&vM(t,"onConflict")&&typeof t.onConflict=="string"}function ert(t){if(typeof t>"u")return{onConflict:"default",value:t};if(!$tt(t))return{onConflict:"default",value:t};if(vM(t,"value"))return t;let{onConflict:e,...r}=t;return{onConflict:e,value:r}}function doe(t,e){let r=t1(t)&&vM(t,e)?t[e]:void 0;return ert(r)}function dC(t,e){return[t,e,moe]}function DM(t){return Array.isArray(t)?t[2]===moe:!1}function wM(t,e){if(t1(t)){let r={};for(let o of Object.keys(t))r[o]=wM(t[o],e);return dC(e,r)}return Array.isArray(t)?dC(e,t.map(r=>wM(r,e))):dC(e,t)}function BM(t,e,r,o,a){let n,u=[],A=a,p=0;for(let E=a-1;E>=o;--E){let[w,v]=t[E],{onConflict:b,value:C}=doe(v,r),R=goe(C);if(R!==3){if(n??(n=R),R!==n||b==="hardReset"){p=A;break}if(R===2)return dC(w,C);if(u.unshift([w,C]),b==="reset"){p=E;break}b==="extend"&&E===o&&(o=0),A=E}}if(typeof n>"u")return null;let h=u.map(([E])=>E).join(", ");switch(n){case 1:return dC(h,new Array().concat(...u.map(([E,w])=>w.map(v=>wM(v,E)))));case 0:{let E=Object.assign({},...u.map(([,R])=>R)),w=Object.keys(E),v={},b=t.map(([R,L])=>[R,doe(L,r).value]),C=Ztt(b,([R,L])=>{let _=goe(L);return _!==0&&_!==3});if(C!==-1){let R=b.slice(C+1);for(let L of w)v[L]=BM(R,e,L,0,R.length)}else for(let R of w)v[R]=BM(b,e,R,p,b.length);return dC(h,v)}default:throw new Error("Assertion failed: Non-extendable value type")}}function yoe(t){return BM(t.map(([e,r])=>[e,{["."]:r}]),[],".",0,t.length)}function r1(t){return DM(t)?t[1]:t}function MP(t){let e=DM(t)?t[1]:t;if(Array.isArray(e))return e.map(r=>MP(r));if(t1(e)){let r={};for(let[o,a]of Object.entries(e))r[o]=MP(a);return r}return e}function SM(t){return DM(t)?t[0]:null}var Ztt,moe,Coe=dt(()=>{Ztt=(t,e,r)=>{let o=[...t];return o.reverse(),o.findIndex(e,r)};moe=Symbol()});var UP={};Yt(UP,{getDefaultGlobalFolder:()=>xM,getHomeFolder:()=>mC,isFolderInside:()=>bM});function xM(){if(process.platform==="win32"){let t=ue.toPortablePath(process.env.LOCALAPPDATA||ue.join((0,PM.homedir)(),"AppData","Local"));return z.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=ue.toPortablePath(process.env.XDG_DATA_HOME);return z.resolve(t,"yarn/berry")}return z.resolve(mC(),".yarn/berry")}function mC(){return ue.toPortablePath((0,PM.homedir)()||"/usr/local/share")}function bM(t,e){let r=z.relative(e,t);return r&&!r.startsWith("..")&&!z.isAbsolute(r)}var PM,_P=dt(()=>{bt();PM=Ie("os")});var Boe=U(yC=>{"use strict";var zNt=Ie("net"),rrt=Ie("tls"),QM=Ie("http"),Eoe=Ie("https"),nrt=Ie("events"),XNt=Ie("assert"),irt=Ie("util");yC.httpOverHttp=srt;yC.httpsOverHttp=ort;yC.httpOverHttps=art;yC.httpsOverHttps=lrt;function srt(t){var e=new Ff(t);return e.request=QM.request,e}function ort(t){var e=new Ff(t);return e.request=QM.request,e.createSocket=Ioe,e.defaultPort=443,e}function art(t){var e=new Ff(t);return e.request=Eoe.request,e}function lrt(t){var e=new Ff(t);return e.request=Eoe.request,e.createSocket=Ioe,e.defaultPort=443,e}function Ff(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||QM.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(o,a,n,u){for(var A=woe(a,n,u),p=0,h=e.requests.length;p<h;++p){var E=e.requests[p];if(E.host===A.host&&E.port===A.port){e.requests.splice(p,1),E.request.onSocket(o);return}}o.destroy(),e.removeSocket(o)})}irt.inherits(Ff,nrt.EventEmitter);Ff.prototype.addRequest=function(e,r,o,a){var n=this,u=kM({request:e},n.options,woe(r,o,a));if(n.sockets.length>=this.maxSockets){n.requests.push(u);return}n.createSocket(u,function(A){A.on("free",p),A.on("close",h),A.on("agentRemove",h),e.onSocket(A);function p(){n.emit("free",A,u)}function h(E){n.removeSocket(A),A.removeListener("free",p),A.removeListener("close",h),A.removeListener("agentRemove",h)}})};Ff.prototype.createSocket=function(e,r){var o=this,a={};o.sockets.push(a);var n=kM({},o.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(n.localAddress=e.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),i0("making CONNECT request");var u=o.request(n);u.useChunkedEncodingByDefault=!1,u.once("response",A),u.once("upgrade",p),u.once("connect",h),u.once("error",E),u.end();function A(w){w.upgrade=!0}function p(w,v,b){process.nextTick(function(){h(w,v,b)})}function h(w,v,b){if(u.removeAllListeners(),v.removeAllListeners(),w.statusCode!==200){i0("tunneling socket could not be established, statusCode=%d",w.statusCode),v.destroy();var C=new Error("tunneling socket could not be established, statusCode="+w.statusCode);C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}if(b.length>0){i0("got illegal response body from proxy"),v.destroy();var C=new Error("got illegal response body from proxy");C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}return i0("tunneling connection has established"),o.sockets[o.sockets.indexOf(a)]=v,r(v)}function E(w){u.removeAllListeners(),i0(`tunneling socket could not be established, cause=%s |
136 | `,w.message,w.stack);var v=new Error("tunneling socket could not be established, cause="+w.message);v.code="ECONNRESET",e.request.emit("error",v),o.removeSocket(a)}};Qf.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var o=this.requests.shift();o&&this.createSocket(o,function(a){o.request.onSocket(a)})}};function goe(t,e){var r=this;Qf.prototype.createSocket.call(r,t,function(o){var a=t.request.getHeader("host"),n=QM({},r.options,{socket:o,servername:a?a.replace(/:.*$/,""):t.host}),u=Wtt.connect(0,n);r.sockets[r.sockets.indexOf(o)]=u,e(u)})}function doe(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function QM(t){for(var e=1,r=arguments.length;e<r;++e){var o=arguments[e];if(typeof o=="object")for(var a=Object.keys(o),n=0,u=a.length;n<u;++n){var A=a[n];o[A]!==void 0&&(t[A]=o[A])}}return t}var n0;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?n0=function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)}:n0=function(){};pE.debug=n0});var Eoe=U((UNt,yoe)=>{yoe.exports=moe()});var Ff=U((kf,TP)=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});var Coe=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Ztt(t){return Coe.includes(t)}var $tt=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Coe];function ert(t){return $tt.includes(t)}var trt=["null","undefined","string","number","bigint","boolean","symbol"];function rrt(t){return trt.includes(t)}function hE(t){return e=>typeof e===t}var{toString:Ioe}=Object.prototype,$w=t=>{let e=Ioe.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&Fe.domElement(t))return"HTMLElement";if(ert(e))return e},Jn=t=>e=>$w(e)===t;function Fe(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(Fe.observable(t))return"Observable";if(Fe.array(t))return"Array";if(Fe.buffer(t))return"Buffer";let e=$w(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}Fe.undefined=hE("undefined");Fe.string=hE("string");var nrt=hE("number");Fe.number=t=>nrt(t)&&!Fe.nan(t);Fe.bigint=hE("bigint");Fe.function_=hE("function");Fe.null_=t=>t===null;Fe.class_=t=>Fe.function_(t)&&t.toString().startsWith("class ");Fe.boolean=t=>t===!0||t===!1;Fe.symbol=hE("symbol");Fe.numericString=t=>Fe.string(t)&&!Fe.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));Fe.array=(t,e)=>Array.isArray(t)?Fe.function_(e)?t.every(e):!0:!1;Fe.buffer=t=>{var e,r,o,a;return(a=(o=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||o===void 0?void 0:o.call(r,t))!==null&&a!==void 0?a:!1};Fe.nullOrUndefined=t=>Fe.null_(t)||Fe.undefined(t);Fe.object=t=>!Fe.null_(t)&&(typeof t=="object"||Fe.function_(t));Fe.iterable=t=>{var e;return Fe.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};Fe.asyncIterable=t=>{var e;return Fe.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};Fe.generator=t=>Fe.iterable(t)&&Fe.function_(t.next)&&Fe.function_(t.throw);Fe.asyncGenerator=t=>Fe.asyncIterable(t)&&Fe.function_(t.next)&&Fe.function_(t.throw);Fe.nativePromise=t=>Jn("Promise")(t);var irt=t=>{var e,r;return Fe.function_((e=t)===null||e===void 0?void 0:e.then)&&Fe.function_((r=t)===null||r===void 0?void 0:r.catch)};Fe.promise=t=>Fe.nativePromise(t)||irt(t);Fe.generatorFunction=Jn("GeneratorFunction");Fe.asyncGeneratorFunction=t=>$w(t)==="AsyncGeneratorFunction";Fe.asyncFunction=t=>$w(t)==="AsyncFunction";Fe.boundFunction=t=>Fe.function_(t)&&!t.hasOwnProperty("prototype");Fe.regExp=Jn("RegExp");Fe.date=Jn("Date");Fe.error=Jn("Error");Fe.map=t=>Jn("Map")(t);Fe.set=t=>Jn("Set")(t);Fe.weakMap=t=>Jn("WeakMap")(t);Fe.weakSet=t=>Jn("WeakSet")(t);Fe.int8Array=Jn("Int8Array");Fe.uint8Array=Jn("Uint8Array");Fe.uint8ClampedArray=Jn("Uint8ClampedArray");Fe.int16Array=Jn("Int16Array");Fe.uint16Array=Jn("Uint16Array");Fe.int32Array=Jn("Int32Array");Fe.uint32Array=Jn("Uint32Array");Fe.float32Array=Jn("Float32Array");Fe.float64Array=Jn("Float64Array");Fe.bigInt64Array=Jn("BigInt64Array");Fe.bigUint64Array=Jn("BigUint64Array");Fe.arrayBuffer=Jn("ArrayBuffer");Fe.sharedArrayBuffer=Jn("SharedArrayBuffer");Fe.dataView=Jn("DataView");Fe.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;Fe.urlInstance=t=>Jn("URL")(t);Fe.urlString=t=>{if(!Fe.string(t))return!1;try{return new URL(t),!0}catch{return!1}};Fe.truthy=t=>Boolean(t);Fe.falsy=t=>!t;Fe.nan=t=>Number.isNaN(t);Fe.primitive=t=>Fe.null_(t)||rrt(typeof t);Fe.integer=t=>Number.isInteger(t);Fe.safeInteger=t=>Number.isSafeInteger(t);Fe.plainObject=t=>{if(Ioe.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};Fe.typedArray=t=>Ztt($w(t));var srt=t=>Fe.safeInteger(t)&&t>=0;Fe.arrayLike=t=>!Fe.nullOrUndefined(t)&&!Fe.function_(t)&&srt(t.length);Fe.inRange=(t,e)=>{if(Fe.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(Fe.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var ort=1,art=["innerHTML","ownerDocument","style","attributes","nodeValue"];Fe.domElement=t=>Fe.object(t)&&t.nodeType===ort&&Fe.string(t.nodeName)&&!Fe.plainObject(t)&&art.every(e=>e in t);Fe.observable=t=>{var e,r,o,a;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((a=(o=t)["@@observable"])===null||a===void 0?void 0:a.call(o)):!1};Fe.nodeStream=t=>Fe.object(t)&&Fe.function_(t.pipe)&&!Fe.observable(t);Fe.infinite=t=>t===1/0||t===-1/0;var woe=t=>e=>Fe.integer(e)&&Math.abs(e%2)===t;Fe.evenInteger=woe(0);Fe.oddInteger=woe(1);Fe.emptyArray=t=>Fe.array(t)&&t.length===0;Fe.nonEmptyArray=t=>Fe.array(t)&&t.length>0;Fe.emptyString=t=>Fe.string(t)&&t.length===0;Fe.nonEmptyString=t=>Fe.string(t)&&t.length>0;var lrt=t=>Fe.string(t)&&!/\S/.test(t);Fe.emptyStringOrWhitespace=t=>Fe.emptyString(t)||lrt(t);Fe.emptyObject=t=>Fe.object(t)&&!Fe.map(t)&&!Fe.set(t)&&Object.keys(t).length===0;Fe.nonEmptyObject=t=>Fe.object(t)&&!Fe.map(t)&&!Fe.set(t)&&Object.keys(t).length>0;Fe.emptySet=t=>Fe.set(t)&&t.size===0;Fe.nonEmptySet=t=>Fe.set(t)&&t.size>0;Fe.emptyMap=t=>Fe.map(t)&&t.size===0;Fe.nonEmptyMap=t=>Fe.map(t)&&t.size>0;Fe.propertyKey=t=>Fe.any([Fe.string,Fe.number,Fe.symbol],t);Fe.formData=t=>Jn("FormData")(t);Fe.urlSearchParams=t=>Jn("URLSearchParams")(t);var Boe=(t,e,r)=>{if(!Fe.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};Fe.any=(t,...e)=>(Fe.array(t)?t:[t]).some(o=>Boe(Array.prototype.some,o,e));Fe.all=(t,...e)=>Boe(Array.prototype.every,t,e);var Mt=(t,e,r,o={})=>{if(!t){let{multipleValues:a}=o,n=a?`received values of types ${[...new Set(r.map(u=>`\`${Fe(u)}\``))].join(", ")}`:`received value of type \`${Fe(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${n}.`)}};kf.assert={undefined:t=>Mt(Fe.undefined(t),"undefined",t),string:t=>Mt(Fe.string(t),"string",t),number:t=>Mt(Fe.number(t),"number",t),bigint:t=>Mt(Fe.bigint(t),"bigint",t),function_:t=>Mt(Fe.function_(t),"Function",t),null_:t=>Mt(Fe.null_(t),"null",t),class_:t=>Mt(Fe.class_(t),"Class",t),boolean:t=>Mt(Fe.boolean(t),"boolean",t),symbol:t=>Mt(Fe.symbol(t),"symbol",t),numericString:t=>Mt(Fe.numericString(t),"string with a number",t),array:(t,e)=>{Mt(Fe.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Mt(Fe.buffer(t),"Buffer",t),nullOrUndefined:t=>Mt(Fe.nullOrUndefined(t),"null or undefined",t),object:t=>Mt(Fe.object(t),"Object",t),iterable:t=>Mt(Fe.iterable(t),"Iterable",t),asyncIterable:t=>Mt(Fe.asyncIterable(t),"AsyncIterable",t),generator:t=>Mt(Fe.generator(t),"Generator",t),asyncGenerator:t=>Mt(Fe.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Mt(Fe.nativePromise(t),"native Promise",t),promise:t=>Mt(Fe.promise(t),"Promise",t),generatorFunction:t=>Mt(Fe.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Mt(Fe.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Mt(Fe.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Mt(Fe.boundFunction(t),"Function",t),regExp:t=>Mt(Fe.regExp(t),"RegExp",t),date:t=>Mt(Fe.date(t),"Date",t),error:t=>Mt(Fe.error(t),"Error",t),map:t=>Mt(Fe.map(t),"Map",t),set:t=>Mt(Fe.set(t),"Set",t),weakMap:t=>Mt(Fe.weakMap(t),"WeakMap",t),weakSet:t=>Mt(Fe.weakSet(t),"WeakSet",t),int8Array:t=>Mt(Fe.int8Array(t),"Int8Array",t),uint8Array:t=>Mt(Fe.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Mt(Fe.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Mt(Fe.int16Array(t),"Int16Array",t),uint16Array:t=>Mt(Fe.uint16Array(t),"Uint16Array",t),int32Array:t=>Mt(Fe.int32Array(t),"Int32Array",t),uint32Array:t=>Mt(Fe.uint32Array(t),"Uint32Array",t),float32Array:t=>Mt(Fe.float32Array(t),"Float32Array",t),float64Array:t=>Mt(Fe.float64Array(t),"Float64Array",t),bigInt64Array:t=>Mt(Fe.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Mt(Fe.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Mt(Fe.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Mt(Fe.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Mt(Fe.dataView(t),"DataView",t),urlInstance:t=>Mt(Fe.urlInstance(t),"URL",t),urlString:t=>Mt(Fe.urlString(t),"string with a URL",t),truthy:t=>Mt(Fe.truthy(t),"truthy",t),falsy:t=>Mt(Fe.falsy(t),"falsy",t),nan:t=>Mt(Fe.nan(t),"NaN",t),primitive:t=>Mt(Fe.primitive(t),"primitive",t),integer:t=>Mt(Fe.integer(t),"integer",t),safeInteger:t=>Mt(Fe.safeInteger(t),"integer",t),plainObject:t=>Mt(Fe.plainObject(t),"plain object",t),typedArray:t=>Mt(Fe.typedArray(t),"TypedArray",t),arrayLike:t=>Mt(Fe.arrayLike(t),"array-like",t),domElement:t=>Mt(Fe.domElement(t),"HTMLElement",t),observable:t=>Mt(Fe.observable(t),"Observable",t),nodeStream:t=>Mt(Fe.nodeStream(t),"Node.js Stream",t),infinite:t=>Mt(Fe.infinite(t),"infinite number",t),emptyArray:t=>Mt(Fe.emptyArray(t),"empty array",t),nonEmptyArray:t=>Mt(Fe.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Mt(Fe.emptyString(t),"empty string",t),nonEmptyString:t=>Mt(Fe.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Mt(Fe.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Mt(Fe.emptyObject(t),"empty object",t),nonEmptyObject:t=>Mt(Fe.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Mt(Fe.emptySet(t),"empty set",t),nonEmptySet:t=>Mt(Fe.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Mt(Fe.emptyMap(t),"empty map",t),nonEmptyMap:t=>Mt(Fe.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Mt(Fe.propertyKey(t),"PropertyKey",t),formData:t=>Mt(Fe.formData(t),"FormData",t),urlSearchParams:t=>Mt(Fe.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Mt(Fe.evenInteger(t),"even integer",t),oddInteger:t=>Mt(Fe.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Mt(Fe.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Mt(Fe.inRange(t,e),"in range",t),any:(t,...e)=>Mt(Fe.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Mt(Fe.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(Fe,{class:{value:Fe.class_},function:{value:Fe.function_},null:{value:Fe.null_}});Object.defineProperties(kf.assert,{class:{value:kf.assert.class_},function:{value:kf.assert.function_},null:{value:kf.assert.null_}});kf.default=Fe;TP.exports=Fe;TP.exports.default=Fe;TP.exports.assert=kf.assert});var voe=U((_Nt,kM)=>{"use strict";var NP=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},gE=class{static fn(e){return(...r)=>new gE((o,a,n)=>{r.push(n),e(...r).then(o,a)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,o)=>{this._reject=o;let a=A=>{this._isPending=!1,r(A)},n=A=>{this._isPending=!1,o(A)},u=A=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(A)};return Object.defineProperties(u,{shouldReject:{get:()=>this._rejectOnCancel,set:A=>{this._rejectOnCancel=A}}}),e(a,n,u)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new NP(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(gE.prototype,Promise.prototype);kM.exports=gE;kM.exports.CancelError=NP});var Doe=U((RM,TM)=>{"use strict";Object.defineProperty(RM,"__esModule",{value:!0});var crt=Ie("tls"),FM=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let o=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",u=()=>{o&&r.connect(),t instanceof crt.TLSSocket&&a&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),n&&t.once("close",r.close)};t.writable&&!t.connecting?u():t.connecting?t.once("connect",u):t.destroyed&&n&&r.close(t._hadError)};RM.default=FM;TM.exports=FM;TM.exports.default=FM});var Soe=U((LM,OM)=>{"use strict";Object.defineProperty(LM,"__esModule",{value:!0});var urt=Doe(),Art=Number(process.versions.node.split(".")[0]),NM=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=u=>{let A=u.emit.bind(u);u.emit=(p,...h)=>(p==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,u.emit=A),A(p,...h))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Art>=13)&&(e.phases.total=Date.now()-e.start)});let o=u=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let A=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};u.prependOnceListener("lookup",A),urt.default(u,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(u.removeListener("lookup",A),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?o(t.socket):t.prependOnceListener("socket",o);let a=()=>{var u;e.upload=Date.now(),e.phases.request=e.upload-(u=e.secureConnect,u??e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?a():t.prependOnceListener("finish",a),t.prependOnceListener("response",u=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,u.timings=e,r(u),u.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};LM.default=NM;OM.exports=NM;OM.exports.default=NM});var Roe=U((HNt,_M)=>{"use strict";var{V4MAPPED:frt,ADDRCONFIG:prt,ALL:Foe,promises:{Resolver:Poe},lookup:hrt}=Ie("dns"),{promisify:MM}=Ie("util"),grt=Ie("os"),dE=Symbol("cacheableLookupCreateConnection"),UM=Symbol("cacheableLookupInstance"),xoe=Symbol("expires"),drt=typeof Foe=="number",boe=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},mrt=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},Qoe=()=>{let t=!1,e=!1;for(let r of Object.values(grt.networkInterfaces()))for(let o of r)if(!o.internal&&(o.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},yrt=t=>Symbol.iterator in t,koe={ttl:!0},Ert={all:!0},LP=class{constructor({cache:e=new Map,maxTtl:r=1/0,fallbackDuration:o=3600,errorTtl:a=.15,resolver:n=new Poe,lookup:u=hrt}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=e,this._resolver=n,this._dnsLookup=MM(u),this._resolver instanceof Poe?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=MM(this._resolver.resolve4.bind(this._resolver)),this._resolve6=MM(this._resolver.resolve6.bind(this._resolver))),this._iface=Qoe(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,o<1)this._fallback=!1;else{this._fallback=!0;let A=setInterval(()=>{this._hostnamesToFallback.clear()},o*1e3);A.unref&&A.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,o){if(typeof r=="function"?(o=r,r={}):typeof r=="number"&&(r={family:r}),!o)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(a=>{r.all?o(null,a):o(null,a.address,a.family,a.expires,a.ttl)},o)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let o=await this.query(e);if(r.family===6){let a=o.filter(n=>n.family===6);r.hints&frt&&(drt&&r.hints&Foe||a.length===0)?mrt(o):o=a}else r.family===4&&(o=o.filter(a=>a.family===4));if(r.hints&prt){let{_iface:a}=this;o=o.filter(n=>n.family===6?a.has6:a.has4)}if(o.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${e}`);throw a.code="ENOTFOUND",a.hostname=e,a}return r.all?o:o[0]}async query(e){let r=await this._cache.get(e);if(!r){let o=this._pending[e];if(o)r=await o;else{let a=this.queryAndCache(e);this._pending[e]=a,r=await a}}return r=r.map(o=>({...o})),r}async _resolve(e){let r=async h=>{try{return await h}catch(C){if(C.code==="ENODATA"||C.code==="ENOTFOUND")return[];throw C}},[o,a]=await Promise.all([this._resolve4(e,koe),this._resolve6(e,koe)].map(h=>r(h))),n=0,u=0,A=0,p=Date.now();for(let h of o)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,u=Math.max(u,h.ttl);return o.length>0?a.length>0?A=Math.min(n,u):A=n:A=u,{entries:[...o,...a],cacheTtl:A}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,r,o){if(this.maxTtl>0&&o>0){o=Math.min(o,this.maxTtl)*1e3,r[xoe]=Date.now()+o;try{await this._cache.set(e,r,o)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}yrt(this._cache)&&this._tick(o)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Ert);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let o=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,o),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e<r)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=e,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let o=1/0,a=Date.now();for(let[n,u]of this._cache){let A=u[xoe];a>=A?this._cache.delete(n):A<o&&(o=A)}o!==1/0&&this._tick(o-a)},e),this._removalTimeout.unref&&this._removalTimeout.unref())}install(e){if(boe(e),dE in e)throw new Error("CacheableLookup has been already installed");e[dE]=e.createConnection,e[UM]=this,e.createConnection=(r,o)=>("lookup"in r||(r.lookup=this.lookup),e[dE](r,o))}uninstall(e){if(boe(e),e[dE]){if(e[UM]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[dE],delete e[dE],delete e[UM]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=Qoe(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};_M.exports=LP;_M.exports.default=LP});var Loe=U((qNt,HM)=>{"use strict";var Crt=typeof URL>"u"?Ie("url").URL:URL,Irt="text/plain",wrt="us-ascii",Toe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Brt=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let o=r[1].split(";"),a=r[2],n=e?"":r[3],u=!1;o[o.length-1]==="base64"&&(o.pop(),u=!0);let A=(o.shift()||"").toLowerCase(),h=[...o.map(C=>{let[w,v=""]=C.split("=").map(b=>b.trim());return w==="charset"&&(v=v.toLowerCase(),v===wrt)?"":`${w}${v?`=${v}`:""}`}).filter(Boolean)];return u&&h.push("base64"),(h.length!==0||A&&A!==Irt)&&h.unshift(A),`data:${h.join(";")},${u?a.trim():a}${n?`#${n}`:""}`},Noe=(t,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return Brt(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new Crt(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,u)=>/^(?!\/)/g.test(u)?`${u}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),u=n[n.length-1];Toe(u,e.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let n of[...a.searchParams.keys()])Toe(n,e.removeQueryParameters)&&a.searchParams.delete(n);return e.sortQueryParameters&&a.searchParams.sort(),e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),t=a.toString(),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};HM.exports=Noe;HM.exports.default=Noe});var Uoe=U((jNt,Moe)=>{Moe.exports=Ooe;function Ooe(t,e){if(t&&e)return Ooe(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(o){r[o]=t[o]}),r;function r(){for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];var n=t.apply(this,o),u=o[o.length-1];return typeof n=="function"&&n!==u&&Object.keys(u).forEach(function(A){n[A]=u[A]}),n}}});var jM=U((GNt,qM)=>{var _oe=Uoe();qM.exports=_oe(OP);qM.exports.strict=_oe(Hoe);OP.proto=OP(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return OP(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Hoe(this)},configurable:!0})});function OP(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function Hoe(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var GM=U((WNt,joe)=>{var vrt=jM(),Drt=function(){},Srt=function(t){return t.setHeader&&typeof t.abort=="function"},Prt=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},qoe=function(t,e,r){if(typeof e=="function")return qoe(t,null,e);e||(e={}),r=vrt(r||Drt);var o=t._writableState,a=t._readableState,n=e.readable||e.readable!==!1&&t.readable,u=e.writable||e.writable!==!1&&t.writable,A=function(){t.writable||p()},p=function(){u=!1,n||r.call(t)},h=function(){n=!1,u||r.call(t)},C=function(E){r.call(t,E?new Error("exited with error code: "+E):null)},w=function(E){r.call(t,E)},v=function(){if(n&&!(a&&a.ended))return r.call(t,new Error("premature close"));if(u&&!(o&&o.ended))return r.call(t,new Error("premature close"))},b=function(){t.req.on("finish",p)};return Srt(t)?(t.on("complete",p),t.on("abort",v),t.req?b():t.on("request",b)):u&&!o&&(t.on("end",A),t.on("close",A)),Prt(t)&&t.on("exit",C),t.on("end",h),t.on("finish",p),e.error!==!1&&t.on("error",w),t.on("close",v),function(){t.removeListener("complete",p),t.removeListener("abort",v),t.removeListener("request",b),t.req&&t.req.removeListener("finish",p),t.removeListener("end",A),t.removeListener("close",A),t.removeListener("finish",p),t.removeListener("exit",C),t.removeListener("end",h),t.removeListener("error",w),t.removeListener("close",v)}};joe.exports=qoe});var Yoe=U((YNt,Woe)=>{var xrt=jM(),brt=GM(),WM=Ie("fs"),e1=function(){},Qrt=/^v?\.0/.test(process.version),MP=function(t){return typeof t=="function"},krt=function(t){return!Qrt||!WM?!1:(t instanceof(WM.ReadStream||e1)||t instanceof(WM.WriteStream||e1))&&MP(t.close)},Frt=function(t){return t.setHeader&&MP(t.abort)},Rrt=function(t,e,r,o){o=xrt(o);var a=!1;t.on("close",function(){a=!0}),brt(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,krt(t))return t.close(e1);if(Frt(t))return t.abort();if(MP(t.destroy))return t.destroy();o(u||new Error("stream was destroyed"))}}},Goe=function(t){t()},Trt=function(t,e){return t.pipe(e)},Nrt=function(){var t=Array.prototype.slice.call(arguments),e=MP(t[t.length-1]||e1)&&t.pop()||e1;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,o=t.map(function(a,n){var u=n<t.length-1,A=n>0;return Rrt(a,u,A,function(p){r||(r=p),p&&o.forEach(Goe),!u&&(o.forEach(Goe),e(r))})});return t.reduce(Trt)};Woe.exports=Nrt});var Joe=U((KNt,Koe)=>{"use strict";var{PassThrough:Lrt}=Ie("stream");Koe.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,o=r==="buffer",a=!1;e?a=!(r||o):r=r||"utf8",o&&(r=null);let n=new Lrt({objectMode:a});r&&n.setEncoding(r);let u=0,A=[];return n.on("data",p=>{A.push(p),a?u=A.length:u+=p.length}),n.getBufferedValue=()=>e?A:o?Buffer.concat(A,u):A.join(""),n.getBufferedLength=()=>u,n}});var Voe=U((JNt,mE)=>{"use strict";var Ort=Yoe(),Mrt=Joe(),UP=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function _P(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:r}=e,o;return await new Promise((a,n)=>{let u=A=>{A&&(A.bufferedData=o.getBufferedValue()),n(A)};o=Ort(t,Mrt(e),A=>{if(A){u(A);return}a()}),o.on("data",()=>{o.getBufferedLength()>r&&u(new UP)})}),o.getBufferedValue()}mE.exports=_P;mE.exports.default=_P;mE.exports.buffer=(t,e)=>_P(t,{...e,encoding:"buffer"});mE.exports.array=(t,e)=>_P(t,{...e,array:!0});mE.exports.MaxBufferError=UP});var Xoe=U((zNt,zoe)=>{"use strict";var Urt=new Set([200,203,204,206,300,301,404,405,410,414,501]),_rt=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Hrt=new Set([500,502,503,504]),qrt={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},jrt={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Dd(t){let e=parseInt(t,10);return isFinite(e)?e:0}function Grt(t){return t?Hrt.has(t.status):!0}function YM(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let o of r){let[a,n]=o.split(/\s*=\s*/,2);e[a]=n===void 0?!0:n.replace(/^"|"$/g,"")}return e}function Wrt(t){let e=[];for(let r in t){let o=t[r];e.push(o===!0?r:r+"="+o)}if(!!e.length)return e.join(", ")}zoe.exports=class{constructor(e,r,{shared:o,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:u,_fromObject:A}={}){if(A){this._fromObject(A);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=o!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=YM(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=YM(e.headers["cache-control"]),u&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":Wrt(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&_rt.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||Urt.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=YM(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let o of r)if(e.headers[o]!==this._reqHeaders[o])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let o in e)qrt[o]||(r[o]=e[o]);if(e.connection){let o=e.connection.trim().split(/\s*,\s*/);for(let a of o)delete r[a]}if(r.warning){let o=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));o.length?r.warning=o.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){return Dd(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return Dd(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Dd(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let o=Date.parse(this._resHeaders.expires);return Number.isNaN(o)||o<r?0:Math.max(e,(o-r)/1e3)}if(this._resHeaders["last-modified"]){let o=Date.parse(this._resHeaders["last-modified"]);if(isFinite(o)&&r>o)return Math.max(e,(r-o)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),r=e+Dd(this._rescc["stale-if-error"]),o=e+Dd(this._rescc["stale-while-revalidate"]);return Math.max(0,e,r,o)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Dd(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Dd(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&Grt(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let o=!1;if(r.status!==void 0&&r.status!=304?o=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?o=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?o=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?o=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(o=!0),!o)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let a={};for(let u in this._resHeaders)a[u]=u in r.headers&&!jrt[u]?r.headers[u]:this._resHeaders[u];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(e,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var HP=U((XNt,Zoe)=>{"use strict";Zoe.exports=t=>{let e={};for(let[r,o]of Object.entries(t))e[r.toLowerCase()]=o;return e}});var eae=U((ZNt,$oe)=>{"use strict";var Yrt=Ie("stream").Readable,Krt=HP(),KM=class extends Yrt{constructor(e,r,o,a){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(o instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=Krt(r),this.body=o,this.url=a}_read(){this.push(this.body),this.push(null)}};$oe.exports=KM});var rae=U(($Nt,tae)=>{"use strict";var Jrt=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];tae.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Jrt));for(let o of r)o in e||(e[o]=typeof t[o]=="function"?t[o].bind(t):t[o])}});var iae=U((eLt,nae)=>{"use strict";var Vrt=Ie("stream").PassThrough,zrt=rae(),Xrt=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Vrt;return zrt(t,e),t.pipe(e)};nae.exports=Xrt});var sae=U(JM=>{JM.stringify=function t(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",o=Array.isArray(e);r=o?"[":"{";var a=!0;for(var n in e){var u=typeof e[n]=="function"||!o&&typeof e[n]>"u";Object.hasOwnProperty.call(e,n)&&!u&&(a||(r+=","),a=!1,o?e[n]==null?r+="null":r+=t(e[n]):e[n]!==void 0&&(r+=t(n)+":"+t(e[n])))}return r+=o?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};JM.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var lae=U((rLt,aae)=>{"use strict";var Zrt=Ie("events"),oae=sae(),$rt=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(Ie(e[r]))(t)}return new Map},VM=class extends Zrt{constructor(e,r){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:oae.stringify,deserialize:oae.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let o=Object.assign({},this.opts);this.opts.store=$rt(o)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",o=>this.emit("error",o)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:o}=this.opts;return Promise.resolve().then(()=>o.get(e)).then(a=>typeof a=="string"?this.opts.deserialize(a):a).then(a=>{if(a!==void 0){if(typeof a.expires=="number"&&Date.now()>a.expires){this.delete(e);return}return r&&r.raw?a:a.value}})}set(e,r,o){e=this._getKeyPrefix(e),typeof o>"u"&&(o=this.opts.ttl),o===0&&(o=void 0);let{store:a}=this.opts;return Promise.resolve().then(()=>{let n=typeof o=="number"?Date.now()+o:null;return r={value:r,expires:n},this.opts.serialize(r)}).then(n=>a.set(e,n,o)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};aae.exports=VM});var Aae=U((iLt,uae)=>{"use strict";var ent=Ie("events"),qP=Ie("url"),tnt=Loe(),rnt=Voe(),zM=Xoe(),cae=eae(),nnt=HP(),int=iae(),snt=lae(),Gc=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new snt({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,o)=>{let a;if(typeof r=="string")a=XM(qP.parse(r)),r={};else if(r instanceof qP.URL)a=XM(qP.parse(r.toString())),r={};else{let[w,...v]=(r.path||"").split("?"),b=v.length>0?`?${v.join("?")}`:"";a=XM({...r,pathname:w,search:b})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...ont(a)},r.headers=nnt(r.headers);let n=new ent,u=tnt(qP.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),A=`${r.method}:${u}`,p=!1,h=!1,C=w=>{h=!0;let v=!1,b,E=new Promise(L=>{b=()=>{v||(v=!0,L())}}),R=L=>{if(p&&!w.forceRefresh){L.status=L.statusCode;let J=zM.fromObject(p.cachePolicy).revalidatedPolicy(w,L);if(!J.modified){let re=J.policy.responseHeaders();L=new cae(p.statusCode,re,p.body,p.url),L.cachePolicy=J.policy,L.fromCache=!0}}L.fromCache||(L.cachePolicy=new zM(w,L,w),L.fromCache=!1);let _;w.cache&&L.cachePolicy.storable()?(_=int(L),(async()=>{try{let J=rnt.buffer(L);if(await Promise.race([E,new Promise(he=>L.once("end",he))]),v)return;let re=await J,oe={cachePolicy:L.cachePolicy.toObject(),url:L.url,statusCode:L.fromCache?p.statusCode:L.statusCode,body:re},pe=w.strictTtl?L.cachePolicy.timeToLive():void 0;w.maxTtl&&(pe=pe?Math.min(pe,w.maxTtl):w.maxTtl),await this.cache.set(A,oe,pe)}catch(J){n.emit("error",new Gc.CacheError(J))}})()):w.cache&&p&&(async()=>{try{await this.cache.delete(A)}catch(J){n.emit("error",new Gc.CacheError(J))}})(),n.emit("response",_||L),typeof o=="function"&&o(_||L)};try{let L=e(w,R);L.once("error",b),L.once("abort",b),n.emit("request",L)}catch(L){n.emit("error",new Gc.RequestError(L))}};return(async()=>{let w=async b=>{await Promise.resolve();let E=b.cache?await this.cache.get(A):void 0;if(typeof E>"u")return C(b);let R=zM.fromObject(E.cachePolicy);if(R.satisfiesWithoutRevalidation(b)&&!b.forceRefresh){let L=R.responseHeaders(),_=new cae(E.statusCode,L,E.body,E.url);_.cachePolicy=R,_.fromCache=!0,n.emit("response",_),typeof o=="function"&&o(_)}else p=E,b.headers=R.revalidationHeaders(b),C(b)},v=b=>n.emit("error",new Gc.CacheError(b));this.cache.once("error",v),n.on("response",()=>this.cache.removeListener("error",v));try{await w(r)}catch(b){r.automaticFailover&&!h&&C(r),n.emit("error",new Gc.CacheError(b))}})(),n}}};function ont(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function XM(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}Gc.RequestError=class extends Error{constructor(t){super(t.message),this.name="RequestError",Object.assign(this,t)}};Gc.CacheError=class extends Error{constructor(t){super(t.message),this.name="CacheError",Object.assign(this,t)}};uae.exports=Gc});var pae=U((aLt,fae)=>{"use strict";var ant=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];fae.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(ant)),o={};for(let a of r)a in e||(o[a]={get(){let n=t[a];return typeof n=="function"?n.bind(t):n},set(n){t[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(e,o),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var gae=U((lLt,hae)=>{"use strict";var{Transform:lnt,PassThrough:cnt}=Ie("stream"),ZM=Ie("zlib"),unt=pae();hae.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof ZM.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let o=!0,a=new lnt({transform(A,p,h){o=!1,h(null,A)},flush(A){A()}}),n=new cnt({autoDestroy:!1,destroy(A,p){t.destroy(),p(A)}}),u=r?ZM.createBrotliDecompress():ZM.createUnzip();return u.once("error",A=>{if(o&&!t.readable){n.end();return}n.destroy(A)}),unt(t,n),t.pipe(a).pipe(u).pipe(n),n}});var e4=U((cLt,dae)=>{"use strict";var $M=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[o,a]of this.oldCache.entries())this.onEviction(o,a);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};dae.exports=$M});var r4=U((uLt,Cae)=>{"use strict";var Ant=Ie("events"),fnt=Ie("tls"),pnt=Ie("http2"),hnt=e4(),zo=Symbol("currentStreamsCount"),mae=Symbol("request"),Vl=Symbol("cachedOriginSet"),yE=Symbol("gracefullyClosing"),gnt=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],dnt=(t,e,r)=>{let o=0,a=t.length;for(;o<a;){let n=o+a>>>1;r(t[n],e)?o=n+1:a=n}return o},mnt=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,t4=(t,e)=>{for(let r of t)r[Vl].length<e[Vl].length&&r[Vl].every(o=>e[Vl].includes(o))&&r[zo]+e[zo]<=e.remoteSettings.maxConcurrentStreams&&Eae(r)},ynt=(t,e)=>{for(let r of t)e[Vl].length<r[Vl].length&&e[Vl].every(o=>r[Vl].includes(o))&&e[zo]+r[zo]<=r.remoteSettings.maxConcurrentStreams&&Eae(e)},yae=({agent:t,isFree:e})=>{let r={};for(let o in t.sessions){let n=t.sessions[o].filter(u=>{let A=u[nA.kCurrentStreamsCount]<u.remoteSettings.maxConcurrentStreams;return e?A:!A});n.length!==0&&(r[o]=n)}return r},Eae=t=>{t[yE]=!0,t[zo]===0&&t.close()},nA=class extends Ant{constructor({timeout:e=6e4,maxSessions:r=1/0,maxFreeSessions:o=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=o,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new hnt({maxSize:a})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let o of gnt)e[o]&&(r+=`:${e[o]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let o=this.queue[e][r];this._sessionsCount<this.maxSessions&&!o.completed&&(o.completed=!0,o())}getSession(e,r,o){return new Promise((a,n)=>{Array.isArray(o)?(o=[...o],a()):o=[{resolve:a,reject:n}];let u=this.normalizeOptions(r),A=nA.normalizeOrigin(e,r&&r.servername);if(A===void 0){for(let{reject:C}of o)C(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(u in this.sessions){let C=this.sessions[u],w=-1,v=-1,b;for(let E of C){let R=E.remoteSettings.maxConcurrentStreams;if(R<w)break;if(E[Vl].includes(A)){let L=E[zo];if(L>=R||E[yE]||E.destroyed)continue;b||(w=R),L>v&&(b=E,v=L)}}if(b){if(o.length!==1){for(let{reject:E}of o){let R=new Error(`Expected the length of listeners to be 1, got ${o.length}. | 136 | `,w.message,w.stack);var v=new Error("tunneling socket could not be established, cause="+w.message);v.code="ECONNRESET",e.request.emit("error",v),o.removeSocket(a)}};Ff.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var o=this.requests.shift();o&&this.createSocket(o,function(a){o.request.onSocket(a)})}};function Ioe(t,e){var r=this;Ff.prototype.createSocket.call(r,t,function(o){var a=t.request.getHeader("host"),n=kM({},r.options,{socket:o,servername:a?a.replace(/:.*$/,""):t.host}),u=rrt.connect(0,n);r.sockets[r.sockets.indexOf(o)]=u,e(u)})}function woe(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function kM(t){for(var e=1,r=arguments.length;e<r;++e){var o=arguments[e];if(typeof o=="object")for(var a=Object.keys(o),n=0,u=a.length;n<u;++n){var A=a[n];o[A]!==void 0&&(t[A]=o[A])}}return t}var i0;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?i0=function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)}:i0=function(){};yC.debug=i0});var Doe=U(($Nt,voe)=>{voe.exports=Boe()});var Tf=U((Rf,HP)=>{"use strict";Object.defineProperty(Rf,"__esModule",{value:!0});var Soe=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function crt(t){return Soe.includes(t)}var urt=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Soe];function Art(t){return urt.includes(t)}var frt=["null","undefined","string","number","bigint","boolean","symbol"];function prt(t){return frt.includes(t)}function CC(t){return e=>typeof e===t}var{toString:Poe}=Object.prototype,n1=t=>{let e=Poe.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&Fe.domElement(t))return"HTMLElement";if(Art(e))return e},Jn=t=>e=>n1(e)===t;function Fe(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(Fe.observable(t))return"Observable";if(Fe.array(t))return"Array";if(Fe.buffer(t))return"Buffer";let e=n1(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}Fe.undefined=CC("undefined");Fe.string=CC("string");var hrt=CC("number");Fe.number=t=>hrt(t)&&!Fe.nan(t);Fe.bigint=CC("bigint");Fe.function_=CC("function");Fe.null_=t=>t===null;Fe.class_=t=>Fe.function_(t)&&t.toString().startsWith("class ");Fe.boolean=t=>t===!0||t===!1;Fe.symbol=CC("symbol");Fe.numericString=t=>Fe.string(t)&&!Fe.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));Fe.array=(t,e)=>Array.isArray(t)?Fe.function_(e)?t.every(e):!0:!1;Fe.buffer=t=>{var e,r,o,a;return(a=(o=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||o===void 0?void 0:o.call(r,t))!==null&&a!==void 0?a:!1};Fe.nullOrUndefined=t=>Fe.null_(t)||Fe.undefined(t);Fe.object=t=>!Fe.null_(t)&&(typeof t=="object"||Fe.function_(t));Fe.iterable=t=>{var e;return Fe.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};Fe.asyncIterable=t=>{var e;return Fe.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};Fe.generator=t=>Fe.iterable(t)&&Fe.function_(t.next)&&Fe.function_(t.throw);Fe.asyncGenerator=t=>Fe.asyncIterable(t)&&Fe.function_(t.next)&&Fe.function_(t.throw);Fe.nativePromise=t=>Jn("Promise")(t);var grt=t=>{var e,r;return Fe.function_((e=t)===null||e===void 0?void 0:e.then)&&Fe.function_((r=t)===null||r===void 0?void 0:r.catch)};Fe.promise=t=>Fe.nativePromise(t)||grt(t);Fe.generatorFunction=Jn("GeneratorFunction");Fe.asyncGeneratorFunction=t=>n1(t)==="AsyncGeneratorFunction";Fe.asyncFunction=t=>n1(t)==="AsyncFunction";Fe.boundFunction=t=>Fe.function_(t)&&!t.hasOwnProperty("prototype");Fe.regExp=Jn("RegExp");Fe.date=Jn("Date");Fe.error=Jn("Error");Fe.map=t=>Jn("Map")(t);Fe.set=t=>Jn("Set")(t);Fe.weakMap=t=>Jn("WeakMap")(t);Fe.weakSet=t=>Jn("WeakSet")(t);Fe.int8Array=Jn("Int8Array");Fe.uint8Array=Jn("Uint8Array");Fe.uint8ClampedArray=Jn("Uint8ClampedArray");Fe.int16Array=Jn("Int16Array");Fe.uint16Array=Jn("Uint16Array");Fe.int32Array=Jn("Int32Array");Fe.uint32Array=Jn("Uint32Array");Fe.float32Array=Jn("Float32Array");Fe.float64Array=Jn("Float64Array");Fe.bigInt64Array=Jn("BigInt64Array");Fe.bigUint64Array=Jn("BigUint64Array");Fe.arrayBuffer=Jn("ArrayBuffer");Fe.sharedArrayBuffer=Jn("SharedArrayBuffer");Fe.dataView=Jn("DataView");Fe.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;Fe.urlInstance=t=>Jn("URL")(t);Fe.urlString=t=>{if(!Fe.string(t))return!1;try{return new URL(t),!0}catch{return!1}};Fe.truthy=t=>Boolean(t);Fe.falsy=t=>!t;Fe.nan=t=>Number.isNaN(t);Fe.primitive=t=>Fe.null_(t)||prt(typeof t);Fe.integer=t=>Number.isInteger(t);Fe.safeInteger=t=>Number.isSafeInteger(t);Fe.plainObject=t=>{if(Poe.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};Fe.typedArray=t=>crt(n1(t));var drt=t=>Fe.safeInteger(t)&&t>=0;Fe.arrayLike=t=>!Fe.nullOrUndefined(t)&&!Fe.function_(t)&&drt(t.length);Fe.inRange=(t,e)=>{if(Fe.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(Fe.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var mrt=1,yrt=["innerHTML","ownerDocument","style","attributes","nodeValue"];Fe.domElement=t=>Fe.object(t)&&t.nodeType===mrt&&Fe.string(t.nodeName)&&!Fe.plainObject(t)&&yrt.every(e=>e in t);Fe.observable=t=>{var e,r,o,a;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((a=(o=t)["@@observable"])===null||a===void 0?void 0:a.call(o)):!1};Fe.nodeStream=t=>Fe.object(t)&&Fe.function_(t.pipe)&&!Fe.observable(t);Fe.infinite=t=>t===1/0||t===-1/0;var xoe=t=>e=>Fe.integer(e)&&Math.abs(e%2)===t;Fe.evenInteger=xoe(0);Fe.oddInteger=xoe(1);Fe.emptyArray=t=>Fe.array(t)&&t.length===0;Fe.nonEmptyArray=t=>Fe.array(t)&&t.length>0;Fe.emptyString=t=>Fe.string(t)&&t.length===0;Fe.nonEmptyString=t=>Fe.string(t)&&t.length>0;var Crt=t=>Fe.string(t)&&!/\S/.test(t);Fe.emptyStringOrWhitespace=t=>Fe.emptyString(t)||Crt(t);Fe.emptyObject=t=>Fe.object(t)&&!Fe.map(t)&&!Fe.set(t)&&Object.keys(t).length===0;Fe.nonEmptyObject=t=>Fe.object(t)&&!Fe.map(t)&&!Fe.set(t)&&Object.keys(t).length>0;Fe.emptySet=t=>Fe.set(t)&&t.size===0;Fe.nonEmptySet=t=>Fe.set(t)&&t.size>0;Fe.emptyMap=t=>Fe.map(t)&&t.size===0;Fe.nonEmptyMap=t=>Fe.map(t)&&t.size>0;Fe.propertyKey=t=>Fe.any([Fe.string,Fe.number,Fe.symbol],t);Fe.formData=t=>Jn("FormData")(t);Fe.urlSearchParams=t=>Jn("URLSearchParams")(t);var boe=(t,e,r)=>{if(!Fe.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};Fe.any=(t,...e)=>(Fe.array(t)?t:[t]).some(o=>boe(Array.prototype.some,o,e));Fe.all=(t,...e)=>boe(Array.prototype.every,t,e);var Mt=(t,e,r,o={})=>{if(!t){let{multipleValues:a}=o,n=a?`received values of types ${[...new Set(r.map(u=>`\`${Fe(u)}\``))].join(", ")}`:`received value of type \`${Fe(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${n}.`)}};Rf.assert={undefined:t=>Mt(Fe.undefined(t),"undefined",t),string:t=>Mt(Fe.string(t),"string",t),number:t=>Mt(Fe.number(t),"number",t),bigint:t=>Mt(Fe.bigint(t),"bigint",t),function_:t=>Mt(Fe.function_(t),"Function",t),null_:t=>Mt(Fe.null_(t),"null",t),class_:t=>Mt(Fe.class_(t),"Class",t),boolean:t=>Mt(Fe.boolean(t),"boolean",t),symbol:t=>Mt(Fe.symbol(t),"symbol",t),numericString:t=>Mt(Fe.numericString(t),"string with a number",t),array:(t,e)=>{Mt(Fe.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Mt(Fe.buffer(t),"Buffer",t),nullOrUndefined:t=>Mt(Fe.nullOrUndefined(t),"null or undefined",t),object:t=>Mt(Fe.object(t),"Object",t),iterable:t=>Mt(Fe.iterable(t),"Iterable",t),asyncIterable:t=>Mt(Fe.asyncIterable(t),"AsyncIterable",t),generator:t=>Mt(Fe.generator(t),"Generator",t),asyncGenerator:t=>Mt(Fe.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Mt(Fe.nativePromise(t),"native Promise",t),promise:t=>Mt(Fe.promise(t),"Promise",t),generatorFunction:t=>Mt(Fe.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Mt(Fe.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Mt(Fe.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Mt(Fe.boundFunction(t),"Function",t),regExp:t=>Mt(Fe.regExp(t),"RegExp",t),date:t=>Mt(Fe.date(t),"Date",t),error:t=>Mt(Fe.error(t),"Error",t),map:t=>Mt(Fe.map(t),"Map",t),set:t=>Mt(Fe.set(t),"Set",t),weakMap:t=>Mt(Fe.weakMap(t),"WeakMap",t),weakSet:t=>Mt(Fe.weakSet(t),"WeakSet",t),int8Array:t=>Mt(Fe.int8Array(t),"Int8Array",t),uint8Array:t=>Mt(Fe.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Mt(Fe.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Mt(Fe.int16Array(t),"Int16Array",t),uint16Array:t=>Mt(Fe.uint16Array(t),"Uint16Array",t),int32Array:t=>Mt(Fe.int32Array(t),"Int32Array",t),uint32Array:t=>Mt(Fe.uint32Array(t),"Uint32Array",t),float32Array:t=>Mt(Fe.float32Array(t),"Float32Array",t),float64Array:t=>Mt(Fe.float64Array(t),"Float64Array",t),bigInt64Array:t=>Mt(Fe.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Mt(Fe.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Mt(Fe.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Mt(Fe.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Mt(Fe.dataView(t),"DataView",t),urlInstance:t=>Mt(Fe.urlInstance(t),"URL",t),urlString:t=>Mt(Fe.urlString(t),"string with a URL",t),truthy:t=>Mt(Fe.truthy(t),"truthy",t),falsy:t=>Mt(Fe.falsy(t),"falsy",t),nan:t=>Mt(Fe.nan(t),"NaN",t),primitive:t=>Mt(Fe.primitive(t),"primitive",t),integer:t=>Mt(Fe.integer(t),"integer",t),safeInteger:t=>Mt(Fe.safeInteger(t),"integer",t),plainObject:t=>Mt(Fe.plainObject(t),"plain object",t),typedArray:t=>Mt(Fe.typedArray(t),"TypedArray",t),arrayLike:t=>Mt(Fe.arrayLike(t),"array-like",t),domElement:t=>Mt(Fe.domElement(t),"HTMLElement",t),observable:t=>Mt(Fe.observable(t),"Observable",t),nodeStream:t=>Mt(Fe.nodeStream(t),"Node.js Stream",t),infinite:t=>Mt(Fe.infinite(t),"infinite number",t),emptyArray:t=>Mt(Fe.emptyArray(t),"empty array",t),nonEmptyArray:t=>Mt(Fe.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Mt(Fe.emptyString(t),"empty string",t),nonEmptyString:t=>Mt(Fe.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Mt(Fe.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Mt(Fe.emptyObject(t),"empty object",t),nonEmptyObject:t=>Mt(Fe.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Mt(Fe.emptySet(t),"empty set",t),nonEmptySet:t=>Mt(Fe.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Mt(Fe.emptyMap(t),"empty map",t),nonEmptyMap:t=>Mt(Fe.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Mt(Fe.propertyKey(t),"PropertyKey",t),formData:t=>Mt(Fe.formData(t),"FormData",t),urlSearchParams:t=>Mt(Fe.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Mt(Fe.evenInteger(t),"even integer",t),oddInteger:t=>Mt(Fe.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Mt(Fe.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Mt(Fe.inRange(t,e),"in range",t),any:(t,...e)=>Mt(Fe.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Mt(Fe.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(Fe,{class:{value:Fe.class_},function:{value:Fe.function_},null:{value:Fe.null_}});Object.defineProperties(Rf.assert,{class:{value:Rf.assert.class_},function:{value:Rf.assert.function_},null:{value:Rf.assert.null_}});Rf.default=Fe;HP.exports=Fe;HP.exports.default=Fe;HP.exports.assert=Rf.assert});var Qoe=U((eLt,FM)=>{"use strict";var qP=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},EC=class{static fn(e){return(...r)=>new EC((o,a,n)=>{r.push(n),e(...r).then(o,a)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,o)=>{this._reject=o;let a=A=>{this._isPending=!1,r(A)},n=A=>{this._isPending=!1,o(A)},u=A=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(A)};return Object.defineProperties(u,{shouldReject:{get:()=>this._rejectOnCancel,set:A=>{this._rejectOnCancel=A}}}),e(a,n,u)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new qP(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(EC.prototype,Promise.prototype);FM.exports=EC;FM.exports.CancelError=qP});var koe=U((TM,NM)=>{"use strict";Object.defineProperty(TM,"__esModule",{value:!0});var Ert=Ie("tls"),RM=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let o=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",u=()=>{o&&r.connect(),t instanceof Ert.TLSSocket&&a&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),n&&t.once("close",r.close)};t.writable&&!t.connecting?u():t.connecting?t.once("connect",u):t.destroyed&&n&&r.close(t._hadError)};TM.default=RM;NM.exports=RM;NM.exports.default=RM});var Foe=U((OM,MM)=>{"use strict";Object.defineProperty(OM,"__esModule",{value:!0});var Irt=koe(),wrt=Number(process.versions.node.split(".")[0]),LM=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=u=>{let A=u.emit.bind(u);u.emit=(p,...h)=>(p==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,u.emit=A),A(p,...h))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||wrt>=13)&&(e.phases.total=Date.now()-e.start)});let o=u=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let A=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};u.prependOnceListener("lookup",A),Irt.default(u,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(u.removeListener("lookup",A),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?o(t.socket):t.prependOnceListener("socket",o);let a=()=>{var u;e.upload=Date.now(),e.phases.request=e.upload-(u=e.secureConnect,u??e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?a():t.prependOnceListener("finish",a),t.prependOnceListener("response",u=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,u.timings=e,r(u),u.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};OM.default=LM;MM.exports=LM;MM.exports.default=LM});var Uoe=U((tLt,HM)=>{"use strict";var{V4MAPPED:Brt,ADDRCONFIG:vrt,ALL:Moe,promises:{Resolver:Roe},lookup:Drt}=Ie("dns"),{promisify:UM}=Ie("util"),Srt=Ie("os"),IC=Symbol("cacheableLookupCreateConnection"),_M=Symbol("cacheableLookupInstance"),Toe=Symbol("expires"),Prt=typeof Moe=="number",Noe=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},xrt=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},Loe=()=>{let t=!1,e=!1;for(let r of Object.values(Srt.networkInterfaces()))for(let o of r)if(!o.internal&&(o.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},brt=t=>Symbol.iterator in t,Ooe={ttl:!0},Qrt={all:!0},jP=class{constructor({cache:e=new Map,maxTtl:r=1/0,fallbackDuration:o=3600,errorTtl:a=.15,resolver:n=new Roe,lookup:u=Drt}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=e,this._resolver=n,this._dnsLookup=UM(u),this._resolver instanceof Roe?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=UM(this._resolver.resolve4.bind(this._resolver)),this._resolve6=UM(this._resolver.resolve6.bind(this._resolver))),this._iface=Loe(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,o<1)this._fallback=!1;else{this._fallback=!0;let A=setInterval(()=>{this._hostnamesToFallback.clear()},o*1e3);A.unref&&A.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,o){if(typeof r=="function"?(o=r,r={}):typeof r=="number"&&(r={family:r}),!o)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(a=>{r.all?o(null,a):o(null,a.address,a.family,a.expires,a.ttl)},o)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let o=await this.query(e);if(r.family===6){let a=o.filter(n=>n.family===6);r.hints&Brt&&(Prt&&r.hints&Moe||a.length===0)?xrt(o):o=a}else r.family===4&&(o=o.filter(a=>a.family===4));if(r.hints&vrt){let{_iface:a}=this;o=o.filter(n=>n.family===6?a.has6:a.has4)}if(o.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${e}`);throw a.code="ENOTFOUND",a.hostname=e,a}return r.all?o:o[0]}async query(e){let r=await this._cache.get(e);if(!r){let o=this._pending[e];if(o)r=await o;else{let a=this.queryAndCache(e);this._pending[e]=a,r=await a}}return r=r.map(o=>({...o})),r}async _resolve(e){let r=async h=>{try{return await h}catch(E){if(E.code==="ENODATA"||E.code==="ENOTFOUND")return[];throw E}},[o,a]=await Promise.all([this._resolve4(e,Ooe),this._resolve6(e,Ooe)].map(h=>r(h))),n=0,u=0,A=0,p=Date.now();for(let h of o)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,u=Math.max(u,h.ttl);return o.length>0?a.length>0?A=Math.min(n,u):A=n:A=u,{entries:[...o,...a],cacheTtl:A}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,r,o){if(this.maxTtl>0&&o>0){o=Math.min(o,this.maxTtl)*1e3,r[Toe]=Date.now()+o;try{await this._cache.set(e,r,o)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}brt(this._cache)&&this._tick(o)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Qrt);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let o=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,o),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e<r)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=e,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let o=1/0,a=Date.now();for(let[n,u]of this._cache){let A=u[Toe];a>=A?this._cache.delete(n):A<o&&(o=A)}o!==1/0&&this._tick(o-a)},e),this._removalTimeout.unref&&this._removalTimeout.unref())}install(e){if(Noe(e),IC in e)throw new Error("CacheableLookup has been already installed");e[IC]=e.createConnection,e[_M]=this,e.createConnection=(r,o)=>("lookup"in r||(r.lookup=this.lookup),e[IC](r,o))}uninstall(e){if(Noe(e),e[IC]){if(e[_M]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[IC],delete e[IC],delete e[_M]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=Loe(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};HM.exports=jP;HM.exports.default=jP});var qoe=U((rLt,qM)=>{"use strict";var krt=typeof URL>"u"?Ie("url").URL:URL,Frt="text/plain",Rrt="us-ascii",_oe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Trt=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let o=r[1].split(";"),a=r[2],n=e?"":r[3],u=!1;o[o.length-1]==="base64"&&(o.pop(),u=!0);let A=(o.shift()||"").toLowerCase(),h=[...o.map(E=>{let[w,v=""]=E.split("=").map(b=>b.trim());return w==="charset"&&(v=v.toLowerCase(),v===Rrt)?"":`${w}${v?`=${v}`:""}`}).filter(Boolean)];return u&&h.push("base64"),(h.length!==0||A&&A!==Frt)&&h.unshift(A),`data:${h.join(";")},${u?a.trim():a}${n?`#${n}`:""}`},Hoe=(t,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return Trt(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new krt(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,u)=>/^(?!\/)/g.test(u)?`${u}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),u=n[n.length-1];_oe(u,e.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let n of[...a.searchParams.keys()])_oe(n,e.removeQueryParameters)&&a.searchParams.delete(n);return e.sortQueryParameters&&a.searchParams.sort(),e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),t=a.toString(),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};qM.exports=Hoe;qM.exports.default=Hoe});var Woe=U((nLt,Goe)=>{Goe.exports=joe;function joe(t,e){if(t&&e)return joe(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(o){r[o]=t[o]}),r;function r(){for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];var n=t.apply(this,o),u=o[o.length-1];return typeof n=="function"&&n!==u&&Object.keys(u).forEach(function(A){n[A]=u[A]}),n}}});var GM=U((iLt,jM)=>{var Yoe=Woe();jM.exports=Yoe(GP);jM.exports.strict=Yoe(Koe);GP.proto=GP(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return GP(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Koe(this)},configurable:!0})});function GP(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function Koe(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var WM=U((sLt,Joe)=>{var Nrt=GM(),Lrt=function(){},Ort=function(t){return t.setHeader&&typeof t.abort=="function"},Mrt=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},Voe=function(t,e,r){if(typeof e=="function")return Voe(t,null,e);e||(e={}),r=Nrt(r||Lrt);var o=t._writableState,a=t._readableState,n=e.readable||e.readable!==!1&&t.readable,u=e.writable||e.writable!==!1&&t.writable,A=function(){t.writable||p()},p=function(){u=!1,n||r.call(t)},h=function(){n=!1,u||r.call(t)},E=function(C){r.call(t,C?new Error("exited with error code: "+C):null)},w=function(C){r.call(t,C)},v=function(){if(n&&!(a&&a.ended))return r.call(t,new Error("premature close"));if(u&&!(o&&o.ended))return r.call(t,new Error("premature close"))},b=function(){t.req.on("finish",p)};return Ort(t)?(t.on("complete",p),t.on("abort",v),t.req?b():t.on("request",b)):u&&!o&&(t.on("end",A),t.on("close",A)),Mrt(t)&&t.on("exit",E),t.on("end",h),t.on("finish",p),e.error!==!1&&t.on("error",w),t.on("close",v),function(){t.removeListener("complete",p),t.removeListener("abort",v),t.removeListener("request",b),t.req&&t.req.removeListener("finish",p),t.removeListener("end",A),t.removeListener("close",A),t.removeListener("finish",p),t.removeListener("exit",E),t.removeListener("end",h),t.removeListener("error",w),t.removeListener("close",v)}};Joe.exports=Voe});var Zoe=U((oLt,Xoe)=>{var Urt=GM(),_rt=WM(),YM=Ie("fs"),i1=function(){},Hrt=/^v?\.0/.test(process.version),WP=function(t){return typeof t=="function"},qrt=function(t){return!Hrt||!YM?!1:(t instanceof(YM.ReadStream||i1)||t instanceof(YM.WriteStream||i1))&&WP(t.close)},jrt=function(t){return t.setHeader&&WP(t.abort)},Grt=function(t,e,r,o){o=Urt(o);var a=!1;t.on("close",function(){a=!0}),_rt(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,qrt(t))return t.close(i1);if(jrt(t))return t.abort();if(WP(t.destroy))return t.destroy();o(u||new Error("stream was destroyed"))}}},zoe=function(t){t()},Wrt=function(t,e){return t.pipe(e)},Yrt=function(){var t=Array.prototype.slice.call(arguments),e=WP(t[t.length-1]||i1)&&t.pop()||i1;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,o=t.map(function(a,n){var u=n<t.length-1,A=n>0;return Grt(a,u,A,function(p){r||(r=p),p&&o.forEach(zoe),!u&&(o.forEach(zoe),e(r))})});return t.reduce(Wrt)};Xoe.exports=Yrt});var eae=U((aLt,$oe)=>{"use strict";var{PassThrough:Krt}=Ie("stream");$oe.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,o=r==="buffer",a=!1;e?a=!(r||o):r=r||"utf8",o&&(r=null);let n=new Krt({objectMode:a});r&&n.setEncoding(r);let u=0,A=[];return n.on("data",p=>{A.push(p),a?u=A.length:u+=p.length}),n.getBufferedValue=()=>e?A:o?Buffer.concat(A,u):A.join(""),n.getBufferedLength=()=>u,n}});var tae=U((lLt,wC)=>{"use strict";var Vrt=Zoe(),Jrt=eae(),YP=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function KP(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:r}=e,o;return await new Promise((a,n)=>{let u=A=>{A&&(A.bufferedData=o.getBufferedValue()),n(A)};o=Vrt(t,Jrt(e),A=>{if(A){u(A);return}a()}),o.on("data",()=>{o.getBufferedLength()>r&&u(new YP)})}),o.getBufferedValue()}wC.exports=KP;wC.exports.default=KP;wC.exports.buffer=(t,e)=>KP(t,{...e,encoding:"buffer"});wC.exports.array=(t,e)=>KP(t,{...e,array:!0});wC.exports.MaxBufferError=YP});var nae=U((uLt,rae)=>{"use strict";var zrt=new Set([200,203,204,206,300,301,404,405,410,414,501]),Xrt=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Zrt=new Set([500,502,503,504]),$rt={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},ent={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function xd(t){let e=parseInt(t,10);return isFinite(e)?e:0}function tnt(t){return t?Zrt.has(t.status):!0}function KM(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let o of r){let[a,n]=o.split(/\s*=\s*/,2);e[a]=n===void 0?!0:n.replace(/^"|"$/g,"")}return e}function rnt(t){let e=[];for(let r in t){let o=t[r];e.push(o===!0?r:r+"="+o)}if(!!e.length)return e.join(", ")}rae.exports=class{constructor(e,r,{shared:o,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:u,_fromObject:A}={}){if(A){this._fromObject(A);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=o!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=KM(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=KM(e.headers["cache-control"]),u&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":rnt(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&Xrt.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||zrt.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=KM(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let o of r)if(e.headers[o]!==this._reqHeaders[o])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let o in e)$rt[o]||(r[o]=e[o]);if(e.connection){let o=e.connection.trim().split(/\s*,\s*/);for(let a of o)delete r[a]}if(r.warning){let o=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));o.length?r.warning=o.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){return xd(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return xd(this._rescc["s-maxage"])}if(this._rescc["max-age"])return xd(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let o=Date.parse(this._resHeaders.expires);return Number.isNaN(o)||o<r?0:Math.max(e,(o-r)/1e3)}if(this._resHeaders["last-modified"]){let o=Date.parse(this._resHeaders["last-modified"]);if(isFinite(o)&&r>o)return Math.max(e,(r-o)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),r=e+xd(this._rescc["stale-if-error"]),o=e+xd(this._rescc["stale-while-revalidate"]);return Math.max(0,e,r,o)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+xd(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+xd(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&tnt(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let o=!1;if(r.status!==void 0&&r.status!=304?o=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?o=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?o=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?o=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(o=!0),!o)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let a={};for(let u in this._resHeaders)a[u]=u in r.headers&&!ent[u]?r.headers[u]:this._resHeaders[u];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(e,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var VP=U((ALt,iae)=>{"use strict";iae.exports=t=>{let e={};for(let[r,o]of Object.entries(t))e[r.toLowerCase()]=o;return e}});var oae=U((fLt,sae)=>{"use strict";var nnt=Ie("stream").Readable,int=VP(),VM=class extends nnt{constructor(e,r,o,a){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(o instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=int(r),this.body=o,this.url=a}_read(){this.push(this.body),this.push(null)}};sae.exports=VM});var lae=U((pLt,aae)=>{"use strict";var snt=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];aae.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(snt));for(let o of r)o in e||(e[o]=typeof t[o]=="function"?t[o].bind(t):t[o])}});var uae=U((hLt,cae)=>{"use strict";var ont=Ie("stream").PassThrough,ant=lae(),lnt=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new ont;return ant(t,e),t.pipe(e)};cae.exports=lnt});var Aae=U(JM=>{JM.stringify=function t(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",o=Array.isArray(e);r=o?"[":"{";var a=!0;for(var n in e){var u=typeof e[n]=="function"||!o&&typeof e[n]>"u";Object.hasOwnProperty.call(e,n)&&!u&&(a||(r+=","),a=!1,o?e[n]==null?r+="null":r+=t(e[n]):e[n]!==void 0&&(r+=t(n)+":"+t(e[n])))}return r+=o?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};JM.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var hae=U((dLt,pae)=>{"use strict";var cnt=Ie("events"),fae=Aae(),unt=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(Ie(e[r]))(t)}return new Map},zM=class extends cnt{constructor(e,r){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:fae.stringify,deserialize:fae.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let o=Object.assign({},this.opts);this.opts.store=unt(o)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",o=>this.emit("error",o)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:o}=this.opts;return Promise.resolve().then(()=>o.get(e)).then(a=>typeof a=="string"?this.opts.deserialize(a):a).then(a=>{if(a!==void 0){if(typeof a.expires=="number"&&Date.now()>a.expires){this.delete(e);return}return r&&r.raw?a:a.value}})}set(e,r,o){e=this._getKeyPrefix(e),typeof o>"u"&&(o=this.opts.ttl),o===0&&(o=void 0);let{store:a}=this.opts;return Promise.resolve().then(()=>{let n=typeof o=="number"?Date.now()+o:null;return r={value:r,expires:n},this.opts.serialize(r)}).then(n=>a.set(e,n,o)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};pae.exports=zM});var mae=U((yLt,dae)=>{"use strict";var Ant=Ie("events"),JP=Ie("url"),fnt=qoe(),pnt=tae(),XM=nae(),gae=oae(),hnt=VP(),gnt=uae(),dnt=hae(),Yc=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new dnt({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,o)=>{let a;if(typeof r=="string")a=ZM(JP.parse(r)),r={};else if(r instanceof JP.URL)a=ZM(JP.parse(r.toString())),r={};else{let[w,...v]=(r.path||"").split("?"),b=v.length>0?`?${v.join("?")}`:"";a=ZM({...r,pathname:w,search:b})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...mnt(a)},r.headers=hnt(r.headers);let n=new Ant,u=fnt(JP.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),A=`${r.method}:${u}`,p=!1,h=!1,E=w=>{h=!0;let v=!1,b,C=new Promise(L=>{b=()=>{v||(v=!0,L())}}),R=L=>{if(p&&!w.forceRefresh){L.status=L.statusCode;let V=XM.fromObject(p.cachePolicy).revalidatedPolicy(w,L);if(!V.modified){let re=V.policy.responseHeaders();L=new gae(p.statusCode,re,p.body,p.url),L.cachePolicy=V.policy,L.fromCache=!0}}L.fromCache||(L.cachePolicy=new XM(w,L,w),L.fromCache=!1);let _;w.cache&&L.cachePolicy.storable()?(_=gnt(L),(async()=>{try{let V=pnt.buffer(L);if(await Promise.race([C,new Promise(he=>L.once("end",he))]),v)return;let re=await V,oe={cachePolicy:L.cachePolicy.toObject(),url:L.url,statusCode:L.fromCache?p.statusCode:L.statusCode,body:re},pe=w.strictTtl?L.cachePolicy.timeToLive():void 0;w.maxTtl&&(pe=pe?Math.min(pe,w.maxTtl):w.maxTtl),await this.cache.set(A,oe,pe)}catch(V){n.emit("error",new Yc.CacheError(V))}})()):w.cache&&p&&(async()=>{try{await this.cache.delete(A)}catch(V){n.emit("error",new Yc.CacheError(V))}})(),n.emit("response",_||L),typeof o=="function"&&o(_||L)};try{let L=e(w,R);L.once("error",b),L.once("abort",b),n.emit("request",L)}catch(L){n.emit("error",new Yc.RequestError(L))}};return(async()=>{let w=async b=>{await Promise.resolve();let C=b.cache?await this.cache.get(A):void 0;if(typeof C>"u")return E(b);let R=XM.fromObject(C.cachePolicy);if(R.satisfiesWithoutRevalidation(b)&&!b.forceRefresh){let L=R.responseHeaders(),_=new gae(C.statusCode,L,C.body,C.url);_.cachePolicy=R,_.fromCache=!0,n.emit("response",_),typeof o=="function"&&o(_)}else p=C,b.headers=R.revalidationHeaders(b),E(b)},v=b=>n.emit("error",new Yc.CacheError(b));this.cache.once("error",v),n.on("response",()=>this.cache.removeListener("error",v));try{await w(r)}catch(b){r.automaticFailover&&!h&&E(r),n.emit("error",new Yc.CacheError(b))}})(),n}}};function mnt(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function ZM(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}Yc.RequestError=class extends Error{constructor(t){super(t.message),this.name="RequestError",Object.assign(this,t)}};Yc.CacheError=class extends Error{constructor(t){super(t.message),this.name="CacheError",Object.assign(this,t)}};dae.exports=Yc});var Cae=U((ILt,yae)=>{"use strict";var ynt=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];yae.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(ynt)),o={};for(let a of r)a in e||(o[a]={get(){let n=t[a];return typeof n=="function"?n.bind(t):n},set(n){t[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(e,o),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var Iae=U((wLt,Eae)=>{"use strict";var{Transform:Cnt,PassThrough:Ent}=Ie("stream"),$M=Ie("zlib"),Int=Cae();Eae.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof $M.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let o=!0,a=new Cnt({transform(A,p,h){o=!1,h(null,A)},flush(A){A()}}),n=new Ent({autoDestroy:!1,destroy(A,p){t.destroy(),p(A)}}),u=r?$M.createBrotliDecompress():$M.createUnzip();return u.once("error",A=>{if(o&&!t.readable){n.end();return}n.destroy(A)}),Int(t,n),t.pipe(a).pipe(u).pipe(n),n}});var t4=U((BLt,wae)=>{"use strict";var e4=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[o,a]of this.oldCache.entries())this.onEviction(o,a);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};wae.exports=e4});var n4=U((vLt,Sae)=>{"use strict";var wnt=Ie("events"),Bnt=Ie("tls"),vnt=Ie("http2"),Dnt=t4(),Xo=Symbol("currentStreamsCount"),Bae=Symbol("request"),Zl=Symbol("cachedOriginSet"),BC=Symbol("gracefullyClosing"),Snt=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Pnt=(t,e,r)=>{let o=0,a=t.length;for(;o<a;){let n=o+a>>>1;r(t[n],e)?o=n+1:a=n}return o},xnt=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,r4=(t,e)=>{for(let r of t)r[Zl].length<e[Zl].length&&r[Zl].every(o=>e[Zl].includes(o))&&r[Xo]+e[Xo]<=e.remoteSettings.maxConcurrentStreams&&Dae(r)},bnt=(t,e)=>{for(let r of t)e[Zl].length<r[Zl].length&&e[Zl].every(o=>r[Zl].includes(o))&&e[Xo]+r[Xo]<=r.remoteSettings.maxConcurrentStreams&&Dae(e)},vae=({agent:t,isFree:e})=>{let r={};for(let o in t.sessions){let n=t.sessions[o].filter(u=>{let A=u[iA.kCurrentStreamsCount]<u.remoteSettings.maxConcurrentStreams;return e?A:!A});n.length!==0&&(r[o]=n)}return r},Dae=t=>{t[BC]=!0,t[Xo]===0&&t.close()},iA=class extends wnt{constructor({timeout:e=6e4,maxSessions:r=1/0,maxFreeSessions:o=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=o,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Dnt({maxSize:a})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let o of Snt)e[o]&&(r+=`:${e[o]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let o=this.queue[e][r];this._sessionsCount<this.maxSessions&&!o.completed&&(o.completed=!0,o())}getSession(e,r,o){return new Promise((a,n)=>{Array.isArray(o)?(o=[...o],a()):o=[{resolve:a,reject:n}];let u=this.normalizeOptions(r),A=iA.normalizeOrigin(e,r&&r.servername);if(A===void 0){for(let{reject:E}of o)E(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(u in this.sessions){let E=this.sessions[u],w=-1,v=-1,b;for(let C of E){let R=C.remoteSettings.maxConcurrentStreams;if(R<w)break;if(C[Zl].includes(A)){let L=C[Xo];if(L>=R||C[BC]||C.destroyed)continue;b||(w=R),L>v&&(b=C,v=L)}}if(b){if(o.length!==1){for(let{reject:C}of o){let R=new Error(`Expected the length of listeners to be 1, got ${o.length}. |
137 | Please report this to https://github.com/szmarczak/http2-wrapper/`);E(R)}return}o[0].resolve(b);return}}if(u in this.queue){if(A in this.queue[u]){this.queue[u][A].listeners.push(...o),this._tryToCreateNewSession(u,A);return}}else this.queue[u]={};let p=()=>{u in this.queue&&this.queue[u][A]===h&&(delete this.queue[u][A],Object.keys(this.queue[u]).length===0&&delete this.queue[u])},h=()=>{let C=`${A}:${u}`,w=!1;try{let v=pnt.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(C),...r});v[zo]=0,v[yE]=!1;let b=()=>v[zo]<v.remoteSettings.maxConcurrentStreams,E=!0;v.socket.once("session",L=>{this.tlsSessionCache.set(C,L)}),v.once("error",L=>{for(let{reject:_}of o)_(L);this.tlsSessionCache.delete(C)}),v.setTimeout(this.timeout,()=>{v.destroy()}),v.once("close",()=>{if(w){E&&this._freeSessionsCount--,this._sessionsCount--;let L=this.sessions[u];L.splice(L.indexOf(v),1),L.length===0&&delete this.sessions[u]}else{let L=new Error("Session closed without receiving a SETTINGS frame");L.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:_}of o)_(L);p()}this._tryToCreateNewSession(u,A)});let R=()=>{if(!(!(u in this.queue)||!b())){for(let L of v[Vl])if(L in this.queue[u]){let{listeners:_}=this.queue[u][L];for(;_.length!==0&&b();)_.shift().resolve(v);let J=this.queue[u];if(J[L].listeners.length===0&&(delete J[L],Object.keys(J).length===0)){delete this.queue[u];break}if(!b())break}}};v.on("origin",()=>{v[Vl]=v.originSet,b()&&(R(),t4(this.sessions[u],v))}),v.once("remoteSettings",()=>{if(v.ref(),v.unref(),this._sessionsCount++,h.destroyed){let L=new Error("Agent has been destroyed");for(let _ of o)_.reject(L);v.destroy();return}v[Vl]=v.originSet;{let L=this.sessions;if(u in L){let _=L[u];_.splice(dnt(_,v,mnt),0,v)}else L[u]=[v]}this._freeSessionsCount+=1,w=!0,this.emit("session",v),R(),p(),v[zo]===0&&this._freeSessionsCount>this.maxFreeSessions&&v.close(),o.length!==0&&(this.getSession(A,r,o),o.length=0),v.on("remoteSettings",()=>{R(),t4(this.sessions[u],v)})}),v[mae]=v.request,v.request=(L,_)=>{if(v[yE])throw new Error("The session is gracefully closing. No new streams are allowed.");let J=v[mae](L,_);return v.ref(),++v[zo],v[zo]===v.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,J.once("close",()=>{if(E=b(),--v[zo],!v.destroyed&&!v.closed&&(ynt(this.sessions[u],v),b()&&!v.closed)){E||(this._freeSessionsCount++,E=!0);let re=v[zo]===0;re&&v.unref(),re&&(this._freeSessionsCount>this.maxFreeSessions||v[yE])?v.close():(t4(this.sessions[u],v),R())}}),J}}catch(v){for(let b of o)b.reject(v);p()}};h.listeners=o,h.completed=!1,h.destroyed=!1,this.queue[u][A]=h,this._tryToCreateNewSession(u,A)})}request(e,r,o,a){return new Promise((n,u)=>{this.getSession(e,r,[{reject:u,resolve:A=>{try{n(A.request(o,a))}catch(p){u(p)}}}])})}createConnection(e,r){return nA.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let o=e.port||443,a=e.hostname||e.host;return typeof r.servername>"u"&&(r.servername=a),fnt.connect(o,a,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[zo]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let o of r)o.destroy(e);for(let r of Object.values(this.queue))for(let o of Object.values(r))o.destroyed=!0;this.queue={}}get freeSessions(){return yae({agent:this,isFree:!0})}get busySessions(){return yae({agent:this,isFree:!1})}};nA.kCurrentStreamsCount=zo;nA.kGracefullyClosing=yE;Cae.exports={Agent:nA,globalAgent:new nA}});var i4=U((ALt,Iae)=>{"use strict";var{Readable:Ent}=Ie("stream"),n4=class extends Ent{constructor(e,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};Iae.exports=n4});var s4=U((fLt,wae)=>{"use strict";wae.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var vae=U((pLt,Bae)=>{"use strict";Bae.exports=(t,e,r)=>{for(let o of r)t.on(o,(...a)=>e.emit(o,...a))}});var Sae=U((hLt,Dae)=>{"use strict";Dae.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var xae=U((dLt,Pae)=>{"use strict";var EE=(t,e,r)=>{Pae.exports[e]=class extends t{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${e}]`,this.code=e}}};EE(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],o=Array.isArray(r);return o&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${o?"one of":"of"} type ${r}. Received ${typeof t[2]}`});EE(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);EE(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);EE(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);EE(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);EE(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var u4=U((mLt,Nae)=>{"use strict";var Cnt=Ie("http2"),{Writable:Int}=Ie("stream"),{Agent:bae,globalAgent:wnt}=r4(),Bnt=i4(),vnt=s4(),Dnt=vae(),Snt=Sae(),{ERR_INVALID_ARG_TYPE:o4,ERR_INVALID_PROTOCOL:Pnt,ERR_HTTP_HEADERS_SENT:Qae,ERR_INVALID_HTTP_TOKEN:xnt,ERR_HTTP_INVALID_HEADER_VALUE:bnt,ERR_INVALID_CHAR:Qnt}=xae(),{HTTP2_HEADER_STATUS:kae,HTTP2_HEADER_METHOD:Fae,HTTP2_HEADER_PATH:Rae,HTTP2_METHOD_CONNECT:knt}=Cnt.constants,xo=Symbol("headers"),a4=Symbol("origin"),l4=Symbol("session"),Tae=Symbol("options"),jP=Symbol("flushedHeaders"),t1=Symbol("jobs"),Fnt=/^[\^`\-\w!#$%&*+.|~]+$/,Rnt=/[^\t\u0020-\u007E\u0080-\u00FF]/,c4=class extends Int{constructor(e,r,o){super({autoDestroy:!1});let a=typeof e=="string"||e instanceof URL;if(a&&(e=vnt(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(o=r,r=a?e:{...e}):r={...e,...r},r.h2session)this[l4]=r.h2session;else if(r.agent===!1)this.agent=new bae({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new bae({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=wnt;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new o4("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Pnt(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,u=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:A}=r;if(r.timeout=void 0,this[xo]=Object.create(null),this[t1]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[xo])&&(this[xo].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[Tae]=r,n===443?(this[a4]=`https://${u}`,":authority"in this[xo]||(this[xo][":authority"]=u)):(this[a4]=`https://${u}:${n}`,":authority"in this[xo]||(this[xo][":authority"]=`${u}:${n}`)),A&&this.setTimeout(A),o&&this.once("response",o),this[jP]=!1}get method(){return this[xo][Fae]}set method(e){e&&(this[xo][Fae]=e.toUpperCase())}get path(){return this[xo][Rae]}set path(e){e&&(this[xo][Rae]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,o){if(this._mustNotHaveABody){o(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(e,r,o);this._request?a():this[t1].push(a)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[t1].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[jP]||this.destroyed)return;this[jP]=!0;let e=this.method===knt,r=o=>{if(this._request=o,this.destroyed){o.destroy();return}e||Dnt(o,this,["timeout","continue","close","error"]);let a=u=>(...A)=>{!this.writable&&!this.destroyed?u(...A):this.once("finish",()=>{u(...A)})};o.once("response",a((u,A,p)=>{let h=new Bnt(this.socket,o.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=u[kae],h.headers=u,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),e?(h.upgrade=!0,this.emit("connect",h,o,Buffer.alloc(0))?this.emit("close"):o.destroy()):(o.on("data",C=>{!h._dumped&&!h.push(C)&&o.pause()}),o.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),o.once("headers",a(u=>this.emit("information",{statusCode:u[kae]}))),o.once("trailers",a((u,A,p)=>{let{res:h}=this;h.trailers=u,h.rawTrailers=p}));let{socket:n}=o.session;this.socket=n,this.connection=n;for(let u of this[t1])u();this.emit("socket",this.socket)};if(this[l4])try{r(this[l4].request(this[xo]))}catch(o){this.emit("error",o)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[a4],this[Tae],this[xo]))}catch(o){this.emit("error",o)}}}getHeader(e){if(typeof e!="string")throw new o4("name","string",e);return this[xo][e.toLowerCase()]}get headersSent(){return this[jP]}removeHeader(e){if(typeof e!="string")throw new o4("name","string",e);if(this.headersSent)throw new Qae("remove");delete this[xo][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new Qae("set");if(typeof e!="string"||!Fnt.test(e)&&!Snt(e))throw new xnt("Header name",e);if(typeof r>"u")throw new bnt(r,e);if(Rnt.test(r))throw new Qnt("header content",e);this[xo][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let o=()=>this._request.setTimeout(e,r);return this._request?o():this[t1].push(o),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};Nae.exports=c4});var Oae=U((yLt,Lae)=>{"use strict";var Tnt=Ie("tls");Lae.exports=(t={})=>new Promise((e,r)=>{let o=Tnt.connect(t,()=>{t.resolveSocket?(o.off("error",r),e({alpnProtocol:o.alpnProtocol,socket:o})):(o.destroy(),e({alpnProtocol:o.alpnProtocol}))});o.on("error",r)})});var Uae=U((ELt,Mae)=>{"use strict";var Nnt=Ie("net");Mae.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Nnt.isIP(e)?"":e}});var qae=U((CLt,f4)=>{"use strict";var _ae=Ie("http"),A4=Ie("https"),Lnt=Oae(),Ont=e4(),Mnt=u4(),Unt=Uae(),_nt=s4(),GP=new Ont({maxSize:100}),r1=new Map,Hae=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let o=()=>{t.emit("free",e,r)};e.on("free",o);let a=()=>{t.removeSocket(e,r)};e.on("close",a);let n=()=>{t.removeSocket(e,r),e.off("close",a),e.off("free",o),e.off("agentRemove",n)};e.on("agentRemove",n),t.emit("free",e,r)},Hnt=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!GP.has(e)){if(r1.has(e))return(await r1.get(e)).alpnProtocol;let{path:r,agent:o}=t;t.path=t.socketPath;let a=Lnt(t);r1.set(e,a);try{let{socket:n,alpnProtocol:u}=await a;if(GP.set(e,u),t.path=r,u==="h2")n.destroy();else{let{globalAgent:A}=A4,p=A4.Agent.prototype.createConnection;o?o.createConnection===p?Hae(o,n,t):n.destroy():A.createConnection===p?Hae(A,n,t):n.destroy()}return r1.delete(e),u}catch(n){throw r1.delete(e),n}}return GP.get(e)};f4.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=_nt(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...t,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let o=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||Unt(e),e.port=e.port||(o?443:80),e._defaultAgent=o?A4.globalAgent:_ae.globalAgent;let a=e.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=a[o?"https":"http"]}return o&&await Hnt(e)==="h2"?(a&&(e.agent=a.http2),new Mnt(e,r)):_ae.request(e,r)};f4.exports.protocolCache=GP});var Gae=U((ILt,jae)=>{"use strict";var qnt=Ie("http2"),jnt=r4(),p4=u4(),Gnt=i4(),Wnt=qae(),Ynt=(t,e,r)=>new p4(t,e,r),Knt=(t,e,r)=>{let o=new p4(t,e,r);return o.end(),o};jae.exports={...qnt,ClientRequest:p4,IncomingMessage:Gnt,...jnt,request:Ynt,get:Knt,auto:Wnt}});var g4=U(h4=>{"use strict";Object.defineProperty(h4,"__esModule",{value:!0});var Wae=Ff();h4.default=t=>Wae.default.nodeStream(t)&&Wae.default.function_(t.getBoundary)});var Vae=U(d4=>{"use strict";Object.defineProperty(d4,"__esModule",{value:!0});var Kae=Ie("fs"),Jae=Ie("util"),Yae=Ff(),Jnt=g4(),Vnt=Jae.promisify(Kae.stat);d4.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(Yae.default.string(t))return Buffer.byteLength(t);if(Yae.default.buffer(t))return t.length;if(Jnt.default(t))return Jae.promisify(t.getLength.bind(t))();if(t instanceof Kae.ReadStream){let{size:r}=await Vnt(t.path);return r===0?void 0:r}}});var y4=U(m4=>{"use strict";Object.defineProperty(m4,"__esModule",{value:!0});function znt(t,e,r){let o={};for(let a of r)o[a]=(...n)=>{e.emit(a,...n)},t.on(a,o[a]);return()=>{for(let a of r)t.off(a,o[a])}}m4.default=znt});var zae=U(E4=>{"use strict";Object.defineProperty(E4,"__esModule",{value:!0});E4.default=()=>{let t=[];return{once(e,r,o){e.once(r,o),t.push({origin:e,event:r,fn:o})},unhandleAll(){for(let e of t){let{origin:r,event:o,fn:a}=e;r.removeListener(o,a)}t.length=0}}}});var Zae=U(n1=>{"use strict";Object.defineProperty(n1,"__esModule",{value:!0});n1.TimeoutError=void 0;var Xnt=Ie("net"),Znt=zae(),Xae=Symbol("reentry"),$nt=()=>{},WP=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};n1.TimeoutError=WP;n1.default=(t,e,r)=>{if(Xae in t)return $nt;t[Xae]=!0;let o=[],{once:a,unhandleAll:n}=Znt.default(),u=(w,v,b)=>{var E;let R=setTimeout(v,w,w,b);(E=R.unref)===null||E===void 0||E.call(R);let L=()=>{clearTimeout(R)};return o.push(L),L},{host:A,hostname:p}=r,h=(w,v)=>{t.destroy(new WP(w,v))},C=()=>{for(let w of o)w();n()};if(t.once("error",w=>{if(C(),t.listenerCount("error")===0)throw w}),t.once("close",C),a(t,"response",w=>{a(w,"end",C)}),typeof e.request<"u"&&u(e.request,h,"request"),typeof e.socket<"u"){let w=()=>{h(e.socket,"socket")};t.setTimeout(e.socket,w),o.push(()=>{t.removeListener("timeout",w)})}return a(t,"socket",w=>{var v;let{socketPath:b}=t;if(w.connecting){let E=Boolean(b??Xnt.isIP((v=p??A)!==null&&v!==void 0?v:"")!==0);if(typeof e.lookup<"u"&&!E&&typeof w.address().address>"u"){let R=u(e.lookup,h,"lookup");a(w,"lookup",R)}if(typeof e.connect<"u"){let R=()=>u(e.connect,h,"connect");E?a(w,"connect",R()):a(w,"lookup",L=>{L===null&&a(w,"connect",R())})}typeof e.secureConnect<"u"&&r.protocol==="https:"&&a(w,"connect",()=>{let R=u(e.secureConnect,h,"secureConnect");a(w,"secureConnect",R)})}if(typeof e.send<"u"){let E=()=>u(e.send,h,"send");w.connecting?a(w,"connect",()=>{a(t,"upload-complete",E())}):a(t,"upload-complete",E())}}),typeof e.response<"u"&&a(t,"upload-complete",()=>{let w=u(e.response,h,"response");a(t,"response",w)}),C}});var ele=U(C4=>{"use strict";Object.defineProperty(C4,"__esModule",{value:!0});var $ae=Ff();C4.default=t=>{t=t;let e={protocol:t.protocol,hostname:$ae.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return $ae.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var tle=U(I4=>{"use strict";Object.defineProperty(I4,"__esModule",{value:!0});var eit=Ie("url"),tit=["protocol","host","hostname","port","pathname","search"];I4.default=(t,e)=>{var r,o;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(o=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&o!==void 0?o:""}`}let a=new eit.URL(t);if(e.path){let n=e.path.indexOf("?");n===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,n),e.search=e.path.slice(n+1)),delete e.path}for(let n of tit)e[n]&&(a[n]=e[n].toString());return a}});var rle=U(B4=>{"use strict";Object.defineProperty(B4,"__esModule",{value:!0});var w4=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};B4.default=w4});var D4=U(v4=>{"use strict";Object.defineProperty(v4,"__esModule",{value:!0});var rit=async t=>{let e=[],r=0;for await(let o of t)e.push(o),r+=Buffer.byteLength(o);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};v4.default=rit});var ile=U(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});Sd.dnsLookupIpVersionToFamily=Sd.isDnsLookupIpVersion=void 0;var nle={auto:0,ipv4:4,ipv6:6};Sd.isDnsLookupIpVersion=t=>t in nle;Sd.dnsLookupIpVersionToFamily=t=>{if(Sd.isDnsLookupIpVersion(t))return nle[t];throw new Error("Invalid DNS lookup IP version")}});var S4=U(YP=>{"use strict";Object.defineProperty(YP,"__esModule",{value:!0});YP.isResponseOk=void 0;YP.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var ole=U(P4=>{"use strict";Object.defineProperty(P4,"__esModule",{value:!0});var sle=new Set;P4.default=t=>{sle.has(t)||(sle.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var ale=U(x4=>{"use strict";Object.defineProperty(x4,"__esModule",{value:!0});var ai=Ff(),nit=(t,e)=>{if(ai.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");ai.assert.any([ai.default.string,ai.default.undefined],t.encoding),ai.assert.any([ai.default.boolean,ai.default.undefined],t.resolveBodyOnly),ai.assert.any([ai.default.boolean,ai.default.undefined],t.methodRewriting),ai.assert.any([ai.default.boolean,ai.default.undefined],t.isStream),ai.assert.any([ai.default.string,ai.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry={...e.retry}:t.retry={calculateDelay:o=>o.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},ai.default.object(r)?(t.retry={...t.retry,...r},t.retry.methods=[...new Set(t.retry.methods.map(o=>o.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):ai.default.number(r)&&(t.retry.limit=r),ai.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(ai.default.number))),ai.default.object(t.pagination)){e&&(t.pagination={...e.pagination,...t.pagination});let{pagination:o}=t;if(!ai.default.function_(o.transform))throw new Error("`options.pagination.transform` must be implemented");if(!ai.default.function_(o.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!ai.default.function_(o.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!ai.default.function_(o.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};x4.default=nit});var lle=U(i1=>{"use strict";Object.defineProperty(i1,"__esModule",{value:!0});i1.retryAfterStatusCodes=void 0;i1.retryAfterStatusCodes=new Set([413,429,503]);var iit=({attemptCount:t,retryOptions:e,error:r,retryAfter:o})=>{if(t>e.limit)return 0;let a=e.methods.includes(r.options.method),n=e.errorCodes.includes(r.code),u=r.response&&e.statusCodes.includes(r.response.statusCode);if(!a||!n&&!u)return 0;if(r.response){if(o)return e.maxRetryAfter===void 0||o>e.maxRetryAfter?0:o;if(r.response.statusCode===413)return 0}let A=Math.random()*100;return 2**(t-1)*1e3+A};i1.default=iit});var a1=U(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.UnsupportedProtocolError=yn.ReadError=yn.TimeoutError=yn.UploadError=yn.CacheError=yn.HTTPError=yn.MaxRedirectsError=yn.RequestError=yn.setNonEnumerableProperties=yn.knownHookEvents=yn.withoutBody=yn.kIsNormalizedAlready=void 0;var cle=Ie("util"),ule=Ie("stream"),sit=Ie("fs"),i0=Ie("url"),Ale=Ie("http"),b4=Ie("http"),oit=Ie("https"),ait=Soe(),lit=Roe(),fle=Aae(),cit=gae(),uit=Gae(),Ait=HP(),nt=Ff(),fit=Vae(),ple=g4(),pit=y4(),hle=Zae(),hit=ele(),gle=tle(),git=rle(),dit=D4(),dle=ile(),mit=S4(),s0=ole(),yit=ale(),Eit=lle(),Q4,zs=Symbol("request"),VP=Symbol("response"),CE=Symbol("responseSize"),IE=Symbol("downloadedSize"),wE=Symbol("bodySize"),BE=Symbol("uploadedSize"),KP=Symbol("serverResponsesPiped"),mle=Symbol("unproxyEvents"),yle=Symbol("isFromCache"),k4=Symbol("cancelTimeouts"),Ele=Symbol("startedReading"),vE=Symbol("stopReading"),JP=Symbol("triggerRead"),o0=Symbol("body"),s1=Symbol("jobs"),Cle=Symbol("originalResponse"),Ile=Symbol("retryTimeout");yn.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Cit=nt.default.string(process.versions.brotli);yn.withoutBody=new Set(["GET","HEAD"]);yn.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function Iit(t){for(let e in t){let r=t[e];if(!nt.default.string(r)&&!nt.default.number(r)&&!nt.default.boolean(r)&&!nt.default.null_(r)&&!nt.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function wit(t){return nt.default.object(t)&&!("statusCode"in t)}var F4=new git.default,Bit=async t=>new Promise((e,r)=>{let o=a=>{r(a)};t.pending||e(),t.once("error",o),t.once("ready",()=>{t.off("error",o),e()})}),vit=new Set([300,301,302,303,304,307,308]),Dit=["context","body","json","form"];yn.setNonEnumerableProperties=(t,e)=>{let r={};for(let o of t)if(!!o)for(let a of Dit)a in o&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:o[a]});Object.defineProperties(e,r)};var Ji=class extends Error{constructor(e,r,o){var a;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,o instanceof rx?(Object.defineProperty(this,"request",{enumerable:!1,value:o}),Object.defineProperty(this,"response",{enumerable:!1,value:o[VP]}),Object.defineProperty(this,"options",{enumerable:!1,value:o.options})):Object.defineProperty(this,"options",{enumerable:!1,value:o}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,nt.default.string(r.stack)&&nt.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,u=this.stack.slice(n).split(` | 137 | Please report this to https://github.com/szmarczak/http2-wrapper/`);C(R)}return}o[0].resolve(b);return}}if(u in this.queue){if(A in this.queue[u]){this.queue[u][A].listeners.push(...o),this._tryToCreateNewSession(u,A);return}}else this.queue[u]={};let p=()=>{u in this.queue&&this.queue[u][A]===h&&(delete this.queue[u][A],Object.keys(this.queue[u]).length===0&&delete this.queue[u])},h=()=>{let E=`${A}:${u}`,w=!1;try{let v=vnt.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(E),...r});v[Xo]=0,v[BC]=!1;let b=()=>v[Xo]<v.remoteSettings.maxConcurrentStreams,C=!0;v.socket.once("session",L=>{this.tlsSessionCache.set(E,L)}),v.once("error",L=>{for(let{reject:_}of o)_(L);this.tlsSessionCache.delete(E)}),v.setTimeout(this.timeout,()=>{v.destroy()}),v.once("close",()=>{if(w){C&&this._freeSessionsCount--,this._sessionsCount--;let L=this.sessions[u];L.splice(L.indexOf(v),1),L.length===0&&delete this.sessions[u]}else{let L=new Error("Session closed without receiving a SETTINGS frame");L.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:_}of o)_(L);p()}this._tryToCreateNewSession(u,A)});let R=()=>{if(!(!(u in this.queue)||!b())){for(let L of v[Zl])if(L in this.queue[u]){let{listeners:_}=this.queue[u][L];for(;_.length!==0&&b();)_.shift().resolve(v);let V=this.queue[u];if(V[L].listeners.length===0&&(delete V[L],Object.keys(V).length===0)){delete this.queue[u];break}if(!b())break}}};v.on("origin",()=>{v[Zl]=v.originSet,b()&&(R(),r4(this.sessions[u],v))}),v.once("remoteSettings",()=>{if(v.ref(),v.unref(),this._sessionsCount++,h.destroyed){let L=new Error("Agent has been destroyed");for(let _ of o)_.reject(L);v.destroy();return}v[Zl]=v.originSet;{let L=this.sessions;if(u in L){let _=L[u];_.splice(Pnt(_,v,xnt),0,v)}else L[u]=[v]}this._freeSessionsCount+=1,w=!0,this.emit("session",v),R(),p(),v[Xo]===0&&this._freeSessionsCount>this.maxFreeSessions&&v.close(),o.length!==0&&(this.getSession(A,r,o),o.length=0),v.on("remoteSettings",()=>{R(),r4(this.sessions[u],v)})}),v[Bae]=v.request,v.request=(L,_)=>{if(v[BC])throw new Error("The session is gracefully closing. No new streams are allowed.");let V=v[Bae](L,_);return v.ref(),++v[Xo],v[Xo]===v.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,V.once("close",()=>{if(C=b(),--v[Xo],!v.destroyed&&!v.closed&&(bnt(this.sessions[u],v),b()&&!v.closed)){C||(this._freeSessionsCount++,C=!0);let re=v[Xo]===0;re&&v.unref(),re&&(this._freeSessionsCount>this.maxFreeSessions||v[BC])?v.close():(r4(this.sessions[u],v),R())}}),V}}catch(v){for(let b of o)b.reject(v);p()}};h.listeners=o,h.completed=!1,h.destroyed=!1,this.queue[u][A]=h,this._tryToCreateNewSession(u,A)})}request(e,r,o,a){return new Promise((n,u)=>{this.getSession(e,r,[{reject:u,resolve:A=>{try{n(A.request(o,a))}catch(p){u(p)}}}])})}createConnection(e,r){return iA.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let o=e.port||443,a=e.hostname||e.host;return typeof r.servername>"u"&&(r.servername=a),Bnt.connect(o,a,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[Xo]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let o of r)o.destroy(e);for(let r of Object.values(this.queue))for(let o of Object.values(r))o.destroyed=!0;this.queue={}}get freeSessions(){return vae({agent:this,isFree:!0})}get busySessions(){return vae({agent:this,isFree:!1})}};iA.kCurrentStreamsCount=Xo;iA.kGracefullyClosing=BC;Sae.exports={Agent:iA,globalAgent:new iA}});var s4=U((DLt,Pae)=>{"use strict";var{Readable:Qnt}=Ie("stream"),i4=class extends Qnt{constructor(e,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};Pae.exports=i4});var o4=U((SLt,xae)=>{"use strict";xae.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var Qae=U((PLt,bae)=>{"use strict";bae.exports=(t,e,r)=>{for(let o of r)t.on(o,(...a)=>e.emit(o,...a))}});var Fae=U((xLt,kae)=>{"use strict";kae.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var Tae=U((QLt,Rae)=>{"use strict";var vC=(t,e,r)=>{Rae.exports[e]=class extends t{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${e}]`,this.code=e}}};vC(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],o=Array.isArray(r);return o&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${o?"one of":"of"} type ${r}. Received ${typeof t[2]}`});vC(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);vC(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);vC(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);vC(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);vC(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var A4=U((kLt,Hae)=>{"use strict";var knt=Ie("http2"),{Writable:Fnt}=Ie("stream"),{Agent:Nae,globalAgent:Rnt}=n4(),Tnt=s4(),Nnt=o4(),Lnt=Qae(),Ont=Fae(),{ERR_INVALID_ARG_TYPE:a4,ERR_INVALID_PROTOCOL:Mnt,ERR_HTTP_HEADERS_SENT:Lae,ERR_INVALID_HTTP_TOKEN:Unt,ERR_HTTP_INVALID_HEADER_VALUE:_nt,ERR_INVALID_CHAR:Hnt}=Tae(),{HTTP2_HEADER_STATUS:Oae,HTTP2_HEADER_METHOD:Mae,HTTP2_HEADER_PATH:Uae,HTTP2_METHOD_CONNECT:qnt}=knt.constants,xo=Symbol("headers"),l4=Symbol("origin"),c4=Symbol("session"),_ae=Symbol("options"),zP=Symbol("flushedHeaders"),s1=Symbol("jobs"),jnt=/^[\^`\-\w!#$%&*+.|~]+$/,Gnt=/[^\t\u0020-\u007E\u0080-\u00FF]/,u4=class extends Fnt{constructor(e,r,o){super({autoDestroy:!1});let a=typeof e=="string"||e instanceof URL;if(a&&(e=Nnt(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(o=r,r=a?e:{...e}):r={...e,...r},r.h2session)this[c4]=r.h2session;else if(r.agent===!1)this.agent=new Nae({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new Nae({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=Rnt;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new a4("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Mnt(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,u=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:A}=r;if(r.timeout=void 0,this[xo]=Object.create(null),this[s1]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[xo])&&(this[xo].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[_ae]=r,n===443?(this[l4]=`https://${u}`,":authority"in this[xo]||(this[xo][":authority"]=u)):(this[l4]=`https://${u}:${n}`,":authority"in this[xo]||(this[xo][":authority"]=`${u}:${n}`)),A&&this.setTimeout(A),o&&this.once("response",o),this[zP]=!1}get method(){return this[xo][Mae]}set method(e){e&&(this[xo][Mae]=e.toUpperCase())}get path(){return this[xo][Uae]}set path(e){e&&(this[xo][Uae]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,o){if(this._mustNotHaveABody){o(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(e,r,o);this._request?a():this[s1].push(a)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[s1].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[zP]||this.destroyed)return;this[zP]=!0;let e=this.method===qnt,r=o=>{if(this._request=o,this.destroyed){o.destroy();return}e||Lnt(o,this,["timeout","continue","close","error"]);let a=u=>(...A)=>{!this.writable&&!this.destroyed?u(...A):this.once("finish",()=>{u(...A)})};o.once("response",a((u,A,p)=>{let h=new Tnt(this.socket,o.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=u[Oae],h.headers=u,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),e?(h.upgrade=!0,this.emit("connect",h,o,Buffer.alloc(0))?this.emit("close"):o.destroy()):(o.on("data",E=>{!h._dumped&&!h.push(E)&&o.pause()}),o.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),o.once("headers",a(u=>this.emit("information",{statusCode:u[Oae]}))),o.once("trailers",a((u,A,p)=>{let{res:h}=this;h.trailers=u,h.rawTrailers=p}));let{socket:n}=o.session;this.socket=n,this.connection=n;for(let u of this[s1])u();this.emit("socket",this.socket)};if(this[c4])try{r(this[c4].request(this[xo]))}catch(o){this.emit("error",o)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[l4],this[_ae],this[xo]))}catch(o){this.emit("error",o)}}}getHeader(e){if(typeof e!="string")throw new a4("name","string",e);return this[xo][e.toLowerCase()]}get headersSent(){return this[zP]}removeHeader(e){if(typeof e!="string")throw new a4("name","string",e);if(this.headersSent)throw new Lae("remove");delete this[xo][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new Lae("set");if(typeof e!="string"||!jnt.test(e)&&!Ont(e))throw new Unt("Header name",e);if(typeof r>"u")throw new _nt(r,e);if(Gnt.test(r))throw new Hnt("header content",e);this[xo][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let o=()=>this._request.setTimeout(e,r);return this._request?o():this[s1].push(o),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};Hae.exports=u4});var jae=U((FLt,qae)=>{"use strict";var Wnt=Ie("tls");qae.exports=(t={})=>new Promise((e,r)=>{let o=Wnt.connect(t,()=>{t.resolveSocket?(o.off("error",r),e({alpnProtocol:o.alpnProtocol,socket:o})):(o.destroy(),e({alpnProtocol:o.alpnProtocol}))});o.on("error",r)})});var Wae=U((RLt,Gae)=>{"use strict";var Ynt=Ie("net");Gae.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Ynt.isIP(e)?"":e}});var Vae=U((TLt,p4)=>{"use strict";var Yae=Ie("http"),f4=Ie("https"),Knt=jae(),Vnt=t4(),Jnt=A4(),znt=Wae(),Xnt=o4(),XP=new Vnt({maxSize:100}),o1=new Map,Kae=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let o=()=>{t.emit("free",e,r)};e.on("free",o);let a=()=>{t.removeSocket(e,r)};e.on("close",a);let n=()=>{t.removeSocket(e,r),e.off("close",a),e.off("free",o),e.off("agentRemove",n)};e.on("agentRemove",n),t.emit("free",e,r)},Znt=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!XP.has(e)){if(o1.has(e))return(await o1.get(e)).alpnProtocol;let{path:r,agent:o}=t;t.path=t.socketPath;let a=Knt(t);o1.set(e,a);try{let{socket:n,alpnProtocol:u}=await a;if(XP.set(e,u),t.path=r,u==="h2")n.destroy();else{let{globalAgent:A}=f4,p=f4.Agent.prototype.createConnection;o?o.createConnection===p?Kae(o,n,t):n.destroy():A.createConnection===p?Kae(A,n,t):n.destroy()}return o1.delete(e),u}catch(n){throw o1.delete(e),n}}return XP.get(e)};p4.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=Xnt(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...t,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let o=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||znt(e),e.port=e.port||(o?443:80),e._defaultAgent=o?f4.globalAgent:Yae.globalAgent;let a=e.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=a[o?"https":"http"]}return o&&await Znt(e)==="h2"?(a&&(e.agent=a.http2),new Jnt(e,r)):Yae.request(e,r)};p4.exports.protocolCache=XP});var zae=U((NLt,Jae)=>{"use strict";var $nt=Ie("http2"),eit=n4(),h4=A4(),tit=s4(),rit=Vae(),nit=(t,e,r)=>new h4(t,e,r),iit=(t,e,r)=>{let o=new h4(t,e,r);return o.end(),o};Jae.exports={...$nt,ClientRequest:h4,IncomingMessage:tit,...eit,request:nit,get:iit,auto:rit}});var d4=U(g4=>{"use strict";Object.defineProperty(g4,"__esModule",{value:!0});var Xae=Tf();g4.default=t=>Xae.default.nodeStream(t)&&Xae.default.function_(t.getBoundary)});var tle=U(m4=>{"use strict";Object.defineProperty(m4,"__esModule",{value:!0});var $ae=Ie("fs"),ele=Ie("util"),Zae=Tf(),sit=d4(),oit=ele.promisify($ae.stat);m4.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(Zae.default.string(t))return Buffer.byteLength(t);if(Zae.default.buffer(t))return t.length;if(sit.default(t))return ele.promisify(t.getLength.bind(t))();if(t instanceof $ae.ReadStream){let{size:r}=await oit(t.path);return r===0?void 0:r}}});var C4=U(y4=>{"use strict";Object.defineProperty(y4,"__esModule",{value:!0});function ait(t,e,r){let o={};for(let a of r)o[a]=(...n)=>{e.emit(a,...n)},t.on(a,o[a]);return()=>{for(let a of r)t.off(a,o[a])}}y4.default=ait});var rle=U(E4=>{"use strict";Object.defineProperty(E4,"__esModule",{value:!0});E4.default=()=>{let t=[];return{once(e,r,o){e.once(r,o),t.push({origin:e,event:r,fn:o})},unhandleAll(){for(let e of t){let{origin:r,event:o,fn:a}=e;r.removeListener(o,a)}t.length=0}}}});var ile=U(a1=>{"use strict";Object.defineProperty(a1,"__esModule",{value:!0});a1.TimeoutError=void 0;var lit=Ie("net"),cit=rle(),nle=Symbol("reentry"),uit=()=>{},ZP=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};a1.TimeoutError=ZP;a1.default=(t,e,r)=>{if(nle in t)return uit;t[nle]=!0;let o=[],{once:a,unhandleAll:n}=cit.default(),u=(w,v,b)=>{var C;let R=setTimeout(v,w,w,b);(C=R.unref)===null||C===void 0||C.call(R);let L=()=>{clearTimeout(R)};return o.push(L),L},{host:A,hostname:p}=r,h=(w,v)=>{t.destroy(new ZP(w,v))},E=()=>{for(let w of o)w();n()};if(t.once("error",w=>{if(E(),t.listenerCount("error")===0)throw w}),t.once("close",E),a(t,"response",w=>{a(w,"end",E)}),typeof e.request<"u"&&u(e.request,h,"request"),typeof e.socket<"u"){let w=()=>{h(e.socket,"socket")};t.setTimeout(e.socket,w),o.push(()=>{t.removeListener("timeout",w)})}return a(t,"socket",w=>{var v;let{socketPath:b}=t;if(w.connecting){let C=Boolean(b??lit.isIP((v=p??A)!==null&&v!==void 0?v:"")!==0);if(typeof e.lookup<"u"&&!C&&typeof w.address().address>"u"){let R=u(e.lookup,h,"lookup");a(w,"lookup",R)}if(typeof e.connect<"u"){let R=()=>u(e.connect,h,"connect");C?a(w,"connect",R()):a(w,"lookup",L=>{L===null&&a(w,"connect",R())})}typeof e.secureConnect<"u"&&r.protocol==="https:"&&a(w,"connect",()=>{let R=u(e.secureConnect,h,"secureConnect");a(w,"secureConnect",R)})}if(typeof e.send<"u"){let C=()=>u(e.send,h,"send");w.connecting?a(w,"connect",()=>{a(t,"upload-complete",C())}):a(t,"upload-complete",C())}}),typeof e.response<"u"&&a(t,"upload-complete",()=>{let w=u(e.response,h,"response");a(t,"response",w)}),E}});var ole=U(I4=>{"use strict";Object.defineProperty(I4,"__esModule",{value:!0});var sle=Tf();I4.default=t=>{t=t;let e={protocol:t.protocol,hostname:sle.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return sle.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var ale=U(w4=>{"use strict";Object.defineProperty(w4,"__esModule",{value:!0});var Ait=Ie("url"),fit=["protocol","host","hostname","port","pathname","search"];w4.default=(t,e)=>{var r,o;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(o=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&o!==void 0?o:""}`}let a=new Ait.URL(t);if(e.path){let n=e.path.indexOf("?");n===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,n),e.search=e.path.slice(n+1)),delete e.path}for(let n of fit)e[n]&&(a[n]=e[n].toString());return a}});var lle=U(v4=>{"use strict";Object.defineProperty(v4,"__esModule",{value:!0});var B4=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};v4.default=B4});var S4=U(D4=>{"use strict";Object.defineProperty(D4,"__esModule",{value:!0});var pit=async t=>{let e=[],r=0;for await(let o of t)e.push(o),r+=Buffer.byteLength(o);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};D4.default=pit});var ule=U(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});bd.dnsLookupIpVersionToFamily=bd.isDnsLookupIpVersion=void 0;var cle={auto:0,ipv4:4,ipv6:6};bd.isDnsLookupIpVersion=t=>t in cle;bd.dnsLookupIpVersionToFamily=t=>{if(bd.isDnsLookupIpVersion(t))return cle[t];throw new Error("Invalid DNS lookup IP version")}});var P4=U($P=>{"use strict";Object.defineProperty($P,"__esModule",{value:!0});$P.isResponseOk=void 0;$P.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var fle=U(x4=>{"use strict";Object.defineProperty(x4,"__esModule",{value:!0});var Ale=new Set;x4.default=t=>{Ale.has(t)||(Ale.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var ple=U(b4=>{"use strict";Object.defineProperty(b4,"__esModule",{value:!0});var ai=Tf(),hit=(t,e)=>{if(ai.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");ai.assert.any([ai.default.string,ai.default.undefined],t.encoding),ai.assert.any([ai.default.boolean,ai.default.undefined],t.resolveBodyOnly),ai.assert.any([ai.default.boolean,ai.default.undefined],t.methodRewriting),ai.assert.any([ai.default.boolean,ai.default.undefined],t.isStream),ai.assert.any([ai.default.string,ai.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry={...e.retry}:t.retry={calculateDelay:o=>o.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},ai.default.object(r)?(t.retry={...t.retry,...r},t.retry.methods=[...new Set(t.retry.methods.map(o=>o.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):ai.default.number(r)&&(t.retry.limit=r),ai.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(ai.default.number))),ai.default.object(t.pagination)){e&&(t.pagination={...e.pagination,...t.pagination});let{pagination:o}=t;if(!ai.default.function_(o.transform))throw new Error("`options.pagination.transform` must be implemented");if(!ai.default.function_(o.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!ai.default.function_(o.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!ai.default.function_(o.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};b4.default=hit});var hle=U(l1=>{"use strict";Object.defineProperty(l1,"__esModule",{value:!0});l1.retryAfterStatusCodes=void 0;l1.retryAfterStatusCodes=new Set([413,429,503]);var git=({attemptCount:t,retryOptions:e,error:r,retryAfter:o})=>{if(t>e.limit)return 0;let a=e.methods.includes(r.options.method),n=e.errorCodes.includes(r.code),u=r.response&&e.statusCodes.includes(r.response.statusCode);if(!a||!n&&!u)return 0;if(r.response){if(o)return e.maxRetryAfter===void 0||o>e.maxRetryAfter?0:o;if(r.response.statusCode===413)return 0}let A=Math.random()*100;return 2**(t-1)*1e3+A};l1.default=git});var A1=U(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.UnsupportedProtocolError=yn.ReadError=yn.TimeoutError=yn.UploadError=yn.CacheError=yn.HTTPError=yn.MaxRedirectsError=yn.RequestError=yn.setNonEnumerableProperties=yn.knownHookEvents=yn.withoutBody=yn.kIsNormalizedAlready=void 0;var gle=Ie("util"),dle=Ie("stream"),dit=Ie("fs"),s0=Ie("url"),mle=Ie("http"),Q4=Ie("http"),mit=Ie("https"),yit=Foe(),Cit=Uoe(),yle=mae(),Eit=Iae(),Iit=zae(),wit=VP(),nt=Tf(),Bit=tle(),Cle=d4(),vit=C4(),Ele=ile(),Dit=ole(),Ile=ale(),Sit=lle(),Pit=S4(),wle=ule(),xit=P4(),o0=fle(),bit=ple(),Qit=hle(),k4,zs=Symbol("request"),rx=Symbol("response"),DC=Symbol("responseSize"),SC=Symbol("downloadedSize"),PC=Symbol("bodySize"),xC=Symbol("uploadedSize"),ex=Symbol("serverResponsesPiped"),Ble=Symbol("unproxyEvents"),vle=Symbol("isFromCache"),F4=Symbol("cancelTimeouts"),Dle=Symbol("startedReading"),bC=Symbol("stopReading"),tx=Symbol("triggerRead"),a0=Symbol("body"),c1=Symbol("jobs"),Sle=Symbol("originalResponse"),Ple=Symbol("retryTimeout");yn.kIsNormalizedAlready=Symbol("isNormalizedAlready");var kit=nt.default.string(process.versions.brotli);yn.withoutBody=new Set(["GET","HEAD"]);yn.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function Fit(t){for(let e in t){let r=t[e];if(!nt.default.string(r)&&!nt.default.number(r)&&!nt.default.boolean(r)&&!nt.default.null_(r)&&!nt.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Rit(t){return nt.default.object(t)&&!("statusCode"in t)}var R4=new Sit.default,Tit=async t=>new Promise((e,r)=>{let o=a=>{r(a)};t.pending||e(),t.once("error",o),t.once("ready",()=>{t.off("error",o),e()})}),Nit=new Set([300,301,302,303,304,307,308]),Lit=["context","body","json","form"];yn.setNonEnumerableProperties=(t,e)=>{let r={};for(let o of t)if(!!o)for(let a of Lit)a in o&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:o[a]});Object.defineProperties(e,r)};var Vi=class extends Error{constructor(e,r,o){var a;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,o instanceof cx?(Object.defineProperty(this,"request",{enumerable:!1,value:o}),Object.defineProperty(this,"response",{enumerable:!1,value:o[rx]}),Object.defineProperty(this,"options",{enumerable:!1,value:o.options})):Object.defineProperty(this,"options",{enumerable:!1,value:o}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,nt.default.string(r.stack)&&nt.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,u=this.stack.slice(n).split(` |
138 | `).reverse(),A=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` | 138 | `).reverse(),A=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` |
139 | `).reverse();for(;A.length!==0&&A[0]===u[0];)u.shift();this.stack=`${this.stack.slice(0,n)}${u.reverse().join(` | 139 | `).reverse();for(;A.length!==0&&A[0]===u[0];)u.shift();this.stack=`${this.stack.slice(0,n)}${u.reverse().join(` |
140 | `)}${A.reverse().join(` | 140 | `)}${A.reverse().join(` |
141 | `)}`}}};yn.RequestError=Ji;var zP=class extends Ji{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};yn.MaxRedirectsError=zP;var XP=class extends Ji{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};yn.HTTPError=XP;var ZP=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="CacheError"}};yn.CacheError=ZP;var $P=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="UploadError"}};yn.UploadError=$P;var ex=class extends Ji{constructor(e,r,o){super(e.message,e,o),this.name="TimeoutError",this.event=e.event,this.timings=r}};yn.TimeoutError=ex;var o1=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="ReadError"}};yn.ReadError=o1;var tx=class extends Ji{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};yn.UnsupportedProtocolError=tx;var Sit=["socket","connect","continue","information","upgrade","timeout"],rx=class extends ule.Duplex{constructor(e,r={},o){super({autoDestroy:!1,highWaterMark:0}),this[IE]=0,this[BE]=0,this.requestInitialized=!1,this[KP]=new Set,this.redirects=[],this[vE]=!1,this[JP]=!1,this[s1]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof b4.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:u,body:A,form:p}=r;if((u||A||p)&&this._lockWrite(),yn.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,o)}catch(h){nt.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof sit.ReadStream&&await Bit(this.options.body);let{url:C}=this.options;if(!C)throw new TypeError("Missing `url` property");if(this.requestUrl=C.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[zs])===null||h===void 0||h.destroy();return}for(let w of this[s1])w();this[s1].length=0,this.requestInitialized=!0}catch(C){if(C instanceof Ji){this._beforeError(C);return}this.destroyed||this.destroy(C)}})()}static normalizeArguments(e,r,o){var a,n,u,A,p;let h=r;if(nt.default.object(e)&&!nt.default.urlInstance(e))r={...o,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...o,...r},e!==void 0&&(r.url=e),nt.default.urlInstance(r.url)&&(r.url=new i0.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),nt.assert.any([nt.default.string,nt.default.undefined],r.method),nt.assert.any([nt.default.object,nt.default.undefined],r.headers),nt.assert.any([nt.default.string,nt.default.urlInstance,nt.default.undefined],r.prefixUrl),nt.assert.any([nt.default.object,nt.default.undefined],r.cookieJar),nt.assert.any([nt.default.object,nt.default.string,nt.default.undefined],r.searchParams),nt.assert.any([nt.default.object,nt.default.string,nt.default.undefined],r.cache),nt.assert.any([nt.default.object,nt.default.number,nt.default.undefined],r.timeout),nt.assert.any([nt.default.object,nt.default.undefined],r.context),nt.assert.any([nt.default.object,nt.default.undefined],r.hooks),nt.assert.any([nt.default.boolean,nt.default.undefined],r.decompress),nt.assert.any([nt.default.boolean,nt.default.undefined],r.ignoreInvalidCookies),nt.assert.any([nt.default.boolean,nt.default.undefined],r.followRedirect),nt.assert.any([nt.default.number,nt.default.undefined],r.maxRedirects),nt.assert.any([nt.default.boolean,nt.default.undefined],r.throwHttpErrors),nt.assert.any([nt.default.boolean,nt.default.undefined],r.http2),nt.assert.any([nt.default.boolean,nt.default.undefined],r.allowGetBody),nt.assert.any([nt.default.string,nt.default.undefined],r.localAddress),nt.assert.any([dle.isDnsLookupIpVersion,nt.default.undefined],r.dnsLookupIpVersion),nt.assert.any([nt.default.object,nt.default.undefined],r.https),nt.assert.any([nt.default.boolean,nt.default.undefined],r.rejectUnauthorized),r.https&&(nt.assert.any([nt.default.boolean,nt.default.undefined],r.https.rejectUnauthorized),nt.assert.any([nt.default.function_,nt.default.undefined],r.https.checkServerIdentity),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.certificateAuthority),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.key),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.certificate),nt.assert.any([nt.default.string,nt.default.undefined],r.https.passphrase),nt.assert.any([nt.default.string,nt.default.buffer,nt.default.array,nt.default.undefined],r.https.pfx)),nt.assert.any([nt.default.object,nt.default.undefined],r.cacheOptions),nt.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(o==null?void 0:o.headers)?r.headers={...r.headers}:r.headers=Ait({...o==null?void 0:o.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(o==null?void 0:o.searchParams)){let b;if(nt.default.string(r.searchParams)||r.searchParams instanceof i0.URLSearchParams)b=new i0.URLSearchParams(r.searchParams);else{Iit(r.searchParams),b=new i0.URLSearchParams;for(let E in r.searchParams){let R=r.searchParams[E];R===null?b.append(E,""):R!==void 0&&b.append(E,R)}}(a=o==null?void 0:o.searchParams)===null||a===void 0||a.forEach((E,R)=>{b.has(R)||b.append(R,E)}),r.searchParams=b}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(u=r.password)!==null&&u!==void 0?u:"",nt.default.undefined(r.prefixUrl)?r.prefixUrl=(A=o==null?void 0:o.prefixUrl)!==null&&A!==void 0?A:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),nt.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=gle.default(r.prefixUrl+r.url,r)}else(nt.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=gle.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:b}=r;Object.defineProperty(r,"prefixUrl",{set:R=>{let L=r.url;if(!L.href.startsWith(R))throw new Error(`Cannot change \`prefixUrl\` from ${b} to ${R}: ${L.href}`);r.url=new i0.URL(R+L.href.slice(b.length)),b=R},get:()=>b});let{protocol:E}=r.url;if(E==="unix:"&&(E="http:",r.url=new i0.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),E!=="http:"&&E!=="https:")throw new tx(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:C}=r;if(C){let{setCookie:b,getCookieString:E}=C;nt.assert.function_(b),nt.assert.function_(E),b.length===4&&E.length===0&&(b=cle.promisify(b.bind(r.cookieJar)),E=cle.promisify(E.bind(r.cookieJar)),r.cookieJar={setCookie:b,getCookieString:E})}let{cache:w}=r;if(w&&(F4.has(w)||F4.set(w,new fle((b,E)=>{let R=b[zs](b,E);return nt.default.promise(R)&&(R.once=(L,_)=>{if(L==="error")R.catch(_);else if(L==="abort")(async()=>{try{(await R).once("abort",_)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${L}`);return R}),R},w))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)Q4||(Q4=new lit.default),r.dnsCache=Q4;else if(!nt.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${nt.default(r.dnsCache)}`);nt.default.number(r.timeout)?r.timeout={request:r.timeout}:o&&r.timeout!==o.timeout?r.timeout={...o.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let v=r.hooks===(o==null?void 0:o.hooks);r.hooks={...r.hooks};for(let b of yn.knownHookEvents)if(b in r.hooks)if(nt.default.array(r.hooks[b]))r.hooks[b]=[...r.hooks[b]];else throw new TypeError(`Parameter \`${b}\` must be an Array, got ${nt.default(r.hooks[b])}`);else r.hooks[b]=[];if(o&&!v)for(let b of yn.knownHookEvents)o.hooks[b].length>0&&(r.hooks[b]=[...o.hooks[b],...r.hooks[b]]);if("family"in r&&s0.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),o!=null&&o.https&&(r.https={...o.https,...r.https}),"rejectUnauthorized"in r&&s0.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&s0.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&s0.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&s0.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&s0.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&s0.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&s0.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let b in r.agent)if(b!=="http"&&b!=="https"&&b!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${b}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,yn.setNonEnumerableProperties([o,h],r),yit.default(r,o)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,o=!nt.default.undefined(e.form),a=!nt.default.undefined(e.json),n=!nt.default.undefined(e.body),u=o||a||n,A=yn.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=A,u){if(A)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([n,o,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(e.body instanceof ule.Readable)&&!nt.default.string(e.body)&&!nt.default.buffer(e.body)&&!ple.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(o&&!nt.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let p=!nt.default.string(r["content-type"]);n?(ple.default(e.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[o0]=e.body):o?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[o0]=new i0.URLSearchParams(e.form).toString()):(p&&(r["content-type"]="application/json"),this[o0]=e.stringifyJson(e.json));let h=await fit.default(this[o0],e.headers);nt.default.undefined(r["content-length"])&&nt.default.undefined(r["transfer-encoding"])&&!A&&!nt.default.undefined(h)&&(r["content-length"]=String(h))}}else A?this._lockWrite():this._unlockWrite();this[wE]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:o}=r;this[Cle]=e,r.decompress&&(e=cit(e));let a=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:Ale.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[yle]=n.isFromCache,this[CE]=Number(e.headers["content-length"])||void 0,this[VP]=e,e.once("end",()=>{this[CE]=this[IE],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",A=>{e.destroy(),this._beforeError(new o1(A,this))}),e.once("aborted",()=>{this._beforeError(new o1({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let u=e.headers["set-cookie"];if(nt.default.object(r.cookieJar)&&u){let A=u.map(async p=>r.cookieJar.setCookie(p,o.toString()));r.ignoreInvalidCookies&&(A=A.map(async p=>p.catch(()=>{})));try{await Promise.all(A)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&e.headers.location&&vit.has(a)){if(e.resume(),this[zs]&&(this[k4](),delete this[zs],this[mle]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[o0]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new zP(this));return}try{let p=Buffer.from(e.headers.location,"binary").toString(),h=new i0.URL(p,o),C=h.toString();decodeURI(C),h.hostname!==o.hostname||h.port!==o.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(C),r.url=h;for(let w of r.hooks.beforeRedirect)await w(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!mit.isResponseOk(n)){this._beforeError(new XP(n));return}e.on("readable",()=>{this[JP]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let A of this[KP])if(!A.headersSent){for(let p in e.headers){let h=r.decompress?p!=="content-encoding":!0,C=e.headers[p];h&&A.setHeader(p,C)}A.statusCode=a}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:o,url:a}=r;ait.default(e),this[k4]=hle.default(e,o,a);let n=r.cache?"cacheableResponse":"response";e.once(n,p=>{this._onResponse(p)}),e.once("error",p=>{var h;e.destroy(),(h=e.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof hle.TimeoutError?new ex(p,this.timings,this):new Ji(p.message,p,this),this._beforeError(p)}),this[mle]=pit.default(e,this,Sit),this[zs]=e,this.emit("uploadProgress",this.uploadProgress);let u=this[o0],A=this.redirects.length===0?this:e;nt.default.nodeStream(u)?(u.pipe(A),u.once("error",p=>{this._beforeError(new $P(p,this))})):(this._unlockWrite(),nt.default.undefined(u)?(this._cannotHaveBody||this._noPipe)&&(A.end(),this._lockWrite()):(this._writeRequest(u,void 0,()=>{}),A.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((o,a)=>{Object.assign(r,hit.default(e)),delete r.url;let n,u=F4.get(r.cache)(r,async A=>{A._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",A),o(A)});r.url=e,u.once("error",a),u.once("request",async A=>{n=A,o(n)})})}async _makeRequest(){var e,r,o,a,n;let{options:u}=this,{headers:A}=u;for(let _ in A)if(nt.default.undefined(A[_]))delete A[_];else if(nt.default.null_(A[_]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${_}\` header`);if(u.decompress&&nt.default.undefined(A["accept-encoding"])&&(A["accept-encoding"]=Cit?"gzip, deflate, br":"gzip, deflate"),u.cookieJar){let _=await u.cookieJar.getCookieString(u.url.toString());nt.default.nonEmptyString(_)&&(u.headers.cookie=_)}for(let _ of u.hooks.beforeRequest){let J=await _(u);if(!nt.default.undefined(J)){u.request=()=>J;break}}u.body&&this[o0]!==u.body&&(this[o0]=u.body);let{agent:p,request:h,timeout:C,url:w}=u;if(u.dnsCache&&!("lookup"in u)&&(u.lookup=u.dnsCache.lookup),w.hostname==="unix"){let _=/(?<socketPath>.+?):(?<path>.+)/.exec(`${w.pathname}${w.search}`);if(_!=null&&_.groups){let{socketPath:J,path:re}=_.groups;Object.assign(u,{socketPath:J,path:re,host:""})}}let v=w.protocol==="https:",b;u.http2?b=uit.auto:b=v?oit.request:Ale.request;let E=(e=u.request)!==null&&e!==void 0?e:b,R=u.cache?this._createCacheableRequest:E;p&&!u.http2&&(u.agent=p[v?"https":"http"]),u[zs]=E,delete u.request,delete u.timeout;let L=u;if(L.shared=(r=u.cacheOptions)===null||r===void 0?void 0:r.shared,L.cacheHeuristic=(o=u.cacheOptions)===null||o===void 0?void 0:o.cacheHeuristic,L.immutableMinTimeToLive=(a=u.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,L.ignoreCargoCult=(n=u.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,u.dnsLookupIpVersion!==void 0)try{L.family=dle.dnsLookupIpVersionToFamily(u.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}u.https&&("rejectUnauthorized"in u.https&&(L.rejectUnauthorized=u.https.rejectUnauthorized),u.https.checkServerIdentity&&(L.checkServerIdentity=u.https.checkServerIdentity),u.https.certificateAuthority&&(L.ca=u.https.certificateAuthority),u.https.certificate&&(L.cert=u.https.certificate),u.https.key&&(L.key=u.https.key),u.https.passphrase&&(L.passphrase=u.https.passphrase),u.https.pfx&&(L.pfx=u.https.pfx));try{let _=await R(w,L);nt.default.undefined(_)&&(_=b(w,L)),u.request=h,u.timeout=C,u.agent=p,u.https&&("rejectUnauthorized"in u.https&&delete L.rejectUnauthorized,u.https.checkServerIdentity&&delete L.checkServerIdentity,u.https.certificateAuthority&&delete L.ca,u.https.certificate&&delete L.cert,u.https.key&&delete L.key,u.https.passphrase&&delete L.passphrase,u.https.pfx&&delete L.pfx),wit(_)?this._onRequest(_):this.writable?(this.once("finish",()=>{this._onResponse(_)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(_)}catch(_){throw _ instanceof fle.CacheError?new ZP(_,this):new Ji(_.message,_,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new Ji(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[vE])return;let{options:r}=this,o=this.retryCount+1;this[vE]=!0,e instanceof Ji||(e=new Ji(e.message,e,this));let a=e,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await dit.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let u;try{let A;n&&"retry-after"in n.headers&&(A=Number(n.headers["retry-after"]),Number.isNaN(A)?(A=Date.parse(n.headers["retry-after"])-Date.now(),A<=0&&(A=1)):A*=1e3),u=await r.retry.calculateDelay({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:Eit.default({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:0})})}catch(A){this._error(new Ji(A.message,A,this));return}if(u){let A=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,o)}catch(p){this._error(new Ji(p.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",o,e))};this[Ile]=setTimeout(A,u);return}}this._error(a)})()}_read(){this[JP]=!0;let e=this[VP];if(e&&!this[vE]){e.readableLength&&(this[JP]=!1);let r;for(;(r=e.read())!==null;){this[IE]+=r.length,this[Ele]=!0;let o=this.downloadProgress;o.percent<1&&this.emit("downloadProgress",o),this.push(r)}}}_write(e,r,o){let a=()=>{this._writeRequest(e,r,o)};this.requestInitialized?a():this[s1].push(a)}_writeRequest(e,r,o){this[zs].destroyed||(this._progressCallbacks.push(()=>{this[BE]+=Buffer.byteLength(e,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[zs].write(e,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),o(a)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(zs in this)){e();return}if(this[zs].destroyed){e();return}this[zs].end(o=>{o||(this[wE]=this[BE],this.emit("uploadProgress",this.uploadProgress),this[zs].emit("upload-complete")),e(o)})};this.requestInitialized?r():this[s1].push(r)}_destroy(e,r){var o;this[vE]=!0,clearTimeout(this[Ile]),zs in this&&(this[k4](),!((o=this[VP])===null||o===void 0)&&o.complete||this[zs].destroy()),e!==null&&!nt.default.undefined(e)&&!(e instanceof Ji)&&(e=new Ji(e.message,e,this)),r(e)}get _isAboutToError(){return this[vE]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,o;return((r=(e=this[zs])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((o=this[Cle])===null||o===void 0)&&o.complete)}get socket(){var e,r;return(r=(e=this[zs])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[CE]?e=this[IE]/this[CE]:this[CE]===this[IE]?e=1:e=0,{percent:e,transferred:this[IE],total:this[CE]}}get uploadProgress(){let e;return this[wE]?e=this[BE]/this[wE]:this[wE]===this[BE]?e=1:e=0,{percent:e,transferred:this[BE],total:this[wE]}}get timings(){var e;return(e=this[zs])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[yle]}pipe(e,r){if(this[Ele])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof b4.ServerResponse&&this[KP].add(e),super.pipe(e,r)}unpipe(e){return e instanceof b4.ServerResponse&&this[KP].delete(e),super.unpipe(e),this}};yn.default=rx});var l1=U(Wc=>{"use strict";var Pit=Wc&&Wc.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),xit=Wc&&Wc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Pit(e,t,r)};Object.defineProperty(Wc,"__esModule",{value:!0});Wc.CancelError=Wc.ParseError=void 0;var wle=a1(),R4=class extends wle.RequestError{constructor(e,r){let{options:o}=r.request;super(`${e.message} in "${o.url.toString()}"`,e,r.request),this.name="ParseError"}};Wc.ParseError=R4;var T4=class extends wle.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};Wc.CancelError=T4;xit(a1(),Wc)});var vle=U(N4=>{"use strict";Object.defineProperty(N4,"__esModule",{value:!0});var Ble=l1(),bit=(t,e,r,o)=>{let{rawBody:a}=t;try{if(e==="text")return a.toString(o);if(e==="json")return a.length===0?"":r(a.toString());if(e==="buffer")return a;throw new Ble.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(n){throw new Ble.ParseError(n,t)}};N4.default=bit});var L4=U(a0=>{"use strict";var Qit=a0&&a0.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),kit=a0&&a0.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Qit(e,t,r)};Object.defineProperty(a0,"__esModule",{value:!0});var Fit=Ie("events"),Rit=Ff(),Tit=voe(),nx=l1(),Dle=vle(),Sle=a1(),Nit=y4(),Lit=D4(),Ple=S4(),Oit=["request","response","redirect","uploadProgress","downloadProgress"];function xle(t){let e,r,o=new Fit.EventEmitter,a=new Tit((u,A,p)=>{let h=C=>{let w=new Sle.default(void 0,t);w.retryCount=C,w._noPipe=!0,p(()=>w.destroy()),p.shouldReject=!1,p(()=>A(new nx.CancelError(w))),e=w,w.once("response",async E=>{var R;if(E.retryCount=C,E.request.aborted)return;let L;try{L=await Lit.default(w),E.rawBody=L}catch{return}if(w._isAboutToError)return;let _=((R=E.headers["content-encoding"])!==null&&R!==void 0?R:"").toLowerCase(),J=["gzip","deflate","br"].includes(_),{options:re}=w;if(J&&!re.decompress)E.body=L;else try{E.body=Dle.default(E,re.responseType,re.parseJson,re.encoding)}catch(oe){if(E.body=L.toString(),Ple.isResponseOk(E)){w._beforeError(oe);return}}try{for(let[oe,pe]of re.hooks.afterResponse.entries())E=await pe(E,async he=>{let ve=Sle.default.normalizeArguments(void 0,{...he,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},re);ve.hooks.afterResponse=ve.hooks.afterResponse.slice(0,oe);for(let le of ve.hooks.beforeRetry)await le(ve);let ge=xle(ve);return p(()=>{ge.catch(()=>{}),ge.cancel()}),ge})}catch(oe){w._beforeError(new nx.RequestError(oe.message,oe,w));return}if(!Ple.isResponseOk(E)){w._beforeError(new nx.HTTPError(E));return}r=E,u(w.options.resolveBodyOnly?E.body:E)});let v=E=>{if(a.isCanceled)return;let{options:R}=w;if(E instanceof nx.HTTPError&&!R.throwHttpErrors){let{response:L}=E;u(w.options.resolveBodyOnly?L.body:L);return}A(E)};w.once("error",v);let b=w.options.body;w.once("retry",(E,R)=>{var L,_;if(b===((L=R.request)===null||L===void 0?void 0:L.options.body)&&Rit.default.nodeStream((_=R.request)===null||_===void 0?void 0:_.options.body)){v(R);return}h(E)}),Nit.default(w,o,Oit)};h(0)});a.on=(u,A)=>(o.on(u,A),a);let n=u=>{let A=(async()=>{await a;let{options:p}=r.request;return Dle.default(r,u,p.parseJson,p.encoding)})();return Object.defineProperties(A,Object.getOwnPropertyDescriptors(a)),A};return a.json=()=>{let{headers:u}=e.options;return!e.writableFinished&&u.accept===void 0&&(u.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}a0.default=xle;kit(l1(),a0)});var ble=U(O4=>{"use strict";Object.defineProperty(O4,"__esModule",{value:!0});var Mit=l1();function Uit(t,...e){let r=(async()=>{if(t instanceof Mit.RequestError)try{for(let a of e)if(a)for(let n of a)t=await n(t)}catch(a){t=a}throw t})(),o=()=>r;return r.json=o,r.text=o,r.buffer=o,r.on=o,r}O4.default=Uit});var Fle=U(M4=>{"use strict";Object.defineProperty(M4,"__esModule",{value:!0});var Qle=Ff();function kle(t){for(let e of Object.values(t))(Qle.default.plainObject(e)||Qle.default.array(e))&&kle(e);return Object.freeze(t)}M4.default=kle});var Tle=U(Rle=>{"use strict";Object.defineProperty(Rle,"__esModule",{value:!0})});var U4=U(Xl=>{"use strict";var _it=Xl&&Xl.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Hit=Xl&&Xl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&_it(e,t,r)};Object.defineProperty(Xl,"__esModule",{value:!0});Xl.defaultHandler=void 0;var Nle=Ff(),zl=L4(),qit=ble(),sx=a1(),jit=Fle(),Git={RequestError:zl.RequestError,CacheError:zl.CacheError,ReadError:zl.ReadError,HTTPError:zl.HTTPError,MaxRedirectsError:zl.MaxRedirectsError,TimeoutError:zl.TimeoutError,ParseError:zl.ParseError,CancelError:zl.CancelError,UnsupportedProtocolError:zl.UnsupportedProtocolError,UploadError:zl.UploadError},Wit=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:ix}=sx.default,Lle=(...t)=>{let e;for(let r of t)e=ix(void 0,r,e);return e},Yit=t=>t.isStream?new sx.default(void 0,t):zl.default(t),Kit=t=>"defaults"in t&&"options"in t.defaults,Jit=["get","post","put","patch","head","delete"];Xl.defaultHandler=(t,e)=>e(t);var Ole=(t,e)=>{if(t)for(let r of t)r(e)},Mle=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(o=>(a,n)=>{let u,A=o(a,p=>(u=n(p),u));if(A!==u&&!a.isStream&&u){let p=A,{then:h,catch:C,finally:w}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(u)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(u)),p.then=h,p.catch=C,p.finally=w}return A});let e=(o,a={},n)=>{var u,A;let p=0,h=C=>t.handlers[p++](C,p===t.handlers.length?Yit:h);if(Nle.default.plainObject(o)){let C={...o,...a};sx.setNonEnumerableProperties([o,a],C),a=C,o=void 0}try{let C;try{Ole(t.options.hooks.init,a),Ole((u=a.hooks)===null||u===void 0?void 0:u.init,a)}catch(v){C=v}let w=ix(o,a,n??t.options);if(w[sx.kIsNormalizedAlready]=!0,C)throw new zl.RequestError(C.message,C,w);return h(w)}catch(C){if(a.isStream)throw C;return qit.default(C,t.options.hooks.beforeError,(A=a.hooks)===null||A===void 0?void 0:A.beforeError)}};e.extend=(...o)=>{let a=[t.options],n=[...t._rawHandlers],u;for(let A of o)Kit(A)?(a.push(A.defaults.options),n.push(...A.defaults._rawHandlers),u=A.defaults.mutableDefaults):(a.push(A),"handlers"in A&&n.push(...A.handlers),u=A.mutableDefaults);return n=n.filter(A=>A!==Xl.defaultHandler),n.length===0&&n.push(Xl.defaultHandler),Mle({options:Lle(...a),handlers:n,mutableDefaults:Boolean(u)})};let r=async function*(o,a){let n=ix(o,a,t.options);n.resolveBodyOnly=!1;let u=n.pagination;if(!Nle.default.object(u))throw new TypeError("`options.pagination` must be implemented");let A=[],{countLimit:p}=u,h=0;for(;h<u.requestLimit;){h!==0&&await Wit(u.backoff);let C=await e(void 0,void 0,n),w=await u.transform(C),v=[];for(let E of w)if(u.filter(E,A,v)&&(!u.shouldContinue(E,A,v)||(yield E,u.stackAllItems&&A.push(E),v.push(E),--p<=0)))return;let b=u.paginate(C,A,v);if(b===!1)return;b===C.request.options?n=C.request.options:b!==void 0&&(n=ix(void 0,b,n)),h++}};e.paginate=r,e.paginate.all=async(o,a)=>{let n=[];for await(let u of r(o,a))n.push(u);return n},e.paginate.each=r,e.stream=(o,a)=>e(o,{...a,isStream:!0});for(let o of Jit)e[o]=(a,n)=>e(a,{...n,method:o}),e.stream[o]=(a,n)=>e(a,{...n,method:o,isStream:!0});return Object.assign(e,Git),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:jit.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=Lle,e};Xl.default=Mle;Hit(Tle(),Xl)});var Hle=U((Rf,ox)=>{"use strict";var Vit=Rf&&Rf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Ule=Rf&&Rf.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Vit(e,t,r)};Object.defineProperty(Rf,"__esModule",{value:!0});var zit=Ie("url"),_le=U4(),Xit={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let o of e){let a=o.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new zit.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[_le.defaultHandler],mutableDefaults:!1},_4=_le.default(Xit);Rf.default=_4;ox.exports=_4;ox.exports.default=_4;ox.exports.__esModule=!0;Ule(U4(),Rf);Ule(L4(),Rf)});var ln={};Yt(ln,{Method:()=>Jle,del:()=>rst,get:()=>G4,getNetworkSettings:()=>Kle,post:()=>W4,put:()=>tst,request:()=>c1});function Gle(t){let e=new ax.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),e.username&&e.password&&(r.proxyAuth=`${e.username}:${e.password}`),{proxy:r}}async function H4(t){return Bf(jle,t,()=>ae.readFilePromise(t).then(e=>(jle.set(t,e),e)))}function est({statusCode:t,statusMessage:e},r){let o=Kt(r,t,Bt.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Yy(r,`${o}${e?` (${e})`:""}`,a)}async function lx(t,{configuration:e,customErrorMessage:r}){var o;try{return await t}catch(a){if(a.name!=="HTTPError")throw a;let n=(r==null?void 0:r(a,e))??((o=a.response.body)==null?void 0:o.error);n==null&&(a.message.startsWith("Response code")?n="The remote server failed to provide the requested resource":n=a.message),a.code==="ETIMEDOUT"&&a.event==="socket"&&(n+=`(can be increased via ${Kt(e,"httpTimeout",Bt.SETTING)})`);let u=new Jt(35,n,A=>{a.response&&A.reportError(35,` ${Zu(e,{label:"Response Code",value:Hc(Bt.NO_HINT,est(a.response,e))})}`),a.request&&(A.reportError(35,` ${Zu(e,{label:"Request Method",value:Hc(Bt.NO_HINT,a.request.options.method)})}`),A.reportError(35,` ${Zu(e,{label:"Request URL",value:Hc(Bt.URL,a.request.requestUrl)})}`)),a.request.redirects.length>0&&A.reportError(35,` ${Zu(e,{label:"Request Redirects",value:Hc(Bt.NO_HINT,IL(e,a.request.redirects,Bt.URL))})}`),a.request.retryCount===a.request.options.retry.limit&&A.reportError(35,` ${Zu(e,{label:"Request Retry Count",value:Hc(Bt.NO_HINT,`${Kt(e,a.request.retryCount,Bt.NUMBER)} (can be increased via ${Kt(e,"httpRetry",Bt.SETTING)})`)})}`)});throw u.originalError=a,u}}function Kle(t,e){let r=[...e.configuration.get("networkSettings")].sort(([u],[A])=>A.length-u.length),o={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(o),n=typeof t=="string"?new ax.URL(t):t;for(let[u,A]of r)if(j4.default.isMatch(n.hostname,u))for(let p of a){let h=A.get(p);h!==null&&typeof o[p]>"u"&&(o[p]=h)}for(let u of a)typeof o[u]>"u"&&(o[u]=e.configuration.get(u));return o}async function c1(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=async()=>await nst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u});return await(await r.reduceHook(h=>h.wrapNetworkRequest,A,{target:t,body:e,configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u}))()}async function G4(t,{configuration:e,jsonResponse:r,customErrorMessage:o,...a}){let n=Bf(qle,t,()=>lx(c1(t,null,{configuration:e,...a}),{configuration:e,customErrorMessage:o}).then(u=>(qle.set(t,u.body),u.body)));return Buffer.isBuffer(n)===!1&&(n=await n),r?JSON.parse(n.toString()):n}async function tst(t,e,{customErrorMessage:r,...o}){return(await lx(c1(t,e,{...o,method:"PUT"}),{customErrorMessage:r,configuration:o.configuration})).body}async function W4(t,e,{customErrorMessage:r,...o}){return(await lx(c1(t,e,{...o,method:"POST"}),{customErrorMessage:r,configuration:o.configuration})).body}async function rst(t,{customErrorMessage:e,...r}){return(await lx(c1(t,null,{...r,method:"DELETE"}),{customErrorMessage:e,configuration:r.configuration})).body}async function nst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=typeof t=="string"?new ax.URL(t):t,p=Kle(A,{configuration:r});if(p.enableNetwork===!1)throw new Jt(80,`Request to '${A.href}' has been blocked because of your configuration settings`);if(A.protocol==="http:"&&!j4.default.isMatch(A.hostname,r.get("unsafeHttpWhitelist")))throw new Jt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${A.hostname})`);let C={agent:{http:p.httpProxy?q4.default.httpOverHttp(Gle(p.httpProxy)):Zit,https:p.httpsProxy?q4.default.httpsOverHttp(Gle(p.httpsProxy)):$it},headers:o,method:u};C.responseType=n?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!a&&typeof e=="string"?C.body=e:C.json=e);let w=r.get("httpTimeout"),v=r.get("httpRetry"),b=r.get("enableStrictSsl"),E=p.httpsCaFilePath,R=p.httpsCertFilePath,L=p.httpsKeyFilePath,{default:_}=await Promise.resolve().then(()=>tt(Hle())),J=E?await H4(E):void 0,re=R?await H4(R):void 0,oe=L?await H4(L):void 0,pe=_.extend({timeout:{socket:w},retry:v,https:{rejectUnauthorized:b,certificateAuthority:J,certificate:re,key:oe},...C});return r.getLimit("networkConcurrency")(()=>pe(A))}var Wle,Yle,j4,q4,ax,qle,jle,Zit,$it,Jle,cx=dt(()=>{bt();Wle=Ie("https"),Yle=Ie("http"),j4=tt(Jo()),q4=tt(Eoe()),ax=Ie("url");Jl();Yl();Gl();qle=new Map,jle=new Map,Zit=new Yle.Agent({keepAlive:!0}),$it=new Wle.Agent({keepAlive:!0});Jle=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(Jle||{})});var As={};Yt(As,{availableParallelism:()=>J4,builtinModules:()=>Y4,getArchitecture:()=>u1,getArchitectureName:()=>ost,getArchitectureSet:()=>K4,getCaller:()=>ust,openUrl:()=>ist});function Y4(){return new Set(Zle.default.builtinModules||Object.keys(process.binding("natives")))}function sst(){var o;if(process.platform==="win32")return null;let e=(((o=process.report)==null?void 0:o.getReport())??{}).sharedObjects??[],r=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return Rw(e,a=>{let n=a.match(r);if(!n)return Rw.skip;if(n[1])return"glibc";if(n[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function u1(){return zle=zle??{os:process.platform,cpu:process.arch,libc:sst()}}function ost(t=u1()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function K4(){let t=u1();return Xle=Xle??{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}function cst(t){let e=ast.exec(t);if(!e)return null;let r=e[2]&&e[2].indexOf("native")===0,o=e[2]&&e[2].indexOf("eval")===0,a=lst.exec(e[2]);return o&&a!=null&&(e[2]=a[1],e[3]=a[2],e[4]=a[3]),{file:r?null:e[2],methodName:e[1]||"<unknown>",arguments:r?[e[2]]:[],line:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}function ust(){let e=new Error().stack.split(` | 141 | `)}`}}};yn.RequestError=Vi;var nx=class extends Vi{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};yn.MaxRedirectsError=nx;var ix=class extends Vi{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};yn.HTTPError=ix;var sx=class extends Vi{constructor(e,r){super(e.message,e,r),this.name="CacheError"}};yn.CacheError=sx;var ox=class extends Vi{constructor(e,r){super(e.message,e,r),this.name="UploadError"}};yn.UploadError=ox;var ax=class extends Vi{constructor(e,r,o){super(e.message,e,o),this.name="TimeoutError",this.event=e.event,this.timings=r}};yn.TimeoutError=ax;var u1=class extends Vi{constructor(e,r){super(e.message,e,r),this.name="ReadError"}};yn.ReadError=u1;var lx=class extends Vi{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};yn.UnsupportedProtocolError=lx;var Oit=["socket","connect","continue","information","upgrade","timeout"],cx=class extends dle.Duplex{constructor(e,r={},o){super({autoDestroy:!1,highWaterMark:0}),this[SC]=0,this[xC]=0,this.requestInitialized=!1,this[ex]=new Set,this.redirects=[],this[bC]=!1,this[tx]=!1,this[c1]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof Q4.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:u,body:A,form:p}=r;if((u||A||p)&&this._lockWrite(),yn.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,o)}catch(h){nt.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof dit.ReadStream&&await Tit(this.options.body);let{url:E}=this.options;if(!E)throw new TypeError("Missing `url` property");if(this.requestUrl=E.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[zs])===null||h===void 0||h.destroy();return}for(let w of this[c1])w();this[c1].length=0,this.requestInitialized=!0}catch(E){if(E instanceof Vi){this._beforeError(E);return}this.destroyed||this.destroy(E)}})()}static normalizeArguments(e,r,o){var a,n,u,A,p;let h=r;if(nt.default.object(e)&&!nt.default.urlInstance(e))r={...o,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...o,...r},e!==void 0&&(r.url=e),nt.default.urlInstance(r.url)&&(r.url=new s0.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),nt.assert.any([nt.default.string,nt.default.undefined],r.method),nt.assert.any([nt.default.object,nt.default.undefined],r.headers),nt.assert.any([nt.default.string,nt.default.urlInstance,nt.default.undefined],r.prefixUrl),nt.assert.any([nt.default.object,nt.default.undefined],r.cookieJar),nt.assert.any([nt.default.object,nt.default.string,nt.default.undefined],r.searchParams),nt.assert.any([nt.default.object,nt.default.string,nt.default.undefined],r.cache),nt.assert.any([nt.default.object,nt.default.number,nt.default.undefined],r.timeout),nt.assert.any([nt.default.object,nt.default.undefined],r.context),nt.assert.any([nt.default.object,nt.default.undefined],r.hooks),nt.assert.any([nt.default.boolean,nt.default.undefined],r.decompress),nt.assert.any([nt.default.boolean,nt.default.undefined],r.ignoreInvalidCookies),nt.assert.any([nt.default.boolean,nt.default.undefined],r.followRedirect),nt.assert.any([nt.default.number,nt.default.undefined],r.maxRedirects),nt.assert.any([nt.default.boolean,nt.default.undefined],r.throwHttpErrors),nt.assert.any([nt.default.boolean,nt.default.undefined],r.http2),nt.assert.any([nt.default.boolean,nt.default.undefined],r.allowGetBody),nt.assert.any([nt.default.string,nt.default.undefined],r.localAddress),nt.assert.any([wle.isDnsLookupIpVersion,nt.default.undefined],r.dnsLookupIpVersion),nt.assert.any([nt.default.object,nt.default.undefined],r.https),nt.assert.any([nt.default.boolean,nt.default.undefined],r.rejectUnauthorized),r.https&&(nt.assert.any([nt.default.boolean,nt.default.undefined],r.https.rejectUnauthorized),nt.assert.any([nt.default.function_,nt.default.undefined],r.https.checkServerIdentity),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.certificateAuthority),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.key),nt.assert.any([nt.default.string,nt.default.object,nt.default.array,nt.default.undefined],r.https.certificate),nt.assert.any([nt.default.string,nt.default.undefined],r.https.passphrase),nt.assert.any([nt.default.string,nt.default.buffer,nt.default.array,nt.default.undefined],r.https.pfx)),nt.assert.any([nt.default.object,nt.default.undefined],r.cacheOptions),nt.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(o==null?void 0:o.headers)?r.headers={...r.headers}:r.headers=wit({...o==null?void 0:o.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(o==null?void 0:o.searchParams)){let b;if(nt.default.string(r.searchParams)||r.searchParams instanceof s0.URLSearchParams)b=new s0.URLSearchParams(r.searchParams);else{Fit(r.searchParams),b=new s0.URLSearchParams;for(let C in r.searchParams){let R=r.searchParams[C];R===null?b.append(C,""):R!==void 0&&b.append(C,R)}}(a=o==null?void 0:o.searchParams)===null||a===void 0||a.forEach((C,R)=>{b.has(R)||b.append(R,C)}),r.searchParams=b}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(u=r.password)!==null&&u!==void 0?u:"",nt.default.undefined(r.prefixUrl)?r.prefixUrl=(A=o==null?void 0:o.prefixUrl)!==null&&A!==void 0?A:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),nt.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=Ile.default(r.prefixUrl+r.url,r)}else(nt.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=Ile.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:b}=r;Object.defineProperty(r,"prefixUrl",{set:R=>{let L=r.url;if(!L.href.startsWith(R))throw new Error(`Cannot change \`prefixUrl\` from ${b} to ${R}: ${L.href}`);r.url=new s0.URL(R+L.href.slice(b.length)),b=R},get:()=>b});let{protocol:C}=r.url;if(C==="unix:"&&(C="http:",r.url=new s0.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),C!=="http:"&&C!=="https:")throw new lx(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:E}=r;if(E){let{setCookie:b,getCookieString:C}=E;nt.assert.function_(b),nt.assert.function_(C),b.length===4&&C.length===0&&(b=gle.promisify(b.bind(r.cookieJar)),C=gle.promisify(C.bind(r.cookieJar)),r.cookieJar={setCookie:b,getCookieString:C})}let{cache:w}=r;if(w&&(R4.has(w)||R4.set(w,new yle((b,C)=>{let R=b[zs](b,C);return nt.default.promise(R)&&(R.once=(L,_)=>{if(L==="error")R.catch(_);else if(L==="abort")(async()=>{try{(await R).once("abort",_)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${L}`);return R}),R},w))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)k4||(k4=new Cit.default),r.dnsCache=k4;else if(!nt.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${nt.default(r.dnsCache)}`);nt.default.number(r.timeout)?r.timeout={request:r.timeout}:o&&r.timeout!==o.timeout?r.timeout={...o.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let v=r.hooks===(o==null?void 0:o.hooks);r.hooks={...r.hooks};for(let b of yn.knownHookEvents)if(b in r.hooks)if(nt.default.array(r.hooks[b]))r.hooks[b]=[...r.hooks[b]];else throw new TypeError(`Parameter \`${b}\` must be an Array, got ${nt.default(r.hooks[b])}`);else r.hooks[b]=[];if(o&&!v)for(let b of yn.knownHookEvents)o.hooks[b].length>0&&(r.hooks[b]=[...o.hooks[b],...r.hooks[b]]);if("family"in r&&o0.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),o!=null&&o.https&&(r.https={...o.https,...r.https}),"rejectUnauthorized"in r&&o0.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&o0.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&o0.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&o0.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&o0.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&o0.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&o0.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let b in r.agent)if(b!=="http"&&b!=="https"&&b!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${b}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,yn.setNonEnumerableProperties([o,h],r),bit.default(r,o)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,o=!nt.default.undefined(e.form),a=!nt.default.undefined(e.json),n=!nt.default.undefined(e.body),u=o||a||n,A=yn.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=A,u){if(A)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([n,o,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(e.body instanceof dle.Readable)&&!nt.default.string(e.body)&&!nt.default.buffer(e.body)&&!Cle.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(o&&!nt.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let p=!nt.default.string(r["content-type"]);n?(Cle.default(e.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[a0]=e.body):o?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[a0]=new s0.URLSearchParams(e.form).toString()):(p&&(r["content-type"]="application/json"),this[a0]=e.stringifyJson(e.json));let h=await Bit.default(this[a0],e.headers);nt.default.undefined(r["content-length"])&&nt.default.undefined(r["transfer-encoding"])&&!A&&!nt.default.undefined(h)&&(r["content-length"]=String(h))}}else A?this._lockWrite():this._unlockWrite();this[PC]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:o}=r;this[Sle]=e,r.decompress&&(e=Eit(e));let a=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:mle.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[vle]=n.isFromCache,this[DC]=Number(e.headers["content-length"])||void 0,this[rx]=e,e.once("end",()=>{this[DC]=this[SC],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",A=>{e.destroy(),this._beforeError(new u1(A,this))}),e.once("aborted",()=>{this._beforeError(new u1({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let u=e.headers["set-cookie"];if(nt.default.object(r.cookieJar)&&u){let A=u.map(async p=>r.cookieJar.setCookie(p,o.toString()));r.ignoreInvalidCookies&&(A=A.map(async p=>p.catch(()=>{})));try{await Promise.all(A)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&e.headers.location&&Nit.has(a)){if(e.resume(),this[zs]&&(this[F4](),delete this[zs],this[Ble]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[a0]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new nx(this));return}try{let p=Buffer.from(e.headers.location,"binary").toString(),h=new s0.URL(p,o),E=h.toString();decodeURI(E),h.hostname!==o.hostname||h.port!==o.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(E),r.url=h;for(let w of r.hooks.beforeRedirect)await w(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!xit.isResponseOk(n)){this._beforeError(new ix(n));return}e.on("readable",()=>{this[tx]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let A of this[ex])if(!A.headersSent){for(let p in e.headers){let h=r.decompress?p!=="content-encoding":!0,E=e.headers[p];h&&A.setHeader(p,E)}A.statusCode=a}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:o,url:a}=r;yit.default(e),this[F4]=Ele.default(e,o,a);let n=r.cache?"cacheableResponse":"response";e.once(n,p=>{this._onResponse(p)}),e.once("error",p=>{var h;e.destroy(),(h=e.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof Ele.TimeoutError?new ax(p,this.timings,this):new Vi(p.message,p,this),this._beforeError(p)}),this[Ble]=vit.default(e,this,Oit),this[zs]=e,this.emit("uploadProgress",this.uploadProgress);let u=this[a0],A=this.redirects.length===0?this:e;nt.default.nodeStream(u)?(u.pipe(A),u.once("error",p=>{this._beforeError(new ox(p,this))})):(this._unlockWrite(),nt.default.undefined(u)?(this._cannotHaveBody||this._noPipe)&&(A.end(),this._lockWrite()):(this._writeRequest(u,void 0,()=>{}),A.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((o,a)=>{Object.assign(r,Dit.default(e)),delete r.url;let n,u=R4.get(r.cache)(r,async A=>{A._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",A),o(A)});r.url=e,u.once("error",a),u.once("request",async A=>{n=A,o(n)})})}async _makeRequest(){var e,r,o,a,n;let{options:u}=this,{headers:A}=u;for(let _ in A)if(nt.default.undefined(A[_]))delete A[_];else if(nt.default.null_(A[_]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${_}\` header`);if(u.decompress&&nt.default.undefined(A["accept-encoding"])&&(A["accept-encoding"]=kit?"gzip, deflate, br":"gzip, deflate"),u.cookieJar){let _=await u.cookieJar.getCookieString(u.url.toString());nt.default.nonEmptyString(_)&&(u.headers.cookie=_)}for(let _ of u.hooks.beforeRequest){let V=await _(u);if(!nt.default.undefined(V)){u.request=()=>V;break}}u.body&&this[a0]!==u.body&&(this[a0]=u.body);let{agent:p,request:h,timeout:E,url:w}=u;if(u.dnsCache&&!("lookup"in u)&&(u.lookup=u.dnsCache.lookup),w.hostname==="unix"){let _=/(?<socketPath>.+?):(?<path>.+)/.exec(`${w.pathname}${w.search}`);if(_!=null&&_.groups){let{socketPath:V,path:re}=_.groups;Object.assign(u,{socketPath:V,path:re,host:""})}}let v=w.protocol==="https:",b;u.http2?b=Iit.auto:b=v?mit.request:mle.request;let C=(e=u.request)!==null&&e!==void 0?e:b,R=u.cache?this._createCacheableRequest:C;p&&!u.http2&&(u.agent=p[v?"https":"http"]),u[zs]=C,delete u.request,delete u.timeout;let L=u;if(L.shared=(r=u.cacheOptions)===null||r===void 0?void 0:r.shared,L.cacheHeuristic=(o=u.cacheOptions)===null||o===void 0?void 0:o.cacheHeuristic,L.immutableMinTimeToLive=(a=u.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,L.ignoreCargoCult=(n=u.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,u.dnsLookupIpVersion!==void 0)try{L.family=wle.dnsLookupIpVersionToFamily(u.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}u.https&&("rejectUnauthorized"in u.https&&(L.rejectUnauthorized=u.https.rejectUnauthorized),u.https.checkServerIdentity&&(L.checkServerIdentity=u.https.checkServerIdentity),u.https.certificateAuthority&&(L.ca=u.https.certificateAuthority),u.https.certificate&&(L.cert=u.https.certificate),u.https.key&&(L.key=u.https.key),u.https.passphrase&&(L.passphrase=u.https.passphrase),u.https.pfx&&(L.pfx=u.https.pfx));try{let _=await R(w,L);nt.default.undefined(_)&&(_=b(w,L)),u.request=h,u.timeout=E,u.agent=p,u.https&&("rejectUnauthorized"in u.https&&delete L.rejectUnauthorized,u.https.checkServerIdentity&&delete L.checkServerIdentity,u.https.certificateAuthority&&delete L.ca,u.https.certificate&&delete L.cert,u.https.key&&delete L.key,u.https.passphrase&&delete L.passphrase,u.https.pfx&&delete L.pfx),Rit(_)?this._onRequest(_):this.writable?(this.once("finish",()=>{this._onResponse(_)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(_)}catch(_){throw _ instanceof yle.CacheError?new sx(_,this):new Vi(_.message,_,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new Vi(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[bC])return;let{options:r}=this,o=this.retryCount+1;this[bC]=!0,e instanceof Vi||(e=new Vi(e.message,e,this));let a=e,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await Pit.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let u;try{let A;n&&"retry-after"in n.headers&&(A=Number(n.headers["retry-after"]),Number.isNaN(A)?(A=Date.parse(n.headers["retry-after"])-Date.now(),A<=0&&(A=1)):A*=1e3),u=await r.retry.calculateDelay({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:Qit.default({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:0})})}catch(A){this._error(new Vi(A.message,A,this));return}if(u){let A=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,o)}catch(p){this._error(new Vi(p.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",o,e))};this[Ple]=setTimeout(A,u);return}}this._error(a)})()}_read(){this[tx]=!0;let e=this[rx];if(e&&!this[bC]){e.readableLength&&(this[tx]=!1);let r;for(;(r=e.read())!==null;){this[SC]+=r.length,this[Dle]=!0;let o=this.downloadProgress;o.percent<1&&this.emit("downloadProgress",o),this.push(r)}}}_write(e,r,o){let a=()=>{this._writeRequest(e,r,o)};this.requestInitialized?a():this[c1].push(a)}_writeRequest(e,r,o){this[zs].destroyed||(this._progressCallbacks.push(()=>{this[xC]+=Buffer.byteLength(e,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[zs].write(e,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),o(a)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(zs in this)){e();return}if(this[zs].destroyed){e();return}this[zs].end(o=>{o||(this[PC]=this[xC],this.emit("uploadProgress",this.uploadProgress),this[zs].emit("upload-complete")),e(o)})};this.requestInitialized?r():this[c1].push(r)}_destroy(e,r){var o;this[bC]=!0,clearTimeout(this[Ple]),zs in this&&(this[F4](),!((o=this[rx])===null||o===void 0)&&o.complete||this[zs].destroy()),e!==null&&!nt.default.undefined(e)&&!(e instanceof Vi)&&(e=new Vi(e.message,e,this)),r(e)}get _isAboutToError(){return this[bC]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,o;return((r=(e=this[zs])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((o=this[Sle])===null||o===void 0)&&o.complete)}get socket(){var e,r;return(r=(e=this[zs])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[DC]?e=this[SC]/this[DC]:this[DC]===this[SC]?e=1:e=0,{percent:e,transferred:this[SC],total:this[DC]}}get uploadProgress(){let e;return this[PC]?e=this[xC]/this[PC]:this[PC]===this[xC]?e=1:e=0,{percent:e,transferred:this[xC],total:this[PC]}}get timings(){var e;return(e=this[zs])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[vle]}pipe(e,r){if(this[Dle])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof Q4.ServerResponse&&this[ex].add(e),super.pipe(e,r)}unpipe(e){return e instanceof Q4.ServerResponse&&this[ex].delete(e),super.unpipe(e),this}};yn.default=cx});var f1=U(Kc=>{"use strict";var Mit=Kc&&Kc.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Uit=Kc&&Kc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Mit(e,t,r)};Object.defineProperty(Kc,"__esModule",{value:!0});Kc.CancelError=Kc.ParseError=void 0;var xle=A1(),T4=class extends xle.RequestError{constructor(e,r){let{options:o}=r.request;super(`${e.message} in "${o.url.toString()}"`,e,r.request),this.name="ParseError"}};Kc.ParseError=T4;var N4=class extends xle.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};Kc.CancelError=N4;Uit(A1(),Kc)});var Qle=U(L4=>{"use strict";Object.defineProperty(L4,"__esModule",{value:!0});var ble=f1(),_it=(t,e,r,o)=>{let{rawBody:a}=t;try{if(e==="text")return a.toString(o);if(e==="json")return a.length===0?"":r(a.toString());if(e==="buffer")return a;throw new ble.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(n){throw new ble.ParseError(n,t)}};L4.default=_it});var O4=U(l0=>{"use strict";var Hit=l0&&l0.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),qit=l0&&l0.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Hit(e,t,r)};Object.defineProperty(l0,"__esModule",{value:!0});var jit=Ie("events"),Git=Tf(),Wit=Qoe(),ux=f1(),kle=Qle(),Fle=A1(),Yit=C4(),Kit=S4(),Rle=P4(),Vit=["request","response","redirect","uploadProgress","downloadProgress"];function Tle(t){let e,r,o=new jit.EventEmitter,a=new Wit((u,A,p)=>{let h=E=>{let w=new Fle.default(void 0,t);w.retryCount=E,w._noPipe=!0,p(()=>w.destroy()),p.shouldReject=!1,p(()=>A(new ux.CancelError(w))),e=w,w.once("response",async C=>{var R;if(C.retryCount=E,C.request.aborted)return;let L;try{L=await Kit.default(w),C.rawBody=L}catch{return}if(w._isAboutToError)return;let _=((R=C.headers["content-encoding"])!==null&&R!==void 0?R:"").toLowerCase(),V=["gzip","deflate","br"].includes(_),{options:re}=w;if(V&&!re.decompress)C.body=L;else try{C.body=kle.default(C,re.responseType,re.parseJson,re.encoding)}catch(oe){if(C.body=L.toString(),Rle.isResponseOk(C)){w._beforeError(oe);return}}try{for(let[oe,pe]of re.hooks.afterResponse.entries())C=await pe(C,async he=>{let ve=Fle.default.normalizeArguments(void 0,{...he,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},re);ve.hooks.afterResponse=ve.hooks.afterResponse.slice(0,oe);for(let le of ve.hooks.beforeRetry)await le(ve);let ge=Tle(ve);return p(()=>{ge.catch(()=>{}),ge.cancel()}),ge})}catch(oe){w._beforeError(new ux.RequestError(oe.message,oe,w));return}if(!Rle.isResponseOk(C)){w._beforeError(new ux.HTTPError(C));return}r=C,u(w.options.resolveBodyOnly?C.body:C)});let v=C=>{if(a.isCanceled)return;let{options:R}=w;if(C instanceof ux.HTTPError&&!R.throwHttpErrors){let{response:L}=C;u(w.options.resolveBodyOnly?L.body:L);return}A(C)};w.once("error",v);let b=w.options.body;w.once("retry",(C,R)=>{var L,_;if(b===((L=R.request)===null||L===void 0?void 0:L.options.body)&&Git.default.nodeStream((_=R.request)===null||_===void 0?void 0:_.options.body)){v(R);return}h(C)}),Yit.default(w,o,Vit)};h(0)});a.on=(u,A)=>(o.on(u,A),a);let n=u=>{let A=(async()=>{await a;let{options:p}=r.request;return kle.default(r,u,p.parseJson,p.encoding)})();return Object.defineProperties(A,Object.getOwnPropertyDescriptors(a)),A};return a.json=()=>{let{headers:u}=e.options;return!e.writableFinished&&u.accept===void 0&&(u.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}l0.default=Tle;qit(f1(),l0)});var Nle=U(M4=>{"use strict";Object.defineProperty(M4,"__esModule",{value:!0});var Jit=f1();function zit(t,...e){let r=(async()=>{if(t instanceof Jit.RequestError)try{for(let a of e)if(a)for(let n of a)t=await n(t)}catch(a){t=a}throw t})(),o=()=>r;return r.json=o,r.text=o,r.buffer=o,r.on=o,r}M4.default=zit});var Mle=U(U4=>{"use strict";Object.defineProperty(U4,"__esModule",{value:!0});var Lle=Tf();function Ole(t){for(let e of Object.values(t))(Lle.default.plainObject(e)||Lle.default.array(e))&&Ole(e);return Object.freeze(t)}U4.default=Ole});var _le=U(Ule=>{"use strict";Object.defineProperty(Ule,"__esModule",{value:!0})});var _4=U(ec=>{"use strict";var Xit=ec&&ec.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Zit=ec&&ec.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Xit(e,t,r)};Object.defineProperty(ec,"__esModule",{value:!0});ec.defaultHandler=void 0;var Hle=Tf(),$l=O4(),$it=Nle(),fx=A1(),est=Mle(),tst={RequestError:$l.RequestError,CacheError:$l.CacheError,ReadError:$l.ReadError,HTTPError:$l.HTTPError,MaxRedirectsError:$l.MaxRedirectsError,TimeoutError:$l.TimeoutError,ParseError:$l.ParseError,CancelError:$l.CancelError,UnsupportedProtocolError:$l.UnsupportedProtocolError,UploadError:$l.UploadError},rst=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Ax}=fx.default,qle=(...t)=>{let e;for(let r of t)e=Ax(void 0,r,e);return e},nst=t=>t.isStream?new fx.default(void 0,t):$l.default(t),ist=t=>"defaults"in t&&"options"in t.defaults,sst=["get","post","put","patch","head","delete"];ec.defaultHandler=(t,e)=>e(t);var jle=(t,e)=>{if(t)for(let r of t)r(e)},Gle=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(o=>(a,n)=>{let u,A=o(a,p=>(u=n(p),u));if(A!==u&&!a.isStream&&u){let p=A,{then:h,catch:E,finally:w}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(u)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(u)),p.then=h,p.catch=E,p.finally=w}return A});let e=(o,a={},n)=>{var u,A;let p=0,h=E=>t.handlers[p++](E,p===t.handlers.length?nst:h);if(Hle.default.plainObject(o)){let E={...o,...a};fx.setNonEnumerableProperties([o,a],E),a=E,o=void 0}try{let E;try{jle(t.options.hooks.init,a),jle((u=a.hooks)===null||u===void 0?void 0:u.init,a)}catch(v){E=v}let w=Ax(o,a,n??t.options);if(w[fx.kIsNormalizedAlready]=!0,E)throw new $l.RequestError(E.message,E,w);return h(w)}catch(E){if(a.isStream)throw E;return $it.default(E,t.options.hooks.beforeError,(A=a.hooks)===null||A===void 0?void 0:A.beforeError)}};e.extend=(...o)=>{let a=[t.options],n=[...t._rawHandlers],u;for(let A of o)ist(A)?(a.push(A.defaults.options),n.push(...A.defaults._rawHandlers),u=A.defaults.mutableDefaults):(a.push(A),"handlers"in A&&n.push(...A.handlers),u=A.mutableDefaults);return n=n.filter(A=>A!==ec.defaultHandler),n.length===0&&n.push(ec.defaultHandler),Gle({options:qle(...a),handlers:n,mutableDefaults:Boolean(u)})};let r=async function*(o,a){let n=Ax(o,a,t.options);n.resolveBodyOnly=!1;let u=n.pagination;if(!Hle.default.object(u))throw new TypeError("`options.pagination` must be implemented");let A=[],{countLimit:p}=u,h=0;for(;h<u.requestLimit;){h!==0&&await rst(u.backoff);let E=await e(void 0,void 0,n),w=await u.transform(E),v=[];for(let C of w)if(u.filter(C,A,v)&&(!u.shouldContinue(C,A,v)||(yield C,u.stackAllItems&&A.push(C),v.push(C),--p<=0)))return;let b=u.paginate(E,A,v);if(b===!1)return;b===E.request.options?n=E.request.options:b!==void 0&&(n=Ax(void 0,b,n)),h++}};e.paginate=r,e.paginate.all=async(o,a)=>{let n=[];for await(let u of r(o,a))n.push(u);return n},e.paginate.each=r,e.stream=(o,a)=>e(o,{...a,isStream:!0});for(let o of sst)e[o]=(a,n)=>e(a,{...n,method:o}),e.stream[o]=(a,n)=>e(a,{...n,method:o,isStream:!0});return Object.assign(e,tst),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:est.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=qle,e};ec.default=Gle;Zit(_le(),ec)});var Kle=U((Nf,px)=>{"use strict";var ost=Nf&&Nf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Wle=Nf&&Nf.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ost(e,t,r)};Object.defineProperty(Nf,"__esModule",{value:!0});var ast=Ie("url"),Yle=_4(),lst={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let o of e){let a=o.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new ast.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[Yle.defaultHandler],mutableDefaults:!1},H4=Yle.default(lst);Nf.default=H4;px.exports=H4;px.exports.default=H4;px.exports.__esModule=!0;Wle(_4(),Nf);Wle(O4(),Nf)});var ln={};Yt(ln,{Method:()=>ece,del:()=>pst,get:()=>W4,getNetworkSettings:()=>$le,post:()=>Y4,put:()=>fst,request:()=>p1});function zle(t){let e=new hx.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),e.username&&e.password&&(r.proxyAuth=`${e.username}:${e.password}`),{proxy:r}}async function q4(t){return Df(Jle,t,()=>ae.readFilePromise(t).then(e=>(Jle.set(t,e),e)))}function Ast({statusCode:t,statusMessage:e},r){let o=Kt(r,t,Bt.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Xy(r,`${o}${e?` (${e})`:""}`,a)}async function gx(t,{configuration:e,customErrorMessage:r}){var o;try{return await t}catch(a){if(a.name!=="HTTPError")throw a;let n=(r==null?void 0:r(a,e))??((o=a.response.body)==null?void 0:o.error);n==null&&(a.message.startsWith("Response code")?n="The remote server failed to provide the requested resource":n=a.message),a.code==="ETIMEDOUT"&&a.event==="socket"&&(n+=`(can be increased via ${Kt(e,"httpTimeout",Bt.SETTING)})`);let u=new Vt(35,n,A=>{a.response&&A.reportError(35,` ${$u(e,{label:"Response Code",value:Gc(Bt.NO_HINT,Ast(a.response,e))})}`),a.request&&(A.reportError(35,` ${$u(e,{label:"Request Method",value:Gc(Bt.NO_HINT,a.request.options.method)})}`),A.reportError(35,` ${$u(e,{label:"Request URL",value:Gc(Bt.URL,a.request.requestUrl)})}`)),a.request.redirects.length>0&&A.reportError(35,` ${$u(e,{label:"Request Redirects",value:Gc(Bt.NO_HINT,wL(e,a.request.redirects,Bt.URL))})}`),a.request.retryCount===a.request.options.retry.limit&&A.reportError(35,` ${$u(e,{label:"Request Retry Count",value:Gc(Bt.NO_HINT,`${Kt(e,a.request.retryCount,Bt.NUMBER)} (can be increased via ${Kt(e,"httpRetry",Bt.SETTING)})`)})}`)});throw u.originalError=a,u}}function $le(t,e){let r=[...e.configuration.get("networkSettings")].sort(([u],[A])=>A.length-u.length),o={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(o),n=typeof t=="string"?new hx.URL(t):t;for(let[u,A]of r)if(G4.default.isMatch(n.hostname,u))for(let p of a){let h=A.get(p);h!==null&&typeof o[p]>"u"&&(o[p]=h)}for(let u of a)typeof o[u]>"u"&&(o[u]=e.configuration.get(u));return o}async function p1(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=async()=>await hst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u});return await(await r.reduceHook(h=>h.wrapNetworkRequest,A,{target:t,body:e,configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u}))()}async function W4(t,{configuration:e,jsonResponse:r,customErrorMessage:o,...a}){let n=Df(Vle,t,()=>gx(p1(t,null,{configuration:e,...a}),{configuration:e,customErrorMessage:o}).then(u=>(Vle.set(t,u.body),u.body)));return Buffer.isBuffer(n)===!1&&(n=await n),r?JSON.parse(n.toString()):n}async function fst(t,e,{customErrorMessage:r,...o}){return(await gx(p1(t,e,{...o,method:"PUT"}),{customErrorMessage:r,configuration:o.configuration})).body}async function Y4(t,e,{customErrorMessage:r,...o}){return(await gx(p1(t,e,{...o,method:"POST"}),{customErrorMessage:r,configuration:o.configuration})).body}async function pst(t,{customErrorMessage:e,...r}){return(await gx(p1(t,null,{...r,method:"DELETE"}),{customErrorMessage:e,configuration:r.configuration})).body}async function hst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=typeof t=="string"?new hx.URL(t):t,p=$le(A,{configuration:r});if(p.enableNetwork===!1)throw new Vt(80,`Request to '${A.href}' has been blocked because of your configuration settings`);if(A.protocol==="http:"&&!G4.default.isMatch(A.hostname,r.get("unsafeHttpWhitelist")))throw new Vt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${A.hostname})`);let E={agent:{http:p.httpProxy?j4.default.httpOverHttp(zle(p.httpProxy)):cst,https:p.httpsProxy?j4.default.httpsOverHttp(zle(p.httpsProxy)):ust},headers:o,method:u};E.responseType=n?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!a&&typeof e=="string"?E.body=e:E.json=e);let w=r.get("httpTimeout"),v=r.get("httpRetry"),b=r.get("enableStrictSsl"),C=p.httpsCaFilePath,R=p.httpsCertFilePath,L=p.httpsKeyFilePath,{default:_}=await Promise.resolve().then(()=>tt(Kle())),V=C?await q4(C):void 0,re=R?await q4(R):void 0,oe=L?await q4(L):void 0,pe=_.extend({timeout:{socket:w},retry:v,https:{rejectUnauthorized:b,certificateAuthority:V,certificate:re,key:oe},...E});return r.getLimit("networkConcurrency")(()=>pe(A))}var Xle,Zle,G4,j4,hx,Vle,Jle,cst,ust,ece,dx=dt(()=>{bt();Xle=Ie("https"),Zle=Ie("http"),G4=tt(Jo()),j4=tt(Doe()),hx=Ie("url");Xl();Jl();Kl();Vle=new Map,Jle=new Map,cst=new Zle.Agent({keepAlive:!0}),ust=new Xle.Agent({keepAlive:!0});ece=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(ece||{})});var As={};Yt(As,{availableParallelism:()=>J4,builtinModules:()=>K4,getArchitecture:()=>h1,getArchitectureName:()=>mst,getArchitectureSet:()=>V4,getCaller:()=>Ist,openUrl:()=>gst});function K4(){return new Set(ice.default.builtinModules||Object.keys(process.binding("natives")))}function dst(){var o;if(process.platform==="win32")return null;let e=(((o=process.report)==null?void 0:o.getReport())??{}).sharedObjects??[],r=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return Ow(e,a=>{let n=a.match(r);if(!n)return Ow.skip;if(n[1])return"glibc";if(n[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function h1(){return rce=rce??{os:process.platform,cpu:process.arch,libc:dst()}}function mst(t=h1()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function V4(){let t=h1();return nce=nce??{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}function Est(t){let e=yst.exec(t);if(!e)return null;let r=e[2]&&e[2].indexOf("native")===0,o=e[2]&&e[2].indexOf("eval")===0,a=Cst.exec(e[2]);return o&&a!=null&&(e[2]=a[1],e[3]=a[2],e[4]=a[3]),{file:r?null:e[2],methodName:e[1]||"<unknown>",arguments:r?[e[2]]:[],line:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}function Ist(){let e=new Error().stack.split(` |
142 | `)[3];return cst(e)}function J4(){return"availableParallelism"in ux.default?ux.default.availableParallelism():Math.max(1,ux.default.cpus().length)}var Zle,ux,Vle,ist,zle,Xle,ast,lst,A1=dt(()=>{bt();Zle=tt(Ie("module")),ux=tt(Ie("os"));Ax();Gl();Vle=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),ist=typeof Vle<"u"?async t=>{try{return await V4(Vle,[t],{cwd:V.cwd()}),!0}catch{return!1}}:void 0;ast=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,lst=/\((\S*)(?::(\d+))(?::(\d+))\)/});function eU(t,e,r,o,a){let n=Zw(r);if(o.isArray||o.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((u,A)=>z4(t,`${e}[${A}]`,u,o,a)):String(n).split(/,/).map(u=>z4(t,e,u,o,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return z4(t,e,r,o,a)}function z4(t,e,r,o,a){var p;let n=Zw(r);switch(o.type){case"ANY":return kP(n);case"SHAPE":return hst(t,e,r,o,a);case"MAP":return gst(t,e,r,o,a)}if(n===null&&!o.isNullable&&o.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((p=o.values)!=null&&p.includes(n))return n;let A=(()=>{if(o.type==="BOOLEAN"&&typeof n!="string")return Tw(n);if(typeof n!="string")throw new Error(`Expected value (${n}) to be a string`);let h=pL(n,{env:process.env});switch(o.type){case"ABSOLUTE_PATH":{let C=a,w=DM(r);return w&&(C=V.resolve(w,"..")),V.resolve(C,Ae.toPortablePath(h))}case"LOCATOR_LOOSE":return bf(h,!1);case"NUMBER":return parseInt(h);case"LOCATOR":return bf(h);case"BOOLEAN":return Tw(h);default:return h}})();if(o.values&&!o.values.includes(A))throw new Error(`Invalid value, expected one of ${o.values.join(", ")}`);return A}function hst(t,e,r,o,a){let n=Zw(r);if(typeof n!="object"||Array.isArray(n))throw new ot(`Object configuration settings "${e}" must be an object`);let u=tU(t,o,{ignoreArrays:!0});if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=`${e}.${A}`;if(!o.properties[A])throw new ot(`Unrecognized configuration settings found: ${e}.${A} - run "yarn config -v" to see the list of settings supported in Yarn`);u.set(A,eU(t,h,p,o.properties[A],a))}return u}function gst(t,e,r,o,a){let n=Zw(r),u=new Map;if(typeof n!="object"||Array.isArray(n))throw new ot(`Map configuration settings "${e}" must be an object`);if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=o.normalizeKeys?o.normalizeKeys(A):A,C=`${e}['${h}']`,w=o.valueDefinition;u.set(h,eU(t,C,p,w,a))}return u}function tU(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!r)return[];let o=new Map;for(let[a,n]of Object.entries(e.properties))o.set(a,tU(t,n));return o}break;case"MAP":return e.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:t.projectCwd===null?V.isAbsolute(e.default)?V.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(o=>V.resolve(t.projectCwd,o)):V.resolve(t.projectCwd,e.default);default:return e.default}}function px(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecrets)return pst;if(e.type==="ABSOLUTE_PATH"&&typeof t=="string"&&r.getNativePaths)return Ae.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let o=[];for(let a of t)o.push(px(a,e,r));return o}if(e.type==="MAP"&&t instanceof Map){let o=new Map;for(let[a,n]of t.entries())o.set(a,px(n,e.valueDefinition,r));return o}if(e.type==="SHAPE"&&t instanceof Map){let o=new Map;for(let[a,n]of t.entries()){let u=e.properties[a];o.set(a,px(n,u,r))}return o}return t}function dst(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(gx)&&(e=(0,ece.default)(e.slice(gx.length)),t[e]=r);return t}function hx(){let t=`${gx}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return Z4}var ece,l0,tce,X4,$le,Ast,fst,DE,gx,Z4,$4,pst,f1,rce,dx,fx,rU,Yc,Xe,p1=dt(()=>{bt();Oc();Ol();ece=tt(iJ()),l0=tt(Jg());_t();tce=tt($g()),X4=Ie("stream");Lse();sE();mM();yM();EM();loe();CM();wd();poe();RP();Yl();e0();cx();Gl();A1();r0();Ks();Ast=l0.GITHUB_ACTIONS&&process.env.GITHUB_EVENT_PATH?!((($le=ae.readJsonSync(Ae.toPortablePath(process.env.GITHUB_EVENT_PATH)).repository)==null?void 0:$le.private)??!0):!1,fst=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),DE=/^(?!v)[a-z0-9._-]+$/i,gx="yarn_",Z4=".yarnrc.yml",$4="yarn.lock",pst="********",f1=(C=>(C.ANY="ANY",C.BOOLEAN="BOOLEAN",C.ABSOLUTE_PATH="ABSOLUTE_PATH",C.LOCATOR="LOCATOR",C.LOCATOR_LOOSE="LOCATOR_LOOSE",C.NUMBER="NUMBER",C.STRING="STRING",C.SECRET="SECRET",C.SHAPE="SHAPE",C.MAP="MAP",C))(f1||{}),rce=Bt,dx=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(dx||{}),fx={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:"BOOLEAN",default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:"STRING",default:null},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:PM()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:oy},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:"STRING",default:$4},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:hx()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:qS,defaultText:"<dynamic>"},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:CL,defaultText:"<dynamic>"},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:l0.isCI,defaultText:"<dynamic>"},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!l0.isCI,defaultText:"<dynamic>"},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:"BOOLEAN",default:l0.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:"<dynamic>"},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},httpsCaFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(GS),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:l0.isPR&&Ast,defaultText:"<true on public PRs>"},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};rU=(o=>(o[o.LOCKFILE=0]="LOCKFILE",o[o.MANIFEST=1]="MANIFEST",o[o.NONE=2]="NONE",o))(rU||{}),Yc=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,o){let a=new Yc(e);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(fx);let n=typeof o<"u"?o:r instanceof Map?r:new Map;for(let[u,A]of n)a.activatePlugin(u,A);return a}static async find(e,r,{lookup:o=0,strict:a=!0,usePath:n=!1,useRc:u=!0}={}){let A=dst();delete A.rcFilename;let p=await Yc.findRcFiles(e),h=await Yc.findHomeRcFile();h&&(p.find(ve=>ve.path===h.path)||p.unshift(h));let C=foe(p.map(he=>[he.path,he.data])),w=".",v=new Set(Object.keys(fx)),b=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le})=>({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le}),E=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le,...Pe})=>{let g={};for(let[De,Ee]of Object.entries(Pe))v.has(De)&&(g[De]=Ee);return g},R=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le,...Pe})=>{let g={};for(let[De,Ee]of Object.entries(Pe))v.has(De)||(g[De]=Ee);return g},L=new Yc(e);if(L.importSettings(b(fx)),L.useWithSource("<environment>",b(A),e,{strict:!1}),C){let[he,ve]=C;L.useWithSource(he,b(ve),w,{strict:!1})}if(n){let he=L.get("yarnPath"),ve=L.get("ignorePath");if(he!==null&&!ve)return L}let _=L.get("lockfileFilename"),J;switch(o){case 0:J=await Yc.findProjectCwd(e,_);break;case 1:J=await Yc.findProjectCwd(e,null);break;case 2:ae.existsSync(V.join(e,"package.json"))?J=V.resolve(e):J=null;break}if(L.startingCwd=e,L.projectCwd=J,L.importSettings(E(fx)),L.useWithSource("<environment>",E(A),e,{strict:a}),C){let[he,ve]=C;L.useWithSource(he,E(ve),w,{strict:a})}let re=he=>"default"in he?he.default:he,oe=new Map([["@@core",Nse]]);if(r!==null)for(let he of r.plugins.keys())oe.set(he,re(r.modules.get(he)));for(let[he,ve]of oe)L.activatePlugin(he,ve);let pe=new Map([]);if(r!==null){let he=new Map;for(let le of Y4())he.set(le,()=>Kp(le));for(let[le,Pe]of r.modules)he.set(le,()=>Pe);let ve=new Set,ge=async(le,Pe)=>{let{factory:g,name:De}=Kp(le);if(!g||ve.has(De))return;let Ee=new Map(he),de=Z=>{if(Ee.has(Z))return Ee.get(Z)();throw new ot(`This plugin cannot access the package referenced via ${Z} which is neither a builtin, nor an exposed entry`)},ne=await jy(async()=>re(await g(de)),Z=>`${Z} (when initializing ${De}, defined in ${Pe})`);he.set(De,()=>ne),ve.add(De),pe.set(De,ne)};if(A.plugins)for(let le of A.plugins.split(";")){let Pe=V.resolve(e,Ae.toPortablePath(le));await ge(Pe,"<environment>")}for(let{path:le,cwd:Pe,data:g}of p)if(!!u&&!!Array.isArray(g.plugins))for(let De of g.plugins){let Ee=typeof De!="string"?De.path:De,de=(De==null?void 0:De.spec)??"",ne=(De==null?void 0:De.checksum)??"",Z=V.resolve(Pe,Ae.toPortablePath(Ee));if(!await ae.existsPromise(Z)){if(!de){let ut=Kt(L,V.basename(Z,".cjs"),Bt.NAME),H=Kt(L,".gitignore",Bt.NAME),yt=Kt(L,L.values.get("rcFilename"),Bt.NAME),Me=Kt(L,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",Bt.URL);throw new ot(`Missing source for the ${ut} plugin - please try to remove the plugin from ${yt} then reinstall it manually. This error usually occurs because ${H} is incorrect, check ${Me} to make sure your plugin folder isn't gitignored.`)}if(!de.match(/^https?:/)){let ut=Kt(L,V.basename(Z,".cjs"),Bt.NAME),H=Kt(L,L.values.get("rcFilename"),Bt.NAME);throw new ot(`Failed to recognize the source for the ${ut} plugin - please try to delete the plugin from ${H} then reinstall it manually.`)}let me=await G4(de,{configuration:L}),be=Js(me);if(ne&&ne!==be){let ut=Kt(L,V.basename(Z,".cjs"),Bt.NAME),H=Kt(L,L.values.get("rcFilename"),Bt.NAME),yt=Kt(L,`yarn plugin import ${de}`,Bt.CODE);throw new ot(`Failed to fetch the ${ut} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${H} then run ${yt} to reimport it.`)}await ae.mkdirPromise(V.dirname(Z),{recursive:!0}),await ae.writeFilePromise(Z,me)}await ge(Z,le)}}for(let[he,ve]of pe)L.activatePlugin(he,ve);if(L.useWithSource("<environment>",R(A),e,{strict:a}),C){let[he,ve]=C;L.useWithSource(he,R(ve),w,{strict:a})}return L.get("enableGlobalCache")&&(L.values.set("cacheFolder",`${L.get("globalFolder")}/cache`),L.sources.set("cacheFolder","<internal>")),await L.refreshPackageExtensions(),L}static async findRcFiles(e){let r=hx(),o=[],a=e,n=null;for(;a!==n;){n=a;let u=V.join(n,r);if(ae.existsSync(u)){let A=await ae.readFilePromise(u,"utf8"),p;try{p=Yi(A)}catch{let C="";throw A.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(C=" (in particular, make sure you list the colons after each key name)"),new ot(`Parse error when loading ${u}; please check it's proper Yaml${C}`)}o.unshift({path:u,cwd:n,data:p})}a=V.dirname(n)}return o}static async findHomeRcFile(){let e=hx(),r=fE(),o=V.join(r,e);if(ae.existsSync(o)){let a=await ae.readFilePromise(o,"utf8"),n=Yi(a);return{path:o,cwd:r,data:n}}return null}static async findProjectCwd(e,r){let o=null,a=e,n=null;for(;a!==n;){if(n=a,ae.existsSync(V.join(n,"package.json"))&&(o=n),r!==null){if(ae.existsSync(V.join(n,r))){o=n;break}}else if(o!==null)break;a=V.dirname(n)}return o}static async updateConfiguration(e,r){let o=hx(),a=V.join(e,o),n=ae.existsSync(a)?Yi(await ae.readFilePromise(a,"utf8")):{},u=!1,A;if(typeof r=="function"){try{A=r(n)}catch{A=r({})}if(A===n)return}else{A=n;for(let p of Object.keys(r)){let h=n[p],C=r[p],w;if(typeof C=="function")try{w=C(h)}catch{w=C(void 0)}else w=C;h!==w&&(w===Yc.deleteProperty?delete A[p]:A[p]=w,u=!0)}if(!u)return}await ae.changeFilePromise(a,Ia(A),{automaticNewlines:!0})}static async addPlugin(e,r){r.length!==0&&await Yc.updateConfiguration(e,o=>{let a=o.plugins??[];if(a.length===0)return{...o,plugins:r};let n=[],u=[...r];for(let A of a){let p=typeof A!="string"?A.path:A,h=u.find(C=>C.path===p);h?(n.push(h),u=u.filter(C=>C!==h)):n.push(A)}return n.push(...u),{...o,plugins:n}})}static async updateHomeConfiguration(e){let r=fE();return await Yc.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,o]of Object.entries(e))if(o!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,o),this.values.set(r,tU(this,o))}}useWithSource(e,r,o,a){try{this.use(e,r,o,a)}catch(n){throw n.message+=` (in ${Kt(this,e,Bt.PATH)})`,n}}use(e,r,o,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let u of["enableStrictSettings",...Object.keys(r)]){let A=r[u],p=DM(A);if(p&&(e=p),typeof A>"u"||u==="plugins"||e==="<environment>"&&fst.has(u))continue;if(u==="rcFilename")throw new ot(`The rcFilename settings can only be set via ${`${gx}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(u);if(!h){let w=fE(),v=V.resolve(e,"..");if(a&&!(w===v))throw new ot(`Unrecognized or legacy configuration settings found: ${u} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(u,e);continue}if(this.sources.has(u)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let C;try{C=eU(this,u,A,h,o)}catch(w){throw w.message+=` in ${Kt(this,e,Bt.PATH)}`,w}if(u==="enableStrictSettings"&&e!=="<environment>"){a=C;continue}if(h.type==="MAP"){let w=this.values.get(u);this.values.set(u,new Map(n?[...w,...C]:[...C,...w])),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else if(h.isArray&&h.concatenateValues){let w=this.values.get(u);this.values.set(u,n?[...w,...C]:[...C,...w]),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else this.values.set(u,C),this.sources.set(u,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:o=!1}){let a=this.get(e),n=this.settings.get(e);if(typeof n>"u")throw new ot(`Couldn't find a configuration settings named "${e}"`);return px(a,n,{hideSecrets:r,getNativePaths:o})}getSubprocessStreams(e,{header:r,prefix:o,report:a}){let n,u,A=ae.createWriteStream(e);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${o} ${Kt(this,"STDOUT","green")}`),h=a.createStreamReporter(`${o} ${Kt(this,"STDERR","red")}`);n=new X4.PassThrough,n.pipe(p),n.pipe(A),u=new X4.PassThrough,u.pipe(h),u.pipe(A)}else n=A,u=A,typeof r<"u"&&n.write(`${r} | 142 | `)[3];return Est(e)}function J4(){return"availableParallelism"in mx.default?mx.default.availableParallelism():Math.max(1,mx.default.cpus().length)}var ice,mx,tce,gst,rce,nce,yst,Cst,g1=dt(()=>{bt();ice=tt(Ie("module")),mx=tt(Ie("os"));yx();Kl();tce=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),gst=typeof tce<"u"?async t=>{try{return await z4(tce,[t],{cwd:z.cwd()}),!0}catch{return!1}}:void 0;yst=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Cst=/\((\S*)(?::(\d+))(?::(\d+))\)/});function tU(t,e,r,o,a){let n=r1(r);if(o.isArray||o.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((u,A)=>X4(t,`${e}[${A}]`,u,o,a)):String(n).split(/,/).map(u=>X4(t,e,u,o,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return X4(t,e,r,o,a)}function X4(t,e,r,o,a){var p;let n=r1(r);switch(o.type){case"ANY":return MP(n);case"SHAPE":return Dst(t,e,r,o,a);case"MAP":return Sst(t,e,r,o,a)}if(n===null&&!o.isNullable&&o.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((p=o.values)!=null&&p.includes(n))return n;let A=(()=>{if(o.type==="BOOLEAN"&&typeof n!="string")return Mw(n);if(typeof n!="string")throw new Error(`Expected value (${n}) to be a string`);let h=hL(n,{env:process.env});switch(o.type){case"ABSOLUTE_PATH":{let E=a,w=SM(r);return w&&(E=z.resolve(w,"..")),z.resolve(E,ue.toPortablePath(h))}case"LOCATOR_LOOSE":return kf(h,!1);case"NUMBER":return parseInt(h);case"LOCATOR":return kf(h);case"BOOLEAN":return Mw(h);default:return h}})();if(o.values&&!o.values.includes(A))throw new Error(`Invalid value, expected one of ${o.values.join(", ")}`);return A}function Dst(t,e,r,o,a){let n=r1(r);if(typeof n!="object"||Array.isArray(n))throw new ot(`Object configuration settings "${e}" must be an object`);let u=rU(t,o,{ignoreArrays:!0});if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=`${e}.${A}`;if(!o.properties[A])throw new ot(`Unrecognized configuration settings found: ${e}.${A} - run "yarn config -v" to see the list of settings supported in Yarn`);u.set(A,tU(t,h,p,o.properties[A],a))}return u}function Sst(t,e,r,o,a){let n=r1(r),u=new Map;if(typeof n!="object"||Array.isArray(n))throw new ot(`Map configuration settings "${e}" must be an object`);if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=o.normalizeKeys?o.normalizeKeys(A):A,E=`${e}['${h}']`,w=o.valueDefinition;u.set(h,tU(t,E,p,w,a))}return u}function rU(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!r)return[];let o=new Map;for(let[a,n]of Object.entries(e.properties))o.set(a,rU(t,n));return o}break;case"MAP":return e.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:t.projectCwd===null?z.isAbsolute(e.default)?z.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(o=>z.resolve(t.projectCwd,o)):z.resolve(t.projectCwd,e.default);default:return e.default}}function Ex(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecrets)return vst;if(e.type==="ABSOLUTE_PATH"&&typeof t=="string"&&r.getNativePaths)return ue.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let o=[];for(let a of t)o.push(Ex(a,e,r));return o}if(e.type==="MAP"&&t instanceof Map){let o=new Map;for(let[a,n]of t.entries())o.set(a,Ex(n,e.valueDefinition,r));return o}if(e.type==="SHAPE"&&t instanceof Map){let o=new Map;for(let[a,n]of t.entries()){let u=e.properties[a];o.set(a,Ex(n,u,r))}return o}return t}function Pst(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(wx)&&(e=(0,oce.default)(e.slice(wx.length)),t[e]=r);return t}function Ix(){let t=`${wx}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return $4}var oce,c0,ace,Z4,sce,wst,Bst,QC,wx,$4,eU,vst,d1,lce,Bx,Cx,nU,Vc,Xe,m1=dt(()=>{bt();_c();_l();oce=tt(uV()),c0=tt(Xg());_t();ace=tt(rd()),Z4=Ie("stream");qse();uC();yM();CM();EM();hoe();IM();Dd();Coe();_P();Jl();t0();dx();Kl();g1();n0();Ks();wst=c0.GITHUB_ACTIONS&&process.env.GITHUB_EVENT_PATH?!(((sce=ae.readJsonSync(ue.toPortablePath(process.env.GITHUB_EVENT_PATH)).repository)==null?void 0:sce.private)??!0):!1,Bst=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry"]),QC=/^(?!v)[a-z0-9._-]+$/i,wx="yarn_",$4=".yarnrc.yml",eU="yarn.lock",vst="********",d1=(E=>(E.ANY="ANY",E.BOOLEAN="BOOLEAN",E.ABSOLUTE_PATH="ABSOLUTE_PATH",E.LOCATOR="LOCATOR",E.LOCATOR_LOOSE="LOCATOR_LOOSE",E.NUMBER="NUMBER",E.STRING="STRING",E.SECRET="SECRET",E.SHAPE="SHAPE",E.MAP="MAP",E))(d1||{}),lce=Bt,Bx=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(Bx||{}),Cx={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:"BOOLEAN",default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:"STRING",default:null},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:xM()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Ay},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:"STRING",default:eU},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:Ix()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:JS,defaultText:"<dynamic>"},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:IL,defaultText:"<dynamic>"},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:c0.isCI,defaultText:"<dynamic>"},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!c0.isCI,defaultText:"<dynamic>"},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:"BOOLEAN",default:c0.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:"<dynamic>"},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},httpsCaFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(XS),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:c0.isPR&&wst,defaultText:"<true on public PRs>"},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};nU=(o=>(o[o.LOCKFILE=0]="LOCKFILE",o[o.MANIFEST=1]="MANIFEST",o[o.NONE=2]="NONE",o))(nU||{}),Vc=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,o){let a=new Vc(e);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(Cx);let n=typeof o<"u"?o:r instanceof Map?r:new Map;for(let[u,A]of n)a.activatePlugin(u,A);return a}static async find(e,r,{lookup:o=0,strict:a=!0,usePath:n=!1,useRc:u=!0}={}){let A=Pst();delete A.rcFilename;let p=await Vc.findRcFiles(e),h=await Vc.findHomeRcFile();h&&(p.find(ve=>ve.path===h.path)||p.unshift(h));let E=yoe(p.map(he=>[he.path,he.data])),w=".",v=new Set(Object.keys(Cx)),b=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le})=>({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le}),C=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le,...Pe})=>{let g={};for(let[De,Ce]of Object.entries(Pe))v.has(De)&&(g[De]=Ce);return g},R=({ignoreCwd:he,yarnPath:ve,ignorePath:ge,lockfileFilename:le,...Pe})=>{let g={};for(let[De,Ce]of Object.entries(Pe))v.has(De)||(g[De]=Ce);return g},L=new Vc(e);if(L.importSettings(b(Cx)),L.useWithSource("<environment>",b(A),e,{strict:!1}),E){let[he,ve]=E;L.useWithSource(he,b(ve),w,{strict:!1})}if(n){let he=L.get("yarnPath"),ve=L.get("ignorePath");if(he!==null&&!ve)return L}let _=L.get("lockfileFilename"),V;switch(o){case 0:V=await Vc.findProjectCwd(e,_);break;case 1:V=await Vc.findProjectCwd(e,null);break;case 2:ae.existsSync(z.join(e,"package.json"))?V=z.resolve(e):V=null;break}if(L.startingCwd=e,L.projectCwd=V,L.importSettings(C(Cx)),L.useWithSource("<environment>",C(A),e,{strict:a}),E){let[he,ve]=E;L.useWithSource(he,C(ve),w,{strict:a})}let re=he=>"default"in he?he.default:he,oe=new Map([["@@core",Hse]]);if(r!==null)for(let he of r.plugins.keys())oe.set(he,re(r.modules.get(he)));for(let[he,ve]of oe)L.activatePlugin(he,ve);let pe=new Map([]);if(r!==null){let he=new Map;for(let le of K4())he.set(le,()=>Vp(le));for(let[le,Pe]of r.modules)he.set(le,()=>Pe);let ve=new Set,ge=async(le,Pe)=>{let{factory:g,name:De}=Vp(le);if(!g||ve.has(De))return;let Ce=new Map(he),de=Z=>{if(Ce.has(Z))return Ce.get(Z)();throw new ot(`This plugin cannot access the package referenced via ${Z} which is neither a builtin, nor an exposed entry`)},ne=await Vy(async()=>re(await g(de)),Z=>`${Z} (when initializing ${De}, defined in ${Pe})`);he.set(De,()=>ne),ve.add(De),pe.set(De,ne)};if(A.plugins)for(let le of A.plugins.split(";")){let Pe=z.resolve(e,ue.toPortablePath(le));await ge(Pe,"<environment>")}for(let{path:le,cwd:Pe,data:g}of p)if(!!u&&!!Array.isArray(g.plugins))for(let De of g.plugins){let Ce=typeof De!="string"?De.path:De,de=(De==null?void 0:De.spec)??"",ne=(De==null?void 0:De.checksum)??"",Z=z.resolve(Pe,ue.toPortablePath(Ce));if(!await ae.existsPromise(Z)){if(!de){let ut=Kt(L,z.basename(Z,".cjs"),Bt.NAME),H=Kt(L,".gitignore",Bt.NAME),yt=Kt(L,L.values.get("rcFilename"),Bt.NAME),Me=Kt(L,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",Bt.URL);throw new ot(`Missing source for the ${ut} plugin - please try to remove the plugin from ${yt} then reinstall it manually. This error usually occurs because ${H} is incorrect, check ${Me} to make sure your plugin folder isn't gitignored.`)}if(!de.match(/^https?:/)){let ut=Kt(L,z.basename(Z,".cjs"),Bt.NAME),H=Kt(L,L.values.get("rcFilename"),Bt.NAME);throw new ot(`Failed to recognize the source for the ${ut} plugin - please try to delete the plugin from ${H} then reinstall it manually.`)}let me=await W4(de,{configuration:L}),be=Vs(me);if(ne&&ne!==be){let ut=Kt(L,z.basename(Z,".cjs"),Bt.NAME),H=Kt(L,L.values.get("rcFilename"),Bt.NAME),yt=Kt(L,`yarn plugin import ${de}`,Bt.CODE);throw new ot(`Failed to fetch the ${ut} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${H} then run ${yt} to reimport it.`)}await ae.mkdirPromise(z.dirname(Z),{recursive:!0}),await ae.writeFilePromise(Z,me)}await ge(Z,le)}}for(let[he,ve]of pe)L.activatePlugin(he,ve);if(L.useWithSource("<environment>",R(A),e,{strict:a}),E){let[he,ve]=E;L.useWithSource(he,R(ve),w,{strict:a})}return L.get("enableGlobalCache")&&(L.values.set("cacheFolder",`${L.get("globalFolder")}/cache`),L.sources.set("cacheFolder","<internal>")),await L.refreshPackageExtensions(),L}static async findRcFiles(e){let r=Ix(),o=[],a=e,n=null;for(;a!==n;){n=a;let u=z.join(n,r);if(ae.existsSync(u)){let A=await ae.readFilePromise(u,"utf8"),p;try{p=Yi(A)}catch{let E="";throw A.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(E=" (in particular, make sure you list the colons after each key name)"),new ot(`Parse error when loading ${u}; please check it's proper Yaml${E}`)}o.unshift({path:u,cwd:n,data:p})}a=z.dirname(n)}return o}static async findHomeRcFile(){let e=Ix(),r=mC(),o=z.join(r,e);if(ae.existsSync(o)){let a=await ae.readFilePromise(o,"utf8"),n=Yi(a);return{path:o,cwd:r,data:n}}return null}static async findProjectCwd(e,r){let o=null,a=e,n=null;for(;a!==n;){if(n=a,ae.existsSync(z.join(n,"package.json"))&&(o=n),r!==null){if(ae.existsSync(z.join(n,r))){o=n;break}}else if(o!==null)break;a=z.dirname(n)}return o}static async updateConfiguration(e,r){let o=Ix(),a=z.join(e,o),n=ae.existsSync(a)?Yi(await ae.readFilePromise(a,"utf8")):{},u=!1,A;if(typeof r=="function"){try{A=r(n)}catch{A=r({})}if(A===n)return}else{A=n;for(let p of Object.keys(r)){let h=n[p],E=r[p],w;if(typeof E=="function")try{w=E(h)}catch{w=E(void 0)}else w=E;h!==w&&(w===Vc.deleteProperty?delete A[p]:A[p]=w,u=!0)}if(!u)return}await ae.changeFilePromise(a,wa(A),{automaticNewlines:!0})}static async addPlugin(e,r){r.length!==0&&await Vc.updateConfiguration(e,o=>{let a=o.plugins??[];if(a.length===0)return{...o,plugins:r};let n=[],u=[...r];for(let A of a){let p=typeof A!="string"?A.path:A,h=u.find(E=>E.path===p);h?(n.push(h),u=u.filter(E=>E!==h)):n.push(A)}return n.push(...u),{...o,plugins:n}})}static async updateHomeConfiguration(e){let r=mC();return await Vc.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,o]of Object.entries(e))if(o!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,o),this.values.set(r,rU(this,o))}}useWithSource(e,r,o,a){try{this.use(e,r,o,a)}catch(n){throw n.message+=` (in ${Kt(this,e,Bt.PATH)})`,n}}use(e,r,o,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let u of["enableStrictSettings",...Object.keys(r)]){let A=r[u],p=SM(A);if(p&&(e=p),typeof A>"u"||u==="plugins"||e==="<environment>"&&Bst.has(u))continue;if(u==="rcFilename")throw new ot(`The rcFilename settings can only be set via ${`${wx}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(u);if(!h){let w=mC(),v=z.resolve(e,"..");if(a&&!(w===v))throw new ot(`Unrecognized or legacy configuration settings found: ${u} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(u,e);continue}if(this.sources.has(u)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let E;try{E=tU(this,u,A,h,o)}catch(w){throw w.message+=` in ${Kt(this,e,Bt.PATH)}`,w}if(u==="enableStrictSettings"&&e!=="<environment>"){a=E;continue}if(h.type==="MAP"){let w=this.values.get(u);this.values.set(u,new Map(n?[...w,...E]:[...E,...w])),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else if(h.isArray&&h.concatenateValues){let w=this.values.get(u);this.values.set(u,n?[...w,...E]:[...E,...w]),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else this.values.set(u,E),this.sources.set(u,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:o=!1}){let a=this.get(e),n=this.settings.get(e);if(typeof n>"u")throw new ot(`Couldn't find a configuration settings named "${e}"`);return Ex(a,n,{hideSecrets:r,getNativePaths:o})}getSubprocessStreams(e,{header:r,prefix:o,report:a}){let n,u,A=ae.createWriteStream(e);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${o} ${Kt(this,"STDOUT","green")}`),h=a.createStreamReporter(`${o} ${Kt(this,"STDERR","red")}`);n=new Z4.PassThrough,n.pipe(p),n.pipe(A),u=new Z4.PassThrough,u.pipe(h),u.pipe(A)}else n=A,u=A,typeof r<"u"&&n.write(`${r} |
143 | `);return{stdout:n,stderr:u}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let o of r.resolvers||[])e.push(new o);return new vd([new zw,new oi,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let o of r.fetchers||[])e.push(new o);return new aE([new lE,new uE,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let o of r.linkers||[])e.push(new o);return e}getSupportedArchitectures(){let e=u1(),r=this.get("supportedArchitectures"),o=r.get("os");o!==null&&(o=o.map(u=>u==="current"?e.os:u));let a=r.get("cpu");a!==null&&(a=a.map(u=>u==="current"?e.cpu:u));let n=r.get("libc");return n!==null&&(n=Xu(n,u=>u==="current"?e.libc??Xu.skip:u)),{os:o,cpu:a,libc:n}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(o,a,{userProvided:n=!1}={})=>{if(!jc(o.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let u=new Nt;u.load(a,{yamlCompatibilityMode:!0});let A=Hy(e,o.identHash),p=[];A.push([o.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:o};for(let C of u.dependencies.values())p.push({...h,type:"Dependency",descriptor:C});for(let C of u.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:C});for(let[C,w]of u.peerDependenciesMeta)for(let[v,b]of Object.entries(w))p.push({...h,type:"PeerDependencyMeta",selector:C,key:v,value:b})};await this.triggerHook(o=>o.registerPackageExtensions,this,r);for(let[o,a]of this.get("packageExtensions"))r(t0(o,!0),_S(a),{userProvided:!0})}normalizeLocator(e){return jc(e.reference)?us(e,`${this.get("defaultProtocol")}${e.reference}`):DE.test(e.reference)?us(e,`${this.get("defaultProtocol")}${e.reference}`):e}normalizeDependency(e){return jc(e.range)?mn(e,`${this.get("defaultProtocol")}${e.range}`):DE.test(e.range)?mn(e,`${this.get("defaultProtocol")}${e.range}`):e}normalizeDependencyMap(e){return new Map([...e].map(([r,o])=>[r,this.normalizeDependency(o)]))}normalizePackage(e){let r=Hw(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let o=this.packageExtensions.get(e.identHash);if(typeof o<"u"){let n=e.version;if(n!==null){for(let[u,A]of o)if(!!Bd(n,u))for(let p of A)switch(p.status==="inactive"&&(p.status="redundant"),p.type){case"Dependency":typeof r.dependencies.get(p.descriptor.identHash)>"u"&&(p.status="active",r.dependencies.set(p.descriptor.identHash,this.normalizeDependency(p.descriptor)));break;case"PeerDependency":typeof r.peerDependencies.get(p.descriptor.identHash)>"u"&&(p.status="active",r.peerDependencies.set(p.descriptor.identHash,p.descriptor));break;case"PeerDependencyMeta":{let h=r.peerDependenciesMeta.get(p.selector);(typeof h>"u"||!Object.prototype.hasOwnProperty.call(h,p.key)||h[p.key]!==p.value)&&(p.status="active",Bf(r.peerDependenciesMeta,p.selector,()=>({}))[p.key]=p.value)}break;default:AL(p);break}}}let a=n=>n.scope?`${n.scope}__${n.name}`:`${n.name}`;for(let n of r.peerDependenciesMeta.keys()){let u=Ys(n);r.peerDependencies.has(u.identHash)||r.peerDependencies.set(u.identHash,mn(u,"*"))}for(let n of r.peerDependencies.values()){if(n.scope==="types")continue;let u=a(n),A=rA("types",u),p=nn(A);r.peerDependencies.has(A.identHash)||r.peerDependenciesMeta.has(p)||(r.peerDependencies.set(A.identHash,mn(A,"*")),r.peerDependenciesMeta.set(p,{optional:!0}))}return r.dependencies=new Map(Sa(r.dependencies,([,n])=>xa(n))),r.peerDependencies=new Map(Sa(r.peerDependencies,([,n])=>xa(n))),r}getLimit(e){return Bf(this.limits,e,()=>(0,tce.default)(this.get(e)))}async triggerHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);!n||await n(...r)}}async triggerMultipleHooks(e,r){for(let o of r)await this.triggerHook(e,...o)}async reduceHook(e,r,...o){let a=r;for(let n of this.plugins.values()){let u=n.hooks;if(!u)continue;let A=e(u);!A||(a=await A(a,...o))}return a}async firstHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);if(!n)continue;let u=await n(...r);if(typeof u<"u")return u}return null}},Xe=Yc;Xe.deleteProperty=Symbol(),Xe.telemetry=null});var Mr={};Yt(Mr,{EndStrategy:()=>oU,ExecError:()=>mx,PipeError:()=>h1,execvp:()=>V4,pipevp:()=>iA});function Pd(t){return t!==null&&typeof t.fd=="number"}function nU(){}function iU(){for(let t of xd)t.kill()}async function iA(t,e,{cwd:r,env:o=process.env,strict:a=!1,stdin:n=null,stdout:u,stderr:A,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":Pd(n)&&(h[0]=n),Pd(u)&&(h[1]=u),Pd(A)&&(h[2]=A);let C=(0,sU.default)(t,e,{cwd:Ae.fromPortablePath(r),env:{...o,PWD:Ae.fromPortablePath(r)},stdio:h});xd.add(C),xd.size===1&&(process.on("SIGINT",nU),process.on("SIGTERM",iU)),!Pd(n)&&n!==null&&n.pipe(C.stdin),Pd(u)||C.stdout.pipe(u,{end:!1}),Pd(A)||C.stderr.pipe(A,{end:!1});let w=()=>{for(let v of new Set([u,A]))Pd(v)||v.end()};return new Promise((v,b)=>{C.on("error",E=>{xd.delete(C),xd.size===0&&(process.off("SIGINT",nU),process.off("SIGTERM",iU)),(p===2||p===1)&&w(),b(E)}),C.on("close",(E,R)=>{xd.delete(C),xd.size===0&&(process.off("SIGINT",nU),process.off("SIGTERM",iU)),(p===2||p===1&&E!==0)&&w(),E===0||!a?v({code:aU(E,R)}):b(new h1({fileName:t,code:E,signal:R}))})})}async function V4(t,e,{cwd:r,env:o=process.env,encoding:a="utf8",strict:n=!1}){let u=["ignore","pipe","pipe"],A=[],p=[],h=Ae.fromPortablePath(r);typeof o.PWD<"u"&&(o={...o,PWD:h});let C=(0,sU.default)(t,e,{cwd:h,env:o,stdio:u});return C.stdout.on("data",w=>{A.push(w)}),C.stderr.on("data",w=>{p.push(w)}),await new Promise((w,v)=>{C.on("error",b=>{let E=Xe.create(r),R=Kt(E,t,Bt.PATH);v(new Jt(1,`Process ${R} failed to spawn`,L=>{L.reportError(1,` ${Zu(E,{label:"Thrown Error",value:Hc(Bt.NO_HINT,b.message)})}`)}))}),C.on("close",(b,E)=>{let R=a==="buffer"?Buffer.concat(A):Buffer.concat(A).toString(a),L=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);b===0||!n?w({code:aU(b,E),stdout:R,stderr:L}):v(new mx({fileName:t,code:b,signal:E,stdout:R,stderr:L}))})})}function aU(t,e){let r=mst.get(e);return typeof r<"u"?128+r:t??1}function yst(t,e,{configuration:r,report:o}){o.reportError(1,` ${Zu(r,t!==null?{label:"Exit Code",value:Hc(Bt.NUMBER,t)}:{label:"Exit Signal",value:Hc(Bt.CODE,e)})}`)}var sU,oU,h1,mx,xd,mst,Ax=dt(()=>{bt();sU=tt(XR());p1();Jl();Yl();oU=(o=>(o[o.Never=0]="Never",o[o.ErrorCode=1]="ErrorCode",o[o.Always=2]="Always",o))(oU||{}),h1=class extends Jt{constructor({fileName:r,code:o,signal:a}){let n=Xe.create(V.cwd()),u=Kt(n,r,Bt.PATH);super(1,`Child ${u} reported an error`,A=>{yst(o,a,{configuration:n,report:A})});this.code=aU(o,a)}},mx=class extends h1{constructor({fileName:r,code:o,signal:a,stdout:n,stderr:u}){super({fileName:r,code:o,signal:a});this.stdout=n,this.stderr=u}};xd=new Set;mst=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});var SE,nce=dt(()=>{bt();_t();g1();SE=class extends it{constructor(){super(...arguments);this.cwd=fe.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await PE(r,[],{cwd:Ae.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}};SE.usage={description:"run a command using yarn's portable shell",details:` | 143 | `);return{stdout:n,stderr:u}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let o of r.resolvers||[])e.push(new o);return new Pd([new e1,new Gn,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let o of r.fetchers||[])e.push(new o);return new fC([new pC,new gC,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let o of r.linkers||[])e.push(new o);return e}getSupportedArchitectures(){let e=h1(),r=this.get("supportedArchitectures"),o=r.get("os");o!==null&&(o=o.map(u=>u==="current"?e.os:u));let a=r.get("cpu");a!==null&&(a=a.map(u=>u==="current"?e.cpu:u));let n=r.get("libc");return n!==null&&(n=Zu(n,u=>u==="current"?e.libc??Zu.skip:u)),{os:o,cpu:a,libc:n}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(o,a,{userProvided:n=!1}={})=>{if(!ll(o.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let u=new Nt;u.load(a,{yamlCompatibilityMode:!0});let A=Yy(e,o.identHash),p=[];A.push([o.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:o};for(let E of u.dependencies.values())p.push({...h,type:"Dependency",descriptor:E});for(let E of u.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:E});for(let[E,w]of u.peerDependenciesMeta)for(let[v,b]of Object.entries(w))p.push({...h,type:"PeerDependencyMeta",selector:E,key:v,value:b})};await this.triggerHook(o=>o.registerPackageExtensions,this,r);for(let[o,a]of this.get("packageExtensions"))r(r0(o,!0),KS(a),{userProvided:!0})}normalizeLocator(e){return ll(e.reference)?us(e,`${this.get("defaultProtocol")}${e.reference}`):QC.test(e.reference)?us(e,`${this.get("defaultProtocol")}${e.reference}`):e}normalizeDependency(e){return ll(e.range)?mn(e,`${this.get("defaultProtocol")}${e.range}`):QC.test(e.range)?mn(e,`${this.get("defaultProtocol")}${e.range}`):e}normalizeDependencyMap(e){return new Map([...e].map(([r,o])=>[r,this.normalizeDependency(o)]))}normalizePackage(e){let r=Ww(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let o=this.packageExtensions.get(e.identHash);if(typeof o<"u"){let n=e.version;if(n!==null){for(let[u,A]of o)if(!!Sd(n,u))for(let p of A)switch(p.status==="inactive"&&(p.status="redundant"),p.type){case"Dependency":typeof r.dependencies.get(p.descriptor.identHash)>"u"&&(p.status="active",r.dependencies.set(p.descriptor.identHash,this.normalizeDependency(p.descriptor)));break;case"PeerDependency":typeof r.peerDependencies.get(p.descriptor.identHash)>"u"&&(p.status="active",r.peerDependencies.set(p.descriptor.identHash,p.descriptor));break;case"PeerDependencyMeta":{let h=r.peerDependenciesMeta.get(p.selector);(typeof h>"u"||!Object.prototype.hasOwnProperty.call(h,p.key)||h[p.key]!==p.value)&&(p.status="active",Df(r.peerDependenciesMeta,p.selector,()=>({}))[p.key]=p.value)}break;default:fL(p);break}}}let a=n=>n.scope?`${n.scope}__${n.name}`:`${n.name}`;for(let n of r.peerDependenciesMeta.keys()){let u=Ys(n);r.peerDependencies.has(u.identHash)||r.peerDependencies.set(u.identHash,mn(u,"*"))}for(let n of r.peerDependencies.values()){if(n.scope==="types")continue;let u=a(n),A=nA("types",u),p=nn(A);r.peerDependencies.has(A.identHash)||r.peerDependenciesMeta.has(p)||(r.peerDependencies.set(A.identHash,mn(A,"*")),r.peerDependenciesMeta.set(p,{optional:!0}))}return r.dependencies=new Map(Pa(r.dependencies,([,n])=>ba(n))),r.peerDependencies=new Map(Pa(r.peerDependencies,([,n])=>ba(n))),r}getLimit(e){return Df(this.limits,e,()=>(0,ace.default)(this.get(e)))}async triggerHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);!n||await n(...r)}}async triggerMultipleHooks(e,r){for(let o of r)await this.triggerHook(e,...o)}async reduceHook(e,r,...o){let a=r;for(let n of this.plugins.values()){let u=n.hooks;if(!u)continue;let A=e(u);!A||(a=await A(a,...o))}return a}async firstHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);if(!n)continue;let u=await n(...r);if(typeof u<"u")return u}return null}},Xe=Vc;Xe.deleteProperty=Symbol(),Xe.telemetry=null});var Mr={};Yt(Mr,{EndStrategy:()=>aU,ExecError:()=>vx,PipeError:()=>y1,execvp:()=>z4,pipevp:()=>sA});function Qd(t){return t!==null&&typeof t.fd=="number"}function iU(){}function sU(){for(let t of kd)t.kill()}async function sA(t,e,{cwd:r,env:o=process.env,strict:a=!1,stdin:n=null,stdout:u,stderr:A,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":Qd(n)&&(h[0]=n),Qd(u)&&(h[1]=u),Qd(A)&&(h[2]=A);let E=(0,oU.default)(t,e,{cwd:ue.fromPortablePath(r),env:{...o,PWD:ue.fromPortablePath(r)},stdio:h});kd.add(E),kd.size===1&&(process.on("SIGINT",iU),process.on("SIGTERM",sU)),!Qd(n)&&n!==null&&n.pipe(E.stdin),Qd(u)||E.stdout.pipe(u,{end:!1}),Qd(A)||E.stderr.pipe(A,{end:!1});let w=()=>{for(let v of new Set([u,A]))Qd(v)||v.end()};return new Promise((v,b)=>{E.on("error",C=>{kd.delete(E),kd.size===0&&(process.off("SIGINT",iU),process.off("SIGTERM",sU)),(p===2||p===1)&&w(),b(C)}),E.on("close",(C,R)=>{kd.delete(E),kd.size===0&&(process.off("SIGINT",iU),process.off("SIGTERM",sU)),(p===2||p===1&&C!==0)&&w(),C===0||!a?v({code:lU(C,R)}):b(new y1({fileName:t,code:C,signal:R}))})})}async function z4(t,e,{cwd:r,env:o=process.env,encoding:a="utf8",strict:n=!1}){let u=["ignore","pipe","pipe"],A=[],p=[],h=ue.fromPortablePath(r);typeof o.PWD<"u"&&(o={...o,PWD:h});let E=(0,oU.default)(t,e,{cwd:h,env:o,stdio:u});return E.stdout.on("data",w=>{A.push(w)}),E.stderr.on("data",w=>{p.push(w)}),await new Promise((w,v)=>{E.on("error",b=>{let C=Xe.create(r),R=Kt(C,t,Bt.PATH);v(new Vt(1,`Process ${R} failed to spawn`,L=>{L.reportError(1,` ${$u(C,{label:"Thrown Error",value:Gc(Bt.NO_HINT,b.message)})}`)}))}),E.on("close",(b,C)=>{let R=a==="buffer"?Buffer.concat(A):Buffer.concat(A).toString(a),L=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);b===0||!n?w({code:lU(b,C),stdout:R,stderr:L}):v(new vx({fileName:t,code:b,signal:C,stdout:R,stderr:L}))})})}function lU(t,e){let r=xst.get(e);return typeof r<"u"?128+r:t??1}function bst(t,e,{configuration:r,report:o}){o.reportError(1,` ${$u(r,t!==null?{label:"Exit Code",value:Gc(Bt.NUMBER,t)}:{label:"Exit Signal",value:Gc(Bt.CODE,e)})}`)}var oU,aU,y1,vx,kd,xst,yx=dt(()=>{bt();oU=tt(ZR());m1();Xl();Jl();aU=(o=>(o[o.Never=0]="Never",o[o.ErrorCode=1]="ErrorCode",o[o.Always=2]="Always",o))(aU||{}),y1=class extends Vt{constructor({fileName:r,code:o,signal:a}){let n=Xe.create(z.cwd()),u=Kt(n,r,Bt.PATH);super(1,`Child ${u} reported an error`,A=>{bst(o,a,{configuration:n,report:A})});this.code=lU(o,a)}},vx=class extends y1{constructor({fileName:r,code:o,signal:a,stdout:n,stderr:u}){super({fileName:r,code:o,signal:a});this.stdout=n,this.stderr=u}};kd=new Set;xst=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});var kC,cce=dt(()=>{bt();_t();C1();kC=class extends it{constructor(){super(...arguments);this.cwd=fe.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await FC(r,[],{cwd:ue.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}};kC.usage={description:"run a command using yarn's portable shell",details:` |
144 | This command will run a command using Yarn's portable shell. | 144 | This command will run a command using Yarn's portable shell. |
145 | 145 | ||
146 | Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. | 146 | Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. |
@@ -150,124 +150,124 @@ Please report this to https://github.com/szmarczak/http2-wrapper/`);E(R)}return} | |||
150 | Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. | 150 | Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. |
151 | 151 | ||
152 | For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. | 152 | For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. |
153 | `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}});var ol,ice=dt(()=>{ol=class extends Error{constructor(e){super(e),this.name="ShellError"}}});var Cx={};Yt(Cx,{fastGlobOptions:()=>ace,isBraceExpansion:()=>lU,isGlobPattern:()=>Est,match:()=>Cst,micromatchOptions:()=>Ex});function Est(t){if(!yx.default.scan(t,Ex).isGlob)return!1;try{yx.default.parse(t,Ex)}catch{return!1}return!0}function Cst(t,{cwd:e,baseFs:r}){return(0,sce.default)(t,{...ace,cwd:Ae.fromPortablePath(e),fs:fD(oce.default,new Up(r))})}function lU(t){return yx.default.scan(t,Ex).isBrace}var sce,oce,yx,Ex,ace,lce=dt(()=>{bt();sce=tt(pP()),oce=tt(Ie("fs")),yx=tt(Jo()),Ex={strictBrackets:!0},ace={onlyDirectories:!1,onlyFiles:!1}});function cU(){}function uU(){for(let t of bd)t.kill()}function fce(t,e,r,o){return a=>{let n=a[0]instanceof sA.Transform?"pipe":a[0],u=a[1]instanceof sA.Transform?"pipe":a[1],A=a[2]instanceof sA.Transform?"pipe":a[2],p=(0,uce.default)(t,e,{...o,stdio:[n,u,A]});return bd.add(p),bd.size===1&&(process.on("SIGINT",cU),process.on("SIGTERM",uU)),a[0]instanceof sA.Transform&&a[0].pipe(p.stdin),a[1]instanceof sA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof sA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",C=>{switch(bd.delete(p),bd.size===0&&(process.off("SIGINT",cU),process.off("SIGTERM",uU)),C.code){case"ENOENT":a[2].write(`command not found: ${t} | 153 | `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}});var cl,uce=dt(()=>{cl=class extends Error{constructor(e){super(e),this.name="ShellError"}}});var Px={};Yt(Px,{fastGlobOptions:()=>pce,isBraceExpansion:()=>cU,isGlobPattern:()=>Qst,match:()=>kst,micromatchOptions:()=>Sx});function Qst(t){if(!Dx.default.scan(t,Sx).isGlob)return!1;try{Dx.default.parse(t,Sx)}catch{return!1}return!0}function kst(t,{cwd:e,baseFs:r}){return(0,Ace.default)(t,{...pce,cwd:ue.fromPortablePath(e),fs:CD(fce.default,new _p(r))})}function cU(t){return Dx.default.scan(t,Sx).isBrace}var Ace,fce,Dx,Sx,pce,hce=dt(()=>{bt();Ace=tt(EP()),fce=tt(Ie("fs")),Dx=tt(Jo()),Sx={strictBrackets:!0},pce={onlyDirectories:!1,onlyFiles:!1}});function uU(){}function AU(){for(let t of Fd)t.kill()}function yce(t,e,r,o){return a=>{let n=a[0]instanceof oA.Transform?"pipe":a[0],u=a[1]instanceof oA.Transform?"pipe":a[1],A=a[2]instanceof oA.Transform?"pipe":a[2],p=(0,dce.default)(t,e,{...o,stdio:[n,u,A]});return Fd.add(p),Fd.size===1&&(process.on("SIGINT",uU),process.on("SIGTERM",AU)),a[0]instanceof oA.Transform&&a[0].pipe(p.stdin),a[1]instanceof oA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof oA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",E=>{switch(Fd.delete(p),Fd.size===0&&(process.off("SIGINT",uU),process.off("SIGTERM",AU)),E.code){case"ENOENT":a[2].write(`command not found: ${t} |
154 | `),h(127);break;case"EACCES":a[2].write(`permission denied: ${t} | 154 | `),h(127);break;case"EACCES":a[2].write(`permission denied: ${t} |
155 | `),h(128);break;default:a[2].write(`uncaught error: ${C.message} | 155 | `),h(128);break;default:a[2].write(`uncaught error: ${E.message} |
156 | `),h(1);break}}),p.on("close",C=>{bd.delete(p),bd.size===0&&(process.off("SIGINT",cU),process.off("SIGTERM",uU)),h(C!==null?C:129)})})}}}function pce(t){return e=>{let r=e[0]==="pipe"?new sA.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}function Ix(t,e){return xE.start(t,e)}function cce(t,e=null){let r=new sA.PassThrough,o=new Ace.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` | 156 | `),h(1);break}}),p.on("close",E=>{Fd.delete(p),Fd.size===0&&(process.off("SIGINT",uU),process.off("SIGTERM",AU)),h(E!==null?E:129)})})}}}function Cce(t){return e=>{let r=e[0]==="pipe"?new oA.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}function xx(t,e){return RC.start(t,e)}function gce(t,e=null){let r=new oA.PassThrough,o=new mce.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` |
157 | `),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",t(e!==null?`${e} ${p}`:p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&t(e!==null?`${e} ${n}`:n)}),r}function hce(t,{prefix:e}){return{stdout:cce(r=>t.stdout.write(`${r} | 157 | `),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",t(e!==null?`${e} ${p}`:p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&t(e!==null?`${e} ${n}`:n)}),r}function Ece(t,{prefix:e}){return{stdout:gce(r=>t.stdout.write(`${r} |
158 | `),t.stdout.isTTY?e:null),stderr:cce(r=>t.stderr.write(`${r} | 158 | `),t.stdout.isTTY?e:null),stderr:gce(r=>t.stderr.write(`${r} |
159 | `),t.stderr.isTTY?e:null)}}var uce,sA,Ace,bd,Zl,AU,xE,fU=dt(()=>{uce=tt(XR()),sA=Ie("stream"),Ace=Ie("string_decoder"),bd=new Set;Zl=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},AU=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},xE=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:o,stderr:a}){let n=new xE(null,e);return n.stdin=r,n.stdout=o,n.stderr=a,n}pipeTo(e,r=1){let o=new xE(this,e),a=new AU;return o.pipe=a,o.stdout=this.stdout,o.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),o}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let o;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");o=this.stderr,e[2]=o.get();let a=this.implementation(e);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),o.close(),n))}async run(){let e=[];for(let o=this;o;o=o.ancestor)e.push(o.exec());return(await Promise.all(e))[0]}}});var E1={};Yt(E1,{EntryCommand:()=>SE,ShellError:()=>ol,execute:()=>PE,globUtils:()=>Cx});function gce(t,e,r){let o=new al.PassThrough({autoDestroy:!0});switch(t){case 0:(e&1)===1&&r.stdin.pipe(o,{end:!1}),(e&2)===2&&r.stdin instanceof al.Writable&&o.pipe(r.stdin,{end:!1});break;case 1:(e&1)===1&&r.stdout.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stdout,{end:!1});break;case 2:(e&1)===1&&r.stderr.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stderr,{end:!1});break;default:throw new ol(`Bad file descriptor: "${t}"`)}return o}function Bx(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}async function Bst(t,e,r){let o=[],a=new al.PassThrough;return a.on("data",n=>o.push(n)),await vx(t,e,Bx(r,{stdout:a})),Buffer.concat(o).toString().replace(/[\r\n]+$/,"")}async function dce(t,e,r){let o=t.map(async n=>{let u=await Qd(n.args,e,r);return{name:n.name,value:u.join(" ")}});return(await Promise.all(o)).reduce((n,u)=>(n[u.name]=u.value,n),{})}function wx(t){return t.match(/[^ \r\n\t]+/g)||[]}async function wce(t,e,r,o,a=o){switch(t.name){case"$":o(String(process.pid));break;case"#":o(String(e.args.length));break;case"@":if(t.quoted)for(let n of e.args)a(n);else for(let n of e.args){let u=wx(n);for(let A=0;A<u.length-1;++A)a(u[A]);o(u[u.length-1])}break;case"*":{let n=e.args.join(" ");if(t.quoted)o(n);else for(let u of wx(n))a(u)}break;case"PPID":o(String(process.ppid));break;case"RANDOM":o(String(Math.floor(Math.random()*32768)));break;default:{let n=parseInt(t.name,10),u,A=Number.isFinite(n);if(A?n>=0&&n<e.args.length&&(u=e.args[n]):Object.prototype.hasOwnProperty.call(r.variables,t.name)?u=r.variables[t.name]:Object.prototype.hasOwnProperty.call(r.environment,t.name)&&(u=r.environment[t.name]),typeof u<"u"&&t.alternativeValue?u=(await Qd(t.alternativeValue,e,r)).join(" "):typeof u>"u"&&(t.defaultValue?u=(await Qd(t.defaultValue,e,r)).join(" "):t.alternativeValue&&(u="")),typeof u>"u")throw A?new ol(`Unbound argument #${n}`):new ol(`Unbound variable "${t.name}"`);if(t.quoted)o(u);else{let p=wx(u);for(let C=0;C<p.length-1;++C)a(p[C]);let h=p[p.length-1];typeof h<"u"&&o(h)}}break}}async function d1(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let o=[];await wce({...t,quoted:!0},e,r,n=>o.push(n));let a=Number(o.join(" "));return Number.isNaN(a)?d1({type:"variable",name:o.join(" ")},e,r):d1({type:"number",value:a},e,r)}else return vst[t.type](await d1(t.left,e,r),await d1(t.right,e,r))}async function Qd(t,e,r){let o=new Map,a=[],n=[],u=C=>{n.push(C)},A=()=>{n.length>0&&a.push(n.join("")),n=[]},p=C=>{u(C),A()},h=(C,w,v)=>{let b=JSON.stringify({type:C,fd:w}),E=o.get(b);typeof E>"u"&&o.set(b,E=[]),E.push(v)};for(let C of t){let w=!1;switch(C.type){case"redirection":{let v=await Qd(C.args,e,r);for(let b of v)h(C.subtype,C.fd,b)}break;case"argument":for(let v of C.segments)switch(v.type){case"text":u(v.text);break;case"glob":u(v.pattern),w=!0;break;case"shell":{let b=await Bst(v.shell,e,r);if(v.quoted)u(b);else{let E=wx(b);for(let R=0;R<E.length-1;++R)p(E[R]);u(E[E.length-1])}}break;case"variable":await wce(v,e,r,u,p);break;case"arithmetic":u(String(await d1(v.arithmetic,e,r)));break}break}if(A(),w){let v=a.pop();if(typeof v>"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let b=await e.glob.match(v,{cwd:r.cwd,baseFs:e.baseFs});if(b.length===0){let E=lU(v)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new ol(`No matches found: "${v}"${E}`)}for(let E of b.sort())p(E)}}if(o.size>0){let C=[];for(let[w,v]of o.entries())C.splice(C.length,0,w,String(v.length),...v);a.splice(0,0,"__ysh_set_redirects",...C,"--")}return a}function m1(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let o=Ae.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:o});let[n,...u]=t;if(n==="command")return fce(u[0],u.slice(1),e,{cwd:o,env:a});let A=e.builtins.get(n);if(typeof A>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return pce(async({stdin:p,stdout:h,stderr:C})=>{let{stdin:w,stdout:v,stderr:b}=r;r.stdin=p,r.stdout=h,r.stderr=C;try{return await A(u,e,r)}finally{r.stdin=w,r.stdout=v,r.stderr=b}})}function Dst(t,e,r){return o=>{let a=new al.PassThrough,n=vx(t,e,Bx(r,{stdin:a}));return{stdin:a,promise:n}}}function Sst(t,e,r){return o=>{let a=new al.PassThrough,n=vx(t,e,r);return{stdin:a,promise:n}}}function mce(t,e,r,o){if(e.length===0)return t;{let a;do a=String(Math.random());while(Object.prototype.hasOwnProperty.call(o.procedures,a));return o.procedures={...o.procedures},o.procedures[a]=t,m1([...e,"__ysh_run_procedure",a],r,o)}}async function yce(t,e,r){let o=t,a=null,n=null;for(;o;){let u=o.then?{...r}:r,A;switch(o.type){case"command":{let p=await Qd(o.args,e,r),h=await dce(o.envs,e,r);A=o.envs.length?m1(p,e,Bx(u,{environment:h})):m1(p,e,u)}break;case"subshell":{let p=await Qd(o.args,e,r),h=Dst(o.subshell,e,u);A=mce(h,p,e,u)}break;case"group":{let p=await Qd(o.args,e,r),h=Sst(o.group,e,u);A=mce(h,p,e,u)}break;case"envs":{let p=await dce(o.envs,e,r);u.environment={...u.environment,...p},A=m1(["true"],e,u)}break}if(typeof A>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=Ix(A,{stdin:new Zl(u.stdin),stdout:new Zl(u.stdout),stderr:new Zl(u.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(A,1);break;case"|&":n=n.pipeTo(A,3);break}}o.then?(a=o.then.type,o=o.then.chain):o=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function Pst(t,e,r,{background:o=!1}={}){function a(n){let u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[n%u.length];return Ece.default.hex(A)}if(o){let n=r.nextBackgroundJobIndex++,u=a(n),A=`[${n}]`,p=u(A),{stdout:h,stderr:C}=hce(r,{prefix:p});return r.backgroundJobs.push(yce(t,e,Bx(r,{stdout:h,stderr:C})).catch(w=>C.write(`${w.message} | 159 | `),t.stderr.isTTY?e:null)}}var dce,oA,mce,Fd,tc,fU,RC,pU=dt(()=>{dce=tt(ZR()),oA=Ie("stream"),mce=Ie("string_decoder"),Fd=new Set;tc=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},fU=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},RC=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:o,stderr:a}){let n=new RC(null,e);return n.stdin=r,n.stdout=o,n.stderr=a,n}pipeTo(e,r=1){let o=new RC(this,e),a=new fU;return o.pipe=a,o.stdout=this.stdout,o.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),o}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let o;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");o=this.stderr,e[2]=o.get();let a=this.implementation(e);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),o.close(),n))}async run(){let e=[];for(let o=this;o;o=o.ancestor)e.push(o.exec());return(await Promise.all(e))[0]}}});var B1={};Yt(B1,{EntryCommand:()=>kC,ShellError:()=>cl,execute:()=>FC,globUtils:()=>Px});function Ice(t,e,r){let o=new ul.PassThrough({autoDestroy:!0});switch(t){case 0:(e&1)===1&&r.stdin.pipe(o,{end:!1}),(e&2)===2&&r.stdin instanceof ul.Writable&&o.pipe(r.stdin,{end:!1});break;case 1:(e&1)===1&&r.stdout.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stdout,{end:!1});break;case 2:(e&1)===1&&r.stderr.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stderr,{end:!1});break;default:throw new cl(`Bad file descriptor: "${t}"`)}return o}function Qx(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}async function Tst(t,e,r){let o=[],a=new ul.PassThrough;return a.on("data",n=>o.push(n)),await kx(t,e,Qx(r,{stdout:a})),Buffer.concat(o).toString().replace(/[\r\n]+$/,"")}async function wce(t,e,r){let o=t.map(async n=>{let u=await Rd(n.args,e,r);return{name:n.name,value:u.join(" ")}});return(await Promise.all(o)).reduce((n,u)=>(n[u.name]=u.value,n),{})}function bx(t){return t.match(/[^ \r\n\t]+/g)||[]}async function xce(t,e,r,o,a=o){switch(t.name){case"$":o(String(process.pid));break;case"#":o(String(e.args.length));break;case"@":if(t.quoted)for(let n of e.args)a(n);else for(let n of e.args){let u=bx(n);for(let A=0;A<u.length-1;++A)a(u[A]);o(u[u.length-1])}break;case"*":{let n=e.args.join(" ");if(t.quoted)o(n);else for(let u of bx(n))a(u)}break;case"PPID":o(String(process.ppid));break;case"RANDOM":o(String(Math.floor(Math.random()*32768)));break;default:{let n=parseInt(t.name,10),u,A=Number.isFinite(n);if(A?n>=0&&n<e.args.length&&(u=e.args[n]):Object.prototype.hasOwnProperty.call(r.variables,t.name)?u=r.variables[t.name]:Object.prototype.hasOwnProperty.call(r.environment,t.name)&&(u=r.environment[t.name]),typeof u<"u"&&t.alternativeValue?u=(await Rd(t.alternativeValue,e,r)).join(" "):typeof u>"u"&&(t.defaultValue?u=(await Rd(t.defaultValue,e,r)).join(" "):t.alternativeValue&&(u="")),typeof u>"u")throw A?new cl(`Unbound argument #${n}`):new cl(`Unbound variable "${t.name}"`);if(t.quoted)o(u);else{let p=bx(u);for(let E=0;E<p.length-1;++E)a(p[E]);let h=p[p.length-1];typeof h<"u"&&o(h)}}break}}async function E1(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let o=[];await xce({...t,quoted:!0},e,r,n=>o.push(n));let a=Number(o.join(" "));return Number.isNaN(a)?E1({type:"variable",name:o.join(" ")},e,r):E1({type:"number",value:a},e,r)}else return Nst[t.type](await E1(t.left,e,r),await E1(t.right,e,r))}async function Rd(t,e,r){let o=new Map,a=[],n=[],u=E=>{n.push(E)},A=()=>{n.length>0&&a.push(n.join("")),n=[]},p=E=>{u(E),A()},h=(E,w,v)=>{let b=JSON.stringify({type:E,fd:w}),C=o.get(b);typeof C>"u"&&o.set(b,C=[]),C.push(v)};for(let E of t){let w=!1;switch(E.type){case"redirection":{let v=await Rd(E.args,e,r);for(let b of v)h(E.subtype,E.fd,b)}break;case"argument":for(let v of E.segments)switch(v.type){case"text":u(v.text);break;case"glob":u(v.pattern),w=!0;break;case"shell":{let b=await Tst(v.shell,e,r);if(v.quoted)u(b);else{let C=bx(b);for(let R=0;R<C.length-1;++R)p(C[R]);u(C[C.length-1])}}break;case"variable":await xce(v,e,r,u,p);break;case"arithmetic":u(String(await E1(v.arithmetic,e,r)));break}break}if(A(),w){let v=a.pop();if(typeof v>"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let b=await e.glob.match(v,{cwd:r.cwd,baseFs:e.baseFs});if(b.length===0){let C=cU(v)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new cl(`No matches found: "${v}"${C}`)}for(let C of b.sort())p(C)}}if(o.size>0){let E=[];for(let[w,v]of o.entries())E.splice(E.length,0,w,String(v.length),...v);a.splice(0,0,"__ysh_set_redirects",...E,"--")}return a}function I1(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let o=ue.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:o});let[n,...u]=t;if(n==="command")return yce(u[0],u.slice(1),e,{cwd:o,env:a});let A=e.builtins.get(n);if(typeof A>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return Cce(async({stdin:p,stdout:h,stderr:E})=>{let{stdin:w,stdout:v,stderr:b}=r;r.stdin=p,r.stdout=h,r.stderr=E;try{return await A(u,e,r)}finally{r.stdin=w,r.stdout=v,r.stderr=b}})}function Lst(t,e,r){return o=>{let a=new ul.PassThrough,n=kx(t,e,Qx(r,{stdin:a}));return{stdin:a,promise:n}}}function Ost(t,e,r){return o=>{let a=new ul.PassThrough,n=kx(t,e,r);return{stdin:a,promise:n}}}function Bce(t,e,r,o){if(e.length===0)return t;{let a;do a=String(Math.random());while(Object.prototype.hasOwnProperty.call(o.procedures,a));return o.procedures={...o.procedures},o.procedures[a]=t,I1([...e,"__ysh_run_procedure",a],r,o)}}async function vce(t,e,r){let o=t,a=null,n=null;for(;o;){let u=o.then?{...r}:r,A;switch(o.type){case"command":{let p=await Rd(o.args,e,r),h=await wce(o.envs,e,r);A=o.envs.length?I1(p,e,Qx(u,{environment:h})):I1(p,e,u)}break;case"subshell":{let p=await Rd(o.args,e,r),h=Lst(o.subshell,e,u);A=Bce(h,p,e,u)}break;case"group":{let p=await Rd(o.args,e,r),h=Ost(o.group,e,u);A=Bce(h,p,e,u)}break;case"envs":{let p=await wce(o.envs,e,r);u.environment={...u.environment,...p},A=I1(["true"],e,u)}break}if(typeof A>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=xx(A,{stdin:new tc(u.stdin),stdout:new tc(u.stdout),stderr:new tc(u.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(A,1);break;case"|&":n=n.pipeTo(A,3);break}}o.then?(a=o.then.type,o=o.then.chain):o=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function Mst(t,e,r,{background:o=!1}={}){function a(n){let u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[n%u.length];return Dce.default.hex(A)}if(o){let n=r.nextBackgroundJobIndex++,u=a(n),A=`[${n}]`,p=u(A),{stdout:h,stderr:E}=Ece(r,{prefix:p});return r.backgroundJobs.push(vce(t,e,Qx(r,{stdout:h,stderr:E})).catch(w=>E.write(`${w.message} |
160 | `)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${u(ly(t))}' has ended | 160 | `)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${u(py(t))}' has ended |
161 | `)})),0}return await yce(t,e,r)}async function xst(t,e,r,{background:o=!1}={}){let a,n=A=>{a=A,r.variables["?"]=String(A)},u=async A=>{try{return await Pst(A.chain,e,r,{background:o&&typeof A.then>"u"})}catch(p){if(!(p instanceof ol))throw p;return r.stderr.write(`${p.message} | 161 | `)})),0}return await vce(t,e,r)}async function Ust(t,e,r,{background:o=!1}={}){let a,n=A=>{a=A,r.variables["?"]=String(A)},u=async A=>{try{return await Mst(A.chain,e,r,{background:o&&typeof A.then>"u"})}catch(p){if(!(p instanceof cl))throw p;return r.stderr.write(`${p.message} |
162 | `),1}};for(n(await u(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":a===0&&n(await u(t.then.line));break;case"||":a!==0&&n(await u(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return a}async function vx(t,e,r){let o=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:u}of t){if(a=await xst(n,e,r,{background:u==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=o,a}function Bce(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>y1(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>y1(e));case"arithmetic":return pU(t.arithmetic);case"shell":return hU(t.shell);default:return!1}}function y1(t){switch(t.type){case"redirection":return t.args.some(e=>y1(e));case"argument":return t.segments.some(e=>Bce(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function pU(t){switch(t.type){case"variable":return Bce(t);case"number":return!1;default:return pU(t.left)||pU(t.right)}}function hU(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let o;switch(r.type){case"subshell":o=hU(r.subshell);break;case"command":o=r.envs.some(a=>a.args.some(n=>y1(n)))||r.args.some(a=>y1(a));break}if(o)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function PE(t,e=[],{baseFs:r=new xn,builtins:o={},cwd:a=Ae.toPortablePath(process.cwd()),env:n=process.env,stdin:u=process.stdin,stdout:A=process.stdout,stderr:p=process.stderr,variables:h={},glob:C=Cx}={}){let w={};for(let[E,R]of Object.entries(n))typeof R<"u"&&(w[E]=R);let v=new Map(wst);for(let[E,R]of Object.entries(o))v.set(E,R);u===null&&(u=new al.PassThrough,u.end());let b=yD(t,C);if(!hU(b)&&b.length>0&&e.length>0){let{command:E}=b[b.length-1];for(;E.then;)E=E.then.line;let R=E.chain;for(;R.then;)R=R.then.chain;R.type==="command"&&(R.args=R.args.concat(e.map(L=>({type:"argument",segments:[{type:"text",text:L}]}))))}return await vx(b,{args:e,baseFs:r,builtins:v,initialStdin:u,initialStdout:A,initialStderr:p,glob:C},{cwd:a,environment:w,exitCode:null,procedures:{},stdin:u,stdout:A,stderr:p,variables:Object.assign({},h,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var Ece,Cce,al,Ice,Ist,wst,vst,g1=dt(()=>{bt();Ol();Ece=tt(gN()),Cce=Ie("os"),al=Ie("stream"),Ice=Ie("util");nce();ice();lce();fU();fU();Ist=(0,Ice.promisify)(setTimeout);wst=new Map([["cd",async([t=(0,Cce.homedir)(),...e],r,o)=>{let a=V.resolve(o.cwd,Ae.toPortablePath(t));if(!(await r.baseFs.statPromise(a).catch(u=>{throw u.code==="ENOENT"?new ol(`cd: no such file or directory: ${t}`):u})).isDirectory())throw new ol(`cd: not a directory: ${t}`);return o.cwd=a,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${Ae.fromPortablePath(r.cwd)} | 162 | `),1}};for(n(await u(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":a===0&&n(await u(t.then.line));break;case"||":a!==0&&n(await u(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return a}async function kx(t,e,r){let o=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:u}of t){if(a=await Ust(n,e,r,{background:u==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=o,a}function bce(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>w1(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>w1(e));case"arithmetic":return hU(t.arithmetic);case"shell":return gU(t.shell);default:return!1}}function w1(t){switch(t.type){case"redirection":return t.args.some(e=>w1(e));case"argument":return t.segments.some(e=>bce(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function hU(t){switch(t.type){case"variable":return bce(t);case"number":return!1;default:return hU(t.left)||hU(t.right)}}function gU(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let o;switch(r.type){case"subshell":o=gU(r.subshell);break;case"command":o=r.envs.some(a=>a.args.some(n=>w1(n)))||r.args.some(a=>w1(a));break}if(o)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function FC(t,e=[],{baseFs:r=new xn,builtins:o={},cwd:a=ue.toPortablePath(process.cwd()),env:n=process.env,stdin:u=process.stdin,stdout:A=process.stdout,stderr:p=process.stderr,variables:h={},glob:E=Px}={}){let w={};for(let[C,R]of Object.entries(n))typeof R<"u"&&(w[C]=R);let v=new Map(Rst);for(let[C,R]of Object.entries(o))v.set(C,R);u===null&&(u=new ul.PassThrough,u.end());let b=DD(t,E);if(!gU(b)&&b.length>0&&e.length>0){let{command:C}=b[b.length-1];for(;C.then;)C=C.then.line;let R=C.chain;for(;R.then;)R=R.then.chain;R.type==="command"&&(R.args=R.args.concat(e.map(L=>({type:"argument",segments:[{type:"text",text:L}]}))))}return await kx(b,{args:e,baseFs:r,builtins:v,initialStdin:u,initialStdout:A,initialStderr:p,glob:E},{cwd:a,environment:w,exitCode:null,procedures:{},stdin:u,stdout:A,stderr:p,variables:Object.assign({},h,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var Dce,Sce,ul,Pce,Fst,Rst,Nst,C1=dt(()=>{bt();_l();Dce=tt(dN()),Sce=Ie("os"),ul=Ie("stream"),Pce=Ie("util");cce();uce();hce();pU();pU();Fst=(0,Pce.promisify)(setTimeout);Rst=new Map([["cd",async([t=(0,Sce.homedir)(),...e],r,o)=>{let a=z.resolve(o.cwd,ue.toPortablePath(t));if(!(await r.baseFs.statPromise(a).catch(u=>{throw u.code==="ENOENT"?new cl(`cd: no such file or directory: ${t}`):u})).isDirectory())throw new cl(`cd: not a directory: ${t}`);return o.cwd=a,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${ue.fromPortablePath(r.cwd)} |
163 | `),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,o)=>o.exitCode=parseInt(t??o.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} | 163 | `),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,o)=>o.exitCode=parseInt(t??o.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} |
164 | `),0)],["sleep",async([t],e,r)=>{if(typeof t>"u")throw new ol("sleep: missing operand");let o=Number(t);if(Number.isNaN(o))throw new ol(`sleep: invalid time interval '${t}'`);return await Ist(1e3*o,0)}],["__ysh_run_procedure",async(t,e,r)=>{let o=r.procedures[t[0]];return await Ix(o,{stdin:new Zl(r.stdin),stdout:new Zl(r.stdout),stderr:new Zl(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let o=r.stdin,a=r.stdout,n=r.stderr,u=[],A=[],p=[],h=0;for(;t[h]!=="--";){let w=t[h++],{type:v,fd:b}=JSON.parse(w),E=J=>{switch(b){case null:case 0:u.push(J);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},R=J=>{switch(b){case null:case 1:A.push(J);break;case 2:p.push(J);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},L=Number(t[h++]),_=h+L;for(let J=h;J<_;++h,++J)switch(v){case"<":E(()=>e.baseFs.createReadStream(V.resolve(r.cwd,Ae.toPortablePath(t[J]))));break;case"<<<":E(()=>{let re=new al.PassThrough;return process.nextTick(()=>{re.write(`${t[J]} | 164 | `),0)],["sleep",async([t],e,r)=>{if(typeof t>"u")throw new cl("sleep: missing operand");let o=Number(t);if(Number.isNaN(o))throw new cl(`sleep: invalid time interval '${t}'`);return await Fst(1e3*o,0)}],["__ysh_run_procedure",async(t,e,r)=>{let o=r.procedures[t[0]];return await xx(o,{stdin:new tc(r.stdin),stdout:new tc(r.stdout),stderr:new tc(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let o=r.stdin,a=r.stdout,n=r.stderr,u=[],A=[],p=[],h=0;for(;t[h]!=="--";){let w=t[h++],{type:v,fd:b}=JSON.parse(w),C=V=>{switch(b){case null:case 0:u.push(V);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},R=V=>{switch(b){case null:case 1:A.push(V);break;case 2:p.push(V);break;default:throw new Error(`Unsupported file descriptor: "${b}"`)}},L=Number(t[h++]),_=h+L;for(let V=h;V<_;++h,++V)switch(v){case"<":C(()=>e.baseFs.createReadStream(z.resolve(r.cwd,ue.toPortablePath(t[V]))));break;case"<<<":C(()=>{let re=new ul.PassThrough;return process.nextTick(()=>{re.write(`${t[V]} |
165 | `),re.end()}),re});break;case"<&":E(()=>gce(Number(t[J]),1,r));break;case">":case">>":{let re=V.resolve(r.cwd,Ae.toPortablePath(t[J]));R(re==="/dev/null"?new al.Writable({autoDestroy:!0,emitClose:!0,write(oe,pe,he){setImmediate(he)}}):e.baseFs.createWriteStream(re,v===">>"?{flags:"a"}:void 0))}break;case">&":R(gce(Number(t[J]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${v}"`)}}if(u.length>0){let w=new al.PassThrough;o=w;let v=b=>{if(b===u.length)w.end();else{let E=u[b]();E.pipe(w,{end:!1}),E.on("end",()=>{v(b+1)})}};v(0)}if(A.length>0){let w=new al.PassThrough;a=w;for(let v of A)w.pipe(v)}if(p.length>0){let w=new al.PassThrough;n=w;for(let v of p)w.pipe(v)}let C=await Ix(m1(t.slice(h+1),e,r),{stdin:new Zl(o),stdout:new Zl(a),stderr:new Zl(n)}).run();return await Promise.all(A.map(w=>new Promise((v,b)=>{w.on("error",E=>{b(E)}),w.on("close",()=>{v()}),w.end()}))),await Promise.all(p.map(w=>new Promise((v,b)=>{w.on("error",E=>{b(E)}),w.on("close",()=>{v()}),w.end()}))),C}]]);vst={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)}});var Dx=U((VOt,vce)=>{function bst(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r<o;)a[r]=e(t[r],r,t);return a}vce.exports=bst});var Qce=U((zOt,bce)=>{var Dce=cd(),Qst=Dx(),kst=jl(),Fst=oE(),Rst=1/0,Sce=Dce?Dce.prototype:void 0,Pce=Sce?Sce.toString:void 0;function xce(t){if(typeof t=="string")return t;if(kst(t))return Qst(t,xce)+"";if(Fst(t))return Pce?Pce.call(t):"";var e=t+"";return e=="0"&&1/t==-Rst?"-0":e}bce.exports=xce});var C1=U((XOt,kce)=>{var Tst=Qce();function Nst(t){return t==null?"":Tst(t)}kce.exports=Nst});var gU=U((ZOt,Fce)=>{function Lst(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var n=Array(a);++o<a;)n[o]=t[o+e];return n}Fce.exports=Lst});var Tce=U(($Ot,Rce)=>{var Ost=gU();function Mst(t,e,r){var o=t.length;return r=r===void 0?o:r,!e&&r>=o?t:Ost(t,e,r)}Rce.exports=Mst});var dU=U((eMt,Nce)=>{var Ust="\\ud800-\\udfff",_st="\\u0300-\\u036f",Hst="\\ufe20-\\ufe2f",qst="\\u20d0-\\u20ff",jst=_st+Hst+qst,Gst="\\ufe0e\\ufe0f",Wst="\\u200d",Yst=RegExp("["+Wst+Ust+jst+Gst+"]");function Kst(t){return Yst.test(t)}Nce.exports=Kst});var Oce=U((tMt,Lce)=>{function Jst(t){return t.split("")}Lce.exports=Jst});var Wce=U((rMt,Gce)=>{var Mce="\\ud800-\\udfff",Vst="\\u0300-\\u036f",zst="\\ufe20-\\ufe2f",Xst="\\u20d0-\\u20ff",Zst=Vst+zst+Xst,$st="\\ufe0e\\ufe0f",eot="["+Mce+"]",mU="["+Zst+"]",yU="\\ud83c[\\udffb-\\udfff]",tot="(?:"+mU+"|"+yU+")",Uce="[^"+Mce+"]",_ce="(?:\\ud83c[\\udde6-\\uddff]){2}",Hce="[\\ud800-\\udbff][\\udc00-\\udfff]",rot="\\u200d",qce=tot+"?",jce="["+$st+"]?",not="(?:"+rot+"(?:"+[Uce,_ce,Hce].join("|")+")"+jce+qce+")*",iot=jce+qce+not,sot="(?:"+[Uce+mU+"?",mU,_ce,Hce,eot].join("|")+")",oot=RegExp(yU+"(?="+yU+")|"+sot+iot,"g");function aot(t){return t.match(oot)||[]}Gce.exports=aot});var Kce=U((nMt,Yce)=>{var lot=Oce(),cot=dU(),uot=Wce();function Aot(t){return cot(t)?uot(t):lot(t)}Yce.exports=Aot});var Vce=U((iMt,Jce)=>{var fot=Tce(),pot=dU(),hot=Kce(),got=C1();function dot(t){return function(e){e=got(e);var r=pot(e)?hot(e):void 0,o=r?r[0]:e.charAt(0),a=r?fot(r,1).join(""):e.slice(1);return o[t]()+a}}Jce.exports=dot});var Xce=U((sMt,zce)=>{var mot=Vce(),yot=mot("toUpperCase");zce.exports=yot});var EU=U((oMt,Zce)=>{var Eot=C1(),Cot=Xce();function Iot(t){return Cot(Eot(t).toLowerCase())}Zce.exports=Iot});var $ce=U((aMt,Sx)=>{function wot(){var t=0,e=1,r=2,o=3,a=4,n=5,u=6,A=7,p=8,h=9,C=10,w=11,v=12,b=13,E=14,R=15,L=16,_=17,J=0,re=1,oe=2,pe=3,he=4;function ve(g,De){return 55296<=g.charCodeAt(De)&&g.charCodeAt(De)<=56319&&56320<=g.charCodeAt(De+1)&&g.charCodeAt(De+1)<=57343}function ge(g,De){De===void 0&&(De=0);var Ee=g.charCodeAt(De);if(55296<=Ee&&Ee<=56319&&De<g.length-1){var de=Ee,ne=g.charCodeAt(De+1);return 56320<=ne&&ne<=57343?(de-55296)*1024+(ne-56320)+65536:de}if(56320<=Ee&&Ee<=57343&&De>=1){var de=g.charCodeAt(De-1),ne=Ee;return 55296<=de&&de<=56319?(de-55296)*1024+(ne-56320)+65536:ne}return Ee}function le(g,De,Ee){var de=[g].concat(De).concat([Ee]),ne=de[de.length-2],Z=Ee,me=de.lastIndexOf(E);if(me>1&&de.slice(1,me).every(function(H){return H==o})&&[o,b,_].indexOf(g)==-1)return oe;var be=de.lastIndexOf(a);if(be>0&&de.slice(1,be).every(function(H){return H==a})&&[v,a].indexOf(ne)==-1)return de.filter(function(H){return H==a}).length%2==1?pe:he;if(ne==t&&Z==e)return J;if(ne==r||ne==t||ne==e)return Z==E&&De.every(function(H){return H==o})?oe:re;if(Z==r||Z==t||Z==e)return re;if(ne==u&&(Z==u||Z==A||Z==h||Z==C))return J;if((ne==h||ne==A)&&(Z==A||Z==p))return J;if((ne==C||ne==p)&&Z==p)return J;if(Z==o||Z==R)return J;if(Z==n)return J;if(ne==v)return J;var ut=de.indexOf(o)!=-1?de.lastIndexOf(o)-1:de.length-2;return[b,_].indexOf(de[ut])!=-1&&de.slice(ut+1,-1).every(function(H){return H==o})&&Z==E||ne==R&&[L,_].indexOf(Z)!=-1?J:De.indexOf(a)!=-1?oe:ne==a&&Z==a?J:re}this.nextBreak=function(g,De){if(De===void 0&&(De=0),De<0)return 0;if(De>=g.length-1)return g.length;for(var Ee=Pe(ge(g,De)),de=[],ne=De+1;ne<g.length;ne++)if(!ve(g,ne-1)){var Z=Pe(ge(g,ne));if(le(Ee,de,Z))return ne;de.push(Z)}return g.length},this.splitGraphemes=function(g){for(var De=[],Ee=0,de;(de=this.nextBreak(g,Ee))<g.length;)De.push(g.slice(Ee,de)),Ee=de;return Ee<g.length&&De.push(g.slice(Ee)),De},this.iterateGraphemes=function(g){var De=0,Ee={next:function(){var de,ne;return(ne=this.nextBreak(g,De))<g.length?(de=g.slice(De,ne),De=ne,{value:de,done:!1}):De<g.length?(de=g.slice(De),De=g.length,{value:de,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(Ee[Symbol.iterator]=function(){return Ee}),Ee},this.countGraphemes=function(g){for(var De=0,Ee=0,de;(de=this.nextBreak(g,Ee))<g.length;)Ee=de,De++;return Ee<g.length&&De++,De};function Pe(g){return 1536<=g&&g<=1541||g==1757||g==1807||g==2274||g==3406||g==69821||70082<=g&&g<=70083||g==72250||72326<=g&&g<=72329||g==73030?v:g==13?t:g==10?e:0<=g&&g<=9||11<=g&&g<=12||14<=g&&g<=31||127<=g&&g<=159||g==173||g==1564||g==6158||g==8203||8206<=g&&g<=8207||g==8232||g==8233||8234<=g&&g<=8238||8288<=g&&g<=8292||g==8293||8294<=g&&g<=8303||55296<=g&&g<=57343||g==65279||65520<=g&&g<=65528||65529<=g&&g<=65531||113824<=g&&g<=113827||119155<=g&&g<=119162||g==917504||g==917505||917506<=g&&g<=917535||917632<=g&&g<=917759||918e3<=g&&g<=921599?r:768<=g&&g<=879||1155<=g&&g<=1159||1160<=g&&g<=1161||1425<=g&&g<=1469||g==1471||1473<=g&&g<=1474||1476<=g&&g<=1477||g==1479||1552<=g&&g<=1562||1611<=g&&g<=1631||g==1648||1750<=g&&g<=1756||1759<=g&&g<=1764||1767<=g&&g<=1768||1770<=g&&g<=1773||g==1809||1840<=g&&g<=1866||1958<=g&&g<=1968||2027<=g&&g<=2035||2070<=g&&g<=2073||2075<=g&&g<=2083||2085<=g&&g<=2087||2089<=g&&g<=2093||2137<=g&&g<=2139||2260<=g&&g<=2273||2275<=g&&g<=2306||g==2362||g==2364||2369<=g&&g<=2376||g==2381||2385<=g&&g<=2391||2402<=g&&g<=2403||g==2433||g==2492||g==2494||2497<=g&&g<=2500||g==2509||g==2519||2530<=g&&g<=2531||2561<=g&&g<=2562||g==2620||2625<=g&&g<=2626||2631<=g&&g<=2632||2635<=g&&g<=2637||g==2641||2672<=g&&g<=2673||g==2677||2689<=g&&g<=2690||g==2748||2753<=g&&g<=2757||2759<=g&&g<=2760||g==2765||2786<=g&&g<=2787||2810<=g&&g<=2815||g==2817||g==2876||g==2878||g==2879||2881<=g&&g<=2884||g==2893||g==2902||g==2903||2914<=g&&g<=2915||g==2946||g==3006||g==3008||g==3021||g==3031||g==3072||3134<=g&&g<=3136||3142<=g&&g<=3144||3146<=g&&g<=3149||3157<=g&&g<=3158||3170<=g&&g<=3171||g==3201||g==3260||g==3263||g==3266||g==3270||3276<=g&&g<=3277||3285<=g&&g<=3286||3298<=g&&g<=3299||3328<=g&&g<=3329||3387<=g&&g<=3388||g==3390||3393<=g&&g<=3396||g==3405||g==3415||3426<=g&&g<=3427||g==3530||g==3535||3538<=g&&g<=3540||g==3542||g==3551||g==3633||3636<=g&&g<=3642||3655<=g&&g<=3662||g==3761||3764<=g&&g<=3769||3771<=g&&g<=3772||3784<=g&&g<=3789||3864<=g&&g<=3865||g==3893||g==3895||g==3897||3953<=g&&g<=3966||3968<=g&&g<=3972||3974<=g&&g<=3975||3981<=g&&g<=3991||3993<=g&&g<=4028||g==4038||4141<=g&&g<=4144||4146<=g&&g<=4151||4153<=g&&g<=4154||4157<=g&&g<=4158||4184<=g&&g<=4185||4190<=g&&g<=4192||4209<=g&&g<=4212||g==4226||4229<=g&&g<=4230||g==4237||g==4253||4957<=g&&g<=4959||5906<=g&&g<=5908||5938<=g&&g<=5940||5970<=g&&g<=5971||6002<=g&&g<=6003||6068<=g&&g<=6069||6071<=g&&g<=6077||g==6086||6089<=g&&g<=6099||g==6109||6155<=g&&g<=6157||6277<=g&&g<=6278||g==6313||6432<=g&&g<=6434||6439<=g&&g<=6440||g==6450||6457<=g&&g<=6459||6679<=g&&g<=6680||g==6683||g==6742||6744<=g&&g<=6750||g==6752||g==6754||6757<=g&&g<=6764||6771<=g&&g<=6780||g==6783||6832<=g&&g<=6845||g==6846||6912<=g&&g<=6915||g==6964||6966<=g&&g<=6970||g==6972||g==6978||7019<=g&&g<=7027||7040<=g&&g<=7041||7074<=g&&g<=7077||7080<=g&&g<=7081||7083<=g&&g<=7085||g==7142||7144<=g&&g<=7145||g==7149||7151<=g&&g<=7153||7212<=g&&g<=7219||7222<=g&&g<=7223||7376<=g&&g<=7378||7380<=g&&g<=7392||7394<=g&&g<=7400||g==7405||g==7412||7416<=g&&g<=7417||7616<=g&&g<=7673||7675<=g&&g<=7679||g==8204||8400<=g&&g<=8412||8413<=g&&g<=8416||g==8417||8418<=g&&g<=8420||8421<=g&&g<=8432||11503<=g&&g<=11505||g==11647||11744<=g&&g<=11775||12330<=g&&g<=12333||12334<=g&&g<=12335||12441<=g&&g<=12442||g==42607||42608<=g&&g<=42610||42612<=g&&g<=42621||42654<=g&&g<=42655||42736<=g&&g<=42737||g==43010||g==43014||g==43019||43045<=g&&g<=43046||43204<=g&&g<=43205||43232<=g&&g<=43249||43302<=g&&g<=43309||43335<=g&&g<=43345||43392<=g&&g<=43394||g==43443||43446<=g&&g<=43449||g==43452||g==43493||43561<=g&&g<=43566||43569<=g&&g<=43570||43573<=g&&g<=43574||g==43587||g==43596||g==43644||g==43696||43698<=g&&g<=43700||43703<=g&&g<=43704||43710<=g&&g<=43711||g==43713||43756<=g&&g<=43757||g==43766||g==44005||g==44008||g==44013||g==64286||65024<=g&&g<=65039||65056<=g&&g<=65071||65438<=g&&g<=65439||g==66045||g==66272||66422<=g&&g<=66426||68097<=g&&g<=68099||68101<=g&&g<=68102||68108<=g&&g<=68111||68152<=g&&g<=68154||g==68159||68325<=g&&g<=68326||g==69633||69688<=g&&g<=69702||69759<=g&&g<=69761||69811<=g&&g<=69814||69817<=g&&g<=69818||69888<=g&&g<=69890||69927<=g&&g<=69931||69933<=g&&g<=69940||g==70003||70016<=g&&g<=70017||70070<=g&&g<=70078||70090<=g&&g<=70092||70191<=g&&g<=70193||g==70196||70198<=g&&g<=70199||g==70206||g==70367||70371<=g&&g<=70378||70400<=g&&g<=70401||g==70460||g==70462||g==70464||g==70487||70502<=g&&g<=70508||70512<=g&&g<=70516||70712<=g&&g<=70719||70722<=g&&g<=70724||g==70726||g==70832||70835<=g&&g<=70840||g==70842||g==70845||70847<=g&&g<=70848||70850<=g&&g<=70851||g==71087||71090<=g&&g<=71093||71100<=g&&g<=71101||71103<=g&&g<=71104||71132<=g&&g<=71133||71219<=g&&g<=71226||g==71229||71231<=g&&g<=71232||g==71339||g==71341||71344<=g&&g<=71349||g==71351||71453<=g&&g<=71455||71458<=g&&g<=71461||71463<=g&&g<=71467||72193<=g&&g<=72198||72201<=g&&g<=72202||72243<=g&&g<=72248||72251<=g&&g<=72254||g==72263||72273<=g&&g<=72278||72281<=g&&g<=72283||72330<=g&&g<=72342||72344<=g&&g<=72345||72752<=g&&g<=72758||72760<=g&&g<=72765||g==72767||72850<=g&&g<=72871||72874<=g&&g<=72880||72882<=g&&g<=72883||72885<=g&&g<=72886||73009<=g&&g<=73014||g==73018||73020<=g&&g<=73021||73023<=g&&g<=73029||g==73031||92912<=g&&g<=92916||92976<=g&&g<=92982||94095<=g&&g<=94098||113821<=g&&g<=113822||g==119141||119143<=g&&g<=119145||119150<=g&&g<=119154||119163<=g&&g<=119170||119173<=g&&g<=119179||119210<=g&&g<=119213||119362<=g&&g<=119364||121344<=g&&g<=121398||121403<=g&&g<=121452||g==121461||g==121476||121499<=g&&g<=121503||121505<=g&&g<=121519||122880<=g&&g<=122886||122888<=g&&g<=122904||122907<=g&&g<=122913||122915<=g&&g<=122916||122918<=g&&g<=122922||125136<=g&&g<=125142||125252<=g&&g<=125258||917536<=g&&g<=917631||917760<=g&&g<=917999?o:127462<=g&&g<=127487?a:g==2307||g==2363||2366<=g&&g<=2368||2377<=g&&g<=2380||2382<=g&&g<=2383||2434<=g&&g<=2435||2495<=g&&g<=2496||2503<=g&&g<=2504||2507<=g&&g<=2508||g==2563||2622<=g&&g<=2624||g==2691||2750<=g&&g<=2752||g==2761||2763<=g&&g<=2764||2818<=g&&g<=2819||g==2880||2887<=g&&g<=2888||2891<=g&&g<=2892||g==3007||3009<=g&&g<=3010||3014<=g&&g<=3016||3018<=g&&g<=3020||3073<=g&&g<=3075||3137<=g&&g<=3140||3202<=g&&g<=3203||g==3262||3264<=g&&g<=3265||3267<=g&&g<=3268||3271<=g&&g<=3272||3274<=g&&g<=3275||3330<=g&&g<=3331||3391<=g&&g<=3392||3398<=g&&g<=3400||3402<=g&&g<=3404||3458<=g&&g<=3459||3536<=g&&g<=3537||3544<=g&&g<=3550||3570<=g&&g<=3571||g==3635||g==3763||3902<=g&&g<=3903||g==3967||g==4145||4155<=g&&g<=4156||4182<=g&&g<=4183||g==4228||g==6070||6078<=g&&g<=6085||6087<=g&&g<=6088||6435<=g&&g<=6438||6441<=g&&g<=6443||6448<=g&&g<=6449||6451<=g&&g<=6456||6681<=g&&g<=6682||g==6741||g==6743||6765<=g&&g<=6770||g==6916||g==6965||g==6971||6973<=g&&g<=6977||6979<=g&&g<=6980||g==7042||g==7073||7078<=g&&g<=7079||g==7082||g==7143||7146<=g&&g<=7148||g==7150||7154<=g&&g<=7155||7204<=g&&g<=7211||7220<=g&&g<=7221||g==7393||7410<=g&&g<=7411||g==7415||43043<=g&&g<=43044||g==43047||43136<=g&&g<=43137||43188<=g&&g<=43203||43346<=g&&g<=43347||g==43395||43444<=g&&g<=43445||43450<=g&&g<=43451||43453<=g&&g<=43456||43567<=g&&g<=43568||43571<=g&&g<=43572||g==43597||g==43755||43758<=g&&g<=43759||g==43765||44003<=g&&g<=44004||44006<=g&&g<=44007||44009<=g&&g<=44010||g==44012||g==69632||g==69634||g==69762||69808<=g&&g<=69810||69815<=g&&g<=69816||g==69932||g==70018||70067<=g&&g<=70069||70079<=g&&g<=70080||70188<=g&&g<=70190||70194<=g&&g<=70195||g==70197||70368<=g&&g<=70370||70402<=g&&g<=70403||g==70463||70465<=g&&g<=70468||70471<=g&&g<=70472||70475<=g&&g<=70477||70498<=g&&g<=70499||70709<=g&&g<=70711||70720<=g&&g<=70721||g==70725||70833<=g&&g<=70834||g==70841||70843<=g&&g<=70844||g==70846||g==70849||71088<=g&&g<=71089||71096<=g&&g<=71099||g==71102||71216<=g&&g<=71218||71227<=g&&g<=71228||g==71230||g==71340||71342<=g&&g<=71343||g==71350||71456<=g&&g<=71457||g==71462||72199<=g&&g<=72200||g==72249||72279<=g&&g<=72280||g==72343||g==72751||g==72766||g==72873||g==72881||g==72884||94033<=g&&g<=94078||g==119142||g==119149?n:4352<=g&&g<=4447||43360<=g&&g<=43388?u:4448<=g&&g<=4519||55216<=g&&g<=55238?A:4520<=g&&g<=4607||55243<=g&&g<=55291?p:g==44032||g==44060||g==44088||g==44116||g==44144||g==44172||g==44200||g==44228||g==44256||g==44284||g==44312||g==44340||g==44368||g==44396||g==44424||g==44452||g==44480||g==44508||g==44536||g==44564||g==44592||g==44620||g==44648||g==44676||g==44704||g==44732||g==44760||g==44788||g==44816||g==44844||g==44872||g==44900||g==44928||g==44956||g==44984||g==45012||g==45040||g==45068||g==45096||g==45124||g==45152||g==45180||g==45208||g==45236||g==45264||g==45292||g==45320||g==45348||g==45376||g==45404||g==45432||g==45460||g==45488||g==45516||g==45544||g==45572||g==45600||g==45628||g==45656||g==45684||g==45712||g==45740||g==45768||g==45796||g==45824||g==45852||g==45880||g==45908||g==45936||g==45964||g==45992||g==46020||g==46048||g==46076||g==46104||g==46132||g==46160||g==46188||g==46216||g==46244||g==46272||g==46300||g==46328||g==46356||g==46384||g==46412||g==46440||g==46468||g==46496||g==46524||g==46552||g==46580||g==46608||g==46636||g==46664||g==46692||g==46720||g==46748||g==46776||g==46804||g==46832||g==46860||g==46888||g==46916||g==46944||g==46972||g==47e3||g==47028||g==47056||g==47084||g==47112||g==47140||g==47168||g==47196||g==47224||g==47252||g==47280||g==47308||g==47336||g==47364||g==47392||g==47420||g==47448||g==47476||g==47504||g==47532||g==47560||g==47588||g==47616||g==47644||g==47672||g==47700||g==47728||g==47756||g==47784||g==47812||g==47840||g==47868||g==47896||g==47924||g==47952||g==47980||g==48008||g==48036||g==48064||g==48092||g==48120||g==48148||g==48176||g==48204||g==48232||g==48260||g==48288||g==48316||g==48344||g==48372||g==48400||g==48428||g==48456||g==48484||g==48512||g==48540||g==48568||g==48596||g==48624||g==48652||g==48680||g==48708||g==48736||g==48764||g==48792||g==48820||g==48848||g==48876||g==48904||g==48932||g==48960||g==48988||g==49016||g==49044||g==49072||g==49100||g==49128||g==49156||g==49184||g==49212||g==49240||g==49268||g==49296||g==49324||g==49352||g==49380||g==49408||g==49436||g==49464||g==49492||g==49520||g==49548||g==49576||g==49604||g==49632||g==49660||g==49688||g==49716||g==49744||g==49772||g==49800||g==49828||g==49856||g==49884||g==49912||g==49940||g==49968||g==49996||g==50024||g==50052||g==50080||g==50108||g==50136||g==50164||g==50192||g==50220||g==50248||g==50276||g==50304||g==50332||g==50360||g==50388||g==50416||g==50444||g==50472||g==50500||g==50528||g==50556||g==50584||g==50612||g==50640||g==50668||g==50696||g==50724||g==50752||g==50780||g==50808||g==50836||g==50864||g==50892||g==50920||g==50948||g==50976||g==51004||g==51032||g==51060||g==51088||g==51116||g==51144||g==51172||g==51200||g==51228||g==51256||g==51284||g==51312||g==51340||g==51368||g==51396||g==51424||g==51452||g==51480||g==51508||g==51536||g==51564||g==51592||g==51620||g==51648||g==51676||g==51704||g==51732||g==51760||g==51788||g==51816||g==51844||g==51872||g==51900||g==51928||g==51956||g==51984||g==52012||g==52040||g==52068||g==52096||g==52124||g==52152||g==52180||g==52208||g==52236||g==52264||g==52292||g==52320||g==52348||g==52376||g==52404||g==52432||g==52460||g==52488||g==52516||g==52544||g==52572||g==52600||g==52628||g==52656||g==52684||g==52712||g==52740||g==52768||g==52796||g==52824||g==52852||g==52880||g==52908||g==52936||g==52964||g==52992||g==53020||g==53048||g==53076||g==53104||g==53132||g==53160||g==53188||g==53216||g==53244||g==53272||g==53300||g==53328||g==53356||g==53384||g==53412||g==53440||g==53468||g==53496||g==53524||g==53552||g==53580||g==53608||g==53636||g==53664||g==53692||g==53720||g==53748||g==53776||g==53804||g==53832||g==53860||g==53888||g==53916||g==53944||g==53972||g==54e3||g==54028||g==54056||g==54084||g==54112||g==54140||g==54168||g==54196||g==54224||g==54252||g==54280||g==54308||g==54336||g==54364||g==54392||g==54420||g==54448||g==54476||g==54504||g==54532||g==54560||g==54588||g==54616||g==54644||g==54672||g==54700||g==54728||g==54756||g==54784||g==54812||g==54840||g==54868||g==54896||g==54924||g==54952||g==54980||g==55008||g==55036||g==55064||g==55092||g==55120||g==55148||g==55176?h:44033<=g&&g<=44059||44061<=g&&g<=44087||44089<=g&&g<=44115||44117<=g&&g<=44143||44145<=g&&g<=44171||44173<=g&&g<=44199||44201<=g&&g<=44227||44229<=g&&g<=44255||44257<=g&&g<=44283||44285<=g&&g<=44311||44313<=g&&g<=44339||44341<=g&&g<=44367||44369<=g&&g<=44395||44397<=g&&g<=44423||44425<=g&&g<=44451||44453<=g&&g<=44479||44481<=g&&g<=44507||44509<=g&&g<=44535||44537<=g&&g<=44563||44565<=g&&g<=44591||44593<=g&&g<=44619||44621<=g&&g<=44647||44649<=g&&g<=44675||44677<=g&&g<=44703||44705<=g&&g<=44731||44733<=g&&g<=44759||44761<=g&&g<=44787||44789<=g&&g<=44815||44817<=g&&g<=44843||44845<=g&&g<=44871||44873<=g&&g<=44899||44901<=g&&g<=44927||44929<=g&&g<=44955||44957<=g&&g<=44983||44985<=g&&g<=45011||45013<=g&&g<=45039||45041<=g&&g<=45067||45069<=g&&g<=45095||45097<=g&&g<=45123||45125<=g&&g<=45151||45153<=g&&g<=45179||45181<=g&&g<=45207||45209<=g&&g<=45235||45237<=g&&g<=45263||45265<=g&&g<=45291||45293<=g&&g<=45319||45321<=g&&g<=45347||45349<=g&&g<=45375||45377<=g&&g<=45403||45405<=g&&g<=45431||45433<=g&&g<=45459||45461<=g&&g<=45487||45489<=g&&g<=45515||45517<=g&&g<=45543||45545<=g&&g<=45571||45573<=g&&g<=45599||45601<=g&&g<=45627||45629<=g&&g<=45655||45657<=g&&g<=45683||45685<=g&&g<=45711||45713<=g&&g<=45739||45741<=g&&g<=45767||45769<=g&&g<=45795||45797<=g&&g<=45823||45825<=g&&g<=45851||45853<=g&&g<=45879||45881<=g&&g<=45907||45909<=g&&g<=45935||45937<=g&&g<=45963||45965<=g&&g<=45991||45993<=g&&g<=46019||46021<=g&&g<=46047||46049<=g&&g<=46075||46077<=g&&g<=46103||46105<=g&&g<=46131||46133<=g&&g<=46159||46161<=g&&g<=46187||46189<=g&&g<=46215||46217<=g&&g<=46243||46245<=g&&g<=46271||46273<=g&&g<=46299||46301<=g&&g<=46327||46329<=g&&g<=46355||46357<=g&&g<=46383||46385<=g&&g<=46411||46413<=g&&g<=46439||46441<=g&&g<=46467||46469<=g&&g<=46495||46497<=g&&g<=46523||46525<=g&&g<=46551||46553<=g&&g<=46579||46581<=g&&g<=46607||46609<=g&&g<=46635||46637<=g&&g<=46663||46665<=g&&g<=46691||46693<=g&&g<=46719||46721<=g&&g<=46747||46749<=g&&g<=46775||46777<=g&&g<=46803||46805<=g&&g<=46831||46833<=g&&g<=46859||46861<=g&&g<=46887||46889<=g&&g<=46915||46917<=g&&g<=46943||46945<=g&&g<=46971||46973<=g&&g<=46999||47001<=g&&g<=47027||47029<=g&&g<=47055||47057<=g&&g<=47083||47085<=g&&g<=47111||47113<=g&&g<=47139||47141<=g&&g<=47167||47169<=g&&g<=47195||47197<=g&&g<=47223||47225<=g&&g<=47251||47253<=g&&g<=47279||47281<=g&&g<=47307||47309<=g&&g<=47335||47337<=g&&g<=47363||47365<=g&&g<=47391||47393<=g&&g<=47419||47421<=g&&g<=47447||47449<=g&&g<=47475||47477<=g&&g<=47503||47505<=g&&g<=47531||47533<=g&&g<=47559||47561<=g&&g<=47587||47589<=g&&g<=47615||47617<=g&&g<=47643||47645<=g&&g<=47671||47673<=g&&g<=47699||47701<=g&&g<=47727||47729<=g&&g<=47755||47757<=g&&g<=47783||47785<=g&&g<=47811||47813<=g&&g<=47839||47841<=g&&g<=47867||47869<=g&&g<=47895||47897<=g&&g<=47923||47925<=g&&g<=47951||47953<=g&&g<=47979||47981<=g&&g<=48007||48009<=g&&g<=48035||48037<=g&&g<=48063||48065<=g&&g<=48091||48093<=g&&g<=48119||48121<=g&&g<=48147||48149<=g&&g<=48175||48177<=g&&g<=48203||48205<=g&&g<=48231||48233<=g&&g<=48259||48261<=g&&g<=48287||48289<=g&&g<=48315||48317<=g&&g<=48343||48345<=g&&g<=48371||48373<=g&&g<=48399||48401<=g&&g<=48427||48429<=g&&g<=48455||48457<=g&&g<=48483||48485<=g&&g<=48511||48513<=g&&g<=48539||48541<=g&&g<=48567||48569<=g&&g<=48595||48597<=g&&g<=48623||48625<=g&&g<=48651||48653<=g&&g<=48679||48681<=g&&g<=48707||48709<=g&&g<=48735||48737<=g&&g<=48763||48765<=g&&g<=48791||48793<=g&&g<=48819||48821<=g&&g<=48847||48849<=g&&g<=48875||48877<=g&&g<=48903||48905<=g&&g<=48931||48933<=g&&g<=48959||48961<=g&&g<=48987||48989<=g&&g<=49015||49017<=g&&g<=49043||49045<=g&&g<=49071||49073<=g&&g<=49099||49101<=g&&g<=49127||49129<=g&&g<=49155||49157<=g&&g<=49183||49185<=g&&g<=49211||49213<=g&&g<=49239||49241<=g&&g<=49267||49269<=g&&g<=49295||49297<=g&&g<=49323||49325<=g&&g<=49351||49353<=g&&g<=49379||49381<=g&&g<=49407||49409<=g&&g<=49435||49437<=g&&g<=49463||49465<=g&&g<=49491||49493<=g&&g<=49519||49521<=g&&g<=49547||49549<=g&&g<=49575||49577<=g&&g<=49603||49605<=g&&g<=49631||49633<=g&&g<=49659||49661<=g&&g<=49687||49689<=g&&g<=49715||49717<=g&&g<=49743||49745<=g&&g<=49771||49773<=g&&g<=49799||49801<=g&&g<=49827||49829<=g&&g<=49855||49857<=g&&g<=49883||49885<=g&&g<=49911||49913<=g&&g<=49939||49941<=g&&g<=49967||49969<=g&&g<=49995||49997<=g&&g<=50023||50025<=g&&g<=50051||50053<=g&&g<=50079||50081<=g&&g<=50107||50109<=g&&g<=50135||50137<=g&&g<=50163||50165<=g&&g<=50191||50193<=g&&g<=50219||50221<=g&&g<=50247||50249<=g&&g<=50275||50277<=g&&g<=50303||50305<=g&&g<=50331||50333<=g&&g<=50359||50361<=g&&g<=50387||50389<=g&&g<=50415||50417<=g&&g<=50443||50445<=g&&g<=50471||50473<=g&&g<=50499||50501<=g&&g<=50527||50529<=g&&g<=50555||50557<=g&&g<=50583||50585<=g&&g<=50611||50613<=g&&g<=50639||50641<=g&&g<=50667||50669<=g&&g<=50695||50697<=g&&g<=50723||50725<=g&&g<=50751||50753<=g&&g<=50779||50781<=g&&g<=50807||50809<=g&&g<=50835||50837<=g&&g<=50863||50865<=g&&g<=50891||50893<=g&&g<=50919||50921<=g&&g<=50947||50949<=g&&g<=50975||50977<=g&&g<=51003||51005<=g&&g<=51031||51033<=g&&g<=51059||51061<=g&&g<=51087||51089<=g&&g<=51115||51117<=g&&g<=51143||51145<=g&&g<=51171||51173<=g&&g<=51199||51201<=g&&g<=51227||51229<=g&&g<=51255||51257<=g&&g<=51283||51285<=g&&g<=51311||51313<=g&&g<=51339||51341<=g&&g<=51367||51369<=g&&g<=51395||51397<=g&&g<=51423||51425<=g&&g<=51451||51453<=g&&g<=51479||51481<=g&&g<=51507||51509<=g&&g<=51535||51537<=g&&g<=51563||51565<=g&&g<=51591||51593<=g&&g<=51619||51621<=g&&g<=51647||51649<=g&&g<=51675||51677<=g&&g<=51703||51705<=g&&g<=51731||51733<=g&&g<=51759||51761<=g&&g<=51787||51789<=g&&g<=51815||51817<=g&&g<=51843||51845<=g&&g<=51871||51873<=g&&g<=51899||51901<=g&&g<=51927||51929<=g&&g<=51955||51957<=g&&g<=51983||51985<=g&&g<=52011||52013<=g&&g<=52039||52041<=g&&g<=52067||52069<=g&&g<=52095||52097<=g&&g<=52123||52125<=g&&g<=52151||52153<=g&&g<=52179||52181<=g&&g<=52207||52209<=g&&g<=52235||52237<=g&&g<=52263||52265<=g&&g<=52291||52293<=g&&g<=52319||52321<=g&&g<=52347||52349<=g&&g<=52375||52377<=g&&g<=52403||52405<=g&&g<=52431||52433<=g&&g<=52459||52461<=g&&g<=52487||52489<=g&&g<=52515||52517<=g&&g<=52543||52545<=g&&g<=52571||52573<=g&&g<=52599||52601<=g&&g<=52627||52629<=g&&g<=52655||52657<=g&&g<=52683||52685<=g&&g<=52711||52713<=g&&g<=52739||52741<=g&&g<=52767||52769<=g&&g<=52795||52797<=g&&g<=52823||52825<=g&&g<=52851||52853<=g&&g<=52879||52881<=g&&g<=52907||52909<=g&&g<=52935||52937<=g&&g<=52963||52965<=g&&g<=52991||52993<=g&&g<=53019||53021<=g&&g<=53047||53049<=g&&g<=53075||53077<=g&&g<=53103||53105<=g&&g<=53131||53133<=g&&g<=53159||53161<=g&&g<=53187||53189<=g&&g<=53215||53217<=g&&g<=53243||53245<=g&&g<=53271||53273<=g&&g<=53299||53301<=g&&g<=53327||53329<=g&&g<=53355||53357<=g&&g<=53383||53385<=g&&g<=53411||53413<=g&&g<=53439||53441<=g&&g<=53467||53469<=g&&g<=53495||53497<=g&&g<=53523||53525<=g&&g<=53551||53553<=g&&g<=53579||53581<=g&&g<=53607||53609<=g&&g<=53635||53637<=g&&g<=53663||53665<=g&&g<=53691||53693<=g&&g<=53719||53721<=g&&g<=53747||53749<=g&&g<=53775||53777<=g&&g<=53803||53805<=g&&g<=53831||53833<=g&&g<=53859||53861<=g&&g<=53887||53889<=g&&g<=53915||53917<=g&&g<=53943||53945<=g&&g<=53971||53973<=g&&g<=53999||54001<=g&&g<=54027||54029<=g&&g<=54055||54057<=g&&g<=54083||54085<=g&&g<=54111||54113<=g&&g<=54139||54141<=g&&g<=54167||54169<=g&&g<=54195||54197<=g&&g<=54223||54225<=g&&g<=54251||54253<=g&&g<=54279||54281<=g&&g<=54307||54309<=g&&g<=54335||54337<=g&&g<=54363||54365<=g&&g<=54391||54393<=g&&g<=54419||54421<=g&&g<=54447||54449<=g&&g<=54475||54477<=g&&g<=54503||54505<=g&&g<=54531||54533<=g&&g<=54559||54561<=g&&g<=54587||54589<=g&&g<=54615||54617<=g&&g<=54643||54645<=g&&g<=54671||54673<=g&&g<=54699||54701<=g&&g<=54727||54729<=g&&g<=54755||54757<=g&&g<=54783||54785<=g&&g<=54811||54813<=g&&g<=54839||54841<=g&&g<=54867||54869<=g&&g<=54895||54897<=g&&g<=54923||54925<=g&&g<=54951||54953<=g&&g<=54979||54981<=g&&g<=55007||55009<=g&&g<=55035||55037<=g&&g<=55063||55065<=g&&g<=55091||55093<=g&&g<=55119||55121<=g&&g<=55147||55149<=g&&g<=55175||55177<=g&&g<=55203?C:g==9757||g==9977||9994<=g&&g<=9997||g==127877||127938<=g&&g<=127940||g==127943||127946<=g&&g<=127948||128066<=g&&g<=128067||128070<=g&&g<=128080||g==128110||128112<=g&&g<=128120||g==128124||128129<=g&&g<=128131||128133<=g&&g<=128135||g==128170||128372<=g&&g<=128373||g==128378||g==128400||128405<=g&&g<=128406||128581<=g&&g<=128583||128587<=g&&g<=128591||g==128675||128692<=g&&g<=128694||g==128704||g==128716||129304<=g&&g<=129308||129310<=g&&g<=129311||g==129318||129328<=g&&g<=129337||129341<=g&&g<=129342||129489<=g&&g<=129501?b:127995<=g&&g<=127999?E:g==8205?R:g==9792||g==9794||9877<=g&&g<=9878||g==9992||g==10084||g==127752||g==127806||g==127859||g==127891||g==127908||g==127912||g==127979||g==127981||g==128139||128187<=g&&g<=128188||g==128295||g==128300||g==128488||g==128640||g==128658?L:128102<=g&&g<=128105?_:w}return this}typeof Sx<"u"&&Sx.exports&&(Sx.exports=wot)});var tue=U((lMt,eue)=>{var Bot=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,Px;function vot(){if(Px)return Px;if(typeof Intl.Segmenter<"u"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return Px=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=$ce(),e=new t;return Px=r=>e.splitGraphemes(r)}}eue.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let o=r-e,a="",n=0,u=0;for(;t.length>0;){let A=t.match(Bot)||[t,t,void 0],p=vot()(A[1]),h=Math.min(e-n,p.length);p=p.slice(h);let C=Math.min(o-u,p.length);a+=p.slice(0,C).join(""),n+=h,u+=C,typeof A[2]<"u"&&(a+=A[2]),t=t.slice(A[0].length)}return a}});function oue(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let a=Ku(t===null?0:t);return!r&&t===null?Kt(e,a,"grey"):a}function CU(t,{configuration:e,json:r}){let o=oue(t,{configuration:e,json:r});if(!o||t===null||t===0)return o;let a=dr[t],n=`https://yarnpkg.com/advanced/error-codes#${o}---${a}`.toLowerCase();return Yy(e,o,n)}var sue,bx,rue,nue,Dot,Sot,xx,iue,Pot,xot,Qx,bot,Ct,kx=dt(()=>{sue=tt(tue()),bx=tt(Jg());KD();Jl();Yl();Ks();rue=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],nue=80,Dot=new Set([13,19]),Sot=5,xx=bx.default.GITHUB_ACTIONS?{start:t=>`::group::${t} | 165 | `),re.end()}),re});break;case"<&":C(()=>Ice(Number(t[V]),1,r));break;case">":case">>":{let re=z.resolve(r.cwd,ue.toPortablePath(t[V]));R(re==="/dev/null"?new ul.Writable({autoDestroy:!0,emitClose:!0,write(oe,pe,he){setImmediate(he)}}):e.baseFs.createWriteStream(re,v===">>"?{flags:"a"}:void 0))}break;case">&":R(Ice(Number(t[V]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${v}"`)}}if(u.length>0){let w=new ul.PassThrough;o=w;let v=b=>{if(b===u.length)w.end();else{let C=u[b]();C.pipe(w,{end:!1}),C.on("end",()=>{v(b+1)})}};v(0)}if(A.length>0){let w=new ul.PassThrough;a=w;for(let v of A)w.pipe(v)}if(p.length>0){let w=new ul.PassThrough;n=w;for(let v of p)w.pipe(v)}let E=await xx(I1(t.slice(h+1),e,r),{stdin:new tc(o),stdout:new tc(a),stderr:new tc(n)}).run();return await Promise.all(A.map(w=>new Promise((v,b)=>{w.on("error",C=>{b(C)}),w.on("close",()=>{v()}),w.end()}))),await Promise.all(p.map(w=>new Promise((v,b)=>{w.on("error",C=>{b(C)}),w.on("close",()=>{v()}),w.end()}))),E}]]);Nst={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)}});var Fx=U((cMt,Qce)=>{function _st(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r<o;)a[r]=e(t[r],r,t);return a}Qce.exports=_st});var Lce=U((uMt,Nce)=>{var kce=fd(),Hst=Fx(),qst=Yl(),jst=AC(),Gst=1/0,Fce=kce?kce.prototype:void 0,Rce=Fce?Fce.toString:void 0;function Tce(t){if(typeof t=="string")return t;if(qst(t))return Hst(t,Tce)+"";if(jst(t))return Rce?Rce.call(t):"";var e=t+"";return e=="0"&&1/t==-Gst?"-0":e}Nce.exports=Tce});var v1=U((AMt,Oce)=>{var Wst=Lce();function Yst(t){return t==null?"":Wst(t)}Oce.exports=Yst});var dU=U((fMt,Mce)=>{function Kst(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var n=Array(a);++o<a;)n[o]=t[o+e];return n}Mce.exports=Kst});var _ce=U((pMt,Uce)=>{var Vst=dU();function Jst(t,e,r){var o=t.length;return r=r===void 0?o:r,!e&&r>=o?t:Vst(t,e,r)}Uce.exports=Jst});var mU=U((hMt,Hce)=>{var zst="\\ud800-\\udfff",Xst="\\u0300-\\u036f",Zst="\\ufe20-\\ufe2f",$st="\\u20d0-\\u20ff",eot=Xst+Zst+$st,tot="\\ufe0e\\ufe0f",rot="\\u200d",not=RegExp("["+rot+zst+eot+tot+"]");function iot(t){return not.test(t)}Hce.exports=iot});var jce=U((gMt,qce)=>{function sot(t){return t.split("")}qce.exports=sot});var Xce=U((dMt,zce)=>{var Gce="\\ud800-\\udfff",oot="\\u0300-\\u036f",aot="\\ufe20-\\ufe2f",lot="\\u20d0-\\u20ff",cot=oot+aot+lot,uot="\\ufe0e\\ufe0f",Aot="["+Gce+"]",yU="["+cot+"]",CU="\\ud83c[\\udffb-\\udfff]",fot="(?:"+yU+"|"+CU+")",Wce="[^"+Gce+"]",Yce="(?:\\ud83c[\\udde6-\\uddff]){2}",Kce="[\\ud800-\\udbff][\\udc00-\\udfff]",pot="\\u200d",Vce=fot+"?",Jce="["+uot+"]?",hot="(?:"+pot+"(?:"+[Wce,Yce,Kce].join("|")+")"+Jce+Vce+")*",got=Jce+Vce+hot,dot="(?:"+[Wce+yU+"?",yU,Yce,Kce,Aot].join("|")+")",mot=RegExp(CU+"(?="+CU+")|"+dot+got,"g");function yot(t){return t.match(mot)||[]}zce.exports=yot});var $ce=U((mMt,Zce)=>{var Cot=jce(),Eot=mU(),Iot=Xce();function wot(t){return Eot(t)?Iot(t):Cot(t)}Zce.exports=wot});var tue=U((yMt,eue)=>{var Bot=_ce(),vot=mU(),Dot=$ce(),Sot=v1();function Pot(t){return function(e){e=Sot(e);var r=vot(e)?Dot(e):void 0,o=r?r[0]:e.charAt(0),a=r?Bot(r,1).join(""):e.slice(1);return o[t]()+a}}eue.exports=Pot});var nue=U((CMt,rue)=>{var xot=tue(),bot=xot("toUpperCase");rue.exports=bot});var EU=U((EMt,iue)=>{var Qot=v1(),kot=nue();function Fot(t){return kot(Qot(t).toLowerCase())}iue.exports=Fot});var sue=U((IMt,Rx)=>{function Rot(){var t=0,e=1,r=2,o=3,a=4,n=5,u=6,A=7,p=8,h=9,E=10,w=11,v=12,b=13,C=14,R=15,L=16,_=17,V=0,re=1,oe=2,pe=3,he=4;function ve(g,De){return 55296<=g.charCodeAt(De)&&g.charCodeAt(De)<=56319&&56320<=g.charCodeAt(De+1)&&g.charCodeAt(De+1)<=57343}function ge(g,De){De===void 0&&(De=0);var Ce=g.charCodeAt(De);if(55296<=Ce&&Ce<=56319&&De<g.length-1){var de=Ce,ne=g.charCodeAt(De+1);return 56320<=ne&&ne<=57343?(de-55296)*1024+(ne-56320)+65536:de}if(56320<=Ce&&Ce<=57343&&De>=1){var de=g.charCodeAt(De-1),ne=Ce;return 55296<=de&&de<=56319?(de-55296)*1024+(ne-56320)+65536:ne}return Ce}function le(g,De,Ce){var de=[g].concat(De).concat([Ce]),ne=de[de.length-2],Z=Ce,me=de.lastIndexOf(C);if(me>1&&de.slice(1,me).every(function(H){return H==o})&&[o,b,_].indexOf(g)==-1)return oe;var be=de.lastIndexOf(a);if(be>0&&de.slice(1,be).every(function(H){return H==a})&&[v,a].indexOf(ne)==-1)return de.filter(function(H){return H==a}).length%2==1?pe:he;if(ne==t&&Z==e)return V;if(ne==r||ne==t||ne==e)return Z==C&&De.every(function(H){return H==o})?oe:re;if(Z==r||Z==t||Z==e)return re;if(ne==u&&(Z==u||Z==A||Z==h||Z==E))return V;if((ne==h||ne==A)&&(Z==A||Z==p))return V;if((ne==E||ne==p)&&Z==p)return V;if(Z==o||Z==R)return V;if(Z==n)return V;if(ne==v)return V;var ut=de.indexOf(o)!=-1?de.lastIndexOf(o)-1:de.length-2;return[b,_].indexOf(de[ut])!=-1&&de.slice(ut+1,-1).every(function(H){return H==o})&&Z==C||ne==R&&[L,_].indexOf(Z)!=-1?V:De.indexOf(a)!=-1?oe:ne==a&&Z==a?V:re}this.nextBreak=function(g,De){if(De===void 0&&(De=0),De<0)return 0;if(De>=g.length-1)return g.length;for(var Ce=Pe(ge(g,De)),de=[],ne=De+1;ne<g.length;ne++)if(!ve(g,ne-1)){var Z=Pe(ge(g,ne));if(le(Ce,de,Z))return ne;de.push(Z)}return g.length},this.splitGraphemes=function(g){for(var De=[],Ce=0,de;(de=this.nextBreak(g,Ce))<g.length;)De.push(g.slice(Ce,de)),Ce=de;return Ce<g.length&&De.push(g.slice(Ce)),De},this.iterateGraphemes=function(g){var De=0,Ce={next:function(){var de,ne;return(ne=this.nextBreak(g,De))<g.length?(de=g.slice(De,ne),De=ne,{value:de,done:!1}):De<g.length?(de=g.slice(De),De=g.length,{value:de,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(Ce[Symbol.iterator]=function(){return Ce}),Ce},this.countGraphemes=function(g){for(var De=0,Ce=0,de;(de=this.nextBreak(g,Ce))<g.length;)Ce=de,De++;return Ce<g.length&&De++,De};function Pe(g){return 1536<=g&&g<=1541||g==1757||g==1807||g==2274||g==3406||g==69821||70082<=g&&g<=70083||g==72250||72326<=g&&g<=72329||g==73030?v:g==13?t:g==10?e:0<=g&&g<=9||11<=g&&g<=12||14<=g&&g<=31||127<=g&&g<=159||g==173||g==1564||g==6158||g==8203||8206<=g&&g<=8207||g==8232||g==8233||8234<=g&&g<=8238||8288<=g&&g<=8292||g==8293||8294<=g&&g<=8303||55296<=g&&g<=57343||g==65279||65520<=g&&g<=65528||65529<=g&&g<=65531||113824<=g&&g<=113827||119155<=g&&g<=119162||g==917504||g==917505||917506<=g&&g<=917535||917632<=g&&g<=917759||918e3<=g&&g<=921599?r:768<=g&&g<=879||1155<=g&&g<=1159||1160<=g&&g<=1161||1425<=g&&g<=1469||g==1471||1473<=g&&g<=1474||1476<=g&&g<=1477||g==1479||1552<=g&&g<=1562||1611<=g&&g<=1631||g==1648||1750<=g&&g<=1756||1759<=g&&g<=1764||1767<=g&&g<=1768||1770<=g&&g<=1773||g==1809||1840<=g&&g<=1866||1958<=g&&g<=1968||2027<=g&&g<=2035||2070<=g&&g<=2073||2075<=g&&g<=2083||2085<=g&&g<=2087||2089<=g&&g<=2093||2137<=g&&g<=2139||2260<=g&&g<=2273||2275<=g&&g<=2306||g==2362||g==2364||2369<=g&&g<=2376||g==2381||2385<=g&&g<=2391||2402<=g&&g<=2403||g==2433||g==2492||g==2494||2497<=g&&g<=2500||g==2509||g==2519||2530<=g&&g<=2531||2561<=g&&g<=2562||g==2620||2625<=g&&g<=2626||2631<=g&&g<=2632||2635<=g&&g<=2637||g==2641||2672<=g&&g<=2673||g==2677||2689<=g&&g<=2690||g==2748||2753<=g&&g<=2757||2759<=g&&g<=2760||g==2765||2786<=g&&g<=2787||2810<=g&&g<=2815||g==2817||g==2876||g==2878||g==2879||2881<=g&&g<=2884||g==2893||g==2902||g==2903||2914<=g&&g<=2915||g==2946||g==3006||g==3008||g==3021||g==3031||g==3072||3134<=g&&g<=3136||3142<=g&&g<=3144||3146<=g&&g<=3149||3157<=g&&g<=3158||3170<=g&&g<=3171||g==3201||g==3260||g==3263||g==3266||g==3270||3276<=g&&g<=3277||3285<=g&&g<=3286||3298<=g&&g<=3299||3328<=g&&g<=3329||3387<=g&&g<=3388||g==3390||3393<=g&&g<=3396||g==3405||g==3415||3426<=g&&g<=3427||g==3530||g==3535||3538<=g&&g<=3540||g==3542||g==3551||g==3633||3636<=g&&g<=3642||3655<=g&&g<=3662||g==3761||3764<=g&&g<=3769||3771<=g&&g<=3772||3784<=g&&g<=3789||3864<=g&&g<=3865||g==3893||g==3895||g==3897||3953<=g&&g<=3966||3968<=g&&g<=3972||3974<=g&&g<=3975||3981<=g&&g<=3991||3993<=g&&g<=4028||g==4038||4141<=g&&g<=4144||4146<=g&&g<=4151||4153<=g&&g<=4154||4157<=g&&g<=4158||4184<=g&&g<=4185||4190<=g&&g<=4192||4209<=g&&g<=4212||g==4226||4229<=g&&g<=4230||g==4237||g==4253||4957<=g&&g<=4959||5906<=g&&g<=5908||5938<=g&&g<=5940||5970<=g&&g<=5971||6002<=g&&g<=6003||6068<=g&&g<=6069||6071<=g&&g<=6077||g==6086||6089<=g&&g<=6099||g==6109||6155<=g&&g<=6157||6277<=g&&g<=6278||g==6313||6432<=g&&g<=6434||6439<=g&&g<=6440||g==6450||6457<=g&&g<=6459||6679<=g&&g<=6680||g==6683||g==6742||6744<=g&&g<=6750||g==6752||g==6754||6757<=g&&g<=6764||6771<=g&&g<=6780||g==6783||6832<=g&&g<=6845||g==6846||6912<=g&&g<=6915||g==6964||6966<=g&&g<=6970||g==6972||g==6978||7019<=g&&g<=7027||7040<=g&&g<=7041||7074<=g&&g<=7077||7080<=g&&g<=7081||7083<=g&&g<=7085||g==7142||7144<=g&&g<=7145||g==7149||7151<=g&&g<=7153||7212<=g&&g<=7219||7222<=g&&g<=7223||7376<=g&&g<=7378||7380<=g&&g<=7392||7394<=g&&g<=7400||g==7405||g==7412||7416<=g&&g<=7417||7616<=g&&g<=7673||7675<=g&&g<=7679||g==8204||8400<=g&&g<=8412||8413<=g&&g<=8416||g==8417||8418<=g&&g<=8420||8421<=g&&g<=8432||11503<=g&&g<=11505||g==11647||11744<=g&&g<=11775||12330<=g&&g<=12333||12334<=g&&g<=12335||12441<=g&&g<=12442||g==42607||42608<=g&&g<=42610||42612<=g&&g<=42621||42654<=g&&g<=42655||42736<=g&&g<=42737||g==43010||g==43014||g==43019||43045<=g&&g<=43046||43204<=g&&g<=43205||43232<=g&&g<=43249||43302<=g&&g<=43309||43335<=g&&g<=43345||43392<=g&&g<=43394||g==43443||43446<=g&&g<=43449||g==43452||g==43493||43561<=g&&g<=43566||43569<=g&&g<=43570||43573<=g&&g<=43574||g==43587||g==43596||g==43644||g==43696||43698<=g&&g<=43700||43703<=g&&g<=43704||43710<=g&&g<=43711||g==43713||43756<=g&&g<=43757||g==43766||g==44005||g==44008||g==44013||g==64286||65024<=g&&g<=65039||65056<=g&&g<=65071||65438<=g&&g<=65439||g==66045||g==66272||66422<=g&&g<=66426||68097<=g&&g<=68099||68101<=g&&g<=68102||68108<=g&&g<=68111||68152<=g&&g<=68154||g==68159||68325<=g&&g<=68326||g==69633||69688<=g&&g<=69702||69759<=g&&g<=69761||69811<=g&&g<=69814||69817<=g&&g<=69818||69888<=g&&g<=69890||69927<=g&&g<=69931||69933<=g&&g<=69940||g==70003||70016<=g&&g<=70017||70070<=g&&g<=70078||70090<=g&&g<=70092||70191<=g&&g<=70193||g==70196||70198<=g&&g<=70199||g==70206||g==70367||70371<=g&&g<=70378||70400<=g&&g<=70401||g==70460||g==70462||g==70464||g==70487||70502<=g&&g<=70508||70512<=g&&g<=70516||70712<=g&&g<=70719||70722<=g&&g<=70724||g==70726||g==70832||70835<=g&&g<=70840||g==70842||g==70845||70847<=g&&g<=70848||70850<=g&&g<=70851||g==71087||71090<=g&&g<=71093||71100<=g&&g<=71101||71103<=g&&g<=71104||71132<=g&&g<=71133||71219<=g&&g<=71226||g==71229||71231<=g&&g<=71232||g==71339||g==71341||71344<=g&&g<=71349||g==71351||71453<=g&&g<=71455||71458<=g&&g<=71461||71463<=g&&g<=71467||72193<=g&&g<=72198||72201<=g&&g<=72202||72243<=g&&g<=72248||72251<=g&&g<=72254||g==72263||72273<=g&&g<=72278||72281<=g&&g<=72283||72330<=g&&g<=72342||72344<=g&&g<=72345||72752<=g&&g<=72758||72760<=g&&g<=72765||g==72767||72850<=g&&g<=72871||72874<=g&&g<=72880||72882<=g&&g<=72883||72885<=g&&g<=72886||73009<=g&&g<=73014||g==73018||73020<=g&&g<=73021||73023<=g&&g<=73029||g==73031||92912<=g&&g<=92916||92976<=g&&g<=92982||94095<=g&&g<=94098||113821<=g&&g<=113822||g==119141||119143<=g&&g<=119145||119150<=g&&g<=119154||119163<=g&&g<=119170||119173<=g&&g<=119179||119210<=g&&g<=119213||119362<=g&&g<=119364||121344<=g&&g<=121398||121403<=g&&g<=121452||g==121461||g==121476||121499<=g&&g<=121503||121505<=g&&g<=121519||122880<=g&&g<=122886||122888<=g&&g<=122904||122907<=g&&g<=122913||122915<=g&&g<=122916||122918<=g&&g<=122922||125136<=g&&g<=125142||125252<=g&&g<=125258||917536<=g&&g<=917631||917760<=g&&g<=917999?o:127462<=g&&g<=127487?a:g==2307||g==2363||2366<=g&&g<=2368||2377<=g&&g<=2380||2382<=g&&g<=2383||2434<=g&&g<=2435||2495<=g&&g<=2496||2503<=g&&g<=2504||2507<=g&&g<=2508||g==2563||2622<=g&&g<=2624||g==2691||2750<=g&&g<=2752||g==2761||2763<=g&&g<=2764||2818<=g&&g<=2819||g==2880||2887<=g&&g<=2888||2891<=g&&g<=2892||g==3007||3009<=g&&g<=3010||3014<=g&&g<=3016||3018<=g&&g<=3020||3073<=g&&g<=3075||3137<=g&&g<=3140||3202<=g&&g<=3203||g==3262||3264<=g&&g<=3265||3267<=g&&g<=3268||3271<=g&&g<=3272||3274<=g&&g<=3275||3330<=g&&g<=3331||3391<=g&&g<=3392||3398<=g&&g<=3400||3402<=g&&g<=3404||3458<=g&&g<=3459||3536<=g&&g<=3537||3544<=g&&g<=3550||3570<=g&&g<=3571||g==3635||g==3763||3902<=g&&g<=3903||g==3967||g==4145||4155<=g&&g<=4156||4182<=g&&g<=4183||g==4228||g==6070||6078<=g&&g<=6085||6087<=g&&g<=6088||6435<=g&&g<=6438||6441<=g&&g<=6443||6448<=g&&g<=6449||6451<=g&&g<=6456||6681<=g&&g<=6682||g==6741||g==6743||6765<=g&&g<=6770||g==6916||g==6965||g==6971||6973<=g&&g<=6977||6979<=g&&g<=6980||g==7042||g==7073||7078<=g&&g<=7079||g==7082||g==7143||7146<=g&&g<=7148||g==7150||7154<=g&&g<=7155||7204<=g&&g<=7211||7220<=g&&g<=7221||g==7393||7410<=g&&g<=7411||g==7415||43043<=g&&g<=43044||g==43047||43136<=g&&g<=43137||43188<=g&&g<=43203||43346<=g&&g<=43347||g==43395||43444<=g&&g<=43445||43450<=g&&g<=43451||43453<=g&&g<=43456||43567<=g&&g<=43568||43571<=g&&g<=43572||g==43597||g==43755||43758<=g&&g<=43759||g==43765||44003<=g&&g<=44004||44006<=g&&g<=44007||44009<=g&&g<=44010||g==44012||g==69632||g==69634||g==69762||69808<=g&&g<=69810||69815<=g&&g<=69816||g==69932||g==70018||70067<=g&&g<=70069||70079<=g&&g<=70080||70188<=g&&g<=70190||70194<=g&&g<=70195||g==70197||70368<=g&&g<=70370||70402<=g&&g<=70403||g==70463||70465<=g&&g<=70468||70471<=g&&g<=70472||70475<=g&&g<=70477||70498<=g&&g<=70499||70709<=g&&g<=70711||70720<=g&&g<=70721||g==70725||70833<=g&&g<=70834||g==70841||70843<=g&&g<=70844||g==70846||g==70849||71088<=g&&g<=71089||71096<=g&&g<=71099||g==71102||71216<=g&&g<=71218||71227<=g&&g<=71228||g==71230||g==71340||71342<=g&&g<=71343||g==71350||71456<=g&&g<=71457||g==71462||72199<=g&&g<=72200||g==72249||72279<=g&&g<=72280||g==72343||g==72751||g==72766||g==72873||g==72881||g==72884||94033<=g&&g<=94078||g==119142||g==119149?n:4352<=g&&g<=4447||43360<=g&&g<=43388?u:4448<=g&&g<=4519||55216<=g&&g<=55238?A:4520<=g&&g<=4607||55243<=g&&g<=55291?p:g==44032||g==44060||g==44088||g==44116||g==44144||g==44172||g==44200||g==44228||g==44256||g==44284||g==44312||g==44340||g==44368||g==44396||g==44424||g==44452||g==44480||g==44508||g==44536||g==44564||g==44592||g==44620||g==44648||g==44676||g==44704||g==44732||g==44760||g==44788||g==44816||g==44844||g==44872||g==44900||g==44928||g==44956||g==44984||g==45012||g==45040||g==45068||g==45096||g==45124||g==45152||g==45180||g==45208||g==45236||g==45264||g==45292||g==45320||g==45348||g==45376||g==45404||g==45432||g==45460||g==45488||g==45516||g==45544||g==45572||g==45600||g==45628||g==45656||g==45684||g==45712||g==45740||g==45768||g==45796||g==45824||g==45852||g==45880||g==45908||g==45936||g==45964||g==45992||g==46020||g==46048||g==46076||g==46104||g==46132||g==46160||g==46188||g==46216||g==46244||g==46272||g==46300||g==46328||g==46356||g==46384||g==46412||g==46440||g==46468||g==46496||g==46524||g==46552||g==46580||g==46608||g==46636||g==46664||g==46692||g==46720||g==46748||g==46776||g==46804||g==46832||g==46860||g==46888||g==46916||g==46944||g==46972||g==47e3||g==47028||g==47056||g==47084||g==47112||g==47140||g==47168||g==47196||g==47224||g==47252||g==47280||g==47308||g==47336||g==47364||g==47392||g==47420||g==47448||g==47476||g==47504||g==47532||g==47560||g==47588||g==47616||g==47644||g==47672||g==47700||g==47728||g==47756||g==47784||g==47812||g==47840||g==47868||g==47896||g==47924||g==47952||g==47980||g==48008||g==48036||g==48064||g==48092||g==48120||g==48148||g==48176||g==48204||g==48232||g==48260||g==48288||g==48316||g==48344||g==48372||g==48400||g==48428||g==48456||g==48484||g==48512||g==48540||g==48568||g==48596||g==48624||g==48652||g==48680||g==48708||g==48736||g==48764||g==48792||g==48820||g==48848||g==48876||g==48904||g==48932||g==48960||g==48988||g==49016||g==49044||g==49072||g==49100||g==49128||g==49156||g==49184||g==49212||g==49240||g==49268||g==49296||g==49324||g==49352||g==49380||g==49408||g==49436||g==49464||g==49492||g==49520||g==49548||g==49576||g==49604||g==49632||g==49660||g==49688||g==49716||g==49744||g==49772||g==49800||g==49828||g==49856||g==49884||g==49912||g==49940||g==49968||g==49996||g==50024||g==50052||g==50080||g==50108||g==50136||g==50164||g==50192||g==50220||g==50248||g==50276||g==50304||g==50332||g==50360||g==50388||g==50416||g==50444||g==50472||g==50500||g==50528||g==50556||g==50584||g==50612||g==50640||g==50668||g==50696||g==50724||g==50752||g==50780||g==50808||g==50836||g==50864||g==50892||g==50920||g==50948||g==50976||g==51004||g==51032||g==51060||g==51088||g==51116||g==51144||g==51172||g==51200||g==51228||g==51256||g==51284||g==51312||g==51340||g==51368||g==51396||g==51424||g==51452||g==51480||g==51508||g==51536||g==51564||g==51592||g==51620||g==51648||g==51676||g==51704||g==51732||g==51760||g==51788||g==51816||g==51844||g==51872||g==51900||g==51928||g==51956||g==51984||g==52012||g==52040||g==52068||g==52096||g==52124||g==52152||g==52180||g==52208||g==52236||g==52264||g==52292||g==52320||g==52348||g==52376||g==52404||g==52432||g==52460||g==52488||g==52516||g==52544||g==52572||g==52600||g==52628||g==52656||g==52684||g==52712||g==52740||g==52768||g==52796||g==52824||g==52852||g==52880||g==52908||g==52936||g==52964||g==52992||g==53020||g==53048||g==53076||g==53104||g==53132||g==53160||g==53188||g==53216||g==53244||g==53272||g==53300||g==53328||g==53356||g==53384||g==53412||g==53440||g==53468||g==53496||g==53524||g==53552||g==53580||g==53608||g==53636||g==53664||g==53692||g==53720||g==53748||g==53776||g==53804||g==53832||g==53860||g==53888||g==53916||g==53944||g==53972||g==54e3||g==54028||g==54056||g==54084||g==54112||g==54140||g==54168||g==54196||g==54224||g==54252||g==54280||g==54308||g==54336||g==54364||g==54392||g==54420||g==54448||g==54476||g==54504||g==54532||g==54560||g==54588||g==54616||g==54644||g==54672||g==54700||g==54728||g==54756||g==54784||g==54812||g==54840||g==54868||g==54896||g==54924||g==54952||g==54980||g==55008||g==55036||g==55064||g==55092||g==55120||g==55148||g==55176?h:44033<=g&&g<=44059||44061<=g&&g<=44087||44089<=g&&g<=44115||44117<=g&&g<=44143||44145<=g&&g<=44171||44173<=g&&g<=44199||44201<=g&&g<=44227||44229<=g&&g<=44255||44257<=g&&g<=44283||44285<=g&&g<=44311||44313<=g&&g<=44339||44341<=g&&g<=44367||44369<=g&&g<=44395||44397<=g&&g<=44423||44425<=g&&g<=44451||44453<=g&&g<=44479||44481<=g&&g<=44507||44509<=g&&g<=44535||44537<=g&&g<=44563||44565<=g&&g<=44591||44593<=g&&g<=44619||44621<=g&&g<=44647||44649<=g&&g<=44675||44677<=g&&g<=44703||44705<=g&&g<=44731||44733<=g&&g<=44759||44761<=g&&g<=44787||44789<=g&&g<=44815||44817<=g&&g<=44843||44845<=g&&g<=44871||44873<=g&&g<=44899||44901<=g&&g<=44927||44929<=g&&g<=44955||44957<=g&&g<=44983||44985<=g&&g<=45011||45013<=g&&g<=45039||45041<=g&&g<=45067||45069<=g&&g<=45095||45097<=g&&g<=45123||45125<=g&&g<=45151||45153<=g&&g<=45179||45181<=g&&g<=45207||45209<=g&&g<=45235||45237<=g&&g<=45263||45265<=g&&g<=45291||45293<=g&&g<=45319||45321<=g&&g<=45347||45349<=g&&g<=45375||45377<=g&&g<=45403||45405<=g&&g<=45431||45433<=g&&g<=45459||45461<=g&&g<=45487||45489<=g&&g<=45515||45517<=g&&g<=45543||45545<=g&&g<=45571||45573<=g&&g<=45599||45601<=g&&g<=45627||45629<=g&&g<=45655||45657<=g&&g<=45683||45685<=g&&g<=45711||45713<=g&&g<=45739||45741<=g&&g<=45767||45769<=g&&g<=45795||45797<=g&&g<=45823||45825<=g&&g<=45851||45853<=g&&g<=45879||45881<=g&&g<=45907||45909<=g&&g<=45935||45937<=g&&g<=45963||45965<=g&&g<=45991||45993<=g&&g<=46019||46021<=g&&g<=46047||46049<=g&&g<=46075||46077<=g&&g<=46103||46105<=g&&g<=46131||46133<=g&&g<=46159||46161<=g&&g<=46187||46189<=g&&g<=46215||46217<=g&&g<=46243||46245<=g&&g<=46271||46273<=g&&g<=46299||46301<=g&&g<=46327||46329<=g&&g<=46355||46357<=g&&g<=46383||46385<=g&&g<=46411||46413<=g&&g<=46439||46441<=g&&g<=46467||46469<=g&&g<=46495||46497<=g&&g<=46523||46525<=g&&g<=46551||46553<=g&&g<=46579||46581<=g&&g<=46607||46609<=g&&g<=46635||46637<=g&&g<=46663||46665<=g&&g<=46691||46693<=g&&g<=46719||46721<=g&&g<=46747||46749<=g&&g<=46775||46777<=g&&g<=46803||46805<=g&&g<=46831||46833<=g&&g<=46859||46861<=g&&g<=46887||46889<=g&&g<=46915||46917<=g&&g<=46943||46945<=g&&g<=46971||46973<=g&&g<=46999||47001<=g&&g<=47027||47029<=g&&g<=47055||47057<=g&&g<=47083||47085<=g&&g<=47111||47113<=g&&g<=47139||47141<=g&&g<=47167||47169<=g&&g<=47195||47197<=g&&g<=47223||47225<=g&&g<=47251||47253<=g&&g<=47279||47281<=g&&g<=47307||47309<=g&&g<=47335||47337<=g&&g<=47363||47365<=g&&g<=47391||47393<=g&&g<=47419||47421<=g&&g<=47447||47449<=g&&g<=47475||47477<=g&&g<=47503||47505<=g&&g<=47531||47533<=g&&g<=47559||47561<=g&&g<=47587||47589<=g&&g<=47615||47617<=g&&g<=47643||47645<=g&&g<=47671||47673<=g&&g<=47699||47701<=g&&g<=47727||47729<=g&&g<=47755||47757<=g&&g<=47783||47785<=g&&g<=47811||47813<=g&&g<=47839||47841<=g&&g<=47867||47869<=g&&g<=47895||47897<=g&&g<=47923||47925<=g&&g<=47951||47953<=g&&g<=47979||47981<=g&&g<=48007||48009<=g&&g<=48035||48037<=g&&g<=48063||48065<=g&&g<=48091||48093<=g&&g<=48119||48121<=g&&g<=48147||48149<=g&&g<=48175||48177<=g&&g<=48203||48205<=g&&g<=48231||48233<=g&&g<=48259||48261<=g&&g<=48287||48289<=g&&g<=48315||48317<=g&&g<=48343||48345<=g&&g<=48371||48373<=g&&g<=48399||48401<=g&&g<=48427||48429<=g&&g<=48455||48457<=g&&g<=48483||48485<=g&&g<=48511||48513<=g&&g<=48539||48541<=g&&g<=48567||48569<=g&&g<=48595||48597<=g&&g<=48623||48625<=g&&g<=48651||48653<=g&&g<=48679||48681<=g&&g<=48707||48709<=g&&g<=48735||48737<=g&&g<=48763||48765<=g&&g<=48791||48793<=g&&g<=48819||48821<=g&&g<=48847||48849<=g&&g<=48875||48877<=g&&g<=48903||48905<=g&&g<=48931||48933<=g&&g<=48959||48961<=g&&g<=48987||48989<=g&&g<=49015||49017<=g&&g<=49043||49045<=g&&g<=49071||49073<=g&&g<=49099||49101<=g&&g<=49127||49129<=g&&g<=49155||49157<=g&&g<=49183||49185<=g&&g<=49211||49213<=g&&g<=49239||49241<=g&&g<=49267||49269<=g&&g<=49295||49297<=g&&g<=49323||49325<=g&&g<=49351||49353<=g&&g<=49379||49381<=g&&g<=49407||49409<=g&&g<=49435||49437<=g&&g<=49463||49465<=g&&g<=49491||49493<=g&&g<=49519||49521<=g&&g<=49547||49549<=g&&g<=49575||49577<=g&&g<=49603||49605<=g&&g<=49631||49633<=g&&g<=49659||49661<=g&&g<=49687||49689<=g&&g<=49715||49717<=g&&g<=49743||49745<=g&&g<=49771||49773<=g&&g<=49799||49801<=g&&g<=49827||49829<=g&&g<=49855||49857<=g&&g<=49883||49885<=g&&g<=49911||49913<=g&&g<=49939||49941<=g&&g<=49967||49969<=g&&g<=49995||49997<=g&&g<=50023||50025<=g&&g<=50051||50053<=g&&g<=50079||50081<=g&&g<=50107||50109<=g&&g<=50135||50137<=g&&g<=50163||50165<=g&&g<=50191||50193<=g&&g<=50219||50221<=g&&g<=50247||50249<=g&&g<=50275||50277<=g&&g<=50303||50305<=g&&g<=50331||50333<=g&&g<=50359||50361<=g&&g<=50387||50389<=g&&g<=50415||50417<=g&&g<=50443||50445<=g&&g<=50471||50473<=g&&g<=50499||50501<=g&&g<=50527||50529<=g&&g<=50555||50557<=g&&g<=50583||50585<=g&&g<=50611||50613<=g&&g<=50639||50641<=g&&g<=50667||50669<=g&&g<=50695||50697<=g&&g<=50723||50725<=g&&g<=50751||50753<=g&&g<=50779||50781<=g&&g<=50807||50809<=g&&g<=50835||50837<=g&&g<=50863||50865<=g&&g<=50891||50893<=g&&g<=50919||50921<=g&&g<=50947||50949<=g&&g<=50975||50977<=g&&g<=51003||51005<=g&&g<=51031||51033<=g&&g<=51059||51061<=g&&g<=51087||51089<=g&&g<=51115||51117<=g&&g<=51143||51145<=g&&g<=51171||51173<=g&&g<=51199||51201<=g&&g<=51227||51229<=g&&g<=51255||51257<=g&&g<=51283||51285<=g&&g<=51311||51313<=g&&g<=51339||51341<=g&&g<=51367||51369<=g&&g<=51395||51397<=g&&g<=51423||51425<=g&&g<=51451||51453<=g&&g<=51479||51481<=g&&g<=51507||51509<=g&&g<=51535||51537<=g&&g<=51563||51565<=g&&g<=51591||51593<=g&&g<=51619||51621<=g&&g<=51647||51649<=g&&g<=51675||51677<=g&&g<=51703||51705<=g&&g<=51731||51733<=g&&g<=51759||51761<=g&&g<=51787||51789<=g&&g<=51815||51817<=g&&g<=51843||51845<=g&&g<=51871||51873<=g&&g<=51899||51901<=g&&g<=51927||51929<=g&&g<=51955||51957<=g&&g<=51983||51985<=g&&g<=52011||52013<=g&&g<=52039||52041<=g&&g<=52067||52069<=g&&g<=52095||52097<=g&&g<=52123||52125<=g&&g<=52151||52153<=g&&g<=52179||52181<=g&&g<=52207||52209<=g&&g<=52235||52237<=g&&g<=52263||52265<=g&&g<=52291||52293<=g&&g<=52319||52321<=g&&g<=52347||52349<=g&&g<=52375||52377<=g&&g<=52403||52405<=g&&g<=52431||52433<=g&&g<=52459||52461<=g&&g<=52487||52489<=g&&g<=52515||52517<=g&&g<=52543||52545<=g&&g<=52571||52573<=g&&g<=52599||52601<=g&&g<=52627||52629<=g&&g<=52655||52657<=g&&g<=52683||52685<=g&&g<=52711||52713<=g&&g<=52739||52741<=g&&g<=52767||52769<=g&&g<=52795||52797<=g&&g<=52823||52825<=g&&g<=52851||52853<=g&&g<=52879||52881<=g&&g<=52907||52909<=g&&g<=52935||52937<=g&&g<=52963||52965<=g&&g<=52991||52993<=g&&g<=53019||53021<=g&&g<=53047||53049<=g&&g<=53075||53077<=g&&g<=53103||53105<=g&&g<=53131||53133<=g&&g<=53159||53161<=g&&g<=53187||53189<=g&&g<=53215||53217<=g&&g<=53243||53245<=g&&g<=53271||53273<=g&&g<=53299||53301<=g&&g<=53327||53329<=g&&g<=53355||53357<=g&&g<=53383||53385<=g&&g<=53411||53413<=g&&g<=53439||53441<=g&&g<=53467||53469<=g&&g<=53495||53497<=g&&g<=53523||53525<=g&&g<=53551||53553<=g&&g<=53579||53581<=g&&g<=53607||53609<=g&&g<=53635||53637<=g&&g<=53663||53665<=g&&g<=53691||53693<=g&&g<=53719||53721<=g&&g<=53747||53749<=g&&g<=53775||53777<=g&&g<=53803||53805<=g&&g<=53831||53833<=g&&g<=53859||53861<=g&&g<=53887||53889<=g&&g<=53915||53917<=g&&g<=53943||53945<=g&&g<=53971||53973<=g&&g<=53999||54001<=g&&g<=54027||54029<=g&&g<=54055||54057<=g&&g<=54083||54085<=g&&g<=54111||54113<=g&&g<=54139||54141<=g&&g<=54167||54169<=g&&g<=54195||54197<=g&&g<=54223||54225<=g&&g<=54251||54253<=g&&g<=54279||54281<=g&&g<=54307||54309<=g&&g<=54335||54337<=g&&g<=54363||54365<=g&&g<=54391||54393<=g&&g<=54419||54421<=g&&g<=54447||54449<=g&&g<=54475||54477<=g&&g<=54503||54505<=g&&g<=54531||54533<=g&&g<=54559||54561<=g&&g<=54587||54589<=g&&g<=54615||54617<=g&&g<=54643||54645<=g&&g<=54671||54673<=g&&g<=54699||54701<=g&&g<=54727||54729<=g&&g<=54755||54757<=g&&g<=54783||54785<=g&&g<=54811||54813<=g&&g<=54839||54841<=g&&g<=54867||54869<=g&&g<=54895||54897<=g&&g<=54923||54925<=g&&g<=54951||54953<=g&&g<=54979||54981<=g&&g<=55007||55009<=g&&g<=55035||55037<=g&&g<=55063||55065<=g&&g<=55091||55093<=g&&g<=55119||55121<=g&&g<=55147||55149<=g&&g<=55175||55177<=g&&g<=55203?E:g==9757||g==9977||9994<=g&&g<=9997||g==127877||127938<=g&&g<=127940||g==127943||127946<=g&&g<=127948||128066<=g&&g<=128067||128070<=g&&g<=128080||g==128110||128112<=g&&g<=128120||g==128124||128129<=g&&g<=128131||128133<=g&&g<=128135||g==128170||128372<=g&&g<=128373||g==128378||g==128400||128405<=g&&g<=128406||128581<=g&&g<=128583||128587<=g&&g<=128591||g==128675||128692<=g&&g<=128694||g==128704||g==128716||129304<=g&&g<=129308||129310<=g&&g<=129311||g==129318||129328<=g&&g<=129337||129341<=g&&g<=129342||129489<=g&&g<=129501?b:127995<=g&&g<=127999?C:g==8205?R:g==9792||g==9794||9877<=g&&g<=9878||g==9992||g==10084||g==127752||g==127806||g==127859||g==127891||g==127908||g==127912||g==127979||g==127981||g==128139||128187<=g&&g<=128188||g==128295||g==128300||g==128488||g==128640||g==128658?L:128102<=g&&g<=128105?_:w}return this}typeof Rx<"u"&&Rx.exports&&(Rx.exports=Rot)});var aue=U((wMt,oue)=>{var Tot=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,Tx;function Not(){if(Tx)return Tx;if(typeof Intl.Segmenter<"u"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return Tx=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=sue(),e=new t;return Tx=r=>e.splitGraphemes(r)}}oue.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let o=r-e,a="",n=0,u=0;for(;t.length>0;){let A=t.match(Tot)||[t,t,void 0],p=Not()(A[1]),h=Math.min(e-n,p.length);p=p.slice(h);let E=Math.min(o-u,p.length);a+=p.slice(0,E).join(""),n+=h,u+=E,typeof A[2]<"u"&&(a+=A[2]),t=t.slice(A[0].length)}return a}});function fue(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let a=Vu(t===null?0:t);return!r&&t===null?Kt(e,a,"grey"):a}function IU(t,{configuration:e,json:r}){let o=fue(t,{configuration:e,json:r});if(!o||t===null||t===0)return o;let a=dr[t],n=`https://yarnpkg.com/advanced/error-codes#${o}---${a}`.toLowerCase();return Xy(e,o,n)}var Aue,Lx,lue,cue,Lot,Oot,Nx,uue,Mot,Uot,Ox,_ot,Et,Mx=dt(()=>{Aue=tt(aue()),Lx=tt(Xg());eS();Xl();Jl();Ks();lue=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],cue=80,Lot=new Set([13,19]),Oot=5,Nx=Lx.default.GITHUB_ACTIONS?{start:t=>`::group::${t} |
166 | `,end:t=>`::endgroup:: | 166 | `,end:t=>`::endgroup:: |
167 | `}:bx.default.TRAVIS?{start:t=>`travis_fold:start:${t} | 167 | `}:Lx.default.TRAVIS?{start:t=>`travis_fold:start:${t} |
168 | `,end:t=>`travis_fold:end:${t} | 168 | `,end:t=>`travis_fold:end:${t} |
169 | `}:bx.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${t} | 169 | `}:Lx.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${t} |
170 | `,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,iue=new Date,Pot=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,xot=t=>t,Qx=xot({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),bot=Pot&&Object.keys(Qx).find(t=>{let e=Qx[t];return!(e.date&&(e.date[0]!==iue.getDate()||e.date[1]!==iue.getMonth()+1))})||"default";Ct=class extends Vs{constructor({configuration:r,stdout:o,json:a=!1,includeNames:n=!0,includePrefix:u=!0,includeFooter:A=!0,includeLogs:p=!a,includeInfos:h=p,includeWarnings:C=p,forgettableBufferSize:w=Sot,forgettableNames:v=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Ow(this,{configuration:r}),this.configuration=r,this.forgettableBufferSize=w,this.forgettableNames=new Set([...v,...Dot]),this.includeNames=n,this.includePrefix=u,this.includeFooter=A,this.includeInfos=h,this.includeWarnings=C,this.json=a,this.stdout=o,r.get("enableProgressBars")&&!a&&o.isTTY&&o.columns>22){let b=r.get("progressBarStyle")||bot;if(!Object.prototype.hasOwnProperty.call(Qx,b))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=Qx[b];let E=12,R=Math.max(0,Math.min(o.columns-E,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*R/80)}}static async start(r,o){let a=new this(r),n=process.emitWarning;process.emitWarning=(u,A)=>{if(typeof u!="string"){let h=u;u=h.message,A=A??h.name}let p=typeof A<"u"?`${A}: ${u}`:u;a.reportWarning(0,p)};try{await o(a)}catch(u){a.reportExceptionOnce(u)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){this.cacheHitCount+=1}reportCacheMiss(r,o){this.lastCacheMiss=r,this.cacheMissCount+=1,typeof o<"u"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(13,o)}startSectionSync({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r==null||r()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&(o==null||o(p-A))}}async startSectionPromise({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r==null||r()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&(o==null||o(p-A))}}startTimerImpl(r,o,a){return{cb:typeof o=="function"?o:a,reportHeader:()=>{this.reportInfo(null,`\u250C ${r}`),this.indent+=1,xx!==null&&!this.json&&this.includeInfos&&this.stdout.write(xx.start(r))},reportFooter:A=>{this.indent-=1,xx!==null&&!this.json&&this.includeInfos&&this.stdout.write(xx.end(r)),this.configuration.get("enableTimers")&&A>200?this.reportInfo(null,`\u2514 Completed in ${Kt(this.configuration,A,Bt.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:(typeof o=="function"?{}:o).skipIfEmpty}}startTimerSync(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionSync(u,n)}async startTimerPromise(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionPromise(u,n)}async startCacheReport(r){let o=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await r()}catch(a){throw this.reportExceptionOnce(a),a}finally{o!==null&&this.reportCacheChanges(o)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(r,o){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",u=`${this.formatPrefix(n,"blueBright")}${o}`;if(this.json)this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o});else if(this.forgettableNames.has(r))if(this.forgettableLines.push(u),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(u,{truncate:!0});else this.writeLineWithForgettableReset(u)}reportWarning(r,o){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLineWithForgettableReset(`${this.formatPrefix(n,"yellowBright")}${o}`)}reportError(r,o){this.errorCount+=1,this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLineWithForgettableReset(`${this.formatPrefix(n,"redBright")}${o}`,{truncate:!1})}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let o=!1,a=Promise.resolve().then(async()=>{let u={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:u,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:A,title:p}of r)o||u.progress===A&&u.title===p||(u.progress=A,u.title=p,this.refreshProgress());n()}),n=()=>{o||(o=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let o=Kt(this.configuration,Date.now()-this.startTime,Bt.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${o}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:o}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:o})} | 170 | `,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,uue=new Date,Mot=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,Uot=t=>t,Ox=Uot({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),_ot=Mot&&Object.keys(Ox).find(t=>{let e=Ox[t];return!(e.date&&(e.date[0]!==uue.getDate()||e.date[1]!==uue.getMonth()+1))})||"default";Et=class extends Js{constructor({configuration:r,stdout:o,json:a=!1,includeNames:n=!0,includePrefix:u=!0,includeFooter:A=!0,includeLogs:p=!a,includeInfos:h=p,includeWarnings:E=p,forgettableBufferSize:w=Oot,forgettableNames:v=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Hw(this,{configuration:r}),this.configuration=r,this.forgettableBufferSize=w,this.forgettableNames=new Set([...v,...Lot]),this.includeNames=n,this.includePrefix=u,this.includeFooter=A,this.includeInfos=h,this.includeWarnings=E,this.json=a,this.stdout=o,r.get("enableProgressBars")&&!a&&o.isTTY&&o.columns>22){let b=r.get("progressBarStyle")||_ot;if(!Object.prototype.hasOwnProperty.call(Ox,b))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=Ox[b];let C=12,R=Math.max(0,Math.min(o.columns-C,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*R/80)}}static async start(r,o){let a=new this(r),n=process.emitWarning;process.emitWarning=(u,A)=>{if(typeof u!="string"){let h=u;u=h.message,A=A??h.name}let p=typeof A<"u"?`${A}: ${u}`:u;a.reportWarning(0,p)};try{await o(a)}catch(u){a.reportExceptionOnce(u)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){this.cacheHitCount+=1}reportCacheMiss(r,o){this.lastCacheMiss=r,this.cacheMissCount+=1,typeof o<"u"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(13,o)}startSectionSync({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r==null||r()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&(o==null||o(p-A))}}async startSectionPromise({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r==null||r()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&(o==null||o(p-A))}}startTimerImpl(r,o,a){return{cb:typeof o=="function"?o:a,reportHeader:()=>{this.reportInfo(null,`\u250C ${r}`),this.indent+=1,Nx!==null&&!this.json&&this.includeInfos&&this.stdout.write(Nx.start(r))},reportFooter:A=>{this.indent-=1,Nx!==null&&!this.json&&this.includeInfos&&this.stdout.write(Nx.end(r)),this.configuration.get("enableTimers")&&A>200?this.reportInfo(null,`\u2514 Completed in ${Kt(this.configuration,A,Bt.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:(typeof o=="function"?{}:o).skipIfEmpty}}startTimerSync(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionSync(u,n)}async startTimerPromise(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionPromise(u,n)}async startCacheReport(r){let o=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await r()}catch(a){throw this.reportExceptionOnce(a),a}finally{o!==null&&this.reportCacheChanges(o)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(r,o){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",u=`${this.formatPrefix(n,"blueBright")}${o}`;if(this.json)this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o});else if(this.forgettableNames.has(r))if(this.forgettableLines.push(u),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(u,{truncate:!0});else this.writeLineWithForgettableReset(u)}reportWarning(r,o){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLineWithForgettableReset(`${this.formatPrefix(n,"yellowBright")}${o}`)}reportError(r,o){this.errorCount+=1,this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLineWithForgettableReset(`${this.formatPrefix(n,"redBright")}${o}`,{truncate:!1})}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let o=!1,a=Promise.resolve().then(async()=>{let u={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:u,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:A,title:p}of r)o||u.progress===A&&u.title===p||(u.progress=A,u.title=p,this.refreshProgress());n()}),n=()=>{o||(o=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let o=Kt(this.configuration,Date.now()-this.startTime,Bt.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${o}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:o}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:o})} |
171 | `),this.writeProgress()}writeLineWithForgettableReset(r,{truncate:o}={}){this.forgettableLines=[],this.writeLine(r,{truncate:o})}writeLines(r,{truncate:o}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:o})} | 171 | `),this.writeProgress()}writeLineWithForgettableReset(r,{truncate:o}={}){this.forgettableLines=[],this.writeLine(r,{truncate:o})}writeLines(r,{truncate:o}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:o})} |
172 | `);this.writeProgress()}reportCacheChanges({cacheHitCount:r,cacheMissCount:o}){let a=this.cacheHitCount-r,n=this.cacheMissCount-o;if(a===0&&n===0)return;let u="";this.cacheHitCount>1?u+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?u+=" - one package was already cached":u+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?u+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(u+=`, one had to be fetched (${kr(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?u+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(u+=` - one package had to be fetched (${kr(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,u)}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let o of r)o.committed=!0,o.action()}clearProgress({delta:r=0,clear:o=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||o)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>nue&&(this.progressFrame=(this.progressFrame+1)%rue.length,this.progressTime=r);let o=rue[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),C=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${C}`}let u=this.formatName(null),A=u?`${u}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${Kt(this.configuration,"\u27A4","blueBright")} ${A}${o}${n}${p} | 172 | `);this.writeProgress()}reportCacheChanges({cacheHitCount:r,cacheMissCount:o}){let a=this.cacheHitCount-r,n=this.cacheMissCount-o;if(a===0&&n===0)return;let u="";this.cacheHitCount>1?u+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?u+=" - one package was already cached":u+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?u+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(u+=`, one had to be fetched (${kr(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?u+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(u+=` - one package had to be fetched (${kr(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,u)}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let o of r)o.committed=!0,o.action()}clearProgress({delta:r=0,clear:o=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||o)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>cue&&(this.progressFrame=(this.progressFrame+1)%lue.length,this.progressTime=r);let o=lue[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),E=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${E}`}let u=this.formatName(null),A=u?`${u}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${Kt(this.configuration,"\u27A4","blueBright")} ${A}${o}${n}${p} |
173 | `)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},nue)}refreshProgress({delta:r=0,force:o=!1}={}){let a=!1,n=!1;if(o||this.progress.size===0)a=!0;else for(let u of this.progress.values()){let A=typeof u.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*u.definition.progress):void 0,p=u.lastScaledSize;u.lastScaledSize=A;let h=u.lastTitle;if(u.lastTitle=u.definition.title,A!==p||(n=h!==u.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:o}={}){return this.progressStyle===null&&(o=!1),typeof o>"u"&&(o=this.configuration.get("preferTruncatedLines")),o&&(r=(0,sue.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?oue(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,o){return this.includePrefix?`${Kt(this.configuration,"\u27A4",o)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?CU(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return"\u2502 ".repeat(this.indent)}}});var On,IU=dt(()=>{On="4.0.0-rc.37"});var sn={};Yt(sn,{PackageManager:()=>cue,detectPackageManager:()=>uue,executePackageAccessibleBinary:()=>gue,executePackageScript:()=>Fx,executePackageShellcode:()=>wU,executeWorkspaceAccessibleBinary:()=>Lot,executeWorkspaceLifecycleScript:()=>pue,executeWorkspaceScript:()=>fue,getPackageAccessibleBinaries:()=>Rx,getWorkspaceAccessibleBinaries:()=>hue,hasPackageScript:()=>Rot,hasWorkspaceScript:()=>BU,makeScriptEnv:()=>I1,maybeExecuteWorkspaceLifecycleScript:()=>Not,prepareExternalProject:()=>Fot});async function Tf(t,e,r,o=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${o.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await ae.writeFilePromise(V.format({dir:t,name:e,ext:".cmd"}),a)}await ae.writeFilePromise(V.join(t,e),`#!/bin/sh | 173 | `)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},cue)}refreshProgress({delta:r=0,force:o=!1}={}){let a=!1,n=!1;if(o||this.progress.size===0)a=!0;else for(let u of this.progress.values()){let A=typeof u.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*u.definition.progress):void 0,p=u.lastScaledSize;u.lastScaledSize=A;let h=u.lastTitle;if(u.lastTitle=u.definition.title,A!==p||(n=h!==u.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:o}={}){return this.progressStyle===null&&(o=!1),typeof o>"u"&&(o=this.configuration.get("preferTruncatedLines")),o&&(r=(0,Aue.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?fue(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,o){return this.includePrefix?`${Kt(this.configuration,"\u27A4",o)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?IU(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return"\u2502 ".repeat(this.indent)}}});var On,wU=dt(()=>{On="4.0.0-rc.42"});var sn={};Yt(sn,{PackageManager:()=>gue,detectPackageManager:()=>due,executePackageAccessibleBinary:()=>Iue,executePackageScript:()=>Ux,executePackageShellcode:()=>BU,executeWorkspaceAccessibleBinary:()=>Kot,executeWorkspaceLifecycleScript:()=>Cue,executeWorkspaceScript:()=>yue,getPackageAccessibleBinaries:()=>_x,getWorkspaceAccessibleBinaries:()=>Eue,hasPackageScript:()=>Got,hasWorkspaceScript:()=>vU,makeScriptEnv:()=>D1,maybeExecuteWorkspaceLifecycleScript:()=>Yot,prepareExternalProject:()=>jot});async function Lf(t,e,r,o=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${o.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await ae.writeFilePromise(z.format({dir:t,name:e,ext:".cmd"}),a)}await ae.writeFilePromise(z.join(t,e),`#!/bin/sh |
174 | exec "${r}" ${o.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" | 174 | exec "${r}" ${o.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" |
175 | `,{mode:493})}async function uue(t){let e=await Nt.tryFind(t);if(e!=null&&e.packageManager){let o=vP(e.packageManager);if(o!=null&&o.name){let a=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[n]=o.reference.split(".");switch(o.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await ae.readFilePromise(V.join(t,Lr.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:ae.existsSync(V.join(t,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:ae.existsSync(V.join(t,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function I1({project:t,locator:e,binFolder:r,ignoreCorepack:o,lifecycleScript:a}){let n={};for(let[h,C]of Object.entries(process.env))typeof C<"u"&&(n[h.toLowerCase()!=="path"?h:"PATH"]=C);let u=Ae.fromPortablePath(r);n.BERRY_BIN_FOLDER=Ae.fromPortablePath(u);let A=process.env.COREPACK_ROOT&&!o?Ae.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([Tf(r,"node",process.execPath),...On!==null?[Tf(r,"run",process.execPath,[A,"run"]),Tf(r,"yarn",process.execPath,[A]),Tf(r,"yarnpkg",process.execPath,[A]),Tf(r,"node-gyp",process.execPath,[A,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=Ae.cwd(),n.PROJECT_CWD=Ae.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${u}${Ae.delimiter}${n.PATH}`:`${u}`,n.npm_execpath=`${u}${Ae.sep}yarn`,n.npm_node_execpath=`${u}${Ae.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let h=t.tryWorkspaceByLocator(e),C=h?h.manifest.version??"":t.storedPackages.get(e.locatorHash).version??"";n.npm_package_name=nn(e),n.npm_package_version=C;let w;if(h)w=h.cwd;else{let v=t.storedPackages.get(e.locatorHash);if(!v)throw new Error(`Package for ${kr(t.configuration,e)} not found in the project`);let b=t.configuration.getLinkers(),E={project:t,report:new Ct({stdout:new c0.PassThrough,configuration:t.configuration})},R=b.find(L=>L.supportsPackage(v,E));if(!R)throw new Error(`The package ${kr(t.configuration,v)} isn't supported by any of the available linkers`);w=await R.findPackageLocation(v,E)}n.npm_package_json=Ae.fromPortablePath(V.join(w,Lr.manifest))}let p=On!==null?`yarn/${On}`:`yarn/${Kp("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${p} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(n.npm_lifecycle_event=a),t&&await t.configuration.triggerHook(h=>h.setupScriptEnvironment,t,n,async(h,C,w)=>await Tf(r,Li(h),C,w)),n}async function Fot(t,e,{configuration:r,report:o,workspace:a=null,locator:n=null}){await kot(async()=>{await ae.mktempPromise(async u=>{let A=V.join(u,"pack.log"),p=null,{stdout:h,stderr:C}=r.getSubprocessStreams(A,{prefix:Ae.fromPortablePath(t),report:o}),w=n&&qc(n)?jw(n):n,v=w?Wl(w):"an external project";h.write(`Packing ${v} from sources | 175 | `,{mode:493})}async function due(t){let e=await Nt.tryFind(t);if(e!=null&&e.packageManager){let o=kP(e.packageManager);if(o!=null&&o.name){let a=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[n]=o.reference.split(".");switch(o.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await ae.readFilePromise(z.join(t,Lr.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:ae.existsSync(z.join(t,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:ae.existsSync(z.join(t,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function D1({project:t,locator:e,binFolder:r,ignoreCorepack:o,lifecycleScript:a}){let n={};for(let[h,E]of Object.entries(process.env))typeof E<"u"&&(n[h.toLowerCase()!=="path"?h:"PATH"]=E);let u=ue.fromPortablePath(r);n.BERRY_BIN_FOLDER=ue.fromPortablePath(u);let A=process.env.COREPACK_ROOT&&!o?ue.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([Lf(r,"node",process.execPath),...On!==null?[Lf(r,"run",process.execPath,[A,"run"]),Lf(r,"yarn",process.execPath,[A]),Lf(r,"yarnpkg",process.execPath,[A]),Lf(r,"node-gyp",process.execPath,[A,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=ue.cwd(),n.PROJECT_CWD=ue.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${u}${ue.delimiter}${n.PATH}`:`${u}`,n.npm_execpath=`${u}${ue.sep}yarn`,n.npm_node_execpath=`${u}${ue.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let h=t.tryWorkspaceByLocator(e),E=h?h.manifest.version??"":t.storedPackages.get(e.locatorHash).version??"";n.npm_package_name=nn(e),n.npm_package_version=E;let w;if(h)w=h.cwd;else{let v=t.storedPackages.get(e.locatorHash);if(!v)throw new Error(`Package for ${kr(t.configuration,e)} not found in the project`);let b=t.configuration.getLinkers(),C={project:t,report:new Et({stdout:new u0.PassThrough,configuration:t.configuration})},R=b.find(L=>L.supportsPackage(v,C));if(!R)throw new Error(`The package ${kr(t.configuration,v)} isn't supported by any of the available linkers`);w=await R.findPackageLocation(v,C)}n.npm_package_json=ue.fromPortablePath(z.join(w,Lr.manifest))}let p=On!==null?`yarn/${On}`:`yarn/${Vp("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${p} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(n.npm_lifecycle_event=a),t&&await t.configuration.triggerHook(h=>h.setupScriptEnvironment,t,n,async(h,E,w)=>await Lf(r,Li(h),E,w)),n}async function jot(t,e,{configuration:r,report:o,workspace:a=null,locator:n=null}){await qot(async()=>{await ae.mktempPromise(async u=>{let A=z.join(u,"pack.log"),p=null,{stdout:h,stderr:E}=r.getSubprocessStreams(A,{prefix:ue.fromPortablePath(t),report:o}),w=n&&Wc(n)?Kw(n):n,v=w?Vl(w):"an external project";h.write(`Packing ${v} from sources |
176 | `);let b=await uue(t),E;b!==null?(h.write(`Using ${b.packageManager} for bootstrap. Reason: ${b.reason} | 176 | `);let b=await due(t),C;b!==null?(h.write(`Using ${b.packageManager} for bootstrap. Reason: ${b.reason} |
177 | 177 | ||
178 | `),E=b.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn | 178 | `),C=b.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn |
179 | 179 | ||
180 | `),E="Yarn");let R=E==="Yarn"&&!(b!=null&&b.packageManagerField);await ae.mktempPromise(async L=>{let _=await I1({binFolder:L,ignoreCorepack:R}),re=new Map([["Yarn Classic",async()=>{let pe=a!==null?["workspace",a]:[],he=V.join(t,Lr.manifest),ve=await ae.readFilePromise(he),ge=await iA(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:t,env:_,stdin:p,stdout:h,stderr:C,end:1});if(ge.code!==0)return ge.code;await ae.writeFilePromise(he,ve),await ae.appendFilePromise(V.join(t,".npmignore"),`/.yarn | 180 | `),C="Yarn");let R=C==="Yarn"&&!(b!=null&&b.packageManagerField);await ae.mktempPromise(async L=>{let _=await D1({binFolder:L,ignoreCorepack:R}),re=new Map([["Yarn Classic",async()=>{let pe=a!==null?["workspace",a]:[],he=z.join(t,Lr.manifest),ve=await ae.readFilePromise(he),ge=await sA(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:t,env:_,stdin:p,stdout:h,stderr:E,end:1});if(ge.code!==0)return ge.code;await ae.writeFilePromise(he,ve),await ae.appendFilePromise(z.join(t,".npmignore"),`/.yarn |
181 | `),h.write(` | 181 | `),h.write(` |
182 | `),delete _.NODE_ENV;let le=await iA("yarn",["install"],{cwd:t,env:_,stdin:p,stdout:h,stderr:C,end:1});if(le.code!==0)return le.code;h.write(` | 182 | `),delete _.NODE_ENV;let le=await sA("yarn",["install"],{cwd:t,env:_,stdin:p,stdout:h,stderr:E,end:1});if(le.code!==0)return le.code;h.write(` |
183 | `);let Pe=await iA("yarn",[...pe,"pack","--filename",Ae.fromPortablePath(e)],{cwd:t,env:_,stdin:p,stdout:h,stderr:C});return Pe.code!==0?Pe.code:0}],["Yarn",async()=>{let pe=a!==null?["workspace",a]:[];_.YARN_ENABLE_INLINE_BUILDS="1";let he=V.join(t,Lr.lockfile);await ae.existsPromise(he)||await ae.writeFilePromise(he,"");let ve=await iA("yarn",[...pe,"pack","--install-if-needed","--filename",Ae.fromPortablePath(e)],{cwd:t,env:_,stdin:p,stdout:h,stderr:C});return ve.code!==0?ve.code:0}],["npm",async()=>{if(a!==null){let De=new c0.PassThrough,Ee=Gy(De);De.pipe(h,{end:!1});let de=await iA("npm",["--version"],{cwd:t,env:_,stdin:p,stdout:De,stderr:C,end:0});if(De.end(),de.code!==0)return h.end(),C.end(),de.code;let ne=(await Ee).toString().trim();if(!Bd(ne,">=7.x")){let Z=rA(null,"npm"),me=mn(Z,ne),be=mn(Z,">=7.x");throw new Error(`Workspaces aren't supported by ${Ln(r,me)}; please upgrade to ${Ln(r,be)} (npm has been detected as the primary package manager for ${Kt(r,t,Bt.PATH)})`)}}let pe=a!==null?["--workspace",a]:[];delete _.npm_config_user_agent,delete _.npm_config_production,delete _.NPM_CONFIG_PRODUCTION,delete _.NODE_ENV;let he=await iA("npm",["install"],{cwd:t,env:_,stdin:p,stdout:h,stderr:C,end:1});if(he.code!==0)return he.code;let ve=new c0.PassThrough,ge=Gy(ve);ve.pipe(h);let le=await iA("npm",["pack","--silent",...pe],{cwd:t,env:_,stdin:p,stdout:ve,stderr:C});if(le.code!==0)return le.code;let Pe=(await ge).toString().trim().replace(/^.*\n/s,""),g=V.resolve(t,Ae.toPortablePath(Pe));return await ae.renamePromise(g,e),0}]]).get(E);if(typeof re>"u")throw new Error("Assertion failed: Unsupported workflow");let oe=await re();if(!(oe===0||typeof oe>"u"))throw ae.detachTemp(u),new Jt(58,`Packing the package failed (exit code ${oe}, logs can be found here: ${Kt(r,A,Bt.PATH)})`)})})})}async function Rot(t,e,{project:r}){let o=r.tryWorkspaceByLocator(t);if(o!==null)return BU(o,e);let a=r.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${kr(r.configuration,t)} not found in the project`);return await Ll.openPromise(async n=>{let u=r.configuration,A=r.configuration.getLinkers(),p={project:r,report:new Ct({stdout:new c0.PassThrough,configuration:u})},h=A.find(b=>b.supportsPackage(a,p));if(!h)throw new Error(`The package ${kr(r.configuration,a)} isn't supported by any of the available linkers`);let C=await h.findPackageLocation(a,p),w=new An(C,{baseFs:n});return(await Nt.find(wt.dot,{baseFs:w})).scripts.has(e)})}async function Fx(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{manifest:h,env:C,cwd:w}=await Aue(t,{project:a,binFolder:p,cwd:o,lifecycleScript:e}),v=h.scripts.get(e);if(typeof v>"u")return 1;let b=async()=>await PE(v,r,{cwd:w,env:C,stdin:n,stdout:u,stderr:A});return await(await a.configuration.reduceHook(R=>R.wrapScriptExecution,b,a,t,e,{script:v,args:r,cwd:w,env:C,stdin:n,stdout:u,stderr:A}))()})}async function wU(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{env:h,cwd:C}=await Aue(t,{project:a,binFolder:p,cwd:o});return await PE(e,r,{cwd:C,env:h,stdin:n,stdout:u,stderr:A})})}async function Tot(t,{binFolder:e,cwd:r,lifecycleScript:o}){let a=await I1({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:o});return await Promise.all(Array.from(await hue(t),([n,[,u]])=>Tf(e,Li(n),process.execPath,[u]))),typeof r>"u"&&(r=V.dirname(await ae.realpathPromise(V.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:a,cwd:r}}async function Aue(t,{project:e,binFolder:r,cwd:o,lifecycleScript:a}){let n=e.tryWorkspaceByLocator(t);if(n!==null)return Tot(n,{binFolder:r,cwd:o,lifecycleScript:a});let u=e.storedPackages.get(t.locatorHash);if(!u)throw new Error(`Package for ${kr(e.configuration,t)} not found in the project`);return await Ll.openPromise(async A=>{let p=e.configuration,h=e.configuration.getLinkers(),C={project:e,report:new Ct({stdout:new c0.PassThrough,configuration:p})},w=h.find(L=>L.supportsPackage(u,C));if(!w)throw new Error(`The package ${kr(e.configuration,u)} isn't supported by any of the available linkers`);let v=await I1({project:e,locator:t,binFolder:r,lifecycleScript:a});await Promise.all(Array.from(await Rx(t,{project:e}),([L,[,_]])=>Tf(r,Li(L),process.execPath,[_])));let b=await w.findPackageLocation(u,C),E=new An(b,{baseFs:A}),R=await Nt.find(wt.dot,{baseFs:E});return typeof o>"u"&&(o=b),{manifest:R,binFolder:r,env:v,cwd:o}})}async function fue(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u}){return await Fx(t.anchoredLocator,e,r,{cwd:o,project:t.project,stdin:a,stdout:n,stderr:u})}function BU(t,e){return t.manifest.scripts.has(e)}async function pue(t,e,{cwd:r,report:o}){let{configuration:a}=t.project,n=null;await ae.mktempPromise(async u=>{let A=V.join(u,`${e}.log`),p=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${Ae.fromPortablePath(t.cwd)}") | 183 | `);let Pe=await sA("yarn",[...pe,"pack","--filename",ue.fromPortablePath(e)],{cwd:t,env:_,stdin:p,stdout:h,stderr:E});return Pe.code!==0?Pe.code:0}],["Yarn",async()=>{let pe=a!==null?["workspace",a]:[];_.YARN_ENABLE_INLINE_BUILDS="1";let he=z.join(t,Lr.lockfile);await ae.existsPromise(he)||await ae.writeFilePromise(he,"");let ve=await sA("yarn",[...pe,"pack","--install-if-needed","--filename",ue.fromPortablePath(e)],{cwd:t,env:_,stdin:p,stdout:h,stderr:E});return ve.code!==0?ve.code:0}],["npm",async()=>{if(a!==null){let De=new u0.PassThrough,Ce=Jy(De);De.pipe(h,{end:!1});let de=await sA("npm",["--version"],{cwd:t,env:_,stdin:p,stdout:De,stderr:E,end:0});if(De.end(),de.code!==0)return h.end(),E.end(),de.code;let ne=(await Ce).toString().trim();if(!Sd(ne,">=7.x")){let Z=nA(null,"npm"),me=mn(Z,ne),be=mn(Z,">=7.x");throw new Error(`Workspaces aren't supported by ${Ln(r,me)}; please upgrade to ${Ln(r,be)} (npm has been detected as the primary package manager for ${Kt(r,t,Bt.PATH)})`)}}let pe=a!==null?["--workspace",a]:[];delete _.npm_config_user_agent,delete _.npm_config_production,delete _.NPM_CONFIG_PRODUCTION,delete _.NODE_ENV;let he=await sA("npm",["install"],{cwd:t,env:_,stdin:p,stdout:h,stderr:E,end:1});if(he.code!==0)return he.code;let ve=new u0.PassThrough,ge=Jy(ve);ve.pipe(h);let le=await sA("npm",["pack","--silent",...pe],{cwd:t,env:_,stdin:p,stdout:ve,stderr:E});if(le.code!==0)return le.code;let Pe=(await ge).toString().trim().replace(/^.*\n/s,""),g=z.resolve(t,ue.toPortablePath(Pe));return await ae.renamePromise(g,e),0}]]).get(C);if(typeof re>"u")throw new Error("Assertion failed: Unsupported workflow");let oe=await re();if(!(oe===0||typeof oe>"u"))throw ae.detachTemp(u),new Vt(58,`Packing the package failed (exit code ${oe}, logs can be found here: ${Kt(r,A,Bt.PATH)})`)})})})}async function Got(t,e,{project:r}){let o=r.tryWorkspaceByLocator(t);if(o!==null)return vU(o,e);let a=r.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${kr(r.configuration,t)} not found in the project`);return await Ul.openPromise(async n=>{let u=r.configuration,A=r.configuration.getLinkers(),p={project:r,report:new Et({stdout:new u0.PassThrough,configuration:u})},h=A.find(b=>b.supportsPackage(a,p));if(!h)throw new Error(`The package ${kr(r.configuration,a)} isn't supported by any of the available linkers`);let E=await h.findPackageLocation(a,p),w=new An(E,{baseFs:n});return(await Nt.find(wt.dot,{baseFs:w})).scripts.has(e)})}async function Ux(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{manifest:h,env:E,cwd:w}=await mue(t,{project:a,binFolder:p,cwd:o,lifecycleScript:e}),v=h.scripts.get(e);if(typeof v>"u")return 1;let b=async()=>await FC(v,r,{cwd:w,env:E,stdin:n,stdout:u,stderr:A});return await(await a.configuration.reduceHook(R=>R.wrapScriptExecution,b,a,t,e,{script:v,args:r,cwd:w,env:E,stdin:n,stdout:u,stderr:A}))()})}async function BU(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await ae.mktempPromise(async p=>{let{env:h,cwd:E}=await mue(t,{project:a,binFolder:p,cwd:o});return await FC(e,r,{cwd:E,env:h,stdin:n,stdout:u,stderr:A})})}async function Wot(t,{binFolder:e,cwd:r,lifecycleScript:o}){let a=await D1({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:o});return await Promise.all(Array.from(await Eue(t),([n,[,u]])=>Lf(e,Li(n),process.execPath,[u]))),typeof r>"u"&&(r=z.dirname(await ae.realpathPromise(z.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:a,cwd:r}}async function mue(t,{project:e,binFolder:r,cwd:o,lifecycleScript:a}){let n=e.tryWorkspaceByLocator(t);if(n!==null)return Wot(n,{binFolder:r,cwd:o,lifecycleScript:a});let u=e.storedPackages.get(t.locatorHash);if(!u)throw new Error(`Package for ${kr(e.configuration,t)} not found in the project`);return await Ul.openPromise(async A=>{let p=e.configuration,h=e.configuration.getLinkers(),E={project:e,report:new Et({stdout:new u0.PassThrough,configuration:p})},w=h.find(L=>L.supportsPackage(u,E));if(!w)throw new Error(`The package ${kr(e.configuration,u)} isn't supported by any of the available linkers`);let v=await D1({project:e,locator:t,binFolder:r,lifecycleScript:a});await Promise.all(Array.from(await _x(t,{project:e}),([L,[,_]])=>Lf(r,Li(L),process.execPath,[_])));let b=await w.findPackageLocation(u,E),C=new An(b,{baseFs:A}),R=await Nt.find(wt.dot,{baseFs:C});return typeof o>"u"&&(o=b),{manifest:R,binFolder:r,env:v,cwd:o}})}async function yue(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u}){return await Ux(t.anchoredLocator,e,r,{cwd:o,project:t.project,stdin:a,stdout:n,stderr:u})}function vU(t,e){return t.manifest.scripts.has(e)}async function Cue(t,e,{cwd:r,report:o}){let{configuration:a}=t.project,n=null;await ae.mktempPromise(async u=>{let A=z.join(u,`${e}.log`),p=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${ue.fromPortablePath(t.cwd)}") |
184 | `,{stdout:h,stderr:C}=a.getSubprocessStreams(A,{report:o,prefix:kr(a,t.anchoredLocator),header:p});o.reportInfo(36,`Calling the "${e}" lifecycle script`);let w=await fue(t,e,[],{cwd:r,stdin:n,stdout:h,stderr:C});if(h.end(),C.end(),w!==0)throw ae.detachTemp(u),new Jt(36,`${(0,aue.default)(e)} script failed (exit code ${Kt(a,w,Bt.NUMBER)}, logs can be found here: ${Kt(a,A,Bt.PATH)}); run ${Kt(a,`yarn ${e}`,Bt.CODE)} to investigate`)})}async function Not(t,e,r){BU(t,e)&&await pue(t,e,r)}async function Rx(t,{project:e}){let r=e.configuration,o=new Map,a=e.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${kr(r,t)} not found in the project`);let n=new c0.Writable,u=r.getLinkers(),A={project:e,report:new Ct({configuration:r,stdout:n})},p=new Set([t.locatorHash]);for(let C of a.dependencies.values()){let w=e.storedResolutions.get(C.descriptorHash);if(!w)throw new Error(`Assertion failed: The resolution (${Ln(r,C)}) should have been registered`);p.add(w)}let h=await Promise.all(Array.from(p,async C=>{let w=e.storedPackages.get(C);if(!w)throw new Error(`Assertion failed: The package (${C}) should have been registered`);if(w.bin.size===0)return Xu.skip;let v=u.find(E=>E.supportsPackage(w,A));if(!v)return Xu.skip;let b=null;try{b=await v.findPackageLocation(w,A)}catch(E){if(E.code==="LOCATOR_NOT_INSTALLED")return Xu.skip;throw E}return{dependency:w,packageLocation:b}}));for(let C of h){if(C===Xu.skip)continue;let{dependency:w,packageLocation:v}=C;for(let[b,E]of w.bin)o.set(b,[w,Ae.fromPortablePath(V.resolve(v,E))])}return o}async function hue(t){return await Rx(t.anchoredLocator,{project:t.project})}async function gue(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A,nodeArgs:p=[],packageAccessibleBinaries:h}){h??(h=await Rx(t,{project:a}));let C=h.get(e);if(!C)throw new Error(`Binary not found (${e}) for ${kr(a.configuration,t)}`);return await ae.mktempPromise(async w=>{let[,v]=C,b=await I1({project:a,locator:t,binFolder:w});await Promise.all(Array.from(h,([R,[,L]])=>Tf(b.BERRY_BIN_FOLDER,Li(R),process.execPath,[L])));let E;try{E=await iA(process.execPath,[...p,v,...r],{cwd:o,env:b,stdin:n,stdout:u,stderr:A})}finally{await ae.removePromise(b.BERRY_BIN_FOLDER)}return E.code})}async function Lot(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A}){return await gue(t.anchoredLocator,e,r,{project:t.project,cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A})}var aue,lue,c0,cue,Qot,kot,vU=dt(()=>{bt();bt();Oc();g1();aue=tt(EU()),lue=tt($g()),c0=Ie("stream");sE();Jl();kx();IU();Ax();Yl();Gl();r0();Ks();cue=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(cue||{});Qot=2,kot=(0,lue.default)(Qot)});var bE=U((xMt,mue)=>{"use strict";var due=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);mue.exports=t=>t?Object.keys(t).map(e=>[due.has(e)?due.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var kE=U((bMt,Sue)=>{"use strict";var yue=typeof process=="object"&&process?process:{stdout:null,stderr:null},Oot=Ie("events"),Eue=Ie("stream"),Cue=Ie("string_decoder").StringDecoder,Nf=Symbol("EOF"),Lf=Symbol("maybeEmitEnd"),u0=Symbol("emittedEnd"),Tx=Symbol("emittingEnd"),w1=Symbol("emittedError"),Nx=Symbol("closed"),Iue=Symbol("read"),Lx=Symbol("flush"),wue=Symbol("flushChunk"),ba=Symbol("encoding"),Of=Symbol("decoder"),Ox=Symbol("flowing"),B1=Symbol("paused"),QE=Symbol("resume"),Ss=Symbol("bufferLength"),DU=Symbol("bufferPush"),SU=Symbol("bufferShift"),bo=Symbol("objectMode"),Qo=Symbol("destroyed"),PU=Symbol("emitData"),Bue=Symbol("emitEnd"),xU=Symbol("emitEnd2"),Mf=Symbol("async"),v1=t=>Promise.resolve().then(t),vue=global._MP_NO_ITERATOR_SYMBOLS_!=="1",Mot=vue&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),Uot=vue&&Symbol.iterator||Symbol("iterator not implemented"),_ot=t=>t==="end"||t==="finish"||t==="prefinish",Hot=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,qot=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),Mx=class{constructor(e,r,o){this.src=e,this.dest=r,this.opts=o,this.ondrain=()=>e[QE](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},bU=class extends Mx{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,o){super(e,r,o),this.proxyErrors=a=>r.emit("error",a),e.on("error",this.proxyErrors)}};Sue.exports=class Due extends Eue{constructor(e){super(),this[Ox]=!1,this[B1]=!1,this.pipes=[],this.buffer=[],this[bo]=e&&e.objectMode||!1,this[bo]?this[ba]=null:this[ba]=e&&e.encoding||null,this[ba]==="buffer"&&(this[ba]=null),this[Mf]=e&&!!e.async||!1,this[Of]=this[ba]?new Cue(this[ba]):null,this[Nf]=!1,this[u0]=!1,this[Tx]=!1,this[Nx]=!1,this[w1]=null,this.writable=!0,this.readable=!0,this[Ss]=0,this[Qo]=!1}get bufferLength(){return this[Ss]}get encoding(){return this[ba]}set encoding(e){if(this[bo])throw new Error("cannot set encoding in objectMode");if(this[ba]&&e!==this[ba]&&(this[Of]&&this[Of].lastNeed||this[Ss]))throw new Error("cannot change encoding");this[ba]!==e&&(this[Of]=e?new Cue(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Of].write(r)))),this[ba]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[bo]}set objectMode(e){this[bo]=this[bo]||!!e}get async(){return this[Mf]}set async(e){this[Mf]=this[Mf]||!!e}write(e,r,o){if(this[Nf])throw new Error("write after end");if(this[Qo])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(o=r,r="utf8"),r||(r="utf8");let a=this[Mf]?v1:n=>n();return!this[bo]&&!Buffer.isBuffer(e)&&(qot(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Hot(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[bo]?(this.flowing&&this[Ss]!==0&&this[Lx](!0),this.flowing?this.emit("data",e):this[DU](e),this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing):e.length?(typeof e=="string"&&!(r===this[ba]&&!this[Of].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[ba]&&(e=this[Of].write(e)),this.flowing&&this[Ss]!==0&&this[Lx](!0),this.flowing?this.emit("data",e):this[DU](e),this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing):(this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing)}read(e){if(this[Qo])return null;if(this[Ss]===0||e===0||e>this[Ss])return this[Lf](),null;this[bo]&&(e=null),this.buffer.length>1&&!this[bo]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ss])]);let r=this[Iue](e||null,this.buffer[0]);return this[Lf](),r}[Iue](e,r){return e===r.length||e===null?this[SU]():(this.buffer[0]=r.slice(e),r=r.slice(0,e),this[Ss]-=e),this.emit("data",r),!this.buffer.length&&!this[Nf]&&this.emit("drain"),r}end(e,r,o){return typeof e=="function"&&(o=e,e=null),typeof r=="function"&&(o=r,r="utf8"),e&&this.write(e,r),o&&this.once("end",o),this[Nf]=!0,this.writable=!1,(this.flowing||!this[B1])&&this[Lf](),this}[QE](){this[Qo]||(this[B1]=!1,this[Ox]=!0,this.emit("resume"),this.buffer.length?this[Lx]():this[Nf]?this[Lf]():this.emit("drain"))}resume(){return this[QE]()}pause(){this[Ox]=!1,this[B1]=!0}get destroyed(){return this[Qo]}get flowing(){return this[Ox]}get paused(){return this[B1]}[DU](e){this[bo]?this[Ss]+=1:this[Ss]+=e.length,this.buffer.push(e)}[SU](){return this.buffer.length&&(this[bo]?this[Ss]-=1:this[Ss]-=this.buffer[0].length),this.buffer.shift()}[Lx](e){do;while(this[wue](this[SU]()));!e&&!this.buffer.length&&!this[Nf]&&this.emit("drain")}[wue](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Qo])return;let o=this[u0];return r=r||{},e===yue.stdout||e===yue.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,o?r.end&&e.end():(this.pipes.push(r.proxyErrors?new bU(this,e,r):new Mx(this,e,r)),this[Mf]?v1(()=>this[QE]()):this[QE]()),e}unpipe(e){let r=this.pipes.find(o=>o.dest===e);r&&(this.pipes.splice(this.pipes.indexOf(r),1),r.unpipe())}addListener(e,r){return this.on(e,r)}on(e,r){let o=super.on(e,r);return e==="data"&&!this.pipes.length&&!this.flowing?this[QE]():e==="readable"&&this[Ss]!==0?super.emit("readable"):_ot(e)&&this[u0]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[w1]&&(this[Mf]?v1(()=>r.call(this,this[w1])):r.call(this,this[w1])),o}get emittedEnd(){return this[u0]}[Lf](){!this[Tx]&&!this[u0]&&!this[Qo]&&this.buffer.length===0&&this[Nf]&&(this[Tx]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Nx]&&this.emit("close"),this[Tx]=!1)}emit(e,r,...o){if(e!=="error"&&e!=="close"&&e!==Qo&&this[Qo])return;if(e==="data")return r?this[Mf]?v1(()=>this[PU](r)):this[PU](r):!1;if(e==="end")return this[Bue]();if(e==="close"){if(this[Nx]=!0,!this[u0]&&!this[Qo])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(e==="error"){this[w1]=r;let n=super.emit("error",r);return this[Lf](),n}else if(e==="resume"){let n=super.emit("resume");return this[Lf](),n}else if(e==="finish"||e==="prefinish"){let n=super.emit(e);return this.removeAllListeners(e),n}let a=super.emit(e,r,...o);return this[Lf](),a}[PU](e){for(let o of this.pipes)o.dest.write(e)===!1&&this.pause();let r=super.emit("data",e);return this[Lf](),r}[Bue](){this[u0]||(this[u0]=!0,this.readable=!1,this[Mf]?v1(()=>this[xU]()):this[xU]())}[xU](){if(this[Of]){let r=this[Of].end();if(r){for(let o of this.pipes)o.dest.write(r);super.emit("data",r)}}for(let r of this.pipes)r.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[bo]||(e.dataLength=0);let r=this.promise();return this.on("data",o=>{e.push(o),this[bo]||(e.dataLength+=o.length)}),r.then(()=>e)}concat(){return this[bo]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[bo]?Promise.reject(new Error("cannot concat in objectMode")):this[ba]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Qo,()=>r(new Error("stream destroyed"))),this.on("error",o=>r(o)),this.on("end",()=>e())})}[Mot](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[Nf])return Promise.resolve({done:!0});let o=null,a=null,n=h=>{this.removeListener("data",u),this.removeListener("end",A),a(h)},u=h=>{this.removeListener("error",n),this.removeListener("end",A),this.pause(),o({value:h,done:!!this[Nf]})},A=()=>{this.removeListener("error",n),this.removeListener("data",u),o({done:!0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,C)=>{a=C,o=h,this.once(Qo,p),this.once("error",n),this.once("end",A),this.once("data",u)})}}}[Uot](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Qo]?(e?this.emit("error",e):this.emit(Qo),this):(this[Qo]=!0,this.buffer.length=0,this[Ss]=0,typeof this.close=="function"&&!this[Nx]&&this.close(),e?this.emit("error",e):this.emit(Qo),this)}static isStream(e){return!!e&&(e instanceof Due||e instanceof Eue||e instanceof Oot&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var xue=U((QMt,Pue)=>{var jot=Ie("zlib").constants||{ZLIB_VERNUM:4736};Pue.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},jot))});var WU=U(ll=>{"use strict";var TU=Ie("assert"),A0=Ie("buffer").Buffer,kue=Ie("zlib"),kd=ll.constants=xue(),Got=kE(),bue=A0.concat,Fd=Symbol("_superWrite"),RE=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},Wot=Symbol("opts"),D1=Symbol("flushFlag"),Que=Symbol("finishFlushFlag"),GU=Symbol("fullFlushFlag"),Vn=Symbol("handle"),Ux=Symbol("onError"),FE=Symbol("sawError"),QU=Symbol("level"),kU=Symbol("strategy"),FU=Symbol("ended"),kMt=Symbol("_defaultFullFlush"),_x=class extends Got{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[FE]=!1,this[FU]=!1,this[Wot]=e,this[D1]=e.flush,this[Que]=e.finishFlush;try{this[Vn]=new kue[r](e)}catch(o){throw new RE(o)}this[Ux]=o=>{this[FE]||(this[FE]=!0,this.close(),this.emit("error",o))},this[Vn].on("error",o=>this[Ux](new RE(o))),this.once("end",()=>this.close)}close(){this[Vn]&&(this[Vn].close(),this[Vn]=null,this.emit("close"))}reset(){if(!this[FE])return TU(this[Vn],"zlib binding closed"),this[Vn].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[GU]),this.write(Object.assign(A0.alloc(0),{[D1]:e})))}end(e,r,o){return e&&this.write(e,r),this.flush(this[Que]),this[FU]=!0,super.end(null,null,o)}get ended(){return this[FU]}write(e,r,o){if(typeof r=="function"&&(o=r,r="utf8"),typeof e=="string"&&(e=A0.from(e,r)),this[FE])return;TU(this[Vn],"zlib binding closed");let a=this[Vn]._handle,n=a.close;a.close=()=>{};let u=this[Vn].close;this[Vn].close=()=>{},A0.concat=h=>h;let A;try{let h=typeof e[D1]=="number"?e[D1]:this[D1];A=this[Vn]._processChunk(e,h),A0.concat=bue}catch(h){A0.concat=bue,this[Ux](new RE(h))}finally{this[Vn]&&(this[Vn]._handle=a,a.close=n,this[Vn].close=u,this[Vn].removeAllListeners("error"))}this[Vn]&&this[Vn].on("error",h=>this[Ux](new RE(h)));let p;if(A)if(Array.isArray(A)&&A.length>0){p=this[Fd](A0.from(A[0]));for(let h=1;h<A.length;h++)p=this[Fd](A[h])}else p=this[Fd](A0.from(A));return o&&o(),p}[Fd](e){return super.write(e)}},Uf=class extends _x{constructor(e,r){e=e||{},e.flush=e.flush||kd.Z_NO_FLUSH,e.finishFlush=e.finishFlush||kd.Z_FINISH,super(e,r),this[GU]=kd.Z_FULL_FLUSH,this[QU]=e.level,this[kU]=e.strategy}params(e,r){if(!this[FE]){if(!this[Vn])throw new Error("cannot switch params when binding is closed");if(!this[Vn].params)throw new Error("not supported in this implementation");if(this[QU]!==e||this[kU]!==r){this.flush(kd.Z_SYNC_FLUSH),TU(this[Vn],"zlib binding closed");let o=this[Vn].flush;this[Vn].flush=(a,n)=>{this.flush(a),n()};try{this[Vn].params(e,r)}finally{this[Vn].flush=o}this[Vn]&&(this[QU]=e,this[kU]=r)}}}},NU=class extends Uf{constructor(e){super(e,"Deflate")}},LU=class extends Uf{constructor(e){super(e,"Inflate")}},RU=Symbol("_portable"),OU=class extends Uf{constructor(e){super(e,"Gzip"),this[RU]=e&&!!e.portable}[Fd](e){return this[RU]?(this[RU]=!1,e[9]=255,super[Fd](e)):super[Fd](e)}},MU=class extends Uf{constructor(e){super(e,"Gunzip")}},UU=class extends Uf{constructor(e){super(e,"DeflateRaw")}},_U=class extends Uf{constructor(e){super(e,"InflateRaw")}},HU=class extends Uf{constructor(e){super(e,"Unzip")}},Hx=class extends _x{constructor(e,r){e=e||{},e.flush=e.flush||kd.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||kd.BROTLI_OPERATION_FINISH,super(e,r),this[GU]=kd.BROTLI_OPERATION_FLUSH}},qU=class extends Hx{constructor(e){super(e,"BrotliCompress")}},jU=class extends Hx{constructor(e){super(e,"BrotliDecompress")}};ll.Deflate=NU;ll.Inflate=LU;ll.Gzip=OU;ll.Gunzip=MU;ll.DeflateRaw=UU;ll.InflateRaw=_U;ll.Unzip=HU;typeof kue.BrotliCompress=="function"?(ll.BrotliCompress=qU,ll.BrotliDecompress=jU):ll.BrotliCompress=ll.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var TE=U((TMt,Fue)=>{var Yot=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;Fue.exports=Yot!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/")});var qx=U((LMt,Rue)=>{"use strict";var Kot=kE(),YU=TE(),KU=Symbol("slurp");Rue.exports=class extends Kot{constructor(e,r,o){switch(super(),this.pause(),this.extended=r,this.globalExtended=o,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=YU(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=YU(e.linkpath),this.uname=e.uname,this.gname=e.gname,r&&this[KU](r),o&&this[KU](o,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let o=this.remain,a=this.blockRemain;return this.remain=Math.max(0,o-r),this.blockRemain=Math.max(0,a-r),this.ignore?!0:o>=r?super.write(e):super.write(e.slice(0,o))}[KU](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=o==="path"||o==="linkpath"?YU(e[o]):e[o])}}});var JU=U(jx=>{"use strict";jx.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);jx.code=new Map(Array.from(jx.name).map(t=>[t[1],t[0]]))});var Oue=U((MMt,Lue)=>{"use strict";var Jot=(t,e)=>{if(Number.isSafeInteger(t))t<0?zot(t,e):Vot(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Vot=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},zot=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var o=e.length;o>1;o--){var a=t&255;t=Math.floor(t/256),r?e[o-1]=Tue(a):a===0?e[o-1]=0:(r=!0,e[o-1]=Nue(a))}},Xot=t=>{let e=t[0],r=e===128?$ot(t.slice(1,t.length)):e===255?Zot(t):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},Zot=t=>{for(var e=t.length,r=0,o=!1,a=e-1;a>-1;a--){var n=t[a],u;o?u=Tue(n):n===0?u=n:(o=!0,u=Nue(n)),u!==0&&(r-=u*Math.pow(256,e-a-1))}return r},$ot=t=>{for(var e=t.length,r=0,o=e-1;o>-1;o--){var a=t[o];a!==0&&(r+=a*Math.pow(256,e-o-1))}return r},Tue=t=>(255^t)&255,Nue=t=>(255^t)+1&255;Lue.exports={encode:Jot,parse:Xot}});var LE=U((UMt,Uue)=>{"use strict";var VU=JU(),NE=Ie("path").posix,Mue=Oue(),zU=Symbol("slurp"),cl=Symbol("type"),$U=class{constructor(e,r,o,a){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[cl]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,o,a):e&&this.set(e)}decode(e,r,o,a){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Rd(e,r,100),this.mode=f0(e,r+100,8),this.uid=f0(e,r+108,8),this.gid=f0(e,r+116,8),this.size=f0(e,r+124,12),this.mtime=XU(e,r+136,12),this.cksum=f0(e,r+148,12),this[zU](o),this[zU](a,!0),this[cl]=Rd(e,r+156,1),this[cl]===""&&(this[cl]="0"),this[cl]==="0"&&this.path.substr(-1)==="/"&&(this[cl]="5"),this[cl]==="5"&&(this.size=0),this.linkpath=Rd(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Rd(e,r+265,32),this.gname=Rd(e,r+297,32),this.devmaj=f0(e,r+329,8),this.devmin=f0(e,r+337,8),e[r+475]!==0){let u=Rd(e,r+345,155);this.path=u+"/"+this.path}else{let u=Rd(e,r+345,130);u&&(this.path=u+"/"+this.path),this.atime=XU(e,r+476,12),this.ctime=XU(e,r+488,12)}let n=8*32;for(let u=r;u<r+148;u++)n+=e[u];for(let u=r+156;u<r+512;u++)n+=e[u];this.cksumValid=n===this.cksum,this.cksum===null&&n===8*32&&(this.nullBlock=!0)}[zU](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=e[o])}encode(e,r){if(e||(e=this.block=Buffer.alloc(512),r=0),r||(r=0),!(e.length>=r+512))throw new Error("need 512 bytes for header");let o=this.ctime||this.atime?130:155,a=eat(this.path||"",o),n=a[0],u=a[1];this.needPax=a[2],this.needPax=Td(e,r,100,n)||this.needPax,this.needPax=p0(e,r+100,8,this.mode)||this.needPax,this.needPax=p0(e,r+108,8,this.uid)||this.needPax,this.needPax=p0(e,r+116,8,this.gid)||this.needPax,this.needPax=p0(e,r+124,12,this.size)||this.needPax,this.needPax=ZU(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[cl].charCodeAt(0),this.needPax=Td(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Td(e,r+265,32,this.uname)||this.needPax,this.needPax=Td(e,r+297,32,this.gname)||this.needPax,this.needPax=p0(e,r+329,8,this.devmaj)||this.needPax,this.needPax=p0(e,r+337,8,this.devmin)||this.needPax,this.needPax=Td(e,r+345,o,u)||this.needPax,e[r+475]!==0?this.needPax=Td(e,r+345,155,u)||this.needPax:(this.needPax=Td(e,r+345,130,u)||this.needPax,this.needPax=ZU(e,r+476,12,this.atime)||this.needPax,this.needPax=ZU(e,r+488,12,this.ctime)||this.needPax);let A=8*32;for(let p=r;p<r+148;p++)A+=e[p];for(let p=r+156;p<r+512;p++)A+=e[p];return this.cksum=A,p0(e,r+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(e){for(let r in e)e[r]!==null&&e[r]!==void 0&&(this[r]=e[r])}get type(){return VU.name.get(this[cl])||this[cl]}get typeKey(){return this[cl]}set type(e){VU.code.has(e)?this[cl]=VU.code.get(e):this[cl]=e}},eat=(t,e)=>{let o=t,a="",n,u=NE.parse(t).root||".";if(Buffer.byteLength(o)<100)n=[o,a,!1];else{a=NE.dirname(o),o=NE.basename(o);do Buffer.byteLength(o)<=100&&Buffer.byteLength(a)<=e?n=[o,a,!1]:Buffer.byteLength(o)>100&&Buffer.byteLength(a)<=e?n=[o.substr(0,100-1),a,!0]:(o=NE.join(NE.basename(a),o),a=NE.dirname(a));while(a!==u&&!n);n||(n=[t.substr(0,100-1),"",!0])}return n},Rd=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),XU=(t,e,r)=>tat(f0(t,e,r)),tat=t=>t===null?null:new Date(t*1e3),f0=(t,e,r)=>t[e]&128?Mue.parse(t.slice(e,e+r)):nat(t,e,r),rat=t=>isNaN(t)?null:t,nat=(t,e,r)=>rat(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),iat={12:8589934591,8:2097151},p0=(t,e,r,o)=>o===null?!1:o>iat[r]||o<0?(Mue.encode(o,t.slice(e,e+r)),!0):(sat(t,e,r,o),!1),sat=(t,e,r,o)=>t.write(oat(o,r),e,r,"ascii"),oat=(t,e)=>aat(Math.floor(t).toString(8),e),aat=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",ZU=(t,e,r,o)=>o===null?!1:p0(t,e,r,o.getTime()/1e3),lat=new Array(156).join("\0"),Td=(t,e,r,o)=>o===null?!1:(t.write(o+lat,e,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);Uue.exports=$U});var Gx=U((_Mt,_ue)=>{"use strict";var cat=LE(),uat=Ie("path"),S1=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),o=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(o);for(let n=0;n<512;n++)a[n]=0;new cat({path:("PaxHeader/"+uat.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(e,512,r,"utf8");for(let n=r+512;n<a.length;n++)a[n]=0;return a}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(e){if(this[e]===null||this[e]===void 0)return"";let r=this[e]instanceof Date?this[e].getTime()/1e3:this[e],o=" "+(e==="dev"||e==="ino"||e==="nlink"?"SCHILY.":"")+e+"="+r+` | 184 | `,{stdout:h,stderr:E}=a.getSubprocessStreams(A,{report:o,prefix:kr(a,t.anchoredLocator),header:p});o.reportInfo(36,`Calling the "${e}" lifecycle script`);let w=await yue(t,e,[],{cwd:r,stdin:n,stdout:h,stderr:E});if(h.end(),E.end(),w!==0)throw ae.detachTemp(u),new Vt(36,`${(0,pue.default)(e)} script failed (exit code ${Kt(a,w,Bt.NUMBER)}, logs can be found here: ${Kt(a,A,Bt.PATH)}); run ${Kt(a,`yarn ${e}`,Bt.CODE)} to investigate`)})}async function Yot(t,e,r){vU(t,e)&&await Cue(t,e,r)}async function _x(t,{project:e}){let r=e.configuration,o=new Map,a=e.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${kr(r,t)} not found in the project`);let n=new u0.Writable,u=r.getLinkers(),A={project:e,report:new Et({configuration:r,stdout:n})},p=new Set([t.locatorHash]);for(let E of a.dependencies.values()){let w=e.storedResolutions.get(E.descriptorHash);if(!w)throw new Error(`Assertion failed: The resolution (${Ln(r,E)}) should have been registered`);p.add(w)}let h=await Promise.all(Array.from(p,async E=>{let w=e.storedPackages.get(E);if(!w)throw new Error(`Assertion failed: The package (${E}) should have been registered`);if(w.bin.size===0)return Zu.skip;let v=u.find(C=>C.supportsPackage(w,A));if(!v)return Zu.skip;let b=null;try{b=await v.findPackageLocation(w,A)}catch(C){if(C.code==="LOCATOR_NOT_INSTALLED")return Zu.skip;throw C}return{dependency:w,packageLocation:b}}));for(let E of h){if(E===Zu.skip)continue;let{dependency:w,packageLocation:v}=E;for(let[b,C]of w.bin)o.set(b,[w,ue.fromPortablePath(z.resolve(v,C))])}return o}async function Eue(t){return await _x(t.anchoredLocator,{project:t.project})}async function Iue(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A,nodeArgs:p=[],packageAccessibleBinaries:h}){h??(h=await _x(t,{project:a}));let E=h.get(e);if(!E)throw new Error(`Binary not found (${e}) for ${kr(a.configuration,t)}`);return await ae.mktempPromise(async w=>{let[,v]=E,b=await D1({project:a,locator:t,binFolder:w});await Promise.all(Array.from(h,([R,[,L]])=>Lf(b.BERRY_BIN_FOLDER,Li(R),process.execPath,[L])));let C;try{C=await sA(process.execPath,[...p,v,...r],{cwd:o,env:b,stdin:n,stdout:u,stderr:A})}finally{await ae.removePromise(b.BERRY_BIN_FOLDER)}return C.code})}async function Kot(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A}){return await Iue(t.anchoredLocator,e,r,{project:t.project,cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A})}var pue,hue,u0,gue,Hot,qot,DU=dt(()=>{bt();bt();_c();C1();pue=tt(EU()),hue=tt(rd()),u0=Ie("stream");uC();Xl();Mx();wU();yx();Jl();Kl();n0();Ks();gue=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(gue||{});Hot=2,qot=(0,hue.default)(Hot)});var TC=U((qMt,Bue)=>{"use strict";var wue=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);Bue.exports=t=>t?Object.keys(t).map(e=>[wue.has(e)?wue.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var LC=U((jMt,Fue)=>{"use strict";var vue=typeof process=="object"&&process?process:{stdout:null,stderr:null},Vot=Ie("events"),Due=Ie("stream"),Sue=Ie("string_decoder").StringDecoder,Of=Symbol("EOF"),Mf=Symbol("maybeEmitEnd"),A0=Symbol("emittedEnd"),Hx=Symbol("emittingEnd"),S1=Symbol("emittedError"),qx=Symbol("closed"),Pue=Symbol("read"),jx=Symbol("flush"),xue=Symbol("flushChunk"),Qa=Symbol("encoding"),Uf=Symbol("decoder"),Gx=Symbol("flowing"),P1=Symbol("paused"),NC=Symbol("resume"),Ss=Symbol("bufferLength"),SU=Symbol("bufferPush"),PU=Symbol("bufferShift"),bo=Symbol("objectMode"),Qo=Symbol("destroyed"),xU=Symbol("emitData"),bue=Symbol("emitEnd"),bU=Symbol("emitEnd2"),_f=Symbol("async"),x1=t=>Promise.resolve().then(t),Que=global._MP_NO_ITERATOR_SYMBOLS_!=="1",Jot=Que&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),zot=Que&&Symbol.iterator||Symbol("iterator not implemented"),Xot=t=>t==="end"||t==="finish"||t==="prefinish",Zot=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,$ot=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),Wx=class{constructor(e,r,o){this.src=e,this.dest=r,this.opts=o,this.ondrain=()=>e[NC](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},QU=class extends Wx{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,o){super(e,r,o),this.proxyErrors=a=>r.emit("error",a),e.on("error",this.proxyErrors)}};Fue.exports=class kue extends Due{constructor(e){super(),this[Gx]=!1,this[P1]=!1,this.pipes=[],this.buffer=[],this[bo]=e&&e.objectMode||!1,this[bo]?this[Qa]=null:this[Qa]=e&&e.encoding||null,this[Qa]==="buffer"&&(this[Qa]=null),this[_f]=e&&!!e.async||!1,this[Uf]=this[Qa]?new Sue(this[Qa]):null,this[Of]=!1,this[A0]=!1,this[Hx]=!1,this[qx]=!1,this[S1]=null,this.writable=!0,this.readable=!0,this[Ss]=0,this[Qo]=!1}get bufferLength(){return this[Ss]}get encoding(){return this[Qa]}set encoding(e){if(this[bo])throw new Error("cannot set encoding in objectMode");if(this[Qa]&&e!==this[Qa]&&(this[Uf]&&this[Uf].lastNeed||this[Ss]))throw new Error("cannot change encoding");this[Qa]!==e&&(this[Uf]=e?new Sue(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Uf].write(r)))),this[Qa]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[bo]}set objectMode(e){this[bo]=this[bo]||!!e}get async(){return this[_f]}set async(e){this[_f]=this[_f]||!!e}write(e,r,o){if(this[Of])throw new Error("write after end");if(this[Qo])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(o=r,r="utf8"),r||(r="utf8");let a=this[_f]?x1:n=>n();return!this[bo]&&!Buffer.isBuffer(e)&&($ot(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Zot(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[bo]?(this.flowing&&this[Ss]!==0&&this[jx](!0),this.flowing?this.emit("data",e):this[SU](e),this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing):e.length?(typeof e=="string"&&!(r===this[Qa]&&!this[Uf].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Qa]&&(e=this[Uf].write(e)),this.flowing&&this[Ss]!==0&&this[jx](!0),this.flowing?this.emit("data",e):this[SU](e),this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing):(this[Ss]!==0&&this.emit("readable"),o&&a(o),this.flowing)}read(e){if(this[Qo])return null;if(this[Ss]===0||e===0||e>this[Ss])return this[Mf](),null;this[bo]&&(e=null),this.buffer.length>1&&!this[bo]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ss])]);let r=this[Pue](e||null,this.buffer[0]);return this[Mf](),r}[Pue](e,r){return e===r.length||e===null?this[PU]():(this.buffer[0]=r.slice(e),r=r.slice(0,e),this[Ss]-=e),this.emit("data",r),!this.buffer.length&&!this[Of]&&this.emit("drain"),r}end(e,r,o){return typeof e=="function"&&(o=e,e=null),typeof r=="function"&&(o=r,r="utf8"),e&&this.write(e,r),o&&this.once("end",o),this[Of]=!0,this.writable=!1,(this.flowing||!this[P1])&&this[Mf](),this}[NC](){this[Qo]||(this[P1]=!1,this[Gx]=!0,this.emit("resume"),this.buffer.length?this[jx]():this[Of]?this[Mf]():this.emit("drain"))}resume(){return this[NC]()}pause(){this[Gx]=!1,this[P1]=!0}get destroyed(){return this[Qo]}get flowing(){return this[Gx]}get paused(){return this[P1]}[SU](e){this[bo]?this[Ss]+=1:this[Ss]+=e.length,this.buffer.push(e)}[PU](){return this.buffer.length&&(this[bo]?this[Ss]-=1:this[Ss]-=this.buffer[0].length),this.buffer.shift()}[jx](e){do;while(this[xue](this[PU]()));!e&&!this.buffer.length&&!this[Of]&&this.emit("drain")}[xue](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Qo])return;let o=this[A0];return r=r||{},e===vue.stdout||e===vue.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,o?r.end&&e.end():(this.pipes.push(r.proxyErrors?new QU(this,e,r):new Wx(this,e,r)),this[_f]?x1(()=>this[NC]()):this[NC]()),e}unpipe(e){let r=this.pipes.find(o=>o.dest===e);r&&(this.pipes.splice(this.pipes.indexOf(r),1),r.unpipe())}addListener(e,r){return this.on(e,r)}on(e,r){let o=super.on(e,r);return e==="data"&&!this.pipes.length&&!this.flowing?this[NC]():e==="readable"&&this[Ss]!==0?super.emit("readable"):Xot(e)&&this[A0]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[S1]&&(this[_f]?x1(()=>r.call(this,this[S1])):r.call(this,this[S1])),o}get emittedEnd(){return this[A0]}[Mf](){!this[Hx]&&!this[A0]&&!this[Qo]&&this.buffer.length===0&&this[Of]&&(this[Hx]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[qx]&&this.emit("close"),this[Hx]=!1)}emit(e,r,...o){if(e!=="error"&&e!=="close"&&e!==Qo&&this[Qo])return;if(e==="data")return r?this[_f]?x1(()=>this[xU](r)):this[xU](r):!1;if(e==="end")return this[bue]();if(e==="close"){if(this[qx]=!0,!this[A0]&&!this[Qo])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(e==="error"){this[S1]=r;let n=super.emit("error",r);return this[Mf](),n}else if(e==="resume"){let n=super.emit("resume");return this[Mf](),n}else if(e==="finish"||e==="prefinish"){let n=super.emit(e);return this.removeAllListeners(e),n}let a=super.emit(e,r,...o);return this[Mf](),a}[xU](e){for(let o of this.pipes)o.dest.write(e)===!1&&this.pause();let r=super.emit("data",e);return this[Mf](),r}[bue](){this[A0]||(this[A0]=!0,this.readable=!1,this[_f]?x1(()=>this[bU]()):this[bU]())}[bU](){if(this[Uf]){let r=this[Uf].end();if(r){for(let o of this.pipes)o.dest.write(r);super.emit("data",r)}}for(let r of this.pipes)r.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[bo]||(e.dataLength=0);let r=this.promise();return this.on("data",o=>{e.push(o),this[bo]||(e.dataLength+=o.length)}),r.then(()=>e)}concat(){return this[bo]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[bo]?Promise.reject(new Error("cannot concat in objectMode")):this[Qa]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Qo,()=>r(new Error("stream destroyed"))),this.on("error",o=>r(o)),this.on("end",()=>e())})}[Jot](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[Of])return Promise.resolve({done:!0});let o=null,a=null,n=h=>{this.removeListener("data",u),this.removeListener("end",A),a(h)},u=h=>{this.removeListener("error",n),this.removeListener("end",A),this.pause(),o({value:h,done:!!this[Of]})},A=()=>{this.removeListener("error",n),this.removeListener("data",u),o({done:!0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,E)=>{a=E,o=h,this.once(Qo,p),this.once("error",n),this.once("end",A),this.once("data",u)})}}}[zot](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Qo]?(e?this.emit("error",e):this.emit(Qo),this):(this[Qo]=!0,this.buffer.length=0,this[Ss]=0,typeof this.close=="function"&&!this[qx]&&this.close(),e?this.emit("error",e):this.emit(Qo),this)}static isStream(e){return!!e&&(e instanceof kue||e instanceof Due||e instanceof Vot&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var Tue=U((GMt,Rue)=>{var eat=Ie("zlib").constants||{ZLIB_VERNUM:4736};Rue.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},eat))});var YU=U(Al=>{"use strict";var NU=Ie("assert"),f0=Ie("buffer").Buffer,Oue=Ie("zlib"),Td=Al.constants=Tue(),tat=LC(),Nue=f0.concat,Nd=Symbol("_superWrite"),MC=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},rat=Symbol("opts"),b1=Symbol("flushFlag"),Lue=Symbol("finishFlushFlag"),WU=Symbol("fullFlushFlag"),zn=Symbol("handle"),Yx=Symbol("onError"),OC=Symbol("sawError"),kU=Symbol("level"),FU=Symbol("strategy"),RU=Symbol("ended"),WMt=Symbol("_defaultFullFlush"),Kx=class extends tat{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[OC]=!1,this[RU]=!1,this[rat]=e,this[b1]=e.flush,this[Lue]=e.finishFlush;try{this[zn]=new Oue[r](e)}catch(o){throw new MC(o)}this[Yx]=o=>{this[OC]||(this[OC]=!0,this.close(),this.emit("error",o))},this[zn].on("error",o=>this[Yx](new MC(o))),this.once("end",()=>this.close)}close(){this[zn]&&(this[zn].close(),this[zn]=null,this.emit("close"))}reset(){if(!this[OC])return NU(this[zn],"zlib binding closed"),this[zn].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[WU]),this.write(Object.assign(f0.alloc(0),{[b1]:e})))}end(e,r,o){return e&&this.write(e,r),this.flush(this[Lue]),this[RU]=!0,super.end(null,null,o)}get ended(){return this[RU]}write(e,r,o){if(typeof r=="function"&&(o=r,r="utf8"),typeof e=="string"&&(e=f0.from(e,r)),this[OC])return;NU(this[zn],"zlib binding closed");let a=this[zn]._handle,n=a.close;a.close=()=>{};let u=this[zn].close;this[zn].close=()=>{},f0.concat=h=>h;let A;try{let h=typeof e[b1]=="number"?e[b1]:this[b1];A=this[zn]._processChunk(e,h),f0.concat=Nue}catch(h){f0.concat=Nue,this[Yx](new MC(h))}finally{this[zn]&&(this[zn]._handle=a,a.close=n,this[zn].close=u,this[zn].removeAllListeners("error"))}this[zn]&&this[zn].on("error",h=>this[Yx](new MC(h)));let p;if(A)if(Array.isArray(A)&&A.length>0){p=this[Nd](f0.from(A[0]));for(let h=1;h<A.length;h++)p=this[Nd](A[h])}else p=this[Nd](f0.from(A));return o&&o(),p}[Nd](e){return super.write(e)}},Hf=class extends Kx{constructor(e,r){e=e||{},e.flush=e.flush||Td.Z_NO_FLUSH,e.finishFlush=e.finishFlush||Td.Z_FINISH,super(e,r),this[WU]=Td.Z_FULL_FLUSH,this[kU]=e.level,this[FU]=e.strategy}params(e,r){if(!this[OC]){if(!this[zn])throw new Error("cannot switch params when binding is closed");if(!this[zn].params)throw new Error("not supported in this implementation");if(this[kU]!==e||this[FU]!==r){this.flush(Td.Z_SYNC_FLUSH),NU(this[zn],"zlib binding closed");let o=this[zn].flush;this[zn].flush=(a,n)=>{this.flush(a),n()};try{this[zn].params(e,r)}finally{this[zn].flush=o}this[zn]&&(this[kU]=e,this[FU]=r)}}}},LU=class extends Hf{constructor(e){super(e,"Deflate")}},OU=class extends Hf{constructor(e){super(e,"Inflate")}},TU=Symbol("_portable"),MU=class extends Hf{constructor(e){super(e,"Gzip"),this[TU]=e&&!!e.portable}[Nd](e){return this[TU]?(this[TU]=!1,e[9]=255,super[Nd](e)):super[Nd](e)}},UU=class extends Hf{constructor(e){super(e,"Gunzip")}},_U=class extends Hf{constructor(e){super(e,"DeflateRaw")}},HU=class extends Hf{constructor(e){super(e,"InflateRaw")}},qU=class extends Hf{constructor(e){super(e,"Unzip")}},Vx=class extends Kx{constructor(e,r){e=e||{},e.flush=e.flush||Td.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Td.BROTLI_OPERATION_FINISH,super(e,r),this[WU]=Td.BROTLI_OPERATION_FLUSH}},jU=class extends Vx{constructor(e){super(e,"BrotliCompress")}},GU=class extends Vx{constructor(e){super(e,"BrotliDecompress")}};Al.Deflate=LU;Al.Inflate=OU;Al.Gzip=MU;Al.Gunzip=UU;Al.DeflateRaw=_U;Al.InflateRaw=HU;Al.Unzip=qU;typeof Oue.BrotliCompress=="function"?(Al.BrotliCompress=jU,Al.BrotliDecompress=GU):Al.BrotliCompress=Al.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var UC=U((VMt,Mue)=>{var nat=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;Mue.exports=nat!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/")});var Jx=U((zMt,Uue)=>{"use strict";var iat=LC(),KU=UC(),VU=Symbol("slurp");Uue.exports=class extends iat{constructor(e,r,o){switch(super(),this.pause(),this.extended=r,this.globalExtended=o,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=KU(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=KU(e.linkpath),this.uname=e.uname,this.gname=e.gname,r&&this[VU](r),o&&this[VU](o,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let o=this.remain,a=this.blockRemain;return this.remain=Math.max(0,o-r),this.blockRemain=Math.max(0,a-r),this.ignore?!0:o>=r?super.write(e):super.write(e.slice(0,o))}[VU](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=o==="path"||o==="linkpath"?KU(e[o]):e[o])}}});var JU=U(zx=>{"use strict";zx.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);zx.code=new Map(Array.from(zx.name).map(t=>[t[1],t[0]]))});var jue=U((ZMt,que)=>{"use strict";var sat=(t,e)=>{if(Number.isSafeInteger(t))t<0?aat(t,e):oat(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},oat=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},aat=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var o=e.length;o>1;o--){var a=t&255;t=Math.floor(t/256),r?e[o-1]=_ue(a):a===0?e[o-1]=0:(r=!0,e[o-1]=Hue(a))}},lat=t=>{let e=t[0],r=e===128?uat(t.slice(1,t.length)):e===255?cat(t):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},cat=t=>{for(var e=t.length,r=0,o=!1,a=e-1;a>-1;a--){var n=t[a],u;o?u=_ue(n):n===0?u=n:(o=!0,u=Hue(n)),u!==0&&(r-=u*Math.pow(256,e-a-1))}return r},uat=t=>{for(var e=t.length,r=0,o=e-1;o>-1;o--){var a=t[o];a!==0&&(r+=a*Math.pow(256,e-o-1))}return r},_ue=t=>(255^t)&255,Hue=t=>(255^t)+1&255;que.exports={encode:sat,parse:lat}});var HC=U(($Mt,Wue)=>{"use strict";var zU=JU(),_C=Ie("path").posix,Gue=jue(),XU=Symbol("slurp"),fl=Symbol("type"),e3=class{constructor(e,r,o,a){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[fl]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,o,a):e&&this.set(e)}decode(e,r,o,a){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Ld(e,r,100),this.mode=p0(e,r+100,8),this.uid=p0(e,r+108,8),this.gid=p0(e,r+116,8),this.size=p0(e,r+124,12),this.mtime=ZU(e,r+136,12),this.cksum=p0(e,r+148,12),this[XU](o),this[XU](a,!0),this[fl]=Ld(e,r+156,1),this[fl]===""&&(this[fl]="0"),this[fl]==="0"&&this.path.substr(-1)==="/"&&(this[fl]="5"),this[fl]==="5"&&(this.size=0),this.linkpath=Ld(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Ld(e,r+265,32),this.gname=Ld(e,r+297,32),this.devmaj=p0(e,r+329,8),this.devmin=p0(e,r+337,8),e[r+475]!==0){let u=Ld(e,r+345,155);this.path=u+"/"+this.path}else{let u=Ld(e,r+345,130);u&&(this.path=u+"/"+this.path),this.atime=ZU(e,r+476,12),this.ctime=ZU(e,r+488,12)}let n=8*32;for(let u=r;u<r+148;u++)n+=e[u];for(let u=r+156;u<r+512;u++)n+=e[u];this.cksumValid=n===this.cksum,this.cksum===null&&n===8*32&&(this.nullBlock=!0)}[XU](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=e[o])}encode(e,r){if(e||(e=this.block=Buffer.alloc(512),r=0),r||(r=0),!(e.length>=r+512))throw new Error("need 512 bytes for header");let o=this.ctime||this.atime?130:155,a=Aat(this.path||"",o),n=a[0],u=a[1];this.needPax=a[2],this.needPax=Od(e,r,100,n)||this.needPax,this.needPax=h0(e,r+100,8,this.mode)||this.needPax,this.needPax=h0(e,r+108,8,this.uid)||this.needPax,this.needPax=h0(e,r+116,8,this.gid)||this.needPax,this.needPax=h0(e,r+124,12,this.size)||this.needPax,this.needPax=$U(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[fl].charCodeAt(0),this.needPax=Od(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Od(e,r+265,32,this.uname)||this.needPax,this.needPax=Od(e,r+297,32,this.gname)||this.needPax,this.needPax=h0(e,r+329,8,this.devmaj)||this.needPax,this.needPax=h0(e,r+337,8,this.devmin)||this.needPax,this.needPax=Od(e,r+345,o,u)||this.needPax,e[r+475]!==0?this.needPax=Od(e,r+345,155,u)||this.needPax:(this.needPax=Od(e,r+345,130,u)||this.needPax,this.needPax=$U(e,r+476,12,this.atime)||this.needPax,this.needPax=$U(e,r+488,12,this.ctime)||this.needPax);let A=8*32;for(let p=r;p<r+148;p++)A+=e[p];for(let p=r+156;p<r+512;p++)A+=e[p];return this.cksum=A,h0(e,r+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(e){for(let r in e)e[r]!==null&&e[r]!==void 0&&(this[r]=e[r])}get type(){return zU.name.get(this[fl])||this[fl]}get typeKey(){return this[fl]}set type(e){zU.code.has(e)?this[fl]=zU.code.get(e):this[fl]=e}},Aat=(t,e)=>{let o=t,a="",n,u=_C.parse(t).root||".";if(Buffer.byteLength(o)<100)n=[o,a,!1];else{a=_C.dirname(o),o=_C.basename(o);do Buffer.byteLength(o)<=100&&Buffer.byteLength(a)<=e?n=[o,a,!1]:Buffer.byteLength(o)>100&&Buffer.byteLength(a)<=e?n=[o.substr(0,100-1),a,!0]:(o=_C.join(_C.basename(a),o),a=_C.dirname(a));while(a!==u&&!n);n||(n=[t.substr(0,100-1),"",!0])}return n},Ld=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),ZU=(t,e,r)=>fat(p0(t,e,r)),fat=t=>t===null?null:new Date(t*1e3),p0=(t,e,r)=>t[e]&128?Gue.parse(t.slice(e,e+r)):hat(t,e,r),pat=t=>isNaN(t)?null:t,hat=(t,e,r)=>pat(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),gat={12:8589934591,8:2097151},h0=(t,e,r,o)=>o===null?!1:o>gat[r]||o<0?(Gue.encode(o,t.slice(e,e+r)),!0):(dat(t,e,r,o),!1),dat=(t,e,r,o)=>t.write(mat(o,r),e,r,"ascii"),mat=(t,e)=>yat(Math.floor(t).toString(8),e),yat=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",$U=(t,e,r,o)=>o===null?!1:h0(t,e,r,o.getTime()/1e3),Cat=new Array(156).join("\0"),Od=(t,e,r,o)=>o===null?!1:(t.write(o+Cat,e,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);Wue.exports=e3});var Xx=U((e4t,Yue)=>{"use strict";var Eat=HC(),Iat=Ie("path"),Q1=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),o=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(o);for(let n=0;n<512;n++)a[n]=0;new Eat({path:("PaxHeader/"+Iat.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(e,512,r,"utf8");for(let n=r+512;n<a.length;n++)a[n]=0;return a}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(e){if(this[e]===null||this[e]===void 0)return"";let r=this[e]instanceof Date?this[e].getTime()/1e3:this[e],o=" "+(e==="dev"||e==="ino"||e==="nlink"?"SCHILY.":"")+e+"="+r+` |
185 | `,a=Buffer.byteLength(o),n=Math.floor(Math.log(a)/Math.log(10))+1;return a+n>=Math.pow(10,n)&&(n+=1),n+a+o}};S1.parse=(t,e,r)=>new S1(Aat(fat(t),e),r);var Aat=(t,e)=>e?Object.keys(t).reduce((r,o)=>(r[o]=t[o],r),e):t,fat=t=>t.replace(/\n$/,"").split(` | 185 | `,a=Buffer.byteLength(o),n=Math.floor(Math.log(a)/Math.log(10))+1;return a+n>=Math.pow(10,n)&&(n+=1),n+a+o}};Q1.parse=(t,e,r)=>new Q1(wat(Bat(t),e),r);var wat=(t,e)=>e?Object.keys(t).reduce((r,o)=>(r[o]=t[o],r),e):t,Bat=t=>t.replace(/\n$/,"").split(` |
186 | `).reduce(pat,Object.create(null)),pat=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let o=e.split("="),a=o.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!a)return t;let n=o.join("=");return t[a]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(a)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,t};_ue.exports=S1});var OE=U((HMt,Hue)=>{Hue.exports=t=>{let e=t.length-1,r=-1;for(;e>-1&&t.charAt(e)==="/";)r=e,e--;return r===-1?t:t.slice(0,r)}});var Wx=U((qMt,que)=>{"use strict";que.exports=t=>class extends t{warn(e,r,o={}){this.file&&(o.file=this.file),this.cwd&&(o.cwd=this.cwd),o.code=r instanceof Error&&r.code||e,o.tarCode=e,!this.strict&&o.recoverable!==!1?(r instanceof Error&&(o=Object.assign(r,o),r=r.message),this.emit("warn",o.tarCode,r,o)):r instanceof Error?this.emit("error",Object.assign(r,o)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),o))}}});var t3=U((GMt,jue)=>{"use strict";var Yx=["|","<",">","?",":"],e3=Yx.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),hat=new Map(Yx.map((t,e)=>[t,e3[e]])),gat=new Map(e3.map((t,e)=>[t,Yx[e]]));jue.exports={encode:t=>Yx.reduce((e,r)=>e.split(r).join(hat.get(r)),t),decode:t=>e3.reduce((e,r)=>e.split(r).join(gat.get(r)),t)}});var r3=U((WMt,Wue)=>{var{isAbsolute:dat,parse:Gue}=Ie("path").win32;Wue.exports=t=>{let e="",r=Gue(t);for(;dat(t)||r.root;){let o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.substr(o.length),e+=o,r=Gue(t)}return[e,t]}});var Kue=U((YMt,Yue)=>{"use strict";Yue.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var f3=U((VMt,aAe)=>{"use strict";var eAe=kE(),tAe=Gx(),rAe=LE(),aA=Ie("fs"),Jue=Ie("path"),oA=TE(),mat=OE(),nAe=(t,e)=>e?(t=oA(t).replace(/^\.(\/|$)/,""),mat(e)+"/"+t):oA(t),yat=16*1024*1024,Vue=Symbol("process"),zue=Symbol("file"),Xue=Symbol("directory"),i3=Symbol("symlink"),Zue=Symbol("hardlink"),P1=Symbol("header"),Kx=Symbol("read"),s3=Symbol("lstat"),Jx=Symbol("onlstat"),o3=Symbol("onread"),a3=Symbol("onreadlink"),l3=Symbol("openfile"),c3=Symbol("onopenfile"),h0=Symbol("close"),Vx=Symbol("mode"),u3=Symbol("awaitDrain"),n3=Symbol("ondrain"),lA=Symbol("prefix"),$ue=Symbol("hadError"),iAe=Wx(),Eat=t3(),sAe=r3(),oAe=Kue(),zx=iAe(class extends eAe{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=oA(e),this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||yat,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=oA(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,this.prefix=r.prefix?oA(r.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=sAe(this.path);a&&(this.path=n,o=a)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=Eat.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=oA(r.absolute||Jue.resolve(this.cwd,e)),this.path===""&&(this.path="./"),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.statCache.has(this.absolute)?this[Jx](this.statCache.get(this.absolute)):this[s3]()}emit(e,...r){return e==="error"&&(this[$ue]=!0),super.emit(e,...r)}[s3](){aA.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[Jx](r)})}[Jx](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=Iat(e),this.emit("stat",e),this[Vue]()}[Vue](){switch(this.type){case"File":return this[zue]();case"Directory":return this[Xue]();case"SymbolicLink":return this[i3]();default:return this.end()}}[Vx](e){return oAe(e,this.type==="Directory",this.portable)}[lA](e){return nAe(e,this.prefix)}[P1](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new rAe({path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,mode:this[Vx](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new tAe({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[Xue](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[P1](),this.end()}[i3](){aA.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[a3](r)})}[a3](e){this.linkpath=oA(e),this[P1](),this.end()}[Zue](e){this.type="Link",this.linkpath=oA(Jue.relative(this.cwd,e)),this.stat.size=0,this[P1](),this.end()}[zue](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[Zue](r)}this.linkCache.set(e,this.absolute)}if(this[P1](),this.stat.size===0)return this.end();this[l3]()}[l3](){aA.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[c3](r)})}[c3](e){if(this.fd=e,this[$ue])return this[h0]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[Kx]()}[Kx](){let{fd:e,buf:r,offset:o,length:a,pos:n}=this;aA.read(e,r,o,a,n,(u,A)=>{if(u)return this[h0](()=>this.emit("error",u));this[o3](A)})}[h0](e){aA.close(this.fd,e)}[o3](e){if(e<=0&&this.remain>0){let a=new Error("encountered unexpected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[h0](()=>this.emit("error",a))}if(e>this.remain){let a=new Error("did not encounter expected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[h0](()=>this.emit("error",a))}if(e===this.remain)for(let a=e;a<this.length&&e<this.blockRemain;a++)this.buf[a+this.offset]=0,e++,this.remain++;let r=this.offset===0&&e===this.buf.length?this.buf:this.buf.slice(this.offset,this.offset+e);this.write(r)?this[n3]():this[u3](()=>this[n3]())}[u3](e){this.once("drain",e)}write(e){if(this.blockRemain<e.length){let r=new Error("writing more data than expected");return r.path=this.absolute,this.emit("error",r)}return this.remain-=e.length,this.blockRemain-=e.length,this.pos+=e.length,this.offset+=e.length,super.write(e)}[n3](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[h0](e=>e?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[Kx]()}}),A3=class extends zx{[s3](){this[Jx](aA.lstatSync(this.absolute))}[i3](){this[a3](aA.readlinkSync(this.absolute))}[l3](){this[c3](aA.openSync(this.absolute,"r"))}[Kx](){let e=!0;try{let{fd:r,buf:o,offset:a,length:n,pos:u}=this,A=aA.readSync(r,o,a,n,u);this[o3](A),e=!1}finally{if(e)try{this[h0](()=>{})}catch{}}}[u3](e){e()}[h0](e){aA.closeSync(this.fd),e()}},Cat=iAe(class extends eAe{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix||null,this.path=oA(e.path),this.mode=this[Vx](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=oA(e.linkpath),typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=sAe(this.path);a&&(this.path=n,o=a)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new rAe({path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new tAe({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[lA](e){return nAe(e,this.prefix)}[Vx](e){return oAe(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});zx.Sync=A3;zx.Tar=Cat;var Iat=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";aAe.exports=zx});var sb=U((XMt,hAe)=>{"use strict";var nb=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},wat=kE(),Bat=WU(),vat=qx(),I3=f3(),Dat=I3.Sync,Sat=I3.Tar,Pat=iS(),lAe=Buffer.alloc(1024),$x=Symbol("onStat"),Xx=Symbol("ended"),cA=Symbol("queue"),ME=Symbol("current"),Nd=Symbol("process"),Zx=Symbol("processing"),cAe=Symbol("processJob"),uA=Symbol("jobs"),p3=Symbol("jobDone"),eb=Symbol("addFSEntry"),uAe=Symbol("addTarEntry"),m3=Symbol("stat"),y3=Symbol("readdir"),tb=Symbol("onreaddir"),rb=Symbol("pipe"),AAe=Symbol("entry"),h3=Symbol("entryOpt"),E3=Symbol("writeEntryClass"),pAe=Symbol("write"),g3=Symbol("ondrain"),ib=Ie("fs"),fAe=Ie("path"),xat=Wx(),d3=TE(),w3=xat(class extends wat{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=d3(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[E3]=I3,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new Bat.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[g3]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[g3]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[cA]=new Pat,this[uA]=0,this.jobs=+e.jobs||4,this[Zx]=!1,this[Xx]=!1}[pAe](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[Xx]=!0,this[Nd](),this}write(e){if(this[Xx])throw new Error("write after end");return e instanceof vat?this[uAe](e):this[eb](e),this.flowing}[uAe](e){let r=d3(fAe.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let o=new nb(e.path,r,!1);o.entry=new Sat(e,this[h3](o)),o.entry.on("end",a=>this[p3](o)),this[uA]+=1,this[cA].push(o)}this[Nd]()}[eb](e){let r=d3(fAe.resolve(this.cwd,e));this[cA].push(new nb(e,r)),this[Nd]()}[m3](e){e.pending=!0,this[uA]+=1;let r=this.follow?"stat":"lstat";ib[r](e.absolute,(o,a)=>{e.pending=!1,this[uA]-=1,o?this.emit("error",o):this[$x](e,a)})}[$x](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[Nd]()}[y3](e){e.pending=!0,this[uA]+=1,ib.readdir(e.absolute,(r,o)=>{if(e.pending=!1,this[uA]-=1,r)return this.emit("error",r);this[tb](e,o)})}[tb](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[Nd]()}[Nd](){if(!this[Zx]){this[Zx]=!0;for(let e=this[cA].head;e!==null&&this[uA]<this.jobs;e=e.next)if(this[cAe](e.value),e.value.ignore){let r=e.next;this[cA].removeNode(e),e.next=r}this[Zx]=!1,this[Xx]&&!this[cA].length&&this[uA]===0&&(this.zip?this.zip.end(lAe):(super.write(lAe),super.end()))}}get[ME](){return this[cA]&&this[cA].head&&this[cA].head.value}[p3](e){this[cA].shift(),this[uA]-=1,this[Nd]()}[cAe](e){if(!e.pending){if(e.entry){e===this[ME]&&!e.piped&&this[rb](e);return}if(e.stat||(this.statCache.has(e.absolute)?this[$x](e,this.statCache.get(e.absolute)):this[m3](e)),!!e.stat&&!e.ignore&&!(!this.noDirRecurse&&e.stat.isDirectory()&&!e.readdir&&(this.readdirCache.has(e.absolute)?this[tb](e,this.readdirCache.get(e.absolute)):this[y3](e),!e.readdir))){if(e.entry=this[AAe](e),!e.entry){e.ignore=!0;return}e===this[ME]&&!e.piped&&this[rb](e)}}}[h3](e){return{onwarn:(r,o,a)=>this.warn(r,o,a),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[AAe](e){this[uA]+=1;try{return new this[E3](e.path,this[h3](e)).on("end",()=>this[p3](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[g3](){this[ME]&&this[ME].entry&&this[ME].entry.resume()}[rb](e){e.piped=!0,e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[eb](u+a)});let r=e.entry,o=this.zip;o?r.on("data",a=>{o.write(a)||r.pause()}):r.on("data",a=>{super.write(a)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),C3=class extends w3{constructor(e){super(e),this[E3]=Dat}pause(){}resume(){}[m3](e){let r=this.follow?"statSync":"lstatSync";this[$x](e,ib[r](e.absolute))}[y3](e,r){this[tb](e,ib.readdirSync(e.absolute))}[rb](e){let r=e.entry,o=this.zip;e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[eb](u+a)}),o?r.on("data",a=>{o.write(a)}):r.on("data",a=>{super[pAe](a)})}};w3.Sync=C3;hAe.exports=w3});var YE=U(b1=>{"use strict";var bat=kE(),Qat=Ie("events").EventEmitter,Qa=Ie("fs"),D3=Qa.writev;if(!D3){let t=process.binding("fs"),e=t.FSReqWrap||t.FSReqCallback;D3=(r,o,a,n)=>{let u=(p,h)=>n(p,h,o),A=new e;A.oncomplete=u,t.writeBuffers(r,o,a,A)}}var GE=Symbol("_autoClose"),Kc=Symbol("_close"),x1=Symbol("_ended"),Mn=Symbol("_fd"),gAe=Symbol("_finished"),d0=Symbol("_flags"),B3=Symbol("_flush"),S3=Symbol("_handleChunk"),P3=Symbol("_makeBuf"),Ab=Symbol("_mode"),ob=Symbol("_needDrain"),qE=Symbol("_onerror"),WE=Symbol("_onopen"),v3=Symbol("_onread"),_E=Symbol("_onwrite"),m0=Symbol("_open"),_f=Symbol("_path"),Ld=Symbol("_pos"),AA=Symbol("_queue"),HE=Symbol("_read"),dAe=Symbol("_readSize"),g0=Symbol("_reading"),ab=Symbol("_remain"),mAe=Symbol("_size"),lb=Symbol("_write"),UE=Symbol("_writing"),ub=Symbol("_defaultFlag"),jE=Symbol("_errored"),fb=class extends bat{constructor(e,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[jE]=!1,this[Mn]=typeof r.fd=="number"?r.fd:null,this[_f]=e,this[dAe]=r.readSize||16*1024*1024,this[g0]=!1,this[mAe]=typeof r.size=="number"?r.size:1/0,this[ab]=this[mAe],this[GE]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Mn]=="number"?this[HE]():this[m0]()}get fd(){return this[Mn]}get path(){return this[_f]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[m0](){Qa.open(this[_f],"r",(e,r)=>this[WE](e,r))}[WE](e,r){e?this[qE](e):(this[Mn]=r,this.emit("open",r),this[HE]())}[P3](){return Buffer.allocUnsafe(Math.min(this[dAe],this[ab]))}[HE](){if(!this[g0]){this[g0]=!0;let e=this[P3]();if(e.length===0)return process.nextTick(()=>this[v3](null,0,e));Qa.read(this[Mn],e,0,e.length,null,(r,o,a)=>this[v3](r,o,a))}}[v3](e,r,o){this[g0]=!1,e?this[qE](e):this[S3](r,o)&&this[HE]()}[Kc](){if(this[GE]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,Qa.close(e,r=>r?this.emit("error",r):this.emit("close"))}}[qE](e){this[g0]=!0,this[Kc](),this.emit("error",e)}[S3](e,r){let o=!1;return this[ab]-=e,e>0&&(o=super.write(e<r.length?r.slice(0,e):r)),(e===0||this[ab]<=0)&&(o=!1,this[Kc](),super.end()),o}emit(e,r){switch(e){case"prefinish":case"finish":break;case"drain":typeof this[Mn]=="number"&&this[HE]();break;case"error":return this[jE]?void 0:(this[jE]=!0,super.emit(e,r));default:return super.emit(e,r)}}},x3=class extends fb{[m0](){let e=!0;try{this[WE](null,Qa.openSync(this[_f],"r")),e=!1}finally{e&&this[Kc]()}}[HE](){let e=!0;try{if(!this[g0]){this[g0]=!0;do{let r=this[P3](),o=r.length===0?0:Qa.readSync(this[Mn],r,0,r.length,null);if(!this[S3](o,r))break}while(!0);this[g0]=!1}e=!1}finally{e&&this[Kc]()}}[Kc](){if(this[GE]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,Qa.closeSync(e),this.emit("close")}}},pb=class extends Qat{constructor(e,r){r=r||{},super(r),this.readable=!1,this.writable=!0,this[jE]=!1,this[UE]=!1,this[x1]=!1,this[ob]=!1,this[AA]=[],this[_f]=e,this[Mn]=typeof r.fd=="number"?r.fd:null,this[Ab]=r.mode===void 0?438:r.mode,this[Ld]=typeof r.start=="number"?r.start:null,this[GE]=typeof r.autoClose=="boolean"?r.autoClose:!0;let o=this[Ld]!==null?"r+":"w";this[ub]=r.flags===void 0,this[d0]=this[ub]?o:r.flags,this[Mn]===null&&this[m0]()}emit(e,r){if(e==="error"){if(this[jE])return;this[jE]=!0}return super.emit(e,r)}get fd(){return this[Mn]}get path(){return this[_f]}[qE](e){this[Kc](),this[UE]=!0,this.emit("error",e)}[m0](){Qa.open(this[_f],this[d0],this[Ab],(e,r)=>this[WE](e,r))}[WE](e,r){this[ub]&&this[d0]==="r+"&&e&&e.code==="ENOENT"?(this[d0]="w",this[m0]()):e?this[qE](e):(this[Mn]=r,this.emit("open",r),this[B3]())}end(e,r){return e&&this.write(e,r),this[x1]=!0,!this[UE]&&!this[AA].length&&typeof this[Mn]=="number"&&this[_E](null,0),this}write(e,r){return typeof e=="string"&&(e=Buffer.from(e,r)),this[x1]?(this.emit("error",new Error("write() after end()")),!1):this[Mn]===null||this[UE]||this[AA].length?(this[AA].push(e),this[ob]=!0,!1):(this[UE]=!0,this[lb](e),!0)}[lb](e){Qa.write(this[Mn],e,0,e.length,this[Ld],(r,o)=>this[_E](r,o))}[_E](e,r){e?this[qE](e):(this[Ld]!==null&&(this[Ld]+=r),this[AA].length?this[B3]():(this[UE]=!1,this[x1]&&!this[gAe]?(this[gAe]=!0,this[Kc](),this.emit("finish")):this[ob]&&(this[ob]=!1,this.emit("drain"))))}[B3](){if(this[AA].length===0)this[x1]&&this[_E](null,0);else if(this[AA].length===1)this[lb](this[AA].pop());else{let e=this[AA];this[AA]=[],D3(this[Mn],e,this[Ld],(r,o)=>this[_E](r,o))}}[Kc](){if(this[GE]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,Qa.close(e,r=>r?this.emit("error",r):this.emit("close"))}}},b3=class extends pb{[m0](){let e;if(this[ub]&&this[d0]==="r+")try{e=Qa.openSync(this[_f],this[d0],this[Ab])}catch(r){if(r.code==="ENOENT")return this[d0]="w",this[m0]();throw r}else e=Qa.openSync(this[_f],this[d0],this[Ab]);this[WE](null,e)}[Kc](){if(this[GE]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,Qa.closeSync(e),this.emit("close")}}[lb](e){let r=!0;try{this[_E](null,Qa.writeSync(this[Mn],e,0,e.length,this[Ld])),r=!1}finally{if(r)try{this[Kc]()}catch{}}}};b1.ReadStream=fb;b1.ReadStreamSync=x3;b1.WriteStream=pb;b1.WriteStreamSync=b3});var Cb=U((e4t,vAe)=>{"use strict";var kat=Wx(),Fat=LE(),Rat=Ie("events"),Tat=iS(),Nat=1024*1024,Lat=qx(),yAe=Gx(),Oat=WU(),Q3=Buffer.from([31,139]),$l=Symbol("state"),Od=Symbol("writeEntry"),Hf=Symbol("readEntry"),k3=Symbol("nextEntry"),EAe=Symbol("processEntry"),ec=Symbol("extendedHeader"),Q1=Symbol("globalExtendedHeader"),y0=Symbol("meta"),CAe=Symbol("emitMeta"),li=Symbol("buffer"),qf=Symbol("queue"),Md=Symbol("ended"),IAe=Symbol("emittedEnd"),Ud=Symbol("emit"),ka=Symbol("unzip"),hb=Symbol("consumeChunk"),gb=Symbol("consumeChunkSub"),F3=Symbol("consumeBody"),wAe=Symbol("consumeMeta"),BAe=Symbol("consumeHeader"),db=Symbol("consuming"),R3=Symbol("bufferConcat"),T3=Symbol("maybeEnd"),k1=Symbol("writing"),E0=Symbol("aborted"),mb=Symbol("onDone"),_d=Symbol("sawValidEntry"),yb=Symbol("sawNullBlock"),Eb=Symbol("sawEOF"),Mat=t=>!0;vAe.exports=kat(class extends Rat{constructor(e){e=e||{},super(e),this.file=e.file||"",this[_d]=null,this.on(mb,r=>{(this[$l]==="begin"||this[_d]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(mb,e.ondone):this.on(mb,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||Nat,this.filter=typeof e.filter=="function"?e.filter:Mat,this.writable=!0,this.readable=!1,this[qf]=new Tat,this[li]=null,this[Hf]=null,this[Od]=null,this[$l]="begin",this[y0]="",this[ec]=null,this[Q1]=null,this[Md]=!1,this[ka]=null,this[E0]=!1,this[yb]=!1,this[Eb]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[BAe](e,r){this[_d]===null&&(this[_d]=!1);let o;try{o=new Fat(e,r,this[ec],this[Q1])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(o.nullBlock)this[yb]?(this[Eb]=!0,this[$l]==="begin"&&(this[$l]="header"),this[Ud]("eof")):(this[yb]=!0,this[Ud]("nullBlock"));else if(this[yb]=!1,!o.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:o});else if(!o.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:o});else{let a=o.type;if(/^(Symbolic)?Link$/.test(a)&&!o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:o});else if(!/^(Symbolic)?Link$/.test(a)&&o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:o});else{let n=this[Od]=new Lat(o,this[ec],this[Q1]);if(!this[_d])if(n.remain){let u=()=>{n.invalid||(this[_d]=!0)};n.on("end",u)}else this[_d]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[Ud]("ignoredEntry",n),this[$l]="ignore",n.resume()):n.size>0&&(this[y0]="",n.on("data",u=>this[y0]+=u),this[$l]="meta"):(this[ec]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[Ud]("ignoredEntry",n),this[$l]=n.remain?"ignore":"header",n.resume()):(n.remain?this[$l]="body":(this[$l]="header",n.end()),this[Hf]?this[qf].push(n):(this[qf].push(n),this[k3]())))}}}[EAe](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[Hf]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",o=>this[k3]()),r=!1)):(this[Hf]=null,r=!1),r}[k3](){do;while(this[EAe](this[qf].shift()));if(!this[qf].length){let e=this[Hf];!e||e.flowing||e.size===e.remain?this[k1]||this.emit("drain"):e.once("drain",o=>this.emit("drain"))}}[F3](e,r){let o=this[Od],a=o.blockRemain,n=a>=e.length&&r===0?e:e.slice(r,r+a);return o.write(n),o.blockRemain||(this[$l]="header",this[Od]=null,o.end()),n.length}[wAe](e,r){let o=this[Od],a=this[F3](e,r);return this[Od]||this[CAe](o),a}[Ud](e,r,o){!this[qf].length&&!this[Hf]?this.emit(e,r,o):this[qf].push([e,r,o])}[CAe](e){switch(this[Ud]("meta",this[y0]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[ec]=yAe.parse(this[y0],this[ec],!1);break;case"GlobalExtendedHeader":this[Q1]=yAe.parse(this[y0],this[Q1],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[ec]=this[ec]||Object.create(null),this[ec].path=this[y0].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[ec]=this[ec]||Object.create(null),this[ec].linkpath=this[y0].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[E0]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[E0])return;if(this[ka]===null&&e){if(this[li]&&(e=Buffer.concat([this[li],e]),this[li]=null),e.length<Q3.length)return this[li]=e,!0;for(let o=0;this[ka]===null&&o<Q3.length;o++)e[o]!==Q3[o]&&(this[ka]=!1);if(this[ka]===null){let o=this[Md];this[Md]=!1,this[ka]=new Oat.Unzip,this[ka].on("data",n=>this[hb](n)),this[ka].on("error",n=>this.abort(n)),this[ka].on("end",n=>{this[Md]=!0,this[hb]()}),this[k1]=!0;let a=this[ka][o?"end":"write"](e);return this[k1]=!1,a}}this[k1]=!0,this[ka]?this[ka].write(e):this[hb](e),this[k1]=!1;let r=this[qf].length?!1:this[Hf]?this[Hf].flowing:!0;return!r&&!this[qf].length&&this[Hf].once("drain",o=>this.emit("drain")),r}[R3](e){e&&!this[E0]&&(this[li]=this[li]?Buffer.concat([this[li],e]):e)}[T3](){if(this[Md]&&!this[IAe]&&!this[E0]&&!this[db]){this[IAe]=!0;let e=this[Od];if(e&&e.blockRemain){let r=this[li]?this[li].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[li]&&e.write(this[li]),e.end()}this[Ud](mb)}}[hb](e){if(this[db])this[R3](e);else if(!e&&!this[li])this[T3]();else{if(this[db]=!0,this[li]){this[R3](e);let r=this[li];this[li]=null,this[gb](r)}else this[gb](e);for(;this[li]&&this[li].length>=512&&!this[E0]&&!this[Eb];){let r=this[li];this[li]=null,this[gb](r)}this[db]=!1}(!this[li]||this[Md])&&this[T3]()}[gb](e){let r=0,o=e.length;for(;r+512<=o&&!this[E0]&&!this[Eb];)switch(this[$l]){case"begin":case"header":this[BAe](e,r),r+=512;break;case"ignore":case"body":r+=this[F3](e,r);break;case"meta":r+=this[wAe](e,r);break;default:throw new Error("invalid state: "+this[$l])}r<o&&(this[li]?this[li]=Buffer.concat([e.slice(r),this[li]]):this[li]=e.slice(r))}end(e){this[E0]||(this[ka]?this[ka].end(e):(this[Md]=!0,this.write(e)))}})});var Ib=U((t4t,xAe)=>{"use strict";var Uat=bE(),SAe=Cb(),KE=Ie("fs"),_at=YE(),DAe=Ie("path"),N3=OE();xAe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=Uat(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&qat(o,e),o.noResume||Hat(o),o.file&&o.sync?jat(o):o.file?Gat(o,r):PAe(o)};var Hat=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},qat=(t,e)=>{let r=new Map(e.map(n=>[N3(n),!0])),o=t.filter,a=(n,u)=>{let A=u||DAe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(DAe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(N3(n)):n=>a(N3(n))},jat=t=>{let e=PAe(t),r=t.file,o=!0,a;try{let n=KE.statSync(r),u=t.maxReadSize||16*1024*1024;if(n.size<u)e.end(KE.readFileSync(r));else{let A=0,p=Buffer.allocUnsafe(u);for(a=KE.openSync(r,"r");A<n.size;){let h=KE.readSync(a,p,0,u,A);A+=h,e.write(p.slice(0,h))}e.end()}o=!1}finally{if(o&&a)try{KE.closeSync(a)}catch{}}},Gat=(t,e)=>{let r=new SAe(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("end",u),KE.stat(a,(p,h)=>{if(p)A(p);else{let C=new _at.ReadStream(a,{readSize:o,size:h.size});C.on("error",A),C.pipe(r)}})});return e?n.then(e,e):n},PAe=t=>new SAe(t)});var TAe=U((r4t,RAe)=>{"use strict";var Wat=bE(),wb=sb(),bAe=YE(),QAe=Ib(),kAe=Ie("path");RAe.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let o=Wat(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return o.file&&o.sync?Yat(o,e):o.file?Kat(o,e,r):o.sync?Jat(o,e):Vat(o,e)};var Yat=(t,e)=>{let r=new wb.Sync(t),o=new bAe.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(o),FAe(r,e)},Kat=(t,e,r)=>{let o=new wb(t),a=new bAe.WriteStream(t.file,{mode:t.mode||438});o.pipe(a);let n=new Promise((u,A)=>{a.on("error",A),a.on("close",u),o.on("error",A)});return L3(o,e),r?n.then(r,r):n},FAe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?QAe({file:kAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},L3=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return QAe({file:kAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>L3(t,e));t.add(r)}t.end()},Jat=(t,e)=>{let r=new wb.Sync(t);return FAe(r,e),r},Vat=(t,e)=>{let r=new wb(t);return L3(r,e),r}});var O3=U((n4t,HAe)=>{"use strict";var zat=bE(),NAe=sb(),ul=Ie("fs"),LAe=YE(),OAe=Ib(),MAe=Ie("path"),UAe=LE();HAe.exports=(t,e,r)=>{let o=zat(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),o.sync?Xat(o,e):$at(o,e,r)};var Xat=(t,e)=>{let r=new NAe.Sync(t),o=!0,a,n;try{try{a=ul.openSync(t.file,"r+")}catch(p){if(p.code==="ENOENT")a=ul.openSync(t.file,"w+");else throw p}let u=ul.fstatSync(a),A=Buffer.alloc(512);e:for(n=0;n<u.size;n+=512){for(let C=0,w=0;C<512;C+=w){if(w=ul.readSync(a,A,C,A.length-C,n+C),n===0&&A[0]===31&&A[1]===139)throw new Error("cannot append to compressed archives");if(!w)break e}let p=new UAe(A);if(!p.cksumValid)break;let h=512*Math.ceil(p.size/512);if(n+h+512>u.size)break;n+=h,t.mtimeCache&&t.mtimeCache.set(p.path,p.mtime)}o=!1,Zat(t,r,n,a,e)}finally{if(o)try{ul.closeSync(a)}catch{}}},Zat=(t,e,r,o,a)=>{let n=new LAe.WriteStreamSync(t.file,{fd:o,start:r});e.pipe(n),elt(e,a)},$at=(t,e,r)=>{e=Array.from(e);let o=new NAe(t),a=(u,A,p)=>{let h=(E,R)=>{E?ul.close(u,L=>p(E)):p(null,R)},C=0;if(A===0)return h(null,0);let w=0,v=Buffer.alloc(512),b=(E,R)=>{if(E)return h(E);if(w+=R,w<512&&R)return ul.read(u,v,w,v.length-w,C+w,b);if(C===0&&v[0]===31&&v[1]===139)return h(new Error("cannot append to compressed archives"));if(w<512)return h(null,C);let L=new UAe(v);if(!L.cksumValid)return h(null,C);let _=512*Math.ceil(L.size/512);if(C+_+512>A||(C+=_+512,C>=A))return h(null,C);t.mtimeCache&&t.mtimeCache.set(L.path,L.mtime),w=0,ul.read(u,v,0,512,C,b)};ul.read(u,v,0,512,C,b)},n=new Promise((u,A)=>{o.on("error",A);let p="r+",h=(C,w)=>{if(C&&C.code==="ENOENT"&&p==="r+")return p="w+",ul.open(t.file,p,h);if(C)return A(C);ul.fstat(w,(v,b)=>{if(v)return ul.close(w,()=>A(v));a(w,b.size,(E,R)=>{if(E)return A(E);let L=new LAe.WriteStream(t.file,{fd:w,start:R});o.pipe(L),L.on("error",A),L.on("close",u),_Ae(o,e)})})};ul.open(t.file,p,h)});return r?n.then(r,r):n},elt=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?OAe({file:MAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},_Ae=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return OAe({file:MAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>_Ae(t,e));t.add(r)}t.end()}});var jAe=U((i4t,qAe)=>{"use strict";var tlt=bE(),rlt=O3();qAe.exports=(t,e,r)=>{let o=tlt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),nlt(o),rlt(o,e,r)};var nlt=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,o)=>e(r,o)&&!(t.mtimeCache.get(r)>o.mtime):(r,o)=>!(t.mtimeCache.get(r)>o.mtime)}});var YAe=U((s4t,WAe)=>{var{promisify:GAe}=Ie("util"),C0=Ie("fs"),ilt=t=>{if(!t)t={mode:511,fs:C0};else if(typeof t=="object")t={mode:511,fs:C0,...t};else if(typeof t=="number")t={mode:t,fs:C0};else if(typeof t=="string")t={mode:parseInt(t,8),fs:C0};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||C0.mkdir,t.mkdirAsync=GAe(t.mkdir),t.stat=t.stat||t.fs.stat||C0.stat,t.statAsync=GAe(t.stat),t.statSync=t.statSync||t.fs.statSync||C0.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||C0.mkdirSync,t};WAe.exports=ilt});var JAe=U((o4t,KAe)=>{var slt=process.platform,{resolve:olt,parse:alt}=Ie("path"),llt=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=olt(t),slt==="win32"){let e=/[*|"<>?:]/,{root:r}=alt(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};KAe.exports=llt});var $Ae=U((a4t,ZAe)=>{var{dirname:VAe}=Ie("path"),zAe=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(o=>o.isDirectory()?r:void 0,o=>o.code==="ENOENT"?zAe(t,VAe(e),e):void 0),XAe=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(o){return o.code==="ENOENT"?XAe(t,VAe(e),e):void 0}};ZAe.exports={findMade:zAe,findMadeSync:XAe}});var _3=U((l4t,tfe)=>{var{dirname:efe}=Ie("path"),M3=(t,e,r)=>{e.recursive=!1;let o=efe(t);return o===t?e.mkdirAsync(t,e).catch(a=>{if(a.code!=="EISDIR")throw a}):e.mkdirAsync(t,e).then(()=>r||t,a=>{if(a.code==="ENOENT")return M3(o,e).then(n=>M3(t,e,n));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;return e.statAsync(t).then(n=>{if(n.isDirectory())return r;throw a},()=>{throw a})})},U3=(t,e,r)=>{let o=efe(t);if(e.recursive=!1,o===t)try{return e.mkdirSync(t,e)}catch(a){if(a.code!=="EISDIR")throw a;return}try{return e.mkdirSync(t,e),r||t}catch(a){if(a.code==="ENOENT")return U3(t,e,U3(o,e,r));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;try{if(!e.statSync(t).isDirectory())throw a}catch{throw a}}};tfe.exports={mkdirpManual:M3,mkdirpManualSync:U3}});var ife=U((c4t,nfe)=>{var{dirname:rfe}=Ie("path"),{findMade:clt,findMadeSync:ult}=$Ae(),{mkdirpManual:Alt,mkdirpManualSync:flt}=_3(),plt=(t,e)=>(e.recursive=!0,rfe(t)===t?e.mkdirAsync(t,e):clt(e,t).then(o=>e.mkdirAsync(t,e).then(()=>o).catch(a=>{if(a.code==="ENOENT")return Alt(t,e);throw a}))),hlt=(t,e)=>{if(e.recursive=!0,rfe(t)===t)return e.mkdirSync(t,e);let o=ult(e,t);try{return e.mkdirSync(t,e),o}catch(a){if(a.code==="ENOENT")return flt(t,e);throw a}};nfe.exports={mkdirpNative:plt,mkdirpNativeSync:hlt}});var lfe=U((u4t,afe)=>{var sfe=Ie("fs"),glt=process.version,H3=glt.replace(/^v/,"").split("."),ofe=+H3[0]>10||+H3[0]==10&&+H3[1]>=12,dlt=ofe?t=>t.mkdir===sfe.mkdir:()=>!1,mlt=ofe?t=>t.mkdirSync===sfe.mkdirSync:()=>!1;afe.exports={useNative:dlt,useNativeSync:mlt}});var hfe=U((A4t,pfe)=>{var JE=YAe(),VE=JAe(),{mkdirpNative:cfe,mkdirpNativeSync:ufe}=ife(),{mkdirpManual:Afe,mkdirpManualSync:ffe}=_3(),{useNative:ylt,useNativeSync:Elt}=lfe(),zE=(t,e)=>(t=VE(t),e=JE(e),ylt(e)?cfe(t,e):Afe(t,e)),Clt=(t,e)=>(t=VE(t),e=JE(e),Elt(e)?ufe(t,e):ffe(t,e));zE.sync=Clt;zE.native=(t,e)=>cfe(VE(t),JE(e));zE.manual=(t,e)=>Afe(VE(t),JE(e));zE.nativeSync=(t,e)=>ufe(VE(t),JE(e));zE.manualSync=(t,e)=>ffe(VE(t),JE(e));pfe.exports=zE});var Ife=U((f4t,Cfe)=>{"use strict";var tc=Ie("fs"),Hd=Ie("path"),Ilt=tc.lchown?"lchown":"chown",wlt=tc.lchownSync?"lchownSync":"chownSync",dfe=tc.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),gfe=(t,e,r)=>{try{return tc[wlt](t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},Blt=(t,e,r)=>{try{return tc.chownSync(t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},vlt=dfe?(t,e,r,o)=>a=>{!a||a.code!=="EISDIR"?o(a):tc.chown(t,e,r,o)}:(t,e,r,o)=>o,q3=dfe?(t,e,r)=>{try{return gfe(t,e,r)}catch(o){if(o.code!=="EISDIR")throw o;Blt(t,e,r)}}:(t,e,r)=>gfe(t,e,r),Dlt=process.version,mfe=(t,e,r)=>tc.readdir(t,e,r),Slt=(t,e)=>tc.readdirSync(t,e);/^v4\./.test(Dlt)&&(mfe=(t,e,r)=>tc.readdir(t,r));var Bb=(t,e,r,o)=>{tc[Ilt](t,e,r,vlt(t,e,r,a=>{o(a&&a.code!=="ENOENT"?a:null)}))},yfe=(t,e,r,o,a)=>{if(typeof e=="string")return tc.lstat(Hd.resolve(t,e),(n,u)=>{if(n)return a(n.code!=="ENOENT"?n:null);u.name=e,yfe(t,u,r,o,a)});if(e.isDirectory())j3(Hd.resolve(t,e.name),r,o,n=>{if(n)return a(n);let u=Hd.resolve(t,e.name);Bb(u,r,o,a)});else{let n=Hd.resolve(t,e.name);Bb(n,r,o,a)}},j3=(t,e,r,o)=>{mfe(t,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return o();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!n.length)return Bb(t,e,r,o);let u=n.length,A=null,p=h=>{if(!A){if(h)return o(A=h);if(--u===0)return Bb(t,e,r,o)}};n.forEach(h=>yfe(t,h,e,r,p))})},Plt=(t,e,r,o)=>{if(typeof e=="string")try{let a=tc.lstatSync(Hd.resolve(t,e));a.name=e,e=a}catch(a){if(a.code==="ENOENT")return;throw a}e.isDirectory()&&Efe(Hd.resolve(t,e.name),r,o),q3(Hd.resolve(t,e.name),r,o)},Efe=(t,e,r)=>{let o;try{o=Slt(t,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return;if(a.code==="ENOTDIR"||a.code==="ENOTSUP")return q3(t,e,r);throw a}return o&&o.length&&o.forEach(a=>Plt(t,a,e,r)),q3(t,e,r)};Cfe.exports=j3;j3.sync=Efe});var Dfe=U((p4t,G3)=>{"use strict";var wfe=hfe(),rc=Ie("fs"),vb=Ie("path"),Bfe=Ife(),Jc=TE(),Db=class extends Error{constructor(e,r){super("Cannot extract through symbolic link"),this.path=r,this.symlink=e}get name(){return"SylinkError"}},Sb=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'"),this.path=e,this.code=r}get name(){return"CwdError"}},Pb=(t,e)=>t.get(Jc(e)),F1=(t,e,r)=>t.set(Jc(e),r),xlt=(t,e)=>{rc.stat(t,(r,o)=>{(r||!o.isDirectory())&&(r=new Sb(t,r&&r.code||"ENOTDIR")),e(r)})};G3.exports=(t,e,r)=>{t=Jc(t);let o=e.umask,a=e.mode|448,n=(a&o)!==0,u=e.uid,A=e.gid,p=typeof u=="number"&&typeof A=="number"&&(u!==e.processUid||A!==e.processGid),h=e.preserve,C=e.unlink,w=e.cache,v=Jc(e.cwd),b=(L,_)=>{L?r(L):(F1(w,t,!0),_&&p?Bfe(_,u,A,J=>b(J)):n?rc.chmod(t,a,r):r())};if(w&&Pb(w,t)===!0)return b();if(t===v)return xlt(t,b);if(h)return wfe(t,{mode:a}).then(L=>b(null,L),b);let R=Jc(vb.relative(v,t)).split("/");xb(v,R,a,w,C,v,null,b)};var xb=(t,e,r,o,a,n,u,A)=>{if(!e.length)return A(null,u);let p=e.shift(),h=Jc(vb.resolve(t+"/"+p));if(Pb(o,h))return xb(h,e,r,o,a,n,u,A);rc.mkdir(h,r,vfe(h,e,r,o,a,n,u,A))},vfe=(t,e,r,o,a,n,u,A)=>p=>{p?rc.lstat(t,(h,C)=>{if(h)h.path=h.path&&Jc(h.path),A(h);else if(C.isDirectory())xb(t,e,r,o,a,n,u,A);else if(a)rc.unlink(t,w=>{if(w)return A(w);rc.mkdir(t,r,vfe(t,e,r,o,a,n,u,A))});else{if(C.isSymbolicLink())return A(new Db(t,t+"/"+e.join("/")));A(p)}}):(u=u||t,xb(t,e,r,o,a,n,u,A))},blt=t=>{let e=!1,r="ENOTDIR";try{e=rc.statSync(t).isDirectory()}catch(o){r=o.code}finally{if(!e)throw new Sb(t,r)}};G3.exports.sync=(t,e)=>{t=Jc(t);let r=e.umask,o=e.mode|448,a=(o&r)!==0,n=e.uid,u=e.gid,A=typeof n=="number"&&typeof u=="number"&&(n!==e.processUid||u!==e.processGid),p=e.preserve,h=e.unlink,C=e.cache,w=Jc(e.cwd),v=L=>{F1(C,t,!0),L&&A&&Bfe.sync(L,n,u),a&&rc.chmodSync(t,o)};if(C&&Pb(C,t)===!0)return v();if(t===w)return blt(w),v();if(p)return v(wfe.sync(t,o));let E=Jc(vb.relative(w,t)).split("/"),R=null;for(let L=E.shift(),_=w;L&&(_+="/"+L);L=E.shift())if(_=Jc(vb.resolve(_)),!Pb(C,_))try{rc.mkdirSync(_,o),R=R||_,F1(C,_,!0)}catch{let re=rc.lstatSync(_);if(re.isDirectory()){F1(C,_,!0);continue}else if(h){rc.unlinkSync(_),rc.mkdirSync(_,o),R=R||_,F1(C,_,!0);continue}else if(re.isSymbolicLink())return new Db(_,_+"/"+E.join("/"))}return v(R)}});var Y3=U((h4t,Sfe)=>{var W3=Object.create(null),{hasOwnProperty:Qlt}=Object.prototype;Sfe.exports=t=>(Qlt.call(W3,t)||(W3[t]=t.normalize("NFKD")),W3[t])});var Qfe=U((g4t,bfe)=>{var Pfe=Ie("assert"),klt=Y3(),Flt=OE(),{join:xfe}=Ie("path"),Rlt=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Tlt=Rlt==="win32";bfe.exports=()=>{let t=new Map,e=new Map,r=h=>h.split("/").slice(0,-1).reduce((w,v)=>(w.length&&(v=xfe(w[w.length-1],v)),w.push(v||"/"),w),[]),o=new Set,a=h=>{let C=e.get(h);if(!C)throw new Error("function does not have any path reservations");return{paths:C.paths.map(w=>t.get(w)),dirs:[...C.dirs].map(w=>t.get(w))}},n=h=>{let{paths:C,dirs:w}=a(h);return C.every(v=>v[0]===h)&&w.every(v=>v[0]instanceof Set&&v[0].has(h))},u=h=>o.has(h)||!n(h)?!1:(o.add(h),h(()=>A(h)),!0),A=h=>{if(!o.has(h))return!1;let{paths:C,dirs:w}=e.get(h),v=new Set;return C.forEach(b=>{let E=t.get(b);Pfe.equal(E[0],h),E.length===1?t.delete(b):(E.shift(),typeof E[0]=="function"?v.add(E[0]):E[0].forEach(R=>v.add(R)))}),w.forEach(b=>{let E=t.get(b);Pfe(E[0]instanceof Set),E[0].size===1&&E.length===1?t.delete(b):E[0].size===1?(E.shift(),v.add(E[0])):E[0].delete(h)}),o.delete(h),v.forEach(b=>u(b)),!0};return{check:n,reserve:(h,C)=>{h=Tlt?["win32 parallelization disabled"]:h.map(v=>klt(Flt(xfe(v))).toLowerCase());let w=new Set(h.map(v=>r(v)).reduce((v,b)=>v.concat(b)));return e.set(C,{dirs:w,paths:h}),h.forEach(v=>{let b=t.get(v);b?b.push(C):t.set(v,[C])}),w.forEach(v=>{let b=t.get(v);b?b[b.length-1]instanceof Set?b[b.length-1].add(C):b.push(new Set([C])):t.set(v,[new Set([C])])}),u(C)}}}});var Rfe=U((d4t,Ffe)=>{var Nlt=process.platform,Llt=Nlt==="win32",Olt=global.__FAKE_TESTING_FS__||Ie("fs"),{O_CREAT:Mlt,O_TRUNC:Ult,O_WRONLY:_lt,UV_FS_O_FILEMAP:kfe=0}=Olt.constants,Hlt=Llt&&!!kfe,qlt=512*1024,jlt=kfe|Ult|Mlt|_lt;Ffe.exports=Hlt?t=>t<qlt?jlt:"w":()=>"w"});var t_=U((m4t,Kfe)=>{"use strict";var Glt=Ie("assert"),Wlt=Cb(),En=Ie("fs"),Ylt=YE(),jf=Ie("path"),Gfe=Dfe(),Tfe=t3(),Klt=Qfe(),Jlt=r3(),Al=TE(),Vlt=OE(),zlt=Y3(),Nfe=Symbol("onEntry"),V3=Symbol("checkFs"),Lfe=Symbol("checkFs2"),kb=Symbol("pruneCache"),z3=Symbol("isReusable"),nc=Symbol("makeFs"),X3=Symbol("file"),Z3=Symbol("directory"),Fb=Symbol("link"),Ofe=Symbol("symlink"),Mfe=Symbol("hardlink"),Ufe=Symbol("unsupported"),_fe=Symbol("checkPath"),I0=Symbol("mkdir"),ko=Symbol("onError"),bb=Symbol("pending"),Hfe=Symbol("pend"),XE=Symbol("unpend"),K3=Symbol("ended"),J3=Symbol("maybeClose"),$3=Symbol("skip"),R1=Symbol("doChown"),T1=Symbol("uid"),N1=Symbol("gid"),L1=Symbol("checkedCwd"),Wfe=Ie("crypto"),Yfe=Rfe(),Xlt=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,O1=Xlt==="win32",Zlt=(t,e)=>{if(!O1)return En.unlink(t,e);let r=t+".DELETE."+Wfe.randomBytes(16).toString("hex");En.rename(t,r,o=>{if(o)return e(o);En.unlink(r,e)})},$lt=t=>{if(!O1)return En.unlinkSync(t);let e=t+".DELETE."+Wfe.randomBytes(16).toString("hex");En.renameSync(t,e),En.unlinkSync(e)},qfe=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,jfe=t=>zlt(Vlt(Al(t))).toLowerCase(),ect=(t,e)=>{e=jfe(e);for(let r of t.keys()){let o=jfe(r);(o===e||o.indexOf(e+"/")===0)&&t.delete(r)}},tct=t=>{for(let e of t.keys())t.delete(e)},M1=class extends Wlt{constructor(e){if(e||(e={}),e.ondone=r=>{this[K3]=!0,this[J3]()},super(e),this[L1]=!1,this.reservations=Klt(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[bb]=0,this[K3]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||O1,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=Al(jf.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[Nfe](r))}warn(e,r,o={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(o.recoverable=!1),super.warn(e,r,o)}[J3](){this[K3]&&this[bb]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[_fe](e){if(this.strip){let r=Al(e.path).split("/");if(r.length<this.strip)return!1;if(e.path=r.slice(this.strip).join("/"),e.type==="Link"){let o=Al(e.linkpath).split("/");if(o.length>=this.strip)e.linkpath=o.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let r=Al(e.path),o=r.split("/");if(o.includes("..")||O1&&/^[a-z]:\.\.$/i.test(o[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;let[a,n]=Jlt(r);a&&(e.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:e,path:r}))}if(jf.isAbsolute(e.path)?e.absolute=Al(jf.resolve(e.path)):e.absolute=Al(jf.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:Al(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=jf.win32.parse(e.absolute);e.absolute=r+Tfe.encode(e.absolute.substr(r.length));let{root:o}=jf.win32.parse(e.path);e.path=o+Tfe.encode(e.path.substr(o.length))}return!0}[Nfe](e){if(!this[_fe](e))return e.resume();switch(Glt.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[V3](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[Ufe](e)}}[ko](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[XE](),r.resume())}[I0](e,r,o){Gfe(Al(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r,noChmod:this.noChmod},o)}[R1](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[T1](e){return qfe(this.uid,e.uid,this.processUid)}[N1](e){return qfe(this.gid,e.gid,this.processGid)}[X3](e,r){let o=e.mode&4095||this.fmode,a=new Ylt.WriteStream(e.absolute,{flags:Yfe(e.size),mode:o,autoClose:!1});a.on("error",p=>{a.fd&&En.close(a.fd,()=>{}),a.write=()=>!0,this[ko](p,e),r()});let n=1,u=p=>{if(p){a.fd&&En.close(a.fd,()=>{}),this[ko](p,e),r();return}--n===0&&En.close(a.fd,h=>{h?this[ko](h,e):this[XE](),r()})};a.on("finish",p=>{let h=e.absolute,C=a.fd;if(e.mtime&&!this.noMtime){n++;let w=e.atime||new Date,v=e.mtime;En.futimes(C,w,v,b=>b?En.utimes(h,w,v,E=>u(E&&b)):u())}if(this[R1](e)){n++;let w=this[T1](e),v=this[N1](e);En.fchown(C,w,v,b=>b?En.chown(h,w,v,E=>u(E&&b)):u())}u()});let A=this.transform&&this.transform(e)||e;A!==e&&(A.on("error",p=>{this[ko](p,e),r()}),e.pipe(A)),A.pipe(a)}[Z3](e,r){let o=e.mode&4095||this.dmode;this[I0](e.absolute,o,a=>{if(a){this[ko](a,e),r();return}let n=1,u=A=>{--n===0&&(r(),this[XE](),e.resume())};e.mtime&&!this.noMtime&&(n++,En.utimes(e.absolute,e.atime||new Date,e.mtime,u)),this[R1](e)&&(n++,En.chown(e.absolute,this[T1](e),this[N1](e),u)),u()})}[Ufe](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[Ofe](e,r){this[Fb](e,e.linkpath,"symlink",r)}[Mfe](e,r){let o=Al(jf.resolve(this.cwd,e.linkpath));this[Fb](e,o,"link",r)}[Hfe](){this[bb]++}[XE](){this[bb]--,this[J3]()}[$3](e){this[XE](),e.resume()}[z3](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!O1}[V3](e){this[Hfe]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,o=>this[Lfe](e,o))}[kb](e){e.type==="SymbolicLink"?tct(this.dirCache):e.type!=="Directory"&&ect(this.dirCache,e.absolute)}[Lfe](e,r){this[kb](e);let o=A=>{this[kb](e),r(A)},a=()=>{this[I0](this.cwd,this.dmode,A=>{if(A){this[ko](A,e),o();return}this[L1]=!0,n()})},n=()=>{if(e.absolute!==this.cwd){let A=Al(jf.dirname(e.absolute));if(A!==this.cwd)return this[I0](A,this.dmode,p=>{if(p){this[ko](p,e),o();return}u()})}u()},u=()=>{En.lstat(e.absolute,(A,p)=>{if(p&&(this.keep||this.newer&&p.mtime>e.mtime)){this[$3](e),o();return}if(A||this[z3](e,p))return this[nc](null,e,o);if(p.isDirectory()){if(e.type==="Directory"){let h=!this.noChmod&&e.mode&&(p.mode&4095)!==e.mode,C=w=>this[nc](w,e,o);return h?En.chmod(e.absolute,e.mode,C):C()}if(e.absolute!==this.cwd)return En.rmdir(e.absolute,h=>this[nc](h,e,o))}if(e.absolute===this.cwd)return this[nc](null,e,o);Zlt(e.absolute,h=>this[nc](h,e,o))})};this[L1]?n():a()}[nc](e,r,o){if(e){this[ko](e,r),o();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[X3](r,o);case"Link":return this[Mfe](r,o);case"SymbolicLink":return this[Ofe](r,o);case"Directory":case"GNUDumpDir":return this[Z3](r,o)}}[Fb](e,r,o,a){En[o](r,e.absolute,n=>{n?this[ko](n,e):(this[XE](),e.resume()),a()})}},Qb=t=>{try{return[null,t()]}catch(e){return[e,null]}},e_=class extends M1{[nc](e,r){return super[nc](e,r,()=>{})}[V3](e){if(this[kb](e),!this[L1]){let n=this[I0](this.cwd,this.dmode);if(n)return this[ko](n,e);this[L1]=!0}if(e.absolute!==this.cwd){let n=Al(jf.dirname(e.absolute));if(n!==this.cwd){let u=this[I0](n,this.dmode);if(u)return this[ko](u,e)}}let[r,o]=Qb(()=>En.lstatSync(e.absolute));if(o&&(this.keep||this.newer&&o.mtime>e.mtime))return this[$3](e);if(r||this[z3](e,o))return this[nc](null,e);if(o.isDirectory()){if(e.type==="Directory"){let u=!this.noChmod&&e.mode&&(o.mode&4095)!==e.mode,[A]=u?Qb(()=>{En.chmodSync(e.absolute,e.mode)}):[];return this[nc](A,e)}let[n]=Qb(()=>En.rmdirSync(e.absolute));this[nc](n,e)}let[a]=e.absolute===this.cwd?[]:Qb(()=>$lt(e.absolute));this[nc](a,e)}[X3](e,r){let o=e.mode&4095||this.fmode,a=A=>{let p;try{En.closeSync(n)}catch(h){p=h}(A||p)&&this[ko](A||p,e),r()},n;try{n=En.openSync(e.absolute,Yfe(e.size),o)}catch(A){return a(A)}let u=this.transform&&this.transform(e)||e;u!==e&&(u.on("error",A=>this[ko](A,e)),e.pipe(u)),u.on("data",A=>{try{En.writeSync(n,A,0,A.length)}catch(p){a(p)}}),u.on("end",A=>{let p=null;if(e.mtime&&!this.noMtime){let h=e.atime||new Date,C=e.mtime;try{En.futimesSync(n,h,C)}catch(w){try{En.utimesSync(e.absolute,h,C)}catch{p=w}}}if(this[R1](e)){let h=this[T1](e),C=this[N1](e);try{En.fchownSync(n,h,C)}catch(w){try{En.chownSync(e.absolute,h,C)}catch{p=p||w}}}a(p)})}[Z3](e,r){let o=e.mode&4095||this.dmode,a=this[I0](e.absolute,o);if(a){this[ko](a,e),r();return}if(e.mtime&&!this.noMtime)try{En.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[R1](e))try{En.chownSync(e.absolute,this[T1](e),this[N1](e))}catch{}r(),e.resume()}[I0](e,r){try{return Gfe.sync(Al(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(o){return o}}[Fb](e,r,o,a){try{En[o+"Sync"](r,e.absolute),a(),e.resume()}catch(n){return this[ko](n,e)}}};M1.Sync=e_;Kfe.exports=M1});var Zfe=U((y4t,Xfe)=>{"use strict";var rct=bE(),Rb=t_(),Vfe=Ie("fs"),zfe=YE(),Jfe=Ie("path"),r_=OE();Xfe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=rct(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&nct(o,e),o.file&&o.sync?ict(o):o.file?sct(o,r):o.sync?oct(o):act(o)};var nct=(t,e)=>{let r=new Map(e.map(n=>[r_(n),!0])),o=t.filter,a=(n,u)=>{let A=u||Jfe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(Jfe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(r_(n)):n=>a(r_(n))},ict=t=>{let e=new Rb.Sync(t),r=t.file,o=Vfe.statSync(r),a=t.maxReadSize||16*1024*1024;new zfe.ReadStreamSync(r,{readSize:a,size:o.size}).pipe(e)},sct=(t,e)=>{let r=new Rb(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("close",u),Vfe.stat(a,(p,h)=>{if(p)A(p);else{let C=new zfe.ReadStream(a,{readSize:o,size:h.size});C.on("error",A),C.pipe(r)}})});return e?n.then(e,e):n},oct=t=>new Rb.Sync(t),act=t=>new Rb(t)});var $fe=U(fs=>{"use strict";fs.c=fs.create=TAe();fs.r=fs.replace=O3();fs.t=fs.list=Ib();fs.u=fs.update=jAe();fs.x=fs.extract=Zfe();fs.Pack=sb();fs.Unpack=t_();fs.Parse=Cb();fs.ReadEntry=qx();fs.WriteEntry=f3();fs.Header=LE();fs.Pax=Gx();fs.types=JU()});var epe,tpe,w0,Tb,rpe=dt(()=>{epe=tt($g()),tpe=Ie("worker_threads");A1();w0=Symbol("kTaskInfo"),Tb=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,epe.default)(J4());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let r=this.workers.pop();r?r.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new tpe.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[w0])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[w0].resolve(r),e[w0]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{var o;(o=e[w0])==null||o.reject(r),e[w0]=null}),e.on("exit",r=>{var o;r!==0&&((o=e[w0])==null||o.reject(new Error(`Worker exited with code ${r}`))),e[w0]=null}),e}run(e){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((o,a)=>{r[w0]={resolve:o,reject:a},r.postMessage(e)})})}}});var ipe=U((I4t,npe)=>{var n_;npe.exports.getContent=()=>(typeof n_>"u"&&(n_=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),n_)});var Vi={};Yt(Vi,{convertToZip:()=>cct,extractArchiveTo:()=>Act,makeArchiveFromDirectory:()=>lct});async function lct(t,{baseFs:e=new xn,prefixPath:r=wt.root,compressionLevel:o,inMemory:a=!1}={}){let n;if(a)n=new os(null,{level:o});else{let A=await ae.mktempPromise(),p=V.join(A,"archive.zip");n=new os(p,{create:!0,level:o})}let u=V.resolve(wt.root,r);return await n.copyPromise(u,t,{baseFs:e,stableTime:!0,stableSort:!0}),n}async function cct(t,e){let r=await ae.mktempPromise(),o=V.join(r,"archive.zip");return spe||(spe=new Tb((0,lpe.getContent)())),await spe.run({tmpFile:o,tgz:t,opts:e}),new os(o,{level:e.compressionLevel})}async function*uct(t){let e=new ape.default.Parse,r=new ope.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",o=>{r.write(o)}),e.on("error",o=>{r.destroy(o)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let o of r){let a=o;yield a,a.resume()}}async function Act(t,e,{stripComponents:r=0,prefixPath:o=wt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let u=n.path.split(/\//g);return!!(u.some(A=>A==="..")||u.length<=r)}for await(let n of uct(t)){if(a(n))continue;let u=V.normalize(Ae.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(u.length<=r)continue;let A=u.slice(r).join("/"),p=V.join(o,A),h=420;switch((n.type==="Directory"||((n.mode??0)&73)!==0)&&(h|=73),n.type){case"Directory":e.mkdirpSync(V.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.mkdirSync(p,{mode:h}),e.utimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(V.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.writeFileSync(p,await Gy(n),{mode:h}),e.utimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(V.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.symlinkSync(n.linkpath,p),e.lutimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break}}return e}var ope,ape,lpe,spe,cpe=dt(()=>{bt();Oc();ope=Ie("stream"),ape=tt($fe());rpe();Gl();lpe=tt(ipe())});var Ape=U((i_,upe)=>{(function(t,e){typeof i_=="object"?upe.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(i_,function(){function t(a,n){var u=n?"\u2514":"\u251C";return a?u+="\u2500 ":u+="\u2500\u2500\u2510",u}function e(a,n){var u=[];for(var A in a)!a.hasOwnProperty(A)||n&&typeof a[A]=="function"||u.push(A);return u}function r(a,n,u,A,p,h,C){var w="",v=0,b,E,R=A.slice(0);if(R.push([n,u])&&A.length>0&&(A.forEach(function(_,J){J>0&&(w+=(_[1]?" ":"\u2502")+" "),!E&&_[0]===n&&(E=!0)}),w+=t(a,u)+a,p&&(typeof n!="object"||n instanceof Date)&&(w+=": "+n),E&&(w+=" (circular ref.)"),C(w)),!E&&typeof n=="object"){var L=e(n,h);L.forEach(function(_){b=++v===L.length,r(_,n[_],b,R,p,h,C)})}}var o={};return o.asLines=function(a,n,u,A){var p=typeof u!="function"?u:!1;r(".",a,!1,[],n,p,A||u)},o.asTree=function(a,n,u){var A="";return r(".",a,!1,[],n,u,function(p){A+=p+` | 186 | `).reduce(vat,Object.create(null)),vat=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let o=e.split("="),a=o.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!a)return t;let n=o.join("=");return t[a]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(a)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,t};Yue.exports=Q1});var qC=U((t4t,Kue)=>{Kue.exports=t=>{let e=t.length-1,r=-1;for(;e>-1&&t.charAt(e)==="/";)r=e,e--;return r===-1?t:t.slice(0,r)}});var Zx=U((r4t,Vue)=>{"use strict";Vue.exports=t=>class extends t{warn(e,r,o={}){this.file&&(o.file=this.file),this.cwd&&(o.cwd=this.cwd),o.code=r instanceof Error&&r.code||e,o.tarCode=e,!this.strict&&o.recoverable!==!1?(r instanceof Error&&(o=Object.assign(r,o),r=r.message),this.emit("warn",o.tarCode,r,o)):r instanceof Error?this.emit("error",Object.assign(r,o)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),o))}}});var r3=U((i4t,Jue)=>{"use strict";var $x=["|","<",">","?",":"],t3=$x.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),Dat=new Map($x.map((t,e)=>[t,t3[e]])),Sat=new Map(t3.map((t,e)=>[t,$x[e]]));Jue.exports={encode:t=>$x.reduce((e,r)=>e.split(r).join(Dat.get(r)),t),decode:t=>t3.reduce((e,r)=>e.split(r).join(Sat.get(r)),t)}});var n3=U((s4t,Xue)=>{var{isAbsolute:Pat,parse:zue}=Ie("path").win32;Xue.exports=t=>{let e="",r=zue(t);for(;Pat(t)||r.root;){let o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.substr(o.length),e+=o,r=zue(t)}return[e,t]}});var $ue=U((o4t,Zue)=>{"use strict";Zue.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var p3=U((c4t,pAe)=>{"use strict";var oAe=LC(),aAe=Xx(),lAe=HC(),lA=Ie("fs"),eAe=Ie("path"),aA=UC(),xat=qC(),cAe=(t,e)=>e?(t=aA(t).replace(/^\.(\/|$)/,""),xat(e)+"/"+t):aA(t),bat=16*1024*1024,tAe=Symbol("process"),rAe=Symbol("file"),nAe=Symbol("directory"),s3=Symbol("symlink"),iAe=Symbol("hardlink"),k1=Symbol("header"),eb=Symbol("read"),o3=Symbol("lstat"),tb=Symbol("onlstat"),a3=Symbol("onread"),l3=Symbol("onreadlink"),c3=Symbol("openfile"),u3=Symbol("onopenfile"),g0=Symbol("close"),rb=Symbol("mode"),A3=Symbol("awaitDrain"),i3=Symbol("ondrain"),cA=Symbol("prefix"),sAe=Symbol("hadError"),uAe=Zx(),Qat=r3(),AAe=n3(),fAe=$ue(),nb=uAe(class extends oAe{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=aA(e),this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||bat,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=aA(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,this.prefix=r.prefix?aA(r.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=AAe(this.path);a&&(this.path=n,o=a)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=Qat.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=aA(r.absolute||eAe.resolve(this.cwd,e)),this.path===""&&(this.path="./"),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.statCache.has(this.absolute)?this[tb](this.statCache.get(this.absolute)):this[o3]()}emit(e,...r){return e==="error"&&(this[sAe]=!0),super.emit(e,...r)}[o3](){lA.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[tb](r)})}[tb](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=Fat(e),this.emit("stat",e),this[tAe]()}[tAe](){switch(this.type){case"File":return this[rAe]();case"Directory":return this[nAe]();case"SymbolicLink":return this[s3]();default:return this.end()}}[rb](e){return fAe(e,this.type==="Directory",this.portable)}[cA](e){return cAe(e,this.prefix)}[k1](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new lAe({path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,mode:this[rb](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new aAe({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[nAe](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[k1](),this.end()}[s3](){lA.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[l3](r)})}[l3](e){this.linkpath=aA(e),this[k1](),this.end()}[iAe](e){this.type="Link",this.linkpath=aA(eAe.relative(this.cwd,e)),this.stat.size=0,this[k1](),this.end()}[rAe](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[iAe](r)}this.linkCache.set(e,this.absolute)}if(this[k1](),this.stat.size===0)return this.end();this[c3]()}[c3](){lA.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[u3](r)})}[u3](e){if(this.fd=e,this[sAe])return this[g0]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[eb]()}[eb](){let{fd:e,buf:r,offset:o,length:a,pos:n}=this;lA.read(e,r,o,a,n,(u,A)=>{if(u)return this[g0](()=>this.emit("error",u));this[a3](A)})}[g0](e){lA.close(this.fd,e)}[a3](e){if(e<=0&&this.remain>0){let a=new Error("encountered unexpected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[g0](()=>this.emit("error",a))}if(e>this.remain){let a=new Error("did not encounter expected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[g0](()=>this.emit("error",a))}if(e===this.remain)for(let a=e;a<this.length&&e<this.blockRemain;a++)this.buf[a+this.offset]=0,e++,this.remain++;let r=this.offset===0&&e===this.buf.length?this.buf:this.buf.slice(this.offset,this.offset+e);this.write(r)?this[i3]():this[A3](()=>this[i3]())}[A3](e){this.once("drain",e)}write(e){if(this.blockRemain<e.length){let r=new Error("writing more data than expected");return r.path=this.absolute,this.emit("error",r)}return this.remain-=e.length,this.blockRemain-=e.length,this.pos+=e.length,this.offset+=e.length,super.write(e)}[i3](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[g0](e=>e?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[eb]()}}),f3=class extends nb{[o3](){this[tb](lA.lstatSync(this.absolute))}[s3](){this[l3](lA.readlinkSync(this.absolute))}[c3](){this[u3](lA.openSync(this.absolute,"r"))}[eb](){let e=!0;try{let{fd:r,buf:o,offset:a,length:n,pos:u}=this,A=lA.readSync(r,o,a,n,u);this[a3](A),e=!1}finally{if(e)try{this[g0](()=>{})}catch{}}}[A3](e){e()}[g0](e){lA.closeSync(this.fd),e()}},kat=uAe(class extends oAe{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix||null,this.path=aA(e.path),this.mode=this[rb](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=aA(e.linkpath),typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=AAe(this.path);a&&(this.path=n,o=a)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new lAe({path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new aAe({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[cA](this.path),linkpath:this.type==="Link"?this[cA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[cA](e){return cAe(e,this.prefix)}[rb](e){return fAe(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});nb.Sync=f3;nb.Tar=kat;var Fat=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";pAe.exports=nb});var pb=U((A4t,EAe)=>{"use strict";var Ab=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},Rat=LC(),Tat=YU(),Nat=Jx(),w3=p3(),Lat=w3.Sync,Oat=w3.Tar,Mat=AS(),hAe=Buffer.alloc(1024),ob=Symbol("onStat"),ib=Symbol("ended"),uA=Symbol("queue"),jC=Symbol("current"),Md=Symbol("process"),sb=Symbol("processing"),gAe=Symbol("processJob"),AA=Symbol("jobs"),h3=Symbol("jobDone"),ab=Symbol("addFSEntry"),dAe=Symbol("addTarEntry"),y3=Symbol("stat"),C3=Symbol("readdir"),lb=Symbol("onreaddir"),ub=Symbol("pipe"),mAe=Symbol("entry"),g3=Symbol("entryOpt"),E3=Symbol("writeEntryClass"),CAe=Symbol("write"),d3=Symbol("ondrain"),fb=Ie("fs"),yAe=Ie("path"),Uat=Zx(),m3=UC(),B3=Uat(class extends Rat{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=m3(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[E3]=w3,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new Tat.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[d3]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[d3]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[uA]=new Mat,this[AA]=0,this.jobs=+e.jobs||4,this[sb]=!1,this[ib]=!1}[CAe](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[ib]=!0,this[Md](),this}write(e){if(this[ib])throw new Error("write after end");return e instanceof Nat?this[dAe](e):this[ab](e),this.flowing}[dAe](e){let r=m3(yAe.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let o=new Ab(e.path,r,!1);o.entry=new Oat(e,this[g3](o)),o.entry.on("end",a=>this[h3](o)),this[AA]+=1,this[uA].push(o)}this[Md]()}[ab](e){let r=m3(yAe.resolve(this.cwd,e));this[uA].push(new Ab(e,r)),this[Md]()}[y3](e){e.pending=!0,this[AA]+=1;let r=this.follow?"stat":"lstat";fb[r](e.absolute,(o,a)=>{e.pending=!1,this[AA]-=1,o?this.emit("error",o):this[ob](e,a)})}[ob](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[Md]()}[C3](e){e.pending=!0,this[AA]+=1,fb.readdir(e.absolute,(r,o)=>{if(e.pending=!1,this[AA]-=1,r)return this.emit("error",r);this[lb](e,o)})}[lb](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[Md]()}[Md](){if(!this[sb]){this[sb]=!0;for(let e=this[uA].head;e!==null&&this[AA]<this.jobs;e=e.next)if(this[gAe](e.value),e.value.ignore){let r=e.next;this[uA].removeNode(e),e.next=r}this[sb]=!1,this[ib]&&!this[uA].length&&this[AA]===0&&(this.zip?this.zip.end(hAe):(super.write(hAe),super.end()))}}get[jC](){return this[uA]&&this[uA].head&&this[uA].head.value}[h3](e){this[uA].shift(),this[AA]-=1,this[Md]()}[gAe](e){if(!e.pending){if(e.entry){e===this[jC]&&!e.piped&&this[ub](e);return}if(e.stat||(this.statCache.has(e.absolute)?this[ob](e,this.statCache.get(e.absolute)):this[y3](e)),!!e.stat&&!e.ignore&&!(!this.noDirRecurse&&e.stat.isDirectory()&&!e.readdir&&(this.readdirCache.has(e.absolute)?this[lb](e,this.readdirCache.get(e.absolute)):this[C3](e),!e.readdir))){if(e.entry=this[mAe](e),!e.entry){e.ignore=!0;return}e===this[jC]&&!e.piped&&this[ub](e)}}}[g3](e){return{onwarn:(r,o,a)=>this.warn(r,o,a),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[mAe](e){this[AA]+=1;try{return new this[E3](e.path,this[g3](e)).on("end",()=>this[h3](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[d3](){this[jC]&&this[jC].entry&&this[jC].entry.resume()}[ub](e){e.piped=!0,e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[ab](u+a)});let r=e.entry,o=this.zip;o?r.on("data",a=>{o.write(a)||r.pause()}):r.on("data",a=>{super.write(a)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),I3=class extends B3{constructor(e){super(e),this[E3]=Lat}pause(){}resume(){}[y3](e){let r=this.follow?"statSync":"lstatSync";this[ob](e,fb[r](e.absolute))}[C3](e,r){this[lb](e,fb.readdirSync(e.absolute))}[ub](e){let r=e.entry,o=this.zip;e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[ab](u+a)}),o?r.on("data",a=>{o.write(a)}):r.on("data",a=>{super[CAe](a)})}};B3.Sync=I3;EAe.exports=B3});var XC=U(R1=>{"use strict";var _at=LC(),Hat=Ie("events").EventEmitter,ka=Ie("fs"),S3=ka.writev;if(!S3){let t=process.binding("fs"),e=t.FSReqWrap||t.FSReqCallback;S3=(r,o,a,n)=>{let u=(p,h)=>n(p,h,o),A=new e;A.oncomplete=u,t.writeBuffers(r,o,a,A)}}var JC=Symbol("_autoClose"),Jc=Symbol("_close"),F1=Symbol("_ended"),Mn=Symbol("_fd"),IAe=Symbol("_finished"),m0=Symbol("_flags"),v3=Symbol("_flush"),P3=Symbol("_handleChunk"),x3=Symbol("_makeBuf"),yb=Symbol("_mode"),hb=Symbol("_needDrain"),KC=Symbol("_onerror"),zC=Symbol("_onopen"),D3=Symbol("_onread"),WC=Symbol("_onwrite"),y0=Symbol("_open"),qf=Symbol("_path"),Ud=Symbol("_pos"),fA=Symbol("_queue"),YC=Symbol("_read"),wAe=Symbol("_readSize"),d0=Symbol("_reading"),gb=Symbol("_remain"),BAe=Symbol("_size"),db=Symbol("_write"),GC=Symbol("_writing"),mb=Symbol("_defaultFlag"),VC=Symbol("_errored"),Cb=class extends _at{constructor(e,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[VC]=!1,this[Mn]=typeof r.fd=="number"?r.fd:null,this[qf]=e,this[wAe]=r.readSize||16*1024*1024,this[d0]=!1,this[BAe]=typeof r.size=="number"?r.size:1/0,this[gb]=this[BAe],this[JC]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Mn]=="number"?this[YC]():this[y0]()}get fd(){return this[Mn]}get path(){return this[qf]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[y0](){ka.open(this[qf],"r",(e,r)=>this[zC](e,r))}[zC](e,r){e?this[KC](e):(this[Mn]=r,this.emit("open",r),this[YC]())}[x3](){return Buffer.allocUnsafe(Math.min(this[wAe],this[gb]))}[YC](){if(!this[d0]){this[d0]=!0;let e=this[x3]();if(e.length===0)return process.nextTick(()=>this[D3](null,0,e));ka.read(this[Mn],e,0,e.length,null,(r,o,a)=>this[D3](r,o,a))}}[D3](e,r,o){this[d0]=!1,e?this[KC](e):this[P3](r,o)&&this[YC]()}[Jc](){if(this[JC]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,ka.close(e,r=>r?this.emit("error",r):this.emit("close"))}}[KC](e){this[d0]=!0,this[Jc](),this.emit("error",e)}[P3](e,r){let o=!1;return this[gb]-=e,e>0&&(o=super.write(e<r.length?r.slice(0,e):r)),(e===0||this[gb]<=0)&&(o=!1,this[Jc](),super.end()),o}emit(e,r){switch(e){case"prefinish":case"finish":break;case"drain":typeof this[Mn]=="number"&&this[YC]();break;case"error":return this[VC]?void 0:(this[VC]=!0,super.emit(e,r));default:return super.emit(e,r)}}},b3=class extends Cb{[y0](){let e=!0;try{this[zC](null,ka.openSync(this[qf],"r")),e=!1}finally{e&&this[Jc]()}}[YC](){let e=!0;try{if(!this[d0]){this[d0]=!0;do{let r=this[x3](),o=r.length===0?0:ka.readSync(this[Mn],r,0,r.length,null);if(!this[P3](o,r))break}while(!0);this[d0]=!1}e=!1}finally{e&&this[Jc]()}}[Jc](){if(this[JC]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,ka.closeSync(e),this.emit("close")}}},Eb=class extends Hat{constructor(e,r){r=r||{},super(r),this.readable=!1,this.writable=!0,this[VC]=!1,this[GC]=!1,this[F1]=!1,this[hb]=!1,this[fA]=[],this[qf]=e,this[Mn]=typeof r.fd=="number"?r.fd:null,this[yb]=r.mode===void 0?438:r.mode,this[Ud]=typeof r.start=="number"?r.start:null,this[JC]=typeof r.autoClose=="boolean"?r.autoClose:!0;let o=this[Ud]!==null?"r+":"w";this[mb]=r.flags===void 0,this[m0]=this[mb]?o:r.flags,this[Mn]===null&&this[y0]()}emit(e,r){if(e==="error"){if(this[VC])return;this[VC]=!0}return super.emit(e,r)}get fd(){return this[Mn]}get path(){return this[qf]}[KC](e){this[Jc](),this[GC]=!0,this.emit("error",e)}[y0](){ka.open(this[qf],this[m0],this[yb],(e,r)=>this[zC](e,r))}[zC](e,r){this[mb]&&this[m0]==="r+"&&e&&e.code==="ENOENT"?(this[m0]="w",this[y0]()):e?this[KC](e):(this[Mn]=r,this.emit("open",r),this[v3]())}end(e,r){return e&&this.write(e,r),this[F1]=!0,!this[GC]&&!this[fA].length&&typeof this[Mn]=="number"&&this[WC](null,0),this}write(e,r){return typeof e=="string"&&(e=Buffer.from(e,r)),this[F1]?(this.emit("error",new Error("write() after end()")),!1):this[Mn]===null||this[GC]||this[fA].length?(this[fA].push(e),this[hb]=!0,!1):(this[GC]=!0,this[db](e),!0)}[db](e){ka.write(this[Mn],e,0,e.length,this[Ud],(r,o)=>this[WC](r,o))}[WC](e,r){e?this[KC](e):(this[Ud]!==null&&(this[Ud]+=r),this[fA].length?this[v3]():(this[GC]=!1,this[F1]&&!this[IAe]?(this[IAe]=!0,this[Jc](),this.emit("finish")):this[hb]&&(this[hb]=!1,this.emit("drain"))))}[v3](){if(this[fA].length===0)this[F1]&&this[WC](null,0);else if(this[fA].length===1)this[db](this[fA].pop());else{let e=this[fA];this[fA]=[],S3(this[Mn],e,this[Ud],(r,o)=>this[WC](r,o))}}[Jc](){if(this[JC]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,ka.close(e,r=>r?this.emit("error",r):this.emit("close"))}}},Q3=class extends Eb{[y0](){let e;if(this[mb]&&this[m0]==="r+")try{e=ka.openSync(this[qf],this[m0],this[yb])}catch(r){if(r.code==="ENOENT")return this[m0]="w",this[y0]();throw r}else e=ka.openSync(this[qf],this[m0],this[yb]);this[zC](null,e)}[Jc](){if(this[JC]&&typeof this[Mn]=="number"){let e=this[Mn];this[Mn]=null,ka.closeSync(e),this.emit("close")}}[db](e){let r=!0;try{this[WC](null,ka.writeSync(this[Mn],e,0,e.length,this[Ud])),r=!1}finally{if(r)try{this[Jc]()}catch{}}}};R1.ReadStream=Cb;R1.ReadStreamSync=b3;R1.WriteStream=Eb;R1.WriteStreamSync=Q3});var Pb=U((h4t,QAe)=>{"use strict";var qat=Zx(),jat=HC(),Gat=Ie("events"),Wat=AS(),Yat=1024*1024,Kat=Jx(),vAe=Xx(),Vat=YU(),k3=Buffer.from([31,139]),rc=Symbol("state"),_d=Symbol("writeEntry"),jf=Symbol("readEntry"),F3=Symbol("nextEntry"),DAe=Symbol("processEntry"),nc=Symbol("extendedHeader"),T1=Symbol("globalExtendedHeader"),C0=Symbol("meta"),SAe=Symbol("emitMeta"),li=Symbol("buffer"),Gf=Symbol("queue"),Hd=Symbol("ended"),PAe=Symbol("emittedEnd"),qd=Symbol("emit"),Fa=Symbol("unzip"),Ib=Symbol("consumeChunk"),wb=Symbol("consumeChunkSub"),R3=Symbol("consumeBody"),xAe=Symbol("consumeMeta"),bAe=Symbol("consumeHeader"),Bb=Symbol("consuming"),T3=Symbol("bufferConcat"),N3=Symbol("maybeEnd"),N1=Symbol("writing"),E0=Symbol("aborted"),vb=Symbol("onDone"),jd=Symbol("sawValidEntry"),Db=Symbol("sawNullBlock"),Sb=Symbol("sawEOF"),Jat=t=>!0;QAe.exports=qat(class extends Gat{constructor(e){e=e||{},super(e),this.file=e.file||"",this[jd]=null,this.on(vb,r=>{(this[rc]==="begin"||this[jd]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(vb,e.ondone):this.on(vb,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||Yat,this.filter=typeof e.filter=="function"?e.filter:Jat,this.writable=!0,this.readable=!1,this[Gf]=new Wat,this[li]=null,this[jf]=null,this[_d]=null,this[rc]="begin",this[C0]="",this[nc]=null,this[T1]=null,this[Hd]=!1,this[Fa]=null,this[E0]=!1,this[Db]=!1,this[Sb]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[bAe](e,r){this[jd]===null&&(this[jd]=!1);let o;try{o=new jat(e,r,this[nc],this[T1])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(o.nullBlock)this[Db]?(this[Sb]=!0,this[rc]==="begin"&&(this[rc]="header"),this[qd]("eof")):(this[Db]=!0,this[qd]("nullBlock"));else if(this[Db]=!1,!o.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:o});else if(!o.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:o});else{let a=o.type;if(/^(Symbolic)?Link$/.test(a)&&!o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:o});else if(!/^(Symbolic)?Link$/.test(a)&&o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:o});else{let n=this[_d]=new Kat(o,this[nc],this[T1]);if(!this[jd])if(n.remain){let u=()=>{n.invalid||(this[jd]=!0)};n.on("end",u)}else this[jd]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[qd]("ignoredEntry",n),this[rc]="ignore",n.resume()):n.size>0&&(this[C0]="",n.on("data",u=>this[C0]+=u),this[rc]="meta"):(this[nc]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[qd]("ignoredEntry",n),this[rc]=n.remain?"ignore":"header",n.resume()):(n.remain?this[rc]="body":(this[rc]="header",n.end()),this[jf]?this[Gf].push(n):(this[Gf].push(n),this[F3]())))}}}[DAe](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[jf]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",o=>this[F3]()),r=!1)):(this[jf]=null,r=!1),r}[F3](){do;while(this[DAe](this[Gf].shift()));if(!this[Gf].length){let e=this[jf];!e||e.flowing||e.size===e.remain?this[N1]||this.emit("drain"):e.once("drain",o=>this.emit("drain"))}}[R3](e,r){let o=this[_d],a=o.blockRemain,n=a>=e.length&&r===0?e:e.slice(r,r+a);return o.write(n),o.blockRemain||(this[rc]="header",this[_d]=null,o.end()),n.length}[xAe](e,r){let o=this[_d],a=this[R3](e,r);return this[_d]||this[SAe](o),a}[qd](e,r,o){!this[Gf].length&&!this[jf]?this.emit(e,r,o):this[Gf].push([e,r,o])}[SAe](e){switch(this[qd]("meta",this[C0]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[nc]=vAe.parse(this[C0],this[nc],!1);break;case"GlobalExtendedHeader":this[T1]=vAe.parse(this[C0],this[T1],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[nc]=this[nc]||Object.create(null),this[nc].path=this[C0].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[nc]=this[nc]||Object.create(null),this[nc].linkpath=this[C0].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[E0]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[E0])return;if(this[Fa]===null&&e){if(this[li]&&(e=Buffer.concat([this[li],e]),this[li]=null),e.length<k3.length)return this[li]=e,!0;for(let o=0;this[Fa]===null&&o<k3.length;o++)e[o]!==k3[o]&&(this[Fa]=!1);if(this[Fa]===null){let o=this[Hd];this[Hd]=!1,this[Fa]=new Vat.Unzip,this[Fa].on("data",n=>this[Ib](n)),this[Fa].on("error",n=>this.abort(n)),this[Fa].on("end",n=>{this[Hd]=!0,this[Ib]()}),this[N1]=!0;let a=this[Fa][o?"end":"write"](e);return this[N1]=!1,a}}this[N1]=!0,this[Fa]?this[Fa].write(e):this[Ib](e),this[N1]=!1;let r=this[Gf].length?!1:this[jf]?this[jf].flowing:!0;return!r&&!this[Gf].length&&this[jf].once("drain",o=>this.emit("drain")),r}[T3](e){e&&!this[E0]&&(this[li]=this[li]?Buffer.concat([this[li],e]):e)}[N3](){if(this[Hd]&&!this[PAe]&&!this[E0]&&!this[Bb]){this[PAe]=!0;let e=this[_d];if(e&&e.blockRemain){let r=this[li]?this[li].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[li]&&e.write(this[li]),e.end()}this[qd](vb)}}[Ib](e){if(this[Bb])this[T3](e);else if(!e&&!this[li])this[N3]();else{if(this[Bb]=!0,this[li]){this[T3](e);let r=this[li];this[li]=null,this[wb](r)}else this[wb](e);for(;this[li]&&this[li].length>=512&&!this[E0]&&!this[Sb];){let r=this[li];this[li]=null,this[wb](r)}this[Bb]=!1}(!this[li]||this[Hd])&&this[N3]()}[wb](e){let r=0,o=e.length;for(;r+512<=o&&!this[E0]&&!this[Sb];)switch(this[rc]){case"begin":case"header":this[bAe](e,r),r+=512;break;case"ignore":case"body":r+=this[R3](e,r);break;case"meta":r+=this[xAe](e,r);break;default:throw new Error("invalid state: "+this[rc])}r<o&&(this[li]?this[li]=Buffer.concat([e.slice(r),this[li]]):this[li]=e.slice(r))}end(e){this[E0]||(this[Fa]?this[Fa].end(e):(this[Hd]=!0,this.write(e)))}})});var xb=U((g4t,TAe)=>{"use strict";var zat=TC(),FAe=Pb(),ZC=Ie("fs"),Xat=XC(),kAe=Ie("path"),L3=qC();TAe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=zat(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&$at(o,e),o.noResume||Zat(o),o.file&&o.sync?elt(o):o.file?tlt(o,r):RAe(o)};var Zat=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},$at=(t,e)=>{let r=new Map(e.map(n=>[L3(n),!0])),o=t.filter,a=(n,u)=>{let A=u||kAe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(kAe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(L3(n)):n=>a(L3(n))},elt=t=>{let e=RAe(t),r=t.file,o=!0,a;try{let n=ZC.statSync(r),u=t.maxReadSize||16*1024*1024;if(n.size<u)e.end(ZC.readFileSync(r));else{let A=0,p=Buffer.allocUnsafe(u);for(a=ZC.openSync(r,"r");A<n.size;){let h=ZC.readSync(a,p,0,u,A);A+=h,e.write(p.slice(0,h))}e.end()}o=!1}finally{if(o&&a)try{ZC.closeSync(a)}catch{}}},tlt=(t,e)=>{let r=new FAe(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("end",u),ZC.stat(a,(p,h)=>{if(p)A(p);else{let E=new Xat.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},RAe=t=>new FAe(t)});var _Ae=U((d4t,UAe)=>{"use strict";var rlt=TC(),bb=pb(),NAe=XC(),LAe=xb(),OAe=Ie("path");UAe.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let o=rlt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return o.file&&o.sync?nlt(o,e):o.file?ilt(o,e,r):o.sync?slt(o,e):olt(o,e)};var nlt=(t,e)=>{let r=new bb.Sync(t),o=new NAe.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(o),MAe(r,e)},ilt=(t,e,r)=>{let o=new bb(t),a=new NAe.WriteStream(t.file,{mode:t.mode||438});o.pipe(a);let n=new Promise((u,A)=>{a.on("error",A),a.on("close",u),o.on("error",A)});return O3(o,e),r?n.then(r,r):n},MAe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?LAe({file:OAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},O3=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return LAe({file:OAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>O3(t,e));t.add(r)}t.end()},slt=(t,e)=>{let r=new bb.Sync(t);return MAe(r,e),r},olt=(t,e)=>{let r=new bb(t);return O3(r,e),r}});var M3=U((m4t,KAe)=>{"use strict";var alt=TC(),HAe=pb(),pl=Ie("fs"),qAe=XC(),jAe=xb(),GAe=Ie("path"),WAe=HC();KAe.exports=(t,e,r)=>{let o=alt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),o.sync?llt(o,e):ult(o,e,r)};var llt=(t,e)=>{let r=new HAe.Sync(t),o=!0,a,n;try{try{a=pl.openSync(t.file,"r+")}catch(p){if(p.code==="ENOENT")a=pl.openSync(t.file,"w+");else throw p}let u=pl.fstatSync(a),A=Buffer.alloc(512);e:for(n=0;n<u.size;n+=512){for(let E=0,w=0;E<512;E+=w){if(w=pl.readSync(a,A,E,A.length-E,n+E),n===0&&A[0]===31&&A[1]===139)throw new Error("cannot append to compressed archives");if(!w)break e}let p=new WAe(A);if(!p.cksumValid)break;let h=512*Math.ceil(p.size/512);if(n+h+512>u.size)break;n+=h,t.mtimeCache&&t.mtimeCache.set(p.path,p.mtime)}o=!1,clt(t,r,n,a,e)}finally{if(o)try{pl.closeSync(a)}catch{}}},clt=(t,e,r,o,a)=>{let n=new qAe.WriteStreamSync(t.file,{fd:o,start:r});e.pipe(n),Alt(e,a)},ult=(t,e,r)=>{e=Array.from(e);let o=new HAe(t),a=(u,A,p)=>{let h=(C,R)=>{C?pl.close(u,L=>p(C)):p(null,R)},E=0;if(A===0)return h(null,0);let w=0,v=Buffer.alloc(512),b=(C,R)=>{if(C)return h(C);if(w+=R,w<512&&R)return pl.read(u,v,w,v.length-w,E+w,b);if(E===0&&v[0]===31&&v[1]===139)return h(new Error("cannot append to compressed archives"));if(w<512)return h(null,E);let L=new WAe(v);if(!L.cksumValid)return h(null,E);let _=512*Math.ceil(L.size/512);if(E+_+512>A||(E+=_+512,E>=A))return h(null,E);t.mtimeCache&&t.mtimeCache.set(L.path,L.mtime),w=0,pl.read(u,v,0,512,E,b)};pl.read(u,v,0,512,E,b)},n=new Promise((u,A)=>{o.on("error",A);let p="r+",h=(E,w)=>{if(E&&E.code==="ENOENT"&&p==="r+")return p="w+",pl.open(t.file,p,h);if(E)return A(E);pl.fstat(w,(v,b)=>{if(v)return pl.close(w,()=>A(v));a(w,b.size,(C,R)=>{if(C)return A(C);let L=new qAe.WriteStream(t.file,{fd:w,start:R});o.pipe(L),L.on("error",A),L.on("close",u),YAe(o,e)})})};pl.open(t.file,p,h)});return r?n.then(r,r):n},Alt=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?jAe({file:GAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},YAe=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return jAe({file:GAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>YAe(t,e));t.add(r)}t.end()}});var JAe=U((y4t,VAe)=>{"use strict";var flt=TC(),plt=M3();VAe.exports=(t,e,r)=>{let o=flt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),hlt(o),plt(o,e,r)};var hlt=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,o)=>e(r,o)&&!(t.mtimeCache.get(r)>o.mtime):(r,o)=>!(t.mtimeCache.get(r)>o.mtime)}});var ZAe=U((C4t,XAe)=>{var{promisify:zAe}=Ie("util"),I0=Ie("fs"),glt=t=>{if(!t)t={mode:511,fs:I0};else if(typeof t=="object")t={mode:511,fs:I0,...t};else if(typeof t=="number")t={mode:t,fs:I0};else if(typeof t=="string")t={mode:parseInt(t,8),fs:I0};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||I0.mkdir,t.mkdirAsync=zAe(t.mkdir),t.stat=t.stat||t.fs.stat||I0.stat,t.statAsync=zAe(t.stat),t.statSync=t.statSync||t.fs.statSync||I0.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||I0.mkdirSync,t};XAe.exports=glt});var efe=U((E4t,$Ae)=>{var dlt=process.platform,{resolve:mlt,parse:ylt}=Ie("path"),Clt=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=mlt(t),dlt==="win32"){let e=/[*|"<>?:]/,{root:r}=ylt(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};$Ae.exports=Clt});var sfe=U((I4t,ife)=>{var{dirname:tfe}=Ie("path"),rfe=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(o=>o.isDirectory()?r:void 0,o=>o.code==="ENOENT"?rfe(t,tfe(e),e):void 0),nfe=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(o){return o.code==="ENOENT"?nfe(t,tfe(e),e):void 0}};ife.exports={findMade:rfe,findMadeSync:nfe}});var H3=U((w4t,afe)=>{var{dirname:ofe}=Ie("path"),U3=(t,e,r)=>{e.recursive=!1;let o=ofe(t);return o===t?e.mkdirAsync(t,e).catch(a=>{if(a.code!=="EISDIR")throw a}):e.mkdirAsync(t,e).then(()=>r||t,a=>{if(a.code==="ENOENT")return U3(o,e).then(n=>U3(t,e,n));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;return e.statAsync(t).then(n=>{if(n.isDirectory())return r;throw a},()=>{throw a})})},_3=(t,e,r)=>{let o=ofe(t);if(e.recursive=!1,o===t)try{return e.mkdirSync(t,e)}catch(a){if(a.code!=="EISDIR")throw a;return}try{return e.mkdirSync(t,e),r||t}catch(a){if(a.code==="ENOENT")return _3(t,e,_3(o,e,r));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;try{if(!e.statSync(t).isDirectory())throw a}catch{throw a}}};afe.exports={mkdirpManual:U3,mkdirpManualSync:_3}});var ufe=U((B4t,cfe)=>{var{dirname:lfe}=Ie("path"),{findMade:Elt,findMadeSync:Ilt}=sfe(),{mkdirpManual:wlt,mkdirpManualSync:Blt}=H3(),vlt=(t,e)=>(e.recursive=!0,lfe(t)===t?e.mkdirAsync(t,e):Elt(e,t).then(o=>e.mkdirAsync(t,e).then(()=>o).catch(a=>{if(a.code==="ENOENT")return wlt(t,e);throw a}))),Dlt=(t,e)=>{if(e.recursive=!0,lfe(t)===t)return e.mkdirSync(t,e);let o=Ilt(e,t);try{return e.mkdirSync(t,e),o}catch(a){if(a.code==="ENOENT")return Blt(t,e);throw a}};cfe.exports={mkdirpNative:vlt,mkdirpNativeSync:Dlt}});var hfe=U((v4t,pfe)=>{var Afe=Ie("fs"),Slt=process.version,q3=Slt.replace(/^v/,"").split("."),ffe=+q3[0]>10||+q3[0]==10&&+q3[1]>=12,Plt=ffe?t=>t.mkdir===Afe.mkdir:()=>!1,xlt=ffe?t=>t.mkdirSync===Afe.mkdirSync:()=>!1;pfe.exports={useNative:Plt,useNativeSync:xlt}});var Efe=U((D4t,Cfe)=>{var $C=ZAe(),eE=efe(),{mkdirpNative:gfe,mkdirpNativeSync:dfe}=ufe(),{mkdirpManual:mfe,mkdirpManualSync:yfe}=H3(),{useNative:blt,useNativeSync:Qlt}=hfe(),tE=(t,e)=>(t=eE(t),e=$C(e),blt(e)?gfe(t,e):mfe(t,e)),klt=(t,e)=>(t=eE(t),e=$C(e),Qlt(e)?dfe(t,e):yfe(t,e));tE.sync=klt;tE.native=(t,e)=>gfe(eE(t),$C(e));tE.manual=(t,e)=>mfe(eE(t),$C(e));tE.nativeSync=(t,e)=>dfe(eE(t),$C(e));tE.manualSync=(t,e)=>yfe(eE(t),$C(e));Cfe.exports=tE});var Pfe=U((S4t,Sfe)=>{"use strict";var ic=Ie("fs"),Gd=Ie("path"),Flt=ic.lchown?"lchown":"chown",Rlt=ic.lchownSync?"lchownSync":"chownSync",wfe=ic.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),Ife=(t,e,r)=>{try{return ic[Rlt](t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},Tlt=(t,e,r)=>{try{return ic.chownSync(t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},Nlt=wfe?(t,e,r,o)=>a=>{!a||a.code!=="EISDIR"?o(a):ic.chown(t,e,r,o)}:(t,e,r,o)=>o,j3=wfe?(t,e,r)=>{try{return Ife(t,e,r)}catch(o){if(o.code!=="EISDIR")throw o;Tlt(t,e,r)}}:(t,e,r)=>Ife(t,e,r),Llt=process.version,Bfe=(t,e,r)=>ic.readdir(t,e,r),Olt=(t,e)=>ic.readdirSync(t,e);/^v4\./.test(Llt)&&(Bfe=(t,e,r)=>ic.readdir(t,r));var Qb=(t,e,r,o)=>{ic[Flt](t,e,r,Nlt(t,e,r,a=>{o(a&&a.code!=="ENOENT"?a:null)}))},vfe=(t,e,r,o,a)=>{if(typeof e=="string")return ic.lstat(Gd.resolve(t,e),(n,u)=>{if(n)return a(n.code!=="ENOENT"?n:null);u.name=e,vfe(t,u,r,o,a)});if(e.isDirectory())G3(Gd.resolve(t,e.name),r,o,n=>{if(n)return a(n);let u=Gd.resolve(t,e.name);Qb(u,r,o,a)});else{let n=Gd.resolve(t,e.name);Qb(n,r,o,a)}},G3=(t,e,r,o)=>{Bfe(t,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return o();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!n.length)return Qb(t,e,r,o);let u=n.length,A=null,p=h=>{if(!A){if(h)return o(A=h);if(--u===0)return Qb(t,e,r,o)}};n.forEach(h=>vfe(t,h,e,r,p))})},Mlt=(t,e,r,o)=>{if(typeof e=="string")try{let a=ic.lstatSync(Gd.resolve(t,e));a.name=e,e=a}catch(a){if(a.code==="ENOENT")return;throw a}e.isDirectory()&&Dfe(Gd.resolve(t,e.name),r,o),j3(Gd.resolve(t,e.name),r,o)},Dfe=(t,e,r)=>{let o;try{o=Olt(t,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return;if(a.code==="ENOTDIR"||a.code==="ENOTSUP")return j3(t,e,r);throw a}return o&&o.length&&o.forEach(a=>Mlt(t,a,e,r)),j3(t,e,r)};Sfe.exports=G3;G3.sync=Dfe});var kfe=U((P4t,W3)=>{"use strict";var xfe=Efe(),sc=Ie("fs"),kb=Ie("path"),bfe=Pfe(),zc=UC(),Fb=class extends Error{constructor(e,r){super("Cannot extract through symbolic link"),this.path=r,this.symlink=e}get name(){return"SylinkError"}},Rb=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'"),this.path=e,this.code=r}get name(){return"CwdError"}},Tb=(t,e)=>t.get(zc(e)),L1=(t,e,r)=>t.set(zc(e),r),Ult=(t,e)=>{sc.stat(t,(r,o)=>{(r||!o.isDirectory())&&(r=new Rb(t,r&&r.code||"ENOTDIR")),e(r)})};W3.exports=(t,e,r)=>{t=zc(t);let o=e.umask,a=e.mode|448,n=(a&o)!==0,u=e.uid,A=e.gid,p=typeof u=="number"&&typeof A=="number"&&(u!==e.processUid||A!==e.processGid),h=e.preserve,E=e.unlink,w=e.cache,v=zc(e.cwd),b=(L,_)=>{L?r(L):(L1(w,t,!0),_&&p?bfe(_,u,A,V=>b(V)):n?sc.chmod(t,a,r):r())};if(w&&Tb(w,t)===!0)return b();if(t===v)return Ult(t,b);if(h)return xfe(t,{mode:a}).then(L=>b(null,L),b);let R=zc(kb.relative(v,t)).split("/");Nb(v,R,a,w,E,v,null,b)};var Nb=(t,e,r,o,a,n,u,A)=>{if(!e.length)return A(null,u);let p=e.shift(),h=zc(kb.resolve(t+"/"+p));if(Tb(o,h))return Nb(h,e,r,o,a,n,u,A);sc.mkdir(h,r,Qfe(h,e,r,o,a,n,u,A))},Qfe=(t,e,r,o,a,n,u,A)=>p=>{p?sc.lstat(t,(h,E)=>{if(h)h.path=h.path&&zc(h.path),A(h);else if(E.isDirectory())Nb(t,e,r,o,a,n,u,A);else if(a)sc.unlink(t,w=>{if(w)return A(w);sc.mkdir(t,r,Qfe(t,e,r,o,a,n,u,A))});else{if(E.isSymbolicLink())return A(new Fb(t,t+"/"+e.join("/")));A(p)}}):(u=u||t,Nb(t,e,r,o,a,n,u,A))},_lt=t=>{let e=!1,r="ENOTDIR";try{e=sc.statSync(t).isDirectory()}catch(o){r=o.code}finally{if(!e)throw new Rb(t,r)}};W3.exports.sync=(t,e)=>{t=zc(t);let r=e.umask,o=e.mode|448,a=(o&r)!==0,n=e.uid,u=e.gid,A=typeof n=="number"&&typeof u=="number"&&(n!==e.processUid||u!==e.processGid),p=e.preserve,h=e.unlink,E=e.cache,w=zc(e.cwd),v=L=>{L1(E,t,!0),L&&A&&bfe.sync(L,n,u),a&&sc.chmodSync(t,o)};if(E&&Tb(E,t)===!0)return v();if(t===w)return _lt(w),v();if(p)return v(xfe.sync(t,o));let C=zc(kb.relative(w,t)).split("/"),R=null;for(let L=C.shift(),_=w;L&&(_+="/"+L);L=C.shift())if(_=zc(kb.resolve(_)),!Tb(E,_))try{sc.mkdirSync(_,o),R=R||_,L1(E,_,!0)}catch{let re=sc.lstatSync(_);if(re.isDirectory()){L1(E,_,!0);continue}else if(h){sc.unlinkSync(_),sc.mkdirSync(_,o),R=R||_,L1(E,_,!0);continue}else if(re.isSymbolicLink())return new Fb(_,_+"/"+C.join("/"))}return v(R)}});var K3=U((x4t,Ffe)=>{var Y3=Object.create(null),{hasOwnProperty:Hlt}=Object.prototype;Ffe.exports=t=>(Hlt.call(Y3,t)||(Y3[t]=t.normalize("NFKD")),Y3[t])});var Lfe=U((b4t,Nfe)=>{var Rfe=Ie("assert"),qlt=K3(),jlt=qC(),{join:Tfe}=Ie("path"),Glt=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Wlt=Glt==="win32";Nfe.exports=()=>{let t=new Map,e=new Map,r=h=>h.split("/").slice(0,-1).reduce((w,v)=>(w.length&&(v=Tfe(w[w.length-1],v)),w.push(v||"/"),w),[]),o=new Set,a=h=>{let E=e.get(h);if(!E)throw new Error("function does not have any path reservations");return{paths:E.paths.map(w=>t.get(w)),dirs:[...E.dirs].map(w=>t.get(w))}},n=h=>{let{paths:E,dirs:w}=a(h);return E.every(v=>v[0]===h)&&w.every(v=>v[0]instanceof Set&&v[0].has(h))},u=h=>o.has(h)||!n(h)?!1:(o.add(h),h(()=>A(h)),!0),A=h=>{if(!o.has(h))return!1;let{paths:E,dirs:w}=e.get(h),v=new Set;return E.forEach(b=>{let C=t.get(b);Rfe.equal(C[0],h),C.length===1?t.delete(b):(C.shift(),typeof C[0]=="function"?v.add(C[0]):C[0].forEach(R=>v.add(R)))}),w.forEach(b=>{let C=t.get(b);Rfe(C[0]instanceof Set),C[0].size===1&&C.length===1?t.delete(b):C[0].size===1?(C.shift(),v.add(C[0])):C[0].delete(h)}),o.delete(h),v.forEach(b=>u(b)),!0};return{check:n,reserve:(h,E)=>{h=Wlt?["win32 parallelization disabled"]:h.map(v=>qlt(jlt(Tfe(v))).toLowerCase());let w=new Set(h.map(v=>r(v)).reduce((v,b)=>v.concat(b)));return e.set(E,{dirs:w,paths:h}),h.forEach(v=>{let b=t.get(v);b?b.push(E):t.set(v,[E])}),w.forEach(v=>{let b=t.get(v);b?b[b.length-1]instanceof Set?b[b.length-1].add(E):b.push(new Set([E])):t.set(v,[new Set([E])])}),u(E)}}}});var Ufe=U((Q4t,Mfe)=>{var Ylt=process.platform,Klt=Ylt==="win32",Vlt=global.__FAKE_TESTING_FS__||Ie("fs"),{O_CREAT:Jlt,O_TRUNC:zlt,O_WRONLY:Xlt,UV_FS_O_FILEMAP:Ofe=0}=Vlt.constants,Zlt=Klt&&!!Ofe,$lt=512*1024,ect=Ofe|zlt|Jlt|Xlt;Mfe.exports=Zlt?t=>t<$lt?ect:"w":()=>"w"});var r_=U((k4t,$fe)=>{"use strict";var tct=Ie("assert"),rct=Pb(),Cn=Ie("fs"),nct=XC(),Wf=Ie("path"),zfe=kfe(),_fe=r3(),ict=Lfe(),sct=n3(),hl=UC(),oct=qC(),act=K3(),Hfe=Symbol("onEntry"),z3=Symbol("checkFs"),qfe=Symbol("checkFs2"),Mb=Symbol("pruneCache"),X3=Symbol("isReusable"),oc=Symbol("makeFs"),Z3=Symbol("file"),$3=Symbol("directory"),Ub=Symbol("link"),jfe=Symbol("symlink"),Gfe=Symbol("hardlink"),Wfe=Symbol("unsupported"),Yfe=Symbol("checkPath"),w0=Symbol("mkdir"),ko=Symbol("onError"),Lb=Symbol("pending"),Kfe=Symbol("pend"),rE=Symbol("unpend"),V3=Symbol("ended"),J3=Symbol("maybeClose"),e_=Symbol("skip"),O1=Symbol("doChown"),M1=Symbol("uid"),U1=Symbol("gid"),_1=Symbol("checkedCwd"),Xfe=Ie("crypto"),Zfe=Ufe(),lct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,H1=lct==="win32",cct=(t,e)=>{if(!H1)return Cn.unlink(t,e);let r=t+".DELETE."+Xfe.randomBytes(16).toString("hex");Cn.rename(t,r,o=>{if(o)return e(o);Cn.unlink(r,e)})},uct=t=>{if(!H1)return Cn.unlinkSync(t);let e=t+".DELETE."+Xfe.randomBytes(16).toString("hex");Cn.renameSync(t,e),Cn.unlinkSync(e)},Vfe=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,Jfe=t=>act(oct(hl(t))).toLowerCase(),Act=(t,e)=>{e=Jfe(e);for(let r of t.keys()){let o=Jfe(r);(o===e||o.indexOf(e+"/")===0)&&t.delete(r)}},fct=t=>{for(let e of t.keys())t.delete(e)},q1=class extends rct{constructor(e){if(e||(e={}),e.ondone=r=>{this[V3]=!0,this[J3]()},super(e),this[_1]=!1,this.reservations=ict(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[Lb]=0,this[V3]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||H1,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=hl(Wf.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[Hfe](r))}warn(e,r,o={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(o.recoverable=!1),super.warn(e,r,o)}[J3](){this[V3]&&this[Lb]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[Yfe](e){if(this.strip){let r=hl(e.path).split("/");if(r.length<this.strip)return!1;if(e.path=r.slice(this.strip).join("/"),e.type==="Link"){let o=hl(e.linkpath).split("/");if(o.length>=this.strip)e.linkpath=o.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let r=hl(e.path),o=r.split("/");if(o.includes("..")||H1&&/^[a-z]:\.\.$/i.test(o[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;let[a,n]=sct(r);a&&(e.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:e,path:r}))}if(Wf.isAbsolute(e.path)?e.absolute=hl(Wf.resolve(e.path)):e.absolute=hl(Wf.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:hl(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=Wf.win32.parse(e.absolute);e.absolute=r+_fe.encode(e.absolute.substr(r.length));let{root:o}=Wf.win32.parse(e.path);e.path=o+_fe.encode(e.path.substr(o.length))}return!0}[Hfe](e){if(!this[Yfe](e))return e.resume();switch(tct.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[z3](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[Wfe](e)}}[ko](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[rE](),r.resume())}[w0](e,r,o){zfe(hl(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r,noChmod:this.noChmod},o)}[O1](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[M1](e){return Vfe(this.uid,e.uid,this.processUid)}[U1](e){return Vfe(this.gid,e.gid,this.processGid)}[Z3](e,r){let o=e.mode&4095||this.fmode,a=new nct.WriteStream(e.absolute,{flags:Zfe(e.size),mode:o,autoClose:!1});a.on("error",p=>{a.fd&&Cn.close(a.fd,()=>{}),a.write=()=>!0,this[ko](p,e),r()});let n=1,u=p=>{if(p){a.fd&&Cn.close(a.fd,()=>{}),this[ko](p,e),r();return}--n===0&&Cn.close(a.fd,h=>{h?this[ko](h,e):this[rE](),r()})};a.on("finish",p=>{let h=e.absolute,E=a.fd;if(e.mtime&&!this.noMtime){n++;let w=e.atime||new Date,v=e.mtime;Cn.futimes(E,w,v,b=>b?Cn.utimes(h,w,v,C=>u(C&&b)):u())}if(this[O1](e)){n++;let w=this[M1](e),v=this[U1](e);Cn.fchown(E,w,v,b=>b?Cn.chown(h,w,v,C=>u(C&&b)):u())}u()});let A=this.transform&&this.transform(e)||e;A!==e&&(A.on("error",p=>{this[ko](p,e),r()}),e.pipe(A)),A.pipe(a)}[$3](e,r){let o=e.mode&4095||this.dmode;this[w0](e.absolute,o,a=>{if(a){this[ko](a,e),r();return}let n=1,u=A=>{--n===0&&(r(),this[rE](),e.resume())};e.mtime&&!this.noMtime&&(n++,Cn.utimes(e.absolute,e.atime||new Date,e.mtime,u)),this[O1](e)&&(n++,Cn.chown(e.absolute,this[M1](e),this[U1](e),u)),u()})}[Wfe](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[jfe](e,r){this[Ub](e,e.linkpath,"symlink",r)}[Gfe](e,r){let o=hl(Wf.resolve(this.cwd,e.linkpath));this[Ub](e,o,"link",r)}[Kfe](){this[Lb]++}[rE](){this[Lb]--,this[J3]()}[e_](e){this[rE](),e.resume()}[X3](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!H1}[z3](e){this[Kfe]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,o=>this[qfe](e,o))}[Mb](e){e.type==="SymbolicLink"?fct(this.dirCache):e.type!=="Directory"&&Act(this.dirCache,e.absolute)}[qfe](e,r){this[Mb](e);let o=A=>{this[Mb](e),r(A)},a=()=>{this[w0](this.cwd,this.dmode,A=>{if(A){this[ko](A,e),o();return}this[_1]=!0,n()})},n=()=>{if(e.absolute!==this.cwd){let A=hl(Wf.dirname(e.absolute));if(A!==this.cwd)return this[w0](A,this.dmode,p=>{if(p){this[ko](p,e),o();return}u()})}u()},u=()=>{Cn.lstat(e.absolute,(A,p)=>{if(p&&(this.keep||this.newer&&p.mtime>e.mtime)){this[e_](e),o();return}if(A||this[X3](e,p))return this[oc](null,e,o);if(p.isDirectory()){if(e.type==="Directory"){let h=!this.noChmod&&e.mode&&(p.mode&4095)!==e.mode,E=w=>this[oc](w,e,o);return h?Cn.chmod(e.absolute,e.mode,E):E()}if(e.absolute!==this.cwd)return Cn.rmdir(e.absolute,h=>this[oc](h,e,o))}if(e.absolute===this.cwd)return this[oc](null,e,o);cct(e.absolute,h=>this[oc](h,e,o))})};this[_1]?n():a()}[oc](e,r,o){if(e){this[ko](e,r),o();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[Z3](r,o);case"Link":return this[Gfe](r,o);case"SymbolicLink":return this[jfe](r,o);case"Directory":case"GNUDumpDir":return this[$3](r,o)}}[Ub](e,r,o,a){Cn[o](r,e.absolute,n=>{n?this[ko](n,e):(this[rE](),e.resume()),a()})}},Ob=t=>{try{return[null,t()]}catch(e){return[e,null]}},t_=class extends q1{[oc](e,r){return super[oc](e,r,()=>{})}[z3](e){if(this[Mb](e),!this[_1]){let n=this[w0](this.cwd,this.dmode);if(n)return this[ko](n,e);this[_1]=!0}if(e.absolute!==this.cwd){let n=hl(Wf.dirname(e.absolute));if(n!==this.cwd){let u=this[w0](n,this.dmode);if(u)return this[ko](u,e)}}let[r,o]=Ob(()=>Cn.lstatSync(e.absolute));if(o&&(this.keep||this.newer&&o.mtime>e.mtime))return this[e_](e);if(r||this[X3](e,o))return this[oc](null,e);if(o.isDirectory()){if(e.type==="Directory"){let u=!this.noChmod&&e.mode&&(o.mode&4095)!==e.mode,[A]=u?Ob(()=>{Cn.chmodSync(e.absolute,e.mode)}):[];return this[oc](A,e)}let[n]=Ob(()=>Cn.rmdirSync(e.absolute));this[oc](n,e)}let[a]=e.absolute===this.cwd?[]:Ob(()=>uct(e.absolute));this[oc](a,e)}[Z3](e,r){let o=e.mode&4095||this.fmode,a=A=>{let p;try{Cn.closeSync(n)}catch(h){p=h}(A||p)&&this[ko](A||p,e),r()},n;try{n=Cn.openSync(e.absolute,Zfe(e.size),o)}catch(A){return a(A)}let u=this.transform&&this.transform(e)||e;u!==e&&(u.on("error",A=>this[ko](A,e)),e.pipe(u)),u.on("data",A=>{try{Cn.writeSync(n,A,0,A.length)}catch(p){a(p)}}),u.on("end",A=>{let p=null;if(e.mtime&&!this.noMtime){let h=e.atime||new Date,E=e.mtime;try{Cn.futimesSync(n,h,E)}catch(w){try{Cn.utimesSync(e.absolute,h,E)}catch{p=w}}}if(this[O1](e)){let h=this[M1](e),E=this[U1](e);try{Cn.fchownSync(n,h,E)}catch(w){try{Cn.chownSync(e.absolute,h,E)}catch{p=p||w}}}a(p)})}[$3](e,r){let o=e.mode&4095||this.dmode,a=this[w0](e.absolute,o);if(a){this[ko](a,e),r();return}if(e.mtime&&!this.noMtime)try{Cn.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[O1](e))try{Cn.chownSync(e.absolute,this[M1](e),this[U1](e))}catch{}r(),e.resume()}[w0](e,r){try{return zfe.sync(hl(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(o){return o}}[Ub](e,r,o,a){try{Cn[o+"Sync"](r,e.absolute),a(),e.resume()}catch(n){return this[ko](n,e)}}};q1.Sync=t_;$fe.exports=q1});var ipe=U((F4t,npe)=>{"use strict";var pct=TC(),_b=r_(),tpe=Ie("fs"),rpe=XC(),epe=Ie("path"),n_=qC();npe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=pct(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&hct(o,e),o.file&&o.sync?gct(o):o.file?dct(o,r):o.sync?mct(o):yct(o)};var hct=(t,e)=>{let r=new Map(e.map(n=>[n_(n),!0])),o=t.filter,a=(n,u)=>{let A=u||epe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(epe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(n_(n)):n=>a(n_(n))},gct=t=>{let e=new _b.Sync(t),r=t.file,o=tpe.statSync(r),a=t.maxReadSize||16*1024*1024;new rpe.ReadStreamSync(r,{readSize:a,size:o.size}).pipe(e)},dct=(t,e)=>{let r=new _b(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("close",u),tpe.stat(a,(p,h)=>{if(p)A(p);else{let E=new rpe.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},mct=t=>new _b.Sync(t),yct=t=>new _b(t)});var spe=U(fs=>{"use strict";fs.c=fs.create=_Ae();fs.r=fs.replace=M3();fs.t=fs.list=xb();fs.u=fs.update=JAe();fs.x=fs.extract=ipe();fs.Pack=pb();fs.Unpack=r_();fs.Parse=Pb();fs.ReadEntry=Jx();fs.WriteEntry=p3();fs.Header=HC();fs.Pax=Xx();fs.types=JU()});var ope,ape,B0,Hb,lpe=dt(()=>{ope=tt(rd()),ape=Ie("worker_threads");g1();B0=Symbol("kTaskInfo"),Hb=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,ope.default)(J4());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let r=this.workers.pop();r?r.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new ape.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[B0])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[B0].resolve(r),e[B0]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{var o;(o=e[B0])==null||o.reject(r),e[B0]=null}),e.on("exit",r=>{var o;r!==0&&((o=e[B0])==null||o.reject(new Error(`Worker exited with code ${r}`))),e[B0]=null}),e}run(e){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((o,a)=>{r[B0]={resolve:o,reject:a},r.postMessage(e)})})}}});var upe=U((N4t,cpe)=>{var i_;cpe.exports.getContent=()=>(typeof i_>"u"&&(i_=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),i_)});var Ji={};Yt(Ji,{convertToZip:()=>Ect,extractArchiveTo:()=>wct,makeArchiveFromDirectory:()=>Cct});async function Cct(t,{baseFs:e=new xn,prefixPath:r=wt.root,compressionLevel:o,inMemory:a=!1}={}){let n;if(a)n=new os(null,{level:o});else{let A=await ae.mktempPromise(),p=z.join(A,"archive.zip");n=new os(p,{create:!0,level:o})}let u=z.resolve(wt.root,r);return await n.copyPromise(u,t,{baseFs:e,stableTime:!0,stableSort:!0}),n}async function Ect(t,e){let r=await ae.mktempPromise(),o=z.join(r,"archive.zip");return Ape||(Ape=new Hb((0,hpe.getContent)())),await Ape.run({tmpFile:o,tgz:t,opts:e}),new os(o,{level:e.compressionLevel})}async function*Ict(t){let e=new ppe.default.Parse,r=new fpe.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",o=>{r.write(o)}),e.on("error",o=>{r.destroy(o)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let o of r){let a=o;yield a,a.resume()}}async function wct(t,e,{stripComponents:r=0,prefixPath:o=wt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let u=n.path.split(/\//g);return!!(u.some(A=>A==="..")||u.length<=r)}for await(let n of Ict(t)){if(a(n))continue;let u=z.normalize(ue.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(u.length<=r)continue;let A=u.slice(r).join("/"),p=z.join(o,A),h=420;switch((n.type==="Directory"||((n.mode??0)&73)!==0)&&(h|=73),n.type){case"Directory":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.mkdirSync(p,{mode:h}),e.utimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.writeFileSync(p,await Jy(n),{mode:h}),e.utimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),e.symlinkSync(n.linkpath,p),e.lutimesSync(p,Ii.SAFE_TIME,Ii.SAFE_TIME);break}}return e}var fpe,ppe,hpe,Ape,gpe=dt(()=>{bt();_c();fpe=Ie("stream"),ppe=tt(spe());lpe();Kl();hpe=tt(upe())});var mpe=U((s_,dpe)=>{(function(t,e){typeof s_=="object"?dpe.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(s_,function(){function t(a,n){var u=n?"\u2514":"\u251C";return a?u+="\u2500 ":u+="\u2500\u2500\u2510",u}function e(a,n){var u=[];for(var A in a)!a.hasOwnProperty(A)||n&&typeof a[A]=="function"||u.push(A);return u}function r(a,n,u,A,p,h,E){var w="",v=0,b,C,R=A.slice(0);if(R.push([n,u])&&A.length>0&&(A.forEach(function(_,V){V>0&&(w+=(_[1]?" ":"\u2502")+" "),!C&&_[0]===n&&(C=!0)}),w+=t(a,u)+a,p&&(typeof n!="object"||n instanceof Date)&&(w+=": "+n),C&&(w+=" (circular ref.)"),E(w)),!C&&typeof n=="object"){var L=e(n,h);L.forEach(function(_){b=++v===L.length,r(_,n[_],b,R,p,h,E)})}}var o={};return o.asLines=function(a,n,u,A){var p=typeof u!="function"?u:!1;r(".",a,!1,[],n,p,A||u)},o.asTree=function(a,n,u){var A="";return r(".",a,!1,[],n,u,function(p){A+=p+` |
187 | `}),A},o})});var Xo={};Yt(Xo,{emitList:()=>fct,emitTree:()=>gpe,treeNodeToJson:()=>hpe,treeNodeToTreeify:()=>ppe});function ppe(t,{configuration:e}){let r={},o=(a,n)=>{let u=Array.isArray(a)?a.entries():Object.entries(a);for(let[A,{label:p,value:h,children:C}]of u){let w=[];typeof p<"u"&&w.push(jS(e,p,2)),typeof h<"u"&&w.push(Kt(e,h[0],h[1])),w.length===0&&w.push(jS(e,`${A}`,2));let v=w.join(": "),b=n[v]={};typeof C<"u"&&o(C,b)}};if(typeof t.children>"u")throw new Error("The root node must only contain children");return o(t.children,r),r}function hpe(t){let e=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return hd(r.value[0],r.value[1])}let o=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,u]of o)a[n]=e(u);return typeof r.value>"u"?a:{value:hd(r.value[0],r.value[1]),children:a}};return e(t)}function fct(t,{configuration:e,stdout:r,json:o}){let a=t.map(n=>({value:n}));gpe({children:a},{configuration:e,stdout:r,json:o})}function gpe(t,{configuration:e,stdout:r,json:o,separators:a=0}){if(o){let u=Array.isArray(t.children)?t.children.values():Object.values(t.children??{});for(let A of u)r.write(`${JSON.stringify(hpe(A))} | 187 | `}),A},o})});var Zo={};Yt(Zo,{emitList:()=>Bct,emitTree:()=>Ipe,treeNodeToJson:()=>Epe,treeNodeToTreeify:()=>Cpe});function Cpe(t,{configuration:e}){let r={},o=(a,n)=>{let u=Array.isArray(a)?a.entries():Object.entries(a);for(let[A,{label:p,value:h,children:E}]of u){let w=[];typeof p<"u"&&w.push(zS(e,p,2)),typeof h<"u"&&w.push(Kt(e,h[0],h[1])),w.length===0&&w.push(zS(e,`${A}`,2));let v=w.join(": "),b=n[v]={};typeof E<"u"&&o(E,b)}};if(typeof t.children>"u")throw new Error("The root node must only contain children");return o(t.children,r),r}function Epe(t){let e=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return md(r.value[0],r.value[1])}let o=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,u]of o)a[n]=e(u);return typeof r.value>"u"?a:{value:md(r.value[0],r.value[1]),children:a}};return e(t)}function Bct(t,{configuration:e,stdout:r,json:o}){let a=t.map(n=>({value:n}));Ipe({children:a},{configuration:e,stdout:r,json:o})}function Ipe(t,{configuration:e,stdout:r,json:o,separators:a=0}){if(o){let u=Array.isArray(t.children)?t.children.values():Object.values(t.children??{});for(let A of u)r.write(`${JSON.stringify(Epe(A))} |
188 | `);return}let n=(0,fpe.asTree)(ppe(t,{configuration:e}),!1,!1);if(a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502 | 188 | `);return}let n=(0,ype.asTree)(Cpe(t,{configuration:e}),!1,!1);if(a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502 |
189 | $1`).replace(/^│\n/,"")),a>=2)for(let u=0;u<2;++u)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 | 189 | $1`).replace(/^│\n/,"")),a>=2)for(let u=0;u<2;++u)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 |
190 | $2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}var fpe,dpe=dt(()=>{fpe=tt(Ape());Yl()});function s_(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function hct(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var mpe,o_,pct,Ur,ype=dt(()=>{bt();bt();Oc();mpe=Ie("crypto"),o_=tt(Ie("fs"));Jl();e0();Gl();Ks();pct=9,Ur=class{constructor(e,{configuration:r,immutable:o=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,mpe.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=o,this.check=a;let n=r.get("cacheKeyOverride");if(n!==null)this.cacheKey=`${n}`;else{let u=r.get("compressionLevel"),A=u!==oy?`c${u}`:"";this.cacheKey=[pct,A].join("")}}static async find(e,{immutable:r,check:o}={}){let a=new Ur(e.get("cacheFolder"),{configuration:e,immutable:r,check:o});return await a.setup(),a}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${rE(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let a=hct(r).slice(0,10);return`${rE(e)}-${a}.zip`}getLocatorPath(e,r,o={}){var n;return this.mirrorCwd===null||((n=o.unstablePackages)==null?void 0:n.has(e.locatorHash))?V.resolve(this.cwd,this.getVersionFilename(e)):r===null||s_(r)!==this.cacheKey?null:V.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?V.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await ae.existsPromise(this.cwd))throw new Jt(56,"Cache path does not exist.")}else{await ae.mkdirPromise(this.cwd,{recursive:!0});let e=V.resolve(this.cwd,".gitignore");await ae.changeFilePromise(e,`/.gitignore | 190 | $2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}var ype,wpe=dt(()=>{ype=tt(mpe());Jl()});function o_(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function Dct(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var Bpe,a_,vct,Ur,vpe=dt(()=>{bt();bt();_c();Bpe=Ie("crypto"),a_=tt(Ie("fs"));Xl();t0();Kl();Ks();vct=9,Ur=class{constructor(e,{configuration:r,immutable:o=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,Bpe.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=o,this.check=a;let n=r.get("cacheKeyOverride");if(n!==null)this.cacheKey=`${n}`;else{let u=r.get("compressionLevel"),A=u!==Ay?`c${u}`:"";this.cacheKey=[vct,A].join("")}}static async find(e,{immutable:r,check:o}={}){let a=new Ur(e.get("cacheFolder"),{configuration:e,immutable:r,check:o});return await a.setup(),a}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${aC(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let a=Dct(r).slice(0,10);return`${aC(e)}-${a}.zip`}getLocatorPath(e,r,o={}){var n;return this.mirrorCwd===null||((n=o.unstablePackages)==null?void 0:n.has(e.locatorHash))?z.resolve(this.cwd,this.getVersionFilename(e)):r===null||o_(r)!==this.cacheKey?null:z.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?z.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await ae.existsPromise(this.cwd))throw new Vt(56,"Cache path does not exist.")}else{await ae.mkdirPromise(this.cwd,{recursive:!0});let e=z.resolve(this.cwd,".gitignore");await ae.changeFilePromise(e,`/.gitignore |
191 | *.flock | 191 | *.flock |
192 | *.tmp | 192 | *.tmp |
193 | `)}(this.mirrorCwd||!this.immutable)&&await ae.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:o,onMiss:a,loader:n,...u}){var ge;let A=this.getLocatorMirrorPath(e),p=new xn,h=()=>{let le=new os,Pe=V.join(wt.root,pM(e));return le.mkdirSync(Pe,{recursive:!0}),le.writeJsonSync(V.join(Pe,Lr.manifest),{name:nn(e),mocked:!0}),le},C=async(le,Pe=null)=>{var De;if(Pe===null&&((De=u.unstablePackages)==null?void 0:De.has(e.locatorHash)))return{isValid:!0,hash:null};let g=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await IP(le)}`:r;if(Pe!==null){let Ee=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await IP(Pe)}`:r;if(g!==Ee)throw new Jt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&g!==r){let Ee;switch(this.check?Ee="throw":s_(r)!==s_(g)?Ee="update":Ee=this.configuration.get("checksumBehavior"),Ee){case"ignore":return{isValid:!0,hash:r};case"update":return{isValid:!0,hash:g};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new Jt(18,"The remote archive doesn't match the expected checksum")}}return{isValid:!0,hash:g}},w=async le=>{if(!n)throw new Error(`Cache check required but no loader configured for ${kr(this.configuration,e)}`);let Pe=await n(),g=Pe.getRealPath();Pe.saveAndClose(),await ae.chmodPromise(g,420);let De=await C(le,g);if(!De.isValid)throw new Error("Assertion failed: Expected a valid checksum");return De.hash},v=async()=>{if(A===null||!await ae.existsPromise(A)){let le=await n(),Pe=le.getRealPath();return le.saveAndClose(),{source:"loader",path:Pe}}return{source:"mirror",path:A}},b=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${kr(this.configuration,e)}`);if(this.immutable)throw new Jt(56,`Cache entry required but missing for ${kr(this.configuration,e)}`);let{path:le,source:Pe}=await v(),g=(await C(le)).hash,De=this.getLocatorPath(e,g,u);if(!De)throw new Error("Assertion failed: Expected the cache path to be available");let Ee=[];Pe!=="mirror"&&A!==null&&Ee.push(async()=>{let ne=`${A}${this.cacheId}`;await ae.copyFilePromise(le,ne,o_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(ne,420),await ae.renamePromise(ne,A)}),(!u.mirrorWriteOnly||A===null)&&Ee.push(async()=>{let ne=`${De}${this.cacheId}`;await ae.copyFilePromise(le,ne,o_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(ne,420),await ae.renamePromise(ne,De)});let de=u.mirrorWriteOnly?A??De:De;return await Promise.all(Ee.map(ne=>ne())),[!1,de,g]},E=async()=>{let Pe=(async()=>{var Z;let g=this.getLocatorPath(e,r,u),De=g!==null?this.markedFiles.has(g)||await p.existsPromise(g):!1,Ee=!!((Z=u.mockedPackages)!=null&&Z.has(e.locatorHash))&&(!this.check||!De),de=Ee||De,ne=de?o:a;if(ne&&ne(),de){let me=null,be=g;if(!Ee)if(this.check)me=await w(be);else{let ut=await C(be);if(ut.isValid)me=ut.hash;else return b()}return[Ee,be,me]}else return b()})();this.mutexes.set(e.locatorHash,Pe);try{return await Pe}finally{this.mutexes.delete(e.locatorHash)}};for(let le;le=this.mutexes.get(e.locatorHash);)await le;let[R,L,_]=await E();R||this.markedFiles.add(L);let J,re=R?()=>h():()=>new os(L,{baseFs:p,readOnly:!0}),oe=new ty(()=>fL(()=>J=re(),le=>`Failed to open the cache entry for ${kr(this.configuration,e)}: ${le}`),V),pe=new qu(L,{baseFs:oe,pathUtils:V}),he=()=>{J==null||J.discardAndClose()},ve=(ge=u.unstablePackages)!=null&&ge.has(e.locatorHash)?null:_;return[pe,he,ve]}}});var Nb,Epe=dt(()=>{Nb=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(Nb||{})});var gct,ZE,a_=dt(()=>{bt();Ol();r0();Ks();gct=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,o)=>`${r}#commit=${o}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>DP({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],ZE=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let o=V.join(e.cwd,e.configuration.get("lockfileFilename"));if(!ae.existsSync(o))return;let a=await ae.readFilePromise(o,"utf8"),n=Yi(a);if(Object.prototype.hasOwnProperty.call(n,"__metadata"))return;let u=this.resolutions=new Map;for(let A of Object.keys(n)){let p=Yw(A);if(!p){r.reportWarning(14,`Failed to parse the string "${A}" into a proper descriptor`);continue}let h=jc(p.range)?mn(p,`npm:${p.range}`):p,{version:C,resolved:w}=n[A];if(!w)continue;let v;for(let[E,R]of gct){let L=w.match(E);if(L){v=R(C,...L);break}}if(!v){r.reportWarning(14,`${Ln(e.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${w}")`);continue}let b=h;try{let E=Id(h.range),R=Yw(E.selector,!0);R&&(b=R)}catch{}u.set(h.descriptorHash,us(b,v))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(e.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=lM(a),u=o.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(u,r,o)}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var fA,Cpe=dt(()=>{Jl();kx();Yl();fA=class extends Vs{constructor({configuration:r,stdout:o,suggestInstall:a=!0}){super();this.errorCount=0;Ow(this,{configuration:r}),this.configuration=r,this.stdout=o,this.suggestInstall=a}static async start(r,o){let a=new this(r);try{await o(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,o){return o()}async startSectionPromise(r,o){return await o()}startTimerSync(r,o,a){return(typeof o=="function"?o:a)()}async startTimerPromise(r,o,a){return await(typeof o=="function"?o:a)()}async startCacheReport(r){return await r()}reportSeparator(){}reportInfo(r,o){}reportWarning(r,o){}reportError(r,o){this.errorCount+=1,this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${o} | 193 | `)}(this.mirrorCwd||!this.immutable)&&await ae.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:o,onMiss:a,loader:n,...u}){var ge;let A=this.getLocatorMirrorPath(e),p=new xn,h=()=>{let le=new os,Pe=z.join(wt.root,hM(e));return le.mkdirSync(Pe,{recursive:!0}),le.writeJsonSync(z.join(Pe,Lr.manifest),{name:nn(e),mocked:!0}),le},E=async(le,Pe=null)=>{var De;if(Pe===null&&((De=u.unstablePackages)==null?void 0:De.has(e.locatorHash)))return{isValid:!0,hash:null};let g=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await xP(le)}`:r;if(Pe!==null){let Ce=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await xP(Pe)}`:r;if(g!==Ce)throw new Vt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&g!==r){let Ce;switch(this.check?Ce="throw":o_(r)!==o_(g)?Ce="update":Ce=this.configuration.get("checksumBehavior"),Ce){case"ignore":return{isValid:!0,hash:r};case"update":return{isValid:!0,hash:g};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new Vt(18,"The remote archive doesn't match the expected checksum")}}return{isValid:!0,hash:g}},w=async le=>{if(!n)throw new Error(`Cache check required but no loader configured for ${kr(this.configuration,e)}`);let Pe=await n(),g=Pe.getRealPath();Pe.saveAndClose(),await ae.chmodPromise(g,420);let De=await E(le,g);if(!De.isValid)throw new Error("Assertion failed: Expected a valid checksum");return De.hash},v=async()=>{if(A===null||!await ae.existsPromise(A)){let le=await n(),Pe=le.getRealPath();return le.saveAndClose(),{source:"loader",path:Pe}}return{source:"mirror",path:A}},b=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${kr(this.configuration,e)}`);if(this.immutable)throw new Vt(56,`Cache entry required but missing for ${kr(this.configuration,e)}`);let{path:le,source:Pe}=await v(),g=(await E(le)).hash,De=this.getLocatorPath(e,g,u);if(!De)throw new Error("Assertion failed: Expected the cache path to be available");let Ce=[];Pe!=="mirror"&&A!==null&&Ce.push(async()=>{let ne=`${A}${this.cacheId}`;await ae.copyFilePromise(le,ne,a_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(ne,420),await ae.renamePromise(ne,A)}),(!u.mirrorWriteOnly||A===null)&&Ce.push(async()=>{let ne=`${De}${this.cacheId}`;await ae.copyFilePromise(le,ne,a_.default.constants.COPYFILE_FICLONE),await ae.chmodPromise(ne,420),await ae.renamePromise(ne,De)});let de=u.mirrorWriteOnly?A??De:De;return await Promise.all(Ce.map(ne=>ne())),[!1,de,g]},C=async()=>{let Pe=(async()=>{var Z;let g=this.getLocatorPath(e,r,u),De=g!==null?this.markedFiles.has(g)||await p.existsPromise(g):!1,Ce=!!((Z=u.mockedPackages)!=null&&Z.has(e.locatorHash))&&(!this.check||!De),de=Ce||De,ne=de?o:a;if(ne&&ne(),de){let me=null,be=g;if(!Ce)if(this.check)me=await w(be);else{let ut=await E(be);if(ut.isValid)me=ut.hash;else return b()}return[Ce,be,me]}else return b()})();this.mutexes.set(e.locatorHash,Pe);try{return await Pe}finally{this.mutexes.delete(e.locatorHash)}};for(let le;le=this.mutexes.get(e.locatorHash);)await le;let[R,L,_]=await C();R||this.markedFiles.add(L);let V,re=R?()=>h():()=>new os(L,{baseFs:p,readOnly:!0}),oe=new oy(()=>pL(()=>V=re(),le=>`Failed to open the cache entry for ${kr(this.configuration,e)}: ${le}`),z),pe=new ju(L,{baseFs:oe,pathUtils:z}),he=()=>{V==null||V.discardAndClose()},ve=(ge=u.unstablePackages)!=null&&ge.has(e.locatorHash)?null:_;return[pe,he,ve]}}});var qb,Dpe=dt(()=>{qb=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(qb||{})});var Sct,nE,l_=dt(()=>{bt();_l();n0();Ks();Sct=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,o)=>`${r}#commit=${o}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>FP({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],nE=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let o=z.join(e.cwd,e.configuration.get("lockfileFilename"));if(!ae.existsSync(o))return;let a=await ae.readFilePromise(o,"utf8"),n=Yi(a);if(Object.prototype.hasOwnProperty.call(n,"__metadata"))return;let u=this.resolutions=new Map;for(let A of Object.keys(n)){let p=zw(A);if(!p){r.reportWarning(14,`Failed to parse the string "${A}" into a proper descriptor`);continue}let h=ll(p.range)?mn(p,`npm:${p.range}`):p,{version:E,resolved:w}=n[A];if(!w)continue;let v;for(let[C,R]of Sct){let L=w.match(C);if(L){v=R(E,...L);break}}if(!v){r.reportWarning(14,`${Ln(e.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${w}")`);continue}let b=h;try{let C=vd(h.range),R=zw(C.selector,!0);R&&(b=R)}catch{}u.set(h.descriptorHash,us(b,v))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(e.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=cM(a),u=o.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(u,r,o)}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var pA,Spe=dt(()=>{Xl();Mx();Jl();pA=class extends Js{constructor({configuration:r,stdout:o,suggestInstall:a=!0}){super();this.errorCount=0;Hw(this,{configuration:r}),this.configuration=r,this.stdout=o,this.suggestInstall=a}static async start(r,o){let a=new this(r);try{await o(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,o){return o()}async startSectionPromise(r,o){return await o()}startTimerSync(r,o,a){return(typeof o=="function"?o:a)()}async startTimerPromise(r,o,a){return await(typeof o=="function"?o:a)()}async startCacheReport(r){return await r()}reportSeparator(){}reportInfo(r,o){}reportWarning(r,o){}reportError(r,o){this.errorCount+=1,this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${o} |
194 | `)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}async finalize(){this.errorCount>0&&(this.stdout.write(` | 194 | `)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}async finalize(){this.errorCount>0&&(this.stdout.write(` |
195 | `),this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. | 195 | `),this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. |
196 | `),this.suggestInstall&&this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. | 196 | `),this.suggestInstall&&this.stdout.write(`${Kt(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. |
197 | `))}formatNameWithHyperlink(r){return CU(r,{configuration:this.configuration,json:!1})}}});var $E,l_=dt(()=>{Ks();$E=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(BP(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){let a=o.project.storedResolutions.get(e.descriptorHash);if(a){let u=o.project.originalPackages.get(a);if(u)return[u]}let n=o.project.originalPackages.get(BP(e).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.originalPackages.get(e.locatorHash);if(!o)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return o}}});function Gf(){}function dct(t,e,r,o,a){for(var n=0,u=e.length,A=0,p=0;n<u;n++){var h=e[n];if(h.removed){if(h.value=t.join(o.slice(p,p+h.count)),p+=h.count,n&&e[n-1].added){var w=e[n-1];e[n-1]=e[n],e[n]=w}}else{if(!h.added&&a){var C=r.slice(A,A+h.count);C=C.map(function(b,E){var R=o[p+E];return R.length>b.length?R:b}),h.value=t.join(C)}else h.value=t.join(r.slice(A,A+h.count));A+=h.count,h.added||(p+=h.count)}}var v=e[u-1];return u>1&&typeof v.value=="string"&&(v.added||v.removed)&&t.equals("",v.value)&&(e[u-2].value+=v.value,e.pop()),e}function mct(t){return{newPos:t.newPos,components:t.components.slice(0)}}function yct(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function Bpe(t,e,r){return r=yct(r,{ignoreWhitespace:!0}),p_.diff(t,e,r)}function Ect(t,e,r){return h_.diff(t,e,r)}function Lb(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Lb=function(e){return typeof e}:Lb=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Lb(t)}function c_(t){return wct(t)||Bct(t)||vct(t)||Dct()}function wct(t){if(Array.isArray(t))return u_(t)}function Bct(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function vct(t,e){if(!!t){if(typeof t=="string")return u_(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u_(t,e)}}function u_(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r<e;r++)o[r]=t[r];return o}function Dct(){throw new TypeError(`Invalid attempt to spread non-iterable instance. | 197 | `))}formatNameWithHyperlink(r){return IU(r,{configuration:this.configuration,json:!1})}}});var iE,c_=dt(()=>{Ks();iE=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(QP(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){let a=o.project.storedResolutions.get(e.descriptorHash);if(a){let u=o.project.originalPackages.get(a);if(u)return[u]}let n=o.project.originalPackages.get(QP(e).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.originalPackages.get(e.locatorHash);if(!o)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return o}}});function Yf(){}function Pct(t,e,r,o,a){for(var n=0,u=e.length,A=0,p=0;n<u;n++){var h=e[n];if(h.removed){if(h.value=t.join(o.slice(p,p+h.count)),p+=h.count,n&&e[n-1].added){var w=e[n-1];e[n-1]=e[n],e[n]=w}}else{if(!h.added&&a){var E=r.slice(A,A+h.count);E=E.map(function(b,C){var R=o[p+C];return R.length>b.length?R:b}),h.value=t.join(E)}else h.value=t.join(r.slice(A,A+h.count));A+=h.count,h.added||(p+=h.count)}}var v=e[u-1];return u>1&&typeof v.value=="string"&&(v.added||v.removed)&&t.equals("",v.value)&&(e[u-2].value+=v.value,e.pop()),e}function xct(t){return{newPos:t.newPos,components:t.components.slice(0)}}function bct(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function bpe(t,e,r){return r=bct(r,{ignoreWhitespace:!0}),h_.diff(t,e,r)}function Qct(t,e,r){return g_.diff(t,e,r)}function jb(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?jb=function(e){return typeof e}:jb=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jb(t)}function u_(t){return Rct(t)||Tct(t)||Nct(t)||Lct()}function Rct(t){if(Array.isArray(t))return A_(t)}function Tct(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function Nct(t,e){if(!!t){if(typeof t=="string")return A_(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return A_(t,e)}}function A_(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r<e;r++)o[r]=t[r];return o}function Lct(){throw new TypeError(`Invalid attempt to spread non-iterable instance. |
198 | In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function A_(t,e,r,o,a){e=e||[],r=r||[],o&&(t=o(a,t));var n;for(n=0;n<e.length;n+=1)if(e[n]===t)return r[n];var u;if(Sct.call(t)==="[object Array]"){for(e.push(t),u=new Array(t.length),r.push(u),n=0;n<t.length;n+=1)u[n]=A_(t[n],e,r,o,a);return e.pop(),r.pop(),u}if(t&&t.toJSON&&(t=t.toJSON()),Lb(t)==="object"&&t!==null){e.push(t),u={},r.push(u);var A=[],p;for(p in t)t.hasOwnProperty(p)&&A.push(p);for(A.sort(),n=0;n<A.length;n+=1)p=A[n],u[p]=A_(t[p],e,r,o,p);e.pop(),r.pop()}else u=t;return u}function vpe(t,e,r,o,a,n,u){u||(u={}),typeof u.context>"u"&&(u.context=4);var A=Ect(r,o,u);if(!A)return;A.push({value:"",lines:[]});function p(_){return _.map(function(J){return" "+J})}for(var h=[],C=0,w=0,v=[],b=1,E=1,R=function(J){var re=A[J],oe=re.lines||re.value.replace(/\n$/,"").split(` | 198 | In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function f_(t,e,r,o,a){e=e||[],r=r||[],o&&(t=o(a,t));var n;for(n=0;n<e.length;n+=1)if(e[n]===t)return r[n];var u;if(Oct.call(t)==="[object Array]"){for(e.push(t),u=new Array(t.length),r.push(u),n=0;n<t.length;n+=1)u[n]=f_(t[n],e,r,o,a);return e.pop(),r.pop(),u}if(t&&t.toJSON&&(t=t.toJSON()),jb(t)==="object"&&t!==null){e.push(t),u={},r.push(u);var A=[],p;for(p in t)t.hasOwnProperty(p)&&A.push(p);for(A.sort(),n=0;n<A.length;n+=1)p=A[n],u[p]=f_(t[p],e,r,o,p);e.pop(),r.pop()}else u=t;return u}function Qpe(t,e,r,o,a,n,u){u||(u={}),typeof u.context>"u"&&(u.context=4);var A=Qct(r,o,u);if(!A)return;A.push({value:"",lines:[]});function p(_){return _.map(function(V){return" "+V})}for(var h=[],E=0,w=0,v=[],b=1,C=1,R=function(V){var re=A[V],oe=re.lines||re.value.replace(/\n$/,"").split(` |
199 | `);if(re.lines=oe,re.added||re.removed){var pe;if(!C){var he=A[J-1];C=b,w=E,he&&(v=u.context>0?p(he.lines.slice(-u.context)):[],C-=v.length,w-=v.length)}(pe=v).push.apply(pe,c_(oe.map(function(de){return(re.added?"+":"-")+de}))),re.added?E+=oe.length:b+=oe.length}else{if(C)if(oe.length<=u.context*2&&J<A.length-2){var ve;(ve=v).push.apply(ve,c_(p(oe)))}else{var ge,le=Math.min(oe.length,u.context);(ge=v).push.apply(ge,c_(p(oe.slice(0,le))));var Pe={oldStart:C,oldLines:b-C+le,newStart:w,newLines:E-w+le,lines:v};if(J>=A.length-2&&oe.length<=u.context){var g=/\n$/.test(r),De=/\n$/.test(o),Ee=oe.length==0&&v.length>Pe.oldLines;!g&&Ee&&r.length>0&&v.splice(Pe.oldLines,0,"\\ No newline at end of file"),(!g&&!Ee||!De)&&v.push("\\ No newline at end of file")}h.push(Pe),C=0,w=0,v=[]}b+=oe.length,E+=oe.length}},L=0;L<A.length;L++)R(L);return{oldFileName:t,newFileName:e,oldHeader:a,newHeader:n,hunks:h}}var Y4t,Ipe,wpe,p_,h_,Cct,Ict,Sct,U1,f_,g_=dt(()=>{Gf.prototype={diff:function(e,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=o.callback;typeof o=="function"&&(a=o,o={}),this.options=o;var n=this;function u(R){return a?(setTimeout(function(){a(void 0,R)},0),!0):R}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var A=r.length,p=e.length,h=1,C=A+p;o.maxEditLength&&(C=Math.min(C,o.maxEditLength));var w=[{newPos:-1,components:[]}],v=this.extractCommon(w[0],r,e,0);if(w[0].newPos+1>=A&&v+1>=p)return u([{value:this.join(r),count:r.length}]);function b(){for(var R=-1*h;R<=h;R+=2){var L=void 0,_=w[R-1],J=w[R+1],re=(J?J.newPos:0)-R;_&&(w[R-1]=void 0);var oe=_&&_.newPos+1<A,pe=J&&0<=re&&re<p;if(!oe&&!pe){w[R]=void 0;continue}if(!oe||pe&&_.newPos<J.newPos?(L=mct(J),n.pushComponent(L.components,void 0,!0)):(L=_,L.newPos++,n.pushComponent(L.components,!0,void 0)),re=n.extractCommon(L,r,e,R),L.newPos+1>=A&&re+1>=p)return u(dct(n,L.components,r,e,n.useLongestToken));w[R]=L}h++}if(a)(function R(){setTimeout(function(){if(h>C)return a();b()||R()},0)})();else for(;h<=C;){var E=b();if(E)return E}},pushComponent:function(e,r,o){var a=e[e.length-1];a&&a.added===r&&a.removed===o?e[e.length-1]={count:a.count+1,added:r,removed:o}:e.push({count:1,added:r,removed:o})},extractCommon:function(e,r,o,a){for(var n=r.length,u=o.length,A=e.newPos,p=A-a,h=0;A+1<n&&p+1<u&&this.equals(r[A+1],o[p+1]);)A++,p++,h++;return h&&e.components.push({count:h}),e.newPos=A,p},equals:function(e,r){return this.options.comparator?this.options.comparator(e,r):e===r||this.options.ignoreCase&&e.toLowerCase()===r.toLowerCase()},removeEmpty:function(e){for(var r=[],o=0;o<e.length;o++)e[o]&&r.push(e[o]);return r},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};Y4t=new Gf;Ipe=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,wpe=/\S/,p_=new Gf;p_.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!wpe.test(t)&&!wpe.test(e)};p_.tokenize=function(t){for(var e=t.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),r=0;r<e.length-1;r++)!e[r+1]&&e[r+2]&&Ipe.test(e[r])&&Ipe.test(e[r+2])&&(e[r]+=e[r+2],e.splice(r+1,2),r--);return e};h_=new Gf;h_.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var o=0;o<r.length;o++){var a=r[o];o%2&&!this.options.newlineIsToken?e[e.length-1]+=a:(this.options.ignoreWhitespace&&(a=a.trim()),e.push(a))}return e};Cct=new Gf;Cct.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};Ict=new Gf;Ict.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};Sct=Object.prototype.toString,U1=new Gf;U1.useLongestToken=!0;U1.tokenize=h_.tokenize;U1.castInput=function(t){var e=this.options,r=e.undefinedReplacement,o=e.stringifyReplacer,a=o===void 0?function(n,u){return typeof u>"u"?r:u}:o;return typeof t=="string"?t:JSON.stringify(A_(t,null,null,a),a," ")};U1.equals=function(t,e){return Gf.prototype.equals.call(U1,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};f_=new Gf;f_.tokenize=function(t){return t.slice()};f_.join=f_.removeEmpty=function(t){return t}});var Spe=U((J4t,Dpe)=>{var Pct=jl(),xct=oE(),bct=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qct=/^\w*$/;function kct(t,e){if(Pct(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||xct(t)?!0:Qct.test(t)||!bct.test(t)||e!=null&&t in Object(e)}Dpe.exports=kct});var bpe=U((V4t,xpe)=>{var Ppe=wS(),Fct="Expected a function";function d_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Fct);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var u=t.apply(this,o);return r.cache=n.set(a,u)||n,u};return r.cache=new(d_.Cache||Ppe),r}d_.Cache=Ppe;xpe.exports=d_});var kpe=U((z4t,Qpe)=>{var Rct=bpe(),Tct=500;function Nct(t){var e=Rct(t,function(o){return r.size===Tct&&r.clear(),o}),r=e.cache;return e}Qpe.exports=Nct});var m_=U((X4t,Fpe)=>{var Lct=kpe(),Oct=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mct=/\\(\\)?/g,Uct=Lct(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Oct,function(r,o,a,n){e.push(a?n.replace(Mct,"$1"):o||r)}),e});Fpe.exports=Uct});var qd=U((Z4t,Rpe)=>{var _ct=jl(),Hct=Spe(),qct=m_(),jct=C1();function Gct(t,e){return _ct(t)?t:Hct(t,e)?[t]:qct(jct(t))}Rpe.exports=Gct});var eC=U(($4t,Tpe)=>{var Wct=oE(),Yct=1/0;function Kct(t){if(typeof t=="string"||Wct(t))return t;var e=t+"";return e=="0"&&1/t==-Yct?"-0":e}Tpe.exports=Kct});var Ob=U((eUt,Npe)=>{var Jct=qd(),Vct=eC();function zct(t,e){e=Jct(e,t);for(var r=0,o=e.length;t!=null&&r<o;)t=t[Vct(e[r++])];return r&&r==o?t:void 0}Npe.exports=zct});var y_=U((tUt,Ope)=>{var Xct=US(),Zct=qd(),$ct=Sw(),Lpe=il(),eut=eC();function tut(t,e,r,o){if(!Lpe(t))return t;e=Zct(e,t);for(var a=-1,n=e.length,u=n-1,A=t;A!=null&&++a<n;){var p=eut(e[a]),h=r;if(p==="__proto__"||p==="constructor"||p==="prototype")return t;if(a!=u){var C=A[p];h=o?o(C,p,A):void 0,h===void 0&&(h=Lpe(C)?C:$ct(e[a+1])?[]:{})}Xct(A,p,h),A=A[p]}return t}Ope.exports=tut});var Upe=U((rUt,Mpe)=>{var rut=Ob(),nut=y_(),iut=qd();function sut(t,e,r){for(var o=-1,a=e.length,n={};++o<a;){var u=e[o],A=rut(t,u);r(A,u)&&nut(n,iut(u,t),A)}return n}Mpe.exports=sut});var Hpe=U((nUt,_pe)=>{function out(t,e){return t!=null&&e in Object(t)}_pe.exports=out});var E_=U((iUt,qpe)=>{var aut=qd(),lut=Bw(),cut=jl(),uut=Sw(),Aut=PS(),fut=eC();function put(t,e,r){e=aut(e,t);for(var o=-1,a=e.length,n=!1;++o<a;){var u=fut(e[o]);if(!(n=t!=null&&r(t,u)))break;t=t[u]}return n||++o!=a?n:(a=t==null?0:t.length,!!a&&Aut(a)&&uut(u,a)&&(cut(t)||lut(t)))}qpe.exports=put});var Gpe=U((sUt,jpe)=>{var hut=Hpe(),gut=E_();function dut(t,e){return t!=null&&gut(t,e,hut)}jpe.exports=dut});var Ype=U((oUt,Wpe)=>{var mut=Upe(),yut=Gpe();function Eut(t,e){return mut(t,e,function(r,o){return yut(t,o)})}Wpe.exports=Eut});var zpe=U((aUt,Vpe)=>{var Kpe=cd(),Cut=Bw(),Iut=jl(),Jpe=Kpe?Kpe.isConcatSpreadable:void 0;function wut(t){return Iut(t)||Cut(t)||!!(Jpe&&t&&t[Jpe])}Vpe.exports=wut});var $pe=U((lUt,Zpe)=>{var But=DS(),vut=zpe();function Xpe(t,e,r,o,a){var n=-1,u=t.length;for(r||(r=vut),a||(a=[]);++n<u;){var A=t[n];e>0&&r(A)?e>1?Xpe(A,e-1,r,o,a):But(a,A):o||(a[a.length]=A)}return a}Zpe.exports=Xpe});var t0e=U((cUt,e0e)=>{var Dut=$pe();function Sut(t){var e=t==null?0:t.length;return e?Dut(t,1):[]}e0e.exports=Sut});var C_=U((uUt,r0e)=>{var Put=t0e(),xut=iL(),but=sL();function Qut(t){return but(xut(t,void 0,Put),t+"")}r0e.exports=Qut});var i0e=U((AUt,n0e)=>{var kut=Ype(),Fut=C_(),Rut=Fut(function(t,e){return t==null?{}:kut(t,e)});n0e.exports=Rut});var Mb,s0e=dt(()=>{Jl();Mb=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.resolver.bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){throw new Jt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,o,a){throw new Jt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Jt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var xi,I_=dt(()=>{Jl();xi=class extends Vs{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,o){return(typeof r=="function"?r:o)()}async startTimerPromise(e,r,o){return await(typeof r=="function"?r:o)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}}});var o0e,tC,w_=dt(()=>{bt();o0e=tt(sM());sE();wd();Yl();e0();r0();Ks();tC=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=e}async setup(){this.manifest=await Nt.tryFind(this.cwd)??new Nt,this.relativeCwd=V.relative(this.project.cwd,this.cwd)||wt.dot;let e=this.manifest.name?this.manifest.name:rA(null,`${this.computeCandidateName()}-${Js(this.relativeCwd).substring(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=us(e,r),this.anchoredDescriptor=mn(this.locator,`${oi.protocol}${this.relativeCwd}`),this.anchoredLocator=us(this.locator,`${oi.protocol}${this.relativeCwd}`);let o=this.manifest.workspaceDefinitions.map(({pattern:n})=>n),a=await(0,o0e.default)(o,{cwd:Ae.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});a.sort();for(let n of a){let u=V.resolve(this.cwd,Ae.toPortablePath(n));ae.existsSync(V.join(u,"package.json"))&&this.workspacesCwds.add(u)}}get anchoredPackage(){let e=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!e)throw new Error(`Assertion failed: Expected workspace ${Jw(this.project.configuration,this)} (${Kt(this.project.configuration,V.join(this.cwd,Lr.manifest),Bt.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return e}accepts(e){let r=e.indexOf(":"),o=r!==-1?e.slice(0,r+1):null,a=r!==-1?e.slice(r+1):e;if(o===oi.protocol&&V.normalize(a)===this.relativeCwd||o===oi.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=jc(a);return n?o===oi.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${V.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Nt.hardDependencies}={}){let r=new Set,o=a=>{for(let n of e)for(let u of a.manifest[n].values()){let A=this.project.tryWorkspaceByDescriptor(u);A===null||r.has(A)||(r.add(A),o(A))}};return o(this),r}getRecursiveWorkspaceDependents({dependencies:e=Nt.hardDependencies}={}){let r=new Set,o=a=>{for(let n of this.project.workspaces)e.some(A=>[...n.manifest[A].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&Ww(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),o(n))};return o(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let o=this.project.workspacesByCwd.get(r);o&&e.push(o,...o.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=V.join(this.cwd,Nt.fileName),o=`${JSON.stringify(e,null,this.manifest.indent)} | 199 | `);if(re.lines=oe,re.added||re.removed){var pe;if(!E){var he=A[V-1];E=b,w=C,he&&(v=u.context>0?p(he.lines.slice(-u.context)):[],E-=v.length,w-=v.length)}(pe=v).push.apply(pe,u_(oe.map(function(de){return(re.added?"+":"-")+de}))),re.added?C+=oe.length:b+=oe.length}else{if(E)if(oe.length<=u.context*2&&V<A.length-2){var ve;(ve=v).push.apply(ve,u_(p(oe)))}else{var ge,le=Math.min(oe.length,u.context);(ge=v).push.apply(ge,u_(p(oe.slice(0,le))));var Pe={oldStart:E,oldLines:b-E+le,newStart:w,newLines:C-w+le,lines:v};if(V>=A.length-2&&oe.length<=u.context){var g=/\n$/.test(r),De=/\n$/.test(o),Ce=oe.length==0&&v.length>Pe.oldLines;!g&&Ce&&r.length>0&&v.splice(Pe.oldLines,0,"\\ No newline at end of file"),(!g&&!Ce||!De)&&v.push("\\ No newline at end of file")}h.push(Pe),E=0,w=0,v=[]}b+=oe.length,C+=oe.length}},L=0;L<A.length;L++)R(L);return{oldFileName:t,newFileName:e,oldHeader:a,newHeader:n,hunks:h}}var sUt,Ppe,xpe,h_,g_,kct,Fct,Oct,j1,p_,d_=dt(()=>{Yf.prototype={diff:function(e,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=o.callback;typeof o=="function"&&(a=o,o={}),this.options=o;var n=this;function u(R){return a?(setTimeout(function(){a(void 0,R)},0),!0):R}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var A=r.length,p=e.length,h=1,E=A+p;o.maxEditLength&&(E=Math.min(E,o.maxEditLength));var w=[{newPos:-1,components:[]}],v=this.extractCommon(w[0],r,e,0);if(w[0].newPos+1>=A&&v+1>=p)return u([{value:this.join(r),count:r.length}]);function b(){for(var R=-1*h;R<=h;R+=2){var L=void 0,_=w[R-1],V=w[R+1],re=(V?V.newPos:0)-R;_&&(w[R-1]=void 0);var oe=_&&_.newPos+1<A,pe=V&&0<=re&&re<p;if(!oe&&!pe){w[R]=void 0;continue}if(!oe||pe&&_.newPos<V.newPos?(L=xct(V),n.pushComponent(L.components,void 0,!0)):(L=_,L.newPos++,n.pushComponent(L.components,!0,void 0)),re=n.extractCommon(L,r,e,R),L.newPos+1>=A&&re+1>=p)return u(Pct(n,L.components,r,e,n.useLongestToken));w[R]=L}h++}if(a)(function R(){setTimeout(function(){if(h>E)return a();b()||R()},0)})();else for(;h<=E;){var C=b();if(C)return C}},pushComponent:function(e,r,o){var a=e[e.length-1];a&&a.added===r&&a.removed===o?e[e.length-1]={count:a.count+1,added:r,removed:o}:e.push({count:1,added:r,removed:o})},extractCommon:function(e,r,o,a){for(var n=r.length,u=o.length,A=e.newPos,p=A-a,h=0;A+1<n&&p+1<u&&this.equals(r[A+1],o[p+1]);)A++,p++,h++;return h&&e.components.push({count:h}),e.newPos=A,p},equals:function(e,r){return this.options.comparator?this.options.comparator(e,r):e===r||this.options.ignoreCase&&e.toLowerCase()===r.toLowerCase()},removeEmpty:function(e){for(var r=[],o=0;o<e.length;o++)e[o]&&r.push(e[o]);return r},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};sUt=new Yf;Ppe=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,xpe=/\S/,h_=new Yf;h_.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!xpe.test(t)&&!xpe.test(e)};h_.tokenize=function(t){for(var e=t.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),r=0;r<e.length-1;r++)!e[r+1]&&e[r+2]&&Ppe.test(e[r])&&Ppe.test(e[r+2])&&(e[r]+=e[r+2],e.splice(r+1,2),r--);return e};g_=new Yf;g_.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var o=0;o<r.length;o++){var a=r[o];o%2&&!this.options.newlineIsToken?e[e.length-1]+=a:(this.options.ignoreWhitespace&&(a=a.trim()),e.push(a))}return e};kct=new Yf;kct.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};Fct=new Yf;Fct.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};Oct=Object.prototype.toString,j1=new Yf;j1.useLongestToken=!0;j1.tokenize=g_.tokenize;j1.castInput=function(t){var e=this.options,r=e.undefinedReplacement,o=e.stringifyReplacer,a=o===void 0?function(n,u){return typeof u>"u"?r:u}:o;return typeof t=="string"?t:JSON.stringify(f_(t,null,null,a),a," ")};j1.equals=function(t,e){return Yf.prototype.equals.call(j1,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};p_=new Yf;p_.tokenize=function(t){return t.slice()};p_.join=p_.removeEmpty=function(t){return t}});var Fpe=U((aUt,kpe)=>{var Mct=Yl(),Uct=AC(),_ct=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Hct=/^\w*$/;function qct(t,e){if(Mct(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Uct(t)?!0:Hct.test(t)||!_ct.test(t)||e!=null&&t in Object(e)}kpe.exports=qct});var Npe=U((lUt,Tpe)=>{var Rpe=bS(),jct="Expected a function";function m_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(jct);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var u=t.apply(this,o);return r.cache=n.set(a,u)||n,u};return r.cache=new(m_.Cache||Rpe),r}m_.Cache=Rpe;Tpe.exports=m_});var Ope=U((cUt,Lpe)=>{var Gct=Npe(),Wct=500;function Yct(t){var e=Gct(t,function(o){return r.size===Wct&&r.clear(),o}),r=e.cache;return e}Lpe.exports=Yct});var y_=U((uUt,Mpe)=>{var Kct=Ope(),Vct=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Jct=/\\(\\)?/g,zct=Kct(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Vct,function(r,o,a,n){e.push(a?n.replace(Jct,"$1"):o||r)}),e});Mpe.exports=zct});var Wd=U((AUt,Upe)=>{var Xct=Yl(),Zct=Fpe(),$ct=y_(),eut=v1();function tut(t,e){return Xct(t)?t:Zct(t,e)?[t]:$ct(eut(t))}Upe.exports=tut});var sE=U((fUt,_pe)=>{var rut=AC(),nut=1/0;function iut(t){if(typeof t=="string"||rut(t))return t;var e=t+"";return e=="0"&&1/t==-nut?"-0":e}_pe.exports=iut});var Gb=U((pUt,Hpe)=>{var sut=Wd(),out=sE();function aut(t,e){e=sut(e,t);for(var r=0,o=e.length;t!=null&&r<o;)t=t[out(e[r++])];return r&&r==o?t:void 0}Hpe.exports=aut});var C_=U((hUt,jpe)=>{var lut=YS(),cut=Wd(),uut=Qw(),qpe=ol(),Aut=sE();function fut(t,e,r,o){if(!qpe(t))return t;e=cut(e,t);for(var a=-1,n=e.length,u=n-1,A=t;A!=null&&++a<n;){var p=Aut(e[a]),h=r;if(p==="__proto__"||p==="constructor"||p==="prototype")return t;if(a!=u){var E=A[p];h=o?o(E,p,A):void 0,h===void 0&&(h=qpe(E)?E:uut(e[a+1])?[]:{})}lut(A,p,h),A=A[p]}return t}jpe.exports=fut});var Wpe=U((gUt,Gpe)=>{var put=Gb(),hut=C_(),gut=Wd();function dut(t,e,r){for(var o=-1,a=e.length,n={};++o<a;){var u=e[o],A=put(t,u);r(A,u)&&hut(n,gut(u,t),A)}return n}Gpe.exports=dut});var Kpe=U((dUt,Ype)=>{function mut(t,e){return t!=null&&e in Object(t)}Ype.exports=mut});var E_=U((mUt,Vpe)=>{var yut=Wd(),Cut=Pw(),Eut=Yl(),Iut=Qw(),wut=NS(),But=sE();function vut(t,e,r){e=yut(e,t);for(var o=-1,a=e.length,n=!1;++o<a;){var u=But(e[o]);if(!(n=t!=null&&r(t,u)))break;t=t[u]}return n||++o!=a?n:(a=t==null?0:t.length,!!a&&wut(a)&&Iut(u,a)&&(Eut(t)||Cut(t)))}Vpe.exports=vut});var zpe=U((yUt,Jpe)=>{var Dut=Kpe(),Sut=E_();function Put(t,e){return t!=null&&Sut(t,e,Dut)}Jpe.exports=Put});var Zpe=U((CUt,Xpe)=>{var xut=Wpe(),but=zpe();function Qut(t,e){return xut(t,e,function(r,o){return but(t,o)})}Xpe.exports=Qut});var r0e=U((EUt,t0e)=>{var $pe=fd(),kut=Pw(),Fut=Yl(),e0e=$pe?$pe.isConcatSpreadable:void 0;function Rut(t){return Fut(t)||kut(t)||!!(e0e&&t&&t[e0e])}t0e.exports=Rut});var s0e=U((IUt,i0e)=>{var Tut=RS(),Nut=r0e();function n0e(t,e,r,o,a){var n=-1,u=t.length;for(r||(r=Nut),a||(a=[]);++n<u;){var A=t[n];e>0&&r(A)?e>1?n0e(A,e-1,r,o,a):Tut(a,A):o||(a[a.length]=A)}return a}i0e.exports=n0e});var a0e=U((wUt,o0e)=>{var Lut=s0e();function Out(t){var e=t==null?0:t.length;return e?Lut(t,1):[]}o0e.exports=Out});var I_=U((BUt,l0e)=>{var Mut=a0e(),Uut=sL(),_ut=oL();function Hut(t){return _ut(Uut(t,void 0,Mut),t+"")}l0e.exports=Hut});var u0e=U((vUt,c0e)=>{var qut=Zpe(),jut=I_(),Gut=jut(function(t,e){return t==null?{}:qut(t,e)});c0e.exports=Gut});var Wb,A0e=dt(()=>{Xl();Wb=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.resolver.bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,o,a){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var xi,w_=dt(()=>{Xl();xi=class extends Js{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,o){return(typeof r=="function"?r:o)()}async startTimerPromise(e,r,o){return await(typeof r=="function"?r:o)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}}});var f0e,oE,B_=dt(()=>{bt();f0e=tt(oM());uC();Dd();Jl();t0();n0();Ks();oE=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=e}async setup(){this.manifest=await Nt.tryFind(this.cwd)??new Nt,this.relativeCwd=z.relative(this.project.cwd,this.cwd)||wt.dot;let e=this.manifest.name?this.manifest.name:nA(null,`${this.computeCandidateName()}-${Vs(this.relativeCwd).substring(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=us(e,r),this.anchoredDescriptor=mn(this.locator,`${Gn.protocol}${this.relativeCwd}`),this.anchoredLocator=us(this.locator,`${Gn.protocol}${this.relativeCwd}`);let o=this.manifest.workspaceDefinitions.map(({pattern:n})=>n),a=await(0,f0e.default)(o,{cwd:ue.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});a.sort();for(let n of a){let u=z.resolve(this.cwd,ue.toPortablePath(n));ae.existsSync(z.join(u,"package.json"))&&this.workspacesCwds.add(u)}}get anchoredPackage(){let e=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!e)throw new Error(`Assertion failed: Expected workspace ${Zw(this.project.configuration,this)} (${Kt(this.project.configuration,z.join(this.cwd,Lr.manifest),Bt.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return e}accepts(e){let r=e.indexOf(":"),o=r!==-1?e.slice(0,r+1):null,a=r!==-1?e.slice(r+1):e;if(o===Gn.protocol&&z.normalize(a)===this.relativeCwd||o===Gn.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=ll(a);return n?o===Gn.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${z.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Nt.hardDependencies}={}){let r=new Set,o=a=>{for(let n of e)for(let u of a.manifest[n].values()){let A=this.project.tryWorkspaceByDescriptor(u);A===null||r.has(A)||(r.add(A),o(A))}};return o(this),r}getRecursiveWorkspaceDependents({dependencies:e=Nt.hardDependencies}={}){let r=new Set,o=a=>{for(let n of this.project.workspaces)e.some(A=>[...n.manifest[A].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&Jw(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),o(n))};return o(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let o=this.project.workspacesByCwd.get(r);o&&e.push(o,...o.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=z.join(this.cwd,Nt.fileName),o=`${JSON.stringify(e,null,this.manifest.indent)} |
200 | `;await ae.changeFilePromise(r,o,{automaticNewlines:!0}),this.manifest.raw=e}}});function Uut({project:t,allDescriptors:e,allResolutions:r,allPackages:o,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:u=new Map,volatileDescriptors:A=new Set,report:p}){let h=new Map,C=[],w=new Map,v=new Map,b=new Map,E=new Map,R=new Map,L=new Map(t.workspaces.map(ge=>{let le=ge.anchoredLocator.locatorHash,Pe=o.get(le);if(typeof Pe>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[le,Hw(Pe)]})),_=()=>{let ge=ae.mktempSync(),le=V.join(ge,"stacktrace.log"),Pe=String(C.length+1).length,g=C.map((De,Ee)=>`${`${Ee+1}.`.padStart(Pe," ")} ${Wl(De)} | 200 | `;await ae.changeFilePromise(r,o,{automaticNewlines:!0}),this.manifest.raw=e}}});function zut({project:t,allDescriptors:e,allResolutions:r,allPackages:o,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:u=new Map,volatileDescriptors:A=new Set,report:p}){let h=new Map,E=[],w=new Map,v=new Map,b=new Map,C=new Map,R=new Map,L=new Map(t.workspaces.map(ge=>{let le=ge.anchoredLocator.locatorHash,Pe=o.get(le);if(typeof Pe>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[le,Ww(Pe)]})),_=()=>{let ge=ae.mktempSync(),le=z.join(ge,"stacktrace.log"),Pe=String(E.length+1).length,g=E.map((De,Ce)=>`${`${Ce+1}.`.padStart(Pe," ")} ${Vl(De)} |
201 | `).join("");throw ae.writeFileSync(le,g),ae.detachTemp(ge),new Jt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${Ae.fromPortablePath(le)}`)},J=ge=>{let le=r.get(ge.descriptorHash);if(typeof le>"u")throw new Error("Assertion failed: The resolution should have been registered");let Pe=o.get(le);if(!Pe)throw new Error("Assertion failed: The package could not be found");return Pe},re=(ge,le,Pe,{top:g,optional:De})=>{C.length>1e3&&_(),C.push(le);let Ee=oe(ge,le,Pe,{top:g,optional:De});return C.pop(),Ee},oe=(ge,le,Pe,{top:g,optional:De})=>{if(a.has(le.locatorHash))return;a.add(le.locatorHash),De||n.delete(le.locatorHash);let Ee=o.get(le.locatorHash);if(!Ee)throw new Error(`Assertion failed: The package (${kr(t.configuration,le)}) should have been registered`);let de=[],ne=[],Z=[],me=[],be=[];for(let H of Array.from(Ee.dependencies.values())){if(Ee.peerDependencies.has(H.identHash)&&Ee.locatorHash!==g)continue;if(xf(H))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");A.delete(H.descriptorHash);let yt=De;if(!yt){let Le=Ee.dependenciesMeta.get(nn(H));if(typeof Le<"u"){let x=Le.get(null);typeof x<"u"&&x.optional&&(yt=!0)}}let Me=r.get(H.descriptorHash);if(!Me)throw new Error(`Assertion failed: The resolution (${Ln(t.configuration,H)}) should have been registered`);let Te=L.get(Me)||o.get(Me);if(!Te)throw new Error(`Assertion failed: The package (${Me}, resolved from ${Ln(t.configuration,H)}) should have been registered`);if(Te.peerDependencies.size===0){re(H,Te,new Map,{top:g,optional:yt});continue}let Qe,Ue,je=new Set,At;ne.push(()=>{Qe=uM(H,le.locatorHash),Ue=AM(Te,le.locatorHash),Ee.dependencies.delete(H.identHash),Ee.dependencies.set(Qe.identHash,Qe),r.set(Qe.descriptorHash,Ue.locatorHash),e.set(Qe.descriptorHash,Qe),o.set(Ue.locatorHash,Ue),de.push([Te,Qe,Ue])}),Z.push(()=>{At=new Map;for(let Le of Ue.peerDependencies.values()){let x=Ee.dependencies.get(Le.identHash);if(!x&&Gw(le,Le)&&(ge.identHash===le.identHash?x=ge:(x=mn(le,ge.range),e.set(x.descriptorHash,x),r.set(x.descriptorHash,le.locatorHash),A.delete(x.descriptorHash))),(!x||x.range==="missing:")&&Ue.dependencies.has(Le.identHash)){Ue.peerDependencies.delete(Le.identHash);continue}x||(x=mn(Le,"missing:")),Ue.dependencies.set(x.identHash,x),xf(x)&&pd(b,x.descriptorHash).add(Ue.locatorHash),w.set(x.identHash,x),x.range==="missing:"&&je.add(x.identHash),At.set(Le.identHash,Pe.get(Le.identHash)??Ue.locatorHash)}Ue.dependencies=new Map(Sa(Ue.dependencies,([Le,x])=>nn(x)))}),me.push(()=>{if(!o.has(Ue.locatorHash))return;let Le=h.get(Te.locatorHash);typeof Le=="number"&&Le>=2&&_();let x=h.get(Te.locatorHash),I=typeof x<"u"?x+1:1;h.set(Te.locatorHash,I),re(Qe,Ue,At,{top:g,optional:yt}),h.set(Te.locatorHash,I-1)}),be.push(()=>{let Le=Ee.dependencies.get(H.identHash);if(typeof Le>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let x=r.get(Le.descriptorHash);if(typeof x>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(pd(R,x).add(le.locatorHash),!!o.has(Ue.locatorHash)){for(let I of Ue.peerDependencies.values()){let P=At.get(I.identHash);if(typeof P>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Hy(qy(E,P),nn(I)).push(Ue.locatorHash)}for(let I of je)Ue.dependencies.delete(I)}})}for(let H of[...ne,...Z])H();let ut;do{ut=!0;for(let[H,yt,Me]of de){let Te=qy(v,H.locatorHash),Qe=Js(...[...Me.dependencies.values()].map(Le=>{let x=Le.range!=="missing:"?r.get(Le.descriptorHash):"missing:";if(typeof x>"u")throw new Error(`Assertion failed: Expected the resolution for ${Ln(t.configuration,Le)} to have been registered`);return x===g?`${x} (top)`:x}),yt.identHash),Ue=Te.get(Qe);if(typeof Ue>"u"){Te.set(Qe,yt);continue}if(Ue===yt)continue;o.delete(Me.locatorHash),e.delete(yt.descriptorHash),r.delete(yt.descriptorHash),a.delete(Me.locatorHash);let je=b.get(yt.descriptorHash)||[],At=[Ee.locatorHash,...je];b.delete(yt.descriptorHash);for(let Le of At){let x=o.get(Le);typeof x>"u"||(x.dependencies.get(yt.identHash).descriptorHash!==Ue.descriptorHash&&(ut=!1),x.dependencies.set(yt.identHash,Ue))}}}while(!ut);for(let H of[...me,...be])H()};for(let ge of t.workspaces){let le=ge.anchoredLocator;A.delete(ge.anchoredDescriptor.descriptorHash),re(ge.anchoredDescriptor,le,new Map,{top:le.locatorHash,optional:!1})}let pe;(Pe=>(Pe[Pe.NotProvided=0]="NotProvided",Pe[Pe.NotCompatible=1]="NotCompatible"))(pe||(pe={}));let he=[];for(let[ge,le]of R){let Pe=o.get(ge);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the root to be registered");let g=E.get(ge);if(!(typeof g>"u"))for(let De of le){let Ee=o.get(De);if(!(typeof Ee>"u"))for(let[de,ne]of g){let Z=Ys(de);if(Ee.peerDependencies.has(Z.identHash))continue;let me=`p${Js(De,de,ge).slice(0,5)}`;u.set(me,{subject:De,requested:Z,rootRequester:ge,allRequesters:ne});let be=Pe.dependencies.get(Z.identHash);if(typeof be<"u"){let ut=J(be),H=ut.version??"0.0.0",yt=new Set;for(let Te of ne){let Qe=o.get(Te);if(typeof Qe>"u")throw new Error("Assertion failed: Expected the link to be registered");let Ue=Qe.peerDependencies.get(Z.identHash);if(typeof Ue>"u")throw new Error("Assertion failed: Expected the ident to be registered");yt.add(Ue.range)}[...yt].every(Te=>{if(Te.startsWith(oi.protocol)){if(!t.tryWorkspaceByLocator(ut))return!1;Te=Te.slice(oi.protocol.length),(Te==="^"||Te==="~")&&(Te="*")}return Bd(H,Te)})||he.push({type:1,subject:Ee,requested:Z,requester:Pe,version:H,hash:me,requirementCount:ne.length})}else{let ut=Pe.peerDependenciesMeta.get(de);ut!=null&&ut.optional||he.push({type:0,subject:Ee,requested:Z,requester:Pe,hash:me})}}}}let ve=[ge=>fM(ge.subject),ge=>nn(ge.requested),ge=>`${ge.type}`];p==null||p.startSectionSync({reportFooter:()=>{p.reportWarning(0,`Some peer dependencies are incorrectly met; run ${Kt(t.configuration,"yarn explain peer-requirements <hash>",Bt.CODE)} for details, where ${Kt(t.configuration,"<hash>",Bt.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let ge of Sa(he,ve))switch(ge.type){case 0:p.reportWarning(2,`${kr(t.configuration,ge.subject)} doesn't provide ${cs(t.configuration,ge.requested)} (${Kt(t.configuration,ge.hash,Bt.CODE)}), requested by ${cs(t.configuration,ge.requester)}`);break;case 1:{let le=ge.requirementCount>1?"and some of its descendants request":"requests";p.reportWarning(60,`${kr(t.configuration,ge.subject)} provides ${cs(t.configuration,ge.requested)} (${Kt(t.configuration,ge.hash,Bt.CODE)}) with version ${Kw(t.configuration,ge.version)}, which doesn't satisfy what ${cs(t.configuration,ge.requester)} ${le}`)}break}})}var Ub,_b,u0e,A0e,D_,v_,S_,a0e,Tut,Nut,l0e,Lut,Out,Mut,fl,B_,c0e,St,f0e=dt(()=>{bt();bt();Ol();_t();Ub=Ie("crypto");g_();_b=tt(i0e()),u0e=tt($g()),A0e=tt(ii()),D_=Ie("util"),v_=tt(Ie("v8")),S_=tt(Ie("zlib"));p1();a_();l_();sE();yM();Jl();s0e();I_();wd();w_();RP();Yl();e0();Gl();A1();vU();r0();Ks();a0e=7,Tut=2,Nut=/ *, */g,l0e=/\/$/,Lut=32,Out=(0,D_.promisify)(S_.default.gzip),Mut=(0,D_.promisify)(S_.default.gunzip),fl=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(fl||{}),B_={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},c0e=t=>Js(`${Tut}`,t),St=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var E,R,L;if(!e.projectCwd)throw new ot(`No project found in ${r}`);let o=e.projectCwd,a=r,n=null;for(;n!==e.projectCwd;){if(n=a,ae.existsSync(V.join(n,Lr.manifest))){o=n;break}a=V.dirname(n)}let u=new St(e.projectCwd,{configuration:e});(E=Xe.telemetry)==null||E.reportProject(u.cwd),await u.setupResolutions(),await u.setupWorkspaces(),(R=Xe.telemetry)==null||R.reportWorkspaceCount(u.workspaces.length),(L=Xe.telemetry)==null||L.reportDependencyCount(u.workspaces.reduce((_,J)=>_+J.manifest.dependencies.size+J.manifest.devDependencies.size,0));let A=u.tryWorkspaceByCwd(o);if(A)return{project:u,workspace:A,locator:A.anchoredLocator};let p=await u.findLocatorForLocation(`${o}/`,{strict:!0});if(p)return{project:u,locator:p,workspace:null};let h=Kt(e,u.cwd,Bt.PATH),C=Kt(e,V.relative(u.cwd,o),Bt.PATH),w=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,v=`- If ${h} is intended to be a project, it might be that you forgot to list ${C} in its workspace configuration.`,b=`- Finally, if ${h} is fine and you intend ${C} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new ot(`The nearest package directory (${Kt(e,o,Bt.PATH)}) doesn't seem to be part of the project declared in ${Kt(e,u.cwd,Bt.PATH)}. | 201 | `).join("");throw ae.writeFileSync(le,g),ae.detachTemp(ge),new Vt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${ue.fromPortablePath(le)}`)},V=ge=>{let le=r.get(ge.descriptorHash);if(typeof le>"u")throw new Error("Assertion failed: The resolution should have been registered");let Pe=o.get(le);if(!Pe)throw new Error("Assertion failed: The package could not be found");return Pe},re=(ge,le,Pe,{top:g,optional:De})=>{E.length>1e3&&_(),E.push(le);let Ce=oe(ge,le,Pe,{top:g,optional:De});return E.pop(),Ce},oe=(ge,le,Pe,{top:g,optional:De})=>{if(a.has(le.locatorHash))return;a.add(le.locatorHash),De||n.delete(le.locatorHash);let Ce=o.get(le.locatorHash);if(!Ce)throw new Error(`Assertion failed: The package (${kr(t.configuration,le)}) should have been registered`);let de=[],ne=[],Z=[],me=[],be=[];for(let H of Array.from(Ce.dependencies.values())){if(Ce.peerDependencies.has(H.identHash)&&Ce.locatorHash!==g)continue;if(Qf(H))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");A.delete(H.descriptorHash);let yt=De;if(!yt){let Oe=Ce.dependenciesMeta.get(nn(H));if(typeof Oe<"u"){let x=Oe.get(null);typeof x<"u"&&x.optional&&(yt=!0)}}let Me=r.get(H.descriptorHash);if(!Me)throw new Error(`Assertion failed: The resolution (${Ln(t.configuration,H)}) should have been registered`);let Te=L.get(Me)||o.get(Me);if(!Te)throw new Error(`Assertion failed: The package (${Me}, resolved from ${Ln(t.configuration,H)}) should have been registered`);if(Te.peerDependencies.size===0){re(H,Te,new Map,{top:g,optional:yt});continue}let Qe,_e,qe=new Set,At;ne.push(()=>{Qe=AM(H,le.locatorHash),_e=fM(Te,le.locatorHash),Ce.dependencies.delete(H.identHash),Ce.dependencies.set(Qe.identHash,Qe),r.set(Qe.descriptorHash,_e.locatorHash),e.set(Qe.descriptorHash,Qe),o.set(_e.locatorHash,_e),de.push([Te,Qe,_e])}),Z.push(()=>{At=new Map;for(let Oe of _e.peerDependencies.values()){let x=Ce.dependencies.get(Oe.identHash);if(!x&&Vw(le,Oe)&&(ge.identHash===le.identHash?x=ge:(x=mn(le,ge.range),e.set(x.descriptorHash,x),r.set(x.descriptorHash,le.locatorHash),A.delete(x.descriptorHash))),(!x||x.range==="missing:")&&_e.dependencies.has(Oe.identHash)){_e.peerDependencies.delete(Oe.identHash);continue}x||(x=mn(Oe,"missing:")),_e.dependencies.set(x.identHash,x),Qf(x)&&dd(b,x.descriptorHash).add(_e.locatorHash),w.set(x.identHash,x),x.range==="missing:"&&qe.add(x.identHash),At.set(Oe.identHash,Pe.get(Oe.identHash)??_e.locatorHash)}_e.dependencies=new Map(Pa(_e.dependencies,([Oe,x])=>nn(x)))}),me.push(()=>{if(!o.has(_e.locatorHash))return;let Oe=h.get(Te.locatorHash);typeof Oe=="number"&&Oe>=2&&_();let x=h.get(Te.locatorHash),I=typeof x<"u"?x+1:1;h.set(Te.locatorHash,I),re(Qe,_e,At,{top:g,optional:yt}),h.set(Te.locatorHash,I-1)}),be.push(()=>{let Oe=Ce.dependencies.get(H.identHash);if(typeof Oe>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let x=r.get(Oe.descriptorHash);if(typeof x>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(dd(R,x).add(le.locatorHash),!!o.has(_e.locatorHash)){for(let I of _e.peerDependencies.values()){let P=At.get(I.identHash);if(typeof P>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Yy(Ky(C,P),nn(I)).push(_e.locatorHash)}for(let I of qe)_e.dependencies.delete(I)}})}for(let H of[...ne,...Z])H();let ut;do{ut=!0;for(let[H,yt,Me]of de){let Te=Ky(v,H.locatorHash),Qe=Vs(...[...Me.dependencies.values()].map(Oe=>{let x=Oe.range!=="missing:"?r.get(Oe.descriptorHash):"missing:";if(typeof x>"u")throw new Error(`Assertion failed: Expected the resolution for ${Ln(t.configuration,Oe)} to have been registered`);return x===g?`${x} (top)`:x}),yt.identHash),_e=Te.get(Qe);if(typeof _e>"u"){Te.set(Qe,yt);continue}if(_e===yt)continue;o.delete(Me.locatorHash),e.delete(yt.descriptorHash),r.delete(yt.descriptorHash),a.delete(Me.locatorHash);let qe=b.get(yt.descriptorHash)||[],At=[Ce.locatorHash,...qe];b.delete(yt.descriptorHash);for(let Oe of At){let x=o.get(Oe);typeof x>"u"||(x.dependencies.get(yt.identHash).descriptorHash!==_e.descriptorHash&&(ut=!1),x.dependencies.set(yt.identHash,_e))}}}while(!ut);for(let H of[...me,...be])H()};for(let ge of t.workspaces){let le=ge.anchoredLocator;A.delete(ge.anchoredDescriptor.descriptorHash),re(ge.anchoredDescriptor,le,new Map,{top:le.locatorHash,optional:!1})}let pe;(Pe=>(Pe[Pe.NotProvided=0]="NotProvided",Pe[Pe.NotCompatible=1]="NotCompatible"))(pe||(pe={}));let he=[];for(let[ge,le]of R){let Pe=o.get(ge);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the root to be registered");let g=C.get(ge);if(!(typeof g>"u"))for(let De of le){let Ce=o.get(De);if(!(typeof Ce>"u"))for(let[de,ne]of g){let Z=Ys(de);if(Ce.peerDependencies.has(Z.identHash))continue;let me=`p${Vs(De,de,ge).slice(0,5)}`;u.set(me,{subject:De,requested:Z,rootRequester:ge,allRequesters:ne});let be=Pe.dependencies.get(Z.identHash);if(typeof be<"u"){let ut=V(be),H=ut.version??"0.0.0",yt=new Set;for(let Te of ne){let Qe=o.get(Te);if(typeof Qe>"u")throw new Error("Assertion failed: Expected the link to be registered");let _e=Qe.peerDependencies.get(Z.identHash);if(typeof _e>"u")throw new Error("Assertion failed: Expected the ident to be registered");yt.add(_e.range)}[...yt].every(Te=>{if(Te.startsWith(Gn.protocol)){if(!t.tryWorkspaceByLocator(ut))return!1;Te=Te.slice(Gn.protocol.length),(Te==="^"||Te==="~")&&(Te="*")}return Sd(H,Te)})||he.push({type:1,subject:Ce,requested:Z,requester:Pe,version:H,hash:me,requirementCount:ne.length})}else{let ut=Pe.peerDependenciesMeta.get(de);ut!=null&&ut.optional||he.push({type:0,subject:Ce,requested:Z,requester:Pe,hash:me})}}}}let ve=[ge=>pM(ge.subject),ge=>nn(ge.requested),ge=>`${ge.type}`];p==null||p.startSectionSync({reportFooter:()=>{p.reportWarning(0,`Some peer dependencies are incorrectly met; run ${Kt(t.configuration,"yarn explain peer-requirements <hash>",Bt.CODE)} for details, where ${Kt(t.configuration,"<hash>",Bt.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let ge of Pa(he,ve))switch(ge.type){case 0:p.reportWarning(2,`${kr(t.configuration,ge.subject)} doesn't provide ${cs(t.configuration,ge.requested)} (${Kt(t.configuration,ge.hash,Bt.CODE)}), requested by ${cs(t.configuration,ge.requester)}`);break;case 1:{let le=ge.requirementCount>1?"and some of its descendants request":"requests";p.reportWarning(60,`${kr(t.configuration,ge.subject)} provides ${cs(t.configuration,ge.requested)} (${Kt(t.configuration,ge.hash,Bt.CODE)}) with version ${Xw(t.configuration,ge.version)}, which doesn't satisfy what ${cs(t.configuration,ge.requester)} ${le}`)}break}})}var Yb,Kb,d0e,m0e,S_,D_,P_,p0e,Wut,Yut,h0e,Kut,Vut,Jut,gl,v_,g0e,St,y0e=dt(()=>{bt();bt();_l();_t();Yb=Ie("crypto");d_();Kb=tt(u0e()),d0e=tt(rd()),m0e=tt(si()),S_=Ie("util"),D_=tt(Ie("v8")),P_=tt(Ie("zlib"));m1();l_();c_();uC();CM();Xl();A0e();w_();Dd();B_();_P();Jl();t0();Kl();g1();DU();n0();Ks();p0e=7,Wut=2,Yut=/ *, */g,h0e=/\/$/,Kut=32,Vut=(0,S_.promisify)(P_.default.gzip),Jut=(0,S_.promisify)(P_.default.gunzip),gl=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(gl||{}),v_={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},g0e=t=>Vs(`${Wut}`,t),St=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var C,R,L;if(!e.projectCwd)throw new ot(`No project found in ${r}`);let o=e.projectCwd,a=r,n=null;for(;n!==e.projectCwd;){if(n=a,ae.existsSync(z.join(n,Lr.manifest))){o=n;break}a=z.dirname(n)}let u=new St(e.projectCwd,{configuration:e});(C=Xe.telemetry)==null||C.reportProject(u.cwd),await u.setupResolutions(),await u.setupWorkspaces(),(R=Xe.telemetry)==null||R.reportWorkspaceCount(u.workspaces.length),(L=Xe.telemetry)==null||L.reportDependencyCount(u.workspaces.reduce((_,V)=>_+V.manifest.dependencies.size+V.manifest.devDependencies.size,0));let A=u.tryWorkspaceByCwd(o);if(A)return{project:u,workspace:A,locator:A.anchoredLocator};let p=await u.findLocatorForLocation(`${o}/`,{strict:!0});if(p)return{project:u,locator:p,workspace:null};let h=Kt(e,u.cwd,Bt.PATH),E=Kt(e,z.relative(u.cwd,o),Bt.PATH),w=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,v=`- If ${h} is intended to be a project, it might be that you forgot to list ${E} in its workspace configuration.`,b=`- Finally, if ${h} is fine and you intend ${E} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new ot(`The nearest package directory (${Kt(e,o,Bt.PATH)}) doesn't seem to be part of the project declared in ${Kt(e,u.cwd,Bt.PATH)}. |
202 | 202 | ||
203 | ${[w,v,b].join(` | 203 | ${[w,v,b].join(` |
204 | `)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=V.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(ae.existsSync(e)){let o=await ae.readFilePromise(e,"utf8");this.lockFileChecksum=c0e(o);let a=Yi(o);if(a.__metadata){let n=a.__metadata.version,u=a.__metadata.cacheKey;this.lockfileNeedsRefresh=n<a0e;for(let A of Object.keys(a)){if(A==="__metadata")continue;let p=a[A];if(typeof p.resolution>"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);let h=bf(p.resolution,!0),C=new Nt;C.load(p,{yamlCompatibilityMode:!0});let w=C.version,v=C.languageName||r,b=p.linkType.toUpperCase(),E=p.conditions??null,R=C.dependencies,L=C.peerDependencies,_=C.dependenciesMeta,J=C.peerDependenciesMeta,re=C.bin;if(p.checksum!=null){let pe=typeof u<"u"&&!p.checksum.includes("/")?`${u}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,pe)}let oe={...h,version:w,languageName:v,linkType:b,conditions:E,dependencies:R,peerDependencies:L,dependenciesMeta:_,peerDependenciesMeta:J,bin:re};this.originalPackages.set(oe.locatorHash,oe);for(let pe of A.split(Nut)){let he=t0(pe);n<=6&&(he=this.configuration.normalizeDependency(he),he=mn(he,he.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(he.descriptorHash,he),this.storedResolutions.set(he.descriptorHash,h.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let r=e;e=[];for(let o of r){if(this.workspacesByCwd.has(o))continue;let a=await this.addWorkspace(o);for(let n of a.workspacesCwds)e.push(n)}}}async addWorkspace(e){let r=new tC(e,{project:this});await r.setup();let o=this.workspacesByIdent.get(r.locator.identHash);if(typeof o<"u")throw new Error(`Duplicate workspace name ${cs(this.configuration,r.locator)}: ${Ae.fromPortablePath(e)} conflicts with ${Ae.fromPortablePath(o.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){V.isAbsolute(e)||(e=V.resolve(this.cwd,e)),e=V.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let o of this.workspaces)V.relative(o.cwd,e).startsWith("../")||r&&r.cwd.length>=o.cwd.length||(r=o);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${cs(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(xf(e)&&(e=qw(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Ln(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(qc(e)&&(e=jw(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${kr(this.configuration,e)})`);return r}forgetResolution(e){let r=a=>{this.storedResolutions.delete(a),this.storedDescriptors.delete(a)},o=a=>{this.originalPackages.delete(a),this.storedPackages.delete(a),this.accessibleLocators.delete(a)};if("descriptorHash"in e){let a=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let n=new Set(this.storedResolutions.values());typeof a<"u"&&!n.has(a)&&o(a)}if("locatorHash"in e){o(e.locatorHash);for(let[a,n]of this.storedResolutions)n===e.locatorHash&&r(a)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let o;try{o=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{o=!1}o||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,o]of e.dependencies)xf(o)&&e.dependencies.set(r,qw(o))}getDependencyMeta(e,r){let o={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(nn(e));if(!n)return o;let u=n.get(null);if(u&&Object.assign(o,u),r===null||!A0e.default.valid(r))return o;for(let[A,p]of n)A!==null&&A===r&&Object.assign(o,p);return o}async findLocatorForLocation(e,{strict:r=!1}={}){let o=new xi,a=this.configuration.getLinkers(),n={project:this,report:o};for(let u of a){let A=await u.findPackageLocator(e,n);if(A){if(r&&(await u.findPackageLocation(A,n)).replace(l0e,"")!==e.replace(l0e,""))continue;return A}}return null}async loadUserConfig(){let e=V.join(this.cwd,"yarn.config.js");return await ae.existsPromise(e)?Kp(e):null}async preparePackage(e,{resolver:r,resolveOptions:o}){let a=this.configuration.normalizePackage(e);for(let[n,u]of a.dependencies){let A=await this.configuration.reduceHook(h=>h.reduceDependency,u,this,a,u,{resolver:r,resolveOptions:o});if(!Gw(u,A))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let p=r.bindDescriptor(A,a,o);a.dependencies.set(n,p)}return a}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),o=new ZE(r);await o.setup(this,{report:e.report});let a=e.lockfileOnly?[new Mb(r)]:[o,r],n=new vd([new $E(r),...a]),u=new vd([...a]),A=this.configuration.makeFetcher(),p=e.lockfileOnly?{project:this,report:e.report,resolver:n}:{project:this,report:e.report,resolver:n,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:A,cacheOptions:{mirrorWriteOnly:!0}}},h=new Map,C=new Map,w=new Map,v=new Map,b=new Map,E=new Map,R=this.topLevelWorkspace.anchoredLocator,L=new Set,_=[],J=K4(),re=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Vs.progressViaTitle(),async Pe=>{let g=async Z=>{let me=await jy(async()=>await n.resolve(Z,p),H=>`${kr(this.configuration,Z)}: ${H}`);if(!Ww(Z,me))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${kr(this.configuration,Z)} to ${kr(this.configuration,me)})`);v.set(me.locatorHash,me);let be=await this.preparePackage(me,{resolver:n,resolveOptions:p}),ut=_c([...be.dependencies.values()].map(H=>ne(H)));return _.push(ut),ut.catch(()=>{}),C.set(be.locatorHash,be),be},De=async Z=>{let me=b.get(Z.locatorHash);if(typeof me<"u")return me;let be=Promise.resolve().then(()=>g(Z));return b.set(Z.locatorHash,be),be},Ee=async(Z,me)=>{let be=await ne(me);return h.set(Z.descriptorHash,Z),w.set(Z.descriptorHash,be.locatorHash),be},de=async Z=>{Pe.setTitle(Ln(this.configuration,Z));let me=this.resolutionAliases.get(Z.descriptorHash);if(typeof me<"u")return Ee(Z,this.storedDescriptors.get(me));let be=n.getResolutionDependencies(Z,p),ut=Object.fromEntries(await _c(Object.entries(be).map(async([Me,Te])=>{let Qe=n.bindDescriptor(Te,R,p),Ue=await ne(Qe);return L.add(Ue.locatorHash),[Me,Ue]}))),yt=(await jy(async()=>await n.getCandidates(Z,ut,p),Me=>`${Ln(this.configuration,Z)}: ${Me}`))[0];if(typeof yt>"u")throw new Jt(82,`${Ln(this.configuration,Z)}: No candidates found`);if(e.checkResolutions){let{locators:Me}=await u.getSatisfying(Z,ut,[yt],{...p,resolver:u});if(!Me.find(Te=>Te.locatorHash===yt.locatorHash))throw new Jt(78,`Invalid resolution ${Mw(this.configuration,Z,yt)}`)}return h.set(Z.descriptorHash,Z),w.set(Z.descriptorHash,yt.locatorHash),De(yt)},ne=Z=>{let me=E.get(Z.descriptorHash);if(typeof me<"u")return me;h.set(Z.descriptorHash,Z);let be=Promise.resolve().then(()=>de(Z));return E.set(Z.descriptorHash,be),be};for(let Z of this.workspaces){let me=Z.anchoredDescriptor;_.push(ne(me))}for(;_.length>0;){let Z=[..._];_.length=0,await _c(Z)}});let oe=new Set(this.resolutionAliases.values()),pe=new Set(C.keys()),he=new Set,ve=new Map;Uut({project:this,report:e.report,accessibleLocators:he,volatileDescriptors:oe,optionalBuilds:pe,peerRequirements:ve,allDescriptors:h,allResolutions:w,allPackages:C});for(let Pe of L)pe.delete(Pe);for(let Pe of oe)h.delete(Pe),w.delete(Pe);let ge=new Set,le=new Set;for(let Pe of C.values())Pe.conditions!=null&&(!pe.has(Pe.locatorHash)||(xP(Pe,re)||(xP(Pe,J)&&e.report.reportWarningOnce(77,`${kr(this.configuration,Pe)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Kt(this.configuration,"supportedArchitectures",Bt.SETTING)} setting`),le.add(Pe.locatorHash)),ge.add(Pe.locatorHash)));this.storedResolutions=w,this.storedDescriptors=h,this.storedPackages=C,this.accessibleLocators=he,this.conditionalLocators=ge,this.disabledLocators=le,this.originalPackages=v,this.optionalBuilds=pe,this.peerRequirements=ve}async fetchEverything({cache:e,report:r,fetcher:o,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=Array.from(new Set(Sa(this.storedResolutions.values(),[v=>{let b=this.storedPackages.get(v);if(!b)throw new Error("Assertion failed: The locator should have been registered");return Wl(b)}])));a==="update-lockfile"&&(p=p.filter(v=>!this.storedChecksums.has(v)));let h=!1,C=Vs.progressViaCounter(p.length);await r.reportProgress(C);let w=(0,u0e.default)(Lut);if(await r.startCacheReport(async()=>{await _c(p.map(v=>w(async()=>{let b=this.storedPackages.get(v);if(!b)throw new Error("Assertion failed: The locator should have been registered");if(qc(b))return;let E;try{E=await u.fetch(b,A)}catch(R){R.message=`${kr(this.configuration,b)}: ${R.message}`,r.reportExceptionOnce(R),h=R;return}E.checksum!=null?this.storedChecksums.set(b.locatorHash,E.checksum):this.storedChecksums.delete(b.locatorHash),E.releaseFs&&E.releaseFs()}).finally(()=>{C.tick()})))}),h)throw h}async linkEverything({cache:e,report:r,fetcher:o,mode:a}){var De,Ee;let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},C=new Map(p.map(de=>{let ne=de.makeInstaller(h),Z=de.getCustomDataKey(),me=this.linkersCustomData.get(Z);return typeof me<"u"&&ne.attachCustomData(me),[de,ne]})),w=new Map,v=new Map,b=new Map,E=new Map(await _c([...this.accessibleLocators].map(async de=>{let ne=this.storedPackages.get(de);if(!ne)throw new Error("Assertion failed: The locator should have been registered");return[de,await u.fetch(ne,A)]}))),R=[];for(let de of this.accessibleLocators){let ne=this.storedPackages.get(de);if(typeof ne>"u")throw new Error("Assertion failed: The locator should have been registered");let Z=E.get(ne.locatorHash);if(typeof Z>"u")throw new Error("Assertion failed: The fetch result should have been registered");let me=[],be=H=>{me.push(H)},ut=this.tryWorkspaceByLocator(ne);if(ut!==null){let H=[],{scripts:yt}=ut.manifest;for(let Te of["preinstall","install","postinstall"])yt.has(Te)&&H.push([0,Te]);try{for(let[Te,Qe]of C)if(Te.supportsPackage(ne,h)&&(await Qe.installPackage(ne,Z,{holdFetchResult:be})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{me.length===0?(De=Z.releaseFs)==null||De.call(Z):R.push(_c(me).catch(()=>{}).then(()=>{var Te;(Te=Z.releaseFs)==null||Te.call(Z)}))}let Me=V.join(Z.packageFs.getRealPath(),Z.prefixPath);v.set(ne.locatorHash,Me),!qc(ne)&&H.length>0&&b.set(ne.locatorHash,{directives:H,buildLocations:[Me]})}else{let H=p.find(Te=>Te.supportsPackage(ne,h));if(!H)throw new Jt(12,`${kr(this.configuration,ne)} isn't supported by any available linker`);let yt=C.get(H);if(!yt)throw new Error("Assertion failed: The installer should have been registered");let Me;try{Me=await yt.installPackage(ne,Z,{holdFetchResult:be})}finally{me.length===0?(Ee=Z.releaseFs)==null||Ee.call(Z):R.push(_c(me).then(()=>{}).then(()=>{var Te;(Te=Z.releaseFs)==null||Te.call(Z)}))}w.set(ne.locatorHash,H),v.set(ne.locatorHash,Me.packageLocation),Me.buildDirective&&Me.buildDirective.length>0&&Me.packageLocation&&b.set(ne.locatorHash,{directives:Me.buildDirective,buildLocations:[Me.packageLocation]})}}let L=new Map;for(let de of this.accessibleLocators){let ne=this.storedPackages.get(de);if(!ne)throw new Error("Assertion failed: The locator should have been registered");let Z=this.tryWorkspaceByLocator(ne)!==null,me=async(be,ut)=>{let H=v.get(ne.locatorHash);if(typeof H>"u")throw new Error(`Assertion failed: The package (${kr(this.configuration,ne)}) should have been registered`);let yt=[];for(let Me of ne.dependencies.values()){let Te=this.storedResolutions.get(Me.descriptorHash);if(typeof Te>"u")throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,Me)}, from ${kr(this.configuration,ne)})should have been registered`);let Qe=this.storedPackages.get(Te);if(typeof Qe>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Ln(this.configuration,Me)}) should have been registered`);let Ue=this.tryWorkspaceByLocator(Qe)===null?w.get(Te):null;if(typeof Ue>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Ln(this.configuration,Me)}) should have been registered`);Ue===be||Ue===null?v.get(Qe.locatorHash)!==null&&yt.push([Me,Qe]):!Z&&H!==null&&Hy(L,Te).push(H)}H!==null&&await ut.attachInternalDependencies(ne,yt)};if(Z)for(let[be,ut]of C)be.supportsPackage(ne,h)&&await me(be,ut);else{let be=w.get(ne.locatorHash);if(!be)throw new Error("Assertion failed: The linker should have been found");let ut=C.get(be);if(!ut)throw new Error("Assertion failed: The installer should have been registered");await me(be,ut)}}for(let[de,ne]of L){let Z=this.storedPackages.get(de);if(!Z)throw new Error("Assertion failed: The package should have been registered");let me=w.get(Z.locatorHash);if(!me)throw new Error("Assertion failed: The linker should have been found");let be=C.get(me);if(!be)throw new Error("Assertion failed: The installer should have been registered");await be.attachExternalDependents(Z,ne)}let _=new Map;for(let[de,ne]of C){let Z=await ne.finalizeInstall();for(let me of(Z==null?void 0:Z.records)??[])b.set(me.locatorHash,{directives:me.buildDirective,buildLocations:me.buildLocations});typeof(Z==null?void 0:Z.customData)<"u"&&_.set(de.getCustomDataKey(),Z.customData)}if(this.linkersCustomData=_,await _c(R),a==="skip-build")return;let J=new Set(this.storedPackages.keys()),re=new Set(b.keys());for(let de of re)J.delete(de);let oe=(0,Ub.createHash)("sha512");oe.update(process.versions.node),await this.configuration.triggerHook(de=>de.globalHashGeneration,this,de=>{oe.update("\0"),oe.update(de)});let pe=oe.digest("hex"),he=new Map,ve=de=>{let ne=he.get(de.locatorHash);if(typeof ne<"u")return ne;let Z=this.storedPackages.get(de.locatorHash);if(typeof Z>"u")throw new Error("Assertion failed: The package should have been registered");let me=(0,Ub.createHash)("sha512");me.update(de.locatorHash),he.set(de.locatorHash,"<recursive>");for(let be of Z.dependencies.values()){let ut=this.storedResolutions.get(be.descriptorHash);if(typeof ut>"u")throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,be)}) should have been registered`);let H=this.storedPackages.get(ut);if(typeof H>"u")throw new Error("Assertion failed: The package should have been registered");me.update(ve(H))}return ne=me.digest("hex"),he.set(de.locatorHash,ne),ne},ge=(de,ne)=>{let Z=(0,Ub.createHash)("sha512");Z.update(pe),Z.update(ve(de));for(let me of ne)Z.update(me);return Z.digest("hex")},le=new Map,Pe=!1,g=de=>{let ne=new Set([de.locatorHash]);for(let Z of ne){let me=this.storedPackages.get(Z);if(!me)throw new Error("Assertion failed: The package should have been registered");for(let be of me.dependencies.values()){let ut=this.storedResolutions.get(be.descriptorHash);if(!ut)throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,be)}) should have been registered`);if(ut!==de.locatorHash&&re.has(ut))return!1;let H=this.storedPackages.get(ut);if(!H)throw new Error("Assertion failed: The package should have been registered");let yt=this.tryWorkspaceByLocator(H);if(yt){if(yt.anchoredLocator.locatorHash!==de.locatorHash&&re.has(yt.anchoredLocator.locatorHash))return!1;ne.add(yt.anchoredLocator.locatorHash)}ne.add(ut)}}return!0};for(;re.size>0;){let de=re.size,ne=[];for(let Z of re){let me=this.storedPackages.get(Z);if(!me)throw new Error("Assertion failed: The package should have been registered");if(!g(me))continue;let be=b.get(me.locatorHash);if(!be)throw new Error("Assertion failed: The build directive should have been registered");let ut=ge(me,be.buildLocations);if(this.storedBuildState.get(me.locatorHash)===ut){le.set(me.locatorHash,ut),re.delete(Z);continue}Pe||(await this.persistInstallStateFile(),Pe=!0),this.storedBuildState.has(me.locatorHash)?r.reportInfo(8,`${kr(this.configuration,me)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${kr(this.configuration,me)} must be built because it never has been before or the last one failed`);let H=be.buildLocations.map(async yt=>{if(!V.isAbsolute(yt))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${yt})`);for(let[Me,Te]of be.directives){let Qe=`# This file contains the result of Yarn building a package (${Wl(me)}) | 204 | `)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=z.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(ae.existsSync(e)){let o=await ae.readFilePromise(e,"utf8");this.lockFileChecksum=g0e(o);let a=Yi(o);if(a.__metadata){let n=a.__metadata.version,u=a.__metadata.cacheKey;this.lockfileNeedsRefresh=n<p0e;for(let A of Object.keys(a)){if(A==="__metadata")continue;let p=a[A];if(typeof p.resolution>"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);let h=kf(p.resolution,!0),E=new Nt;E.load(p,{yamlCompatibilityMode:!0});let w=E.version,v=E.languageName||r,b=p.linkType.toUpperCase(),C=p.conditions??null,R=E.dependencies,L=E.peerDependencies,_=E.dependenciesMeta,V=E.peerDependenciesMeta,re=E.bin;if(p.checksum!=null){let pe=typeof u<"u"&&!p.checksum.includes("/")?`${u}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,pe)}let oe={...h,version:w,languageName:v,linkType:b,conditions:C,dependencies:R,peerDependencies:L,dependenciesMeta:_,peerDependenciesMeta:V,bin:re};this.originalPackages.set(oe.locatorHash,oe);for(let pe of A.split(Yut)){let he=r0(pe);n<=6&&(he=this.configuration.normalizeDependency(he),he=mn(he,he.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(he.descriptorHash,he),this.storedResolutions.set(he.descriptorHash,h.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let r=e;e=[];for(let o of r){if(this.workspacesByCwd.has(o))continue;let a=await this.addWorkspace(o);for(let n of a.workspacesCwds)e.push(n)}}}async addWorkspace(e){let r=new oE(e,{project:this});await r.setup();let o=this.workspacesByIdent.get(r.locator.identHash);if(typeof o<"u")throw new Error(`Duplicate workspace name ${cs(this.configuration,r.locator)}: ${ue.fromPortablePath(e)} conflicts with ${ue.fromPortablePath(o.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){z.isAbsolute(e)||(e=z.resolve(this.cwd,e)),e=z.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let o of this.workspaces)z.relative(o.cwd,e).startsWith("../")||r&&r.cwd.length>=o.cwd.length||(r=o);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${cs(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){if(e.range.startsWith(Gn.protocol)){let o=e.range.slice(Gn.protocol.length);if(o!=="^"&&o!=="~"&&o!=="*"&&!ll(o))return this.tryWorkspaceByCwd(o)}let r=this.tryWorkspaceByIdent(e);return r===null||(Qf(e)&&(e=Yw(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Ln(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Wc(e)&&(e=Kw(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${kr(this.configuration,e)})`);return r}forgetResolution(e){let r=a=>{this.storedResolutions.delete(a),this.storedDescriptors.delete(a)},o=a=>{this.originalPackages.delete(a),this.storedPackages.delete(a),this.accessibleLocators.delete(a)};if("descriptorHash"in e){let a=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let n=new Set(this.storedResolutions.values());typeof a<"u"&&!n.has(a)&&o(a)}if("locatorHash"in e){o(e.locatorHash);for(let[a,n]of this.storedResolutions)n===e.locatorHash&&r(a)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let o;try{o=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{o=!1}o||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,o]of e.dependencies)Qf(o)&&e.dependencies.set(r,Yw(o))}getDependencyMeta(e,r){let o={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(nn(e));if(!n)return o;let u=n.get(null);if(u&&Object.assign(o,u),r===null||!m0e.default.valid(r))return o;for(let[A,p]of n)A!==null&&A===r&&Object.assign(o,p);return o}async findLocatorForLocation(e,{strict:r=!1}={}){let o=new xi,a=this.configuration.getLinkers(),n={project:this,report:o};for(let u of a){let A=await u.findPackageLocator(e,n);if(A){if(r&&(await u.findPackageLocation(A,n)).replace(h0e,"")!==e.replace(h0e,""))continue;return A}}return null}async loadUserConfig(){let e=z.join(this.cwd,"yarn.config.js");return await ae.existsPromise(e)?Vp(e):null}async preparePackage(e,{resolver:r,resolveOptions:o}){let a=this.configuration.normalizePackage(e);for(let[n,u]of a.dependencies){let A=await this.configuration.reduceHook(h=>h.reduceDependency,u,this,a,u,{resolver:r,resolveOptions:o});if(!Vw(u,A))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let p=r.bindDescriptor(A,a,o);a.dependencies.set(n,p)}return a}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),o=new nE(r);await o.setup(this,{report:e.report});let a=e.lockfileOnly?[new Wb(r)]:[o,r],n=new Pd([new iE(r),...a]),u=new Pd([...a]),A=this.configuration.makeFetcher(),p=e.lockfileOnly?{project:this,report:e.report,resolver:n}:{project:this,report:e.report,resolver:n,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:A,cacheOptions:{mirrorWriteOnly:!0}}},h=new Map,E=new Map,w=new Map,v=new Map,b=new Map,C=new Map,R=this.topLevelWorkspace.anchoredLocator,L=new Set,_=[],V=V4(),re=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Js.progressViaTitle(),async Pe=>{let g=async Z=>{let me=await Vy(async()=>await n.resolve(Z,p),H=>`${kr(this.configuration,Z)}: ${H}`);if(!Jw(Z,me))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${kr(this.configuration,Z)} to ${kr(this.configuration,me)})`);v.set(me.locatorHash,me);let be=await this.preparePackage(me,{resolver:n,resolveOptions:p}),ut=jc([...be.dependencies.values()].map(H=>ne(H)));return _.push(ut),ut.catch(()=>{}),E.set(be.locatorHash,be),be},De=async Z=>{let me=b.get(Z.locatorHash);if(typeof me<"u")return me;let be=Promise.resolve().then(()=>g(Z));return b.set(Z.locatorHash,be),be},Ce=async(Z,me)=>{let be=await ne(me);return h.set(Z.descriptorHash,Z),w.set(Z.descriptorHash,be.locatorHash),be},de=async Z=>{Pe.setTitle(Ln(this.configuration,Z));let me=this.resolutionAliases.get(Z.descriptorHash);if(typeof me<"u")return Ce(Z,this.storedDescriptors.get(me));let be=n.getResolutionDependencies(Z,p),ut=Object.fromEntries(await jc(Object.entries(be).map(async([Me,Te])=>{let Qe=n.bindDescriptor(Te,R,p),_e=await ne(Qe);return L.add(_e.locatorHash),[Me,_e]}))),yt=(await Vy(async()=>await n.getCandidates(Z,ut,p),Me=>`${Ln(this.configuration,Z)}: ${Me}`))[0];if(typeof yt>"u")throw new Vt(82,`${Ln(this.configuration,Z)}: No candidates found`);if(e.checkResolutions){let{locators:Me}=await u.getSatisfying(Z,ut,[yt],{...p,resolver:u});if(!Me.find(Te=>Te.locatorHash===yt.locatorHash))throw new Vt(78,`Invalid resolution ${qw(this.configuration,Z,yt)}`)}return h.set(Z.descriptorHash,Z),w.set(Z.descriptorHash,yt.locatorHash),De(yt)},ne=Z=>{let me=C.get(Z.descriptorHash);if(typeof me<"u")return me;h.set(Z.descriptorHash,Z);let be=Promise.resolve().then(()=>de(Z));return C.set(Z.descriptorHash,be),be};for(let Z of this.workspaces){let me=Z.anchoredDescriptor;_.push(ne(me))}for(;_.length>0;){let Z=[..._];_.length=0,await jc(Z)}});let oe=new Set(this.resolutionAliases.values()),pe=new Set(E.keys()),he=new Set,ve=new Map;zut({project:this,report:e.report,accessibleLocators:he,volatileDescriptors:oe,optionalBuilds:pe,peerRequirements:ve,allDescriptors:h,allResolutions:w,allPackages:E});for(let Pe of L)pe.delete(Pe);for(let Pe of oe)h.delete(Pe),w.delete(Pe);let ge=new Set,le=new Set;for(let Pe of E.values())Pe.conditions!=null&&(!pe.has(Pe.locatorHash)||(NP(Pe,re)||(NP(Pe,V)&&e.report.reportWarningOnce(77,`${kr(this.configuration,Pe)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Kt(this.configuration,"supportedArchitectures",Bt.SETTING)} setting`),le.add(Pe.locatorHash)),ge.add(Pe.locatorHash)));this.storedResolutions=w,this.storedDescriptors=h,this.storedPackages=E,this.accessibleLocators=he,this.conditionalLocators=ge,this.disabledLocators=le,this.originalPackages=v,this.optionalBuilds=pe,this.peerRequirements=ve}async fetchEverything({cache:e,report:r,fetcher:o,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=Array.from(new Set(Pa(this.storedResolutions.values(),[v=>{let b=this.storedPackages.get(v);if(!b)throw new Error("Assertion failed: The locator should have been registered");return Vl(b)}])));a==="update-lockfile"&&(p=p.filter(v=>!this.storedChecksums.has(v)));let h=!1,E=Js.progressViaCounter(p.length);await r.reportProgress(E);let w=(0,d0e.default)(Kut);if(await r.startCacheReport(async()=>{await jc(p.map(v=>w(async()=>{let b=this.storedPackages.get(v);if(!b)throw new Error("Assertion failed: The locator should have been registered");if(Wc(b))return;let C;try{C=await u.fetch(b,A)}catch(R){R.message=`${kr(this.configuration,b)}: ${R.message}`,r.reportExceptionOnce(R),h=R;return}C.checksum!=null?this.storedChecksums.set(b.locatorHash,C.checksum):this.storedChecksums.delete(b.locatorHash),C.releaseFs&&C.releaseFs()}).finally(()=>{E.tick()})))}),h)throw h}async linkEverything({cache:e,report:r,fetcher:o,mode:a}){var De,Ce;let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},E=new Map(p.map(de=>{let ne=de.makeInstaller(h),Z=de.getCustomDataKey(),me=this.linkersCustomData.get(Z);return typeof me<"u"&&ne.attachCustomData(me),[de,ne]})),w=new Map,v=new Map,b=new Map,C=new Map(await jc([...this.accessibleLocators].map(async de=>{let ne=this.storedPackages.get(de);if(!ne)throw new Error("Assertion failed: The locator should have been registered");return[de,await u.fetch(ne,A)]}))),R=[];for(let de of this.accessibleLocators){let ne=this.storedPackages.get(de);if(typeof ne>"u")throw new Error("Assertion failed: The locator should have been registered");let Z=C.get(ne.locatorHash);if(typeof Z>"u")throw new Error("Assertion failed: The fetch result should have been registered");let me=[],be=H=>{me.push(H)},ut=this.tryWorkspaceByLocator(ne);if(ut!==null){let H=[],{scripts:yt}=ut.manifest;for(let Te of["preinstall","install","postinstall"])yt.has(Te)&&H.push([0,Te]);try{for(let[Te,Qe]of E)if(Te.supportsPackage(ne,h)&&(await Qe.installPackage(ne,Z,{holdFetchResult:be})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{me.length===0?(De=Z.releaseFs)==null||De.call(Z):R.push(jc(me).catch(()=>{}).then(()=>{var Te;(Te=Z.releaseFs)==null||Te.call(Z)}))}let Me=z.join(Z.packageFs.getRealPath(),Z.prefixPath);v.set(ne.locatorHash,Me),!Wc(ne)&&H.length>0&&b.set(ne.locatorHash,{directives:H,buildLocations:[Me]})}else{let H=p.find(Te=>Te.supportsPackage(ne,h));if(!H)throw new Vt(12,`${kr(this.configuration,ne)} isn't supported by any available linker`);let yt=E.get(H);if(!yt)throw new Error("Assertion failed: The installer should have been registered");let Me;try{Me=await yt.installPackage(ne,Z,{holdFetchResult:be})}finally{me.length===0?(Ce=Z.releaseFs)==null||Ce.call(Z):R.push(jc(me).then(()=>{}).then(()=>{var Te;(Te=Z.releaseFs)==null||Te.call(Z)}))}w.set(ne.locatorHash,H),v.set(ne.locatorHash,Me.packageLocation),Me.buildDirective&&Me.buildDirective.length>0&&Me.packageLocation&&b.set(ne.locatorHash,{directives:Me.buildDirective,buildLocations:[Me.packageLocation]})}}let L=new Map;for(let de of this.accessibleLocators){let ne=this.storedPackages.get(de);if(!ne)throw new Error("Assertion failed: The locator should have been registered");let Z=this.tryWorkspaceByLocator(ne)!==null,me=async(be,ut)=>{let H=v.get(ne.locatorHash);if(typeof H>"u")throw new Error(`Assertion failed: The package (${kr(this.configuration,ne)}) should have been registered`);let yt=[];for(let Me of ne.dependencies.values()){let Te=this.storedResolutions.get(Me.descriptorHash);if(typeof Te>"u")throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,Me)}, from ${kr(this.configuration,ne)})should have been registered`);let Qe=this.storedPackages.get(Te);if(typeof Qe>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Ln(this.configuration,Me)}) should have been registered`);let _e=this.tryWorkspaceByLocator(Qe)===null?w.get(Te):null;if(typeof _e>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Ln(this.configuration,Me)}) should have been registered`);_e===be||_e===null?v.get(Qe.locatorHash)!==null&&yt.push([Me,Qe]):!Z&&H!==null&&Yy(L,Te).push(H)}H!==null&&await ut.attachInternalDependencies(ne,yt)};if(Z)for(let[be,ut]of E)be.supportsPackage(ne,h)&&await me(be,ut);else{let be=w.get(ne.locatorHash);if(!be)throw new Error("Assertion failed: The linker should have been found");let ut=E.get(be);if(!ut)throw new Error("Assertion failed: The installer should have been registered");await me(be,ut)}}for(let[de,ne]of L){let Z=this.storedPackages.get(de);if(!Z)throw new Error("Assertion failed: The package should have been registered");let me=w.get(Z.locatorHash);if(!me)throw new Error("Assertion failed: The linker should have been found");let be=E.get(me);if(!be)throw new Error("Assertion failed: The installer should have been registered");await be.attachExternalDependents(Z,ne)}let _=new Map;for(let[de,ne]of E){let Z=await ne.finalizeInstall();for(let me of(Z==null?void 0:Z.records)??[])b.set(me.locatorHash,{directives:me.buildDirective,buildLocations:me.buildLocations});typeof(Z==null?void 0:Z.customData)<"u"&&_.set(de.getCustomDataKey(),Z.customData)}if(this.linkersCustomData=_,await jc(R),a==="skip-build")return;let V=new Set(this.storedPackages.keys()),re=new Set(b.keys());for(let de of re)V.delete(de);let oe=(0,Yb.createHash)("sha512");oe.update(process.versions.node),await this.configuration.triggerHook(de=>de.globalHashGeneration,this,de=>{oe.update("\0"),oe.update(de)});let pe=oe.digest("hex"),he=new Map,ve=de=>{let ne=he.get(de.locatorHash);if(typeof ne<"u")return ne;let Z=this.storedPackages.get(de.locatorHash);if(typeof Z>"u")throw new Error("Assertion failed: The package should have been registered");let me=(0,Yb.createHash)("sha512");me.update(de.locatorHash),he.set(de.locatorHash,"<recursive>");for(let be of Z.dependencies.values()){let ut=this.storedResolutions.get(be.descriptorHash);if(typeof ut>"u")throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,be)}) should have been registered`);let H=this.storedPackages.get(ut);if(typeof H>"u")throw new Error("Assertion failed: The package should have been registered");me.update(ve(H))}return ne=me.digest("hex"),he.set(de.locatorHash,ne),ne},ge=(de,ne)=>{let Z=(0,Yb.createHash)("sha512");Z.update(pe),Z.update(ve(de));for(let me of ne)Z.update(me);return Z.digest("hex")},le=new Map,Pe=!1,g=de=>{let ne=new Set([de.locatorHash]);for(let Z of ne){let me=this.storedPackages.get(Z);if(!me)throw new Error("Assertion failed: The package should have been registered");for(let be of me.dependencies.values()){let ut=this.storedResolutions.get(be.descriptorHash);if(!ut)throw new Error(`Assertion failed: The resolution (${Ln(this.configuration,be)}) should have been registered`);if(ut!==de.locatorHash&&re.has(ut))return!1;let H=this.storedPackages.get(ut);if(!H)throw new Error("Assertion failed: The package should have been registered");let yt=this.tryWorkspaceByLocator(H);if(yt){if(yt.anchoredLocator.locatorHash!==de.locatorHash&&re.has(yt.anchoredLocator.locatorHash))return!1;ne.add(yt.anchoredLocator.locatorHash)}ne.add(ut)}}return!0};for(;re.size>0;){let de=re.size,ne=[];for(let Z of re){let me=this.storedPackages.get(Z);if(!me)throw new Error("Assertion failed: The package should have been registered");if(!g(me))continue;let be=b.get(me.locatorHash);if(!be)throw new Error("Assertion failed: The build directive should have been registered");let ut=ge(me,be.buildLocations);if(this.storedBuildState.get(me.locatorHash)===ut){le.set(me.locatorHash,ut),re.delete(Z);continue}Pe||(await this.persistInstallStateFile(),Pe=!0),this.storedBuildState.has(me.locatorHash)?r.reportInfo(8,`${kr(this.configuration,me)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${kr(this.configuration,me)} must be built because it never has been before or the last one failed`);let H=be.buildLocations.map(async yt=>{if(!z.isAbsolute(yt))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${yt})`);for(let[Me,Te]of be.directives){let Qe=`# This file contains the result of Yarn building a package (${Vl(me)}) |
205 | `;switch(Me){case 0:Qe+=`# Script name: ${Te} | 205 | `;switch(Me){case 0:Qe+=`# Script name: ${Te} |
206 | `;break;case 1:Qe+=`# Script code: ${Te} | 206 | `;break;case 1:Qe+=`# Script code: ${Te} |
207 | `;break}let Ue=null;if(!await ae.mktempPromise(async At=>{let Le=V.join(At,"build.log"),{stdout:x,stderr:I}=this.configuration.getSubprocessStreams(Le,{header:Qe,prefix:kr(this.configuration,me),report:r}),P;try{switch(Me){case 0:P=await Fx(me,Te,[],{cwd:yt,project:this,stdin:Ue,stdout:x,stderr:I});break;case 1:P=await wU(me,Te,[],{cwd:yt,project:this,stdin:Ue,stdout:x,stderr:I});break}}catch(F){I.write(F.stack),P=1}if(x.end(),I.end(),P===0)return!0;ae.detachTemp(At);let y=`${kr(this.configuration,me)} couldn't be built successfully (exit code ${Kt(this.configuration,P,Bt.NUMBER)}, logs can be found here: ${Kt(this.configuration,Le,Bt.PATH)})`;return this.optionalBuilds.has(me.locatorHash)?(r.reportInfo(9,y),!0):(r.reportError(9,y),!1)}))return!1}return!0});ne.push(...H,Promise.allSettled(H).then(yt=>{re.delete(Z),yt.every(Me=>Me.status==="fulfilled"&&Me.value===!0)&&le.set(me.locatorHash,ut)}))}if(await _c(ne),de===re.size){let Z=Array.from(re).map(me=>{let be=this.storedPackages.get(me);if(!be)throw new Error("Assertion failed: The package should have been registered");return kr(this.configuration,be)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${Z})`);break}}this.storedBuildState=le}async install(e){var p,h;let r=this.configuration.get("nodeLinker");(p=Xe.telemetry)==null||p.reportInstall(r);let o=!1;if(await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(C=>C.validateProject,this,{reportWarning:(C,w)=>{e.report.reportWarning(C,w)},reportError:(C,w)=>{e.report.reportError(C,w),o=!0}})}),o)return;for(let C of this.configuration.packageExtensions.values())for(let[,w]of C)for(let v of w)v.status="inactive";let a=V.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await ae.readFilePromise(a,"utf8")}catch(C){throw C.code==="ENOENT"?new Jt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):C}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,C]of this.configuration.packageExtensions)for(let[,w]of C)for(let v of w)if(v.userProvided){let b=Kt(this.configuration,v,Bt.PACKAGE_EXTENSION);switch(v.status){case"inactive":e.report.reportWarning(68,`${b}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${b}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let C=Rg(n,this.generateLockfile());if(C!==n){let w=vpe(a,a,n,C,void 0,void 0,{maxEditLength:100});if(w){e.report.reportSeparator();for(let v of w.hunks){e.report.reportInfo(null,`@@ -${v.oldStart},${v.oldLines} +${v.newStart},${v.newLines} @@`);for(let b of v.lines)b.startsWith("+")?e.report.reportError(28,Kt(this.configuration,b,Bt.ADDED)):b.startsWith("-")?e.report.reportError(28,Kt(this.configuration,b,Bt.REMOVED)):e.report.reportInfo(null,Kt(this.configuration,b,"grey"))}e.report.reportSeparator()}throw new Jt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let C of this.configuration.packageExtensions.values())for(let[,w]of C)for(let v of w)v.userProvided&&v.status==="active"&&((h=Xe.telemetry)==null||h.reportPackageExtension(hd(v,Bt.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject>"u"||e.persistProject)&&e.mode!=="update-lockfile"&&await this.cacheCleanup(e)});let u=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],A=await Promise.all(u.map(async C=>wP(C,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${Kt(this.configuration,"mode=update-lockfile",Bt.CODE)}`);return}await this.linkEverything(e);let C=await Promise.all(u.map(async w=>wP(w,{cwd:this.cwd})));for(let w=0;w<u.length;++w)A[w]!==C[w]&&e.report.reportError(64,`The checksum for ${u[w]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile(),await this.configuration.triggerHook(C=>C.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[a,n]of this.storedResolutions.entries()){let u=e.get(n);u||e.set(n,u=new Set),u.add(a)}let r={};r.__metadata={version:a0e,cacheKey:void 0};for(let[a,n]of e.entries()){let u=this.originalPackages.get(a);if(!u)continue;let A=[];for(let v of n){let b=this.storedDescriptors.get(v);if(!b)throw new Error("Assertion failed: The descriptor should have been registered");A.push(b)}let p=A.map(v=>xa(v)).sort().join(", "),h=new Nt;h.version=u.linkType==="HARD"?u.version:"0.0.0-use.local",h.languageName=u.languageName,h.dependencies=new Map(u.dependencies),h.peerDependencies=new Map(u.peerDependencies),h.dependenciesMeta=new Map(u.dependenciesMeta),h.peerDependenciesMeta=new Map(u.peerDependenciesMeta),h.bin=new Map(u.bin);let C,w=this.storedChecksums.get(u.locatorHash);if(typeof w<"u"){let v=w.indexOf("/");if(v===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let b=w.slice(0,v),E=w.slice(v+1);typeof r.__metadata.cacheKey>"u"&&(r.__metadata.cacheKey=b),b===r.__metadata.cacheKey?C=E:C=w}r[p]={...h.exportTo({},{compatibilityMode:!1}),linkType:u.linkType.toLowerCase(),resolution:Wl(u),checksum:C,conditions:u.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. | 207 | `;break}let _e=null;if(!await ae.mktempPromise(async At=>{let Oe=z.join(At,"build.log"),{stdout:x,stderr:I}=this.configuration.getSubprocessStreams(Oe,{header:Qe,prefix:kr(this.configuration,me),report:r}),P;try{switch(Me){case 0:P=await Ux(me,Te,[],{cwd:yt,project:this,stdin:_e,stdout:x,stderr:I});break;case 1:P=await BU(me,Te,[],{cwd:yt,project:this,stdin:_e,stdout:x,stderr:I});break}}catch(F){I.write(F.stack),P=1}if(x.end(),I.end(),P===0)return!0;ae.detachTemp(At);let y=`${kr(this.configuration,me)} couldn't be built successfully (exit code ${Kt(this.configuration,P,Bt.NUMBER)}, logs can be found here: ${Kt(this.configuration,Oe,Bt.PATH)})`;return this.optionalBuilds.has(me.locatorHash)?(r.reportInfo(9,y),!0):(r.reportError(9,y),!1)}))return!1}return!0});ne.push(...H,Promise.allSettled(H).then(yt=>{re.delete(Z),yt.every(Me=>Me.status==="fulfilled"&&Me.value===!0)&&le.set(me.locatorHash,ut)}))}if(await jc(ne),de===re.size){let Z=Array.from(re).map(me=>{let be=this.storedPackages.get(me);if(!be)throw new Error("Assertion failed: The package should have been registered");return kr(this.configuration,be)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${Z})`);break}}this.storedBuildState=le}async install(e){var h,E;let r=this.configuration.get("nodeLinker");(h=Xe.telemetry)==null||h.reportInstall(r);let o=!1;if(await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(w=>w.validateProject,this,{reportWarning:(w,v)=>{e.report.reportWarning(w,v)},reportError:(w,v)=>{e.report.reportError(w,v),o=!0}})}),o)return;for(let w of this.configuration.packageExtensions.values())for(let[,v]of w)for(let b of v)b.status="inactive";let a=z.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await ae.readFilePromise(a,"utf8")}catch(w){throw w.code==="ENOENT"?new Vt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):w}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,w]of this.configuration.packageExtensions)for(let[,v]of w)for(let b of v)if(b.userProvided){let C=Kt(this.configuration,b,Bt.PACKAGE_EXTENSION);switch(b.status){case"inactive":e.report.reportWarning(68,`${C}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${C}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let w=Lg(n,this.generateLockfile());if(w!==n){let v=Qpe(a,a,n,w,void 0,void 0,{maxEditLength:100});if(v){e.report.reportSeparator();for(let b of v.hunks){e.report.reportInfo(null,`@@ -${b.oldStart},${b.oldLines} +${b.newStart},${b.newLines} @@`);for(let C of b.lines)C.startsWith("+")?e.report.reportError(28,Kt(this.configuration,C,Bt.ADDED)):C.startsWith("-")?e.report.reportError(28,Kt(this.configuration,C,Bt.REMOVED)):e.report.reportInfo(null,Kt(this.configuration,C,"grey"))}e.report.reportSeparator()}throw new Vt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let w of this.configuration.packageExtensions.values())for(let[,v]of w)for(let b of v)b.userProvided&&b.status==="active"&&((E=Xe.telemetry)==null||E.reportPackageExtension(md(b,Bt.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject>"u"||e.persistProject)&&e.mode!=="update-lockfile"&&await this.cacheCleanup(e)});let u=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],A=await Promise.all(u.map(async w=>bP(w,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${Kt(this.configuration,"mode=update-lockfile",Bt.CODE)}`);return}await this.linkEverything(e);let w=await Promise.all(u.map(async v=>bP(v,{cwd:this.cwd})));for(let v=0;v<u.length;++v)A[v]!==w[v]&&e.report.reportError(64,`The checksum for ${u[v]} has been modified by this install, which is explicitly forbidden.`)}),await this.persistInstallStateFile();let p=!1;await e.report.startTimerPromise("Post-install validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(w=>w.validateProjectAfterInstall,this,{reportWarning:(w,v)=>{e.report.reportWarning(w,v)},reportError:(w,v)=>{e.report.reportError(w,v),p=!0}})}),!p&&await this.configuration.triggerHook(w=>w.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[a,n]of this.storedResolutions.entries()){let u=e.get(n);u||e.set(n,u=new Set),u.add(a)}let r={};r.__metadata={version:p0e,cacheKey:void 0};for(let[a,n]of e.entries()){let u=this.originalPackages.get(a);if(!u)continue;let A=[];for(let v of n){let b=this.storedDescriptors.get(v);if(!b)throw new Error("Assertion failed: The descriptor should have been registered");A.push(b)}let p=A.map(v=>ba(v)).sort().join(", "),h=new Nt;h.version=u.linkType==="HARD"?u.version:"0.0.0-use.local",h.languageName=u.languageName,h.dependencies=new Map(u.dependencies),h.peerDependencies=new Map(u.peerDependencies),h.dependenciesMeta=new Map(u.dependenciesMeta),h.peerDependenciesMeta=new Map(u.peerDependenciesMeta),h.bin=new Map(u.bin);let E,w=this.storedChecksums.get(u.locatorHash);if(typeof w<"u"){let v=w.indexOf("/");if(v===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let b=w.slice(0,v),C=w.slice(v+1);typeof r.__metadata.cacheKey>"u"&&(r.__metadata.cacheKey=b),b===r.__metadata.cacheKey?E=C:E=w}r[p]={...h.exportTo({},{compatibilityMode:!1}),linkType:u.linkType.toLowerCase(),resolution:Vl(u),checksum:E,conditions:u.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. |
208 | `,`# Manual changes might be lost - proceed with caution! | 208 | `,`# Manual changes might be lost - proceed with caution! |
209 | `].join("")} | 209 | `].join("")} |
210 | `+Ia(r)}async persistLockfile(){let e=V.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await ae.readFilePromise(e,"utf8")}catch{}let o=this.generateLockfile(),a=Rg(r,o);a!==r&&(await ae.writeFilePromise(e,a),this.lockFileChecksum=c0e(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let u of Object.values(B_))e.push(...u);let r=(0,_b.default)(this,e),o=v_.default.serialize(r),a=Js(o);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await ae.mkdirPromise(V.dirname(n),{recursive:!0}),await ae.writeFilePromise(n,await Out(o)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:o=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let u=await Mut(await ae.readFilePromise(a));n=v_.default.deserialize(u),this.installStateChecksum=Js(u)}catch{r&&await this.applyLightResolution();return}e&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),o&&Object.assign(this,(0,_b.default)(n,B_.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,(0,_b.default)(n,B_.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new xi}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return;let o=new Set([".gitignore"]);if(!xM(e.cwd,this.cwd)||!await ae.existsPromise(e.cwd))return;let a=this.configuration.get("preferAggregateCacheInfo"),n=0,u=null;for(let A of await ae.readdirPromise(e.cwd)){if(o.has(A))continue;let p=V.resolve(e.cwd,A);e.markedFiles.has(p)||(u=A,e.immutable?r.reportError(56,`${Kt(this.configuration,V.basename(p),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(a?n+=1:r.reportInfo(19,`${Kt(this.configuration,V.basename(p),"magenta")} appears to be unused - removing`),await ae.removePromise(p)))}a&&n!==0&&r.reportInfo(19,n>1?`${n} packages appeared to be unused and were removed`:`${u} appeared to be unused and was removed`)}}});var rC,p0e=dt(()=>{bt();e0();cx();Gl();rC=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let o=this.getRegistryPath();this.isNew=!ae.existsSync(o),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"<none>")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,r){pd(this.values,e).add(r)}reportEnumerator(e,r){pd(this.enumerators,e).add(Js(r))}reportHit(e,r="*"){let o=qy(this.hits,e),a=Bf(o,r,()=>0);o.set(r,a+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return V.join(e,"telemetry.json")}sendReport(e){let r=this.getRegistryPath(),o;try{o=ae.readJsonSync(r)}catch{o={}}let a=Date.now(),n=this.configuration.get("telemetryInterval")*24*60*60*1e3,A=(o.lastUpdate??a+n+Math.floor(n*Math.random()))+n;if(A>a&&o.lastUpdate!=null)return;try{ae.mkdirSync(V.dirname(r),{recursive:!0}),ae.writeJsonSync(r,{lastUpdate:a})}catch{return}if(A>a||!o.blocks)return;let p=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,h=C=>W4(p,C,{configuration:this.configuration}).catch(()=>{});for(let[C,w]of Object.entries(o.blocks??{})){if(Object.keys(w).length===0)continue;let v=w;v.userId=C,v.reportType="primary";for(let R of Object.keys(v.enumerators??{}))v.enumerators[R]=v.enumerators[R].length;h(v);let b=new Map,E=20;for(let[R,L]of Object.entries(v.values))L.length>0&&b.set(R,L.slice(0,E));for(;b.size>0;){let R={};R.userId=C,R.reportType="secondary",R.metrics={};for(let[L,_]of b)R.metrics[L]=_.shift(),_.length===0&&b.delete(L);h(R)}}}applyChanges(){let e=this.getRegistryPath(),r;try{r=ae.readJsonSync(e)}catch{r={}}let o=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[o]=a[o]??{};for(let u of this.hits.keys()){let A=n.hits=n.hits??{},p=A[u]=A[u]??{};for(let[h,C]of this.hits.get(u))p[h]=(p[h]??0)+C}for(let u of["values","enumerators"])for(let A of this[u].keys()){let p=n[u]=n[u]??{};p[A]=[...new Set([...p[A]??[],...this[u].get(A)??[]])]}ae.mkdirSync(V.dirname(e),{recursive:!0}),ae.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var _1={};Yt(_1,{BuildType:()=>Nb,Cache:()=>Ur,Configuration:()=>Xe,DEFAULT_LOCK_FILENAME:()=>$4,DEFAULT_RC_FILENAME:()=>Z4,FormatType:()=>rce,InstallMode:()=>fl,LegacyMigrationResolver:()=>ZE,LightReport:()=>fA,LinkType:()=>Wy,LockfileResolver:()=>$E,Manifest:()=>Nt,MessageName:()=>dr,MultiFetcher:()=>aE,PackageExtensionStatus:()=>dL,PackageExtensionType:()=>gL,Project:()=>St,ProjectLookup:()=>rU,Report:()=>Vs,ReportError:()=>Jt,SettingsType:()=>f1,StreamReport:()=>Ct,TAG_REGEXP:()=>DE,TelemetryManager:()=>rC,ThrowReport:()=>xi,VirtualFetcher:()=>lE,WindowsLinkType:()=>dx,Workspace:()=>tC,WorkspaceFetcher:()=>uE,WorkspaceResolver:()=>oi,YarnVersion:()=>On,execUtils:()=>Mr,folderUtils:()=>FP,formatUtils:()=>ye,hashUtils:()=>bn,httpUtils:()=>ln,miscUtils:()=>Ye,nodeUtils:()=>As,parseMessageName:()=>YD,scriptUtils:()=>sn,semverUtils:()=>Tr,stringifyMessageName:()=>Ku,structUtils:()=>Y,tgzUtils:()=>Vi,treeUtils:()=>Xo});var Ke=dt(()=>{Ax();RP();Yl();e0();cx();Gl();A1();vU();r0();Ks();cpe();dpe();ype();p1();p1();Epe();a_();Cpe();l_();sE();KD();mM();f0e();Jl();kx();p0e();I_();EM();CM();wd();w_();IU();yne()});var E0e=U((H3t,q1)=>{"use strict";var qut=process.env.TERM_PROGRAM==="Hyper",jut=process.platform==="win32",d0e=process.platform==="linux",b_={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},m0e=Object.assign({},b_,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),y0e=Object.assign({},b_,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:d0e?"\u25B8":"\u276F",pointerSmall:d0e?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});q1.exports=jut&&!qut?m0e:y0e;Reflect.defineProperty(q1.exports,"common",{enumerable:!1,value:b_});Reflect.defineProperty(q1.exports,"windows",{enumerable:!1,value:m0e});Reflect.defineProperty(q1.exports,"other",{enumerable:!1,value:y0e})});var Vc=U((q3t,Q_)=>{"use strict";var Gut=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),Wut=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,C0e=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=n=>{let u=n.open=`\x1B[${n.codes[0]}m`,A=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,C)=>{h.includes(A)&&(h=h.replace(p,A+u));let w=u+h+A;return C?w.replace(/\r*\n/g,`${A}$&${u}`):w},n},r=(n,u,A)=>typeof n=="function"?n(u):n.wrap(u,A),o=(n,u)=>{if(n===""||n==null)return"";if(t.enabled===!1)return n;if(t.visible===!1)return"";let A=""+n,p=A.includes(` | 210 | `+wa(r)}async persistLockfile(){let e=z.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await ae.readFilePromise(e,"utf8")}catch{}let o=this.generateLockfile(),a=Lg(r,o);a!==r&&(await ae.writeFilePromise(e,a),this.lockFileChecksum=g0e(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let u of Object.values(v_))e.push(...u);let r=(0,Kb.default)(this,e),o=D_.default.serialize(r),a=Vs(o);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await ae.mkdirPromise(z.dirname(n),{recursive:!0}),await ae.writeFilePromise(n,await Vut(o)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:o=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let u=await Jut(await ae.readFilePromise(a));n=D_.default.deserialize(u),this.installStateChecksum=Vs(u)}catch{r&&await this.applyLightResolution();return}e&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),o&&Object.assign(this,(0,Kb.default)(n,v_.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,(0,Kb.default)(n,v_.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new xi}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return;let o=new Set([".gitignore"]);if(!bM(e.cwd,this.cwd)||!await ae.existsPromise(e.cwd))return;let a=this.configuration.get("preferAggregateCacheInfo"),n=0,u=null;for(let A of await ae.readdirPromise(e.cwd)){if(o.has(A))continue;let p=z.resolve(e.cwd,A);e.markedFiles.has(p)||(u=A,e.immutable?r.reportError(56,`${Kt(this.configuration,z.basename(p),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(a?n+=1:r.reportInfo(19,`${Kt(this.configuration,z.basename(p),"magenta")} appears to be unused - removing`),await ae.removePromise(p)))}a&&n!==0&&r.reportInfo(19,n>1?`${n} packages appeared to be unused and were removed`:`${u} appeared to be unused and was removed`)}}});var aE,C0e=dt(()=>{bt();t0();dx();Kl();aE=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let o=this.getRegistryPath();this.isNew=!ae.existsSync(o),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"<none>")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,r){dd(this.values,e).add(r)}reportEnumerator(e,r){dd(this.enumerators,e).add(Vs(r))}reportHit(e,r="*"){let o=Ky(this.hits,e),a=Df(o,r,()=>0);o.set(r,a+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return z.join(e,"telemetry.json")}sendReport(e){let r=this.getRegistryPath(),o;try{o=ae.readJsonSync(r)}catch{o={}}let a=Date.now(),n=this.configuration.get("telemetryInterval")*24*60*60*1e3,A=(o.lastUpdate??a+n+Math.floor(n*Math.random()))+n;if(A>a&&o.lastUpdate!=null)return;try{ae.mkdirSync(z.dirname(r),{recursive:!0}),ae.writeJsonSync(r,{lastUpdate:a})}catch{return}if(A>a||!o.blocks)return;let p=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,h=E=>Y4(p,E,{configuration:this.configuration}).catch(()=>{});for(let[E,w]of Object.entries(o.blocks??{})){if(Object.keys(w).length===0)continue;let v=w;v.userId=E,v.reportType="primary";for(let R of Object.keys(v.enumerators??{}))v.enumerators[R]=v.enumerators[R].length;h(v);let b=new Map,C=20;for(let[R,L]of Object.entries(v.values))L.length>0&&b.set(R,L.slice(0,C));for(;b.size>0;){let R={};R.userId=E,R.reportType="secondary",R.metrics={};for(let[L,_]of b)R.metrics[L]=_.shift(),_.length===0&&b.delete(L);h(R)}}}applyChanges(){let e=this.getRegistryPath(),r;try{r=ae.readJsonSync(e)}catch{r={}}let o=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[o]=a[o]??{};for(let u of this.hits.keys()){let A=n.hits=n.hits??{},p=A[u]=A[u]??{};for(let[h,E]of this.hits.get(u))p[h]=(p[h]??0)+E}for(let u of["values","enumerators"])for(let A of this[u].keys()){let p=n[u]=n[u]??{};p[A]=[...new Set([...p[A]??[],...this[u].get(A)??[]])]}ae.mkdirSync(z.dirname(e),{recursive:!0}),ae.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var G1={};Yt(G1,{BuildType:()=>qb,Cache:()=>Ur,Configuration:()=>Xe,DEFAULT_LOCK_FILENAME:()=>eU,DEFAULT_RC_FILENAME:()=>$4,FormatType:()=>lce,InstallMode:()=>gl,LegacyMigrationResolver:()=>nE,LightReport:()=>pA,LinkType:()=>zy,LockfileResolver:()=>iE,Manifest:()=>Nt,MessageName:()=>dr,MultiFetcher:()=>fC,PackageExtensionStatus:()=>mL,PackageExtensionType:()=>dL,Project:()=>St,ProjectLookup:()=>nU,Report:()=>Js,ReportError:()=>Vt,SettingsType:()=>d1,StreamReport:()=>Et,TAG_REGEXP:()=>QC,TelemetryManager:()=>aE,ThrowReport:()=>xi,VirtualFetcher:()=>pC,WindowsLinkType:()=>Bx,Workspace:()=>oE,WorkspaceFetcher:()=>gC,WorkspaceResolver:()=>Gn,YarnVersion:()=>On,execUtils:()=>Mr,folderUtils:()=>UP,formatUtils:()=>ye,hashUtils:()=>bn,httpUtils:()=>ln,miscUtils:()=>Ye,nodeUtils:()=>As,parseMessageName:()=>$D,scriptUtils:()=>sn,semverUtils:()=>Tr,stringifyMessageName:()=>Vu,structUtils:()=>Y,tgzUtils:()=>Ji,treeUtils:()=>Zo});var Ke=dt(()=>{yx();_P();Jl();t0();dx();Kl();g1();DU();n0();Ks();gpe();wpe();vpe();m1();m1();Dpe();l_();Spe();c_();uC();eS();yM();y0e();Xl();Mx();C0e();w_();EM();IM();Dd();B_();wU();vne()});var D0e=U(($3t,Y1)=>{"use strict";var $ut=process.env.TERM_PROGRAM==="Hyper",eAt=process.platform==="win32",w0e=process.platform==="linux",Q_={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},B0e=Object.assign({},Q_,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),v0e=Object.assign({},Q_,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:w0e?"\u25B8":"\u276F",pointerSmall:w0e?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});Y1.exports=eAt&&!$ut?B0e:v0e;Reflect.defineProperty(Y1.exports,"common",{enumerable:!1,value:Q_});Reflect.defineProperty(Y1.exports,"windows",{enumerable:!1,value:B0e});Reflect.defineProperty(Y1.exports,"other",{enumerable:!1,value:v0e})});var Xc=U((e_t,k_)=>{"use strict";var tAt=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),rAt=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,S0e=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=n=>{let u=n.open=`\x1B[${n.codes[0]}m`,A=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,E)=>{h.includes(A)&&(h=h.replace(p,A+u));let w=u+h+A;return E?w.replace(/\r*\n/g,`${A}$&${u}`):w},n},r=(n,u,A)=>typeof n=="function"?n(u):n.wrap(u,A),o=(n,u)=>{if(n===""||n==null)return"";if(t.enabled===!1)return n;if(t.visible===!1)return"";let A=""+n,p=A.includes(` |
211 | `),h=u.length;for(h>0&&u.includes("unstyle")&&(u=[...new Set(["unstyle",...u])].reverse());h-- >0;)A=r(t.styles[u[h]],A,p);return A},a=(n,u,A)=>{t.styles[n]=e({name:n,codes:u}),(t.keys[A]||(t.keys[A]=[])).push(n),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(h){t.alias(n,h)},get(){let h=C=>o(C,h.stack);return Reflect.setPrototypeOf(h,t),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=Wut,t.hasColor=t.hasAnsi=n=>(t.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&t.ansiRegex.test(n)),t.alias=(n,u)=>{let A=typeof u=="string"?t[u]:u;if(typeof A!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");A.stack||(Reflect.defineProperty(A,"name",{value:n}),t.styles[n]=A,A.stack=[n]),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(p){t.alias(n,p)},get(){let p=h=>o(h,p.stack);return Reflect.setPrototypeOf(p,t),p.stack=this.stack?this.stack.concat(A.stack):A.stack,p}})},t.theme=n=>{if(!Gut(n))throw new TypeError("Expected theme to be an object");for(let u of Object.keys(n))t.alias(u,n[u]);return t},t.alias("unstyle",n=>typeof n=="string"&&n!==""?(t.ansiRegex.lastIndex=0,n.replace(t.ansiRegex,"")):""),t.alias("noop",n=>n),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=E0e(),t.define=a,t};Q_.exports=C0e();Q_.exports.create=C0e});var Fo=U($r=>{"use strict";var Yut=Object.prototype.toString,ic=Vc(),I0e=!1,k_=[],w0e={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};$r.longest=(t,e)=>t.reduce((r,o)=>Math.max(r,e?o[e].length:o.length),0);$r.hasColor=t=>!!t&&ic.hasColor(t);var jb=$r.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);$r.nativeType=t=>Yut.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");$r.isAsyncFn=t=>$r.nativeType(t)==="asyncfunction";$r.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";$r.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;$r.scrollDown=(t=[])=>[...t.slice(1),t[0]];$r.scrollUp=(t=[])=>[t.pop(),...t];$r.reorder=(t=[])=>{let e=t.slice();return e.sort((r,o)=>r.index>o.index?1:r.index<o.index?-1:0),e};$r.swap=(t,e,r)=>{let o=t.length,a=r===o?0:r<0?o-1:r,n=t[e];t[e]=t[a],t[a]=n};$r.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};$r.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};$r.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:o=` | 211 | `),h=u.length;for(h>0&&u.includes("unstyle")&&(u=[...new Set(["unstyle",...u])].reverse());h-- >0;)A=r(t.styles[u[h]],A,p);return A},a=(n,u,A)=>{t.styles[n]=e({name:n,codes:u}),(t.keys[A]||(t.keys[A]=[])).push(n),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(h){t.alias(n,h)},get(){let h=E=>o(E,h.stack);return Reflect.setPrototypeOf(h,t),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=rAt,t.hasColor=t.hasAnsi=n=>(t.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&t.ansiRegex.test(n)),t.alias=(n,u)=>{let A=typeof u=="string"?t[u]:u;if(typeof A!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");A.stack||(Reflect.defineProperty(A,"name",{value:n}),t.styles[n]=A,A.stack=[n]),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(p){t.alias(n,p)},get(){let p=h=>o(h,p.stack);return Reflect.setPrototypeOf(p,t),p.stack=this.stack?this.stack.concat(A.stack):A.stack,p}})},t.theme=n=>{if(!tAt(n))throw new TypeError("Expected theme to be an object");for(let u of Object.keys(n))t.alias(u,n[u]);return t},t.alias("unstyle",n=>typeof n=="string"&&n!==""?(t.ansiRegex.lastIndex=0,n.replace(t.ansiRegex,"")):""),t.alias("noop",n=>n),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=D0e(),t.define=a,t};k_.exports=S0e();k_.exports.create=S0e});var Fo=U($r=>{"use strict";var nAt=Object.prototype.toString,ac=Xc(),P0e=!1,F_=[],x0e={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};$r.longest=(t,e)=>t.reduce((r,o)=>Math.max(r,e?o[e].length:o.length),0);$r.hasColor=t=>!!t&&ac.hasColor(t);var zb=$r.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);$r.nativeType=t=>nAt.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");$r.isAsyncFn=t=>$r.nativeType(t)==="asyncfunction";$r.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";$r.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;$r.scrollDown=(t=[])=>[...t.slice(1),t[0]];$r.scrollUp=(t=[])=>[t.pop(),...t];$r.reorder=(t=[])=>{let e=t.slice();return e.sort((r,o)=>r.index>o.index?1:r.index<o.index?-1:0),e};$r.swap=(t,e,r)=>{let o=t.length,a=r===o?0:r<0?o-1:r,n=t[e];t[e]=t[a],t[a]=n};$r.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};$r.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};$r.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:o=` |
212 | `+r,width:a=80}=e,n=(o+r).match(/[^\S\n]/g)||[];a-=n.length;let u=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,A=t.trim(),p=new RegExp(u,"g"),h=A.match(p)||[];return h=h.map(C=>C.replace(/\n$/,"")),e.padEnd&&(h=h.map(C=>C.padEnd(a," "))),e.padStart&&(h=h.map(C=>C.padStart(a," "))),r+h.join(o)};$r.unmute=t=>{let e=t.stack.find(o=>ic.keys.color.includes(o));return e?ic[e]:t.stack.find(o=>o.slice(2)==="bg")?ic[e.slice(2)]:o=>o};$r.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";$r.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ic.keys.color.includes(o));if(e){let o=ic["bg"+$r.pascal(e)];return o?o.black:t}let r=t.stack.find(o=>o.slice(0,2)==="bg");return r?ic[r.slice(2).toLowerCase()]||t:ic.none};$r.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ic.keys.color.includes(o)),r=t.stack.find(o=>o.slice(0,2)==="bg");if(e&&!r)return ic[w0e[e]||e];if(r){let o=r.slice(2).toLowerCase(),a=w0e[o];return a&&ic["bg"+$r.pascal(a)]||t}return ic.none};$r.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),o=e>=12?"pm":"am";e=e%12;let a=e===0?12:e,n=r<10?"0"+r:r;return a+":"+n+" "+o};$r.set=(t={},e="",r)=>e.split(".").reduce((o,a,n,u)=>{let A=u.length-1>n?o[a]||{}:r;return!$r.isObject(A)&&n<u.length-1&&(A={}),o[a]=A},t);$r.get=(t={},e="",r)=>{let o=t[e]==null?e.split(".").reduce((a,n)=>a&&a[n],t):t[e];return o??r};$r.mixin=(t,e)=>{if(!jb(t))return e;if(!jb(e))return t;for(let r of Object.keys(e)){let o=Object.getOwnPropertyDescriptor(e,r);if(o.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&jb(o.value)){let a=Object.getOwnPropertyDescriptor(t,r);jb(a.value)?t[r]=$r.merge({},t[r],e[r]):Reflect.defineProperty(t,r,o)}else Reflect.defineProperty(t,r,o);else Reflect.defineProperty(t,r,o)}return t};$r.merge=(...t)=>{let e={};for(let r of t)$r.mixin(e,r);return e};$r.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let o of Object.keys(r)){let a=r[o];typeof a=="function"?$r.define(t,o,a.bind(e)):$r.define(t,o,a)}};$r.onExit=t=>{let e=(r,o)=>{I0e||(I0e=!0,k_.forEach(a=>a()),r===!0&&process.exit(128+o))};k_.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),k_.push(t)};$r.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};$r.defineExport=(t,e,r)=>{let o;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(a){o=a},get(){return o?o():r()}})}});var B0e=U(sC=>{"use strict";sC.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};sC.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};sC.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};sC.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};sC.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var S0e=U((W3t,D0e)=>{"use strict";var v0e=Ie("readline"),Kut=B0e(),Jut=/^(?:\x1b)([a-zA-Z0-9])$/,Vut=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,zut={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function Xut(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function Zut(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var Gb=(t="",e={})=>{let r,o={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=o.sequence||""),o.sequence=o.sequence||t||o.name,t==="\r")o.raw=void 0,o.name="return";else if(t===` | 212 | `+r,width:a=80}=e,n=(o+r).match(/[^\S\n]/g)||[];a-=n.length;let u=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,A=t.trim(),p=new RegExp(u,"g"),h=A.match(p)||[];return h=h.map(E=>E.replace(/\n$/,"")),e.padEnd&&(h=h.map(E=>E.padEnd(a," "))),e.padStart&&(h=h.map(E=>E.padStart(a," "))),r+h.join(o)};$r.unmute=t=>{let e=t.stack.find(o=>ac.keys.color.includes(o));return e?ac[e]:t.stack.find(o=>o.slice(2)==="bg")?ac[e.slice(2)]:o=>o};$r.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";$r.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ac.keys.color.includes(o));if(e){let o=ac["bg"+$r.pascal(e)];return o?o.black:t}let r=t.stack.find(o=>o.slice(0,2)==="bg");return r?ac[r.slice(2).toLowerCase()]||t:ac.none};$r.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>ac.keys.color.includes(o)),r=t.stack.find(o=>o.slice(0,2)==="bg");if(e&&!r)return ac[x0e[e]||e];if(r){let o=r.slice(2).toLowerCase(),a=x0e[o];return a&&ac["bg"+$r.pascal(a)]||t}return ac.none};$r.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),o=e>=12?"pm":"am";e=e%12;let a=e===0?12:e,n=r<10?"0"+r:r;return a+":"+n+" "+o};$r.set=(t={},e="",r)=>e.split(".").reduce((o,a,n,u)=>{let A=u.length-1>n?o[a]||{}:r;return!$r.isObject(A)&&n<u.length-1&&(A={}),o[a]=A},t);$r.get=(t={},e="",r)=>{let o=t[e]==null?e.split(".").reduce((a,n)=>a&&a[n],t):t[e];return o??r};$r.mixin=(t,e)=>{if(!zb(t))return e;if(!zb(e))return t;for(let r of Object.keys(e)){let o=Object.getOwnPropertyDescriptor(e,r);if(o.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&zb(o.value)){let a=Object.getOwnPropertyDescriptor(t,r);zb(a.value)?t[r]=$r.merge({},t[r],e[r]):Reflect.defineProperty(t,r,o)}else Reflect.defineProperty(t,r,o);else Reflect.defineProperty(t,r,o)}return t};$r.merge=(...t)=>{let e={};for(let r of t)$r.mixin(e,r);return e};$r.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let o of Object.keys(r)){let a=r[o];typeof a=="function"?$r.define(t,o,a.bind(e)):$r.define(t,o,a)}};$r.onExit=t=>{let e=(r,o)=>{P0e||(P0e=!0,F_.forEach(a=>a()),r===!0&&process.exit(128+o))};F_.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),F_.push(t)};$r.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};$r.defineExport=(t,e,r)=>{let o;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(a){o=a},get(){return o?o():r()}})}});var b0e=U(uE=>{"use strict";uE.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};uE.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};uE.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};uE.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};uE.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var F0e=U((n_t,k0e)=>{"use strict";var Q0e=Ie("readline"),iAt=b0e(),sAt=/^(?:\x1b)([a-zA-Z0-9])$/,oAt=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,aAt={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function lAt(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function cAt(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var Xb=(t="",e={})=>{let r,o={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=o.sequence||""),o.sequence=o.sequence||t||o.name,t==="\r")o.raw=void 0,o.name="return";else if(t===` |
213 | `)o.name="enter";else if(t===" ")o.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x1B\x7F"||t==="\x1B\b")o.name="backspace",o.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")o.name="escape",o.meta=t.length===2;else if(t===" "||t==="\x1B ")o.name="space",o.meta=t.length===2;else if(t<="")o.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),o.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")o.name="number";else if(t.length===1&&t>="a"&&t<="z")o.name=t;else if(t.length===1&&t>="A"&&t<="Z")o.name=t.toLowerCase(),o.shift=!0;else if(r=Jut.exec(t))o.meta=!0,o.shift=/^[A-Z]$/.test(r[1]);else if(r=Vut.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(o.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),u=(r[3]||r[5]||1)-1;o.ctrl=!!(u&4),o.meta=!!(u&10),o.shift=!!(u&1),o.code=n,o.name=zut[n],o.shift=Xut(n)||o.shift,o.ctrl=Zut(n)||o.ctrl}return o};Gb.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let o=v0e.createInterface({terminal:!0,input:r});v0e.emitKeypressEvents(r,o);let a=(A,p)=>e(A,Gb(A,p),o),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),o.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),o.pause(),o.close()}};Gb.action=(t,e,r)=>{let o={...Kut,...r};return e.ctrl?(e.action=o.ctrl[e.name],e):e.option&&o.option?(e.action=o.option[e.name],e):e.shift?(e.action=o.shift[e.name],e):(e.action=o.keys[e.name],e)};D0e.exports=Gb});var x0e=U((Y3t,P0e)=>{"use strict";P0e.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let o=e[r];typeof o=="number"&&(o={interval:o}),$ut(t,r,o)}};function $ut(t,e,r={}){let o=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},a=r.interval||120;o.frames=r.frames||[],o.loading=!0;let n=setInterval(()=>{o.ms=Date.now()-o.start,o.tick++,t.render()},a);return o.stop=()=>{o.loading=!1,clearInterval(n)},Reflect.defineProperty(o,"interval",{value:n}),t.once("close",()=>o.stop()),o.stop}});var Q0e=U((K3t,b0e)=>{"use strict";var{define:eAt,width:tAt}=Fo(),F_=class{constructor(e){let r=e.options;eAt(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=tAt(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};b0e.exports=F_});var F0e=U((J3t,k0e)=>{"use strict";var R_=Fo(),Xs=Vc(),T_={default:Xs.noop,noop:Xs.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||R_.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||R_.complement(this.primary)},primary:Xs.cyan,success:Xs.green,danger:Xs.magenta,strong:Xs.bold,warning:Xs.yellow,muted:Xs.dim,disabled:Xs.gray,dark:Xs.dim.gray,underline:Xs.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};T_.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Xs.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Xs.visible=t.styles.visible);let e=R_.merge({},T_,t.styles);delete e.merge;for(let r of Object.keys(Xs))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Xs[r]});for(let r of Object.keys(Xs.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Xs[r]});return e};k0e.exports=T_});var T0e=U((V3t,R0e)=>{"use strict";var N_=process.platform==="win32",Wf=Vc(),rAt=Fo(),L_={...Wf.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Wf.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Wf.symbols.question,submitted:Wf.symbols.check,cancelled:Wf.symbols.cross},separator:{pending:Wf.symbols.pointerSmall,submitted:Wf.symbols.middot,cancelled:Wf.symbols.middot},radio:{off:N_?"( )":"\u25EF",on:N_?"(*)":"\u25C9",disabled:N_?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};L_.merge=t=>{let e=rAt.merge({},Wf.symbols,L_,t.symbols);return delete e.merge,e};R0e.exports=L_});var L0e=U((z3t,N0e)=>{"use strict";var nAt=F0e(),iAt=T0e(),sAt=Fo();N0e.exports=t=>{t.options=sAt.merge({},t.options.theme,t.options),t.symbols=iAt.merge(t.options),t.styles=nAt.merge(t.options)}});var H0e=U((U0e,_0e)=>{"use strict";var O0e=process.env.TERM_PROGRAM==="Apple_Terminal",oAt=Vc(),O_=Fo(),zc=_0e.exports=U0e,Bi="\x1B[",M0e="\x07",M_=!1,B0=zc.code={bell:M0e,beep:M0e,beginning:`${Bi}G`,down:`${Bi}J`,esc:Bi,getPosition:`${Bi}6n`,hide:`${Bi}?25l`,line:`${Bi}2K`,lineEnd:`${Bi}K`,lineStart:`${Bi}1K`,restorePosition:Bi+(O0e?"8":"u"),savePosition:Bi+(O0e?"7":"s"),screen:`${Bi}2J`,show:`${Bi}?25h`,up:`${Bi}1J`},jd=zc.cursor={get hidden(){return M_},hide(){return M_=!0,B0.hide},show(){return M_=!1,B0.show},forward:(t=1)=>`${Bi}${t}C`,backward:(t=1)=>`${Bi}${t}D`,nextLine:(t=1)=>`${Bi}E`.repeat(t),prevLine:(t=1)=>`${Bi}F`.repeat(t),up:(t=1)=>t?`${Bi}${t}A`:"",down:(t=1)=>t?`${Bi}${t}B`:"",right:(t=1)=>t?`${Bi}${t}C`:"",left:(t=1)=>t?`${Bi}${t}D`:"",to(t,e){return e?`${Bi}${e+1};${t+1}H`:`${Bi}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?jd.left(-t):t>0?jd.right(t):"",r+=e<0?jd.up(-e):e>0?jd.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:o,input:a,prompt:n,size:u,value:A}=t;if(o=O_.isPrimitive(o)?String(o):"",a=O_.isPrimitive(a)?String(a):"",A=O_.isPrimitive(A)?String(A):"",u){let p=zc.cursor.up(u)+zc.cursor.to(n.length),h=a.length-r;return h>0&&(p+=zc.cursor.left(h)),p}if(A||e){let p=!a&&!!o?-o.length:-a.length+r;return e&&(p-=e.length),a===""&&o&&!n.includes(o)&&(p+=o.length),zc.cursor.move(p)}}},U_=zc.erase={screen:B0.screen,up:B0.up,down:B0.down,line:B0.line,lineEnd:B0.lineEnd,lineStart:B0.lineStart,lines(t){let e="";for(let r=0;r<t;r++)e+=zc.erase.line+(r<t-1?zc.cursor.up(1):"");return t&&(e+=zc.code.beginning),e}};zc.clear=(t="",e=process.stdout.columns)=>{if(!e)return U_.line+jd.to(0);let r=n=>[...oAt.unstyle(n)].length,o=t.split(/\r?\n/),a=0;for(let n of o)a+=1+Math.floor(Math.max(r(n)-1,0)/e);return(U_.line+jd.prevLine()).repeat(a-1)+U_.line+jd.to(0)}});var oC=U((X3t,j0e)=>{"use strict";var aAt=Ie("events"),q0e=Vc(),__=S0e(),lAt=x0e(),cAt=Q0e(),uAt=L0e(),Fa=Fo(),Gd=H0e(),j1=class extends aAt{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,uAt(this),lAt(this),this.state=new cAt(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=fAt(this.options.margin),this.setMaxListeners(0),AAt(this)}async keypress(e,r={}){this.keypressed=!0;let o=__.action(e,__(e,r),this.options.actions);this.state.keypress=o,this.emit("keypress",e,o),this.emit("state",this.state.clone());let a=this.options[o.action]||this[o.action]||this.dispatch;if(typeof a=="function")return await a.call(this,e,o);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Gd.code.beep)}cursorHide(){this.stdout.write(Gd.cursor.hide()),Fa.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Gd.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Gd.cursor.down(e)+Gd.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:o}=this.sections(),{cursor:a,initial:n="",input:u="",value:A=""}=this,p=this.state.size=o.length,h={after:r,cursor:a,initial:n,input:u,prompt:e,size:p,value:A},C=Gd.cursor.restore(h);C&&this.stdout.write(C)}sections(){let{buffer:e,input:r,prompt:o}=this.state;o=q0e.unstyle(o);let a=q0e.unstyle(e),n=a.indexOf(o),u=a.slice(0,n),p=a.slice(n).split(` | 213 | `)o.name="enter";else if(t===" ")o.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x1B\x7F"||t==="\x1B\b")o.name="backspace",o.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")o.name="escape",o.meta=t.length===2;else if(t===" "||t==="\x1B ")o.name="space",o.meta=t.length===2;else if(t<="")o.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),o.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")o.name="number";else if(t.length===1&&t>="a"&&t<="z")o.name=t;else if(t.length===1&&t>="A"&&t<="Z")o.name=t.toLowerCase(),o.shift=!0;else if(r=sAt.exec(t))o.meta=!0,o.shift=/^[A-Z]$/.test(r[1]);else if(r=oAt.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(o.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),u=(r[3]||r[5]||1)-1;o.ctrl=!!(u&4),o.meta=!!(u&10),o.shift=!!(u&1),o.code=n,o.name=aAt[n],o.shift=lAt(n)||o.shift,o.ctrl=cAt(n)||o.ctrl}return o};Xb.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let o=Q0e.createInterface({terminal:!0,input:r});Q0e.emitKeypressEvents(r,o);let a=(A,p)=>e(A,Xb(A,p),o),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),o.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),o.pause(),o.close()}};Xb.action=(t,e,r)=>{let o={...iAt,...r};return e.ctrl?(e.action=o.ctrl[e.name],e):e.option&&o.option?(e.action=o.option[e.name],e):e.shift?(e.action=o.shift[e.name],e):(e.action=o.keys[e.name],e)};k0e.exports=Xb});var T0e=U((i_t,R0e)=>{"use strict";R0e.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let o=e[r];typeof o=="number"&&(o={interval:o}),uAt(t,r,o)}};function uAt(t,e,r={}){let o=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},a=r.interval||120;o.frames=r.frames||[],o.loading=!0;let n=setInterval(()=>{o.ms=Date.now()-o.start,o.tick++,t.render()},a);return o.stop=()=>{o.loading=!1,clearInterval(n)},Reflect.defineProperty(o,"interval",{value:n}),t.once("close",()=>o.stop()),o.stop}});var L0e=U((s_t,N0e)=>{"use strict";var{define:AAt,width:fAt}=Fo(),R_=class{constructor(e){let r=e.options;AAt(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=fAt(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};N0e.exports=R_});var M0e=U((o_t,O0e)=>{"use strict";var T_=Fo(),Xs=Xc(),N_={default:Xs.noop,noop:Xs.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||T_.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||T_.complement(this.primary)},primary:Xs.cyan,success:Xs.green,danger:Xs.magenta,strong:Xs.bold,warning:Xs.yellow,muted:Xs.dim,disabled:Xs.gray,dark:Xs.dim.gray,underline:Xs.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};N_.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Xs.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Xs.visible=t.styles.visible);let e=T_.merge({},N_,t.styles);delete e.merge;for(let r of Object.keys(Xs))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Xs[r]});for(let r of Object.keys(Xs.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Xs[r]});return e};O0e.exports=N_});var _0e=U((a_t,U0e)=>{"use strict";var L_=process.platform==="win32",Kf=Xc(),pAt=Fo(),O_={...Kf.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Kf.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Kf.symbols.question,submitted:Kf.symbols.check,cancelled:Kf.symbols.cross},separator:{pending:Kf.symbols.pointerSmall,submitted:Kf.symbols.middot,cancelled:Kf.symbols.middot},radio:{off:L_?"( )":"\u25EF",on:L_?"(*)":"\u25C9",disabled:L_?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};O_.merge=t=>{let e=pAt.merge({},Kf.symbols,O_,t.symbols);return delete e.merge,e};U0e.exports=O_});var q0e=U((l_t,H0e)=>{"use strict";var hAt=M0e(),gAt=_0e(),dAt=Fo();H0e.exports=t=>{t.options=dAt.merge({},t.options.theme,t.options),t.symbols=gAt.merge(t.options),t.styles=hAt.merge(t.options)}});var K0e=U((W0e,Y0e)=>{"use strict";var j0e=process.env.TERM_PROGRAM==="Apple_Terminal",mAt=Xc(),M_=Fo(),Zc=Y0e.exports=W0e,Bi="\x1B[",G0e="\x07",U_=!1,v0=Zc.code={bell:G0e,beep:G0e,beginning:`${Bi}G`,down:`${Bi}J`,esc:Bi,getPosition:`${Bi}6n`,hide:`${Bi}?25l`,line:`${Bi}2K`,lineEnd:`${Bi}K`,lineStart:`${Bi}1K`,restorePosition:Bi+(j0e?"8":"u"),savePosition:Bi+(j0e?"7":"s"),screen:`${Bi}2J`,show:`${Bi}?25h`,up:`${Bi}1J`},Yd=Zc.cursor={get hidden(){return U_},hide(){return U_=!0,v0.hide},show(){return U_=!1,v0.show},forward:(t=1)=>`${Bi}${t}C`,backward:(t=1)=>`${Bi}${t}D`,nextLine:(t=1)=>`${Bi}E`.repeat(t),prevLine:(t=1)=>`${Bi}F`.repeat(t),up:(t=1)=>t?`${Bi}${t}A`:"",down:(t=1)=>t?`${Bi}${t}B`:"",right:(t=1)=>t?`${Bi}${t}C`:"",left:(t=1)=>t?`${Bi}${t}D`:"",to(t,e){return e?`${Bi}${e+1};${t+1}H`:`${Bi}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Yd.left(-t):t>0?Yd.right(t):"",r+=e<0?Yd.up(-e):e>0?Yd.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:o,input:a,prompt:n,size:u,value:A}=t;if(o=M_.isPrimitive(o)?String(o):"",a=M_.isPrimitive(a)?String(a):"",A=M_.isPrimitive(A)?String(A):"",u){let p=Zc.cursor.up(u)+Zc.cursor.to(n.length),h=a.length-r;return h>0&&(p+=Zc.cursor.left(h)),p}if(A||e){let p=!a&&!!o?-o.length:-a.length+r;return e&&(p-=e.length),a===""&&o&&!n.includes(o)&&(p+=o.length),Zc.cursor.move(p)}}},__=Zc.erase={screen:v0.screen,up:v0.up,down:v0.down,line:v0.line,lineEnd:v0.lineEnd,lineStart:v0.lineStart,lines(t){let e="";for(let r=0;r<t;r++)e+=Zc.erase.line+(r<t-1?Zc.cursor.up(1):"");return t&&(e+=Zc.code.beginning),e}};Zc.clear=(t="",e=process.stdout.columns)=>{if(!e)return __.line+Yd.to(0);let r=n=>[...mAt.unstyle(n)].length,o=t.split(/\r?\n/),a=0;for(let n of o)a+=1+Math.floor(Math.max(r(n)-1,0)/e);return(__.line+Yd.prevLine()).repeat(a-1)+__.line+Yd.to(0)}});var AE=U((c_t,J0e)=>{"use strict";var yAt=Ie("events"),V0e=Xc(),H_=F0e(),CAt=T0e(),EAt=L0e(),IAt=q0e(),Ra=Fo(),Kd=K0e(),K1=class extends yAt{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,IAt(this),CAt(this),this.state=new EAt(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=BAt(this.options.margin),this.setMaxListeners(0),wAt(this)}async keypress(e,r={}){this.keypressed=!0;let o=H_.action(e,H_(e,r),this.options.actions);this.state.keypress=o,this.emit("keypress",e,o),this.emit("state",this.state.clone());let a=this.options[o.action]||this[o.action]||this.dispatch;if(typeof a=="function")return await a.call(this,e,o);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Kd.code.beep)}cursorHide(){this.stdout.write(Kd.cursor.hide()),Ra.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Kd.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Kd.cursor.down(e)+Kd.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:o}=this.sections(),{cursor:a,initial:n="",input:u="",value:A=""}=this,p=this.state.size=o.length,h={after:r,cursor:a,initial:n,input:u,prompt:e,size:p,value:A},E=Kd.cursor.restore(h);E&&this.stdout.write(E)}sections(){let{buffer:e,input:r,prompt:o}=this.state;o=V0e.unstyle(o);let a=V0e.unstyle(e),n=a.indexOf(o),u=a.slice(0,n),p=a.slice(n).split(` |
214 | `),h=p[0],C=p[p.length-1],v=(o+(r?" "+r:"")).length,b=v<h.length?h.slice(v+1):"";return{header:u,prompt:h,after:b,rest:p.slice(1),last:C}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let r=` | 214 | `),h=p[0],E=p[p.length-1],v=(o+(r?" "+r:"")).length,b=v<h.length?h.slice(v+1):"";return{header:u,prompt:h,after:b,rest:p.slice(1),last:E}}async submit(){this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit&&await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let r=` |
215 | `+this.symbols.pointer+" ";typeof e=="string"?r+=e.trim():r+="Invalid input",this.state.error=` | 215 | `+this.symbols.pointer+" ";typeof e=="string"?r+=e.trim():r+="Invalid input",this.state.error=` |
216 | `+this.styles.danger(r),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),r=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(Gd.cursor.down(e.rest.length)),this.write(` | 216 | `+this.styles.danger(r),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),r=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(Kd.cursor.down(e.rest.length)),this.write(` |
217 | `.repeat(r))}catch{}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=__.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:r,result:o}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>o.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,o){let{options:a,state:n,symbols:u,timers:A}=this,p=A&&A[e];n.timer=p;let h=a[e]||n[e]||u[e],C=r&&r[e]!=null?r[e]:await h;if(C==="")return C;let w=await this.resolve(C,n,r,o);return!w&&r&&r[e]?this.resolve(h,n,r,o):w}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,o=this.state;return o.timer=r,Fa.isObject(e)&&(e=e[o.status]||e.pending),Fa.hasColor(e)?e:(this.styles[o.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Fa.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,o=this.state;o.timer=r;let a=e[o.status]||e.pending||o.separator,n=await this.resolve(a,o);return Fa.isObject(n)&&(n=n[o.status]||n.pending),Fa.hasColor(n)?n:this.styles.muted(n)}async pointer(e,r){let o=await this.element("pointer",e,r);if(typeof o=="string"&&Fa.hasColor(o))return o;if(o){let a=this.styles,n=this.index===r,u=n?a.primary:h=>h,A=await this.resolve(o[n?"on":"off"]||o,this.state),p=Fa.hasColor(A)?A:u(A);return n?p:" ".repeat(A.length)}}async indicator(e,r){let o=await this.element("indicator",e,r);if(typeof o=="string"&&Fa.hasColor(o))return o;if(o){let a=this.styles,n=e.enabled===!0,u=n?a.success:a.dark,A=o[n?"on":"off"]||o;return Fa.hasColor(A)?A:u(A)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Fa.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Fa.resolve(this,e,...r)}get base(){return j1.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Fa.height(this.stdout,25)}get width(){return this.options.columns||Fa.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,o=[r,e].find(this.isValue.bind(this));return this.isValue(o)?o:this.initial}static get prompt(){return e=>new this(e).run()}};function AAt(t){let e=a=>t[a]===void 0||typeof t[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],o=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(t.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=t.options[a];typeof n=="function"&&e(a)?o.includes(a)||(t[a]=n.bind(t)):typeof t[a]!="function"&&(t[a]=n)}}function fAt(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=a=>a%2===0?` | 217 | `.repeat(r))}catch{}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=H_.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:r,result:o}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>o.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,o){let{options:a,state:n,symbols:u,timers:A}=this,p=A&&A[e];n.timer=p;let h=a[e]||n[e]||u[e],E=r&&r[e]!=null?r[e]:await h;if(E==="")return E;let w=await this.resolve(E,n,r,o);return!w&&r&&r[e]?this.resolve(h,n,r,o):w}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,o=this.state;return o.timer=r,Ra.isObject(e)&&(e=e[o.status]||e.pending),Ra.hasColor(e)?e:(this.styles[o.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Ra.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,o=this.state;o.timer=r;let a=e[o.status]||e.pending||o.separator,n=await this.resolve(a,o);return Ra.isObject(n)&&(n=n[o.status]||n.pending),Ra.hasColor(n)?n:this.styles.muted(n)}async pointer(e,r){let o=await this.element("pointer",e,r);if(typeof o=="string"&&Ra.hasColor(o))return o;if(o){let a=this.styles,n=this.index===r,u=n?a.primary:h=>h,A=await this.resolve(o[n?"on":"off"]||o,this.state),p=Ra.hasColor(A)?A:u(A);return n?p:" ".repeat(A.length)}}async indicator(e,r){let o=await this.element("indicator",e,r);if(typeof o=="string"&&Ra.hasColor(o))return o;if(o){let a=this.styles,n=e.enabled===!0,u=n?a.success:a.dark,A=o[n?"on":"off"]||o;return Ra.hasColor(A)?A:u(A)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Ra.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Ra.resolve(this,e,...r)}get base(){return K1.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Ra.height(this.stdout,25)}get width(){return this.options.columns||Ra.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,o=[r,e].find(this.isValue.bind(this));return this.isValue(o)?o:this.initial}static get prompt(){return e=>new this(e).run()}};function wAt(t){let e=a=>t[a]===void 0||typeof t[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],o=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(t.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=t.options[a];typeof n=="function"&&e(a)?o.includes(a)||(t[a]=n.bind(t)):typeof t[a]!="function"&&(t[a]=n)}}function BAt(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=a=>a%2===0?` |
218 | `:" ",o=[];for(let a=0;a<4;a++){let n=r(a);e[a]?o.push(n.repeat(e[a])):o.push("")}return o}j0e.exports=j1});var Y0e=U((Z3t,W0e)=>{"use strict";var pAt=Fo(),G0e={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return G0e.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};W0e.exports=(t,e={})=>{let r=pAt.merge({},G0e,e.roles);return r[t]||r.default}});var G1=U(($3t,V0e)=>{"use strict";var hAt=Vc(),gAt=oC(),dAt=Y0e(),Wb=Fo(),{reorder:H_,scrollUp:mAt,scrollDown:yAt,isObject:K0e,swap:EAt}=Wb,q_=class extends gAt{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:o,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");K0e(r)&&(r=Object.keys(r)),Array.isArray(r)?(o!=null&&(this.index=this.findIndex(o)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(o!=null&&(r=o),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let o=[],a=0,n=async(u,A)=>{typeof u=="function"&&(u=await u.call(this)),u instanceof Promise&&(u=await u);for(let p=0;p<u.length;p++){let h=u[p]=await this.toChoice(u[p],a++,A);o.push(h),h.choices&&await n(h.choices,h)}return o};return n(e,r).then(u=>(this.state.loadingChoices=!1,u))}async toChoice(e,r,o){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let a=e.value;if(e=dAt(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,Wb.define(e,"parent",o),e.level=o?o.level+1:1,e.indent==null&&(e.indent=o?o.indent+" ":e.indent||""),e.path=o?o.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,hAt.unstyle(e.message).length));let u={...e};return e.reset=(A=u.input,p=u.value)=>{for(let h of Object.keys(u))e[h]=u[h];e.input=A,e.value=p},a==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,o){let a=await this.toChoice(e,r,o);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(e,r,o){let a={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(a,r,o);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every(r=>r.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(a=>this.toggle(a,r));let o=e.parent;for(;o;){let a=o.choices.filter(n=>this.isDisabled(n));o.enabled=a.every(n=>n.enabled===!0),o=o.parent}return J0e(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=o=>{let a=Number(o);if(a>this.choices.length-1)return this.alert();let n=this.focused,u=this.choices.find(A=>a===A.index);if(!u.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(u)===-1){let A=H_(this.choices),p=A.indexOf(u);if(n.index>p){let h=A.slice(p,p+this.limit),C=A.filter(w=>!h.includes(w));this.choices=h.concat(C)}else{let h=p-this.limit+1;this.choices=A.slice(h).concat(A.slice(0,h))}}return this.index=this.choices.indexOf(u),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(o=>{let a=this.choices.length,n=this.num,u=(A=!1,p)=>{clearTimeout(this.numberTimeout),A&&(p=r(n)),this.num="",o(p)};if(n==="0"||n.length===1&&Number(n+"0")>a)return u(!0);if(Number(n)>a)return u(!1,this.alert());this.numberTimeout=setTimeout(()=>u(!0),this.delay)})}home(){return this.choices=H_(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=H_(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===0?this.alert():e>r&&o===0?this.scrollUp():(this.index=(o-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===r-1?this.alert():e>r&&o===r-1?this.scrollDown():(this.index=(o+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=mAt(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=yAt(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){EAt(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(o=>e[o]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(o=>!this.isDisabled(o));return e.enabled&&r.every(o=>this.isEnabled(o))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((o,a)=>(o[a]=this.find(a,r),o),{})}filter(e,r){let a=typeof e=="function"?e:(A,p)=>[A.name,p].includes(e),u=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?u.map(A=>A[r]):u}find(e,r){if(K0e(e))return r?e[r]:e;let a=typeof e=="function"?e:(u,A)=>[u.name,A].includes(e),n=this.choices.find(a);if(n)return r?n[r]:n}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(u=>u.newChoice))return this.alert();let{reorder:r,sort:o}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&o!==!0&&(n=Wb.reorder(n)),this.value=a?n.map(u=>u.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(o=>o.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let o=this.find(r);o&&(this.initial=o.index,this.focus(o,!0))}}}get choices(){return J0e(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:o}=this,a=e.limit||this._limit||r.limit||o.length;return Math.min(a,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function J0e(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Wb.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let o=r.choices.filter(a=>!t.isDisabled(a));r.enabled=o.every(a=>a.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}V0e.exports=q_});var v0=U((e_t,z0e)=>{"use strict";var CAt=G1(),j_=Fo(),G_=class extends CAt{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let o=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!j_.hasColor(o)&&(o=this.styles.strong(o)),this.resolve(o,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await this.indicator(e,r)+(e.pad||""),u=await this.resolve(e.hint,this.state,e,r);u&&!j_.hasColor(u)&&(u=this.styles.muted(u));let A=this.indent(e),p=await this.choiceMessage(e,r),h=()=>[this.margin[3],A+a+n,p,this.margin[1],u].filter(Boolean).join(" ");return e.role==="heading"?h():e.disabled?(j_.hasColor(p)||(p=this.styles.disabled(p)),h()):(o&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(n,u)=>await this.renderChoice(n,u)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let o=this.margin[0]+r.join(` | 218 | `:" ",o=[];for(let a=0;a<4;a++){let n=r(a);e[a]?o.push(n.repeat(e[a])):o.push("")}return o}J0e.exports=K1});var Z0e=U((u_t,X0e)=>{"use strict";var vAt=Fo(),z0e={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return z0e.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};X0e.exports=(t,e={})=>{let r=vAt.merge({},z0e,e.roles);return r[t]||r.default}});var V1=U((A_t,the)=>{"use strict";var DAt=Xc(),SAt=AE(),PAt=Z0e(),Zb=Fo(),{reorder:q_,scrollUp:xAt,scrollDown:bAt,isObject:$0e,swap:QAt}=Zb,j_=class extends SAt{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:o,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");$0e(r)&&(r=Object.keys(r)),Array.isArray(r)?(o!=null&&(this.index=this.findIndex(o)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(o!=null&&(r=o),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let o=[],a=0,n=async(u,A)=>{typeof u=="function"&&(u=await u.call(this)),u instanceof Promise&&(u=await u);for(let p=0;p<u.length;p++){let h=u[p]=await this.toChoice(u[p],a++,A);o.push(h),h.choices&&await n(h.choices,h)}return o};return n(e,r).then(u=>(this.state.loadingChoices=!1,u))}async toChoice(e,r,o){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let a=e.value;if(e=PAt(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,Zb.define(e,"parent",o),e.level=o?o.level+1:1,e.indent==null&&(e.indent=o?o.indent+" ":e.indent||""),e.path=o?o.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,DAt.unstyle(e.message).length));let u={...e};return e.reset=(A=u.input,p=u.value)=>{for(let h of Object.keys(u))e[h]=u[h];e.input=A,e.value=p},a==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,o){let a=await this.toChoice(e,r,o);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(e,r,o){let a={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(a,r,o);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every(r=>r.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(a=>this.toggle(a,r));let o=e.parent;for(;o;){let a=o.choices.filter(n=>this.isDisabled(n));o.enabled=a.every(n=>n.enabled===!0),o=o.parent}return ehe(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=o=>{let a=Number(o);if(a>this.choices.length-1)return this.alert();let n=this.focused,u=this.choices.find(A=>a===A.index);if(!u.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(u)===-1){let A=q_(this.choices),p=A.indexOf(u);if(n.index>p){let h=A.slice(p,p+this.limit),E=A.filter(w=>!h.includes(w));this.choices=h.concat(E)}else{let h=p-this.limit+1;this.choices=A.slice(h).concat(A.slice(0,h))}}return this.index=this.choices.indexOf(u),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(o=>{let a=this.choices.length,n=this.num,u=(A=!1,p)=>{clearTimeout(this.numberTimeout),A&&(p=r(n)),this.num="",o(p)};if(n==="0"||n.length===1&&Number(n+"0")>a)return u(!0);if(Number(n)>a)return u(!1,this.alert());this.numberTimeout=setTimeout(()=>u(!0),this.delay)})}home(){return this.choices=q_(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=q_(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===0?this.alert():e>r&&o===0?this.scrollUp():(this.index=(o-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===r-1?this.alert():e>r&&o===r-1?this.scrollDown():(this.index=(o+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=xAt(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=bAt(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){QAt(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(o=>e[o]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(o=>!this.isDisabled(o));return e.enabled&&r.every(o=>this.isEnabled(o))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((o,a)=>(o[a]=this.find(a,r),o),{})}filter(e,r){let a=typeof e=="function"?e:(A,p)=>[A.name,p].includes(e),u=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?u.map(A=>A[r]):u}find(e,r){if($0e(e))return r?e[r]:e;let a=typeof e=="function"?e:(u,A)=>[u.name,A].includes(e),n=this.choices.find(a);if(n)return r?n[r]:n}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(u=>u.newChoice))return this.alert();let{reorder:r,sort:o}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&o!==!0&&(n=Zb.reorder(n)),this.value=a?n.map(u=>u.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(o=>o.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let o=this.find(r);o&&(this.initial=o.index,this.focus(o,!0))}}}get choices(){return ehe(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:o}=this,a=e.limit||this._limit||r.limit||o.length;return Math.min(a,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function ehe(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Zb.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let o=r.choices.filter(a=>!t.isDisabled(a));r.enabled=o.every(a=>a.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}the.exports=j_});var D0=U((f_t,rhe)=>{"use strict";var kAt=V1(),G_=Fo(),W_=class extends kAt{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let o=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!G_.hasColor(o)&&(o=this.styles.strong(o)),this.resolve(o,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await this.indicator(e,r)+(e.pad||""),u=await this.resolve(e.hint,this.state,e,r);u&&!G_.hasColor(u)&&(u=this.styles.muted(u));let A=this.indent(e),p=await this.choiceMessage(e,r),h=()=>[this.margin[3],A+a+n,p,this.margin[1],u].filter(Boolean).join(" ");return e.role==="heading"?h():e.disabled?(G_.hasColor(p)||(p=this.styles.disabled(p)),h()):(o&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(n,u)=>await this.renderChoice(n,u)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let o=this.margin[0]+r.join(` |
219 | `),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,o].filter(Boolean).join(` | 219 | `),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,o].filter(Boolean).join(` |
220 | `)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,o="",a=await this.header(),n=await this.prefix(),u=await this.separator(),A=await this.message();this.options.promptLine!==!1&&(o=[n,A,u,""].join(" "),this.state.prompt=o);let p=await this.format(),h=await this.error()||await this.hint(),C=await this.renderChoices(),w=await this.footer();p&&(o+=p),h&&!o.includes(h)&&(o+=" "+h),e&&!p&&!C.trim()&&this.multiple&&this.emptyError!=null&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,o,C,w].filter(Boolean).join(` | 220 | `)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,o="",a=await this.header(),n=await this.prefix(),u=await this.separator(),A=await this.message();this.options.promptLine!==!1&&(o=[n,A,u,""].join(" "),this.state.prompt=o);let p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),w=await this.footer();p&&(o+=p),h&&!o.includes(h)&&(o+=" "+h),e&&!p&&!E.trim()&&this.multiple&&this.emptyError!=null&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,o,E,w].filter(Boolean).join(` |
221 | `)),this.write(this.margin[2]),this.restore()}};z0e.exports=G_});var Z0e=U((t_t,X0e)=>{"use strict";var IAt=v0(),wAt=(t,e)=>{let r=t.toLowerCase();return o=>{let n=o.toLowerCase().indexOf(r),u=e(o.slice(n,n+r.length));return n>=0?o.slice(0,n)+u+o.slice(n+r.length):o}},W_=class extends IAt{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:o}=this.state;return this.input=o.slice(0,r)+e+o.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let o=e.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(o))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=wAt(this.input,e),o=this.choices;this.choices=o.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=o}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};X0e.exports=W_});var K_=U((r_t,$0e)=>{"use strict";var Y_=Fo();$0e.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:o="",pos:a,showCursor:n=!0,color:u}=e,A=u||t.styles.placeholder,p=Y_.inverse(t.styles.primary),h=R=>p(t.styles.black(R)),C=r,w=" ",v=h(w);if(t.blink&&t.blink.off===!0&&(h=R=>R,v=""),n&&a===0&&o===""&&r==="")return h(w);if(n&&a===0&&(r===o||r===""))return h(o[0])+A(o.slice(1));o=Y_.isPrimitive(o)?`${o}`:"",r=Y_.isPrimitive(r)?`${r}`:"";let b=o&&o.startsWith(r)&&o!==r,E=b?h(o[r.length]):v;if(a!==r.length&&n===!0&&(C=r.slice(0,a)+h(r[a])+r.slice(a+1),E=""),n===!1&&(E=""),b){let R=t.styles.unstyle(C+E);return C+E+A(o.slice(R.length))}return C+E}});var Yb=U((n_t,ehe)=>{"use strict";var BAt=Vc(),vAt=v0(),DAt=K_(),J_=class extends vAt{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:o,input:a}=r;return r.value=r.input=a.slice(0,o)+e+a.slice(o),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:o}=e;return e.value=e.input=o.slice(0,r-1)+o.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:o}=e;if(o[r]===void 0)return this.alert();let a=`${o}`.slice(0,r)+`${o}`.slice(r+1);return e.value=e.input=a,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:o}=e;return r&&r.startsWith(o)&&o!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let o=await this.resolve(e.separator,this.state,e,r)||":";return o?" "+this.styles.disabled(o):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:o,styles:a}=this,{cursor:n,initial:u="",name:A,hint:p,input:h=""}=e,{muted:C,submitted:w,primary:v,danger:b}=a,E=p,R=this.index===r,L=e.validate||(()=>!0),_=await this.choiceSeparator(e,r),J=e.message;this.align==="right"&&(J=J.padStart(this.longest+1," ")),this.align==="left"&&(J=J.padEnd(this.longest+1," "));let re=this.values[A]=h||u,oe=h?"success":"dark";await L.call(e,re,this.state)!==!0&&(oe="danger");let pe=a[oe],he=pe(await this.indicator(e,r))+(e.pad||""),ve=this.indent(e),ge=()=>[ve,he,J+_,h,E].filter(Boolean).join(" ");if(o.submitted)return J=BAt.unstyle(J),h=w(h),E="",ge();if(e.format)h=await e.format.call(this,h,e,r);else{let le=this.styles.muted;h=DAt(this,{input:h,initial:u,pos:n,showCursor:R,color:le})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[A]=await e.result.call(this,re,e,r)),R&&(J=v(J)),e.error?h+=(h?" ":"")+b(e.error.trim()):e.hint&&(h+=(h?" ":"")+C(e.hint.trim())),ge()}async submit(){return this.value=this.values,super.base.submit.call(this)}};ehe.exports=J_});var V_=U((i_t,rhe)=>{"use strict";var SAt=Yb(),PAt=()=>{throw new Error("expected prompt to have a custom authenticate method")},the=(t=PAt)=>{class e extends SAt{constructor(o){super(o)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(o){return the(o)}}return e};rhe.exports=the()});var she=U((s_t,ihe)=>{"use strict";var xAt=V_();function bAt(t,e){return t.username===this.options.username&&t.password===this.options.password}var nhe=(t=bAt)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(o){return this.options.showPassword?o:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(o.length))}}];class r extends xAt.create(t){constructor(a){super({...a,choices:e})}static create(a){return nhe(a)}}return r};ihe.exports=nhe()});var Kb=U((o_t,ohe)=>{"use strict";var QAt=oC(),{isPrimitive:kAt,hasColor:FAt}=Fo(),z_=class extends QAt{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:o}=this;return o.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return kAt(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return FAt(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=this.styles.muted(this.default),A=[o,n,u,a].filter(Boolean).join(" ");this.state.prompt=A;let p=await this.header(),h=this.value=this.cast(e),C=await this.format(h),w=await this.error()||await this.hint(),v=await this.footer();w&&!A.includes(w)&&(C+=" "+w),A+=" "+C,this.clear(r),this.write([p,A,v].filter(Boolean).join(` | 221 | `)),this.write(this.margin[2]),this.restore()}};rhe.exports=W_});var ihe=U((p_t,nhe)=>{"use strict";var FAt=D0(),RAt=(t,e)=>{let r=t.toLowerCase();return o=>{let n=o.toLowerCase().indexOf(r),u=e(o.slice(n,n+r.length));return n>=0?o.slice(0,n)+u+o.slice(n+r.length):o}},Y_=class extends FAt{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:o}=this.state;return this.input=o.slice(0,r)+e+o.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let o=e.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(o))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=RAt(this.input,e),o=this.choices;this.choices=o.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=o}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};nhe.exports=Y_});var V_=U((h_t,she)=>{"use strict";var K_=Fo();she.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:o="",pos:a,showCursor:n=!0,color:u}=e,A=u||t.styles.placeholder,p=K_.inverse(t.styles.primary),h=R=>p(t.styles.black(R)),E=r,w=" ",v=h(w);if(t.blink&&t.blink.off===!0&&(h=R=>R,v=""),n&&a===0&&o===""&&r==="")return h(w);if(n&&a===0&&(r===o||r===""))return h(o[0])+A(o.slice(1));o=K_.isPrimitive(o)?`${o}`:"",r=K_.isPrimitive(r)?`${r}`:"";let b=o&&o.startsWith(r)&&o!==r,C=b?h(o[r.length]):v;if(a!==r.length&&n===!0&&(E=r.slice(0,a)+h(r[a])+r.slice(a+1),C=""),n===!1&&(C=""),b){let R=t.styles.unstyle(E+C);return E+C+A(o.slice(R.length))}return E+C}});var $b=U((g_t,ohe)=>{"use strict";var TAt=Xc(),NAt=D0(),LAt=V_(),J_=class extends NAt{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:o,input:a}=r;return r.value=r.input=a.slice(0,o)+e+a.slice(o),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:o}=e;return e.value=e.input=o.slice(0,r-1)+o.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:o}=e;if(o[r]===void 0)return this.alert();let a=`${o}`.slice(0,r)+`${o}`.slice(r+1);return e.value=e.input=a,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:o}=e;return r&&r.startsWith(o)&&o!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let o=await this.resolve(e.separator,this.state,e,r)||":";return o?" "+this.styles.disabled(o):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:o,styles:a}=this,{cursor:n,initial:u="",name:A,hint:p,input:h=""}=e,{muted:E,submitted:w,primary:v,danger:b}=a,C=p,R=this.index===r,L=e.validate||(()=>!0),_=await this.choiceSeparator(e,r),V=e.message;this.align==="right"&&(V=V.padStart(this.longest+1," ")),this.align==="left"&&(V=V.padEnd(this.longest+1," "));let re=this.values[A]=h||u,oe=h?"success":"dark";await L.call(e,re,this.state)!==!0&&(oe="danger");let pe=a[oe],he=pe(await this.indicator(e,r))+(e.pad||""),ve=this.indent(e),ge=()=>[ve,he,V+_,h,C].filter(Boolean).join(" ");if(o.submitted)return V=TAt.unstyle(V),h=w(h),C="",ge();if(e.format)h=await e.format.call(this,h,e,r);else{let le=this.styles.muted;h=LAt(this,{input:h,initial:u,pos:n,showCursor:R,color:le})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[A]=await e.result.call(this,re,e,r)),R&&(V=v(V)),e.error?h+=(h?" ":"")+b(e.error.trim()):e.hint&&(h+=(h?" ":"")+E(e.hint.trim())),ge()}async submit(){return this.value=this.values,super.base.submit.call(this)}};ohe.exports=J_});var z_=U((d_t,lhe)=>{"use strict";var OAt=$b(),MAt=()=>{throw new Error("expected prompt to have a custom authenticate method")},ahe=(t=MAt)=>{class e extends OAt{constructor(o){super(o)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(o){return ahe(o)}}return e};lhe.exports=ahe()});var Ahe=U((m_t,uhe)=>{"use strict";var UAt=z_();function _At(t,e){return t.username===this.options.username&&t.password===this.options.password}var che=(t=_At)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(o){return this.options.showPassword?o:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(o.length))}}];class r extends UAt.create(t){constructor(a){super({...a,choices:e})}static create(a){return che(a)}}return r};uhe.exports=che()});var eQ=U((y_t,fhe)=>{"use strict";var HAt=AE(),{isPrimitive:qAt,hasColor:jAt}=Fo(),X_=class extends HAt{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:o}=this;return o.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return qAt(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return jAt(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=this.styles.muted(this.default),A=[o,n,u,a].filter(Boolean).join(" ");this.state.prompt=A;let p=await this.header(),h=this.value=this.cast(e),E=await this.format(h),w=await this.error()||await this.hint(),v=await this.footer();w&&!A.includes(w)&&(E+=" "+w),A+=" "+E,this.clear(r),this.write([p,A,v].filter(Boolean).join(` |
222 | `)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};ohe.exports=z_});var lhe=U((a_t,ahe)=>{"use strict";var RAt=Kb(),X_=class extends RAt{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};ahe.exports=X_});var uhe=U((l_t,che)=>{"use strict";var TAt=v0(),NAt=Yb(),aC=NAt.prototype,Z_=class extends TAt{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let o=this.focused,a=o.parent||{};return!o.editable&&!a.editable&&(e==="a"||e==="i")?super[e]():aC.dispatch.call(this,e,r)}append(e,r){return aC.append.call(this,e,r)}delete(e,r){return aC.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?aC.next.call(this):super.next()}prev(){return this.focused.editable?aC.prev.call(this):super.prev()}async indicator(e,r){let o=e.indicator||"",a=e.editable?o:super.indicator(e,r);return await this.resolve(a,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?aC.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let o=r.parent?this.value[r.parent.name]:this.value;if(r.editable?o=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(o=r.enabled===!0),e=await r.validate(o,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};che.exports=Z_});var Wd=U((c_t,Ahe)=>{"use strict";var LAt=oC(),OAt=K_(),{isPrimitive:MAt}=Fo(),$_=class extends LAt{constructor(e){super(e),this.initial=MAt(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let o=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!o||o.name!=="return")?this.append(` | 222 | `)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};fhe.exports=X_});var hhe=U((C_t,phe)=>{"use strict";var GAt=eQ(),Z_=class extends GAt{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};phe.exports=Z_});var dhe=U((E_t,ghe)=>{"use strict";var WAt=D0(),YAt=$b(),fE=YAt.prototype,$_=class extends WAt{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let o=this.focused,a=o.parent||{};return!o.editable&&!a.editable&&(e==="a"||e==="i")?super[e]():fE.dispatch.call(this,e,r)}append(e,r){return fE.append.call(this,e,r)}delete(e,r){return fE.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?fE.next.call(this):super.next()}prev(){return this.focused.editable?fE.prev.call(this):super.prev()}async indicator(e,r){let o=e.indicator||"",a=e.editable?o:super.indicator(e,r);return await this.resolve(a,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?fE.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let o=r.parent?this.value[r.parent.name]:this.value;if(r.editable?o=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(o=r.enabled===!0),e=await r.validate(o,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};ghe.exports=$_});var Vd=U((I_t,mhe)=>{"use strict";var KAt=AE(),VAt=V_(),{isPrimitive:JAt}=Fo(),e8=class extends KAt{constructor(e){super(e),this.initial=JAt(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let o=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!o||o.name!=="return")?this.append(` |
223 | `,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:o}=this.state;this.input=`${o}`.slice(0,r)+e+`${o}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),o=this.input.slice(e),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=o,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):OAt(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),o=await this.separator(),a=await this.message(),n=[r,a,o].filter(Boolean).join(" ");this.state.prompt=n;let u=await this.header(),A=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!A.includes(p)&&(A+=" "+p),n+=" "+A,this.clear(e),this.write([u,n,h].filter(Boolean).join(` | 223 | `,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:o}=this.state;this.input=`${o}`.slice(0,r)+e+`${o}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),o=this.input.slice(e),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=o,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):VAt(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),o=await this.separator(),a=await this.message(),n=[r,a,o].filter(Boolean).join(" ");this.state.prompt=n;let u=await this.header(),A=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!A.includes(p)&&(A+=" "+p),n+=" "+A,this.clear(e),this.write([u,n,h].filter(Boolean).join(` |
224 | `)),this.restore()}};Ahe.exports=$_});var phe=U((u_t,fhe)=>{"use strict";var UAt=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),Jb=t=>UAt(t).filter(Boolean);fhe.exports=(t,e={},r="")=>{let{past:o=[],present:a=""}=e,n,u;switch(t){case"prev":case"undo":return n=o.slice(0,o.length-1),u=o[o.length-1]||"",{past:Jb([r,...n]),present:u};case"next":case"redo":return n=o.slice(1),u=o[0]||"",{past:Jb([...n,r]),present:u};case"save":return{past:Jb([...o,r]),present:""};case"remove":return u=Jb(o.filter(A=>A!==r)),a="",u.length&&(a=u.pop()),{past:u,present:a};default:throw new Error(`Invalid action: "${t}"`)}}});var t8=U((A_t,ghe)=>{"use strict";var _At=Wd(),hhe=phe(),e8=class extends _At{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let o=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:o},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=hhe(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=hhe("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};ghe.exports=e8});var mhe=U((f_t,dhe)=>{"use strict";var HAt=Wd(),r8=class extends HAt{format(){return""}};dhe.exports=r8});var Ehe=U((p_t,yhe)=>{"use strict";var qAt=Wd(),n8=class extends qAt{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};yhe.exports=n8});var Ihe=U((h_t,Che)=>{"use strict";var jAt=v0(),i8=class extends jAt{constructor(e){super({...e,multiple:!0})}};Che.exports=i8});var o8=U((g_t,whe)=>{"use strict";var GAt=Wd(),s8=class extends GAt{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,o=this.toNumber(this.input);return o>this.max+r?this.alert():(this.input=`${o+r}`,this.render())}down(e){let r=e||this.minor,o=this.toNumber(this.input);return o<this.min-r?this.alert():(this.input=`${o-r}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){return typeof this.options.format=="function"?this.options.format.call(this,e):this.styles.info(e)}toNumber(e=""){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find(r=>this.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};whe.exports=s8});var vhe=U((d_t,Bhe)=>{Bhe.exports=o8()});var She=U((m_t,Dhe)=>{"use strict";var WAt=Wd(),a8=class extends WAt{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};Dhe.exports=a8});var bhe=U((y_t,xhe)=>{"use strict";var YAt=Vc(),KAt=G1(),Phe=Fo(),l8=class extends KAt{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` | 224 | `)),this.restore()}};mhe.exports=e8});var Che=U((w_t,yhe)=>{"use strict";var zAt=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),tQ=t=>zAt(t).filter(Boolean);yhe.exports=(t,e={},r="")=>{let{past:o=[],present:a=""}=e,n,u;switch(t){case"prev":case"undo":return n=o.slice(0,o.length-1),u=o[o.length-1]||"",{past:tQ([r,...n]),present:u};case"next":case"redo":return n=o.slice(1),u=o[0]||"",{past:tQ([...n,r]),present:u};case"save":return{past:tQ([...o,r]),present:""};case"remove":return u=tQ(o.filter(A=>A!==r)),a="",u.length&&(a=u.pop()),{past:u,present:a};default:throw new Error(`Invalid action: "${t}"`)}}});var r8=U((B_t,Ihe)=>{"use strict";var XAt=Vd(),Ehe=Che(),t8=class extends XAt{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let o=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:o},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Ehe(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Ehe("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};Ihe.exports=t8});var Bhe=U((v_t,whe)=>{"use strict";var ZAt=Vd(),n8=class extends ZAt{format(){return""}};whe.exports=n8});var Dhe=U((D_t,vhe)=>{"use strict";var $At=Vd(),i8=class extends $At{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};vhe.exports=i8});var Phe=U((S_t,She)=>{"use strict";var eft=D0(),s8=class extends eft{constructor(e){super({...e,multiple:!0})}};She.exports=s8});var a8=U((P_t,xhe)=>{"use strict";var tft=Vd(),o8=class extends tft{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,o=this.toNumber(this.input);return o>this.max+r?this.alert():(this.input=`${o+r}`,this.render())}down(e){let r=e||this.minor,o=this.toNumber(this.input);return o<this.min-r?this.alert():(this.input=`${o-r}`,this.render())}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){return typeof this.options.format=="function"?this.options.format.call(this,e):this.styles.info(e)}toNumber(e=""){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find(r=>this.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};xhe.exports=o8});var Qhe=U((x_t,bhe)=>{bhe.exports=a8()});var Fhe=U((b_t,khe)=>{"use strict";var rft=Vd(),l8=class extends rft{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};khe.exports=l8});var Nhe=U((Q_t,The)=>{"use strict";var nft=Xc(),ift=V1(),Rhe=Fo(),c8=class extends ift{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` |
225 | `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((o,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let o=0;o<this.scale.length;o++)r.scale.push({index:o})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}heading(e,r,o){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIndex>=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(o=>` ${o.name} - ${o.message}`)].map(o=>this.styles.muted(o)).join(` | 225 | `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((o,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let o=0;o<this.scale.length;o++)r.scale.push({index:o})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}heading(e,r,o){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIndex>=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(o=>` ${o.name} - ${o.message}`)].map(o=>this.styles.muted(o)).join(` |
226 | `)}renderScaleHeading(e){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let o=this.scaleLength-r.join("").length,a=Math.round(o/(r.length-1)),u=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),A=" ".repeat(this.widths[0]);return this.margin[3]+A+this.margin[1]+u}scaleIndicator(e,r,o){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,o);let a=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let o=e.scale.map(n=>this.scaleIndicator(e,n,r)),a=this.term==="Hyper"?"":" ";return o.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await e.hint;n&&!Phe.hasColor(n)&&(n=this.styles.muted(n));let u=E=>this.margin[3]+E.replace(/\s+$/,"").padEnd(this.widths[0]," "),A=this.newline,p=this.indent(e),h=await this.resolve(e.message,this.state,e,r),C=await this.renderScale(e,r),w=this.margin[1]+this.margin[3];this.scaleLength=YAt.unstyle(C).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-w.length);let b=Phe.wordWrap(h,{width:this.widths[0],newline:A}).split(` | 226 | `)}renderScaleHeading(e){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let o=this.scaleLength-r.join("").length,a=Math.round(o/(r.length-1)),u=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),A=" ".repeat(this.widths[0]);return this.margin[3]+A+this.margin[1]+u}scaleIndicator(e,r,o){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,o);let a=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let o=e.scale.map(n=>this.scaleIndicator(e,n,r)),a=this.term==="Hyper"?"":" ";return o.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await e.hint;n&&!Rhe.hasColor(n)&&(n=this.styles.muted(n));let u=C=>this.margin[3]+C.replace(/\s+$/,"").padEnd(this.widths[0]," "),A=this.newline,p=this.indent(e),h=await this.resolve(e.message,this.state,e,r),E=await this.renderScale(e,r),w=this.margin[1]+this.margin[3];this.scaleLength=nft.unstyle(E).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-w.length);let b=Rhe.wordWrap(h,{width:this.widths[0],newline:A}).split(` |
227 | `).map(E=>u(E)+this.margin[1]);return o&&(C=this.styles.info(C),b=b.map(E=>this.styles.info(E))),b[0]+=C,this.linebreak&&b.push(""),[p+a,b.join(` | 227 | `).map(C=>u(C)+this.margin[1]);return o&&(E=this.styles.info(E),b=b.map(C=>this.styles.info(C))),b[0]+=E,this.linebreak&&b.push(""),[p+a,b.join(` |
228 | `)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(e),o=await this.renderScaleHeading();return this.margin[0]+[o,...r.map(a=>a.join(" "))].join(` | 228 | `)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(e),o=await this.renderScaleHeading();return this.margin[0]+[o,...r.map(a=>a.join(" "))].join(` |
229 | `)}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u="";this.options.promptLine!==!1&&(u=[o,n,a,""].join(" "),this.state.prompt=u);let A=await this.header(),p=await this.format(),h=await this.renderScaleKey(),C=await this.error()||await this.hint(),w=await this.renderChoices(),v=await this.footer(),b=this.emptyError;p&&(u+=p),C&&!u.includes(C)&&(u+=" "+C),e&&!p&&!w.trim()&&this.multiple&&b!=null&&(u+=this.styles.danger(b)),this.clear(r),this.write([A,u,h,w,v].filter(Boolean).join(` | 229 | `)}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u="";this.options.promptLine!==!1&&(u=[o,n,a,""].join(" "),this.state.prompt=u);let A=await this.header(),p=await this.format(),h=await this.renderScaleKey(),E=await this.error()||await this.hint(),w=await this.renderChoices(),v=await this.footer(),b=this.emptyError;p&&(u+=p),E&&!u.includes(E)&&(u+=" "+E),e&&!p&&!w.trim()&&this.multiple&&b!=null&&(u+=this.styles.danger(b)),this.clear(r),this.write([A,u,h,w,v].filter(Boolean).join(` |
230 | `)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};xhe.exports=l8});var Fhe=U((E_t,khe)=>{"use strict";var Qhe=Vc(),JAt=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",u8=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=JAt(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},VAt=async(t={},e={},r=o=>o)=>{let o=new Set,a=t.fields||[],n=t.template,u=[],A=[],p=[],h=1;typeof n=="function"&&(n=await n());let C=-1,w=()=>n[++C],v=()=>n[C+1],b=E=>{E.line=h,u.push(E)};for(b({type:"bos",value:""});C<n.length-1;){let E=w();if(/^[^\S\n ]$/.test(E)){b({type:"text",value:E});continue}if(E===` | 230 | `)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};The.exports=c8});var Mhe=U((k_t,Ohe)=>{"use strict";var Lhe=Xc(),sft=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",A8=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=sft(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},oft=async(t={},e={},r=o=>o)=>{let o=new Set,a=t.fields||[],n=t.template,u=[],A=[],p=[],h=1;typeof n=="function"&&(n=await n());let E=-1,w=()=>n[++E],v=()=>n[E+1],b=C=>{C.line=h,u.push(C)};for(b({type:"bos",value:""});E<n.length-1;){let C=w();if(/^[^\S\n ]$/.test(C)){b({type:"text",value:C});continue}if(C===` |
231 | `){b({type:"newline",value:E}),h++;continue}if(E==="\\"){E+=w(),b({type:"text",value:E});continue}if((E==="$"||E==="#"||E==="{")&&v()==="{"){let L=w();E+=L;let _={type:"template",open:E,inner:"",close:"",value:E},J;for(;J=w();){if(J==="}"){v()==="}"&&(J+=w()),_.value+=J,_.close=J;break}J===":"?(_.initial="",_.key=_.inner):_.initial!==void 0&&(_.initial+=J),_.value+=J,_.inner+=J}_.template=_.open+(_.initial||_.inner)+_.close,_.key=_.key||_.inner,e.hasOwnProperty(_.key)&&(_.initial=e[_.key]),_=r(_),b(_),p.push(_.key),o.add(_.key);let re=A.find(oe=>oe.name===_.key);_.field=a.find(oe=>oe.name===_.key),re||(re=new u8(_),A.push(re)),re.lines.push(_.line-1);continue}let R=u[u.length-1];R.type==="text"&&R.line===h?R.value+=E:b({type:"text",value:E})}return b({type:"eos",value:""}),{input:n,tabstops:u,unique:o,keys:p,items:A}};khe.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),o={...e.values,...e.initial},{tabstops:a,items:n,keys:u}=await VAt(e,o),A=c8("result",t,e),p=c8("format",t,e),h=c8("validate",t,e,!0),C=t.isValue.bind(t);return async(w={},v=!1)=>{let b=0;w.required=r,w.items=n,w.keys=u,w.output="";let E=async(J,re,oe,pe)=>{let he=await h(J,re,oe,pe);return he===!1?"Invalid field "+oe.name:he};for(let J of a){let re=J.value,oe=J.key;if(J.type!=="template"){re&&(w.output+=re);continue}if(J.type==="template"){let pe=n.find(Pe=>Pe.name===oe);e.required===!0&&w.required.add(pe.name);let he=[pe.input,w.values[pe.value],pe.value,re].find(C),ge=(pe.field||{}).message||J.inner;if(v){let Pe=await E(w.values[oe],w,pe,b);if(Pe&&typeof Pe=="string"||Pe===!1){w.invalid.set(oe,Pe);continue}w.invalid.delete(oe);let g=await A(w.values[oe],w,pe,b);w.output+=Qhe.unstyle(g);continue}pe.placeholder=!1;let le=re;re=await p(re,w,pe,b),he!==re?(w.values[oe]=he,re=t.styles.typing(he),w.missing.delete(ge)):(w.values[oe]=void 0,he=`<${ge}>`,re=t.styles.primary(he),pe.placeholder=!0,w.required.has(oe)&&w.missing.add(ge)),w.missing.has(ge)&&w.validating&&(re=t.styles.warning(he)),w.invalid.has(oe)&&w.validating&&(re=t.styles.danger(he)),b===w.index&&(le!==re?re=t.styles.underline(re):re=t.styles.heading(Qhe.unstyle(re))),b++}re&&(w.output+=re)}let R=w.output.split(` | 231 | `){b({type:"newline",value:C}),h++;continue}if(C==="\\"){C+=w(),b({type:"text",value:C});continue}if((C==="$"||C==="#"||C==="{")&&v()==="{"){let L=w();C+=L;let _={type:"template",open:C,inner:"",close:"",value:C},V;for(;V=w();){if(V==="}"){v()==="}"&&(V+=w()),_.value+=V,_.close=V;break}V===":"?(_.initial="",_.key=_.inner):_.initial!==void 0&&(_.initial+=V),_.value+=V,_.inner+=V}_.template=_.open+(_.initial||_.inner)+_.close,_.key=_.key||_.inner,e.hasOwnProperty(_.key)&&(_.initial=e[_.key]),_=r(_),b(_),p.push(_.key),o.add(_.key);let re=A.find(oe=>oe.name===_.key);_.field=a.find(oe=>oe.name===_.key),re||(re=new A8(_),A.push(re)),re.lines.push(_.line-1);continue}let R=u[u.length-1];R.type==="text"&&R.line===h?R.value+=C:b({type:"text",value:C})}return b({type:"eos",value:""}),{input:n,tabstops:u,unique:o,keys:p,items:A}};Ohe.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),o={...e.values,...e.initial},{tabstops:a,items:n,keys:u}=await oft(e,o),A=u8("result",t,e),p=u8("format",t,e),h=u8("validate",t,e,!0),E=t.isValue.bind(t);return async(w={},v=!1)=>{let b=0;w.required=r,w.items=n,w.keys=u,w.output="";let C=async(V,re,oe,pe)=>{let he=await h(V,re,oe,pe);return he===!1?"Invalid field "+oe.name:he};for(let V of a){let re=V.value,oe=V.key;if(V.type!=="template"){re&&(w.output+=re);continue}if(V.type==="template"){let pe=n.find(Pe=>Pe.name===oe);e.required===!0&&w.required.add(pe.name);let he=[pe.input,w.values[pe.value],pe.value,re].find(E),ge=(pe.field||{}).message||V.inner;if(v){let Pe=await C(w.values[oe],w,pe,b);if(Pe&&typeof Pe=="string"||Pe===!1){w.invalid.set(oe,Pe);continue}w.invalid.delete(oe);let g=await A(w.values[oe],w,pe,b);w.output+=Lhe.unstyle(g);continue}pe.placeholder=!1;let le=re;re=await p(re,w,pe,b),he!==re?(w.values[oe]=he,re=t.styles.typing(he),w.missing.delete(ge)):(w.values[oe]=void 0,he=`<${ge}>`,re=t.styles.primary(he),pe.placeholder=!0,w.required.has(oe)&&w.missing.add(ge)),w.missing.has(ge)&&w.validating&&(re=t.styles.warning(he)),w.invalid.has(oe)&&w.validating&&(re=t.styles.danger(he)),b===w.index&&(le!==re?re=t.styles.underline(re):re=t.styles.heading(Lhe.unstyle(re))),b++}re&&(w.output+=re)}let R=w.output.split(` |
232 | `).map(J=>" "+J),L=n.length,_=0;for(let J of n)w.invalid.has(J.name)&&J.lines.forEach(re=>{R[re][0]===" "&&(R[re]=w.styles.danger(w.symbols.bullet)+R[re].slice(1))}),t.isValue(w.values[J.name])&&_++;return w.completed=(_/L*100).toFixed(0),w.output=R.join(` | 232 | `).map(V=>" "+V),L=n.length,_=0;for(let V of n)w.invalid.has(V.name)&&V.lines.forEach(re=>{R[re][0]===" "&&(R[re]=w.styles.danger(w.symbols.bullet)+R[re].slice(1))}),t.isValue(w.values[V.name])&&_++;return w.completed=(_/L*100).toFixed(0),w.output=R.join(` |
233 | `),w.output}};function c8(t,e,r,o){return(a,n,u,A)=>typeof u.field[t]=="function"?u.field[t].call(e,a,n,u,A):[o,a].find(p=>e.isValue(p))}});var The=U((C_t,Rhe)=>{"use strict";var zAt=Vc(),XAt=Fhe(),ZAt=oC(),A8=class extends ZAt{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await XAt(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let o=this.getItem(),a=o.input.slice(0,this.cursor),n=o.input.slice(this.cursor);this.input=o.input=`${a}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),o=e.input.slice(0,this.cursor-1);this.input=e.input=`${o}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:o,size:a}=this.state,n=[this.options.newline,` | 233 | `),w.output}};function u8(t,e,r,o){return(a,n,u,A)=>typeof u.field[t]=="function"?u.field[t].call(e,a,n,u,A):[o,a].find(p=>e.isValue(p))}});var _he=U((F_t,Uhe)=>{"use strict";var aft=Xc(),lft=Mhe(),cft=AE(),f8=class extends cft{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await lft(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let o=this.getItem(),a=o.input.slice(0,this.cursor),n=o.input.slice(this.cursor);this.input=o.input=`${a}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),o=e.input.slice(0,this.cursor-1);this.input=e.input=`${o}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:o,size:a}=this.state,n=[this.options.newline,` |
234 | `].find(J=>J!=null),u=await this.prefix(),A=await this.separator(),p=await this.message(),h=[u,p,A].filter(Boolean).join(" ");this.state.prompt=h;let C=await this.header(),w=await this.error()||"",v=await this.hint()||"",b=o?"":await this.interpolate(this.state),E=this.state.key=r[e]||"",R=await this.format(E),L=await this.footer();R&&(h+=" "+R),v&&!R&&this.state.completed===0&&(h+=" "+v),this.clear(a);let _=[C,h,b,L,w.trim()];this.write(_.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:r,keys:o,index:a}=this.state,n=r.find(u=>u.name===o[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:o,values:a}=this.state;if(e.size){let A="";for(let[p,h]of e)A+=`Invalid ${p}: ${h} | 234 | `].find(V=>V!=null),u=await this.prefix(),A=await this.separator(),p=await this.message(),h=[u,p,A].filter(Boolean).join(" ");this.state.prompt=h;let E=await this.header(),w=await this.error()||"",v=await this.hint()||"",b=o?"":await this.interpolate(this.state),C=this.state.key=r[e]||"",R=await this.format(C),L=await this.footer();R&&(h+=" "+R),v&&!R&&this.state.completed===0&&(h+=" "+v),this.clear(a);let _=[E,h,b,L,w.trim()];this.write(_.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:r,keys:o,index:a}=this.state,n=r.find(u=>u.name===o[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:o,values:a}=this.state;if(e.size){let A="";for(let[p,h]of e)A+=`Invalid ${p}: ${h} |
235 | `;return this.state.error=A,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let u=zAt.unstyle(o).split(` | 235 | `;return this.state.error=A,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let u=aft.unstyle(o).split(` |
236 | `).map(A=>A.slice(1)).join(` | 236 | `).map(A=>A.slice(1)).join(` |
237 | `);return this.value={values:a,result:u},super.submit()}};Rhe.exports=A8});var Lhe=U((I_t,Nhe)=>{"use strict";var $At="(Use <shift>+<up/down> to sort)",eft=v0(),f8=class extends eft{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,$At].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let o=await super.renderChoice(e,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+o:n+o}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Nhe.exports=f8});var Mhe=U((w_t,Ohe)=>{"use strict";var tft=G1(),p8=class extends tft{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(o=>this.styles.muted(o)),this.state.header=r.join(` | 237 | `);return this.value={values:a,result:u},super.submit()}};Uhe.exports=f8});var qhe=U((R_t,Hhe)=>{"use strict";var uft="(Use <shift>+<up/down> to sort)",Aft=D0(),p8=class extends Aft{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,uft].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let o=await super.renderChoice(e,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+o:n+o}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Hhe.exports=p8});var Ghe=U((T_t,jhe)=>{"use strict";var fft=V1(),h8=class extends fft{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(o=>this.styles.muted(o)),this.state.header=r.join(` |
238 | `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let o of r)o.scale=rft(5,this.options),o.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],o=r.selected;return e.scale.forEach(a=>a.selected=!1),r.selected=!o,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=this.term==="Hyper",n=a?9:8,u=a?"":" ",A=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=re=>(re?this.styles.success("\u25C9"):"\u25EF")+u,C=r+1+".",w=o?this.styles.heading:this.styles.noop,v=await this.resolve(e.message,this.state,e,r),b=this.indent(e),E=b+e.scale.map((re,oe)=>h(oe===e.scaleIdx)).join(A),R=re=>re===e.scaleIdx?w(re):re,L=b+e.scale.map((re,oe)=>R(oe)).join(p),_=()=>[C,v].filter(Boolean).join(" "),J=()=>[_(),E,L," "].filter(Boolean).join(` | 238 | `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let o of r)o.scale=pft(5,this.options),o.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],o=r.selected;return e.scale.forEach(a=>a.selected=!1),r.selected=!o,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=this.term==="Hyper",n=a?9:8,u=a?"":" ",A=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=re=>(re?this.styles.success("\u25C9"):"\u25EF")+u,E=r+1+".",w=o?this.styles.heading:this.styles.noop,v=await this.resolve(e.message,this.state,e,r),b=this.indent(e),C=b+e.scale.map((re,oe)=>h(oe===e.scaleIdx)).join(A),R=re=>re===e.scaleIdx?w(re):re,L=b+e.scale.map((re,oe)=>R(oe)).join(p),_=()=>[E,v].filter(Boolean).join(" "),V=()=>[_(),C,L," "].filter(Boolean).join(` |
239 | `);return o&&(E=this.styles.cyan(E),L=this.styles.cyan(L)),J()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(o,a)=>await this.renderChoice(o,a)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` | 239 | `);return o&&(C=this.styles.cyan(C),L=this.styles.cyan(L)),V()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(o,a)=>await this.renderChoice(o,a)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` |
240 | `)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=[o,n,a].filter(Boolean).join(" ");this.state.prompt=u;let A=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),C=await this.renderChoices(),w=await this.footer();(p||!h)&&(u+=" "+p),h&&!u.includes(h)&&(u+=" "+h),e&&!p&&!C&&this.multiple&&this.type!=="form"&&(u+=this.styles.danger(this.emptyError)),this.clear(r),this.write([u,A,C,w].filter(Boolean).join(` | 240 | `)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=[o,n,a].filter(Boolean).join(" ");this.state.prompt=u;let A=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),w=await this.footer();(p||!h)&&(u+=" "+p),h&&!u.includes(h)&&(u+=" "+h),e&&!p&&!E&&this.multiple&&this.type!=="form"&&(u+=this.styles.danger(this.emptyError)),this.clear(r),this.write([u,A,E,w].filter(Boolean).join(` |
241 | `)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function rft(t,e={}){if(Array.isArray(e.scale))return e.scale.map(o=>({...o}));let r=[];for(let o=1;o<t+1;o++)r.push({i:o,selected:!1});return r}Ohe.exports=p8});var _he=U((B_t,Uhe)=>{Uhe.exports=t8()});var qhe=U((v_t,Hhe)=>{"use strict";var nft=Kb(),h8=class extends nft{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=o=>this.styles.primary.underline(o);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),o=await this.prefix(),a=await this.separator(),n=await this.message(),u=await this.format(),A=await this.error()||await this.hint(),p=await this.footer(),h=[o,n,a,u].join(" ");this.state.prompt=h,A&&!h.includes(A)&&(h+=" "+A),this.clear(e),this.write([r,h,p].filter(Boolean).join(` | 241 | `)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function pft(t,e={}){if(Array.isArray(e.scale))return e.scale.map(o=>({...o}));let r=[];for(let o=1;o<t+1;o++)r.push({i:o,selected:!1});return r}jhe.exports=h8});var Yhe=U((N_t,Whe)=>{Whe.exports=r8()});var Vhe=U((L_t,Khe)=>{"use strict";var hft=eQ(),g8=class extends hft{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=o=>this.styles.primary.underline(o);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),o=await this.prefix(),a=await this.separator(),n=await this.message(),u=await this.format(),A=await this.error()||await this.hint(),p=await this.footer(),h=[o,n,a,u].join(" ");this.state.prompt=h,A&&!h.includes(A)&&(h+=" "+A),this.clear(e),this.write([r,h,p].filter(Boolean).join(` |
242 | `)),this.write(this.margin[2]),this.restore()}};Hhe.exports=h8});var Ghe=U((D_t,jhe)=>{"use strict";var ift=v0(),g8=class extends ift{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let o=await super.toChoices(e,r);if(o.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>o.length)throw new Error("Please specify the index of the correct answer from the list of choices");return o}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};jhe.exports=g8});var Yhe=U(d8=>{"use strict";var Whe=Fo(),ps=(t,e)=>{Whe.defineExport(d8,t,e),Whe.defineExport(d8,t.toLowerCase(),e)};ps("AutoComplete",()=>Z0e());ps("BasicAuth",()=>she());ps("Confirm",()=>lhe());ps("Editable",()=>uhe());ps("Form",()=>Yb());ps("Input",()=>t8());ps("Invisible",()=>mhe());ps("List",()=>Ehe());ps("MultiSelect",()=>Ihe());ps("Numeral",()=>vhe());ps("Password",()=>She());ps("Scale",()=>bhe());ps("Select",()=>v0());ps("Snippet",()=>The());ps("Sort",()=>Lhe());ps("Survey",()=>Mhe());ps("Text",()=>_he());ps("Toggle",()=>qhe());ps("Quiz",()=>Ghe())});var Jhe=U((P_t,Khe)=>{Khe.exports={ArrayPrompt:G1(),AuthPrompt:V_(),BooleanPrompt:Kb(),NumberPrompt:o8(),StringPrompt:Wd()}});var Y1=U((x_t,zhe)=>{"use strict";var Vhe=Ie("assert"),y8=Ie("events"),D0=Fo(),Xc=class extends y8{constructor(e,r){super(),this.options=D0.merge({},e),this.answers={...r}}register(e,r){if(D0.isObject(e)){for(let a of Object.keys(e))this.register(a,e[a]);return this}Vhe.equal(typeof r,"function","expected a function");let o=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[o]=r:this.prompts[o]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(D0.merge({},this.options,r))}catch(o){return Promise.reject(o)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=D0.merge({},this.options,e),{type:o,name:a}=e,{set:n,get:u}=D0;if(typeof o=="function"&&(o=await o.call(this,e,this.answers)),!o)return this.answers[a];Vhe(this.prompts[o],`Prompt "${o}" is not registered`);let A=new this.prompts[o](r),p=u(this.answers,a);A.state.answers=this.answers,A.enquirer=this,a&&A.on("submit",C=>{this.emit("answer",a,C,A),n(this.answers,a,C)});let h=A.emit.bind(A);return A.emit=(...C)=>(this.emit.call(this,...C),h(...C)),this.emit("prompt",A,this),r.autofill&&p!=null?(A.value=A.input=p,r.autofill==="show"&&await A.submit()):p=A.value=await A.run(),p}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||oC()}static get prompts(){return Yhe()}static get types(){return Jhe()}static get prompt(){let e=(r,...o)=>{let a=new this(...o),n=a.emit.bind(a);return a.emit=(...u)=>(e.emit(...u),n(...u)),a.prompt(r)};return D0.mixinEmitter(e,new y8),e}};D0.mixinEmitter(Xc,new y8);var m8=Xc.prompts;for(let t of Object.keys(m8)){let e=t.toLowerCase(),r=o=>new m8[t](o).run();Xc.prompt[e]=r,Xc[e]=r,Xc[t]||Reflect.defineProperty(Xc,t,{get:()=>m8[t]})}var W1=t=>{D0.defineExport(Xc,t,()=>Xc.types[t])};W1("ArrayPrompt");W1("AuthPrompt");W1("BooleanPrompt");W1("NumberPrompt");W1("StringPrompt");zhe.exports=Xc});var z1=U((u8t,nge)=>{var uft=Ob();function Aft(t,e,r){var o=t==null?void 0:uft(t,e);return o===void 0?r:o}nge.exports=Aft});var oge=U((d8t,sge)=>{function fft(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}sge.exports=fft});var lge=U((m8t,age)=>{var pft=fd(),hft=RS();function gft(t,e){return t&&pft(e,hft(e),t)}age.exports=gft});var uge=U((y8t,cge)=>{var dft=fd(),mft=_y();function yft(t,e){return t&&dft(e,mft(e),t)}cge.exports=yft});var fge=U((E8t,Age)=>{var Eft=fd(),Cft=SS();function Ift(t,e){return Eft(t,Cft(t),e)}Age.exports=Ift});var v8=U((C8t,pge)=>{var wft=DS(),Bft=MS(),vft=SS(),Dft=UN(),Sft=Object.getOwnPropertySymbols,Pft=Sft?function(t){for(var e=[];t;)wft(e,vft(t)),t=Bft(t);return e}:Dft;pge.exports=Pft});var gge=U((I8t,hge)=>{var xft=fd(),bft=v8();function Qft(t,e){return xft(t,bft(t),e)}hge.exports=Qft});var D8=U((w8t,dge)=>{var kft=MN(),Fft=v8(),Rft=_y();function Tft(t){return kft(t,Rft,Fft)}dge.exports=Tft});var yge=U((B8t,mge)=>{var Nft=Object.prototype,Lft=Nft.hasOwnProperty;function Oft(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&Lft.call(t,"index")&&(r.index=t.index,r.input=t.input),r}mge.exports=Oft});var Cge=U((v8t,Ege)=>{var Mft=LS();function Uft(t,e){var r=e?Mft(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}Ege.exports=Uft});var wge=U((D8t,Ige)=>{var _ft=/\w*$/;function Hft(t){var e=new t.constructor(t.source,_ft.exec(t));return e.lastIndex=t.lastIndex,e}Ige.exports=Hft});var Pge=U((S8t,Sge)=>{var Bge=cd(),vge=Bge?Bge.prototype:void 0,Dge=vge?vge.valueOf:void 0;function qft(t){return Dge?Object(Dge.call(t)):{}}Sge.exports=qft});var bge=U((P8t,xge)=>{var jft=LS(),Gft=Cge(),Wft=wge(),Yft=Pge(),Kft=$N(),Jft="[object Boolean]",Vft="[object Date]",zft="[object Map]",Xft="[object Number]",Zft="[object RegExp]",$ft="[object Set]",ept="[object String]",tpt="[object Symbol]",rpt="[object ArrayBuffer]",npt="[object DataView]",ipt="[object Float32Array]",spt="[object Float64Array]",opt="[object Int8Array]",apt="[object Int16Array]",lpt="[object Int32Array]",cpt="[object Uint8Array]",upt="[object Uint8ClampedArray]",Apt="[object Uint16Array]",fpt="[object Uint32Array]";function ppt(t,e,r){var o=t.constructor;switch(e){case rpt:return jft(t);case Jft:case Vft:return new o(+t);case npt:return Gft(t,r);case ipt:case spt:case opt:case apt:case lpt:case cpt:case upt:case Apt:case fpt:return Kft(t,r);case zft:return new o;case Xft:case ept:return new o(t);case Zft:return Wft(t);case $ft:return new o;case tpt:return Yft(t)}}xge.exports=ppt});var kge=U((x8t,Qge)=>{var hpt=Qw(),gpt=zu(),dpt="[object Map]";function mpt(t){return gpt(t)&&hpt(t)==dpt}Qge.exports=mpt});var Nge=U((b8t,Tge)=>{var ypt=kge(),Ept=xS(),Fge=bS(),Rge=Fge&&Fge.isMap,Cpt=Rge?Ept(Rge):ypt;Tge.exports=Cpt});var Oge=U((Q8t,Lge)=>{var Ipt=Qw(),wpt=zu(),Bpt="[object Set]";function vpt(t){return wpt(t)&&Ipt(t)==Bpt}Lge.exports=vpt});var Hge=U((k8t,_ge)=>{var Dpt=Oge(),Spt=xS(),Mge=bS(),Uge=Mge&&Mge.isSet,Ppt=Uge?Spt(Uge):Dpt;_ge.exports=Ppt});var S8=U((F8t,Wge)=>{var xpt=BS(),bpt=oge(),Qpt=US(),kpt=lge(),Fpt=uge(),Rpt=ZN(),Tpt=OS(),Npt=fge(),Lpt=gge(),Opt=jN(),Mpt=D8(),Upt=Qw(),_pt=yge(),Hpt=bge(),qpt=eL(),jpt=jl(),Gpt=Dw(),Wpt=Nge(),Ypt=il(),Kpt=Hge(),Jpt=RS(),Vpt=_y(),zpt=1,Xpt=2,Zpt=4,qge="[object Arguments]",$pt="[object Array]",e0t="[object Boolean]",t0t="[object Date]",r0t="[object Error]",jge="[object Function]",n0t="[object GeneratorFunction]",i0t="[object Map]",s0t="[object Number]",Gge="[object Object]",o0t="[object RegExp]",a0t="[object Set]",l0t="[object String]",c0t="[object Symbol]",u0t="[object WeakMap]",A0t="[object ArrayBuffer]",f0t="[object DataView]",p0t="[object Float32Array]",h0t="[object Float64Array]",g0t="[object Int8Array]",d0t="[object Int16Array]",m0t="[object Int32Array]",y0t="[object Uint8Array]",E0t="[object Uint8ClampedArray]",C0t="[object Uint16Array]",I0t="[object Uint32Array]",zn={};zn[qge]=zn[$pt]=zn[A0t]=zn[f0t]=zn[e0t]=zn[t0t]=zn[p0t]=zn[h0t]=zn[g0t]=zn[d0t]=zn[m0t]=zn[i0t]=zn[s0t]=zn[Gge]=zn[o0t]=zn[a0t]=zn[l0t]=zn[c0t]=zn[y0t]=zn[E0t]=zn[C0t]=zn[I0t]=!0;zn[r0t]=zn[jge]=zn[u0t]=!1;function zb(t,e,r,o,a,n){var u,A=e&zpt,p=e&Xpt,h=e&Zpt;if(r&&(u=a?r(t,o,a,n):r(t)),u!==void 0)return u;if(!Ypt(t))return t;var C=jpt(t);if(C){if(u=_pt(t),!A)return Tpt(t,u)}else{var w=Upt(t),v=w==jge||w==n0t;if(Gpt(t))return Rpt(t,A);if(w==Gge||w==qge||v&&!a){if(u=p||v?{}:qpt(t),!A)return p?Lpt(t,Fpt(u,t)):Npt(t,kpt(u,t))}else{if(!zn[w])return a?t:{};u=Hpt(t,w,A)}}n||(n=new xpt);var b=n.get(t);if(b)return b;n.set(t,u),Kpt(t)?t.forEach(function(L){u.add(zb(L,e,r,L,t,n))}):Wpt(t)&&t.forEach(function(L,_){u.set(_,zb(L,e,r,_,t,n))});var E=h?p?Mpt:Opt:p?Vpt:Jpt,R=C?void 0:E(t);return bpt(R||t,function(L,_){R&&(_=L,L=t[_]),Qpt(u,_,zb(L,e,r,_,t,n))}),u}Wge.exports=zb});var P8=U((R8t,Yge)=>{var w0t=S8(),B0t=1,v0t=4;function D0t(t){return w0t(t,B0t|v0t)}Yge.exports=D0t});var x8=U((T8t,Kge)=>{var S0t=y_();function P0t(t,e,r){return t==null?t:S0t(t,e,r)}Kge.exports=P0t});var Zge=U((_8t,Xge)=>{var x0t=Object.prototype,b0t=x0t.hasOwnProperty;function Q0t(t,e){return t!=null&&b0t.call(t,e)}Xge.exports=Q0t});var ede=U((H8t,$ge)=>{var k0t=Zge(),F0t=E_();function R0t(t,e){return t!=null&&F0t(t,e,k0t)}$ge.exports=R0t});var rde=U((q8t,tde)=>{function T0t(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}tde.exports=T0t});var ide=U((j8t,nde)=>{var N0t=Ob(),L0t=gU();function O0t(t,e){return e.length<2?t:N0t(t,L0t(e,0,-1))}nde.exports=O0t});var Q8=U((G8t,sde)=>{var M0t=qd(),U0t=rde(),_0t=ide(),H0t=eC();function q0t(t,e){return e=M0t(e,t),t=_0t(t,e),t==null||delete t[H0t(U0t(e))]}sde.exports=q0t});var k8=U((W8t,ode)=>{var j0t=Q8();function G0t(t,e){return t==null?!0:j0t(t,e)}ode.exports=G0t});var Ade=U((CHt,K0t)=>{K0t.exports={name:"@yarnpkg/cli",version:"4.0.0-rc.37",stableVersion:"3.3.1",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^3.2.0",clipanion:"^3.2.0-rc.10",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.3.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=14.15.0"}}});var _8=U((zjt,vde)=>{"use strict";vde.exports=function(e,r){r===!0&&(r=0);var o="";if(typeof e=="string")try{o=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(o=e.protocol);var a=o.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var Sde=U((Xjt,Dde)=>{"use strict";var cht=_8();function uht(t){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:t,query:{},parse_failed:!1};try{var r=new URL(t);e.protocols=cht(r),e.protocol=e.protocols[0],e.port=r.port,e.resource=r.hostname,e.host=r.host,e.user=r.username||"",e.password=r.password||"",e.pathname=r.pathname,e.hash=r.hash.slice(1),e.search=r.search.slice(1),e.href=r.href,e.query=Object.fromEntries(r.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=t,e.query={},e.parse_failed=!0}return e}Dde.exports=uht});var bde=U((Zjt,xde)=>{"use strict";var Aht=Sde();function fht(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var pht=fht(Aht),hht="text/plain",ght="us-ascii",Pde=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),dht=(t,{stripHash:e})=>{let r=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:o,data:a,hash:n}=r.groups,u=o.split(";");n=e?"":n;let A=!1;u[u.length-1]==="base64"&&(u.pop(),A=!0);let p=(u.shift()||"").toLowerCase(),C=[...u.map(w=>{let[v,b=""]=w.split("=").map(E=>E.trim());return v==="charset"&&(b=b.toLowerCase(),b===ght)?"":`${v}${b?`=${b}`:""}`}).filter(Boolean)];return A&&C.push("base64"),(C.length>0||p&&p!==hht)&&C.unshift(p),`data:${C.join(";")},${A?a.trim():a}${n?`#${n}`:""}`};function mht(t,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},t=t.trim(),/^data:/i.test(t))return dht(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash?a.hash="":e.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let u=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,A=0,p="";for(;;){let C=u.exec(a.pathname);if(!C)break;let w=C[0],v=C.index,b=a.pathname.slice(A,v);p+=b.replace(/\/{2,}/g,"/"),p+=w,A=v+w.length}let h=a.pathname.slice(A,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let u=a.pathname.split("/"),A=u[u.length-1];Pde(A,e.removeDirectoryIndex)&&(u=u.slice(0,-1),a.pathname=u.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let u of[...a.searchParams.keys()])Pde(u,e.removeQueryParameters)&&a.searchParams.delete(u);if(e.removeQueryParameters===!0&&(a.search=""),e.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=t;return t=a.toString(),!e.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t}var H8=(t,e=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=n=>{let u=new Error(n);throw u.subject_url=t,u};(typeof t!="string"||!t.trim())&&o("Invalid url."),t.length>H8.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),t=mht(t,e));let a=pht.default(t);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):o("URL parsing failed.")}return a};H8.MAX_INPUT_LENGTH=2048;xde.exports=H8});var Fde=U(($jt,kde)=>{"use strict";var yht=_8();function Qde(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=yht(t);if(t=t.substring(t.indexOf("://")+3),Qde(e))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(r)&&t.indexOf("@")<t.indexOf(":")}kde.exports=Qde});var Nde=U((e9t,Tde)=>{"use strict";var Eht=bde(),Rde=Fde();function Cht(t){var e=Eht(t);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),Rde(e.protocols)||e.protocols.length===0&&Rde(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}Tde.exports=Cht});var Ode=U((t9t,Lde)=>{"use strict";var Iht=Nde();function q8(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(t)&&(t="https://github.com/"+t);var r=Iht(t),o=r.resource.split("."),a=null;switch(r.toString=function(L){return q8.stringify(this,L)},r.source=o.length>2?o.slice(1-o.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=o[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var u=a.indexOf("-",2),A=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),C=a.indexOf("src",2),w=a.indexOf("raw",2),v=a.indexOf("edit",2);n=u>0?u-1:A>0?A-1:p>0?p-1:h>0?h-1:C>0?C-1:w>0?w-1:v>0?v-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var b=a.length>n&&a[n+1]==="-"?n+1:n;a.length>b+2&&["raw","src","blob","tree","edit"].indexOf(a[b+1])>=0&&(r.filepathtype=a[b+1],r.ref=a[b+2],a.length>b+3&&(r.filepath=a.slice(b+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var E=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,R=E.exec(r.pathname);return R!=null&&(r.source="bitbucket-server",R[1]==="users"?r.owner="~"+R[2]:r.owner=R[2],r.organization=r.owner,r.name=R[3],a=R[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}q8.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",o=t.user||"git",a=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+o+"@"+t.resource+r+"/"+t.full_name+a:o+"@"+t.resource+":"+t.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+o+"@"+t.resource+r+"/"+t.full_name+a;case"http":case"https":var n=t.token?wht(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+n+t.resource+r+"/"+Bht(t)+a;default:return t.href}};function wht(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}function Bht(t){switch(t.source){case"bitbucket-server":return"scm/"+t.full_name;default:return""+t.full_name}}Lde.exports=q8});var $de=U((T5t,Zde)=>{var Rht=Dx(),Tht=OS(),Nht=jl(),Lht=oE(),Oht=m_(),Mht=eC(),Uht=C1();function _ht(t){return Nht(t)?Rht(t,Mht):Lht(t)?[t]:Tht(Oht(Uht(t)))}Zde.exports=_ht});function Ght(t,e){return e===1&&jht.has(t[0])}function i2(t){let e=Array.isArray(t)?t:(0,rme.default)(t);return e.map((o,a)=>Hht.test(o)?`[${o}]`:qht.test(o)&&!Ght(e,a)?`.${o}`:`[${JSON.stringify(o)}]`).join("").replace(/^\./,"")}function Wht(t,e){let r=[];if(e.methodName!==null&&r.push(ye.pretty(t,e.methodName,ye.Type.CODE)),e.file!==null){let o=[];o.push(ye.pretty(t,e.file,ye.Type.PATH)),e.line!==null&&(o.push(ye.pretty(t,e.line,ye.Type.NUMBER)),e.column!==null&&o.push(ye.pretty(t,e.line,ye.Type.NUMBER))),r.push(`(${o.join(ye.pretty(t,":","grey"))})`)}return r.join(" ")}function eQ(t,{manifestUpdates:e,reportedErrors:r},{fix:o}={}){var u;let a=new Map,n=new Map;for(let[A,p]of e){let h=((u=r.get(A))==null?void 0:u.map(b=>({text:b,fixable:!1})))??[],C=!1,w=t.getWorkspaceByCwd(A),v=w.manifest.exportTo({});for(let[b,E]of p){if(E.size>1){let R=[...E].map(([L,_])=>{let J=ye.pretty(t.configuration,L,ye.Type.INSPECT),re=_.size>0?Wht(t.configuration,_.values().next().value):null;return re!==null?` | 242 | `)),this.write(this.margin[2]),this.restore()}};Khe.exports=g8});var zhe=U((O_t,Jhe)=>{"use strict";var gft=D0(),d8=class extends gft{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let o=await super.toChoices(e,r);if(o.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>o.length)throw new Error("Please specify the index of the correct answer from the list of choices");return o}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Jhe.exports=d8});var Zhe=U(m8=>{"use strict";var Xhe=Fo(),ps=(t,e)=>{Xhe.defineExport(m8,t,e),Xhe.defineExport(m8,t.toLowerCase(),e)};ps("AutoComplete",()=>ihe());ps("BasicAuth",()=>Ahe());ps("Confirm",()=>hhe());ps("Editable",()=>dhe());ps("Form",()=>$b());ps("Input",()=>r8());ps("Invisible",()=>Bhe());ps("List",()=>Dhe());ps("MultiSelect",()=>Phe());ps("Numeral",()=>Qhe());ps("Password",()=>Fhe());ps("Scale",()=>Nhe());ps("Select",()=>D0());ps("Snippet",()=>_he());ps("Sort",()=>qhe());ps("Survey",()=>Ghe());ps("Text",()=>Yhe());ps("Toggle",()=>Vhe());ps("Quiz",()=>zhe())});var ege=U((U_t,$he)=>{$he.exports={ArrayPrompt:V1(),AuthPrompt:z_(),BooleanPrompt:eQ(),NumberPrompt:a8(),StringPrompt:Vd()}});var z1=U((__t,rge)=>{"use strict";var tge=Ie("assert"),C8=Ie("events"),S0=Fo(),$c=class extends C8{constructor(e,r){super(),this.options=S0.merge({},e),this.answers={...r}}register(e,r){if(S0.isObject(e)){for(let a of Object.keys(e))this.register(a,e[a]);return this}tge.equal(typeof r,"function","expected a function");let o=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[o]=r:this.prompts[o]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(S0.merge({},this.options,r))}catch(o){return Promise.reject(o)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=S0.merge({},this.options,e),{type:o,name:a}=e,{set:n,get:u}=S0;if(typeof o=="function"&&(o=await o.call(this,e,this.answers)),!o)return this.answers[a];tge(this.prompts[o],`Prompt "${o}" is not registered`);let A=new this.prompts[o](r),p=u(this.answers,a);A.state.answers=this.answers,A.enquirer=this,a&&A.on("submit",E=>{this.emit("answer",a,E,A),n(this.answers,a,E)});let h=A.emit.bind(A);return A.emit=(...E)=>(this.emit.call(this,...E),h(...E)),this.emit("prompt",A,this),r.autofill&&p!=null?(A.value=A.input=p,r.autofill==="show"&&await A.submit()):p=A.value=await A.run(),p}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||AE()}static get prompts(){return Zhe()}static get types(){return ege()}static get prompt(){let e=(r,...o)=>{let a=new this(...o),n=a.emit.bind(a);return a.emit=(...u)=>(e.emit(...u),n(...u)),a.prompt(r)};return S0.mixinEmitter(e,new C8),e}};S0.mixinEmitter($c,new C8);var y8=$c.prompts;for(let t of Object.keys(y8)){let e=t.toLowerCase(),r=o=>new y8[t](o).run();$c.prompt[e]=r,$c[e]=r,$c[t]||Reflect.defineProperty($c,t,{get:()=>y8[t]})}var J1=t=>{S0.defineExport($c,t,()=>$c.types[t])};J1("ArrayPrompt");J1("AuthPrompt");J1("BooleanPrompt");J1("NumberPrompt");J1("StringPrompt");rge.exports=$c});var e2=U((w8t,cge)=>{var Ift=Gb();function wft(t,e,r){var o=t==null?void 0:Ift(t,e);return o===void 0?r:o}cge.exports=wft});var fge=U((x8t,Age)=>{function Bft(t,e){for(var r=-1,o=t==null?0:t.length;++r<o&&e(t[r],r,t)!==!1;);return t}Age.exports=Bft});var hge=U((b8t,pge)=>{var vft=gd(),Dft=_S();function Sft(t,e){return t&&vft(e,Dft(e),t)}pge.exports=Sft});var dge=U((Q8t,gge)=>{var Pft=gd(),xft=Wy();function bft(t,e){return t&&Pft(e,xft(e),t)}gge.exports=bft});var yge=U((k8t,mge)=>{var Qft=gd(),kft=TS();function Fft(t,e){return Qft(t,kft(t),e)}mge.exports=Fft});var D8=U((F8t,Cge)=>{var Rft=RS(),Tft=WS(),Nft=TS(),Lft=_N(),Oft=Object.getOwnPropertySymbols,Mft=Oft?function(t){for(var e=[];t;)Rft(e,Nft(t)),t=Tft(t);return e}:Lft;Cge.exports=Mft});var Ige=U((R8t,Ege)=>{var Uft=gd(),_ft=D8();function Hft(t,e){return Uft(t,_ft(t),e)}Ege.exports=Hft});var S8=U((T8t,wge)=>{var qft=UN(),jft=D8(),Gft=Wy();function Wft(t){return qft(t,Gft,jft)}wge.exports=Wft});var vge=U((N8t,Bge)=>{var Yft=Object.prototype,Kft=Yft.hasOwnProperty;function Vft(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&Kft.call(t,"index")&&(r.index=t.index,r.input=t.input),r}Bge.exports=Vft});var Sge=U((L8t,Dge)=>{var Jft=jS();function zft(t,e){var r=e?Jft(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}Dge.exports=zft});var xge=U((O8t,Pge)=>{var Xft=/\w*$/;function Zft(t){var e=new t.constructor(t.source,Xft.exec(t));return e.lastIndex=t.lastIndex,e}Pge.exports=Zft});var Rge=U((M8t,Fge)=>{var bge=fd(),Qge=bge?bge.prototype:void 0,kge=Qge?Qge.valueOf:void 0;function $ft(t){return kge?Object(kge.call(t)):{}}Fge.exports=$ft});var Nge=U((U8t,Tge)=>{var ept=jS(),tpt=Sge(),rpt=xge(),npt=Rge(),ipt=eL(),spt="[object Boolean]",opt="[object Date]",apt="[object Map]",lpt="[object Number]",cpt="[object RegExp]",upt="[object Set]",Apt="[object String]",fpt="[object Symbol]",ppt="[object ArrayBuffer]",hpt="[object DataView]",gpt="[object Float32Array]",dpt="[object Float64Array]",mpt="[object Int8Array]",ypt="[object Int16Array]",Cpt="[object Int32Array]",Ept="[object Uint8Array]",Ipt="[object Uint8ClampedArray]",wpt="[object Uint16Array]",Bpt="[object Uint32Array]";function vpt(t,e,r){var o=t.constructor;switch(e){case ppt:return ept(t);case spt:case opt:return new o(+t);case hpt:return tpt(t,r);case gpt:case dpt:case mpt:case ypt:case Cpt:case Ept:case Ipt:case wpt:case Bpt:return ipt(t,r);case apt:return new o;case lpt:case Apt:return new o(t);case cpt:return rpt(t);case upt:return new o;case fpt:return npt(t)}}Tge.exports=vpt});var Oge=U((_8t,Lge)=>{var Dpt=Tw(),Spt=Xu(),Ppt="[object Map]";function xpt(t){return Spt(t)&&Dpt(t)==Ppt}Lge.exports=xpt});var Hge=U((H8t,_ge)=>{var bpt=Oge(),Qpt=LS(),Mge=OS(),Uge=Mge&&Mge.isMap,kpt=Uge?Qpt(Uge):bpt;_ge.exports=kpt});var jge=U((q8t,qge)=>{var Fpt=Tw(),Rpt=Xu(),Tpt="[object Set]";function Npt(t){return Rpt(t)&&Fpt(t)==Tpt}qge.exports=Npt});var Kge=U((j8t,Yge)=>{var Lpt=jge(),Opt=LS(),Gge=OS(),Wge=Gge&&Gge.isSet,Mpt=Wge?Opt(Wge):Lpt;Yge.exports=Mpt});var P8=U((G8t,Xge)=>{var Upt=QS(),_pt=fge(),Hpt=YS(),qpt=hge(),jpt=dge(),Gpt=$N(),Wpt=GS(),Ypt=yge(),Kpt=Ige(),Vpt=GN(),Jpt=S8(),zpt=Tw(),Xpt=vge(),Zpt=Nge(),$pt=tL(),e0t=Yl(),t0t=bw(),r0t=Hge(),n0t=ol(),i0t=Kge(),s0t=_S(),o0t=Wy(),a0t=1,l0t=2,c0t=4,Vge="[object Arguments]",u0t="[object Array]",A0t="[object Boolean]",f0t="[object Date]",p0t="[object Error]",Jge="[object Function]",h0t="[object GeneratorFunction]",g0t="[object Map]",d0t="[object Number]",zge="[object Object]",m0t="[object RegExp]",y0t="[object Set]",C0t="[object String]",E0t="[object Symbol]",I0t="[object WeakMap]",w0t="[object ArrayBuffer]",B0t="[object DataView]",v0t="[object Float32Array]",D0t="[object Float64Array]",S0t="[object Int8Array]",P0t="[object Int16Array]",x0t="[object Int32Array]",b0t="[object Uint8Array]",Q0t="[object Uint8ClampedArray]",k0t="[object Uint16Array]",F0t="[object Uint32Array]",Xn={};Xn[Vge]=Xn[u0t]=Xn[w0t]=Xn[B0t]=Xn[A0t]=Xn[f0t]=Xn[v0t]=Xn[D0t]=Xn[S0t]=Xn[P0t]=Xn[x0t]=Xn[g0t]=Xn[d0t]=Xn[zge]=Xn[m0t]=Xn[y0t]=Xn[C0t]=Xn[E0t]=Xn[b0t]=Xn[Q0t]=Xn[k0t]=Xn[F0t]=!0;Xn[p0t]=Xn[Jge]=Xn[I0t]=!1;function nQ(t,e,r,o,a,n){var u,A=e&a0t,p=e&l0t,h=e&c0t;if(r&&(u=a?r(t,o,a,n):r(t)),u!==void 0)return u;if(!n0t(t))return t;var E=e0t(t);if(E){if(u=Xpt(t),!A)return Wpt(t,u)}else{var w=zpt(t),v=w==Jge||w==h0t;if(t0t(t))return Gpt(t,A);if(w==zge||w==Vge||v&&!a){if(u=p||v?{}:$pt(t),!A)return p?Kpt(t,jpt(u,t)):Ypt(t,qpt(u,t))}else{if(!Xn[w])return a?t:{};u=Zpt(t,w,A)}}n||(n=new Upt);var b=n.get(t);if(b)return b;n.set(t,u),i0t(t)?t.forEach(function(L){u.add(nQ(L,e,r,L,t,n))}):r0t(t)&&t.forEach(function(L,_){u.set(_,nQ(L,e,r,_,t,n))});var C=h?p?Jpt:Vpt:p?o0t:s0t,R=E?void 0:C(t);return _pt(R||t,function(L,_){R&&(_=L,L=t[_]),Hpt(u,_,nQ(L,e,r,_,t,n))}),u}Xge.exports=nQ});var x8=U((W8t,Zge)=>{var R0t=P8(),T0t=1,N0t=4;function L0t(t){return R0t(t,T0t|N0t)}Zge.exports=L0t});var b8=U((Y8t,$ge)=>{var O0t=C_();function M0t(t,e,r){return t==null?t:O0t(t,e,r)}$ge.exports=M0t});var ide=U((Z8t,nde)=>{var U0t=Object.prototype,_0t=U0t.hasOwnProperty;function H0t(t,e){return t!=null&&_0t.call(t,e)}nde.exports=H0t});var ode=U(($8t,sde)=>{var q0t=ide(),j0t=E_();function G0t(t,e){return t!=null&&j0t(t,e,q0t)}sde.exports=G0t});var lde=U((eHt,ade)=>{function W0t(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}ade.exports=W0t});var ude=U((tHt,cde)=>{var Y0t=Gb(),K0t=dU();function V0t(t,e){return e.length<2?t:Y0t(t,K0t(e,0,-1))}cde.exports=V0t});var k8=U((rHt,Ade)=>{var J0t=Wd(),z0t=lde(),X0t=ude(),Z0t=sE();function $0t(t,e){return e=J0t(e,t),t=X0t(t,e),t==null||delete t[Z0t(z0t(e))]}Ade.exports=$0t});var F8=U((nHt,fde)=>{var eht=k8();function tht(t,e){return t==null?!0:eht(t,e)}fde.exports=tht});var mde=U((FHt,iht)=>{iht.exports={name:"@yarnpkg/cli",version:"4.0.0-rc.42",stableVersion:"3.4.1",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^3.2.0",clipanion:"^3.2.0-rc.10",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.3.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=14.15.0"}}});var H8=U((aGt,Qde)=>{"use strict";Qde.exports=function(e,r){r===!0&&(r=0);var o="";if(typeof e=="string")try{o=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(o=e.protocol);var a=o.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var Fde=U((lGt,kde)=>{"use strict";var Eht=H8();function Iht(t){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:t,query:{},parse_failed:!1};try{var r=new URL(t);e.protocols=Eht(r),e.protocol=e.protocols[0],e.port=r.port,e.resource=r.hostname,e.host=r.host,e.user=r.username||"",e.password=r.password||"",e.pathname=r.pathname,e.hash=r.hash.slice(1),e.search=r.search.slice(1),e.href=r.href,e.query=Object.fromEntries(r.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=t,e.query={},e.parse_failed=!0}return e}kde.exports=Iht});var Nde=U((cGt,Tde)=>{"use strict";var wht=Fde();function Bht(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var vht=Bht(wht),Dht="text/plain",Sht="us-ascii",Rde=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Pht=(t,{stripHash:e})=>{let r=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:o,data:a,hash:n}=r.groups,u=o.split(";");n=e?"":n;let A=!1;u[u.length-1]==="base64"&&(u.pop(),A=!0);let p=(u.shift()||"").toLowerCase(),E=[...u.map(w=>{let[v,b=""]=w.split("=").map(C=>C.trim());return v==="charset"&&(b=b.toLowerCase(),b===Sht)?"":`${v}${b?`=${b}`:""}`}).filter(Boolean)];return A&&E.push("base64"),(E.length>0||p&&p!==Dht)&&E.unshift(p),`data:${E.join(";")},${A?a.trim():a}${n?`#${n}`:""}`};function xht(t,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},t=t.trim(),/^data:/i.test(t))return Pht(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash?a.hash="":e.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let u=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,A=0,p="";for(;;){let E=u.exec(a.pathname);if(!E)break;let w=E[0],v=E.index,b=a.pathname.slice(A,v);p+=b.replace(/\/{2,}/g,"/"),p+=w,A=v+w.length}let h=a.pathname.slice(A,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let u=a.pathname.split("/"),A=u[u.length-1];Rde(A,e.removeDirectoryIndex)&&(u=u.slice(0,-1),a.pathname=u.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let u of[...a.searchParams.keys()])Rde(u,e.removeQueryParameters)&&a.searchParams.delete(u);if(e.removeQueryParameters===!0&&(a.search=""),e.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=t;return t=a.toString(),!e.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t}var q8=(t,e=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=n=>{let u=new Error(n);throw u.subject_url=t,u};(typeof t!="string"||!t.trim())&&o("Invalid url."),t.length>q8.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),t=xht(t,e));let a=vht.default(t);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):o("URL parsing failed.")}return a};q8.MAX_INPUT_LENGTH=2048;Tde.exports=q8});var Mde=U((uGt,Ode)=>{"use strict";var bht=H8();function Lde(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=bht(t);if(t=t.substring(t.indexOf("://")+3),Lde(e))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(r)&&t.indexOf("@")<t.indexOf(":")}Ode.exports=Lde});var Hde=U((AGt,_de)=>{"use strict";var Qht=Nde(),Ude=Mde();function kht(t){var e=Qht(t);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),Ude(e.protocols)||e.protocols.length===0&&Ude(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}_de.exports=kht});var jde=U((fGt,qde)=>{"use strict";var Fht=Hde();function j8(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(t)&&(t="https://github.com/"+t);var r=Fht(t),o=r.resource.split("."),a=null;switch(r.toString=function(L){return j8.stringify(this,L)},r.source=o.length>2?o.slice(1-o.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=o[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var u=a.indexOf("-",2),A=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),E=a.indexOf("src",2),w=a.indexOf("raw",2),v=a.indexOf("edit",2);n=u>0?u-1:A>0?A-1:p>0?p-1:h>0?h-1:E>0?E-1:w>0?w-1:v>0?v-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var b=a.length>n&&a[n+1]==="-"?n+1:n;a.length>b+2&&["raw","src","blob","tree","edit"].indexOf(a[b+1])>=0&&(r.filepathtype=a[b+1],r.ref=a[b+2],a.length>b+3&&(r.filepath=a.slice(b+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var C=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,R=C.exec(r.pathname);return R!=null&&(r.source="bitbucket-server",R[1]==="users"?r.owner="~"+R[2]:r.owner=R[2],r.organization=r.owner,r.name=R[3],a=R[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}j8.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",o=t.user||"git",a=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+o+"@"+t.resource+r+"/"+t.full_name+a:o+"@"+t.resource+":"+t.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+o+"@"+t.resource+r+"/"+t.full_name+a;case"http":case"https":var n=t.token?Rht(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+n+t.resource+r+"/"+Tht(t)+a;default:return t.href}};function Rht(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}function Tht(t){switch(t.source){case"bitbucket-server":return"scm/"+t.full_name;default:return""+t.full_name}}qde.exports=j8});var sme=U((j9t,ime)=>{var Ght=Fx(),Wht=GS(),Yht=Yl(),Kht=AC(),Vht=y_(),Jht=sE(),zht=v1();function Xht(t){return Yht(t)?Ght(t,Jht):Kht(t)?[t]:Wht(Vht(zht(t)))}ime.exports=Xht});function tgt(t,e){return e===1&&egt.has(t[0])}function l2(t){let e=Array.isArray(t)?t:(0,lme.default)(t);return e.map((o,a)=>Zht.test(o)?`[${o}]`:$ht.test(o)&&!tgt(e,a)?`.${o}`:`[${JSON.stringify(o)}]`).join("").replace(/^\./,"")}function rgt(t,e){let r=[];if(e.methodName!==null&&r.push(ye.pretty(t,e.methodName,ye.Type.CODE)),e.file!==null){let o=[];o.push(ye.pretty(t,e.file,ye.Type.PATH)),e.line!==null&&(o.push(ye.pretty(t,e.line,ye.Type.NUMBER)),e.column!==null&&o.push(ye.pretty(t,e.line,ye.Type.NUMBER))),r.push(`(${o.join(ye.pretty(t,":","grey"))})`)}return r.join(" ")}function aQ(t,{manifestUpdates:e,reportedErrors:r},{fix:o}={}){var u;let a=new Map,n=new Map;for(let[A,p]of e){let h=((u=r.get(A))==null?void 0:u.map(b=>({text:b,fixable:!1})))??[],E=!1,w=t.getWorkspaceByCwd(A),v=w.manifest.exportTo({});for(let[b,C]of p){if(C.size>1){let R=[...C].map(([L,_])=>{let V=ye.pretty(t.configuration,L,ye.Type.INSPECT),re=_.size>0?rgt(t.configuration,_.values().next().value):null;return re!==null?` |
243 | ${J} at ${re}`:` | 243 | ${V} at ${re}`:` |
244 | ${J}`}).join("");h.push({text:`Conflict detected in constraint targeting ${ye.pretty(t.configuration,b,ye.Type.CODE)}; conflicting values are:${R}`,fixable:!1})}else{let[[R]]=E,L=(0,eme.default)(v,b);if(L===R)continue;if(!o){let _=typeof L>"u"?`Missing field ${ye.pretty(t.configuration,b,ye.Type.CODE)}; expected ${ye.pretty(t.configuration,R,ye.Type.INSPECT)}`:typeof R>"u"?`Extraneous field ${ye.pretty(t.configuration,b,ye.Type.CODE)} currently set to ${ye.pretty(t.configuration,L,ye.Type.INSPECT)}`:`Invalid field ${ye.pretty(t.configuration,b,ye.Type.CODE)}; expected ${ye.pretty(t.configuration,R,ye.Type.INSPECT)}, found ${ye.pretty(t.configuration,L,ye.Type.INSPECT)}`;h.push({text:_,fixable:!0});continue}typeof R>"u"?(0,nme.default)(v,b):(0,tme.default)(v,b,R),C=!0}C&&a.set(w,v)}h.length>0&&n.set(w,h)}return{changedWorkspaces:a,remainingErrors:n}}var eme,tme,rme,nme,n2,Hht,qht,jht,s2=dt(()=>{Ke();eme=tt(z1()),tme=tt(x8()),rme=tt($de()),nme=tt(k8()),n2=class{constructor(e){this.indexedFields=e;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let e of this.indexedFields)this.indexes[e]=new Map}insert(e){this.items.push(e);for(let r of this.indexedFields){let o=Object.prototype.hasOwnProperty.call(e,r)?e[r]:void 0;if(typeof o>"u")continue;Ye.getArrayWithDefault(this.indexes[r],o).push(e)}return e}find(e){if(typeof e>"u")return this.items;let r=Object.entries(e);if(r.length===0)return this.items;let o=[],a;for(let[u,A]of r){let p=u,h=Object.prototype.hasOwnProperty.call(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){o.push([p,A]);continue}let C=new Set(h.get(A)??[]);if(C.size===0)return[];if(typeof a>"u")a=C;else for(let w of a)C.has(w)||a.delete(w);if(a.size===0)break}let n=[...a??[]];return o.length>0&&(n=n.filter(u=>{for(let[A,p]of o)if(!(typeof p<"u"?Object.prototype.hasOwnProperty.call(u,A)&&u[A]===p:Object.prototype.hasOwnProperty.call(u,A)===!1))return!1;return!0})),n}},Hht=/^[0-9]+$/,qht=/^[a-zA-Z0-9_]+$/,jht=new Set(["scripts",...Nt.allDependencies])});var ime=U((j5t,nH)=>{var Yht;(function(t){var e=function(){return{"append/2":[new t.type.Rule(new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("L")]),new t.type.Term("foldl",[new t.type.Term("append",[]),new t.type.Var("X"),new t.type.Term("[]",[]),new t.type.Var("L")]))],"append/3":[new t.type.Rule(new t.type.Term("append",[new t.type.Term("[]",[]),new t.type.Var("X"),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("append",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("append",[new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("S")]))],"member/2":[new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("_")])]),null),new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")])]),new t.type.Term("member",[new t.type.Var("X"),new t.type.Var("Xs")]))],"permutation/2":[new t.type.Rule(new t.type.Term("permutation",[new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("permutation",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("permutation",[new t.type.Var("T"),new t.type.Var("P")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("P")]),new t.type.Term("append",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("Y")]),new t.type.Var("S")])])]))],"maplist/2":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("X")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("Xs")])]))],"maplist/3":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs")])]))],"maplist/4":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs")])]))],"maplist/5":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds")])]))],"maplist/6":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es")])]))],"maplist/7":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs")])]))],"maplist/8":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")]),new t.type.Term(".",[new t.type.Var("G"),new t.type.Var("Gs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F"),new t.type.Var("G")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs"),new t.type.Var("Gs")])]))],"include/3":[new t.type.Rule(new t.type.Term("include",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("include",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("A")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("A"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("F"),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("F")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("L"),new t.type.Var("S")])]),new t.type.Term("include",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("S")])])])])]))],"exclude/3":[new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("E")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("Q")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("R"),new t.type.Var("Q")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("!",[]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("E")])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("E")])])])])])])]))],"foldl/4":[new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Var("I"),new t.type.Var("I")]),null),new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("I"),new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("I"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])])])]),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P2"),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P2")]),new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("R")])])])])]))],"select/3":[new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Xs")]),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term("select",[new t.type.Var("E"),new t.type.Var("Xs"),new t.type.Var("Ys")]))],"sum_list/2":[new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term("[]",[]),new t.type.Num(0,!1)]),null),new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("sum_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("+",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"max_list/2":[new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("max_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"min_list/2":[new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("min_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("=<",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"prod_list/2":[new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term("[]",[]),new t.type.Num(1,!1)]),null),new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("prod_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("*",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"last/2":[new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")]),new t.type.Var("X")]),new t.type.Term("last",[new t.type.Var("Xs"),new t.type.Var("X")]))],"prefix/2":[new t.type.Rule(new t.type.Term("prefix",[new t.type.Var("Part"),new t.type.Var("Whole")]),new t.type.Term("append",[new t.type.Var("Part"),new t.type.Var("_"),new t.type.Var("Whole")]))],"nth0/3":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth1/3":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth0/4":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth1/4":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth/5":[new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("N"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("X"),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("O"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("Y"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term(",",[new t.type.Term("is",[new t.type.Var("M"),new t.type.Term("+",[new t.type.Var("N"),new t.type.Num(1,!1)])]),new t.type.Term("nth",[new t.type.Var("M"),new t.type.Var("O"),new t.type.Var("Xs"),new t.type.Var("Y"),new t.type.Var("Ys")])]))],"length/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(!t.type.is_variable(A)&&!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(t.type.is_integer(A)&&A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else{var p=new t.type.Term("length",[u,new t.type.Num(0,!1),A]);t.type.is_integer(A)&&(p=new t.type.Term(",",[p,new t.type.Term("!",[])])),o.prepend([new t.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new t.type.Rule(new t.type.Term("length",[new t.type.Term("[]",[]),new t.type.Var("N"),new t.type.Var("N")]),null),new t.type.Rule(new t.type.Term("length",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("X")]),new t.type.Var("A"),new t.type.Var("N")]),new t.type.Term(",",[new t.type.Term("succ",[new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("length",[new t.type.Var("X"),new t.type.Var("B"),new t.type.Var("N")])]))],"replicate/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=new t.type.Term("[]"),C=0;C<A.value;C++)h=new t.type.Term(".",[u,h]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[h,p])),a.substitution,a)])}},"sort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var C=p.sort(t.compare),w=C.length-1;w>0;w--)C[w].equals(C[w-1])&&C.splice(w,1);for(var v=new t.type.Term("[]"),w=C.length-1;w>=0;w--)v=new t.type.Term(".",[C[w],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"msort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var C=p.sort(t.compare),w=new t.type.Term("[]"),v=C.length-1;v>=0;v--)w=new t.type.Term(".",[C[v],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,A])),a.substitution,a)])}}},"keysort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h,C=u;C.indicator==="./2";){if(h=C.args[0],t.type.is_variable(h)){o.throw_error(t.error.instantiation(n.indicator));return}else if(!t.type.is_term(h)||h.indicator!=="-/2"){o.throw_error(t.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),C=C.args[1]}if(t.type.is_variable(C))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(C))o.throw_error(t.error.type("list",u,n.indicator));else{for(var w=p.sort(t.compare),v=new t.type.Term("[]"),b=w.length-1;b>=0;b--)v=new t.type.Term(".",[new t.type.Term("-",[w[b],w[b].pair]),v]),delete w[b].pair;o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"take/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,C=[],w=A;h>0&&w.indicator==="./2";)C.push(w.args[0]),w=w.args[1],h--;if(h===0){for(var v=new t.type.Term("[]"),h=C.length-1;h>=0;h--)v=new t.type.Term(".",[C[h],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,p])),a.substitution,a)])}}},"drop/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,C=[],w=A;h>0&&w.indicator==="./2";)C.push(w.args[0]),w=w.args[1],h--;h===0&&o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p])),a.substitution,a)])}},"reverse/2":function(o,a,n){var u=n.args[0],A=n.args[1],p=t.type.is_instantiated_list(u),h=t.type.is_instantiated_list(A);if(t.type.is_variable(u)&&t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(u)&&!t.type.is_fully_list(u))o.throw_error(t.error.type("list",u,n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!p&&!h)o.throw_error(t.error.instantiation(n.indicator));else{for(var C=p?u:A,w=new t.type.Term("[]",[]);C.indicator==="./2";)w=new t.type.Term(".",[C.args[0],w]),C=C.args[1];o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p?A:u])),a.substitution,a)])}},"list_to_set/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else{for(var p=u,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(t.type.is_variable(p))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_term(p)||p.indicator!=="[]/0")o.throw_error(t.error.type("list",u,n.indicator));else{for(var C=[],w=new t.type.Term("[]",[]),v,b=0;b<h.length;b++){v=!1;for(var E=0;E<C.length&&!v;E++)v=t.compare(h[b],C[E])===0;v||C.push(h[b])}for(b=C.length-1;b>=0;b--)w=new t.type.Term(".",[C[b],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[A,w])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof nH<"u"?nH.exports=function(o){t=o,new t.type.Module("lists",e(),r)}:new t.type.Module("lists",e(),r)})(Yht)});var Eme=U(qr=>{"use strict";var Zd=process.platform==="win32",iH="aes-256-cbc",Kht="sha256",ame="The current environment doesn't support interactive reading from TTY.",Un=Ie("fs"),sme=process.binding("tty_wrap").TTY,oH=Ie("child_process"),sh=Ie("path"),aH={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},Kf="none",$c,fC,ome=!1,ih,rQ,sH,Jht=0,fH="",Xd=[],nQ,lme=!1,lH=!1,o2=!1;function cme(t){function e(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(o){return"#"+o.charCodeAt(0)+";"})}return rQ.concat(function(r){var o=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?t[a]&&o.push("--"+a):r[a]==="string"&&t[a]&&o.push("--"+a,e(t[a]))}),o}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function Vht(t,e){function r(_){var J,re="",oe;for(sH=sH||Ie("os").tmpdir();;){J=sh.join(sH,_+re);try{oe=Un.openSync(J,"wx")}catch(pe){if(pe.code==="EEXIST"){re++;continue}else throw pe}Un.closeSync(oe);break}return J}var o,a,n,u={},A,p,h=r("readline-sync.stdout"),C=r("readline-sync.stderr"),w=r("readline-sync.exit"),v=r("readline-sync.done"),b=Ie("crypto"),E,R,L;E=b.createHash(Kht),E.update(""+process.pid+Jht+++Math.random()),L=E.digest("hex"),R=b.createDecipher(iH,L),o=cme(t),Zd?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+ih+"%Q%"+o.map(function(_){return" %Q%"+_+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+w+"%Q%%Q%) 2>%Q%"+C+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+iH+"%Q% %Q%"+L+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+v+"%Q%"]):(a="/bin/sh",n=["-c",'("'+ih+'"'+o.map(function(_){return" '"+_.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+w+'") 2>"'+C+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+iH+'" "'+L+'" >"'+h+'"; echo 1 >"'+v+'"']),o2&&o2("_execFileSync",o);try{oH.spawn(a,n,e)}catch(_){u.error=new Error(_.message),u.error.method="_execFileSync - spawn",u.error.program=a,u.error.args=n}for(;Un.readFileSync(v,{encoding:t.encoding}).trim()!=="1";);return(A=Un.readFileSync(w,{encoding:t.encoding}).trim())==="0"?u.input=R.update(Un.readFileSync(h,{encoding:"binary"}),"hex",t.encoding)+R.final(t.encoding):(p=Un.readFileSync(C,{encoding:t.encoding}).trim(),u.error=new Error(ame+(p?` | 244 | ${V}`}).join("");h.push({text:`Conflict detected in constraint targeting ${ye.pretty(t.configuration,b,ye.Type.CODE)}; conflicting values are:${R}`,fixable:!1})}else{let[[R]]=C,L=(0,ome.default)(v,b);if(L===R)continue;if(!o){let _=typeof L>"u"?`Missing field ${ye.pretty(t.configuration,b,ye.Type.CODE)}; expected ${ye.pretty(t.configuration,R,ye.Type.INSPECT)}`:typeof R>"u"?`Extraneous field ${ye.pretty(t.configuration,b,ye.Type.CODE)} currently set to ${ye.pretty(t.configuration,L,ye.Type.INSPECT)}`:`Invalid field ${ye.pretty(t.configuration,b,ye.Type.CODE)}; expected ${ye.pretty(t.configuration,R,ye.Type.INSPECT)}, found ${ye.pretty(t.configuration,L,ye.Type.INSPECT)}`;h.push({text:_,fixable:!0});continue}typeof R>"u"?(0,cme.default)(v,b):(0,ame.default)(v,b,R),E=!0}E&&a.set(w,v)}h.length>0&&n.set(w,h)}return{changedWorkspaces:a,remainingErrors:n}}var ome,ame,lme,cme,a2,Zht,$ht,egt,c2=dt(()=>{Ke();ome=tt(e2()),ame=tt(b8()),lme=tt(sme()),cme=tt(F8()),a2=class{constructor(e){this.indexedFields=e;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let e of this.indexedFields)this.indexes[e]=new Map}insert(e){this.items.push(e);for(let r of this.indexedFields){let o=Object.prototype.hasOwnProperty.call(e,r)?e[r]:void 0;if(typeof o>"u")continue;Ye.getArrayWithDefault(this.indexes[r],o).push(e)}return e}find(e){if(typeof e>"u")return this.items;let r=Object.entries(e);if(r.length===0)return this.items;let o=[],a;for(let[u,A]of r){let p=u,h=Object.prototype.hasOwnProperty.call(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){o.push([p,A]);continue}let E=new Set(h.get(A)??[]);if(E.size===0)return[];if(typeof a>"u")a=E;else for(let w of a)E.has(w)||a.delete(w);if(a.size===0)break}let n=[...a??[]];return o.length>0&&(n=n.filter(u=>{for(let[A,p]of o)if(!(typeof p<"u"?Object.prototype.hasOwnProperty.call(u,A)&&u[A]===p:Object.prototype.hasOwnProperty.call(u,A)===!1))return!1;return!0})),n}},Zht=/^[0-9]+$/,$ht=/^[a-zA-Z0-9_]+$/,egt=new Set(["scripts",...Nt.allDependencies])});var ume=U((Z9t,iH)=>{var ngt;(function(t){var e=function(){return{"append/2":[new t.type.Rule(new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("L")]),new t.type.Term("foldl",[new t.type.Term("append",[]),new t.type.Var("X"),new t.type.Term("[]",[]),new t.type.Var("L")]))],"append/3":[new t.type.Rule(new t.type.Term("append",[new t.type.Term("[]",[]),new t.type.Var("X"),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("append",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("append",[new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("S")]))],"member/2":[new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("_")])]),null),new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")])]),new t.type.Term("member",[new t.type.Var("X"),new t.type.Var("Xs")]))],"permutation/2":[new t.type.Rule(new t.type.Term("permutation",[new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("permutation",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("permutation",[new t.type.Var("T"),new t.type.Var("P")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("P")]),new t.type.Term("append",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("Y")]),new t.type.Var("S")])])]))],"maplist/2":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("X")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("Xs")])]))],"maplist/3":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs")])]))],"maplist/4":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs")])]))],"maplist/5":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds")])]))],"maplist/6":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es")])]))],"maplist/7":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs")])]))],"maplist/8":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")]),new t.type.Term(".",[new t.type.Var("G"),new t.type.Var("Gs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F"),new t.type.Var("G")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs"),new t.type.Var("Gs")])]))],"include/3":[new t.type.Rule(new t.type.Term("include",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("include",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("A")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("A"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("F"),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("F")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("L"),new t.type.Var("S")])]),new t.type.Term("include",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("S")])])])])]))],"exclude/3":[new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("E")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("Q")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("R"),new t.type.Var("Q")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("!",[]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("E")])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("E")])])])])])])]))],"foldl/4":[new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Var("I"),new t.type.Var("I")]),null),new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("I"),new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("I"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])])])]),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P2"),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P2")]),new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("R")])])])])]))],"select/3":[new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Xs")]),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term("select",[new t.type.Var("E"),new t.type.Var("Xs"),new t.type.Var("Ys")]))],"sum_list/2":[new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term("[]",[]),new t.type.Num(0,!1)]),null),new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("sum_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("+",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"max_list/2":[new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("max_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"min_list/2":[new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("min_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("=<",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"prod_list/2":[new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term("[]",[]),new t.type.Num(1,!1)]),null),new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("prod_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("*",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"last/2":[new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")]),new t.type.Var("X")]),new t.type.Term("last",[new t.type.Var("Xs"),new t.type.Var("X")]))],"prefix/2":[new t.type.Rule(new t.type.Term("prefix",[new t.type.Var("Part"),new t.type.Var("Whole")]),new t.type.Term("append",[new t.type.Var("Part"),new t.type.Var("_"),new t.type.Var("Whole")]))],"nth0/3":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth1/3":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth0/4":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth1/4":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth/5":[new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("N"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("X"),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("O"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("Y"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term(",",[new t.type.Term("is",[new t.type.Var("M"),new t.type.Term("+",[new t.type.Var("N"),new t.type.Num(1,!1)])]),new t.type.Term("nth",[new t.type.Var("M"),new t.type.Var("O"),new t.type.Var("Xs"),new t.type.Var("Y"),new t.type.Var("Ys")])]))],"length/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(!t.type.is_variable(A)&&!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(t.type.is_integer(A)&&A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else{var p=new t.type.Term("length",[u,new t.type.Num(0,!1),A]);t.type.is_integer(A)&&(p=new t.type.Term(",",[p,new t.type.Term("!",[])])),o.prepend([new t.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new t.type.Rule(new t.type.Term("length",[new t.type.Term("[]",[]),new t.type.Var("N"),new t.type.Var("N")]),null),new t.type.Rule(new t.type.Term("length",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("X")]),new t.type.Var("A"),new t.type.Var("N")]),new t.type.Term(",",[new t.type.Term("succ",[new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("length",[new t.type.Var("X"),new t.type.Var("B"),new t.type.Var("N")])]))],"replicate/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=new t.type.Term("[]"),E=0;E<A.value;E++)h=new t.type.Term(".",[u,h]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[h,p])),a.substitution,a)])}},"sort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=p.sort(t.compare),w=E.length-1;w>0;w--)E[w].equals(E[w-1])&&E.splice(w,1);for(var v=new t.type.Term("[]"),w=E.length-1;w>=0;w--)v=new t.type.Term(".",[E[w],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"msort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=p.sort(t.compare),w=new t.type.Term("[]"),v=E.length-1;v>=0;v--)w=new t.type.Term(".",[E[v],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,A])),a.substitution,a)])}}},"keysort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h,E=u;E.indicator==="./2";){if(h=E.args[0],t.type.is_variable(h)){o.throw_error(t.error.instantiation(n.indicator));return}else if(!t.type.is_term(h)||h.indicator!=="-/2"){o.throw_error(t.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),E=E.args[1]}if(t.type.is_variable(E))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(E))o.throw_error(t.error.type("list",u,n.indicator));else{for(var w=p.sort(t.compare),v=new t.type.Term("[]"),b=w.length-1;b>=0;b--)v=new t.type.Term(".",[new t.type.Term("-",[w[b],w[b].pair]),v]),delete w[b].pair;o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"take/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],w=A;h>0&&w.indicator==="./2";)E.push(w.args[0]),w=w.args[1],h--;if(h===0){for(var v=new t.type.Term("[]"),h=E.length-1;h>=0;h--)v=new t.type.Term(".",[E[h],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,p])),a.substitution,a)])}}},"drop/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],w=A;h>0&&w.indicator==="./2";)E.push(w.args[0]),w=w.args[1],h--;h===0&&o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p])),a.substitution,a)])}},"reverse/2":function(o,a,n){var u=n.args[0],A=n.args[1],p=t.type.is_instantiated_list(u),h=t.type.is_instantiated_list(A);if(t.type.is_variable(u)&&t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(u)&&!t.type.is_fully_list(u))o.throw_error(t.error.type("list",u,n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!p&&!h)o.throw_error(t.error.instantiation(n.indicator));else{for(var E=p?u:A,w=new t.type.Term("[]",[]);E.indicator==="./2";)w=new t.type.Term(".",[E.args[0],w]),E=E.args[1];o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[w,p?A:u])),a.substitution,a)])}},"list_to_set/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else{for(var p=u,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(t.type.is_variable(p))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_term(p)||p.indicator!=="[]/0")o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=[],w=new t.type.Term("[]",[]),v,b=0;b<h.length;b++){v=!1;for(var C=0;C<E.length&&!v;C++)v=t.compare(h[b],E[C])===0;v||E.push(h[b])}for(b=E.length-1;b>=0;b--)w=new t.type.Term(".",[E[b],w]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[A,w])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof iH<"u"?iH.exports=function(o){t=o,new t.type.Module("lists",e(),r)}:new t.type.Module("lists",e(),r)})(ngt)});var Dme=U(qr=>{"use strict";var tm=process.platform==="win32",sH="aes-256-cbc",igt="sha256",pme="The current environment doesn't support interactive reading from TTY.",Un=Ie("fs"),Ame=process.binding("tty_wrap").TTY,aH=Ie("child_process"),oh=Ie("path"),lH={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},Jf="none",tu,mE,fme=!1,sh,cQ,oH,sgt=0,pH="",em=[],uQ,hme=!1,cH=!1,u2=!1;function gme(t){function e(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(o){return"#"+o.charCodeAt(0)+";"})}return cQ.concat(function(r){var o=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?t[a]&&o.push("--"+a):r[a]==="string"&&t[a]&&o.push("--"+a,e(t[a]))}),o}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function ogt(t,e){function r(_){var V,re="",oe;for(oH=oH||Ie("os").tmpdir();;){V=oh.join(oH,_+re);try{oe=Un.openSync(V,"wx")}catch(pe){if(pe.code==="EEXIST"){re++;continue}else throw pe}Un.closeSync(oe);break}return V}var o,a,n,u={},A,p,h=r("readline-sync.stdout"),E=r("readline-sync.stderr"),w=r("readline-sync.exit"),v=r("readline-sync.done"),b=Ie("crypto"),C,R,L;C=b.createHash(igt),C.update(""+process.pid+sgt+++Math.random()),L=C.digest("hex"),R=b.createDecipher(sH,L),o=gme(t),tm?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+sh+"%Q%"+o.map(function(_){return" %Q%"+_+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+w+"%Q%%Q%) 2>%Q%"+E+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+sH+"%Q% %Q%"+L+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+v+"%Q%"]):(a="/bin/sh",n=["-c",'("'+sh+'"'+o.map(function(_){return" '"+_.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+w+'") 2>"'+E+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+sH+'" "'+L+'" >"'+h+'"; echo 1 >"'+v+'"']),u2&&u2("_execFileSync",o);try{aH.spawn(a,n,e)}catch(_){u.error=new Error(_.message),u.error.method="_execFileSync - spawn",u.error.program=a,u.error.args=n}for(;Un.readFileSync(v,{encoding:t.encoding}).trim()!=="1";);return(A=Un.readFileSync(w,{encoding:t.encoding}).trim())==="0"?u.input=R.update(Un.readFileSync(h,{encoding:"binary"}),"hex",t.encoding)+R.final(t.encoding):(p=Un.readFileSync(E,{encoding:t.encoding}).trim(),u.error=new Error(pme+(p?` |
245 | `+p:"")),u.error.method="_execFileSync",u.error.program=a,u.error.args=n,u.error.extMessage=p,u.error.exitCode=+A),Un.unlinkSync(h),Un.unlinkSync(C),Un.unlinkSync(w),Un.unlinkSync(v),u}function zht(t){var e,r={},o,a={env:process.env,encoding:t.encoding};if(ih||(Zd?process.env.PSModulePath?(ih="powershell.exe",rQ=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(ih="cscript.exe",rQ=["//nologo",__dirname+"\\read.cs.js"]):(ih="/bin/sh",rQ=[__dirname+"/read.sh"])),Zd&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),oH.execFileSync){e=cme(t),o2&&o2("execFileSync",e);try{r.input=oH.execFileSync(ih,e,a)}catch(n){o=n.stderr?(n.stderr+"").trim():"",r.error=new Error(ame+(o?` | 245 | `+p:"")),u.error.method="_execFileSync",u.error.program=a,u.error.args=n,u.error.extMessage=p,u.error.exitCode=+A),Un.unlinkSync(h),Un.unlinkSync(E),Un.unlinkSync(w),Un.unlinkSync(v),u}function agt(t){var e,r={},o,a={env:process.env,encoding:t.encoding};if(sh||(tm?process.env.PSModulePath?(sh="powershell.exe",cQ=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(sh="cscript.exe",cQ=["//nologo",__dirname+"\\read.cs.js"]):(sh="/bin/sh",cQ=[__dirname+"/read.sh"])),tm&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),aH.execFileSync){e=gme(t),u2&&u2("execFileSync",e);try{r.input=aH.execFileSync(sh,e,a)}catch(n){o=n.stderr?(n.stderr+"").trim():"",r.error=new Error(pme+(o?` |
246 | `+o:"")),r.error.method="execFileSync",r.error.program=ih,r.error.args=e,r.error.extMessage=o,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=Vht(t,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),t.display=""),r}function cH(t){var e="",r=t.display,o=!t.display&&t.keyIn&&t.hideEchoBack&&!t.mask;function a(){var n=zht(t);if(n.error)throw n.error;return n.input}return lH&&lH(t),function(){var n,u,A;function p(){return n||(n=process.binding("fs"),u=process.binding("constants")),n}if(typeof Kf=="string")if(Kf=null,Zd){if(A=function(h){var C=h.replace(/^\D+/,"").split("."),w=0;return(C[0]=+C[0])&&(w+=C[0]*1e4),(C[1]=+C[1])&&(w+=C[1]*100),(C[2]=+C[2])&&(w+=C[2]),w}(process.version),!(A>=20302&&A<40204||A>=5e4&&A<50100||A>=50600&&A<60200)&&process.stdin.isTTY)process.stdin.pause(),Kf=process.stdin.fd,fC=process.stdin._handle;else try{Kf=p().open("CONIN$",u.O_RDWR,parseInt("0666",8)),fC=new sme(Kf,!0)}catch{}if(process.stdout.isTTY)$c=process.stdout.fd;else{try{$c=Un.openSync("\\\\.\\CON","w")}catch{}if(typeof $c!="number")try{$c=p().open("CONOUT$",u.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{Kf=Un.openSync("/dev/tty","r"),fC=process.stdin._handle}catch{}}else try{Kf=Un.openSync("/dev/tty","r"),fC=new sme(Kf,!1)}catch{}if(process.stdout.isTTY)$c=process.stdout.fd;else try{$c=Un.openSync("/dev/tty","w")}catch{}}}(),function(){var n,u,A=!t.hideEchoBack&&!t.keyIn,p,h,C,w,v;nQ="";function b(E){return E===ome?!0:fC.setRawMode(E)!==0?!1:(ome=E,!0)}if(lme||!fC||typeof $c!="number"&&(t.display||!A)){e=a();return}if(t.display&&(Un.writeSync($c,t.display),t.display=""),!t.displayOnly){if(!b(!A)){e=a();return}for(h=t.keyIn?1:t.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),t.keyIn&&t.limit&&(u=new RegExp("[^"+t.limit+"]","g"+(t.caseSensitive?"":"i")));;){C=0;try{C=Un.readSync(Kf,p,0,h)}catch(E){if(E.code!=="EOF"){b(!1),e+=a();return}}if(C>0?(w=p.toString(t.encoding,0,C),nQ+=w):(w=` | 246 | `+o:"")),r.error.method="execFileSync",r.error.program=sh,r.error.args=e,r.error.extMessage=o,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=ogt(t,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),t.display=""),r}function uH(t){var e="",r=t.display,o=!t.display&&t.keyIn&&t.hideEchoBack&&!t.mask;function a(){var n=agt(t);if(n.error)throw n.error;return n.input}return cH&&cH(t),function(){var n,u,A;function p(){return n||(n=process.binding("fs"),u=process.binding("constants")),n}if(typeof Jf=="string")if(Jf=null,tm){if(A=function(h){var E=h.replace(/^\D+/,"").split("."),w=0;return(E[0]=+E[0])&&(w+=E[0]*1e4),(E[1]=+E[1])&&(w+=E[1]*100),(E[2]=+E[2])&&(w+=E[2]),w}(process.version),!(A>=20302&&A<40204||A>=5e4&&A<50100||A>=50600&&A<60200)&&process.stdin.isTTY)process.stdin.pause(),Jf=process.stdin.fd,mE=process.stdin._handle;else try{Jf=p().open("CONIN$",u.O_RDWR,parseInt("0666",8)),mE=new Ame(Jf,!0)}catch{}if(process.stdout.isTTY)tu=process.stdout.fd;else{try{tu=Un.openSync("\\\\.\\CON","w")}catch{}if(typeof tu!="number")try{tu=p().open("CONOUT$",u.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{Jf=Un.openSync("/dev/tty","r"),mE=process.stdin._handle}catch{}}else try{Jf=Un.openSync("/dev/tty","r"),mE=new Ame(Jf,!1)}catch{}if(process.stdout.isTTY)tu=process.stdout.fd;else try{tu=Un.openSync("/dev/tty","w")}catch{}}}(),function(){var n,u,A=!t.hideEchoBack&&!t.keyIn,p,h,E,w,v;uQ="";function b(C){return C===fme?!0:mE.setRawMode(C)!==0?!1:(fme=C,!0)}if(hme||!mE||typeof tu!="number"&&(t.display||!A)){e=a();return}if(t.display&&(Un.writeSync(tu,t.display),t.display=""),!t.displayOnly){if(!b(!A)){e=a();return}for(h=t.keyIn?1:t.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),t.keyIn&&t.limit&&(u=new RegExp("[^"+t.limit+"]","g"+(t.caseSensitive?"":"i")));;){E=0;try{E=Un.readSync(Jf,p,0,h)}catch(C){if(C.code!=="EOF"){b(!1),e+=a();return}}if(E>0?(w=p.toString(t.encoding,0,E),uQ+=w):(w=` |
247 | `,nQ+=String.fromCharCode(0)),w&&typeof(v=(w.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(w=v,n=!0),w&&(w=w.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),w&&u&&(w=w.replace(u,"")),w&&(A||(t.hideEchoBack?t.mask&&Un.writeSync($c,new Array(w.length+1).join(t.mask)):Un.writeSync($c,w)),e+=w),!t.keyIn&&n||t.keyIn&&e.length>=h)break}!A&&!o&&Un.writeSync($c,` | 247 | `,uQ+=String.fromCharCode(0)),w&&typeof(v=(w.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(w=v,n=!0),w&&(w=w.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),w&&u&&(w=w.replace(u,"")),w&&(A||(t.hideEchoBack?t.mask&&Un.writeSync(tu,new Array(w.length+1).join(t.mask)):Un.writeSync(tu,w)),e+=w),!t.keyIn&&n||t.keyIn&&e.length>=h)break}!A&&!o&&Un.writeSync(tu,` |
248 | `),b(!1)}}(),t.print&&!o&&t.print(r+(t.displayOnly?"":(t.hideEchoBack?new Array(e.length+1).join(t.mask):e)+` | 248 | `),b(!1)}}(),t.print&&!o&&t.print(r+(t.displayOnly?"":(t.hideEchoBack?new Array(e.length+1).join(t.mask):e)+` |
249 | `),t.encoding),t.displayOnly?"":fH=t.keepWhitespace||t.keyIn?e:e.trim()}function Xht(t,e){var r=[];function o(a){a!=null&&(Array.isArray(a)?a.forEach(o):(!e||e(a))&&r.push(a))}return o(t),r}function pH(t){return t.replace(/[\x00-\x7f]/g,function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)})}function Ps(){var t=Array.prototype.slice.call(arguments),e,r;return t.length&&typeof t[0]=="boolean"&&(r=t.shift(),r&&(e=Object.keys(aH),t.unshift(aH))),t.reduce(function(o,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(e=Object.keys(a)),e.forEach(function(n){var u;if(!!a.hasOwnProperty(n))switch(u=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":u=u!=null?u+"":"",u&&n!=="limitMessage"&&(u=u.replace(/[\r\n]/g,"")),o[n]=u;break;case"bufferSize":!isNaN(u=parseInt(u,10))&&typeof u=="number"&&(o[n]=u);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":o[n]=!!u;break;case"limit":case"trueValue":case"falseValue":o[n]=Xht(u,function(A){var p=typeof A;return p==="string"||p==="number"||p==="function"||A instanceof RegExp}).map(function(A){return typeof A=="string"?A.replace(/[\r\n]/g,""):A});break;case"print":case"phContent":case"preCheck":o[n]=typeof u=="function"?u:void 0;break;case"prompt":case"display":o[n]=u??"";break}})),o},{})}function uH(t,e,r){return e.some(function(o){var a=typeof o;return a==="string"?r?t===o:t.toLowerCase()===o.toLowerCase():a==="number"?parseFloat(t)===o:a==="function"?o(t):o instanceof RegExp?o.test(t):!1})}function hH(t,e){var r=sh.normalize(Zd?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return t=sh.normalize(t),e?t.replace(/^~(?=\/|\\|$)/,r):t.replace(new RegExp("^"+pH(r)+"(?=\\/|\\\\|$)",Zd?"i":""),"~")}function pC(t,e){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",o=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(u,A,p,h,C,w){var v;return A||typeof(v=e(C))!="string"?p:v?(h||"")+v+(w||""):""}return t.replace(o,n).replace(a,n)}function ume(t,e,r){var o,a=[],n=-1,u=0,A="",p;function h(C,w){return w.length>3?(C.push(w[0]+"..."+w[w.length-1]),p=!0):w.length&&(C=C.concat(w)),C}return o=t.reduce(function(C,w){return C.concat((w+"").split(""))},[]).reduce(function(C,w){var v,b;return e||(w=w.toLowerCase()),v=/^\d$/.test(w)?1:/^[A-Z]$/.test(w)?2:/^[a-z]$/.test(w)?3:0,r&&v===0?A+=w:(b=w.charCodeAt(0),v&&v===n&&b===u+1?a.push(w):(C=h(C,a),a=[w],n=v),u=b),C},[]),o=h(o,a),A&&(o.push(A),p=!0),{values:o,suppressed:p}}function Ame(t,e){return t.join(t.length>2?", ":e?" / ":"/")}function fme(t,e){var r,o,a={},n;if(e.phContent&&(r=e.phContent(t,e)),typeof r!="string")switch(t){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=e.hasOwnProperty(t)?typeof e[t]=="boolean"?e[t]?"on":"off":e[t]+"":"";break;case"limit":case"trueValue":case"falseValue":o=e[e.hasOwnProperty(t+"Src")?t+"Src":t],e.keyIn?(a=ume(o,e.caseSensitive),o=a.values):o=o.filter(function(u){var A=typeof u;return A==="string"||A==="number"}),r=Ame(o,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=e[e.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||t!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=fH;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),t==="CWD"?r=sh.basename(r):t==="cwdHome"&&(r=hH(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+t.replace(/^./,function(u){return u.toUpperCase()})+"String"]();break;default:typeof(n=(t.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=Xd[Xd.length-n]||"")}return r}function pme(t){var e=/^(.)-(.)$/.exec(t),r="",o,a,n,u;if(!e)return null;for(o=e[1].charCodeAt(0),a=e[2].charCodeAt(0),u=o<a?1:-1,n=o;n!==a+u;n+=u)r+=String.fromCharCode(n);return r}function AH(t){var e=new RegExp(/(\s*)(?:("|')(.*?)(?:\2|$)|(\S+))/g),r,o="",a=[],n;for(t=t.trim();r=e.exec(t);)n=r[3]||r[4]||"",r[1]&&(a.push(o),o=""),o+=n;return o&&a.push(o),a}function hme(t,e){return e.trueValue.length&&uH(t,e.trueValue,e.caseSensitive)?!0:e.falseValue.length&&uH(t,e.falseValue,e.caseSensitive)?!1:t}function gme(t){var e,r,o,a,n,u,A;function p(C){return fme(C,t)}function h(C){t.display+=(/[^\r\n]$/.test(t.display)?` | 249 | `),t.encoding),t.displayOnly?"":pH=t.keepWhitespace||t.keyIn?e:e.trim()}function lgt(t,e){var r=[];function o(a){a!=null&&(Array.isArray(a)?a.forEach(o):(!e||e(a))&&r.push(a))}return o(t),r}function hH(t){return t.replace(/[\x00-\x7f]/g,function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)})}function Ps(){var t=Array.prototype.slice.call(arguments),e,r;return t.length&&typeof t[0]=="boolean"&&(r=t.shift(),r&&(e=Object.keys(lH),t.unshift(lH))),t.reduce(function(o,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(e=Object.keys(a)),e.forEach(function(n){var u;if(!!a.hasOwnProperty(n))switch(u=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":u=u!=null?u+"":"",u&&n!=="limitMessage"&&(u=u.replace(/[\r\n]/g,"")),o[n]=u;break;case"bufferSize":!isNaN(u=parseInt(u,10))&&typeof u=="number"&&(o[n]=u);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":o[n]=!!u;break;case"limit":case"trueValue":case"falseValue":o[n]=lgt(u,function(A){var p=typeof A;return p==="string"||p==="number"||p==="function"||A instanceof RegExp}).map(function(A){return typeof A=="string"?A.replace(/[\r\n]/g,""):A});break;case"print":case"phContent":case"preCheck":o[n]=typeof u=="function"?u:void 0;break;case"prompt":case"display":o[n]=u??"";break}})),o},{})}function AH(t,e,r){return e.some(function(o){var a=typeof o;return a==="string"?r?t===o:t.toLowerCase()===o.toLowerCase():a==="number"?parseFloat(t)===o:a==="function"?o(t):o instanceof RegExp?o.test(t):!1})}function gH(t,e){var r=oh.normalize(tm?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return t=oh.normalize(t),e?t.replace(/^~(?=\/|\\|$)/,r):t.replace(new RegExp("^"+hH(r)+"(?=\\/|\\\\|$)",tm?"i":""),"~")}function yE(t,e){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",o=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(u,A,p,h,E,w){var v;return A||typeof(v=e(E))!="string"?p:v?(h||"")+v+(w||""):""}return t.replace(o,n).replace(a,n)}function dme(t,e,r){var o,a=[],n=-1,u=0,A="",p;function h(E,w){return w.length>3?(E.push(w[0]+"..."+w[w.length-1]),p=!0):w.length&&(E=E.concat(w)),E}return o=t.reduce(function(E,w){return E.concat((w+"").split(""))},[]).reduce(function(E,w){var v,b;return e||(w=w.toLowerCase()),v=/^\d$/.test(w)?1:/^[A-Z]$/.test(w)?2:/^[a-z]$/.test(w)?3:0,r&&v===0?A+=w:(b=w.charCodeAt(0),v&&v===n&&b===u+1?a.push(w):(E=h(E,a),a=[w],n=v),u=b),E},[]),o=h(o,a),A&&(o.push(A),p=!0),{values:o,suppressed:p}}function mme(t,e){return t.join(t.length>2?", ":e?" / ":"/")}function yme(t,e){var r,o,a={},n;if(e.phContent&&(r=e.phContent(t,e)),typeof r!="string")switch(t){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=e.hasOwnProperty(t)?typeof e[t]=="boolean"?e[t]?"on":"off":e[t]+"":"";break;case"limit":case"trueValue":case"falseValue":o=e[e.hasOwnProperty(t+"Src")?t+"Src":t],e.keyIn?(a=dme(o,e.caseSensitive),o=a.values):o=o.filter(function(u){var A=typeof u;return A==="string"||A==="number"}),r=mme(o,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=e[e.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||t!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=pH;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),t==="CWD"?r=oh.basename(r):t==="cwdHome"&&(r=gH(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+t.replace(/^./,function(u){return u.toUpperCase()})+"String"]();break;default:typeof(n=(t.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=em[em.length-n]||"")}return r}function Cme(t){var e=/^(.)-(.)$/.exec(t),r="",o,a,n,u;if(!e)return null;for(o=e[1].charCodeAt(0),a=e[2].charCodeAt(0),u=o<a?1:-1,n=o;n!==a+u;n+=u)r+=String.fromCharCode(n);return r}function fH(t){var e=new RegExp(/(\s*)(?:("|')(.*?)(?:\2|$)|(\S+))/g),r,o="",a=[],n;for(t=t.trim();r=e.exec(t);)n=r[3]||r[4]||"",r[1]&&(a.push(o),o=""),o+=n;return o&&a.push(o),a}function Eme(t,e){return e.trueValue.length&&AH(t,e.trueValue,e.caseSensitive)?!0:e.falseValue.length&&AH(t,e.falseValue,e.caseSensitive)?!1:t}function Ime(t){var e,r,o,a,n,u,A;function p(E){return yme(E,t)}function h(E){t.display+=(/[^\r\n]$/.test(t.display)?` |
250 | `:"")+C}for(t.limitSrc=t.limit,t.displaySrc=t.display,t.limit="",t.display=pC(t.display+"",p);;){if(e=cH(t),r=!1,o="",t.defaultInput&&!e&&(e=t.defaultInput),t.history&&((a=/^\s*\!(?:\!|-1)(:p)?\s*$/.exec(e))?(n=Xd[0]||"",a[1]?r=!0:e=n,h(n+` | 250 | `:"")+E}for(t.limitSrc=t.limit,t.displaySrc=t.display,t.limit="",t.display=yE(t.display+"",p);;){if(e=uH(t),r=!1,o="",t.defaultInput&&!e&&(e=t.defaultInput),t.history&&((a=/^\s*\!(?:\!|-1)(:p)?\s*$/.exec(e))?(n=em[0]||"",a[1]?r=!0:e=n,h(n+` |
251 | `),r||(t.displayOnly=!0,cH(t),t.displayOnly=!1)):e&&e!==Xd[Xd.length-1]&&(Xd=[e])),!r&&t.cd&&e)switch(u=AH(e),u[0].toLowerCase()){case"cd":if(u[1])try{process.chdir(hH(u[1],!0))}catch(C){h(C+"")}r=!0;break;case"pwd":h(process.cwd()),r=!0;break}if(!r&&t.preCheck&&(A=t.preCheck(e,t),e=A.res,A.forceNext&&(r=!0)),!r){if(!t.limitSrc.length||uH(e,t.limitSrc,t.caseSensitive))break;t.limitMessage&&(o=pC(t.limitMessage,p))}h((o?o+` | 251 | `),r||(t.displayOnly=!0,uH(t),t.displayOnly=!1)):e&&e!==em[em.length-1]&&(em=[e])),!r&&t.cd&&e)switch(u=fH(e),u[0].toLowerCase()){case"cd":if(u[1])try{process.chdir(gH(u[1],!0))}catch(E){h(E+"")}r=!0;break;case"pwd":h(process.cwd()),r=!0;break}if(!r&&t.preCheck&&(A=t.preCheck(e,t),e=A.res,A.forceNext&&(r=!0)),!r){if(!t.limitSrc.length||AH(e,t.limitSrc,t.caseSensitive))break;t.limitMessage&&(o=yE(t.limitMessage,p))}h((o?o+` |
252 | `:"")+pC(t.displaySrc+"",p))}return hme(e,t)}qr._DBG_set_useExt=function(t){lme=t};qr._DBG_set_checkOptions=function(t){lH=t};qr._DBG_set_checkMethod=function(t){o2=t};qr._DBG_clearHistory=function(){fH="",Xd=[]};qr.setDefaultOptions=function(t){return aH=Ps(!0,t),Ps(!0)};qr.question=function(t,e){return gme(Ps(Ps(!0,e),{display:t}))};qr.prompt=function(t){var e=Ps(!0,t);return e.display=e.prompt,gme(e)};qr.keyIn=function(t,e){var r=Ps(Ps(!0,e),{display:t,keyIn:!0,keepWhitespace:!0});return r.limitSrc=r.limit.filter(function(o){var a=typeof o;return a==="string"||a==="number"}).map(function(o){return pC(o+"",pme)}),r.limit=pH(r.limitSrc.join("")),["trueValue","falseValue"].forEach(function(o){r[o]=r[o].reduce(function(a,n){var u=typeof n;return u==="string"||u==="number"?a=a.concat((n+"").split("")):a.push(n),a},[])}),r.display=pC(r.display+"",function(o){return fme(o,r)}),hme(cH(r),r)};qr.questionEMail=function(t,e){return t==null&&(t="Input e-mail address: "),qr.question(t,Ps({hideEchoBack:!1,limit:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,limitMessage:"Input valid e-mail address, please.",trueValue:null,falseValue:null},e,{keepWhitespace:!1,cd:!1}))};qr.questionNewPassword=function(t,e){var r,o,a,n=Ps({hideEchoBack:!0,mask:"*",limitMessage:`It can include: $<charlist> | 252 | `:"")+yE(t.displaySrc+"",p))}return Eme(e,t)}qr._DBG_set_useExt=function(t){hme=t};qr._DBG_set_checkOptions=function(t){cH=t};qr._DBG_set_checkMethod=function(t){u2=t};qr._DBG_clearHistory=function(){pH="",em=[]};qr.setDefaultOptions=function(t){return lH=Ps(!0,t),Ps(!0)};qr.question=function(t,e){return Ime(Ps(Ps(!0,e),{display:t}))};qr.prompt=function(t){var e=Ps(!0,t);return e.display=e.prompt,Ime(e)};qr.keyIn=function(t,e){var r=Ps(Ps(!0,e),{display:t,keyIn:!0,keepWhitespace:!0});return r.limitSrc=r.limit.filter(function(o){var a=typeof o;return a==="string"||a==="number"}).map(function(o){return yE(o+"",Cme)}),r.limit=hH(r.limitSrc.join("")),["trueValue","falseValue"].forEach(function(o){r[o]=r[o].reduce(function(a,n){var u=typeof n;return u==="string"||u==="number"?a=a.concat((n+"").split("")):a.push(n),a},[])}),r.display=yE(r.display+"",function(o){return yme(o,r)}),Eme(uH(r),r)};qr.questionEMail=function(t,e){return t==null&&(t="Input e-mail address: "),qr.question(t,Ps({hideEchoBack:!1,limit:/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,limitMessage:"Input valid e-mail address, please.",trueValue:null,falseValue:null},e,{keepWhitespace:!1,cd:!1}))};qr.questionNewPassword=function(t,e){var r,o,a,n=Ps({hideEchoBack:!0,mask:"*",limitMessage:`It can include: $<charlist> |
253 | And the length must be: $<length>`,trueValue:null,falseValue:null,caseSensitive:!0},e,{history:!1,cd:!1,phContent:function(b){return b==="charlist"?r.text:b==="length"?o+"..."+a:null}}),u,A,p,h,C,w,v;for(e=e||{},u=pC(e.charlist?e.charlist+"":"$<!-~>",pme),(isNaN(o=parseInt(e.min,10))||typeof o!="number")&&(o=12),(isNaN(a=parseInt(e.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+pH(u)+"]{"+o+","+a+"}$"),r=ume([u],n.caseSensitive,!0),r.text=Ame(r.values,r.suppressed),A=e.confirmMessage!=null?e.confirmMessage:"Reinput a same one to confirm it: ",p=e.unmatchMessage!=null?e.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",t==null&&(t="Input new password: "),C=n.limitMessage;!v;)n.limit=h,n.limitMessage=C,w=qr.question(t,n),n.limit=[w,""],n.limitMessage=p,v=qr.question(A,n);return w};function dme(t,e,r){var o;function a(n){return o=r(n),!isNaN(o)&&typeof o=="number"}return qr.question(t,Ps({limitMessage:"Input valid number, please."},e,{limit:a,cd:!1})),o}qr.questionInt=function(t,e){return dme(t,e,function(r){return parseInt(r,10)})};qr.questionFloat=function(t,e){return dme(t,e,parseFloat)};qr.questionPath=function(t,e){var r,o="",a=Ps({hideEchoBack:!1,limitMessage:`$<error( | 253 | And the length must be: $<length>`,trueValue:null,falseValue:null,caseSensitive:!0},e,{history:!1,cd:!1,phContent:function(b){return b==="charlist"?r.text:b==="length"?o+"..."+a:null}}),u,A,p,h,E,w,v;for(e=e||{},u=yE(e.charlist?e.charlist+"":"$<!-~>",Cme),(isNaN(o=parseInt(e.min,10))||typeof o!="number")&&(o=12),(isNaN(a=parseInt(e.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+hH(u)+"]{"+o+","+a+"}$"),r=dme([u],n.caseSensitive,!0),r.text=mme(r.values,r.suppressed),A=e.confirmMessage!=null?e.confirmMessage:"Reinput a same one to confirm it: ",p=e.unmatchMessage!=null?e.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",t==null&&(t="Input new password: "),E=n.limitMessage;!v;)n.limit=h,n.limitMessage=E,w=qr.question(t,n),n.limit=[w,""],n.limitMessage=p,v=qr.question(A,n);return w};function wme(t,e,r){var o;function a(n){return o=r(n),!isNaN(o)&&typeof o=="number"}return qr.question(t,Ps({limitMessage:"Input valid number, please."},e,{limit:a,cd:!1})),o}qr.questionInt=function(t,e){return wme(t,e,function(r){return parseInt(r,10)})};qr.questionFloat=function(t,e){return wme(t,e,parseFloat)};qr.questionPath=function(t,e){var r,o="",a=Ps({hideEchoBack:!1,limitMessage:`$<error( |
254 | )>Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},e,{keepWhitespace:!1,limit:function(n){var u,A,p;n=hH(n,!0),o="";function h(C){C.split(/\/|\\/).reduce(function(w,v){var b=sh.resolve(w+=v+sh.sep);if(!Un.existsSync(b))Un.mkdirSync(b);else if(!Un.statSync(b).isDirectory())throw new Error("Non directory already exists: "+b);return w},"")}try{if(u=Un.existsSync(n),r=u?Un.realpathSync(n):sh.resolve(n),!e.hasOwnProperty("exists")&&!u||typeof e.exists=="boolean"&&e.exists!==u)return o=(u?"Already exists":"No such file or directory")+": "+r,!1;if(!u&&e.create&&(e.isDirectory?h(r):(h(sh.dirname(r)),Un.closeSync(Un.openSync(r,"w"))),r=Un.realpathSync(r)),u&&(e.min||e.max||e.isFile||e.isDirectory)){if(A=Un.statSync(r),e.isFile&&!A.isFile())return o="Not file: "+r,!1;if(e.isDirectory&&!A.isDirectory())return o="Not directory: "+r,!1;if(e.min&&A.size<+e.min||e.max&&A.size>+e.max)return o="Size "+A.size+" is out of range: "+r,!1}if(typeof e.validate=="function"&&(p=e.validate(r))!==!0)return typeof p=="string"&&(o=p),!1}catch(C){return o=C+"",!1}return!0},phContent:function(n){return n==="error"?o:n!=="min"&&n!=="max"?null:e.hasOwnProperty(n)?e[n]+"":""}});return e=e||{},t==null&&(t='Input path (you can "cd" and "pwd"): '),qr.question(t,a),r};function mme(t,e){var r={},o={};return typeof t=="object"?(Object.keys(t).forEach(function(a){typeof t[a]=="function"&&(o[e.caseSensitive?a:a.toLowerCase()]=t[a])}),r.preCheck=function(a){var n;return r.args=AH(a),n=r.args[0]||"",e.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&o.hasOwnProperty(n)?o[n].apply(a,r.args.slice(1)):o.hasOwnProperty("_")?o._.apply(a,r.args):null,{res:a,forceNext:!1}},o.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return e.caseSensitive||(a=a.toLowerCase()),o.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=AH(a),r.hRes=typeof t=="function"?t.apply(a,r.args):!0,{res:a,forceNext:!1}},r}qr.promptCL=function(t,e){var r=Ps({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=mme(t,r);return r.limit=o.limit,r.preCheck=o.preCheck,qr.prompt(r),o.args};qr.promptLoop=function(t,e){for(var r=Ps({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},e);!t(qr.prompt(r)););};qr.promptCLLoop=function(t,e){var r=Ps({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=mme(t,r);for(r.limit=o.limit,r.preCheck=o.preCheck;qr.prompt(r),!o.hRes;);};qr.promptSimShell=function(t){return qr.prompt(Ps({hideEchoBack:!1,history:!0},t,{prompt:function(){return Zd?"$<cwd>>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$<cwdHome>$ "}()}))};function yme(t,e,r){var o;return t==null&&(t="Are you sure? "),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s*:?\s*$/,"")+" [y/n]: "),o=qr.keyIn(t,Ps(e,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof o=="boolean"?o:""}qr.keyInYN=function(t,e){return yme(t,e)};qr.keyInYNStrict=function(t,e){return yme(t,e,"yn")};qr.keyInPause=function(t,e){t==null&&(t="Continue..."),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s+$/,"")+" (Hit any key)"),qr.keyIn(t,Ps({limit:null},e,{hideEchoBack:!0,mask:""}))};qr.keyInSelect=function(t,e,r){var o=Ps({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?t.length+"":p==="firstItem"?(t[0]+"").trim():p==="lastItem"?(t[t.length-1]+"").trim():null}}),a="",n={},u=49,A=` | 254 | )>Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},e,{keepWhitespace:!1,limit:function(n){var u,A,p;n=gH(n,!0),o="";function h(E){E.split(/\/|\\/).reduce(function(w,v){var b=oh.resolve(w+=v+oh.sep);if(!Un.existsSync(b))Un.mkdirSync(b);else if(!Un.statSync(b).isDirectory())throw new Error("Non directory already exists: "+b);return w},"")}try{if(u=Un.existsSync(n),r=u?Un.realpathSync(n):oh.resolve(n),!e.hasOwnProperty("exists")&&!u||typeof e.exists=="boolean"&&e.exists!==u)return o=(u?"Already exists":"No such file or directory")+": "+r,!1;if(!u&&e.create&&(e.isDirectory?h(r):(h(oh.dirname(r)),Un.closeSync(Un.openSync(r,"w"))),r=Un.realpathSync(r)),u&&(e.min||e.max||e.isFile||e.isDirectory)){if(A=Un.statSync(r),e.isFile&&!A.isFile())return o="Not file: "+r,!1;if(e.isDirectory&&!A.isDirectory())return o="Not directory: "+r,!1;if(e.min&&A.size<+e.min||e.max&&A.size>+e.max)return o="Size "+A.size+" is out of range: "+r,!1}if(typeof e.validate=="function"&&(p=e.validate(r))!==!0)return typeof p=="string"&&(o=p),!1}catch(E){return o=E+"",!1}return!0},phContent:function(n){return n==="error"?o:n!=="min"&&n!=="max"?null:e.hasOwnProperty(n)?e[n]+"":""}});return e=e||{},t==null&&(t='Input path (you can "cd" and "pwd"): '),qr.question(t,a),r};function Bme(t,e){var r={},o={};return typeof t=="object"?(Object.keys(t).forEach(function(a){typeof t[a]=="function"&&(o[e.caseSensitive?a:a.toLowerCase()]=t[a])}),r.preCheck=function(a){var n;return r.args=fH(a),n=r.args[0]||"",e.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&o.hasOwnProperty(n)?o[n].apply(a,r.args.slice(1)):o.hasOwnProperty("_")?o._.apply(a,r.args):null,{res:a,forceNext:!1}},o.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return e.caseSensitive||(a=a.toLowerCase()),o.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=fH(a),r.hRes=typeof t=="function"?t.apply(a,r.args):!0,{res:a,forceNext:!1}},r}qr.promptCL=function(t,e){var r=Ps({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=Bme(t,r);return r.limit=o.limit,r.preCheck=o.preCheck,qr.prompt(r),o.args};qr.promptLoop=function(t,e){for(var r=Ps({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},e);!t(qr.prompt(r)););};qr.promptCLLoop=function(t,e){var r=Ps({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=Bme(t,r);for(r.limit=o.limit,r.preCheck=o.preCheck;qr.prompt(r),!o.hRes;);};qr.promptSimShell=function(t){return qr.prompt(Ps({hideEchoBack:!1,history:!0},t,{prompt:function(){return tm?"$<cwd>>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$<cwdHome>$ "}()}))};function vme(t,e,r){var o;return t==null&&(t="Are you sure? "),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s*:?\s*$/,"")+" [y/n]: "),o=qr.keyIn(t,Ps(e,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof o=="boolean"?o:""}qr.keyInYN=function(t,e){return vme(t,e)};qr.keyInYNStrict=function(t,e){return vme(t,e,"yn")};qr.keyInPause=function(t,e){t==null&&(t="Continue..."),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s+$/,"")+" (Hit any key)"),qr.keyIn(t,Ps({limit:null},e,{hideEchoBack:!0,mask:""}))};qr.keyInSelect=function(t,e,r){var o=Ps({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?t.length+"":p==="firstItem"?(t[0]+"").trim():p==="lastItem"?(t[t.length-1]+"").trim():null}}),a="",n={},u=49,A=` |
255 | `;if(!Array.isArray(t)||!t.length||t.length>35)throw"`items` must be Array (max length: 35).";return t.forEach(function(p,h){var C=String.fromCharCode(u);a+=C,n[C]=h,A+="["+C+"] "+(p+"").trim()+` | 255 | `;if(!Array.isArray(t)||!t.length||t.length>35)throw"`items` must be Array (max length: 35).";return t.forEach(function(p,h){var E=String.fromCharCode(u);a+=E,n[E]=h,A+="["+E+"] "+(p+"").trim()+` |
256 | `,u=u===57?97:u+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,A+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+` | 256 | `,u=u===57?97:u+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,A+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+` |
257 | `),o.limit=a,A+=` | 257 | `),o.limit=a,A+=` |
258 | `,e==null&&(e="Choose one from list: "),(e+="")&&((!r||r.guide!==!1)&&(e=e.replace(/\s*:?\s*$/,"")+" [$<limit>]: "),A+=e),n[qr.keyIn(A,o).toLowerCase()]};qr.getRawInput=function(){return nQ};function a2(t,e){var r;return e.length&&(r={},r[t]=e[0]),qr.setDefaultOptions(r)[t]}qr.setPrint=function(){return a2("print",arguments)};qr.setPrompt=function(){return a2("prompt",arguments)};qr.setEncoding=function(){return a2("encoding",arguments)};qr.setMask=function(){return a2("mask",arguments)};qr.setBufferSize=function(){return a2("bufferSize",arguments)}});var gH=U((W5t,pl)=>{(function(){var t={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(I,P,y){var F=tau_file_system.files[I];if(!F){if(y==="read")return null;F={path:I,text:"",type:P,get:function(z,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+z)},put:function(z,X){return X==="end_of_file"?(this.text+=z,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+z+this.text.substring(X+z.length),!0)},get_byte:function(z){if(z==="end_of_stream")return-1;var X=Math.floor(z/2);if(this.text.length<=X)return-1;var $=n(this.text[Math.floor(z/2)],0);return z%2===0?$&255:$/256>>>0},put_byte:function(z,X){var $=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length<$)return null;var ie=this.text.length===$?-1:n(this.text[Math.floor(X/2)],0);return X%2===0?(ie=ie/256>>>0,ie=(ie&255)<<8|z&255):(ie=ie&255,ie=(z&255)<<8|ie&255),this.text.length===$?this.text+=u(ie):this.text=this.text.substring(0,$)+u(ie)+this.text.substring($+1),!0},flush:function(){return!0},close:function(){var z=tau_file_system.files[this.path];return z?!0:null}},tau_file_system.files[I]=F}return y==="write"&&(F.text=""),F}},tau_user_input={buffer:"",get:function(I,P){for(var y;tau_user_input.buffer.length<I;)y=window.prompt(),y&&(tau_user_input.buffer+=y);return y=tau_user_input.buffer.substr(0,I),tau_user_input.buffer=tau_user_input.buffer.substr(I),y}},tau_user_output={put:function(I,P){return console.log(I),!0},flush:function(){return!0}},nodejs_file_system={open:function(I,P,y){var F=Ie("fs"),z=F.openSync(I,y[0]);return y==="read"&&!F.existsSync(I)?null:{get:function(X,$){var ie=new Buffer(X);return F.readSync(z,ie,0,X,$),ie.toString()},put:function(X,$){var ie=Buffer.from(X);if($==="end_of_file")F.writeSync(z,ie);else{if($==="past_end_of_file")return null;F.writeSync(z,ie,0,ie.length,$)}return!0},get_byte:function(X){return null},put_byte:function(X,$){return null},flush:function(){return!0},close:function(){return F.closeSync(z),!0}}}},nodejs_user_input={buffer:"",get:function(I,P){for(var y,F=Eme();nodejs_user_input.buffer.length<I;)nodejs_user_input.buffer+=F.question();return y=nodejs_user_input.buffer.substr(0,I),nodejs_user_input.buffer=nodejs_user_input.buffer.substr(I),y}},nodejs_user_output={put:function(I,P){return process.stdout.write(I),!0},flush:function(){return!0}};var e;Array.prototype.indexOf?e=function(I,P){return I.indexOf(P)}:e=function(I,P){for(var y=I.length,F=0;F<y;F++)if(P===I[F])return F;return-1};var r=function(I,P){if(I.length!==0){for(var y=I[0],F=I.length,z=1;z<F;z++)y=P(y,I[z]);return y}},o;Array.prototype.map?o=function(I,P){return I.map(P)}:o=function(I,P){for(var y=[],F=I.length,z=0;z<F;z++)y.push(P(I[z]));return y};var a;Array.prototype.filter?a=function(I,P){return I.filter(P)}:a=function(I,P){for(var y=[],F=I.length,z=0;z<F;z++)P(I[z])&&y.push(I[z]);return y};var n;String.prototype.codePointAt?n=function(I,P){return I.codePointAt(P)}:n=function(I,P){return I.charCodeAt(P)};var u;String.fromCodePoint?u=function(){return String.fromCodePoint.apply(null,arguments)}:u=function(){return String.fromCharCode.apply(null,arguments)};var A=0,p=1,h=/(\\a)|(\\b)|(\\f)|(\\n)|(\\r)|(\\t)|(\\v)|\\x([0-9a-fA-F]+)\\|\\([0-7]+)\\|(\\\\)|(\\')|('')|(\\")|(\\`)|(\\.)|(.)/g,C={"\\a":7,"\\b":8,"\\f":12,"\\n":10,"\\r":13,"\\t":9,"\\v":11};function w(I){var P=[],y=!1;return I.replace(h,function(F,z,X,$,ie,ke,Ne,st,ht,Ut,Xt,Pt,tn,Dr,fr,Br,jr){switch(!0){case ht!==void 0:return P.push(parseInt(ht,16)),"";case Ut!==void 0:return P.push(parseInt(Ut,8)),"";case Xt!==void 0:case Pt!==void 0:case tn!==void 0:case Dr!==void 0:case fr!==void 0:return P.push(n(F.substr(1),0)),"";case jr!==void 0:return P.push(n(jr,0)),"";case Br!==void 0:y=!0;default:return P.push(C[F]),""}}),y?null:P}function v(I,P){var y="";if(I.length<2)return I;try{I=I.replace(/\\([0-7]+)\\/g,function($,ie){return u(parseInt(ie,8))}),I=I.replace(/\\x([0-9a-fA-F]+)\\/g,function($,ie){return u(parseInt(ie,16))})}catch{return null}for(var F=0;F<I.length;F++){var z=I.charAt(F),X=I.charAt(F+1);if(z===P&&X===P)F++,y+=P;else if(z==="\\")if(["a","b","f","n","r","t","v","'",'"',"\\","a","\b","\f",` | 258 | `,e==null&&(e="Choose one from list: "),(e+="")&&((!r||r.guide!==!1)&&(e=e.replace(/\s*:?\s*$/,"")+" [$<limit>]: "),A+=e),n[qr.keyIn(A,o).toLowerCase()]};qr.getRawInput=function(){return uQ};function A2(t,e){var r;return e.length&&(r={},r[t]=e[0]),qr.setDefaultOptions(r)[t]}qr.setPrint=function(){return A2("print",arguments)};qr.setPrompt=function(){return A2("prompt",arguments)};qr.setEncoding=function(){return A2("encoding",arguments)};qr.setMask=function(){return A2("mask",arguments)};qr.setBufferSize=function(){return A2("bufferSize",arguments)}});var dH=U((e5t,dl)=>{(function(){var t={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(I,P,y){var F=tau_file_system.files[I];if(!F){if(y==="read")return null;F={path:I,text:"",type:P,get:function(J,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+J)},put:function(J,X){return X==="end_of_file"?(this.text+=J,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+J+this.text.substring(X+J.length),!0)},get_byte:function(J){if(J==="end_of_stream")return-1;var X=Math.floor(J/2);if(this.text.length<=X)return-1;var $=n(this.text[Math.floor(J/2)],0);return J%2===0?$&255:$/256>>>0},put_byte:function(J,X){var $=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length<$)return null;var ie=this.text.length===$?-1:n(this.text[Math.floor(X/2)],0);return X%2===0?(ie=ie/256>>>0,ie=(ie&255)<<8|J&255):(ie=ie&255,ie=(J&255)<<8|ie&255),this.text.length===$?this.text+=u(ie):this.text=this.text.substring(0,$)+u(ie)+this.text.substring($+1),!0},flush:function(){return!0},close:function(){var J=tau_file_system.files[this.path];return J?!0:null}},tau_file_system.files[I]=F}return y==="write"&&(F.text=""),F}},tau_user_input={buffer:"",get:function(I,P){for(var y;tau_user_input.buffer.length<I;)y=window.prompt(),y&&(tau_user_input.buffer+=y);return y=tau_user_input.buffer.substr(0,I),tau_user_input.buffer=tau_user_input.buffer.substr(I),y}},tau_user_output={put:function(I,P){return console.log(I),!0},flush:function(){return!0}},nodejs_file_system={open:function(I,P,y){var F=Ie("fs"),J=F.openSync(I,y[0]);return y==="read"&&!F.existsSync(I)?null:{get:function(X,$){var ie=new Buffer(X);return F.readSync(J,ie,0,X,$),ie.toString()},put:function(X,$){var ie=Buffer.from(X);if($==="end_of_file")F.writeSync(J,ie);else{if($==="past_end_of_file")return null;F.writeSync(J,ie,0,ie.length,$)}return!0},get_byte:function(X){return null},put_byte:function(X,$){return null},flush:function(){return!0},close:function(){return F.closeSync(J),!0}}}},nodejs_user_input={buffer:"",get:function(I,P){for(var y,F=Dme();nodejs_user_input.buffer.length<I;)nodejs_user_input.buffer+=F.question();return y=nodejs_user_input.buffer.substr(0,I),nodejs_user_input.buffer=nodejs_user_input.buffer.substr(I),y}},nodejs_user_output={put:function(I,P){return process.stdout.write(I),!0},flush:function(){return!0}};var e;Array.prototype.indexOf?e=function(I,P){return I.indexOf(P)}:e=function(I,P){for(var y=I.length,F=0;F<y;F++)if(P===I[F])return F;return-1};var r=function(I,P){if(I.length!==0){for(var y=I[0],F=I.length,J=1;J<F;J++)y=P(y,I[J]);return y}},o;Array.prototype.map?o=function(I,P){return I.map(P)}:o=function(I,P){for(var y=[],F=I.length,J=0;J<F;J++)y.push(P(I[J]));return y};var a;Array.prototype.filter?a=function(I,P){return I.filter(P)}:a=function(I,P){for(var y=[],F=I.length,J=0;J<F;J++)P(I[J])&&y.push(I[J]);return y};var n;String.prototype.codePointAt?n=function(I,P){return I.codePointAt(P)}:n=function(I,P){return I.charCodeAt(P)};var u;String.fromCodePoint?u=function(){return String.fromCodePoint.apply(null,arguments)}:u=function(){return String.fromCharCode.apply(null,arguments)};var A=0,p=1,h=/(\\a)|(\\b)|(\\f)|(\\n)|(\\r)|(\\t)|(\\v)|\\x([0-9a-fA-F]+)\\|\\([0-7]+)\\|(\\\\)|(\\')|('')|(\\")|(\\`)|(\\.)|(.)/g,E={"\\a":7,"\\b":8,"\\f":12,"\\n":10,"\\r":13,"\\t":9,"\\v":11};function w(I){var P=[],y=!1;return I.replace(h,function(F,J,X,$,ie,ke,Ne,st,ht,Ut,Xt,Pt,tn,Dr,fr,Br,jr){switch(!0){case ht!==void 0:return P.push(parseInt(ht,16)),"";case Ut!==void 0:return P.push(parseInt(Ut,8)),"";case Xt!==void 0:case Pt!==void 0:case tn!==void 0:case Dr!==void 0:case fr!==void 0:return P.push(n(F.substr(1),0)),"";case jr!==void 0:return P.push(n(jr,0)),"";case Br!==void 0:y=!0;default:return P.push(E[F]),""}}),y?null:P}function v(I,P){var y="";if(I.length<2)return I;try{I=I.replace(/\\([0-7]+)\\/g,function($,ie){return u(parseInt(ie,8))}),I=I.replace(/\\x([0-9a-fA-F]+)\\/g,function($,ie){return u(parseInt(ie,16))})}catch{return null}for(var F=0;F<I.length;F++){var J=I.charAt(F),X=I.charAt(F+1);if(J===P&&X===P)F++,y+=P;else if(J==="\\")if(["a","b","f","n","r","t","v","'",'"',"\\","a","\b","\f",` |
259 | `,"\r"," ","\v"].indexOf(X)!==-1)switch(F+=1,X){case"a":y+="a";break;case"b":y+="\b";break;case"f":y+="\f";break;case"n":y+=` | 259 | `,"\r"," ","\v"].indexOf(X)!==-1)switch(F+=1,X){case"a":y+="a";break;case"b":y+="\b";break;case"f":y+="\f";break;case"n":y+=` |
260 | `;break;case"r":y+="\r";break;case"t":y+=" ";break;case"v":y+="\v";break;case"'":y+="'";break;case'"':y+='"';break;case"\\":y+="\\";break}else return null;else y+=z}return y}function b(I){for(var P="",y=0;y<I.length;y++)switch(I.charAt(y)){case"'":P+="\\'";break;case"\\":P+="\\\\";break;case"\b":P+="\\b";break;case"\f":P+="\\f";break;case` | 260 | `;break;case"r":y+="\r";break;case"t":y+=" ";break;case"v":y+="\v";break;case"'":y+="'";break;case'"':y+='"';break;case"\\":y+="\\";break}else return null;else y+=J}return y}function b(I){for(var P="",y=0;y<I.length;y++)switch(I.charAt(y)){case"'":P+="\\'";break;case"\\":P+="\\\\";break;case"\b":P+="\\b";break;case"\f":P+="\\f";break;case` |
261 | `:P+="\\n";break;case"\r":P+="\\r";break;case" ":P+="\\t";break;case"\v":P+="\\v";break;default:P+=I.charAt(y);break}return P}function E(I){var P=I.substr(2);switch(I.substr(0,2).toLowerCase()){case"0x":return parseInt(P,16);case"0b":return parseInt(P,2);case"0o":return parseInt(P,8);case"0'":return w(P)[0];default:return parseFloat(I)}}var R={whitespace:/^\s*(?:(?:%.*)|(?:\/\*(?:\n|\r|.)*?\*\/)|(?:\s+))\s*/,variable:/^(?:[A-Z_][a-zA-Z0-9_]*)/,atom:/^(\!|,|;|[a-z][0-9a-zA-Z_]*|[#\$\&\*\+\-\.\/\:\<\=\>\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function L(I,P){return I.get_flag("char_conversion").id==="on"?P.replace(/./g,function(y){return I.get_char_conversion(y)}):P}function _(I){this.thread=I,this.text="",this.tokens=[]}_.prototype.set_last_tokens=function(I){return this.tokens=I},_.prototype.new_text=function(I){this.text=I,this.tokens=[]},_.prototype.get_tokens=function(I){var P,y=0,F=0,z=0,X=[],$=!1;if(I){var ie=this.tokens[I-1];y=ie.len,P=L(this.thread,this.text.substr(ie.len)),F=ie.line,z=ie.start}else P=this.text;if(/^\s*$/.test(P))return null;for(;P!=="";){var ke=[],Ne=!1;if(/^\n/.exec(P)!==null){F++,z=0,y++,P=P.replace(/\n/,""),$=!0;continue}for(var st in R)if(R.hasOwnProperty(st)){var ht=R[st].exec(P);ht&&ke.push({value:ht[0],name:st,matches:ht})}if(!ke.length)return this.set_last_tokens([{value:P,matches:[],name:"lexical",line:F,start:z}]);var ie=r(ke,function(Dr,fr){return Dr.value.length>=fr.value.length?Dr:fr});switch(ie.start=z,ie.line=F,P=P.replace(ie.value,""),z+=ie.value.length,y+=ie.value.length,ie.name){case"atom":ie.raw=ie.value,ie.value.charAt(0)==="'"&&(ie.value=v(ie.value.substr(1,ie.value.length-2),"'"),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence"));break;case"number":ie.float=ie.value.substring(0,2)!=="0x"&&ie.value.match(/[.eE]/)!==null&&ie.value!=="0'.",ie.value=E(ie.value),ie.blank=Ne;break;case"string":var Ut=ie.value.charAt(0);ie.value=v(ie.value.substr(1,ie.value.length-2),Ut),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence");break;case"whitespace":var Xt=X[X.length-1];Xt&&(Xt.space=!0),Ne=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(ie=X.pop(),ie.name="atom",ie.value="{}",ie.raw="{}",ie.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(ie=X.pop(),ie.name="atom",ie.value="[]",ie.raw="[]",ie.space=!1);break}ie.len=y,X.push(ie),Ne=!1}var Pt=this.set_last_tokens(X);return Pt.length===0?null:Pt};function J(I,P,y,F,z){if(!P[y])return{type:A,value:x.error.syntax(P[y-1],"expression expected",!0)};var X;if(F==="0"){var $=P[y];switch($.name){case"number":return{type:p,len:y+1,value:new x.type.Num($.value,$.float)};case"variable":return{type:p,len:y+1,value:new x.type.Var($.value)};case"string":var ie;switch(I.get_flag("double_quotes").id){case"atom":ie=new H($.value,[]);break;case"codes":ie=new H("[]",[]);for(var ke=$.value.length-1;ke>=0;ke--)ie=new H(".",[new x.type.Num(n($.value,ke),!1),ie]);break;case"chars":ie=new H("[]",[]);for(var ke=$.value.length-1;ke>=0;ke--)ie=new H(".",[new x.type.Term($.value.charAt(ke),[]),ie]);break}return{type:p,len:y+1,value:ie};case"l_paren":var Pt=J(I,P,y+1,I.__get_max_priority(),!0);return Pt.type!==p?Pt:P[Pt.len]&&P[Pt.len].name==="r_paren"?(Pt.len++,Pt):{type:A,derived:!0,value:x.error.syntax(P[Pt.len]?P[Pt.len]:P[Pt.len-1],") or operator expected",!P[Pt.len])};case"l_bracket":var Pt=J(I,P,y+1,I.__get_max_priority(),!0);return Pt.type!==p?Pt:P[Pt.len]&&P[Pt.len].name==="r_bracket"?(Pt.len++,Pt.value=new H("{}",[Pt.value]),Pt):{type:A,derived:!0,value:x.error.syntax(P[Pt.len]?P[Pt.len]:P[Pt.len-1],"} or operator expected",!P[Pt.len])}}var Ne=re(I,P,y,z);return Ne.type===p||Ne.derived||(Ne=oe(I,P,y),Ne.type===p||Ne.derived)?Ne:{type:A,derived:!1,value:x.error.syntax(P[y],"unexpected token")}}var st=I.__get_max_priority(),ht=I.__get_next_priority(F),Ut=y;if(P[y].name==="atom"&&P[y+1]&&(P[y].space||P[y+1].name!=="l_paren")){var $=P[y++],Xt=I.__lookup_operator_classes(F,$.value);if(Xt&&Xt.indexOf("fy")>-1){var Pt=J(I,P,y,F,z);if(Pt.type!==A)return $.value==="-"&&!$.space&&x.type.is_number(Pt.value)?{value:new x.type.Num(-Pt.value.value,Pt.value.is_float),len:Pt.len,type:p}:{value:new x.type.Term($.value,[Pt.value]),len:Pt.len,type:p};X=Pt}else if(Xt&&Xt.indexOf("fx")>-1){var Pt=J(I,P,y,ht,z);if(Pt.type!==A)return{value:new x.type.Term($.value,[Pt.value]),len:Pt.len,type:p};X=Pt}}y=Ut;var Pt=J(I,P,y,ht,z);if(Pt.type===p){y=Pt.len;var $=P[y];if(P[y]&&(P[y].name==="atom"&&I.__lookup_operator_classes(F,$.value)||P[y].name==="bar"&&I.__lookup_operator_classes(F,"|"))){var tn=ht,Dr=F,Xt=I.__lookup_operator_classes(F,$.value);if(Xt.indexOf("xf")>-1)return{value:new x.type.Term($.value,[Pt.value]),len:++Pt.len,type:p};if(Xt.indexOf("xfx")>-1){var fr=J(I,P,y+1,tn,z);return fr.type===p?{value:new x.type.Term($.value,[Pt.value,fr.value]),len:fr.len,type:p}:(fr.derived=!0,fr)}else if(Xt.indexOf("xfy")>-1){var fr=J(I,P,y+1,Dr,z);return fr.type===p?{value:new x.type.Term($.value,[Pt.value,fr.value]),len:fr.len,type:p}:(fr.derived=!0,fr)}else if(Pt.type!==A)for(;;){y=Pt.len;var $=P[y];if($&&$.name==="atom"&&I.__lookup_operator_classes(F,$.value)){var Xt=I.__lookup_operator_classes(F,$.value);if(Xt.indexOf("yf")>-1)Pt={value:new x.type.Term($.value,[Pt.value]),len:++y,type:p};else if(Xt.indexOf("yfx")>-1){var fr=J(I,P,++y,tn,z);if(fr.type===A)return fr.derived=!0,fr;y=fr.len,Pt={value:new x.type.Term($.value,[Pt.value,fr.value]),len:y,type:p}}else break}else break}}else X={type:A,value:x.error.syntax(P[Pt.len-1],"operator expected")};return Pt}return Pt}function re(I,P,y,F){if(!P[y]||P[y].name==="atom"&&P[y].raw==="."&&!F&&(P[y].space||!P[y+1]||P[y+1].name!=="l_paren"))return{type:A,derived:!1,value:x.error.syntax(P[y-1],"unfounded token")};var z=P[y],X=[];if(P[y].name==="atom"&&P[y].raw!==","){if(y++,P[y-1].space)return{type:p,len:y,value:new x.type.Term(z.value,X)};if(P[y]&&P[y].name==="l_paren"){if(P[y+1]&&P[y+1].name==="r_paren")return{type:A,derived:!0,value:x.error.syntax(P[y+1],"argument expected")};var $=J(I,P,++y,"999",!0);if($.type===A)return $.derived?$:{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],"argument expected",!P[y])};for(X.push($.value),y=$.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if($=J(I,P,y+1,"999",!0),$.type===A)return $.derived?$:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X.push($.value),y=$.len}if(P[y]&&P[y].name==="r_paren")y++;else return{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],", or ) expected",!P[y])}}return{type:p,len:y,value:new x.type.Term(z.value,X)}}return{type:A,derived:!1,value:x.error.syntax(P[y],"term expected")}}function oe(I,P,y){if(!P[y])return{type:A,derived:!1,value:x.error.syntax(P[y-1],"[ expected")};if(P[y]&&P[y].name==="l_brace"){var F=J(I,P,++y,"999",!0),z=[F.value],X=void 0;if(F.type===A)return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:new x.type.Term("[]",[])}:{type:A,derived:!0,value:x.error.syntax(P[y],"] expected")};for(y=F.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if(F=J(I,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};z.push(F.value),y=F.len}var $=!1;if(P[y]&&P[y].name==="bar"){if($=!0,F=J(I,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X=F.value,y=F.len}return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:g(z,X)}:{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],$?"] expected":", or | or ] expected",!P[y])}}return{type:A,derived:!1,value:x.error.syntax(P[y],"list expected")}}function pe(I,P,y){var F=P[y].line,z=J(I,P,y,I.__get_max_priority(),!1),X=null,$;if(z.type!==A)if(y=z.len,P[y]&&P[y].name==="atom"&&P[y].raw===".")if(y++,x.type.is_term(z.value)){if(z.value.indicator===":-/2"?(X=new x.type.Rule(z.value.args[0],Pe(z.value.args[1])),$={value:X,len:y,type:p}):z.value.indicator==="-->/2"?(X=ge(new x.type.Rule(z.value.args[0],z.value.args[1]),I),X.body=Pe(X.body),$={value:X,len:y,type:x.type.is_rule(X)?p:A}):(X=new x.type.Rule(z.value,null),$={value:X,len:y,type:p}),X){var ie=X.singleton_variables();ie.length>0&&I.throw_warning(x.warning.singleton(ie,X.head.indicator,F))}return $}else return{type:A,value:x.error.syntax(P[y],"callable expected")};else return{type:A,value:x.error.syntax(P[y]?P[y]:P[y-1],". or operator expected")};return z}function he(I,P,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var F=new _(I),z={},X;F.new_text(P);var $=0,ie=F.get_tokens($);do{if(ie===null||!ie[$])break;var ke=pe(I,ie,$);if(ke.type===A)return new H("throw",[ke.value]);if(ke.value.body===null&&ke.value.head.indicator==="?-/1"){var Ne=new At(I.session);Ne.add_goal(ke.value.head.args[0]),Ne.answer(function(ht){x.type.is_error(ht)?I.throw_warning(ht.args[0]):(ht===!1||ht===null)&&I.throw_warning(x.warning.failed_goal(ke.value.head.args[0],ke.len))}),$=ke.len;var st=!0}else if(ke.value.body===null&&ke.value.head.indicator===":-/1"){var st=I.run_directive(ke.value.head.args[0]);$=ke.len,ke.value.head.args[0].indicator==="char_conversion/2"&&(ie=F.get_tokens($),$=0)}else{X=ke.value.head.indicator,y.reconsult!==!1&&z[X]!==!0&&!I.is_multifile_predicate(X)&&(I.session.rules[X]=a(I.session.rules[X]||[],function(Ut){return Ut.dynamic}),z[X]=!0);var st=I.add_rule(ke.value,y);$=ke.len}if(!st)return st}while(!0);return!0}function ve(I,P){var y=new _(I);y.new_text(P);var F=0;do{var z=y.get_tokens(F);if(z===null)break;var X=J(I,z,0,I.__get_max_priority(),!1);if(X.type!==A){var $=X.len,ie=$;if(z[$]&&z[$].name==="atom"&&z[$].raw===".")I.add_goal(Pe(X.value));else{var ke=z[$];return new H("throw",[x.error.syntax(ke||z[$-1],". or operator expected",!ke)])}F=X.len+1}else return new H("throw",[X.value])}while(!0);return!0}function ge(I,P){I=I.rename(P);var y=P.next_free_variable(),F=le(I.body,y,P);return F.error?F.value:(I.body=F.value,I.head.args=I.head.args.concat([y,F.variable]),I.head=new H(I.head.id,I.head.args),I)}function le(I,P,y){var F;if(x.type.is_term(I)&&I.indicator==="!/0")return{value:I,variable:P,error:!1};if(x.type.is_term(I)&&I.indicator===",/2"){var z=le(I.args[0],P,y);if(z.error)return z;var X=le(I.args[1],z.variable,y);return X.error?X:{value:new H(",",[z.value,X.value]),variable:X.variable,error:!1}}else{if(x.type.is_term(I)&&I.indicator==="{}/1")return{value:I.args[0],variable:P,error:!1};if(x.type.is_empty_list(I))return{value:new H("true",[]),variable:P,error:!1};if(x.type.is_list(I)){F=y.next_free_variable();for(var $=I,ie;$.indicator==="./2";)ie=$,$=$.args[1];return x.type.is_variable($)?{value:x.error.instantiation("DCG"),variable:P,error:!0}:x.type.is_empty_list($)?(ie.args[1]=F,{value:new H("=",[P,I]),variable:F,error:!1}):{value:x.error.type("list",I,"DCG"),variable:P,error:!0}}else return x.type.is_callable(I)?(F=y.next_free_variable(),I.args=I.args.concat([P,F]),I=new H(I.id,I.args),{value:I,variable:F,error:!1}):{value:x.error.type("callable",I,"DCG"),variable:P,error:!0}}}function Pe(I){return x.type.is_variable(I)?new H("call",[I]):x.type.is_term(I)&&[",/2",";/2","->/2"].indexOf(I.indicator)!==-1?new H(I.id,[Pe(I.args[0]),Pe(I.args[1])]):I}function g(I,P){for(var y=P||new x.type.Term("[]",[]),F=I.length-1;F>=0;F--)y=new x.type.Term(".",[I[F],y]);return y}function De(I,P){for(var y=I.length-1;y>=0;y--)I[y]===P&&I.splice(y,1)}function Ee(I){for(var P={},y=[],F=0;F<I.length;F++)I[F]in P||(y.push(I[F]),P[I[F]]=!0);return y}function de(I,P,y,F){if(I.session.rules[y]!==null){for(var z=0;z<I.session.rules[y].length;z++)if(I.session.rules[y][z]===F){I.session.rules[y].splice(z,1),I.success(P);break}}}function ne(I){return function(P,y,F){var z=F.args[0],X=F.args.slice(1,I);if(x.type.is_variable(z))P.throw_error(x.error.instantiation(P.level));else if(!x.type.is_callable(z))P.throw_error(x.error.type("callable",z,P.level));else{var $=new H(z.id,z.args.concat(X));P.prepend([new Qe(y.goal.replace($),y.substitution,y)])}}}function Z(I){for(var P=I.length-1;P>=0;P--)if(I.charAt(P)==="/")return new H("/",[new H(I.substring(0,P)),new be(parseInt(I.substring(P+1)),!1)])}function me(I){this.id=I}function be(I,P){this.is_float=P!==void 0?P:parseInt(I)!==I,this.value=this.is_float?I:parseInt(I)}var ut=0;function H(I,P,y){this.ref=y||++ut,this.id=I,this.args=P||[],this.indicator=I+"/"+this.args.length}var yt=0;function Me(I,P,y,F,z,X){this.id=yt++,this.stream=I,this.mode=P,this.alias=y,this.type=F!==void 0?F:"text",this.reposition=z!==void 0?z:!0,this.eof_action=X!==void 0?X:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function Te(I){I=I||{},this.links=I}function Qe(I,P,y){P=P||new Te,y=y||null,this.goal=I,this.substitution=P,this.parent=y}function Ue(I,P,y){this.head=I,this.body=P,this.dynamic=y||!1}function je(I){I=I===void 0||I<=0?1e3:I,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new At(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=I,this.streams={user_input:new Me(typeof pl<"u"&&pl.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Me(typeof pl<"u"&&pl.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof pl<"u"&&pl.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(P){return P.substitution},this.format_error=function(P){return P.goal},this.flag={bounded:x.flag.bounded.value,max_integer:x.flag.max_integer.value,min_integer:x.flag.min_integer.value,integer_rounding_function:x.flag.integer_rounding_function.value,char_conversion:x.flag.char_conversion.value,debug:x.flag.debug.value,max_arity:x.flag.max_arity.value,unknown:x.flag.unknown.value,double_quotes:x.flag.double_quotes.value,occurs_check:x.flag.occurs_check.value,dialect:x.flag.dialect.value,version_data:x.flag.version_data.value,nodejs:x.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function At(I){this.epoch=Date.now(),this.session=I,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function Le(I,P,y){this.id=I,this.rules=P,this.exports=y,x.module[I]=this}Le.prototype.exports_predicate=function(I){return this.exports.indexOf(I)!==-1},me.prototype.unify=function(I,P){if(P&&e(I.variables(),this.id)!==-1&&!x.type.is_variable(I))return null;var y={};return y[this.id]=I,new Te(y)},be.prototype.unify=function(I,P){return x.type.is_number(I)&&this.value===I.value&&this.is_float===I.is_float?new Te:null},H.prototype.unify=function(I,P){if(x.type.is_term(I)&&this.indicator===I.indicator){for(var y=new Te,F=0;F<this.args.length;F++){var z=x.unify(this.args[F].apply(y),I.args[F].apply(y),P);if(z===null)return null;for(var X in z.links)y.links[X]=z.links[X];y=y.apply(z)}return y}return null},Me.prototype.unify=function(I,P){return x.type.is_stream(I)&&this.id===I.id?new Te:null},me.prototype.toString=function(I){return this.id},be.prototype.toString=function(I){return this.is_float&&e(this.value.toString(),".")===-1?this.value+".0":this.value.toString()},H.prototype.toString=function(I,P,y){if(I=I||{},I.quoted=I.quoted===void 0?!0:I.quoted,I.ignore_ops=I.ignore_ops===void 0?!1:I.ignore_ops,I.numbervars=I.numbervars===void 0?!1:I.numbervars,P=P===void 0?1200:P,y=y===void 0?"":y,I.numbervars&&this.indicator==="$VAR/1"&&x.type.is_integer(this.args[0])&&this.args[0].value>=0){var F=this.args[0].value,z=Math.floor(F/26),X=F%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[X]+(z!==0?z:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(I)+"}";case"./2":for(var $="["+this.args[0].toString(I),ie=this.args[1];ie.indicator==="./2";)$+=", "+ie.args[0].toString(I),ie=ie.args[1];return ie.indicator!=="[]/0"&&($+="|"+ie.toString(I)),$+="]",$;case",/2":return"("+this.args[0].toString(I)+", "+this.args[1].toString(I)+")";default:var ke=this.id,Ne=I.session?I.session.lookup_operator(this.id,this.args.length):null;if(I.session===void 0||I.ignore_ops||Ne===null)return I.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(ke)&&ke!=="{}"&&ke!=="[]"&&(ke="'"+b(ke)+"'"),ke+(this.args.length?"("+o(this.args,function(Xt){return Xt.toString(I)}).join(", ")+")":"");var st=Ne.priority>P.priority||Ne.priority===P.priority&&(Ne.class==="xfy"&&this.indicator!==P.indicator||Ne.class==="yfx"&&this.indicator!==P.indicator||this.indicator===P.indicator&&Ne.class==="yfx"&&y==="right"||this.indicator===P.indicator&&Ne.class==="xfy"&&y==="left");Ne.indicator=this.indicator;var ht=st?"(":"",Ut=st?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Ne.class)!==-1?ht+ke+" "+this.args[0].toString(I,Ne)+Ut:["yf","xf"].indexOf(Ne.class)!==-1?ht+this.args[0].toString(I,Ne)+" "+ke+Ut:ht+this.args[0].toString(I,Ne,"left")+" "+this.id+" "+this.args[1].toString(I,Ne,"right")+Ut}},Me.prototype.toString=function(I){return"<stream>("+this.id+")"},Te.prototype.toString=function(I){var P="{";for(var y in this.links)!this.links.hasOwnProperty(y)||(P!=="{"&&(P+=", "),P+=y+"/"+this.links[y].toString(I));return P+="}",P},Qe.prototype.toString=function(I){return this.goal===null?"<"+this.substitution.toString(I)+">":"<"+this.goal.toString(I)+", "+this.substitution.toString(I)+">"},Ue.prototype.toString=function(I){return this.body?this.head.toString(I)+" :- "+this.body.toString(I)+".":this.head.toString(I)+"."},je.prototype.toString=function(I){for(var P="",y=0;y<this.modules.length;y++)P+=":- use_module(library("+this.modules[y]+`)). | 261 | `:P+="\\n";break;case"\r":P+="\\r";break;case" ":P+="\\t";break;case"\v":P+="\\v";break;default:P+=I.charAt(y);break}return P}function C(I){var P=I.substr(2);switch(I.substr(0,2).toLowerCase()){case"0x":return parseInt(P,16);case"0b":return parseInt(P,2);case"0o":return parseInt(P,8);case"0'":return w(P)[0];default:return parseFloat(I)}}var R={whitespace:/^\s*(?:(?:%.*)|(?:\/\*(?:\n|\r|.)*?\*\/)|(?:\s+))\s*/,variable:/^(?:[A-Z_][a-zA-Z0-9_]*)/,atom:/^(\!|,|;|[a-z][0-9a-zA-Z_]*|[#\$\&\*\+\-\.\/\:\<\=\>\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function L(I,P){return I.get_flag("char_conversion").id==="on"?P.replace(/./g,function(y){return I.get_char_conversion(y)}):P}function _(I){this.thread=I,this.text="",this.tokens=[]}_.prototype.set_last_tokens=function(I){return this.tokens=I},_.prototype.new_text=function(I){this.text=I,this.tokens=[]},_.prototype.get_tokens=function(I){var P,y=0,F=0,J=0,X=[],$=!1;if(I){var ie=this.tokens[I-1];y=ie.len,P=L(this.thread,this.text.substr(ie.len)),F=ie.line,J=ie.start}else P=this.text;if(/^\s*$/.test(P))return null;for(;P!=="";){var ke=[],Ne=!1;if(/^\n/.exec(P)!==null){F++,J=0,y++,P=P.replace(/\n/,""),$=!0;continue}for(var st in R)if(R.hasOwnProperty(st)){var ht=R[st].exec(P);ht&&ke.push({value:ht[0],name:st,matches:ht})}if(!ke.length)return this.set_last_tokens([{value:P,matches:[],name:"lexical",line:F,start:J}]);var ie=r(ke,function(Dr,fr){return Dr.value.length>=fr.value.length?Dr:fr});switch(ie.start=J,ie.line=F,P=P.replace(ie.value,""),J+=ie.value.length,y+=ie.value.length,ie.name){case"atom":ie.raw=ie.value,ie.value.charAt(0)==="'"&&(ie.value=v(ie.value.substr(1,ie.value.length-2),"'"),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence"));break;case"number":ie.float=ie.value.substring(0,2)!=="0x"&&ie.value.match(/[.eE]/)!==null&&ie.value!=="0'.",ie.value=C(ie.value),ie.blank=Ne;break;case"string":var Ut=ie.value.charAt(0);ie.value=v(ie.value.substr(1,ie.value.length-2),Ut),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence");break;case"whitespace":var Xt=X[X.length-1];Xt&&(Xt.space=!0),Ne=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(ie=X.pop(),ie.name="atom",ie.value="{}",ie.raw="{}",ie.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(ie=X.pop(),ie.name="atom",ie.value="[]",ie.raw="[]",ie.space=!1);break}ie.len=y,X.push(ie),Ne=!1}var Pt=this.set_last_tokens(X);return Pt.length===0?null:Pt};function V(I,P,y,F,J){if(!P[y])return{type:A,value:x.error.syntax(P[y-1],"expression expected",!0)};var X;if(F==="0"){var $=P[y];switch($.name){case"number":return{type:p,len:y+1,value:new x.type.Num($.value,$.float)};case"variable":return{type:p,len:y+1,value:new x.type.Var($.value)};case"string":var ie;switch(I.get_flag("double_quotes").id){case"atom":ie=new H($.value,[]);break;case"codes":ie=new H("[]",[]);for(var ke=$.value.length-1;ke>=0;ke--)ie=new H(".",[new x.type.Num(n($.value,ke),!1),ie]);break;case"chars":ie=new H("[]",[]);for(var ke=$.value.length-1;ke>=0;ke--)ie=new H(".",[new x.type.Term($.value.charAt(ke),[]),ie]);break}return{type:p,len:y+1,value:ie};case"l_paren":var Pt=V(I,P,y+1,I.__get_max_priority(),!0);return Pt.type!==p?Pt:P[Pt.len]&&P[Pt.len].name==="r_paren"?(Pt.len++,Pt):{type:A,derived:!0,value:x.error.syntax(P[Pt.len]?P[Pt.len]:P[Pt.len-1],") or operator expected",!P[Pt.len])};case"l_bracket":var Pt=V(I,P,y+1,I.__get_max_priority(),!0);return Pt.type!==p?Pt:P[Pt.len]&&P[Pt.len].name==="r_bracket"?(Pt.len++,Pt.value=new H("{}",[Pt.value]),Pt):{type:A,derived:!0,value:x.error.syntax(P[Pt.len]?P[Pt.len]:P[Pt.len-1],"} or operator expected",!P[Pt.len])}}var Ne=re(I,P,y,J);return Ne.type===p||Ne.derived||(Ne=oe(I,P,y),Ne.type===p||Ne.derived)?Ne:{type:A,derived:!1,value:x.error.syntax(P[y],"unexpected token")}}var st=I.__get_max_priority(),ht=I.__get_next_priority(F),Ut=y;if(P[y].name==="atom"&&P[y+1]&&(P[y].space||P[y+1].name!=="l_paren")){var $=P[y++],Xt=I.__lookup_operator_classes(F,$.value);if(Xt&&Xt.indexOf("fy")>-1){var Pt=V(I,P,y,F,J);if(Pt.type!==A)return $.value==="-"&&!$.space&&x.type.is_number(Pt.value)?{value:new x.type.Num(-Pt.value.value,Pt.value.is_float),len:Pt.len,type:p}:{value:new x.type.Term($.value,[Pt.value]),len:Pt.len,type:p};X=Pt}else if(Xt&&Xt.indexOf("fx")>-1){var Pt=V(I,P,y,ht,J);if(Pt.type!==A)return{value:new x.type.Term($.value,[Pt.value]),len:Pt.len,type:p};X=Pt}}y=Ut;var Pt=V(I,P,y,ht,J);if(Pt.type===p){y=Pt.len;var $=P[y];if(P[y]&&(P[y].name==="atom"&&I.__lookup_operator_classes(F,$.value)||P[y].name==="bar"&&I.__lookup_operator_classes(F,"|"))){var tn=ht,Dr=F,Xt=I.__lookup_operator_classes(F,$.value);if(Xt.indexOf("xf")>-1)return{value:new x.type.Term($.value,[Pt.value]),len:++Pt.len,type:p};if(Xt.indexOf("xfx")>-1){var fr=V(I,P,y+1,tn,J);return fr.type===p?{value:new x.type.Term($.value,[Pt.value,fr.value]),len:fr.len,type:p}:(fr.derived=!0,fr)}else if(Xt.indexOf("xfy")>-1){var fr=V(I,P,y+1,Dr,J);return fr.type===p?{value:new x.type.Term($.value,[Pt.value,fr.value]),len:fr.len,type:p}:(fr.derived=!0,fr)}else if(Pt.type!==A)for(;;){y=Pt.len;var $=P[y];if($&&$.name==="atom"&&I.__lookup_operator_classes(F,$.value)){var Xt=I.__lookup_operator_classes(F,$.value);if(Xt.indexOf("yf")>-1)Pt={value:new x.type.Term($.value,[Pt.value]),len:++y,type:p};else if(Xt.indexOf("yfx")>-1){var fr=V(I,P,++y,tn,J);if(fr.type===A)return fr.derived=!0,fr;y=fr.len,Pt={value:new x.type.Term($.value,[Pt.value,fr.value]),len:y,type:p}}else break}else break}}else X={type:A,value:x.error.syntax(P[Pt.len-1],"operator expected")};return Pt}return Pt}function re(I,P,y,F){if(!P[y]||P[y].name==="atom"&&P[y].raw==="."&&!F&&(P[y].space||!P[y+1]||P[y+1].name!=="l_paren"))return{type:A,derived:!1,value:x.error.syntax(P[y-1],"unfounded token")};var J=P[y],X=[];if(P[y].name==="atom"&&P[y].raw!==","){if(y++,P[y-1].space)return{type:p,len:y,value:new x.type.Term(J.value,X)};if(P[y]&&P[y].name==="l_paren"){if(P[y+1]&&P[y+1].name==="r_paren")return{type:A,derived:!0,value:x.error.syntax(P[y+1],"argument expected")};var $=V(I,P,++y,"999",!0);if($.type===A)return $.derived?$:{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],"argument expected",!P[y])};for(X.push($.value),y=$.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if($=V(I,P,y+1,"999",!0),$.type===A)return $.derived?$:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X.push($.value),y=$.len}if(P[y]&&P[y].name==="r_paren")y++;else return{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],", or ) expected",!P[y])}}return{type:p,len:y,value:new x.type.Term(J.value,X)}}return{type:A,derived:!1,value:x.error.syntax(P[y],"term expected")}}function oe(I,P,y){if(!P[y])return{type:A,derived:!1,value:x.error.syntax(P[y-1],"[ expected")};if(P[y]&&P[y].name==="l_brace"){var F=V(I,P,++y,"999",!0),J=[F.value],X=void 0;if(F.type===A)return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:new x.type.Term("[]",[])}:{type:A,derived:!0,value:x.error.syntax(P[y],"] expected")};for(y=F.len;P[y]&&P[y].name==="atom"&&P[y].value===",";){if(F=V(I,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};J.push(F.value),y=F.len}var $=!1;if(P[y]&&P[y].name==="bar"){if($=!0,F=V(I,P,y+1,"999",!0),F.type===A)return F.derived?F:{type:A,derived:!0,value:x.error.syntax(P[y+1]?P[y+1]:P[y],"argument expected",!P[y+1])};X=F.value,y=F.len}return P[y]&&P[y].name==="r_brace"?{type:p,len:y+1,value:g(J,X)}:{type:A,derived:!0,value:x.error.syntax(P[y]?P[y]:P[y-1],$?"] expected":", or | or ] expected",!P[y])}}return{type:A,derived:!1,value:x.error.syntax(P[y],"list expected")}}function pe(I,P,y){var F=P[y].line,J=V(I,P,y,I.__get_max_priority(),!1),X=null,$;if(J.type!==A)if(y=J.len,P[y]&&P[y].name==="atom"&&P[y].raw===".")if(y++,x.type.is_term(J.value)){if(J.value.indicator===":-/2"?(X=new x.type.Rule(J.value.args[0],Pe(J.value.args[1])),$={value:X,len:y,type:p}):J.value.indicator==="-->/2"?(X=ge(new x.type.Rule(J.value.args[0],J.value.args[1]),I),X.body=Pe(X.body),$={value:X,len:y,type:x.type.is_rule(X)?p:A}):(X=new x.type.Rule(J.value,null),$={value:X,len:y,type:p}),X){var ie=X.singleton_variables();ie.length>0&&I.throw_warning(x.warning.singleton(ie,X.head.indicator,F))}return $}else return{type:A,value:x.error.syntax(P[y],"callable expected")};else return{type:A,value:x.error.syntax(P[y]?P[y]:P[y-1],". or operator expected")};return J}function he(I,P,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var F=new _(I),J={},X;F.new_text(P);var $=0,ie=F.get_tokens($);do{if(ie===null||!ie[$])break;var ke=pe(I,ie,$);if(ke.type===A)return new H("throw",[ke.value]);if(ke.value.body===null&&ke.value.head.indicator==="?-/1"){var Ne=new At(I.session);Ne.add_goal(ke.value.head.args[0]),Ne.answer(function(ht){x.type.is_error(ht)?I.throw_warning(ht.args[0]):(ht===!1||ht===null)&&I.throw_warning(x.warning.failed_goal(ke.value.head.args[0],ke.len))}),$=ke.len;var st=!0}else if(ke.value.body===null&&ke.value.head.indicator===":-/1"){var st=I.run_directive(ke.value.head.args[0]);$=ke.len,ke.value.head.args[0].indicator==="char_conversion/2"&&(ie=F.get_tokens($),$=0)}else{X=ke.value.head.indicator,y.reconsult!==!1&&J[X]!==!0&&!I.is_multifile_predicate(X)&&(I.session.rules[X]=a(I.session.rules[X]||[],function(Ut){return Ut.dynamic}),J[X]=!0);var st=I.add_rule(ke.value,y);$=ke.len}if(!st)return st}while(!0);return!0}function ve(I,P){var y=new _(I);y.new_text(P);var F=0;do{var J=y.get_tokens(F);if(J===null)break;var X=V(I,J,0,I.__get_max_priority(),!1);if(X.type!==A){var $=X.len,ie=$;if(J[$]&&J[$].name==="atom"&&J[$].raw===".")I.add_goal(Pe(X.value));else{var ke=J[$];return new H("throw",[x.error.syntax(ke||J[$-1],". or operator expected",!ke)])}F=X.len+1}else return new H("throw",[X.value])}while(!0);return!0}function ge(I,P){I=I.rename(P);var y=P.next_free_variable(),F=le(I.body,y,P);return F.error?F.value:(I.body=F.value,I.head.args=I.head.args.concat([y,F.variable]),I.head=new H(I.head.id,I.head.args),I)}function le(I,P,y){var F;if(x.type.is_term(I)&&I.indicator==="!/0")return{value:I,variable:P,error:!1};if(x.type.is_term(I)&&I.indicator===",/2"){var J=le(I.args[0],P,y);if(J.error)return J;var X=le(I.args[1],J.variable,y);return X.error?X:{value:new H(",",[J.value,X.value]),variable:X.variable,error:!1}}else{if(x.type.is_term(I)&&I.indicator==="{}/1")return{value:I.args[0],variable:P,error:!1};if(x.type.is_empty_list(I))return{value:new H("true",[]),variable:P,error:!1};if(x.type.is_list(I)){F=y.next_free_variable();for(var $=I,ie;$.indicator==="./2";)ie=$,$=$.args[1];return x.type.is_variable($)?{value:x.error.instantiation("DCG"),variable:P,error:!0}:x.type.is_empty_list($)?(ie.args[1]=F,{value:new H("=",[P,I]),variable:F,error:!1}):{value:x.error.type("list",I,"DCG"),variable:P,error:!0}}else return x.type.is_callable(I)?(F=y.next_free_variable(),I.args=I.args.concat([P,F]),I=new H(I.id,I.args),{value:I,variable:F,error:!1}):{value:x.error.type("callable",I,"DCG"),variable:P,error:!0}}}function Pe(I){return x.type.is_variable(I)?new H("call",[I]):x.type.is_term(I)&&[",/2",";/2","->/2"].indexOf(I.indicator)!==-1?new H(I.id,[Pe(I.args[0]),Pe(I.args[1])]):I}function g(I,P){for(var y=P||new x.type.Term("[]",[]),F=I.length-1;F>=0;F--)y=new x.type.Term(".",[I[F],y]);return y}function De(I,P){for(var y=I.length-1;y>=0;y--)I[y]===P&&I.splice(y,1)}function Ce(I){for(var P={},y=[],F=0;F<I.length;F++)I[F]in P||(y.push(I[F]),P[I[F]]=!0);return y}function de(I,P,y,F){if(I.session.rules[y]!==null){for(var J=0;J<I.session.rules[y].length;J++)if(I.session.rules[y][J]===F){I.session.rules[y].splice(J,1),I.success(P);break}}}function ne(I){return function(P,y,F){var J=F.args[0],X=F.args.slice(1,I);if(x.type.is_variable(J))P.throw_error(x.error.instantiation(P.level));else if(!x.type.is_callable(J))P.throw_error(x.error.type("callable",J,P.level));else{var $=new H(J.id,J.args.concat(X));P.prepend([new Qe(y.goal.replace($),y.substitution,y)])}}}function Z(I){for(var P=I.length-1;P>=0;P--)if(I.charAt(P)==="/")return new H("/",[new H(I.substring(0,P)),new be(parseInt(I.substring(P+1)),!1)])}function me(I){this.id=I}function be(I,P){this.is_float=P!==void 0?P:parseInt(I)!==I,this.value=this.is_float?I:parseInt(I)}var ut=0;function H(I,P,y){this.ref=y||++ut,this.id=I,this.args=P||[],this.indicator=I+"/"+this.args.length}var yt=0;function Me(I,P,y,F,J,X){this.id=yt++,this.stream=I,this.mode=P,this.alias=y,this.type=F!==void 0?F:"text",this.reposition=J!==void 0?J:!0,this.eof_action=X!==void 0?X:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function Te(I){I=I||{},this.links=I}function Qe(I,P,y){P=P||new Te,y=y||null,this.goal=I,this.substitution=P,this.parent=y}function _e(I,P,y){this.head=I,this.body=P,this.dynamic=y||!1}function qe(I){I=I===void 0||I<=0?1e3:I,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new At(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=I,this.streams={user_input:new Me(typeof dl<"u"&&dl.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Me(typeof dl<"u"&&dl.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof dl<"u"&&dl.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(P){return P.substitution},this.format_error=function(P){return P.goal},this.flag={bounded:x.flag.bounded.value,max_integer:x.flag.max_integer.value,min_integer:x.flag.min_integer.value,integer_rounding_function:x.flag.integer_rounding_function.value,char_conversion:x.flag.char_conversion.value,debug:x.flag.debug.value,max_arity:x.flag.max_arity.value,unknown:x.flag.unknown.value,double_quotes:x.flag.double_quotes.value,occurs_check:x.flag.occurs_check.value,dialect:x.flag.dialect.value,version_data:x.flag.version_data.value,nodejs:x.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function At(I){this.epoch=Date.now(),this.session=I,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function Oe(I,P,y){this.id=I,this.rules=P,this.exports=y,x.module[I]=this}Oe.prototype.exports_predicate=function(I){return this.exports.indexOf(I)!==-1},me.prototype.unify=function(I,P){if(P&&e(I.variables(),this.id)!==-1&&!x.type.is_variable(I))return null;var y={};return y[this.id]=I,new Te(y)},be.prototype.unify=function(I,P){return x.type.is_number(I)&&this.value===I.value&&this.is_float===I.is_float?new Te:null},H.prototype.unify=function(I,P){if(x.type.is_term(I)&&this.indicator===I.indicator){for(var y=new Te,F=0;F<this.args.length;F++){var J=x.unify(this.args[F].apply(y),I.args[F].apply(y),P);if(J===null)return null;for(var X in J.links)y.links[X]=J.links[X];y=y.apply(J)}return y}return null},Me.prototype.unify=function(I,P){return x.type.is_stream(I)&&this.id===I.id?new Te:null},me.prototype.toString=function(I){return this.id},be.prototype.toString=function(I){return this.is_float&&e(this.value.toString(),".")===-1?this.value+".0":this.value.toString()},H.prototype.toString=function(I,P,y){if(I=I||{},I.quoted=I.quoted===void 0?!0:I.quoted,I.ignore_ops=I.ignore_ops===void 0?!1:I.ignore_ops,I.numbervars=I.numbervars===void 0?!1:I.numbervars,P=P===void 0?1200:P,y=y===void 0?"":y,I.numbervars&&this.indicator==="$VAR/1"&&x.type.is_integer(this.args[0])&&this.args[0].value>=0){var F=this.args[0].value,J=Math.floor(F/26),X=F%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[X]+(J!==0?J:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(I)+"}";case"./2":for(var $="["+this.args[0].toString(I),ie=this.args[1];ie.indicator==="./2";)$+=", "+ie.args[0].toString(I),ie=ie.args[1];return ie.indicator!=="[]/0"&&($+="|"+ie.toString(I)),$+="]",$;case",/2":return"("+this.args[0].toString(I)+", "+this.args[1].toString(I)+")";default:var ke=this.id,Ne=I.session?I.session.lookup_operator(this.id,this.args.length):null;if(I.session===void 0||I.ignore_ops||Ne===null)return I.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(ke)&&ke!=="{}"&&ke!=="[]"&&(ke="'"+b(ke)+"'"),ke+(this.args.length?"("+o(this.args,function(Xt){return Xt.toString(I)}).join(", ")+")":"");var st=Ne.priority>P.priority||Ne.priority===P.priority&&(Ne.class==="xfy"&&this.indicator!==P.indicator||Ne.class==="yfx"&&this.indicator!==P.indicator||this.indicator===P.indicator&&Ne.class==="yfx"&&y==="right"||this.indicator===P.indicator&&Ne.class==="xfy"&&y==="left");Ne.indicator=this.indicator;var ht=st?"(":"",Ut=st?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Ne.class)!==-1?ht+ke+" "+this.args[0].toString(I,Ne)+Ut:["yf","xf"].indexOf(Ne.class)!==-1?ht+this.args[0].toString(I,Ne)+" "+ke+Ut:ht+this.args[0].toString(I,Ne,"left")+" "+this.id+" "+this.args[1].toString(I,Ne,"right")+Ut}},Me.prototype.toString=function(I){return"<stream>("+this.id+")"},Te.prototype.toString=function(I){var P="{";for(var y in this.links)!this.links.hasOwnProperty(y)||(P!=="{"&&(P+=", "),P+=y+"/"+this.links[y].toString(I));return P+="}",P},Qe.prototype.toString=function(I){return this.goal===null?"<"+this.substitution.toString(I)+">":"<"+this.goal.toString(I)+", "+this.substitution.toString(I)+">"},_e.prototype.toString=function(I){return this.body?this.head.toString(I)+" :- "+this.body.toString(I)+".":this.head.toString(I)+"."},qe.prototype.toString=function(I){for(var P="",y=0;y<this.modules.length;y++)P+=":- use_module(library("+this.modules[y]+`)). |
262 | `;P+=` | 262 | `;P+=` |
263 | `;for(key in this.rules)for(y=0;y<this.rules[key].length;y++)P+=this.rules[key][y].toString(I),P+=` | 263 | `;for(key in this.rules)for(y=0;y<this.rules[key].length;y++)P+=this.rules[key][y].toString(I),P+=` |
264 | `;return P},me.prototype.clone=function(){return new me(this.id)},be.prototype.clone=function(){return new be(this.value,this.is_float)},H.prototype.clone=function(){return new H(this.id,o(this.args,function(I){return I.clone()}))},Me.prototype.clone=function(){return new Stram(this.stream,this.mode,this.alias,this.type,this.reposition,this.eof_action)},Te.prototype.clone=function(){var I={};for(var P in this.links)!this.links.hasOwnProperty(P)||(I[P]=this.links[P].clone());return new Te(I)},Qe.prototype.clone=function(){return new Qe(this.goal.clone(),this.substitution.clone(),this.parent)},Ue.prototype.clone=function(){return new Ue(this.head.clone(),this.body!==null?this.body.clone():null)},me.prototype.equals=function(I){return x.type.is_variable(I)&&this.id===I.id},be.prototype.equals=function(I){return x.type.is_number(I)&&this.value===I.value&&this.is_float===I.is_float},H.prototype.equals=function(I){if(!x.type.is_term(I)||this.indicator!==I.indicator)return!1;for(var P=0;P<this.args.length;P++)if(!this.args[P].equals(I.args[P]))return!1;return!0},Me.prototype.equals=function(I){return x.type.is_stream(I)&&this.id===I.id},Te.prototype.equals=function(I){var P;if(!x.type.is_substitution(I))return!1;for(P in this.links)if(!!this.links.hasOwnProperty(P)&&(!I.links[P]||!this.links[P].equals(I.links[P])))return!1;for(P in I.links)if(!!I.links.hasOwnProperty(P)&&!this.links[P])return!1;return!0},Qe.prototype.equals=function(I){return x.type.is_state(I)&&this.goal.equals(I.goal)&&this.substitution.equals(I.substitution)&&this.parent===I.parent},Ue.prototype.equals=function(I){return x.type.is_rule(I)&&this.head.equals(I.head)&&(this.body===null&&I.body===null||this.body!==null&&this.body.equals(I.body))},me.prototype.rename=function(I){return I.get_free_variable(this)},be.prototype.rename=function(I){return this},H.prototype.rename=function(I){return new H(this.id,o(this.args,function(P){return P.rename(I)}))},Me.prototype.rename=function(I){return this},Ue.prototype.rename=function(I){return new Ue(this.head.rename(I),this.body!==null?this.body.rename(I):null)},me.prototype.variables=function(){return[this.id]},be.prototype.variables=function(){return[]},H.prototype.variables=function(){return[].concat.apply([],o(this.args,function(I){return I.variables()}))},Me.prototype.variables=function(){return[]},Ue.prototype.variables=function(){return this.body===null?this.head.variables():this.head.variables().concat(this.body.variables())},me.prototype.apply=function(I){return I.lookup(this.id)?I.lookup(this.id):this},be.prototype.apply=function(I){return this},H.prototype.apply=function(I){if(this.indicator==="./2"){for(var P=[],y=this;y.indicator==="./2";)P.push(y.args[0].apply(I)),y=y.args[1];for(var F=y.apply(I),z=P.length-1;z>=0;z--)F=new H(".",[P[z],F]);return F}return new H(this.id,o(this.args,function(X){return X.apply(I)}),this.ref)},Me.prototype.apply=function(I){return this},Ue.prototype.apply=function(I){return new Ue(this.head.apply(I),this.body!==null?this.body.apply(I):null)},Te.prototype.apply=function(I){var P,y={};for(P in this.links)!this.links.hasOwnProperty(P)||(y[P]=this.links[P].apply(I));return new Te(y)},H.prototype.select=function(){for(var I=this;I.indicator===",/2";)I=I.args[0];return I},H.prototype.replace=function(I){return this.indicator===",/2"?this.args[0].indicator===",/2"?new H(",",[this.args[0].replace(I),this.args[1]]):I===null?this.args[1]:new H(",",[I,this.args[1]]):I},H.prototype.search=function(I){if(x.type.is_term(I)&&I.ref!==void 0&&this.ref===I.ref)return!0;for(var P=0;P<this.args.length;P++)if(x.type.is_term(this.args[P])&&this.args[P].search(I))return!0;return!1},je.prototype.get_current_input=function(){return this.current_input},At.prototype.get_current_input=function(){return this.session.get_current_input()},je.prototype.get_current_output=function(){return this.current_output},At.prototype.get_current_output=function(){return this.session.get_current_output()},je.prototype.set_current_input=function(I){this.current_input=I},At.prototype.set_current_input=function(I){return this.session.set_current_input(I)},je.prototype.set_current_output=function(I){this.current_input=I},At.prototype.set_current_output=function(I){return this.session.set_current_output(I)},je.prototype.get_stream_by_alias=function(I){return this.streams[I]},At.prototype.get_stream_by_alias=function(I){return this.session.get_stream_by_alias(I)},je.prototype.file_system_open=function(I,P,y){return this.file_system.open(I,P,y)},At.prototype.file_system_open=function(I,P,y){return this.session.file_system_open(I,P,y)},je.prototype.get_char_conversion=function(I){return this.__char_conversion[I]||I},At.prototype.get_char_conversion=function(I){return this.session.get_char_conversion(I)},je.prototype.parse=function(I){return this.thread.parse(I)},At.prototype.parse=function(I){var P=new _(this);P.new_text(I);var y=P.get_tokens();if(y===null)return!1;var F=J(this,y,0,this.__get_max_priority(),!1);return F.len!==y.length?!1:{value:F.value,expr:F,tokens:y}},je.prototype.get_flag=function(I){return this.flag[I]},At.prototype.get_flag=function(I){return this.session.get_flag(I)},je.prototype.add_rule=function(I,P){return P=P||{},P.from=P.from?P.from:"$tau-js",this.src_predicates[I.head.indicator]=P.from,this.rules[I.head.indicator]||(this.rules[I.head.indicator]=[]),this.rules[I.head.indicator].push(I),this.public_predicates.hasOwnProperty(I.head.indicator)||(this.public_predicates[I.head.indicator]=!1),!0},At.prototype.add_rule=function(I,P){return this.session.add_rule(I,P)},je.prototype.run_directive=function(I){this.thread.run_directive(I)},At.prototype.run_directive=function(I){return x.type.is_directive(I)?(x.directive[I.indicator](this,I),!0):!1},je.prototype.__get_max_priority=function(){return"1200"},At.prototype.__get_max_priority=function(){return this.session.__get_max_priority()},je.prototype.__get_next_priority=function(I){var P=0;I=parseInt(I);for(var y in this.__operators)if(!!this.__operators.hasOwnProperty(y)){var F=parseInt(y);F>P&&F<I&&(P=F)}return P.toString()},At.prototype.__get_next_priority=function(I){return this.session.__get_next_priority(I)},je.prototype.__lookup_operator_classes=function(I,P){return this.__operators.hasOwnProperty(I)&&this.__operators[I][P]instanceof Array&&this.__operators[I][P]||!1},At.prototype.__lookup_operator_classes=function(I,P){return this.session.__lookup_operator_classes(I,P)},je.prototype.lookup_operator=function(I,P){for(var y in this.__operators)if(this.__operators[y][I]){for(var F=0;F<this.__operators[y][I].length;F++)if(P===0||this.__operators[y][I][F].length===P+1)return{priority:y,class:this.__operators[y][I][F]}}return null},At.prototype.lookup_operator=function(I,P){return this.session.lookup_operator(I,P)},je.prototype.throw_warning=function(I){this.thread.throw_warning(I)},At.prototype.throw_warning=function(I){this.warnings.push(I)},je.prototype.get_warnings=function(){return this.thread.get_warnings()},At.prototype.get_warnings=function(){return this.warnings},je.prototype.add_goal=function(I,P){this.thread.add_goal(I,P)},At.prototype.add_goal=function(I,P,y){y=y||null,P===!0&&(this.points=[]);for(var F=I.variables(),z={},X=0;X<F.length;X++)z[F[X]]=new me(F[X]);this.points.push(new Qe(I,new Te(z),y))},je.prototype.consult=function(I,P){return this.thread.consult(I,P)},At.prototype.consult=function(I,P){var y="";if(typeof I=="string"){y=I;var F=y.length;if(y.substring(F-3,F)===".pl"&&document.getElementById(y)){var z=document.getElementById(y),X=z.getAttribute("type");X!==null&&X.replace(/ /g,"").toLowerCase()==="text/prolog"&&(y=z.text)}}else if(I.nodeName)switch(I.nodeName.toLowerCase()){case"input":case"textarea":y=I.value;break;default:y=I.innerHTML;break}else return!1;return this.warnings=[],he(this,y,P)},je.prototype.query=function(I){return this.thread.query(I)},At.prototype.query=function(I){return this.points=[],this.debugger_points=[],ve(this,I)},je.prototype.head_point=function(){return this.thread.head_point()},At.prototype.head_point=function(){return this.points[this.points.length-1]},je.prototype.get_free_variable=function(I){return this.thread.get_free_variable(I)},At.prototype.get_free_variable=function(I){var P=[];if(I.id==="_"||this.session.renamed_variables[I.id]===void 0){for(this.session.rename++,this.points.length>0&&(P=this.head_point().substitution.domain());e(P,x.format_variable(this.session.rename))!==-1;)this.session.rename++;if(I.id==="_")return new me(x.format_variable(this.session.rename));this.session.renamed_variables[I.id]=x.format_variable(this.session.rename)}return new me(this.session.renamed_variables[I.id])},je.prototype.next_free_variable=function(){return this.thread.next_free_variable()},At.prototype.next_free_variable=function(){this.session.rename++;var I=[];for(this.points.length>0&&(I=this.head_point().substitution.domain());e(I,x.format_variable(this.session.rename))!==-1;)this.session.rename++;return new me(x.format_variable(this.session.rename))},je.prototype.is_public_predicate=function(I){return!this.public_predicates.hasOwnProperty(I)||this.public_predicates[I]===!0},At.prototype.is_public_predicate=function(I){return this.session.is_public_predicate(I)},je.prototype.is_multifile_predicate=function(I){return this.multifile_predicates.hasOwnProperty(I)&&this.multifile_predicates[I]===!0},At.prototype.is_multifile_predicate=function(I){return this.session.is_multifile_predicate(I)},je.prototype.prepend=function(I){return this.thread.prepend(I)},At.prototype.prepend=function(I){for(var P=I.length-1;P>=0;P--)this.points.push(I[P])},je.prototype.success=function(I,P){return this.thread.success(I,P)},At.prototype.success=function(I,y){var y=typeof y>"u"?I:y;this.prepend([new Qe(I.goal.replace(null),I.substitution,y)])},je.prototype.throw_error=function(I){return this.thread.throw_error(I)},At.prototype.throw_error=function(I){this.prepend([new Qe(new H("throw",[I]),new Te,null,null)])},je.prototype.step_rule=function(I,P){return this.thread.step_rule(I,P)},At.prototype.step_rule=function(I,P){var y=P.indicator;if(I==="user"&&(I=null),I===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var F=I===null?this.session.modules:e(this.session.modules,I)===-1?[]:[I],z=0;z<F.length;z++){var X=x.module[F[z]];if(X.rules.hasOwnProperty(y)&&(X.rules.hasOwnProperty(this.level)||X.exports_predicate(y)))return x.module[F[z]].rules[y]}return null},je.prototype.step=function(){return this.thread.step()},At.prototype.step=function(){if(this.points.length!==0){var I=!1,P=this.points.pop();if(this.debugger&&this.debugger_states.push(P),x.type.is_term(P.goal)){var y=P.goal.select(),F=null,z=[];if(y!==null){this.total_steps++;for(var X=P;X.parent!==null&&X.parent.goal.search(y);)X=X.parent;if(this.level=X.parent===null?"top_level/0":X.parent.goal.select().indicator,x.type.is_term(y)&&y.indicator===":/2"&&(F=y.args[0].id,y=y.args[1]),F===null&&x.type.is_builtin(y))this.__call_indicator=y.indicator,I=x.predicate[y.indicator](this,P,y);else{var $=this.step_rule(F,y);if($===null)this.session.rules.hasOwnProperty(y.indicator)||(this.get_flag("unknown").id==="error"?this.throw_error(x.error.existence("procedure",y.indicator,this.level)):this.get_flag("unknown").id==="warning"&&this.throw_warning("unknown procedure "+y.indicator+" (from "+this.level+")"));else if($ instanceof Function)I=$(this,P,y);else{for(var ie in $)if(!!$.hasOwnProperty(ie)){var ke=$[ie];this.session.renamed_variables={},ke=ke.rename(this);var Ne=this.get_flag("occurs_check").indicator==="true/0",st=new Qe,ht=x.unify(y,ke.head,Ne);ht!==null&&(st.goal=P.goal.replace(ke.body),st.goal!==null&&(st.goal=st.goal.apply(ht)),st.substitution=P.substitution.apply(ht),st.parent=P,z.push(st))}this.prepend(z)}}}}else x.type.is_variable(P.goal)?this.throw_error(x.error.instantiation(this.level)):this.throw_error(x.error.type("callable",P.goal,this.level));return I}},je.prototype.answer=function(I){return this.thread.answer(I)},At.prototype.answer=function(I){I=I||function(P){},this.__calls.push(I),!(this.__calls.length>1)&&this.again()},je.prototype.answers=function(I,P,y){return this.thread.answers(I,P,y)},At.prototype.answers=function(I,P,y){var F=P||1e3,z=this;if(P<=0){y&&y();return}this.answer(function(X){I(X),X!==!1?setTimeout(function(){z.answers(I,P-1,y)},1):y&&y()})},je.prototype.again=function(I){return this.thread.again(I)},At.prototype.again=function(I){for(var P,y=Date.now();this.__calls.length>0;){for(this.warnings=[],I!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!x.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var F=Date.now();this.cpu_time_last=F-y,this.cpu_time+=this.cpu_time_last;var z=this.__calls.shift();this.current_limit<=0?z(null):this.points.length===0?z(!1):x.type.is_error(this.head_point().goal)?(P=this.session.format_error(this.points.pop()),this.points=[],z(P)):(this.debugger&&this.debugger_states.push(this.head_point()),P=this.session.format_success(this.points.pop()),z(P))}},je.prototype.unfold=function(I){if(I.body===null)return!1;var P=I.head,y=I.body,F=y.select(),z=new At(this),X=[];z.add_goal(F),z.step();for(var $=z.points.length-1;$>=0;$--){var ie=z.points[$],ke=P.apply(ie.substitution),Ne=y.replace(ie.goal);Ne!==null&&(Ne=Ne.apply(ie.substitution)),X.push(new Ue(ke,Ne))}var st=this.rules[P.indicator],ht=e(st,I);return X.length>0&&ht!==-1?(st.splice.apply(st,[ht,1].concat(X)),!0):!1},At.prototype.unfold=function(I){return this.session.unfold(I)},me.prototype.interpret=function(I){return x.error.instantiation(I.level)},be.prototype.interpret=function(I){return this},H.prototype.interpret=function(I){return x.type.is_unitary_list(this)?this.args[0].interpret(I):x.operate(I,this)},me.prototype.compare=function(I){return this.id<I.id?-1:this.id>I.id?1:0},be.prototype.compare=function(I){if(this.value===I.value&&this.is_float===I.is_float)return 0;if(this.value<I.value||this.value===I.value&&this.is_float&&!I.is_float)return-1;if(this.value>I.value)return 1},H.prototype.compare=function(I){if(this.args.length<I.args.length||this.args.length===I.args.length&&this.id<I.id)return-1;if(this.args.length>I.args.length||this.args.length===I.args.length&&this.id>I.id)return 1;for(var P=0;P<this.args.length;P++){var y=x.compare(this.args[P],I.args[P]);if(y!==0)return y}return 0},Te.prototype.lookup=function(I){return this.links[I]?this.links[I]:null},Te.prototype.filter=function(I){var P={};for(var y in this.links)if(!!this.links.hasOwnProperty(y)){var F=this.links[y];I(y,F)&&(P[y]=F)}return new Te(P)},Te.prototype.exclude=function(I){var P={};for(var y in this.links)!this.links.hasOwnProperty(y)||e(I,y)===-1&&(P[y]=this.links[y]);return new Te(P)},Te.prototype.add=function(I,P){this.links[I]=P},Te.prototype.domain=function(I){var P=I===!0?function(z){return z}:function(z){return new me(z)},y=[];for(var F in this.links)y.push(P(F));return y},me.prototype.compile=function(){return'new pl.type.Var("'+this.id.toString()+'")'},be.prototype.compile=function(){return"new pl.type.Num("+this.value.toString()+", "+this.is_float.toString()+")"},H.prototype.compile=function(){return'new pl.type.Term("'+this.id.replace(/"/g,'\\"')+'", ['+o(this.args,function(I){return I.compile()})+"])"},Ue.prototype.compile=function(){return"new pl.type.Rule("+this.head.compile()+", "+(this.body===null?"null":this.body.compile())+")"},je.prototype.compile=function(){var I,P=[],y;for(var F in this.rules)if(!!this.rules.hasOwnProperty(F)){var z=this.rules[F];y=[],I='"'+F+'": [';for(var X=0;X<z.length;X++)y.push(z[X].compile());I+=y.join(),I+="]",P.push(I)}return"{"+P.join()+"};"},me.prototype.toJavaScript=function(){},be.prototype.toJavaScript=function(){return this.value},H.prototype.toJavaScript=function(){if(this.args.length===0&&this.indicator!=="[]/0")return this.id;if(x.type.is_list(this)){for(var I=[],P=this,y;P.indicator==="./2";){if(y=P.args[0].toJavaScript(),y===void 0)return;I.push(y),P=P.args[1]}if(P.indicator==="[]/0")return I}},Ue.prototype.singleton_variables=function(){var I=this.head.variables(),P={},y=[];this.body!==null&&(I=I.concat(this.body.variables()));for(var F=0;F<I.length;F++)P[I[F]]===void 0&&(P[I[F]]=0),P[I[F]]++;for(var z in P)z!=="_"&&P[z]===1&&y.push(z);return y};var x={__env:typeof pl<"u"&&pl.exports?global:window,module:{},version:t,parser:{tokenizer:_,expression:J},utils:{str_indicator:Z,codePointAt:n,fromCodePoint:u},statistics:{getCountTerms:function(){return ut}},fromJavaScript:{test:{boolean:function(I){return I===!0||I===!1},number:function(I){return typeof I=="number"},string:function(I){return typeof I=="string"},list:function(I){return I instanceof Array},variable:function(I){return I===void 0},any:function(I){return!0}},conversion:{boolean:function(I){return new H(I?"true":"false",[])},number:function(I){return new be(I,I%1!==0)},string:function(I){return new H(I,[])},list:function(I){for(var P=[],y,F=0;F<I.length;F++){if(y=x.fromJavaScript.apply(I[F]),y===void 0)return;P.push(y)}return g(P)},variable:function(I){return new me("_")},any:function(I){}},apply:function(I){for(var P in x.fromJavaScript.test)if(P!=="any"&&x.fromJavaScript.test[P](I))return x.fromJavaScript.conversion[P](I);return x.fromJavaScript.conversion.any(I)}},type:{Var:me,Num:be,Term:H,Rule:Ue,State:Qe,Stream:Me,Module:Le,Thread:At,Session:je,Substitution:Te,order:[me,be,H,Me],compare:function(I,P){var y=e(x.type.order,I.constructor),F=e(x.type.order,P.constructor);if(y<F)return-1;if(y>F)return 1;if(I.constructor===be){if(I.is_float&&P.is_float)return 0;if(I.is_float)return-1;if(P.is_float)return 1}return 0},is_substitution:function(I){return I instanceof Te},is_state:function(I){return I instanceof Qe},is_rule:function(I){return I instanceof Ue},is_variable:function(I){return I instanceof me},is_stream:function(I){return I instanceof Me},is_anonymous_var:function(I){return I instanceof me&&I.id==="_"},is_callable:function(I){return I instanceof H},is_number:function(I){return I instanceof be},is_integer:function(I){return I instanceof be&&!I.is_float},is_float:function(I){return I instanceof be&&I.is_float},is_term:function(I){return I instanceof H},is_atom:function(I){return I instanceof H&&I.args.length===0},is_ground:function(I){if(I instanceof me)return!1;if(I instanceof H){for(var P=0;P<I.args.length;P++)if(!x.type.is_ground(I.args[P]))return!1}return!0},is_atomic:function(I){return I instanceof H&&I.args.length===0||I instanceof be},is_compound:function(I){return I instanceof H&&I.args.length>0},is_list:function(I){return I instanceof H&&(I.indicator==="[]/0"||I.indicator==="./2")},is_empty_list:function(I){return I instanceof H&&I.indicator==="[]/0"},is_non_empty_list:function(I){return I instanceof H&&I.indicator==="./2"},is_fully_list:function(I){for(;I instanceof H&&I.indicator==="./2";)I=I.args[1];return I instanceof me||I instanceof H&&I.indicator==="[]/0"},is_instantiated_list:function(I){for(;I instanceof H&&I.indicator==="./2";)I=I.args[1];return I instanceof H&&I.indicator==="[]/0"},is_unitary_list:function(I){return I instanceof H&&I.indicator==="./2"&&I.args[1]instanceof H&&I.args[1].indicator==="[]/0"},is_character:function(I){return I instanceof H&&(I.id.length===1||I.id.length>0&&I.id.length<=2&&n(I.id,0)>=65536)},is_character_code:function(I){return I instanceof be&&!I.is_float&&I.value>=0&&I.value<=1114111},is_byte:function(I){return I instanceof be&&!I.is_float&&I.value>=0&&I.value<=255},is_operator:function(I){return I instanceof H&&x.arithmetic.evaluation[I.indicator]},is_directive:function(I){return I instanceof H&&x.directive[I.indicator]!==void 0},is_builtin:function(I){return I instanceof H&&x.predicate[I.indicator]!==void 0},is_error:function(I){return I instanceof H&&I.indicator==="throw/1"},is_predicate_indicator:function(I){return I instanceof H&&I.indicator==="//2"&&I.args[0]instanceof H&&I.args[0].args.length===0&&I.args[1]instanceof be&&I.args[1].is_float===!1},is_flag:function(I){return I instanceof H&&I.args.length===0&&x.flag[I.id]!==void 0},is_value_flag:function(I,P){if(!x.type.is_flag(I))return!1;for(var y in x.flag[I.id].allowed)if(!!x.flag[I.id].allowed.hasOwnProperty(y)&&x.flag[I.id].allowed[y].equals(P))return!0;return!1},is_io_mode:function(I){return x.type.is_atom(I)&&["read","write","append"].indexOf(I.id)!==-1},is_stream_option:function(I){return x.type.is_term(I)&&(I.indicator==="alias/1"&&x.type.is_atom(I.args[0])||I.indicator==="reposition/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="type/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary")||I.indicator==="eof_action/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))},is_stream_position:function(I){return x.type.is_integer(I)&&I.value>=0||x.type.is_atom(I)&&(I.id==="end_of_stream"||I.id==="past_end_of_stream")},is_stream_property:function(I){return x.type.is_term(I)&&(I.indicator==="input/0"||I.indicator==="output/0"||I.indicator==="alias/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0]))||I.indicator==="file_name/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0]))||I.indicator==="position/1"&&(x.type.is_variable(I.args[0])||x.type.is_stream_position(I.args[0]))||I.indicator==="reposition/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))||I.indicator==="type/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary"))||I.indicator==="mode/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="read"||I.args[0].id==="write"||I.args[0].id==="append"))||I.indicator==="eof_action/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))||I.indicator==="end_of_stream/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="at"||I.args[0].id==="past"||I.args[0].id==="not")))},is_streamable:function(I){return I.__proto__.stream!==void 0},is_read_option:function(I){return x.type.is_term(I)&&["variables/1","variable_names/1","singletons/1"].indexOf(I.indicator)!==-1},is_write_option:function(I){return x.type.is_term(I)&&(I.indicator==="quoted/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="ignore_ops/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="numbervars/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))},is_close_option:function(I){return x.type.is_term(I)&&I.indicator==="force/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")},is_modifiable_flag:function(I){return x.type.is_flag(I)&&x.flag[I.id].changeable},is_module:function(I){return I instanceof H&&I.indicator==="library/1"&&I.args[0]instanceof H&&I.args[0].args.length===0&&x.module[I.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(I){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(I){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(I){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(I){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(I,P){return I}},"-/1":{type_args:null,type_result:null,fn:function(I,P){return-I}},"\\/1":{type_args:!1,type_result:!1,fn:function(I,P){return~I}},"abs/1":{type_args:null,type_result:null,fn:function(I,P){return Math.abs(I)}},"sign/1":{type_args:null,type_result:null,fn:function(I,P){return Math.sign(I)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(I,P){return parseInt(I)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(I,P){return I-parseInt(I)}},"float/1":{type_args:null,type_result:!0,fn:function(I,P){return parseFloat(I)}},"floor/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.floor(I)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(I,P){return parseInt(I)}},"round/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.round(I)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.ceil(I)}},"sin/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.sin(I)}},"cos/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.cos(I)}},"tan/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.tan(I)}},"asin/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.asin(I)}},"acos/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.acos(I)}},"atan/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.atan(I)}},"atan2/2":{type_args:null,type_result:!0,fn:function(I,P,y){return Math.atan2(I,P)}},"exp/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.exp(I)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.sqrt(I)}},"log/1":{type_args:null,type_result:!0,fn:function(I,P){return I>0?Math.log(I):x.error.evaluation("undefined",P.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(I,P,y){return I+P}},"-/2":{type_args:null,type_result:null,fn:function(I,P,y){return I-P}},"*/2":{type_args:null,type_result:null,fn:function(I,P,y){return I*P}},"//2":{type_args:null,type_result:!0,fn:function(I,P,y){return P?I/P:x.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?parseInt(I/P):x.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(I,P,y){return Math.pow(I,P)}},"^/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.pow(I,P)}},"<</2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I<<P}},">>/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I>>P}},"/\\/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I&P}},"\\//2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I|P}},"xor/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I^P}},"rem/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?I%P:x.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?I-parseInt(I/P)*P:x.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.max(I,P)}},"min/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.min(I,P)}}}},directive:{"dynamic/1":function(I,P){var y=P.args[0];if(x.type.is_variable(y))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_compound(y)||y.indicator!=="//2")I.throw_error(x.error.type("predicate_indicator",y,P.indicator));else if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_atom(y.args[0]))I.throw_error(x.error.type("atom",y.args[0],P.indicator));else if(!x.type.is_integer(y.args[1]))I.throw_error(x.error.type("integer",y.args[1],P.indicator));else{var F=P.args[0].args[0].id+"/"+P.args[0].args[1].value;I.session.public_predicates[F]=!0,I.session.rules[F]||(I.session.rules[F]=[])}},"multifile/1":function(I,P){var y=P.args[0];x.type.is_variable(y)?I.throw_error(x.error.instantiation(P.indicator)):!x.type.is_compound(y)||y.indicator!=="//2"?I.throw_error(x.error.type("predicate_indicator",y,P.indicator)):x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1])?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_atom(y.args[0])?x.type.is_integer(y.args[1])?I.session.multifile_predicates[P.args[0].args[0].id+"/"+P.args[0].args[1].value]=!0:I.throw_error(x.error.type("integer",y.args[1],P.indicator)):I.throw_error(x.error.type("atom",y.args[0],P.indicator))},"set_prolog_flag/2":function(I,P){var y=P.args[0],F=P.args[1];x.type.is_variable(y)||x.type.is_variable(F)?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_atom(y)?x.type.is_flag(y)?x.type.is_value_flag(y,F)?x.type.is_modifiable_flag(y)?I.session.flag[y.id]=F:I.throw_error(x.error.permission("modify","flag",y)):I.throw_error(x.error.domain("flag_value",new H("+",[y,F]),P.indicator)):I.throw_error(x.error.domain("prolog_flag",y,P.indicator)):I.throw_error(x.error.type("atom",y,P.indicator))},"use_module/1":function(I,P){var y=P.args[0];if(x.type.is_variable(y))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_term(y))I.throw_error(x.error.type("term",y,P.indicator));else if(x.type.is_module(y)){var F=y.args[0].id;e(I.session.modules,F)===-1&&I.session.modules.push(F)}},"char_conversion/2":function(I,P){var y=P.args[0],F=P.args[1];x.type.is_variable(y)||x.type.is_variable(F)?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_character(y)?x.type.is_character(F)?y.id===F.id?delete I.session.__char_conversion[y.id]:I.session.__char_conversion[y.id]=F.id:I.throw_error(x.error.type("character",F,P.indicator)):I.throw_error(x.error.type("character",y,P.indicator))},"op/3":function(I,P){var y=P.args[0],F=P.args[1],z=P.args[2];if(x.type.is_variable(y)||x.type.is_variable(F)||x.type.is_variable(z))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_integer(y))I.throw_error(x.error.type("integer",y,P.indicator));else if(!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,P.indicator));else if(!x.type.is_atom(z))I.throw_error(x.error.type("atom",z,P.indicator));else if(y.value<0||y.value>1200)I.throw_error(x.error.domain("operator_priority",y,P.indicator));else if(z.id===",")I.throw_error(x.error.permission("modify","operator",z,P.indicator));else if(z.id==="|"&&(y.value<1001||F.id.length!==3))I.throw_error(x.error.permission("modify","operator",z,P.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(F.id)===-1)I.throw_error(x.error.domain("operator_specifier",F,P.indicator));else{var X={prefix:null,infix:null,postfix:null};for(var $ in I.session.__operators)if(!!I.session.__operators.hasOwnProperty($)){var ie=I.session.__operators[$][z.id];ie&&(e(ie,"fx")!==-1&&(X.prefix={priority:$,type:"fx"}),e(ie,"fy")!==-1&&(X.prefix={priority:$,type:"fy"}),e(ie,"xf")!==-1&&(X.postfix={priority:$,type:"xf"}),e(ie,"yf")!==-1&&(X.postfix={priority:$,type:"yf"}),e(ie,"xfx")!==-1&&(X.infix={priority:$,type:"xfx"}),e(ie,"xfy")!==-1&&(X.infix={priority:$,type:"xfy"}),e(ie,"yfx")!==-1&&(X.infix={priority:$,type:"yfx"}))}var ke;switch(F.id){case"fy":case"fx":ke="prefix";break;case"yf":case"xf":ke="postfix";break;default:ke="infix";break}if(((X.prefix&&ke==="prefix"||X.postfix&&ke==="postfix"||X.infix&&ke==="infix")&&X[ke].type!==F.id||X.infix&&ke==="postfix"||X.postfix&&ke==="infix")&&y.value!==0)I.throw_error(x.error.permission("create","operator",z,P.indicator));else return X[ke]&&(De(I.session.__operators[X[ke].priority][z.id],F.id),I.session.__operators[X[ke].priority][z.id].length===0&&delete I.session.__operators[X[ke].priority][z.id]),y.value>0&&(I.session.__operators[y.value]||(I.session.__operators[y.value.toString()]={}),I.session.__operators[y.value][z.id]||(I.session.__operators[y.value][z.id]=[]),I.session.__operators[y.value][z.id].push(F.id)),!0}}},predicate:{"op/3":function(I,P,y){x.directive["op/3"](I,y)&&I.success(P)},"current_op/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],$=[];for(var ie in I.session.__operators)for(var ke in I.session.__operators[ie])for(var Ne=0;Ne<I.session.__operators[ie][ke].length;Ne++)$.push(new Qe(P.goal.replace(new H(",",[new H("=",[new be(ie,!1),F]),new H(",",[new H("=",[new H(I.session.__operators[ie][ke][Ne],[]),z]),new H("=",[new H(ke,[]),X])])])),P.substitution,P));I.prepend($)},";/2":function(I,P,y){if(x.type.is_term(y.args[0])&&y.args[0].indicator==="->/2"){var F=I.points,z=I.session.format_success,X=I.session.format_error;I.session.format_success=function(Ne){return Ne.substitution},I.session.format_error=function(Ne){return Ne.goal},I.points=[new Qe(y.args[0].args[0],P.substitution,P)];var $=function(Ne){I.points=F,I.session.format_success=z,I.session.format_error=X,Ne===!1?I.prepend([new Qe(P.goal.replace(y.args[1]),P.substitution,P)]):x.type.is_error(Ne)?I.throw_error(Ne.args[0]):Ne===null?(I.prepend([P]),I.__calls.shift()(null)):I.prepend([new Qe(P.goal.replace(y.args[0].args[1]).apply(Ne),P.substitution.apply(Ne),P)])};I.__calls.unshift($)}else{var ie=new Qe(P.goal.replace(y.args[0]),P.substitution,P),ke=new Qe(P.goal.replace(y.args[1]),P.substitution,P);I.prepend([ie,ke])}},"!/0":function(I,P,y){var F,z,X=[];for(F=P,z=null;F.parent!==null&&F.parent.goal.search(y);)if(z=F,F=F.parent,F.goal!==null){var $=F.goal.select();if($&&$.id==="call"&&$.search(y)){F=z;break}}for(var ie=I.points.length-1;ie>=0;ie--){for(var ke=I.points[ie],Ne=ke.parent;Ne!==null&&Ne!==F.parent;)Ne=Ne.parent;Ne===null&&Ne!==F.parent&&X.push(ke)}I.points=X.reverse(),I.success(P)},"\\+/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(I.level)):x.type.is_callable(F)?I.prepend([new Qe(P.goal.replace(new H(",",[new H(",",[new H("call",[F]),new H("!",[])]),new H("fail",[])])),P.substitution,P),new Qe(P.goal.replace(null),P.substitution,P)]):I.throw_error(x.error.type("callable",F,I.level))},"->/2":function(I,P,y){var F=P.goal.replace(new H(",",[y.args[0],new H(",",[new H("!"),y.args[1]])]));I.prepend([new Qe(F,P.substitution,P)])},"fail/0":function(I,P,y){},"false/0":function(I,P,y){},"true/0":function(I,P,y){I.success(P)},"call/1":ne(1),"call/2":ne(2),"call/3":ne(3),"call/4":ne(4),"call/5":ne(5),"call/6":ne(6),"call/7":ne(7),"call/8":ne(8),"once/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("call",[F]),new H("!",[])])),P.substitution,P)])},"forall/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("\\+",[new H(",",[new H("call",[F]),new H("\\+",[new H("call",[z])])])])),P.substitution,P)])},"repeat/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(null),P.substitution,P),P])},"throw/1":function(I,P,y){x.type.is_variable(y.args[0])?I.throw_error(x.error.instantiation(I.level)):I.throw_error(y.args[0])},"catch/3":function(I,P,y){var F=I.points;I.points=[],I.prepend([new Qe(y.args[0],P.substitution,P)]);var z=I.session.format_success,X=I.session.format_error;I.session.format_success=function(ie){return ie.substitution},I.session.format_error=function(ie){return ie.goal};var $=function(ie){var ke=I.points;if(I.points=F,I.session.format_success=z,I.session.format_error=X,x.type.is_error(ie)){for(var Ne=[],st=I.points.length-1;st>=0;st--){for(var Xt=I.points[st],ht=Xt.parent;ht!==null&&ht!==P.parent;)ht=ht.parent;ht===null&&ht!==P.parent&&Ne.push(Xt)}I.points=Ne;var Ut=I.get_flag("occurs_check").indicator==="true/0",Xt=new Qe,Pt=x.unify(ie.args[0],y.args[1],Ut);Pt!==null?(Xt.substitution=P.substitution.apply(Pt),Xt.goal=P.goal.replace(y.args[2]).apply(Pt),Xt.parent=P,I.prepend([Xt])):I.throw_error(ie.args[0])}else if(ie!==!1){for(var tn=ie===null?[]:[new Qe(P.goal.apply(ie).replace(null),P.substitution.apply(ie),P)],Dr=[],st=ke.length-1;st>=0;st--){Dr.push(ke[st]);var fr=ke[st].goal!==null?ke[st].goal.select():null;if(x.type.is_term(fr)&&fr.indicator==="!/0")break}var Br=o(Dr,function(jr){return jr.goal===null&&(jr.goal=new H("true",[])),jr=new Qe(P.goal.replace(new H("catch",[jr.goal,y.args[1],y.args[2]])),P.substitution.apply(jr.substitution),jr.parent),jr.exclude=y.args[0].variables(),jr}).reverse();I.prepend(Br),I.prepend(tn),ie===null&&(this.current_limit=0,I.__calls.shift()(null))}};I.__calls.unshift($)},"=/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",z=new Qe,X=x.unify(y.args[0],y.args[1],F);X!==null&&(z.goal=P.goal.apply(X).replace(null),z.substitution=P.substitution.apply(X),z.parent=P,I.prepend([z]))},"unify_with_occurs_check/2":function(I,P,y){var F=new Qe,z=x.unify(y.args[0],y.args[1],!0);z!==null&&(F.goal=P.goal.apply(z).replace(null),F.substitution=P.substitution.apply(z),F.parent=P,I.prepend([F]))},"\\=/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",z=x.unify(y.args[0],y.args[1],F);z===null&&I.success(P)},"subsumes_term/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",z=x.unify(y.args[1],y.args[0],F);z!==null&&y.args[1].apply(z).equals(y.args[1])&&I.success(P)},"findall/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(z))I.throw_error(x.error.type("callable",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=I.next_free_variable(),ie=new H(",",[z,new H("=",[$,F])]),ke=I.points,Ne=I.session.limit,st=I.session.format_success;I.session.format_success=function(Xt){return Xt.substitution},I.add_goal(ie,!0,P);var ht=[],Ut=function(Xt){if(Xt!==!1&&Xt!==null&&!x.type.is_error(Xt))I.__calls.unshift(Ut),ht.push(Xt.links[$.id]),I.session.limit=I.current_limit;else if(I.points=ke,I.session.limit=Ne,I.session.format_success=st,x.type.is_error(Xt))I.throw_error(Xt.args[0]);else if(I.current_limit>0){for(var Pt=new H("[]"),tn=ht.length-1;tn>=0;tn--)Pt=new H(".",[ht[tn],Pt]);I.prepend([new Qe(P.goal.replace(new H("=",[X,Pt])),P.substitution,P)])}};I.__calls.unshift(Ut)}},"bagof/3":function(I,P,y){var F,z=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))I.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else{var ie=I.next_free_variable(),ke;X.indicator==="^/2"?(ke=X.args[0].variables(),X=X.args[1]):ke=[],ke=ke.concat(z.variables());for(var Ne=X.variables().filter(function(Br){return e(ke,Br)===-1}),st=new H("[]"),ht=Ne.length-1;ht>=0;ht--)st=new H(".",[new me(Ne[ht]),st]);var Ut=new H(",",[X,new H("=",[ie,new H(",",[st,z])])]),Xt=I.points,Pt=I.session.limit,tn=I.session.format_success;I.session.format_success=function(Br){return Br.substitution},I.add_goal(Ut,!0,P);var Dr=[],fr=function(Br){if(Br!==!1&&Br!==null&&!x.type.is_error(Br)){I.__calls.unshift(fr);var jr=!1,Hn=Br.links[ie.id].args[0],bs=Br.links[ie.id].args[1];for(var ki in Dr)if(!!Dr.hasOwnProperty(ki)){var gs=Dr[ki];if(gs.variables.equals(Hn)){gs.answers.push(bs),jr=!0;break}}jr||Dr.push({variables:Hn,answers:[bs]}),I.session.limit=I.current_limit}else if(I.points=Xt,I.session.limit=Pt,I.session.format_success=tn,x.type.is_error(Br))I.throw_error(Br.args[0]);else if(I.current_limit>0){for(var to=[],Di=0;Di<Dr.length;Di++){Br=Dr[Di].answers;for(var Qs=new H("[]"),ro=Br.length-1;ro>=0;ro--)Qs=new H(".",[Br[ro],Qs]);to.push(new Qe(P.goal.replace(new H(",",[new H("=",[st,Dr[Di].variables]),new H("=",[$,Qs])])),P.substitution,P))}I.prepend(to)}};I.__calls.unshift(fr)}},"setof/3":function(I,P,y){var F,z=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))I.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else{var ie=I.next_free_variable(),ke;X.indicator==="^/2"?(ke=X.args[0].variables(),X=X.args[1]):ke=[],ke=ke.concat(z.variables());for(var Ne=X.variables().filter(function(Br){return e(ke,Br)===-1}),st=new H("[]"),ht=Ne.length-1;ht>=0;ht--)st=new H(".",[new me(Ne[ht]),st]);var Ut=new H(",",[X,new H("=",[ie,new H(",",[st,z])])]),Xt=I.points,Pt=I.session.limit,tn=I.session.format_success;I.session.format_success=function(Br){return Br.substitution},I.add_goal(Ut,!0,P);var Dr=[],fr=function(Br){if(Br!==!1&&Br!==null&&!x.type.is_error(Br)){I.__calls.unshift(fr);var jr=!1,Hn=Br.links[ie.id].args[0],bs=Br.links[ie.id].args[1];for(var ki in Dr)if(!!Dr.hasOwnProperty(ki)){var gs=Dr[ki];if(gs.variables.equals(Hn)){gs.answers.push(bs),jr=!0;break}}jr||Dr.push({variables:Hn,answers:[bs]}),I.session.limit=I.current_limit}else if(I.points=Xt,I.session.limit=Pt,I.session.format_success=tn,x.type.is_error(Br))I.throw_error(Br.args[0]);else if(I.current_limit>0){for(var to=[],Di=0;Di<Dr.length;Di++){Br=Dr[Di].answers.sort(x.compare);for(var Qs=new H("[]"),ro=Br.length-1;ro>=0;ro--)Qs=new H(".",[Br[ro],Qs]);to.push(new Qe(P.goal.replace(new H(",",[new H("=",[st,Dr[Di].variables]),new H("=",[$,Qs])])),P.substitution,P))}I.prepend(to)}};I.__calls.unshift(fr)}},"functor/3":function(I,P,y){var F,z=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(z)&&(x.type.is_variable(X)||x.type.is_variable($)))I.throw_error(x.error.instantiation("functor/3"));else if(!x.type.is_variable($)&&!x.type.is_integer($))I.throw_error(x.error.type("integer",y.args[2],"functor/3"));else if(!x.type.is_variable(X)&&!x.type.is_atomic(X))I.throw_error(x.error.type("atomic",y.args[1],"functor/3"));else if(x.type.is_integer(X)&&x.type.is_integer($)&&$.value!==0)I.throw_error(x.error.type("atom",y.args[1],"functor/3"));else if(x.type.is_variable(z)){if(y.args[2].value>=0){for(var ie=[],ke=0;ke<$.value;ke++)ie.push(I.next_free_variable());var Ne=x.type.is_integer(X)?X:new H(X.id,ie);I.prepend([new Qe(P.goal.replace(new H("=",[z,Ne])),P.substitution,P)])}}else{var st=x.type.is_integer(z)?z:new H(z.id,[]),ht=x.type.is_integer(z)?new be(0,!1):new be(z.args.length,!1),Ut=new H(",",[new H("=",[st,X]),new H("=",[ht,$])]);I.prepend([new Qe(P.goal.replace(Ut),P.substitution,P)])}},"arg/3":function(I,P,y){if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))I.throw_error(x.error.instantiation(y.indicator));else if(y.args[0].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[0],y.indicator));else if(!x.type.is_compound(y.args[1]))I.throw_error(x.error.type("compound",y.args[1],y.indicator));else{var F=y.args[0].value;if(F>0&&F<=y.args[1].args.length){var z=new H("=",[y.args[1].args[F-1],y.args[2]]);I.prepend([new Qe(P.goal.replace(z),P.substitution,P)])}}},"=../2":function(I,P,y){var F;if(x.type.is_variable(y.args[0])&&(x.type.is_variable(y.args[1])||x.type.is_non_empty_list(y.args[1])&&x.type.is_variable(y.args[1].args[0])))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_fully_list(y.args[1]))I.throw_error(x.error.type("list",y.args[1],y.indicator));else if(x.type.is_variable(y.args[0])){if(!x.type.is_variable(y.args[1])){var X=[];for(F=y.args[1].args[1];F.indicator==="./2";)X.push(F.args[0]),F=F.args[1];x.type.is_variable(y.args[0])&&x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):X.length===0&&x.type.is_compound(y.args[1].args[0])?I.throw_error(x.error.type("atomic",y.args[1].args[0],y.indicator)):X.length>0&&(x.type.is_compound(y.args[1].args[0])||x.type.is_number(y.args[1].args[0]))?I.throw_error(x.error.type("atom",y.args[1].args[0],y.indicator)):X.length===0?I.prepend([new Qe(P.goal.replace(new H("=",[y.args[1].args[0],y.args[0]],P)),P.substitution,P)]):I.prepend([new Qe(P.goal.replace(new H("=",[new H(y.args[1].args[0].id,X),y.args[0]])),P.substitution,P)])}}else{if(x.type.is_atomic(y.args[0]))F=new H(".",[y.args[0],new H("[]")]);else{F=new H("[]");for(var z=y.args[0].args.length-1;z>=0;z--)F=new H(".",[y.args[0].args[z],F]);F=new H(".",[new H(y.args[0].id),F])}I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"copy_term/2":function(I,P,y){var F=y.args[0].rename(I);I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P.parent)])},"term_variables/2":function(I,P,y){var F=y.args[0],z=y.args[1];if(!x.type.is_fully_list(z))I.throw_error(x.error.type("list",z,y.indicator));else{var X=g(o(Ee(F.variables()),function($){return new me($)}));I.prepend([new Qe(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"clause/2":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_callable(y.args[1]))I.throw_error(x.error.type("callable",y.args[1],y.indicator));else if(I.session.rules[y.args[0].indicator]!==void 0)if(I.is_public_predicate(y.args[0].indicator)){var F=[];for(var z in I.session.rules[y.args[0].indicator])if(!!I.session.rules[y.args[0].indicator].hasOwnProperty(z)){var X=I.session.rules[y.args[0].indicator][z];I.session.renamed_variables={},X=X.rename(I),X.body===null&&(X.body=new H("true"));var $=new H(",",[new H("=",[X.head,y.args[0]]),new H("=",[X.body,y.args[1]])]);F.push(new Qe(P.goal.replace($),P.substitution,P))}I.prepend(F)}else I.throw_error(x.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(I,P,y){var F=y.args[0];if(!x.type.is_variable(F)&&(!x.type.is_compound(F)||F.indicator!=="//2"))I.throw_error(x.error.type("predicate_indicator",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[0])&&!x.type.is_atom(F.args[0]))I.throw_error(x.error.type("atom",F.args[0],y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[1])&&!x.type.is_integer(F.args[1]))I.throw_error(x.error.type("integer",F.args[1],y.indicator));else{var z=[];for(var X in I.session.rules)if(!!I.session.rules.hasOwnProperty(X)){var $=X.lastIndexOf("/"),ie=X.substr(0,$),ke=parseInt(X.substr($+1,X.length-($+1))),Ne=new H("/",[new H(ie),new be(ke,!1)]),st=new H("=",[Ne,F]);z.push(new Qe(P.goal.replace(st),P.substitution,P))}I.prepend(z)}},"asserta/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=Pe(y.args[0].args[1])):(F=y.args[0],z=null),x.type.is_callable(F)?z!==null&&!x.type.is_callable(z)?I.throw_error(x.error.type("callable",z,y.indicator)):I.is_public_predicate(F.indicator)?(I.session.rules[F.indicator]===void 0&&(I.session.rules[F.indicator]=[]),I.session.public_predicates[F.indicator]=!0,I.session.rules[F.indicator]=[new Ue(F,z,!0)].concat(I.session.rules[F.indicator]),I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):I.throw_error(x.error.type("callable",F,y.indicator))}},"assertz/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=Pe(y.args[0].args[1])):(F=y.args[0],z=null),x.type.is_callable(F)?z!==null&&!x.type.is_callable(z)?I.throw_error(x.error.type("callable",z,y.indicator)):I.is_public_predicate(F.indicator)?(I.session.rules[F.indicator]===void 0&&(I.session.rules[F.indicator]=[]),I.session.public_predicates[F.indicator]=!0,I.session.rules[F.indicator].push(new Ue(F,z,!0)),I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):I.throw_error(x.error.type("callable",F,y.indicator))}},"retract/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,z;if(y.args[0].indicator===":-/2"?(F=y.args[0].args[0],z=y.args[0].args[1]):(F=y.args[0],z=new H("true")),typeof P.retract>"u")if(I.is_public_predicate(F.indicator)){if(I.session.rules[F.indicator]!==void 0){for(var X=[],$=0;$<I.session.rules[F.indicator].length;$++){I.session.renamed_variables={};var ie=I.session.rules[F.indicator][$],ke=ie.rename(I);ke.body===null&&(ke.body=new H("true",[]));var Ne=I.get_flag("occurs_check").indicator==="true/0",st=x.unify(new H(",",[F,z]),new H(",",[ke.head,ke.body]),Ne);if(st!==null){var ht=new Qe(P.goal.replace(new H(",",[new H("retract",[new H(":-",[F,z])]),new H(",",[new H("=",[F,ke.head]),new H("=",[z,ke.body])])])),P.substitution,P);ht.retract=ie,X.push(ht)}}I.prepend(X)}}else I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator));else de(I,P,F.indicator,P.retract)}},"retractall/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_callable(F)?I.prepend([new Qe(P.goal.replace(new H(",",[new H("retract",[new x.type.Term(":-",[F,new me("_")])]),new H("fail",[])])),P.substitution,P),new Qe(P.goal.replace(null),P.substitution,P)]):I.throw_error(x.error.type("callable",F,y.indicator))},"abolish/1":function(I,P,y){if(x.type.is_variable(y.args[0])||x.type.is_term(y.args[0])&&y.args[0].indicator==="//2"&&(x.type.is_variable(y.args[0].args[0])||x.type.is_variable(y.args[0].args[1])))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_term(y.args[0])||y.args[0].indicator!=="//2")I.throw_error(x.error.type("predicate_indicator",y.args[0],y.indicator));else if(!x.type.is_atom(y.args[0].args[0]))I.throw_error(x.error.type("atom",y.args[0].args[0],y.indicator));else if(!x.type.is_integer(y.args[0].args[1]))I.throw_error(x.error.type("integer",y.args[0].args[1],y.indicator));else if(y.args[0].args[1].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[0].args[1],y.indicator));else if(x.type.is_number(I.get_flag("max_arity"))&&y.args[0].args[1].value>I.get_flag("max_arity").value)I.throw_error(x.error.representation("max_arity",y.indicator));else{var F=y.args[0].args[0].id+"/"+y.args[0].args[1].value;I.is_public_predicate(F)?(delete I.session.rules[F],I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F,y.indicator))}},"atom_length/2":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_atom(y.args[0]))I.throw_error(x.error.type("atom",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_integer(y.args[1]))I.throw_error(x.error.type("integer",y.args[1],y.indicator));else if(x.type.is_integer(y.args[1])&&y.args[1].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var F=new be(y.args[0].id.length,!1);I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"atom_concat/3":function(I,P,y){var F,z,X=y.args[0],$=y.args[1],ie=y.args[2];if(x.type.is_variable(ie)&&(x.type.is_variable(X)||x.type.is_variable($)))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))I.throw_error(x.error.type("atom",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_atom($))I.throw_error(x.error.type("atom",$,y.indicator));else if(!x.type.is_variable(ie)&&!x.type.is_atom(ie))I.throw_error(x.error.type("atom",ie,y.indicator));else{var ke=x.type.is_variable(X),Ne=x.type.is_variable($);if(!ke&&!Ne)z=new H("=",[ie,new H(X.id+$.id)]),I.prepend([new Qe(P.goal.replace(z),P.substitution,P)]);else if(ke&&!Ne)F=ie.id.substr(0,ie.id.length-$.id.length),F+$.id===ie.id&&(z=new H("=",[X,new H(F)]),I.prepend([new Qe(P.goal.replace(z),P.substitution,P)]));else if(Ne&&!ke)F=ie.id.substr(X.id.length),X.id+F===ie.id&&(z=new H("=",[$,new H(F)]),I.prepend([new Qe(P.goal.replace(z),P.substitution,P)]));else{for(var st=[],ht=0;ht<=ie.id.length;ht++){var Ut=new H(ie.id.substr(0,ht)),Xt=new H(ie.id.substr(ht));z=new H(",",[new H("=",[Ut,X]),new H("=",[Xt,$])]),st.push(new Qe(P.goal.replace(z),P.substitution,P))}I.prepend(st)}}},"sub_atom/5":function(I,P,y){var F,z=y.args[0],X=y.args[1],$=y.args[2],ie=y.args[3],ke=y.args[4];if(x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))I.throw_error(x.error.type("integer",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_integer($))I.throw_error(x.error.type("integer",$,y.indicator));else if(!x.type.is_variable(ie)&&!x.type.is_integer(ie))I.throw_error(x.error.type("integer",ie,y.indicator));else if(x.type.is_integer(X)&&X.value<0)I.throw_error(x.error.domain("not_less_than_zero",X,y.indicator));else if(x.type.is_integer($)&&$.value<0)I.throw_error(x.error.domain("not_less_than_zero",$,y.indicator));else if(x.type.is_integer(ie)&&ie.value<0)I.throw_error(x.error.domain("not_less_than_zero",ie,y.indicator));else{var Ne=[],st=[],ht=[];if(x.type.is_variable(X))for(F=0;F<=z.id.length;F++)Ne.push(F);else Ne.push(X.value);if(x.type.is_variable($))for(F=0;F<=z.id.length;F++)st.push(F);else st.push($.value);if(x.type.is_variable(ie))for(F=0;F<=z.id.length;F++)ht.push(F);else ht.push(ie.value);var Ut=[];for(var Xt in Ne)if(!!Ne.hasOwnProperty(Xt)){F=Ne[Xt];for(var Pt in st)if(!!st.hasOwnProperty(Pt)){var tn=st[Pt],Dr=z.id.length-F-tn;if(e(ht,Dr)!==-1&&F+tn+Dr===z.id.length){var fr=z.id.substr(F,tn);if(z.id===z.id.substr(0,F)+fr+z.id.substr(F+tn,Dr)){var Br=new H("=",[new H(fr),ke]),jr=new H("=",[X,new be(F)]),Hn=new H("=",[$,new be(tn)]),bs=new H("=",[ie,new be(Dr)]),ki=new H(",",[new H(",",[new H(",",[jr,Hn]),bs]),Br]);Ut.push(new Qe(P.goal.replace(ki),P.substitution,P))}}}}I.prepend(Ut)}},"atom_chars/2":function(I,P,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var ie=z,ke=x.type.is_variable(F),Ne="";ie.indicator==="./2";){if(x.type.is_character(ie.args[0]))Ne+=ie.args[0].id;else if(x.type.is_variable(ie.args[0])&&ke){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}x.type.is_variable(ie)&&ke?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)?I.throw_error(x.error.type("list",z,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[new H(Ne),F])),P.substitution,P)])}else{for(var X=new H("[]"),$=F.id.length-1;$>=0;$--)X=new H(".",[new H(F.id.charAt($)),X]);I.prepend([new Qe(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"atom_codes/2":function(I,P,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var ie=z,ke=x.type.is_variable(F),Ne="";ie.indicator==="./2";){if(x.type.is_character_code(ie.args[0]))Ne+=u(ie.args[0].value);else if(x.type.is_variable(ie.args[0])&&ke){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.representation("character_code",y.indicator));return}ie=ie.args[1]}x.type.is_variable(ie)&&ke?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)?I.throw_error(x.error.type("list",z,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[new H(Ne),F])),P.substitution,P)])}else{for(var X=new H("[]"),$=F.id.length-1;$>=0;$--)X=new H(".",[new be(n(F.id,$),!1),X]);I.prepend([new Qe(P.goal.replace(new H("=",[z,X])),P.substitution,P)])}},"char_code/2":function(I,P,y){var F=y.args[0],z=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_character(F))I.throw_error(x.error.type("character",F,y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_integer(z))I.throw_error(x.error.type("integer",z,y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_character_code(z))I.throw_error(x.error.representation("character_code",y.indicator));else if(x.type.is_variable(z)){var X=new be(n(F.id,0),!1);I.prepend([new Qe(P.goal.replace(new H("=",[X,z])),P.substitution,P)])}else{var $=new H(u(z.value));I.prepend([new Qe(P.goal.replace(new H("=",[$,F])),P.substitution,P)])}},"number_chars/2":function(I,P,y){var F,z=y.args[0],X=y.args[1];if(x.type.is_variable(z)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_number(z))I.throw_error(x.error.type("number",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=x.type.is_variable(z);if(!x.type.is_variable(X)){var ie=X,ke=!0;for(F="";ie.indicator==="./2";){if(x.type.is_character(ie.args[0]))F+=ie.args[0].id;else if(x.type.is_variable(ie.args[0]))ke=!1;else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}if(ke=ke&&x.type.is_empty_list(ie),!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)){I.throw_error(x.error.type("list",X,y.indicator));return}if(!ke&&$){I.throw_error(x.error.instantiation(y.indicator));return}else if(ke)if(x.type.is_variable(ie)&&$){I.throw_error(x.error.instantiation(y.indicator));return}else{var Ne=I.parse(F),st=Ne.value;!x.type.is_number(st)||Ne.tokens[Ne.tokens.length-1].space?I.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[z,st])),P.substitution,P)]);return}}if(!$){F=z.toString();for(var ht=new H("[]"),Ut=F.length-1;Ut>=0;Ut--)ht=new H(".",[new H(F.charAt(Ut)),ht]);I.prepend([new Qe(P.goal.replace(new H("=",[X,ht])),P.substitution,P)])}}},"number_codes/2":function(I,P,y){var F,z=y.args[0],X=y.args[1];if(x.type.is_variable(z)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_number(z))I.throw_error(x.error.type("number",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=x.type.is_variable(z);if(!x.type.is_variable(X)){var ie=X,ke=!0;for(F="";ie.indicator==="./2";){if(x.type.is_character_code(ie.args[0]))F+=u(ie.args[0].value);else if(x.type.is_variable(ie.args[0]))ke=!1;else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character_code",ie.args[0],y.indicator));return}ie=ie.args[1]}if(ke=ke&&x.type.is_empty_list(ie),!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)){I.throw_error(x.error.type("list",X,y.indicator));return}if(!ke&&$){I.throw_error(x.error.instantiation(y.indicator));return}else if(ke)if(x.type.is_variable(ie)&&$){I.throw_error(x.error.instantiation(y.indicator));return}else{var Ne=I.parse(F),st=Ne.value;!x.type.is_number(st)||Ne.tokens[Ne.tokens.length-1].space?I.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[z,st])),P.substitution,P)]);return}}if(!$){F=z.toString();for(var ht=new H("[]"),Ut=F.length-1;Ut>=0;Ut--)ht=new H(".",[new be(n(F,Ut),!1),ht]);I.prepend([new Qe(P.goal.replace(new H("=",[X,ht])),P.substitution,P)])}}},"upcase_atom/2":function(I,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(z)&&!x.type.is_atom(z)?I.throw_error(x.error.type("atom",z,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[z,new H(F.id.toUpperCase(),[])])),P.substitution,P)]):I.throw_error(x.error.type("atom",F,y.indicator))},"downcase_atom/2":function(I,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(z)&&!x.type.is_atom(z)?I.throw_error(x.error.type("atom",z,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[z,new H(F.id.toLowerCase(),[])])),P.substitution,P)]):I.throw_error(x.error.type("atom",F,y.indicator))},"atomic_list_concat/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("atomic_list_concat",[F,new H("",[]),z])),P.substitution,P)])},"atomic_list_concat/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(x.type.is_variable(z)||x.type.is_variable(F)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_list(F))I.throw_error(x.error.type("list",F,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))I.throw_error(x.error.type("atom",X,y.indicator));else if(x.type.is_variable(X)){for(var ie="",ke=F;x.type.is_term(ke)&&ke.indicator==="./2";){if(!x.type.is_atom(ke.args[0])&&!x.type.is_number(ke.args[0])){I.throw_error(x.error.type("atomic",ke.args[0],y.indicator));return}ie!==""&&(ie+=z.id),x.type.is_atom(ke.args[0])?ie+=ke.args[0].id:ie+=""+ke.args[0].value,ke=ke.args[1]}ie=new H(ie,[]),x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_term(ke)||ke.indicator!=="[]/0"?I.throw_error(x.error.type("list",F,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[ie,X])),P.substitution,P)])}else{var $=g(o(X.id.split(z.id),function(Ne){return new H(Ne,[])}));I.prepend([new Qe(P.goal.replace(new H("=",[$,F])),P.substitution,P)])}},"@=</2":function(I,P,y){x.compare(y.args[0],y.args[1])<=0&&I.success(P)},"==/2":function(I,P,y){x.compare(y.args[0],y.args[1])===0&&I.success(P)},"\\==/2":function(I,P,y){x.compare(y.args[0],y.args[1])!==0&&I.success(P)},"@</2":function(I,P,y){x.compare(y.args[0],y.args[1])<0&&I.success(P)},"@>/2":function(I,P,y){x.compare(y.args[0],y.args[1])>0&&I.success(P)},"@>=/2":function(I,P,y){x.compare(y.args[0],y.args[1])>=0&&I.success(P)},"compare/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_atom(F)&&["<",">","="].indexOf(F.id)===-1)I.throw_error(x.type.domain("order",F,y.indicator));else{var $=x.compare(z,X);$=$===0?"=":$===-1?"<":">",I.prepend([new Qe(P.goal.replace(new H("=",[F,new H($,[])])),P.substitution,P)])}},"is/2":function(I,P,y){var F=y.args[1].interpret(I);x.type.is_number(F)?I.prepend([new Qe(P.goal.replace(new H("=",[y.args[0],F],I.level)),P.substitution,P)]):I.throw_error(F)},"between/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];if(x.type.is_variable(F)||x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_integer(F))I.throw_error(x.error.type("integer",F,y.indicator));else if(!x.type.is_integer(z))I.throw_error(x.error.type("integer",z,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))I.throw_error(x.error.type("integer",X,y.indicator));else if(x.type.is_variable(X)){var $=[new Qe(P.goal.replace(new H("=",[X,F])),P.substitution,P)];F.value<z.value&&$.push(new Qe(P.goal.replace(new H("between",[new be(F.value+1,!1),z,X])),P.substitution,P)),I.prepend($)}else F.value<=X.value&&z.value>=X.value&&I.success(P)},"succ/2":function(I,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)&&x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_integer(F)?I.throw_error(x.error.type("integer",F,y.indicator)):!x.type.is_variable(z)&&!x.type.is_integer(z)?I.throw_error(x.error.type("integer",z,y.indicator)):!x.type.is_variable(F)&&F.value<0?I.throw_error(x.error.domain("not_less_than_zero",F,y.indicator)):!x.type.is_variable(z)&&z.value<0?I.throw_error(x.error.domain("not_less_than_zero",z,y.indicator)):(x.type.is_variable(z)||z.value>0)&&(x.type.is_variable(F)?I.prepend([new Qe(P.goal.replace(new H("=",[F,new be(z.value-1,!1)])),P.substitution,P)]):I.prepend([new Qe(P.goal.replace(new H("=",[z,new be(F.value+1,!1)])),P.substitution,P)]))},"=:=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F===0&&I.success(P)},"=\\=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F!==0&&I.success(P)},"</2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F<0&&I.success(P)},"=</2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F<=0&&I.success(P)},">/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F>0&&I.success(P)},">=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F>=0&&I.success(P)},"var/1":function(I,P,y){x.type.is_variable(y.args[0])&&I.success(P)},"atom/1":function(I,P,y){x.type.is_atom(y.args[0])&&I.success(P)},"atomic/1":function(I,P,y){x.type.is_atomic(y.args[0])&&I.success(P)},"compound/1":function(I,P,y){x.type.is_compound(y.args[0])&&I.success(P)},"integer/1":function(I,P,y){x.type.is_integer(y.args[0])&&I.success(P)},"float/1":function(I,P,y){x.type.is_float(y.args[0])&&I.success(P)},"number/1":function(I,P,y){x.type.is_number(y.args[0])&&I.success(P)},"nonvar/1":function(I,P,y){x.type.is_variable(y.args[0])||I.success(P)},"ground/1":function(I,P,y){y.variables().length===0&&I.success(P)},"acyclic_term/1":function(I,P,y){for(var F=P.substitution.apply(P.substitution),z=y.args[0].variables(),X=0;X<z.length;X++)if(P.substitution.links[z[X]]!==void 0&&!P.substitution.links[z[X]].equals(F.links[z[X]]))return;I.success(P)},"callable/1":function(I,P,y){x.type.is_callable(y.args[0])&&I.success(P)},"is_list/1":function(I,P,y){for(var F=y.args[0];x.type.is_term(F)&&F.indicator==="./2";)F=F.args[1];x.type.is_term(F)&&F.indicator==="[]/0"&&I.success(P)},"current_input/1":function(I,P,y){var F=y.args[0];!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream",F,y.indicator)):(x.type.is_atom(F)&&I.get_stream_by_alias(F.id)&&(F=I.get_stream_by_alias(F.id)),I.prepend([new Qe(P.goal.replace(new H("=",[F,I.get_current_input()])),P.substitution,P)]))},"current_output/1":function(I,P,y){var F=y.args[0];!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):(x.type.is_atom(F)&&I.get_stream_by_alias(F.id)&&(F=I.get_stream_by_alias(F.id)),I.prepend([new Qe(P.goal.replace(new H("=",[F,I.get_current_output()])),P.substitution,P)]))},"set_input/1":function(I,P,y){var F=y.args[0],z=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):x.type.is_stream(z)?z.output===!0?I.throw_error(x.error.permission("input","stream",F,y.indicator)):(I.set_current_input(z),I.success(P)):I.throw_error(x.error.existence("stream",F,y.indicator))},"set_output/1":function(I,P,y){var F=y.args[0],z=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):x.type.is_stream(z)?z.input===!0?I.throw_error(x.error.permission("output","stream",F,y.indicator)):(I.set_current_output(z),I.success(P)):I.throw_error(x.error.existence("stream",F,y.indicator))},"open/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2];I.prepend([new Qe(P.goal.replace(new H("open",[F,z,X,new H("[]",[])])),P.substitution,P)])},"open/4":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],$=y.args[3];if(x.type.is_variable(F)||x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_atom(z))I.throw_error(x.error.type("atom",z,y.indicator));else if(!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else if(!x.type.is_variable(X))I.throw_error(x.error.type("variable",X,y.indicator));else if(!x.type.is_atom(F)&&!x.type.is_streamable(F))I.throw_error(x.error.domain("source_sink",F,y.indicator));else if(!x.type.is_io_mode(z))I.throw_error(x.error.domain("io_mode",z,y.indicator));else{for(var ie={},ke=$,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_stream_option(Ne)){I.throw_error(x.error.domain("stream_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0].id,ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",$,y.indicator));return}else{var st=ie.alias;if(st&&I.get_stream_by_alias(st)){I.throw_error(x.error.permission("open","source_sink",new H("alias",[new H(st,[])]),y.indicator));return}ie.type||(ie.type="text");var ht;if(x.type.is_atom(F)?ht=I.file_system_open(F.id,ie.type,z.id):ht=F.stream(ie.type,z.id),ht===!1){I.throw_error(x.error.permission("open","source_sink",F,y.indicator));return}else if(ht===null){I.throw_error(x.error.existence("source_sink",F,y.indicator));return}var Ut=new Me(ht,z.id,ie.alias,ie.type,ie.reposition==="true",ie.eof_action);st?I.session.streams[st]=Ut:I.session.streams[Ut.id]=Ut,I.prepend([new Qe(P.goal.replace(new H("=",[X,Ut])),P.substitution,P)])}}},"close/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H("close",[F,new H("[]",[])])),P.substitution,P)])},"close/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(z))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(z))I.throw_error(x.error.type("list",z,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else{for(var $={},ie=z,ke;x.type.is_term(ie)&&ie.indicator==="./2";){if(ke=ie.args[0],x.type.is_variable(ke)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_close_option(ke)){I.throw_error(x.error.domain("close_option",ke,y.indicator));return}$[ke.id]=ke.args[0].id==="true",ie=ie.args[1]}if(ie.indicator!=="[]/0"){x.type.is_variable(ie)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",z,y.indicator));return}else{if(X===I.session.standard_input||X===I.session.standard_output){I.success(P);return}else X===I.session.current_input?I.session.current_input=I.session.standard_input:X===I.session.current_output&&(I.session.current_output=I.session.current_output);X.alias!==null?delete I.session.streams[X.alias]:delete I.session.streams[X.id],X.output&&X.stream.flush();var Ne=X.stream.close();X.stream=null,($.force===!0||Ne===!0)&&I.success(P)}}},"flush_output/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("flush_output",[new me("S")])])),P.substitution,P)])},"flush_output/1":function(I,P,y){var F=y.args[0],z=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(z)||z.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):F.input===!0?I.throw_error(x.error.permission("output","stream",output,y.indicator)):(z.stream.flush(),I.success(P))},"stream_property/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_variable(F)&&(!x.type.is_stream(X)||X.stream===null))I.throw_error(x.error.existence("stream",F,y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_stream_property(z))I.throw_error(x.error.domain("stream_property",z,y.indicator));else{var $=[],ie=[];if(!x.type.is_variable(F))$.push(X);else for(var ke in I.session.streams)$.push(I.session.streams[ke]);for(var Ne=0;Ne<$.length;Ne++){var st=[];$[Ne].filename&&st.push(new H("file_name",[new H($[Ne].file_name,[])])),st.push(new H("mode",[new H($[Ne].mode,[])])),st.push(new H($[Ne].input?"input":"output",[])),$[Ne].alias&&st.push(new H("alias",[new H($[Ne].alias,[])])),st.push(new H("position",[typeof $[Ne].position=="number"?new be($[Ne].position,!1):new H($[Ne].position,[])])),st.push(new H("end_of_stream",[new H($[Ne].position==="end_of_stream"?"at":$[Ne].position==="past_end_of_stream"?"past":"not",[])])),st.push(new H("eof_action",[new H($[Ne].eof_action,[])])),st.push(new H("reposition",[new H($[Ne].reposition?"true":"false",[])])),st.push(new H("type",[new H($[Ne].type,[])]));for(var ht=0;ht<st.length;ht++)ie.push(new Qe(P.goal.replace(new H(",",[new H("=",[x.type.is_variable(F)?F:X,$[Ne]]),new H("=",[z,st[ht]])])),P.substitution,P))}I.prepend(ie)}},"at_end_of_stream/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H(",",[new H("stream_property",[new me("S"),new H("end_of_stream",[new me("E")])]),new H(",",[new H("!",[]),new H(";",[new H("=",[new me("E"),new H("at",[])]),new H("=",[new me("E"),new H("past",[])])])])])])),P.substitution,P)])},"at_end_of_stream/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("stream_property",[F,new H("end_of_stream",[new me("E")])]),new H(",",[new H("!",[]),new H(";",[new H("=",[new me("E"),new H("at",[])]),new H("=",[new me("E"),new H("past",[])])])])])),P.substitution,P)])},"set_stream_position/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):x.type.is_stream_position(z)?X.reposition===!1?I.throw_error(x.error.permission("reposition","stream",F,y.indicator)):(x.type.is_integer(z)?X.position=z.value:X.position=z.id,I.success(P)):I.throw_error(x.error.domain("stream_position",z,y.indicator))},"get_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_char",[new me("S"),F])])),P.substitution,P)])},"get_char/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_character(z))I.throw_error(x.error.type("in_character",z,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new H($,[]),z])),P.substitution,P)])}},"get_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_code",[new me("S"),F])])),P.substitution,P)])},"get_code/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_integer(z))I.throw_error(x.error.type("integer",char,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$=-1,X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}$=n($,0),X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),z])),P.substitution,P)])}},"peek_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_char",[new me("S"),F])])),P.substitution,P)])},"peek_char/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_character(z))I.throw_error(x.error.type("in_character",z,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}I.prepend([new Qe(P.goal.replace(new H("=",[new H($,[]),z])),P.substitution,P)])}},"peek_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_code",[new me("S"),F])])),P.substitution,P)])},"peek_code/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_integer(z))I.throw_error(x.error.type("integer",char,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$=-1,X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}$=n($,0)}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),z])),P.substitution,P)])}},"put_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_char",[new me("S"),F])])),P.substitution,P)])},"put_char/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_character(z)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="binary"?I.throw_error(x.error.permission("output","binary_stream",F,y.indicator)):X.stream.put(z.id,X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.type("character",z,y.indicator))},"put_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_code",[new me("S"),F])])),P.substitution,P)])},"put_code/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(z)?x.type.is_character_code(z)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="binary"?I.throw_error(x.error.permission("output","binary_stream",F,y.indicator)):X.stream.put_char(u(z.value),X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.representation("character_code",y.indicator)):I.throw_error(x.error.type("integer",z,y.indicator))},"nl/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_char",[new me("S"),new H(` | 264 | `;return P},me.prototype.clone=function(){return new me(this.id)},be.prototype.clone=function(){return new be(this.value,this.is_float)},H.prototype.clone=function(){return new H(this.id,o(this.args,function(I){return I.clone()}))},Me.prototype.clone=function(){return new Stram(this.stream,this.mode,this.alias,this.type,this.reposition,this.eof_action)},Te.prototype.clone=function(){var I={};for(var P in this.links)!this.links.hasOwnProperty(P)||(I[P]=this.links[P].clone());return new Te(I)},Qe.prototype.clone=function(){return new Qe(this.goal.clone(),this.substitution.clone(),this.parent)},_e.prototype.clone=function(){return new _e(this.head.clone(),this.body!==null?this.body.clone():null)},me.prototype.equals=function(I){return x.type.is_variable(I)&&this.id===I.id},be.prototype.equals=function(I){return x.type.is_number(I)&&this.value===I.value&&this.is_float===I.is_float},H.prototype.equals=function(I){if(!x.type.is_term(I)||this.indicator!==I.indicator)return!1;for(var P=0;P<this.args.length;P++)if(!this.args[P].equals(I.args[P]))return!1;return!0},Me.prototype.equals=function(I){return x.type.is_stream(I)&&this.id===I.id},Te.prototype.equals=function(I){var P;if(!x.type.is_substitution(I))return!1;for(P in this.links)if(!!this.links.hasOwnProperty(P)&&(!I.links[P]||!this.links[P].equals(I.links[P])))return!1;for(P in I.links)if(!!I.links.hasOwnProperty(P)&&!this.links[P])return!1;return!0},Qe.prototype.equals=function(I){return x.type.is_state(I)&&this.goal.equals(I.goal)&&this.substitution.equals(I.substitution)&&this.parent===I.parent},_e.prototype.equals=function(I){return x.type.is_rule(I)&&this.head.equals(I.head)&&(this.body===null&&I.body===null||this.body!==null&&this.body.equals(I.body))},me.prototype.rename=function(I){return I.get_free_variable(this)},be.prototype.rename=function(I){return this},H.prototype.rename=function(I){return new H(this.id,o(this.args,function(P){return P.rename(I)}))},Me.prototype.rename=function(I){return this},_e.prototype.rename=function(I){return new _e(this.head.rename(I),this.body!==null?this.body.rename(I):null)},me.prototype.variables=function(){return[this.id]},be.prototype.variables=function(){return[]},H.prototype.variables=function(){return[].concat.apply([],o(this.args,function(I){return I.variables()}))},Me.prototype.variables=function(){return[]},_e.prototype.variables=function(){return this.body===null?this.head.variables():this.head.variables().concat(this.body.variables())},me.prototype.apply=function(I){return I.lookup(this.id)?I.lookup(this.id):this},be.prototype.apply=function(I){return this},H.prototype.apply=function(I){if(this.indicator==="./2"){for(var P=[],y=this;y.indicator==="./2";)P.push(y.args[0].apply(I)),y=y.args[1];for(var F=y.apply(I),J=P.length-1;J>=0;J--)F=new H(".",[P[J],F]);return F}return new H(this.id,o(this.args,function(X){return X.apply(I)}),this.ref)},Me.prototype.apply=function(I){return this},_e.prototype.apply=function(I){return new _e(this.head.apply(I),this.body!==null?this.body.apply(I):null)},Te.prototype.apply=function(I){var P,y={};for(P in this.links)!this.links.hasOwnProperty(P)||(y[P]=this.links[P].apply(I));return new Te(y)},H.prototype.select=function(){for(var I=this;I.indicator===",/2";)I=I.args[0];return I},H.prototype.replace=function(I){return this.indicator===",/2"?this.args[0].indicator===",/2"?new H(",",[this.args[0].replace(I),this.args[1]]):I===null?this.args[1]:new H(",",[I,this.args[1]]):I},H.prototype.search=function(I){if(x.type.is_term(I)&&I.ref!==void 0&&this.ref===I.ref)return!0;for(var P=0;P<this.args.length;P++)if(x.type.is_term(this.args[P])&&this.args[P].search(I))return!0;return!1},qe.prototype.get_current_input=function(){return this.current_input},At.prototype.get_current_input=function(){return this.session.get_current_input()},qe.prototype.get_current_output=function(){return this.current_output},At.prototype.get_current_output=function(){return this.session.get_current_output()},qe.prototype.set_current_input=function(I){this.current_input=I},At.prototype.set_current_input=function(I){return this.session.set_current_input(I)},qe.prototype.set_current_output=function(I){this.current_input=I},At.prototype.set_current_output=function(I){return this.session.set_current_output(I)},qe.prototype.get_stream_by_alias=function(I){return this.streams[I]},At.prototype.get_stream_by_alias=function(I){return this.session.get_stream_by_alias(I)},qe.prototype.file_system_open=function(I,P,y){return this.file_system.open(I,P,y)},At.prototype.file_system_open=function(I,P,y){return this.session.file_system_open(I,P,y)},qe.prototype.get_char_conversion=function(I){return this.__char_conversion[I]||I},At.prototype.get_char_conversion=function(I){return this.session.get_char_conversion(I)},qe.prototype.parse=function(I){return this.thread.parse(I)},At.prototype.parse=function(I){var P=new _(this);P.new_text(I);var y=P.get_tokens();if(y===null)return!1;var F=V(this,y,0,this.__get_max_priority(),!1);return F.len!==y.length?!1:{value:F.value,expr:F,tokens:y}},qe.prototype.get_flag=function(I){return this.flag[I]},At.prototype.get_flag=function(I){return this.session.get_flag(I)},qe.prototype.add_rule=function(I,P){return P=P||{},P.from=P.from?P.from:"$tau-js",this.src_predicates[I.head.indicator]=P.from,this.rules[I.head.indicator]||(this.rules[I.head.indicator]=[]),this.rules[I.head.indicator].push(I),this.public_predicates.hasOwnProperty(I.head.indicator)||(this.public_predicates[I.head.indicator]=!1),!0},At.prototype.add_rule=function(I,P){return this.session.add_rule(I,P)},qe.prototype.run_directive=function(I){this.thread.run_directive(I)},At.prototype.run_directive=function(I){return x.type.is_directive(I)?(x.directive[I.indicator](this,I),!0):!1},qe.prototype.__get_max_priority=function(){return"1200"},At.prototype.__get_max_priority=function(){return this.session.__get_max_priority()},qe.prototype.__get_next_priority=function(I){var P=0;I=parseInt(I);for(var y in this.__operators)if(!!this.__operators.hasOwnProperty(y)){var F=parseInt(y);F>P&&F<I&&(P=F)}return P.toString()},At.prototype.__get_next_priority=function(I){return this.session.__get_next_priority(I)},qe.prototype.__lookup_operator_classes=function(I,P){return this.__operators.hasOwnProperty(I)&&this.__operators[I][P]instanceof Array&&this.__operators[I][P]||!1},At.prototype.__lookup_operator_classes=function(I,P){return this.session.__lookup_operator_classes(I,P)},qe.prototype.lookup_operator=function(I,P){for(var y in this.__operators)if(this.__operators[y][I]){for(var F=0;F<this.__operators[y][I].length;F++)if(P===0||this.__operators[y][I][F].length===P+1)return{priority:y,class:this.__operators[y][I][F]}}return null},At.prototype.lookup_operator=function(I,P){return this.session.lookup_operator(I,P)},qe.prototype.throw_warning=function(I){this.thread.throw_warning(I)},At.prototype.throw_warning=function(I){this.warnings.push(I)},qe.prototype.get_warnings=function(){return this.thread.get_warnings()},At.prototype.get_warnings=function(){return this.warnings},qe.prototype.add_goal=function(I,P){this.thread.add_goal(I,P)},At.prototype.add_goal=function(I,P,y){y=y||null,P===!0&&(this.points=[]);for(var F=I.variables(),J={},X=0;X<F.length;X++)J[F[X]]=new me(F[X]);this.points.push(new Qe(I,new Te(J),y))},qe.prototype.consult=function(I,P){return this.thread.consult(I,P)},At.prototype.consult=function(I,P){var y="";if(typeof I=="string"){y=I;var F=y.length;if(y.substring(F-3,F)===".pl"&&document.getElementById(y)){var J=document.getElementById(y),X=J.getAttribute("type");X!==null&&X.replace(/ /g,"").toLowerCase()==="text/prolog"&&(y=J.text)}}else if(I.nodeName)switch(I.nodeName.toLowerCase()){case"input":case"textarea":y=I.value;break;default:y=I.innerHTML;break}else return!1;return this.warnings=[],he(this,y,P)},qe.prototype.query=function(I){return this.thread.query(I)},At.prototype.query=function(I){return this.points=[],this.debugger_points=[],ve(this,I)},qe.prototype.head_point=function(){return this.thread.head_point()},At.prototype.head_point=function(){return this.points[this.points.length-1]},qe.prototype.get_free_variable=function(I){return this.thread.get_free_variable(I)},At.prototype.get_free_variable=function(I){var P=[];if(I.id==="_"||this.session.renamed_variables[I.id]===void 0){for(this.session.rename++,this.points.length>0&&(P=this.head_point().substitution.domain());e(P,x.format_variable(this.session.rename))!==-1;)this.session.rename++;if(I.id==="_")return new me(x.format_variable(this.session.rename));this.session.renamed_variables[I.id]=x.format_variable(this.session.rename)}return new me(this.session.renamed_variables[I.id])},qe.prototype.next_free_variable=function(){return this.thread.next_free_variable()},At.prototype.next_free_variable=function(){this.session.rename++;var I=[];for(this.points.length>0&&(I=this.head_point().substitution.domain());e(I,x.format_variable(this.session.rename))!==-1;)this.session.rename++;return new me(x.format_variable(this.session.rename))},qe.prototype.is_public_predicate=function(I){return!this.public_predicates.hasOwnProperty(I)||this.public_predicates[I]===!0},At.prototype.is_public_predicate=function(I){return this.session.is_public_predicate(I)},qe.prototype.is_multifile_predicate=function(I){return this.multifile_predicates.hasOwnProperty(I)&&this.multifile_predicates[I]===!0},At.prototype.is_multifile_predicate=function(I){return this.session.is_multifile_predicate(I)},qe.prototype.prepend=function(I){return this.thread.prepend(I)},At.prototype.prepend=function(I){for(var P=I.length-1;P>=0;P--)this.points.push(I[P])},qe.prototype.success=function(I,P){return this.thread.success(I,P)},At.prototype.success=function(I,y){var y=typeof y>"u"?I:y;this.prepend([new Qe(I.goal.replace(null),I.substitution,y)])},qe.prototype.throw_error=function(I){return this.thread.throw_error(I)},At.prototype.throw_error=function(I){this.prepend([new Qe(new H("throw",[I]),new Te,null,null)])},qe.prototype.step_rule=function(I,P){return this.thread.step_rule(I,P)},At.prototype.step_rule=function(I,P){var y=P.indicator;if(I==="user"&&(I=null),I===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var F=I===null?this.session.modules:e(this.session.modules,I)===-1?[]:[I],J=0;J<F.length;J++){var X=x.module[F[J]];if(X.rules.hasOwnProperty(y)&&(X.rules.hasOwnProperty(this.level)||X.exports_predicate(y)))return x.module[F[J]].rules[y]}return null},qe.prototype.step=function(){return this.thread.step()},At.prototype.step=function(){if(this.points.length!==0){var I=!1,P=this.points.pop();if(this.debugger&&this.debugger_states.push(P),x.type.is_term(P.goal)){var y=P.goal.select(),F=null,J=[];if(y!==null){this.total_steps++;for(var X=P;X.parent!==null&&X.parent.goal.search(y);)X=X.parent;if(this.level=X.parent===null?"top_level/0":X.parent.goal.select().indicator,x.type.is_term(y)&&y.indicator===":/2"&&(F=y.args[0].id,y=y.args[1]),F===null&&x.type.is_builtin(y))this.__call_indicator=y.indicator,I=x.predicate[y.indicator](this,P,y);else{var $=this.step_rule(F,y);if($===null)this.session.rules.hasOwnProperty(y.indicator)||(this.get_flag("unknown").id==="error"?this.throw_error(x.error.existence("procedure",y.indicator,this.level)):this.get_flag("unknown").id==="warning"&&this.throw_warning("unknown procedure "+y.indicator+" (from "+this.level+")"));else if($ instanceof Function)I=$(this,P,y);else{for(var ie in $)if(!!$.hasOwnProperty(ie)){var ke=$[ie];this.session.renamed_variables={},ke=ke.rename(this);var Ne=this.get_flag("occurs_check").indicator==="true/0",st=new Qe,ht=x.unify(y,ke.head,Ne);ht!==null&&(st.goal=P.goal.replace(ke.body),st.goal!==null&&(st.goal=st.goal.apply(ht)),st.substitution=P.substitution.apply(ht),st.parent=P,J.push(st))}this.prepend(J)}}}}else x.type.is_variable(P.goal)?this.throw_error(x.error.instantiation(this.level)):this.throw_error(x.error.type("callable",P.goal,this.level));return I}},qe.prototype.answer=function(I){return this.thread.answer(I)},At.prototype.answer=function(I){I=I||function(P){},this.__calls.push(I),!(this.__calls.length>1)&&this.again()},qe.prototype.answers=function(I,P,y){return this.thread.answers(I,P,y)},At.prototype.answers=function(I,P,y){var F=P||1e3,J=this;if(P<=0){y&&y();return}this.answer(function(X){I(X),X!==!1?setTimeout(function(){J.answers(I,P-1,y)},1):y&&y()})},qe.prototype.again=function(I){return this.thread.again(I)},At.prototype.again=function(I){for(var P,y=Date.now();this.__calls.length>0;){for(this.warnings=[],I!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!x.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var F=Date.now();this.cpu_time_last=F-y,this.cpu_time+=this.cpu_time_last;var J=this.__calls.shift();this.current_limit<=0?J(null):this.points.length===0?J(!1):x.type.is_error(this.head_point().goal)?(P=this.session.format_error(this.points.pop()),this.points=[],J(P)):(this.debugger&&this.debugger_states.push(this.head_point()),P=this.session.format_success(this.points.pop()),J(P))}},qe.prototype.unfold=function(I){if(I.body===null)return!1;var P=I.head,y=I.body,F=y.select(),J=new At(this),X=[];J.add_goal(F),J.step();for(var $=J.points.length-1;$>=0;$--){var ie=J.points[$],ke=P.apply(ie.substitution),Ne=y.replace(ie.goal);Ne!==null&&(Ne=Ne.apply(ie.substitution)),X.push(new _e(ke,Ne))}var st=this.rules[P.indicator],ht=e(st,I);return X.length>0&&ht!==-1?(st.splice.apply(st,[ht,1].concat(X)),!0):!1},At.prototype.unfold=function(I){return this.session.unfold(I)},me.prototype.interpret=function(I){return x.error.instantiation(I.level)},be.prototype.interpret=function(I){return this},H.prototype.interpret=function(I){return x.type.is_unitary_list(this)?this.args[0].interpret(I):x.operate(I,this)},me.prototype.compare=function(I){return this.id<I.id?-1:this.id>I.id?1:0},be.prototype.compare=function(I){if(this.value===I.value&&this.is_float===I.is_float)return 0;if(this.value<I.value||this.value===I.value&&this.is_float&&!I.is_float)return-1;if(this.value>I.value)return 1},H.prototype.compare=function(I){if(this.args.length<I.args.length||this.args.length===I.args.length&&this.id<I.id)return-1;if(this.args.length>I.args.length||this.args.length===I.args.length&&this.id>I.id)return 1;for(var P=0;P<this.args.length;P++){var y=x.compare(this.args[P],I.args[P]);if(y!==0)return y}return 0},Te.prototype.lookup=function(I){return this.links[I]?this.links[I]:null},Te.prototype.filter=function(I){var P={};for(var y in this.links)if(!!this.links.hasOwnProperty(y)){var F=this.links[y];I(y,F)&&(P[y]=F)}return new Te(P)},Te.prototype.exclude=function(I){var P={};for(var y in this.links)!this.links.hasOwnProperty(y)||e(I,y)===-1&&(P[y]=this.links[y]);return new Te(P)},Te.prototype.add=function(I,P){this.links[I]=P},Te.prototype.domain=function(I){var P=I===!0?function(J){return J}:function(J){return new me(J)},y=[];for(var F in this.links)y.push(P(F));return y},me.prototype.compile=function(){return'new pl.type.Var("'+this.id.toString()+'")'},be.prototype.compile=function(){return"new pl.type.Num("+this.value.toString()+", "+this.is_float.toString()+")"},H.prototype.compile=function(){return'new pl.type.Term("'+this.id.replace(/"/g,'\\"')+'", ['+o(this.args,function(I){return I.compile()})+"])"},_e.prototype.compile=function(){return"new pl.type.Rule("+this.head.compile()+", "+(this.body===null?"null":this.body.compile())+")"},qe.prototype.compile=function(){var I,P=[],y;for(var F in this.rules)if(!!this.rules.hasOwnProperty(F)){var J=this.rules[F];y=[],I='"'+F+'": [';for(var X=0;X<J.length;X++)y.push(J[X].compile());I+=y.join(),I+="]",P.push(I)}return"{"+P.join()+"};"},me.prototype.toJavaScript=function(){},be.prototype.toJavaScript=function(){return this.value},H.prototype.toJavaScript=function(){if(this.args.length===0&&this.indicator!=="[]/0")return this.id;if(x.type.is_list(this)){for(var I=[],P=this,y;P.indicator==="./2";){if(y=P.args[0].toJavaScript(),y===void 0)return;I.push(y),P=P.args[1]}if(P.indicator==="[]/0")return I}},_e.prototype.singleton_variables=function(){var I=this.head.variables(),P={},y=[];this.body!==null&&(I=I.concat(this.body.variables()));for(var F=0;F<I.length;F++)P[I[F]]===void 0&&(P[I[F]]=0),P[I[F]]++;for(var J in P)J!=="_"&&P[J]===1&&y.push(J);return y};var x={__env:typeof dl<"u"&&dl.exports?global:window,module:{},version:t,parser:{tokenizer:_,expression:V},utils:{str_indicator:Z,codePointAt:n,fromCodePoint:u},statistics:{getCountTerms:function(){return ut}},fromJavaScript:{test:{boolean:function(I){return I===!0||I===!1},number:function(I){return typeof I=="number"},string:function(I){return typeof I=="string"},list:function(I){return I instanceof Array},variable:function(I){return I===void 0},any:function(I){return!0}},conversion:{boolean:function(I){return new H(I?"true":"false",[])},number:function(I){return new be(I,I%1!==0)},string:function(I){return new H(I,[])},list:function(I){for(var P=[],y,F=0;F<I.length;F++){if(y=x.fromJavaScript.apply(I[F]),y===void 0)return;P.push(y)}return g(P)},variable:function(I){return new me("_")},any:function(I){}},apply:function(I){for(var P in x.fromJavaScript.test)if(P!=="any"&&x.fromJavaScript.test[P](I))return x.fromJavaScript.conversion[P](I);return x.fromJavaScript.conversion.any(I)}},type:{Var:me,Num:be,Term:H,Rule:_e,State:Qe,Stream:Me,Module:Oe,Thread:At,Session:qe,Substitution:Te,order:[me,be,H,Me],compare:function(I,P){var y=e(x.type.order,I.constructor),F=e(x.type.order,P.constructor);if(y<F)return-1;if(y>F)return 1;if(I.constructor===be){if(I.is_float&&P.is_float)return 0;if(I.is_float)return-1;if(P.is_float)return 1}return 0},is_substitution:function(I){return I instanceof Te},is_state:function(I){return I instanceof Qe},is_rule:function(I){return I instanceof _e},is_variable:function(I){return I instanceof me},is_stream:function(I){return I instanceof Me},is_anonymous_var:function(I){return I instanceof me&&I.id==="_"},is_callable:function(I){return I instanceof H},is_number:function(I){return I instanceof be},is_integer:function(I){return I instanceof be&&!I.is_float},is_float:function(I){return I instanceof be&&I.is_float},is_term:function(I){return I instanceof H},is_atom:function(I){return I instanceof H&&I.args.length===0},is_ground:function(I){if(I instanceof me)return!1;if(I instanceof H){for(var P=0;P<I.args.length;P++)if(!x.type.is_ground(I.args[P]))return!1}return!0},is_atomic:function(I){return I instanceof H&&I.args.length===0||I instanceof be},is_compound:function(I){return I instanceof H&&I.args.length>0},is_list:function(I){return I instanceof H&&(I.indicator==="[]/0"||I.indicator==="./2")},is_empty_list:function(I){return I instanceof H&&I.indicator==="[]/0"},is_non_empty_list:function(I){return I instanceof H&&I.indicator==="./2"},is_fully_list:function(I){for(;I instanceof H&&I.indicator==="./2";)I=I.args[1];return I instanceof me||I instanceof H&&I.indicator==="[]/0"},is_instantiated_list:function(I){for(;I instanceof H&&I.indicator==="./2";)I=I.args[1];return I instanceof H&&I.indicator==="[]/0"},is_unitary_list:function(I){return I instanceof H&&I.indicator==="./2"&&I.args[1]instanceof H&&I.args[1].indicator==="[]/0"},is_character:function(I){return I instanceof H&&(I.id.length===1||I.id.length>0&&I.id.length<=2&&n(I.id,0)>=65536)},is_character_code:function(I){return I instanceof be&&!I.is_float&&I.value>=0&&I.value<=1114111},is_byte:function(I){return I instanceof be&&!I.is_float&&I.value>=0&&I.value<=255},is_operator:function(I){return I instanceof H&&x.arithmetic.evaluation[I.indicator]},is_directive:function(I){return I instanceof H&&x.directive[I.indicator]!==void 0},is_builtin:function(I){return I instanceof H&&x.predicate[I.indicator]!==void 0},is_error:function(I){return I instanceof H&&I.indicator==="throw/1"},is_predicate_indicator:function(I){return I instanceof H&&I.indicator==="//2"&&I.args[0]instanceof H&&I.args[0].args.length===0&&I.args[1]instanceof be&&I.args[1].is_float===!1},is_flag:function(I){return I instanceof H&&I.args.length===0&&x.flag[I.id]!==void 0},is_value_flag:function(I,P){if(!x.type.is_flag(I))return!1;for(var y in x.flag[I.id].allowed)if(!!x.flag[I.id].allowed.hasOwnProperty(y)&&x.flag[I.id].allowed[y].equals(P))return!0;return!1},is_io_mode:function(I){return x.type.is_atom(I)&&["read","write","append"].indexOf(I.id)!==-1},is_stream_option:function(I){return x.type.is_term(I)&&(I.indicator==="alias/1"&&x.type.is_atom(I.args[0])||I.indicator==="reposition/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="type/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary")||I.indicator==="eof_action/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))},is_stream_position:function(I){return x.type.is_integer(I)&&I.value>=0||x.type.is_atom(I)&&(I.id==="end_of_stream"||I.id==="past_end_of_stream")},is_stream_property:function(I){return x.type.is_term(I)&&(I.indicator==="input/0"||I.indicator==="output/0"||I.indicator==="alias/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0]))||I.indicator==="file_name/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0]))||I.indicator==="position/1"&&(x.type.is_variable(I.args[0])||x.type.is_stream_position(I.args[0]))||I.indicator==="reposition/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))||I.indicator==="type/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="text"||I.args[0].id==="binary"))||I.indicator==="mode/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="read"||I.args[0].id==="write"||I.args[0].id==="append"))||I.indicator==="eof_action/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="error"||I.args[0].id==="eof_code"||I.args[0].id==="reset"))||I.indicator==="end_of_stream/1"&&(x.type.is_variable(I.args[0])||x.type.is_atom(I.args[0])&&(I.args[0].id==="at"||I.args[0].id==="past"||I.args[0].id==="not")))},is_streamable:function(I){return I.__proto__.stream!==void 0},is_read_option:function(I){return x.type.is_term(I)&&["variables/1","variable_names/1","singletons/1"].indexOf(I.indicator)!==-1},is_write_option:function(I){return x.type.is_term(I)&&(I.indicator==="quoted/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="ignore_ops/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")||I.indicator==="numbervars/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false"))},is_close_option:function(I){return x.type.is_term(I)&&I.indicator==="force/1"&&x.type.is_atom(I.args[0])&&(I.args[0].id==="true"||I.args[0].id==="false")},is_modifiable_flag:function(I){return x.type.is_flag(I)&&x.flag[I.id].changeable},is_module:function(I){return I instanceof H&&I.indicator==="library/1"&&I.args[0]instanceof H&&I.args[0].args.length===0&&x.module[I.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(I){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(I){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(I){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(I){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(I,P){return I}},"-/1":{type_args:null,type_result:null,fn:function(I,P){return-I}},"\\/1":{type_args:!1,type_result:!1,fn:function(I,P){return~I}},"abs/1":{type_args:null,type_result:null,fn:function(I,P){return Math.abs(I)}},"sign/1":{type_args:null,type_result:null,fn:function(I,P){return Math.sign(I)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(I,P){return parseInt(I)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(I,P){return I-parseInt(I)}},"float/1":{type_args:null,type_result:!0,fn:function(I,P){return parseFloat(I)}},"floor/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.floor(I)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(I,P){return parseInt(I)}},"round/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.round(I)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(I,P){return Math.ceil(I)}},"sin/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.sin(I)}},"cos/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.cos(I)}},"tan/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.tan(I)}},"asin/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.asin(I)}},"acos/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.acos(I)}},"atan/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.atan(I)}},"atan2/2":{type_args:null,type_result:!0,fn:function(I,P,y){return Math.atan2(I,P)}},"exp/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.exp(I)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(I,P){return Math.sqrt(I)}},"log/1":{type_args:null,type_result:!0,fn:function(I,P){return I>0?Math.log(I):x.error.evaluation("undefined",P.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(I,P,y){return I+P}},"-/2":{type_args:null,type_result:null,fn:function(I,P,y){return I-P}},"*/2":{type_args:null,type_result:null,fn:function(I,P,y){return I*P}},"//2":{type_args:null,type_result:!0,fn:function(I,P,y){return P?I/P:x.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?parseInt(I/P):x.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(I,P,y){return Math.pow(I,P)}},"^/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.pow(I,P)}},"<</2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I<<P}},">>/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I>>P}},"/\\/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I&P}},"\\//2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I|P}},"xor/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return I^P}},"rem/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?I%P:x.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(I,P,y){return P?I-parseInt(I/P)*P:x.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.max(I,P)}},"min/2":{type_args:null,type_result:null,fn:function(I,P,y){return Math.min(I,P)}}}},directive:{"dynamic/1":function(I,P){var y=P.args[0];if(x.type.is_variable(y))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_compound(y)||y.indicator!=="//2")I.throw_error(x.error.type("predicate_indicator",y,P.indicator));else if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_atom(y.args[0]))I.throw_error(x.error.type("atom",y.args[0],P.indicator));else if(!x.type.is_integer(y.args[1]))I.throw_error(x.error.type("integer",y.args[1],P.indicator));else{var F=P.args[0].args[0].id+"/"+P.args[0].args[1].value;I.session.public_predicates[F]=!0,I.session.rules[F]||(I.session.rules[F]=[])}},"multifile/1":function(I,P){var y=P.args[0];x.type.is_variable(y)?I.throw_error(x.error.instantiation(P.indicator)):!x.type.is_compound(y)||y.indicator!=="//2"?I.throw_error(x.error.type("predicate_indicator",y,P.indicator)):x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1])?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_atom(y.args[0])?x.type.is_integer(y.args[1])?I.session.multifile_predicates[P.args[0].args[0].id+"/"+P.args[0].args[1].value]=!0:I.throw_error(x.error.type("integer",y.args[1],P.indicator)):I.throw_error(x.error.type("atom",y.args[0],P.indicator))},"set_prolog_flag/2":function(I,P){var y=P.args[0],F=P.args[1];x.type.is_variable(y)||x.type.is_variable(F)?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_atom(y)?x.type.is_flag(y)?x.type.is_value_flag(y,F)?x.type.is_modifiable_flag(y)?I.session.flag[y.id]=F:I.throw_error(x.error.permission("modify","flag",y)):I.throw_error(x.error.domain("flag_value",new H("+",[y,F]),P.indicator)):I.throw_error(x.error.domain("prolog_flag",y,P.indicator)):I.throw_error(x.error.type("atom",y,P.indicator))},"use_module/1":function(I,P){var y=P.args[0];if(x.type.is_variable(y))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_term(y))I.throw_error(x.error.type("term",y,P.indicator));else if(x.type.is_module(y)){var F=y.args[0].id;e(I.session.modules,F)===-1&&I.session.modules.push(F)}},"char_conversion/2":function(I,P){var y=P.args[0],F=P.args[1];x.type.is_variable(y)||x.type.is_variable(F)?I.throw_error(x.error.instantiation(P.indicator)):x.type.is_character(y)?x.type.is_character(F)?y.id===F.id?delete I.session.__char_conversion[y.id]:I.session.__char_conversion[y.id]=F.id:I.throw_error(x.error.type("character",F,P.indicator)):I.throw_error(x.error.type("character",y,P.indicator))},"op/3":function(I,P){var y=P.args[0],F=P.args[1],J=P.args[2];if(x.type.is_variable(y)||x.type.is_variable(F)||x.type.is_variable(J))I.throw_error(x.error.instantiation(P.indicator));else if(!x.type.is_integer(y))I.throw_error(x.error.type("integer",y,P.indicator));else if(!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,P.indicator));else if(!x.type.is_atom(J))I.throw_error(x.error.type("atom",J,P.indicator));else if(y.value<0||y.value>1200)I.throw_error(x.error.domain("operator_priority",y,P.indicator));else if(J.id===",")I.throw_error(x.error.permission("modify","operator",J,P.indicator));else if(J.id==="|"&&(y.value<1001||F.id.length!==3))I.throw_error(x.error.permission("modify","operator",J,P.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(F.id)===-1)I.throw_error(x.error.domain("operator_specifier",F,P.indicator));else{var X={prefix:null,infix:null,postfix:null};for(var $ in I.session.__operators)if(!!I.session.__operators.hasOwnProperty($)){var ie=I.session.__operators[$][J.id];ie&&(e(ie,"fx")!==-1&&(X.prefix={priority:$,type:"fx"}),e(ie,"fy")!==-1&&(X.prefix={priority:$,type:"fy"}),e(ie,"xf")!==-1&&(X.postfix={priority:$,type:"xf"}),e(ie,"yf")!==-1&&(X.postfix={priority:$,type:"yf"}),e(ie,"xfx")!==-1&&(X.infix={priority:$,type:"xfx"}),e(ie,"xfy")!==-1&&(X.infix={priority:$,type:"xfy"}),e(ie,"yfx")!==-1&&(X.infix={priority:$,type:"yfx"}))}var ke;switch(F.id){case"fy":case"fx":ke="prefix";break;case"yf":case"xf":ke="postfix";break;default:ke="infix";break}if(((X.prefix&&ke==="prefix"||X.postfix&&ke==="postfix"||X.infix&&ke==="infix")&&X[ke].type!==F.id||X.infix&&ke==="postfix"||X.postfix&&ke==="infix")&&y.value!==0)I.throw_error(x.error.permission("create","operator",J,P.indicator));else return X[ke]&&(De(I.session.__operators[X[ke].priority][J.id],F.id),I.session.__operators[X[ke].priority][J.id].length===0&&delete I.session.__operators[X[ke].priority][J.id]),y.value>0&&(I.session.__operators[y.value]||(I.session.__operators[y.value.toString()]={}),I.session.__operators[y.value][J.id]||(I.session.__operators[y.value][J.id]=[]),I.session.__operators[y.value][J.id].push(F.id)),!0}}},predicate:{"op/3":function(I,P,y){x.directive["op/3"](I,y)&&I.success(P)},"current_op/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2],$=[];for(var ie in I.session.__operators)for(var ke in I.session.__operators[ie])for(var Ne=0;Ne<I.session.__operators[ie][ke].length;Ne++)$.push(new Qe(P.goal.replace(new H(",",[new H("=",[new be(ie,!1),F]),new H(",",[new H("=",[new H(I.session.__operators[ie][ke][Ne],[]),J]),new H("=",[new H(ke,[]),X])])])),P.substitution,P));I.prepend($)},";/2":function(I,P,y){if(x.type.is_term(y.args[0])&&y.args[0].indicator==="->/2"){var F=I.points,J=I.session.format_success,X=I.session.format_error;I.session.format_success=function(Ne){return Ne.substitution},I.session.format_error=function(Ne){return Ne.goal},I.points=[new Qe(y.args[0].args[0],P.substitution,P)];var $=function(Ne){I.points=F,I.session.format_success=J,I.session.format_error=X,Ne===!1?I.prepend([new Qe(P.goal.replace(y.args[1]),P.substitution,P)]):x.type.is_error(Ne)?I.throw_error(Ne.args[0]):Ne===null?(I.prepend([P]),I.__calls.shift()(null)):I.prepend([new Qe(P.goal.replace(y.args[0].args[1]).apply(Ne),P.substitution.apply(Ne),P)])};I.__calls.unshift($)}else{var ie=new Qe(P.goal.replace(y.args[0]),P.substitution,P),ke=new Qe(P.goal.replace(y.args[1]),P.substitution,P);I.prepend([ie,ke])}},"!/0":function(I,P,y){var F,J,X=[];for(F=P,J=null;F.parent!==null&&F.parent.goal.search(y);)if(J=F,F=F.parent,F.goal!==null){var $=F.goal.select();if($&&$.id==="call"&&$.search(y)){F=J;break}}for(var ie=I.points.length-1;ie>=0;ie--){for(var ke=I.points[ie],Ne=ke.parent;Ne!==null&&Ne!==F.parent;)Ne=Ne.parent;Ne===null&&Ne!==F.parent&&X.push(ke)}I.points=X.reverse(),I.success(P)},"\\+/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(I.level)):x.type.is_callable(F)?I.prepend([new Qe(P.goal.replace(new H(",",[new H(",",[new H("call",[F]),new H("!",[])]),new H("fail",[])])),P.substitution,P),new Qe(P.goal.replace(null),P.substitution,P)]):I.throw_error(x.error.type("callable",F,I.level))},"->/2":function(I,P,y){var F=P.goal.replace(new H(",",[y.args[0],new H(",",[new H("!"),y.args[1]])]));I.prepend([new Qe(F,P.substitution,P)])},"fail/0":function(I,P,y){},"false/0":function(I,P,y){},"true/0":function(I,P,y){I.success(P)},"call/1":ne(1),"call/2":ne(2),"call/3":ne(3),"call/4":ne(4),"call/5":ne(5),"call/6":ne(6),"call/7":ne(7),"call/8":ne(8),"once/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("call",[F]),new H("!",[])])),P.substitution,P)])},"forall/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("\\+",[new H(",",[new H("call",[F]),new H("\\+",[new H("call",[J])])])])),P.substitution,P)])},"repeat/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(null),P.substitution,P),P])},"throw/1":function(I,P,y){x.type.is_variable(y.args[0])?I.throw_error(x.error.instantiation(I.level)):I.throw_error(y.args[0])},"catch/3":function(I,P,y){var F=I.points;I.points=[],I.prepend([new Qe(y.args[0],P.substitution,P)]);var J=I.session.format_success,X=I.session.format_error;I.session.format_success=function(ie){return ie.substitution},I.session.format_error=function(ie){return ie.goal};var $=function(ie){var ke=I.points;if(I.points=F,I.session.format_success=J,I.session.format_error=X,x.type.is_error(ie)){for(var Ne=[],st=I.points.length-1;st>=0;st--){for(var Xt=I.points[st],ht=Xt.parent;ht!==null&&ht!==P.parent;)ht=ht.parent;ht===null&&ht!==P.parent&&Ne.push(Xt)}I.points=Ne;var Ut=I.get_flag("occurs_check").indicator==="true/0",Xt=new Qe,Pt=x.unify(ie.args[0],y.args[1],Ut);Pt!==null?(Xt.substitution=P.substitution.apply(Pt),Xt.goal=P.goal.replace(y.args[2]).apply(Pt),Xt.parent=P,I.prepend([Xt])):I.throw_error(ie.args[0])}else if(ie!==!1){for(var tn=ie===null?[]:[new Qe(P.goal.apply(ie).replace(null),P.substitution.apply(ie),P)],Dr=[],st=ke.length-1;st>=0;st--){Dr.push(ke[st]);var fr=ke[st].goal!==null?ke[st].goal.select():null;if(x.type.is_term(fr)&&fr.indicator==="!/0")break}var Br=o(Dr,function(jr){return jr.goal===null&&(jr.goal=new H("true",[])),jr=new Qe(P.goal.replace(new H("catch",[jr.goal,y.args[1],y.args[2]])),P.substitution.apply(jr.substitution),jr.parent),jr.exclude=y.args[0].variables(),jr}).reverse();I.prepend(Br),I.prepend(tn),ie===null&&(this.current_limit=0,I.__calls.shift()(null))}};I.__calls.unshift($)},"=/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",J=new Qe,X=x.unify(y.args[0],y.args[1],F);X!==null&&(J.goal=P.goal.apply(X).replace(null),J.substitution=P.substitution.apply(X),J.parent=P,I.prepend([J]))},"unify_with_occurs_check/2":function(I,P,y){var F=new Qe,J=x.unify(y.args[0],y.args[1],!0);J!==null&&(F.goal=P.goal.apply(J).replace(null),F.substitution=P.substitution.apply(J),F.parent=P,I.prepend([F]))},"\\=/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",J=x.unify(y.args[0],y.args[1],F);J===null&&I.success(P)},"subsumes_term/2":function(I,P,y){var F=I.get_flag("occurs_check").indicator==="true/0",J=x.unify(y.args[1],y.args[0],F);J!==null&&y.args[1].apply(J).equals(y.args[1])&&I.success(P)},"findall/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2];if(x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(J))I.throw_error(x.error.type("callable",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=I.next_free_variable(),ie=new H(",",[J,new H("=",[$,F])]),ke=I.points,Ne=I.session.limit,st=I.session.format_success;I.session.format_success=function(Xt){return Xt.substitution},I.add_goal(ie,!0,P);var ht=[],Ut=function(Xt){if(Xt!==!1&&Xt!==null&&!x.type.is_error(Xt))I.__calls.unshift(Ut),ht.push(Xt.links[$.id]),I.session.limit=I.current_limit;else if(I.points=ke,I.session.limit=Ne,I.session.format_success=st,x.type.is_error(Xt))I.throw_error(Xt.args[0]);else if(I.current_limit>0){for(var Pt=new H("[]"),tn=ht.length-1;tn>=0;tn--)Pt=new H(".",[ht[tn],Pt]);I.prepend([new Qe(P.goal.replace(new H("=",[X,Pt])),P.substitution,P)])}};I.__calls.unshift(Ut)}},"bagof/3":function(I,P,y){var F,J=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))I.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else{var ie=I.next_free_variable(),ke;X.indicator==="^/2"?(ke=X.args[0].variables(),X=X.args[1]):ke=[],ke=ke.concat(J.variables());for(var Ne=X.variables().filter(function(Br){return e(ke,Br)===-1}),st=new H("[]"),ht=Ne.length-1;ht>=0;ht--)st=new H(".",[new me(Ne[ht]),st]);var Ut=new H(",",[X,new H("=",[ie,new H(",",[st,J])])]),Xt=I.points,Pt=I.session.limit,tn=I.session.format_success;I.session.format_success=function(Br){return Br.substitution},I.add_goal(Ut,!0,P);var Dr=[],fr=function(Br){if(Br!==!1&&Br!==null&&!x.type.is_error(Br)){I.__calls.unshift(fr);var jr=!1,Hn=Br.links[ie.id].args[0],bs=Br.links[ie.id].args[1];for(var ki in Dr)if(!!Dr.hasOwnProperty(ki)){var gs=Dr[ki];if(gs.variables.equals(Hn)){gs.answers.push(bs),jr=!0;break}}jr||Dr.push({variables:Hn,answers:[bs]}),I.session.limit=I.current_limit}else if(I.points=Xt,I.session.limit=Pt,I.session.format_success=tn,x.type.is_error(Br))I.throw_error(Br.args[0]);else if(I.current_limit>0){for(var to=[],Di=0;Di<Dr.length;Di++){Br=Dr[Di].answers;for(var Qs=new H("[]"),ro=Br.length-1;ro>=0;ro--)Qs=new H(".",[Br[ro],Qs]);to.push(new Qe(P.goal.replace(new H(",",[new H("=",[st,Dr[Di].variables]),new H("=",[$,Qs])])),P.substitution,P))}I.prepend(to)}};I.__calls.unshift(fr)}},"setof/3":function(I,P,y){var F,J=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(X))I.throw_error(x.error.type("callable",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else{var ie=I.next_free_variable(),ke;X.indicator==="^/2"?(ke=X.args[0].variables(),X=X.args[1]):ke=[],ke=ke.concat(J.variables());for(var Ne=X.variables().filter(function(Br){return e(ke,Br)===-1}),st=new H("[]"),ht=Ne.length-1;ht>=0;ht--)st=new H(".",[new me(Ne[ht]),st]);var Ut=new H(",",[X,new H("=",[ie,new H(",",[st,J])])]),Xt=I.points,Pt=I.session.limit,tn=I.session.format_success;I.session.format_success=function(Br){return Br.substitution},I.add_goal(Ut,!0,P);var Dr=[],fr=function(Br){if(Br!==!1&&Br!==null&&!x.type.is_error(Br)){I.__calls.unshift(fr);var jr=!1,Hn=Br.links[ie.id].args[0],bs=Br.links[ie.id].args[1];for(var ki in Dr)if(!!Dr.hasOwnProperty(ki)){var gs=Dr[ki];if(gs.variables.equals(Hn)){gs.answers.push(bs),jr=!0;break}}jr||Dr.push({variables:Hn,answers:[bs]}),I.session.limit=I.current_limit}else if(I.points=Xt,I.session.limit=Pt,I.session.format_success=tn,x.type.is_error(Br))I.throw_error(Br.args[0]);else if(I.current_limit>0){for(var to=[],Di=0;Di<Dr.length;Di++){Br=Dr[Di].answers.sort(x.compare);for(var Qs=new H("[]"),ro=Br.length-1;ro>=0;ro--)Qs=new H(".",[Br[ro],Qs]);to.push(new Qe(P.goal.replace(new H(",",[new H("=",[st,Dr[Di].variables]),new H("=",[$,Qs])])),P.substitution,P))}I.prepend(to)}};I.__calls.unshift(fr)}},"functor/3":function(I,P,y){var F,J=y.args[0],X=y.args[1],$=y.args[2];if(x.type.is_variable(J)&&(x.type.is_variable(X)||x.type.is_variable($)))I.throw_error(x.error.instantiation("functor/3"));else if(!x.type.is_variable($)&&!x.type.is_integer($))I.throw_error(x.error.type("integer",y.args[2],"functor/3"));else if(!x.type.is_variable(X)&&!x.type.is_atomic(X))I.throw_error(x.error.type("atomic",y.args[1],"functor/3"));else if(x.type.is_integer(X)&&x.type.is_integer($)&&$.value!==0)I.throw_error(x.error.type("atom",y.args[1],"functor/3"));else if(x.type.is_variable(J)){if(y.args[2].value>=0){for(var ie=[],ke=0;ke<$.value;ke++)ie.push(I.next_free_variable());var Ne=x.type.is_integer(X)?X:new H(X.id,ie);I.prepend([new Qe(P.goal.replace(new H("=",[J,Ne])),P.substitution,P)])}}else{var st=x.type.is_integer(J)?J:new H(J.id,[]),ht=x.type.is_integer(J)?new be(0,!1):new be(J.args.length,!1),Ut=new H(",",[new H("=",[st,X]),new H("=",[ht,$])]);I.prepend([new Qe(P.goal.replace(Ut),P.substitution,P)])}},"arg/3":function(I,P,y){if(x.type.is_variable(y.args[0])||x.type.is_variable(y.args[1]))I.throw_error(x.error.instantiation(y.indicator));else if(y.args[0].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[0],y.indicator));else if(!x.type.is_compound(y.args[1]))I.throw_error(x.error.type("compound",y.args[1],y.indicator));else{var F=y.args[0].value;if(F>0&&F<=y.args[1].args.length){var J=new H("=",[y.args[1].args[F-1],y.args[2]]);I.prepend([new Qe(P.goal.replace(J),P.substitution,P)])}}},"=../2":function(I,P,y){var F;if(x.type.is_variable(y.args[0])&&(x.type.is_variable(y.args[1])||x.type.is_non_empty_list(y.args[1])&&x.type.is_variable(y.args[1].args[0])))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_fully_list(y.args[1]))I.throw_error(x.error.type("list",y.args[1],y.indicator));else if(x.type.is_variable(y.args[0])){if(!x.type.is_variable(y.args[1])){var X=[];for(F=y.args[1].args[1];F.indicator==="./2";)X.push(F.args[0]),F=F.args[1];x.type.is_variable(y.args[0])&&x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):X.length===0&&x.type.is_compound(y.args[1].args[0])?I.throw_error(x.error.type("atomic",y.args[1].args[0],y.indicator)):X.length>0&&(x.type.is_compound(y.args[1].args[0])||x.type.is_number(y.args[1].args[0]))?I.throw_error(x.error.type("atom",y.args[1].args[0],y.indicator)):X.length===0?I.prepend([new Qe(P.goal.replace(new H("=",[y.args[1].args[0],y.args[0]],P)),P.substitution,P)]):I.prepend([new Qe(P.goal.replace(new H("=",[new H(y.args[1].args[0].id,X),y.args[0]])),P.substitution,P)])}}else{if(x.type.is_atomic(y.args[0]))F=new H(".",[y.args[0],new H("[]")]);else{F=new H("[]");for(var J=y.args[0].args.length-1;J>=0;J--)F=new H(".",[y.args[0].args[J],F]);F=new H(".",[new H(y.args[0].id),F])}I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"copy_term/2":function(I,P,y){var F=y.args[0].rename(I);I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P.parent)])},"term_variables/2":function(I,P,y){var F=y.args[0],J=y.args[1];if(!x.type.is_fully_list(J))I.throw_error(x.error.type("list",J,y.indicator));else{var X=g(o(Ce(F.variables()),function($){return new me($)}));I.prepend([new Qe(P.goal.replace(new H("=",[J,X])),P.substitution,P)])}},"clause/2":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_callable(y.args[1]))I.throw_error(x.error.type("callable",y.args[1],y.indicator));else if(I.session.rules[y.args[0].indicator]!==void 0)if(I.is_public_predicate(y.args[0].indicator)){var F=[];for(var J in I.session.rules[y.args[0].indicator])if(!!I.session.rules[y.args[0].indicator].hasOwnProperty(J)){var X=I.session.rules[y.args[0].indicator][J];I.session.renamed_variables={},X=X.rename(I),X.body===null&&(X.body=new H("true"));var $=new H(",",[new H("=",[X.head,y.args[0]]),new H("=",[X.body,y.args[1]])]);F.push(new Qe(P.goal.replace($),P.substitution,P))}I.prepend(F)}else I.throw_error(x.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(I,P,y){var F=y.args[0];if(!x.type.is_variable(F)&&(!x.type.is_compound(F)||F.indicator!=="//2"))I.throw_error(x.error.type("predicate_indicator",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[0])&&!x.type.is_atom(F.args[0]))I.throw_error(x.error.type("atom",F.args[0],y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_variable(F.args[1])&&!x.type.is_integer(F.args[1]))I.throw_error(x.error.type("integer",F.args[1],y.indicator));else{var J=[];for(var X in I.session.rules)if(!!I.session.rules.hasOwnProperty(X)){var $=X.lastIndexOf("/"),ie=X.substr(0,$),ke=parseInt(X.substr($+1,X.length-($+1))),Ne=new H("/",[new H(ie),new be(ke,!1)]),st=new H("=",[Ne,F]);J.push(new Qe(P.goal.replace(st),P.substitution,P))}I.prepend(J)}},"asserta/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,J;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],J=Pe(y.args[0].args[1])):(F=y.args[0],J=null),x.type.is_callable(F)?J!==null&&!x.type.is_callable(J)?I.throw_error(x.error.type("callable",J,y.indicator)):I.is_public_predicate(F.indicator)?(I.session.rules[F.indicator]===void 0&&(I.session.rules[F.indicator]=[]),I.session.public_predicates[F.indicator]=!0,I.session.rules[F.indicator]=[new _e(F,J,!0)].concat(I.session.rules[F.indicator]),I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):I.throw_error(x.error.type("callable",F,y.indicator))}},"assertz/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,J;y.args[0].indicator===":-/2"?(F=y.args[0].args[0],J=Pe(y.args[0].args[1])):(F=y.args[0],J=null),x.type.is_callable(F)?J!==null&&!x.type.is_callable(J)?I.throw_error(x.error.type("callable",J,y.indicator)):I.is_public_predicate(F.indicator)?(I.session.rules[F.indicator]===void 0&&(I.session.rules[F.indicator]=[]),I.session.public_predicates[F.indicator]=!0,I.session.rules[F.indicator].push(new _e(F,J,!0)),I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator)):I.throw_error(x.error.type("callable",F,y.indicator))}},"retract/1":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_callable(y.args[0]))I.throw_error(x.error.type("callable",y.args[0],y.indicator));else{var F,J;if(y.args[0].indicator===":-/2"?(F=y.args[0].args[0],J=y.args[0].args[1]):(F=y.args[0],J=new H("true")),typeof P.retract>"u")if(I.is_public_predicate(F.indicator)){if(I.session.rules[F.indicator]!==void 0){for(var X=[],$=0;$<I.session.rules[F.indicator].length;$++){I.session.renamed_variables={};var ie=I.session.rules[F.indicator][$],ke=ie.rename(I);ke.body===null&&(ke.body=new H("true",[]));var Ne=I.get_flag("occurs_check").indicator==="true/0",st=x.unify(new H(",",[F,J]),new H(",",[ke.head,ke.body]),Ne);if(st!==null){var ht=new Qe(P.goal.replace(new H(",",[new H("retract",[new H(":-",[F,J])]),new H(",",[new H("=",[F,ke.head]),new H("=",[J,ke.body])])])),P.substitution,P);ht.retract=ie,X.push(ht)}}I.prepend(X)}}else I.throw_error(x.error.permission("modify","static_procedure",F.indicator,y.indicator));else de(I,P,F.indicator,P.retract)}},"retractall/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_callable(F)?I.prepend([new Qe(P.goal.replace(new H(",",[new H("retract",[new x.type.Term(":-",[F,new me("_")])]),new H("fail",[])])),P.substitution,P),new Qe(P.goal.replace(null),P.substitution,P)]):I.throw_error(x.error.type("callable",F,y.indicator))},"abolish/1":function(I,P,y){if(x.type.is_variable(y.args[0])||x.type.is_term(y.args[0])&&y.args[0].indicator==="//2"&&(x.type.is_variable(y.args[0].args[0])||x.type.is_variable(y.args[0].args[1])))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_term(y.args[0])||y.args[0].indicator!=="//2")I.throw_error(x.error.type("predicate_indicator",y.args[0],y.indicator));else if(!x.type.is_atom(y.args[0].args[0]))I.throw_error(x.error.type("atom",y.args[0].args[0],y.indicator));else if(!x.type.is_integer(y.args[0].args[1]))I.throw_error(x.error.type("integer",y.args[0].args[1],y.indicator));else if(y.args[0].args[1].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[0].args[1],y.indicator));else if(x.type.is_number(I.get_flag("max_arity"))&&y.args[0].args[1].value>I.get_flag("max_arity").value)I.throw_error(x.error.representation("max_arity",y.indicator));else{var F=y.args[0].args[0].id+"/"+y.args[0].args[1].value;I.is_public_predicate(F)?(delete I.session.rules[F],I.success(P)):I.throw_error(x.error.permission("modify","static_procedure",F,y.indicator))}},"atom_length/2":function(I,P,y){if(x.type.is_variable(y.args[0]))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_atom(y.args[0]))I.throw_error(x.error.type("atom",y.args[0],y.indicator));else if(!x.type.is_variable(y.args[1])&&!x.type.is_integer(y.args[1]))I.throw_error(x.error.type("integer",y.args[1],y.indicator));else if(x.type.is_integer(y.args[1])&&y.args[1].value<0)I.throw_error(x.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var F=new be(y.args[0].id.length,!1);I.prepend([new Qe(P.goal.replace(new H("=",[F,y.args[1]])),P.substitution,P)])}},"atom_concat/3":function(I,P,y){var F,J,X=y.args[0],$=y.args[1],ie=y.args[2];if(x.type.is_variable(ie)&&(x.type.is_variable(X)||x.type.is_variable($)))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))I.throw_error(x.error.type("atom",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_atom($))I.throw_error(x.error.type("atom",$,y.indicator));else if(!x.type.is_variable(ie)&&!x.type.is_atom(ie))I.throw_error(x.error.type("atom",ie,y.indicator));else{var ke=x.type.is_variable(X),Ne=x.type.is_variable($);if(!ke&&!Ne)J=new H("=",[ie,new H(X.id+$.id)]),I.prepend([new Qe(P.goal.replace(J),P.substitution,P)]);else if(ke&&!Ne)F=ie.id.substr(0,ie.id.length-$.id.length),F+$.id===ie.id&&(J=new H("=",[X,new H(F)]),I.prepend([new Qe(P.goal.replace(J),P.substitution,P)]));else if(Ne&&!ke)F=ie.id.substr(X.id.length),X.id+F===ie.id&&(J=new H("=",[$,new H(F)]),I.prepend([new Qe(P.goal.replace(J),P.substitution,P)]));else{for(var st=[],ht=0;ht<=ie.id.length;ht++){var Ut=new H(ie.id.substr(0,ht)),Xt=new H(ie.id.substr(ht));J=new H(",",[new H("=",[Ut,X]),new H("=",[Xt,$])]),st.push(new Qe(P.goal.replace(J),P.substitution,P))}I.prepend(st)}}},"sub_atom/5":function(I,P,y){var F,J=y.args[0],X=y.args[1],$=y.args[2],ie=y.args[3],ke=y.args[4];if(x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))I.throw_error(x.error.type("integer",X,y.indicator));else if(!x.type.is_variable($)&&!x.type.is_integer($))I.throw_error(x.error.type("integer",$,y.indicator));else if(!x.type.is_variable(ie)&&!x.type.is_integer(ie))I.throw_error(x.error.type("integer",ie,y.indicator));else if(x.type.is_integer(X)&&X.value<0)I.throw_error(x.error.domain("not_less_than_zero",X,y.indicator));else if(x.type.is_integer($)&&$.value<0)I.throw_error(x.error.domain("not_less_than_zero",$,y.indicator));else if(x.type.is_integer(ie)&&ie.value<0)I.throw_error(x.error.domain("not_less_than_zero",ie,y.indicator));else{var Ne=[],st=[],ht=[];if(x.type.is_variable(X))for(F=0;F<=J.id.length;F++)Ne.push(F);else Ne.push(X.value);if(x.type.is_variable($))for(F=0;F<=J.id.length;F++)st.push(F);else st.push($.value);if(x.type.is_variable(ie))for(F=0;F<=J.id.length;F++)ht.push(F);else ht.push(ie.value);var Ut=[];for(var Xt in Ne)if(!!Ne.hasOwnProperty(Xt)){F=Ne[Xt];for(var Pt in st)if(!!st.hasOwnProperty(Pt)){var tn=st[Pt],Dr=J.id.length-F-tn;if(e(ht,Dr)!==-1&&F+tn+Dr===J.id.length){var fr=J.id.substr(F,tn);if(J.id===J.id.substr(0,F)+fr+J.id.substr(F+tn,Dr)){var Br=new H("=",[new H(fr),ke]),jr=new H("=",[X,new be(F)]),Hn=new H("=",[$,new be(tn)]),bs=new H("=",[ie,new be(Dr)]),ki=new H(",",[new H(",",[new H(",",[jr,Hn]),bs]),Br]);Ut.push(new Qe(P.goal.replace(ki),P.substitution,P))}}}}I.prepend(Ut)}},"atom_chars/2":function(I,P,y){var F=y.args[0],J=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var ie=J,ke=x.type.is_variable(F),Ne="";ie.indicator==="./2";){if(x.type.is_character(ie.args[0]))Ne+=ie.args[0].id;else if(x.type.is_variable(ie.args[0])&&ke){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}x.type.is_variable(ie)&&ke?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)?I.throw_error(x.error.type("list",J,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[new H(Ne),F])),P.substitution,P)])}else{for(var X=new H("[]"),$=F.id.length-1;$>=0;$--)X=new H(".",[new H(F.id.charAt($)),X]);I.prepend([new Qe(P.goal.replace(new H("=",[J,X])),P.substitution,P)])}},"atom_codes/2":function(I,P,y){var F=y.args[0],J=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_variable(F)){for(var ie=J,ke=x.type.is_variable(F),Ne="";ie.indicator==="./2";){if(x.type.is_character_code(ie.args[0]))Ne+=u(ie.args[0].value);else if(x.type.is_variable(ie.args[0])&&ke){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.representation("character_code",y.indicator));return}ie=ie.args[1]}x.type.is_variable(ie)&&ke?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)?I.throw_error(x.error.type("list",J,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[new H(Ne),F])),P.substitution,P)])}else{for(var X=new H("[]"),$=F.id.length-1;$>=0;$--)X=new H(".",[new be(n(F.id,$),!1),X]);I.prepend([new Qe(P.goal.replace(new H("=",[J,X])),P.substitution,P)])}},"char_code/2":function(I,P,y){var F=y.args[0],J=y.args[1];if(x.type.is_variable(F)&&x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_character(F))I.throw_error(x.error.type("character",F,y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_integer(J))I.throw_error(x.error.type("integer",J,y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_character_code(J))I.throw_error(x.error.representation("character_code",y.indicator));else if(x.type.is_variable(J)){var X=new be(n(F.id,0),!1);I.prepend([new Qe(P.goal.replace(new H("=",[X,J])),P.substitution,P)])}else{var $=new H(u(J.value));I.prepend([new Qe(P.goal.replace(new H("=",[$,F])),P.substitution,P)])}},"number_chars/2":function(I,P,y){var F,J=y.args[0],X=y.args[1];if(x.type.is_variable(J)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_number(J))I.throw_error(x.error.type("number",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=x.type.is_variable(J);if(!x.type.is_variable(X)){var ie=X,ke=!0;for(F="";ie.indicator==="./2";){if(x.type.is_character(ie.args[0]))F+=ie.args[0].id;else if(x.type.is_variable(ie.args[0]))ke=!1;else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}if(ke=ke&&x.type.is_empty_list(ie),!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)){I.throw_error(x.error.type("list",X,y.indicator));return}if(!ke&&$){I.throw_error(x.error.instantiation(y.indicator));return}else if(ke)if(x.type.is_variable(ie)&&$){I.throw_error(x.error.instantiation(y.indicator));return}else{var Ne=I.parse(F),st=Ne.value;!x.type.is_number(st)||Ne.tokens[Ne.tokens.length-1].space?I.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[J,st])),P.substitution,P)]);return}}if(!$){F=J.toString();for(var ht=new H("[]"),Ut=F.length-1;Ut>=0;Ut--)ht=new H(".",[new H(F.charAt(Ut)),ht]);I.prepend([new Qe(P.goal.replace(new H("=",[X,ht])),P.substitution,P)])}}},"number_codes/2":function(I,P,y){var F,J=y.args[0],X=y.args[1];if(x.type.is_variable(J)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_number(J))I.throw_error(x.error.type("number",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else{var $=x.type.is_variable(J);if(!x.type.is_variable(X)){var ie=X,ke=!0;for(F="";ie.indicator==="./2";){if(x.type.is_character_code(ie.args[0]))F+=u(ie.args[0].value);else if(x.type.is_variable(ie.args[0]))ke=!1;else if(!x.type.is_variable(ie.args[0])){I.throw_error(x.error.type("character_code",ie.args[0],y.indicator));return}ie=ie.args[1]}if(ke=ke&&x.type.is_empty_list(ie),!x.type.is_empty_list(ie)&&!x.type.is_variable(ie)){I.throw_error(x.error.type("list",X,y.indicator));return}if(!ke&&$){I.throw_error(x.error.instantiation(y.indicator));return}else if(ke)if(x.type.is_variable(ie)&&$){I.throw_error(x.error.instantiation(y.indicator));return}else{var Ne=I.parse(F),st=Ne.value;!x.type.is_number(st)||Ne.tokens[Ne.tokens.length-1].space?I.throw_error(x.error.syntax_by_predicate("parseable_number",y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[J,st])),P.substitution,P)]);return}}if(!$){F=J.toString();for(var ht=new H("[]"),Ut=F.length-1;Ut>=0;Ut--)ht=new H(".",[new be(n(F,Ut),!1),ht]);I.prepend([new Qe(P.goal.replace(new H("=",[X,ht])),P.substitution,P)])}}},"upcase_atom/2":function(I,P,y){var F=y.args[0],J=y.args[1];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(J)&&!x.type.is_atom(J)?I.throw_error(x.error.type("atom",J,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[J,new H(F.id.toUpperCase(),[])])),P.substitution,P)]):I.throw_error(x.error.type("atom",F,y.indicator))},"downcase_atom/2":function(I,P,y){var F=y.args[0],J=y.args[1];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?!x.type.is_variable(J)&&!x.type.is_atom(J)?I.throw_error(x.error.type("atom",J,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[J,new H(F.id.toLowerCase(),[])])),P.substitution,P)]):I.throw_error(x.error.type("atom",F,y.indicator))},"atomic_list_concat/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("atomic_list_concat",[F,new H("",[]),J])),P.substitution,P)])},"atomic_list_concat/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2];if(x.type.is_variable(J)||x.type.is_variable(F)&&x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_list(F))I.throw_error(x.error.type("list",F,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_atom(X))I.throw_error(x.error.type("atom",X,y.indicator));else if(x.type.is_variable(X)){for(var ie="",ke=F;x.type.is_term(ke)&&ke.indicator==="./2";){if(!x.type.is_atom(ke.args[0])&&!x.type.is_number(ke.args[0])){I.throw_error(x.error.type("atomic",ke.args[0],y.indicator));return}ie!==""&&(ie+=J.id),x.type.is_atom(ke.args[0])?ie+=ke.args[0].id:ie+=""+ke.args[0].value,ke=ke.args[1]}ie=new H(ie,[]),x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_term(ke)||ke.indicator!=="[]/0"?I.throw_error(x.error.type("list",F,y.indicator)):I.prepend([new Qe(P.goal.replace(new H("=",[ie,X])),P.substitution,P)])}else{var $=g(o(X.id.split(J.id),function(Ne){return new H(Ne,[])}));I.prepend([new Qe(P.goal.replace(new H("=",[$,F])),P.substitution,P)])}},"@=</2":function(I,P,y){x.compare(y.args[0],y.args[1])<=0&&I.success(P)},"==/2":function(I,P,y){x.compare(y.args[0],y.args[1])===0&&I.success(P)},"\\==/2":function(I,P,y){x.compare(y.args[0],y.args[1])!==0&&I.success(P)},"@</2":function(I,P,y){x.compare(y.args[0],y.args[1])<0&&I.success(P)},"@>/2":function(I,P,y){x.compare(y.args[0],y.args[1])>0&&I.success(P)},"@>=/2":function(I,P,y){x.compare(y.args[0],y.args[1])>=0&&I.success(P)},"compare/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2];if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(x.type.is_atom(F)&&["<",">","="].indexOf(F.id)===-1)I.throw_error(x.type.domain("order",F,y.indicator));else{var $=x.compare(J,X);$=$===0?"=":$===-1?"<":">",I.prepend([new Qe(P.goal.replace(new H("=",[F,new H($,[])])),P.substitution,P)])}},"is/2":function(I,P,y){var F=y.args[1].interpret(I);x.type.is_number(F)?I.prepend([new Qe(P.goal.replace(new H("=",[y.args[0],F],I.level)),P.substitution,P)]):I.throw_error(F)},"between/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2];if(x.type.is_variable(F)||x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_integer(F))I.throw_error(x.error.type("integer",F,y.indicator));else if(!x.type.is_integer(J))I.throw_error(x.error.type("integer",J,y.indicator));else if(!x.type.is_variable(X)&&!x.type.is_integer(X))I.throw_error(x.error.type("integer",X,y.indicator));else if(x.type.is_variable(X)){var $=[new Qe(P.goal.replace(new H("=",[X,F])),P.substitution,P)];F.value<J.value&&$.push(new Qe(P.goal.replace(new H("between",[new be(F.value+1,!1),J,X])),P.substitution,P)),I.prepend($)}else F.value<=X.value&&J.value>=X.value&&I.success(P)},"succ/2":function(I,P,y){var F=y.args[0],J=y.args[1];x.type.is_variable(F)&&x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_integer(F)?I.throw_error(x.error.type("integer",F,y.indicator)):!x.type.is_variable(J)&&!x.type.is_integer(J)?I.throw_error(x.error.type("integer",J,y.indicator)):!x.type.is_variable(F)&&F.value<0?I.throw_error(x.error.domain("not_less_than_zero",F,y.indicator)):!x.type.is_variable(J)&&J.value<0?I.throw_error(x.error.domain("not_less_than_zero",J,y.indicator)):(x.type.is_variable(J)||J.value>0)&&(x.type.is_variable(F)?I.prepend([new Qe(P.goal.replace(new H("=",[F,new be(J.value-1,!1)])),P.substitution,P)]):I.prepend([new Qe(P.goal.replace(new H("=",[J,new be(F.value+1,!1)])),P.substitution,P)]))},"=:=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F===0&&I.success(P)},"=\\=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F!==0&&I.success(P)},"</2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F<0&&I.success(P)},"=</2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F<=0&&I.success(P)},">/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F>0&&I.success(P)},">=/2":function(I,P,y){var F=x.arithmetic_compare(I,y.args[0],y.args[1]);x.type.is_term(F)?I.throw_error(F):F>=0&&I.success(P)},"var/1":function(I,P,y){x.type.is_variable(y.args[0])&&I.success(P)},"atom/1":function(I,P,y){x.type.is_atom(y.args[0])&&I.success(P)},"atomic/1":function(I,P,y){x.type.is_atomic(y.args[0])&&I.success(P)},"compound/1":function(I,P,y){x.type.is_compound(y.args[0])&&I.success(P)},"integer/1":function(I,P,y){x.type.is_integer(y.args[0])&&I.success(P)},"float/1":function(I,P,y){x.type.is_float(y.args[0])&&I.success(P)},"number/1":function(I,P,y){x.type.is_number(y.args[0])&&I.success(P)},"nonvar/1":function(I,P,y){x.type.is_variable(y.args[0])||I.success(P)},"ground/1":function(I,P,y){y.variables().length===0&&I.success(P)},"acyclic_term/1":function(I,P,y){for(var F=P.substitution.apply(P.substitution),J=y.args[0].variables(),X=0;X<J.length;X++)if(P.substitution.links[J[X]]!==void 0&&!P.substitution.links[J[X]].equals(F.links[J[X]]))return;I.success(P)},"callable/1":function(I,P,y){x.type.is_callable(y.args[0])&&I.success(P)},"is_list/1":function(I,P,y){for(var F=y.args[0];x.type.is_term(F)&&F.indicator==="./2";)F=F.args[1];x.type.is_term(F)&&F.indicator==="[]/0"&&I.success(P)},"current_input/1":function(I,P,y){var F=y.args[0];!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream",F,y.indicator)):(x.type.is_atom(F)&&I.get_stream_by_alias(F.id)&&(F=I.get_stream_by_alias(F.id)),I.prepend([new Qe(P.goal.replace(new H("=",[F,I.get_current_input()])),P.substitution,P)]))},"current_output/1":function(I,P,y){var F=y.args[0];!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):(x.type.is_atom(F)&&I.get_stream_by_alias(F.id)&&(F=I.get_stream_by_alias(F.id)),I.prepend([new Qe(P.goal.replace(new H("=",[F,I.get_current_output()])),P.substitution,P)]))},"set_input/1":function(I,P,y){var F=y.args[0],J=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):x.type.is_stream(J)?J.output===!0?I.throw_error(x.error.permission("input","stream",F,y.indicator)):(I.set_current_input(J),I.success(P)):I.throw_error(x.error.existence("stream",F,y.indicator))},"set_output/1":function(I,P,y){var F=y.args[0],J=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):x.type.is_stream(J)?J.input===!0?I.throw_error(x.error.permission("output","stream",F,y.indicator)):(I.set_current_output(J),I.success(P)):I.throw_error(x.error.existence("stream",F,y.indicator))},"open/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2];I.prepend([new Qe(P.goal.replace(new H("open",[F,J,X,new H("[]",[])])),P.substitution,P)])},"open/4":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2],$=y.args[3];if(x.type.is_variable(F)||x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_atom(J))I.throw_error(x.error.type("atom",J,y.indicator));else if(!x.type.is_list($))I.throw_error(x.error.type("list",$,y.indicator));else if(!x.type.is_variable(X))I.throw_error(x.error.type("variable",X,y.indicator));else if(!x.type.is_atom(F)&&!x.type.is_streamable(F))I.throw_error(x.error.domain("source_sink",F,y.indicator));else if(!x.type.is_io_mode(J))I.throw_error(x.error.domain("io_mode",J,y.indicator));else{for(var ie={},ke=$,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_stream_option(Ne)){I.throw_error(x.error.domain("stream_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0].id,ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",$,y.indicator));return}else{var st=ie.alias;if(st&&I.get_stream_by_alias(st)){I.throw_error(x.error.permission("open","source_sink",new H("alias",[new H(st,[])]),y.indicator));return}ie.type||(ie.type="text");var ht;if(x.type.is_atom(F)?ht=I.file_system_open(F.id,ie.type,J.id):ht=F.stream(ie.type,J.id),ht===!1){I.throw_error(x.error.permission("open","source_sink",F,y.indicator));return}else if(ht===null){I.throw_error(x.error.existence("source_sink",F,y.indicator));return}var Ut=new Me(ht,J.id,ie.alias,ie.type,ie.reposition==="true",ie.eof_action);st?I.session.streams[st]=Ut:I.session.streams[Ut.id]=Ut,I.prepend([new Qe(P.goal.replace(new H("=",[X,Ut])),P.substitution,P)])}}},"close/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H("close",[F,new H("[]",[])])),P.substitution,P)])},"close/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(J))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(J))I.throw_error(x.error.type("list",J,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else{for(var $={},ie=J,ke;x.type.is_term(ie)&&ie.indicator==="./2";){if(ke=ie.args[0],x.type.is_variable(ke)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_close_option(ke)){I.throw_error(x.error.domain("close_option",ke,y.indicator));return}$[ke.id]=ke.args[0].id==="true",ie=ie.args[1]}if(ie.indicator!=="[]/0"){x.type.is_variable(ie)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",J,y.indicator));return}else{if(X===I.session.standard_input||X===I.session.standard_output){I.success(P);return}else X===I.session.current_input?I.session.current_input=I.session.standard_input:X===I.session.current_output&&(I.session.current_output=I.session.current_output);X.alias!==null?delete I.session.streams[X.alias]:delete I.session.streams[X.id],X.output&&X.stream.flush();var Ne=X.stream.close();X.stream=null,($.force===!0||Ne===!0)&&I.success(P)}}},"flush_output/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("flush_output",[new me("S")])])),P.substitution,P)])},"flush_output/1":function(I,P,y){var F=y.args[0],J=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(J)||J.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):F.input===!0?I.throw_error(x.error.permission("output","stream",output,y.indicator)):(J.stream.flush(),I.success(P))},"stream_property/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_variable(F)&&(!x.type.is_stream(X)||X.stream===null))I.throw_error(x.error.existence("stream",F,y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_stream_property(J))I.throw_error(x.error.domain("stream_property",J,y.indicator));else{var $=[],ie=[];if(!x.type.is_variable(F))$.push(X);else for(var ke in I.session.streams)$.push(I.session.streams[ke]);for(var Ne=0;Ne<$.length;Ne++){var st=[];$[Ne].filename&&st.push(new H("file_name",[new H($[Ne].file_name,[])])),st.push(new H("mode",[new H($[Ne].mode,[])])),st.push(new H($[Ne].input?"input":"output",[])),$[Ne].alias&&st.push(new H("alias",[new H($[Ne].alias,[])])),st.push(new H("position",[typeof $[Ne].position=="number"?new be($[Ne].position,!1):new H($[Ne].position,[])])),st.push(new H("end_of_stream",[new H($[Ne].position==="end_of_stream"?"at":$[Ne].position==="past_end_of_stream"?"past":"not",[])])),st.push(new H("eof_action",[new H($[Ne].eof_action,[])])),st.push(new H("reposition",[new H($[Ne].reposition?"true":"false",[])])),st.push(new H("type",[new H($[Ne].type,[])]));for(var ht=0;ht<st.length;ht++)ie.push(new Qe(P.goal.replace(new H(",",[new H("=",[x.type.is_variable(F)?F:X,$[Ne]]),new H("=",[J,st[ht]])])),P.substitution,P))}I.prepend(ie)}},"at_end_of_stream/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H(",",[new H("stream_property",[new me("S"),new H("end_of_stream",[new me("E")])]),new H(",",[new H("!",[]),new H(";",[new H("=",[new me("E"),new H("at",[])]),new H("=",[new me("E"),new H("past",[])])])])])])),P.substitution,P)])},"at_end_of_stream/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("stream_property",[F,new H("end_of_stream",[new me("E")])]),new H(",",[new H("!",[]),new H(";",[new H("=",[new me("E"),new H("at",[])]),new H("=",[new me("E"),new H("past",[])])])])])),P.substitution,P)])},"set_stream_position/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):x.type.is_stream_position(J)?X.reposition===!1?I.throw_error(x.error.permission("reposition","stream",F,y.indicator)):(x.type.is_integer(J)?X.position=J.value:X.position=J.id,I.success(P)):I.throw_error(x.error.domain("stream_position",J,y.indicator))},"get_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_char",[new me("S"),F])])),P.substitution,P)])},"get_char/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_character(J))I.throw_error(x.error.type("in_character",J,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new H($,[]),J])),P.substitution,P)])}},"get_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_code",[new me("S"),F])])),P.substitution,P)])},"get_code/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_integer(J))I.throw_error(x.error.type("integer",char,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$=-1,X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}$=n($,0),X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),J])),P.substitution,P)])}},"peek_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_char",[new me("S"),F])])),P.substitution,P)])},"peek_char/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_character(J))I.throw_error(x.error.type("in_character",J,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}I.prepend([new Qe(P.goal.replace(new H("=",[new H($,[]),J])),P.substitution,P)])}},"peek_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_code",[new me("S"),F])])),P.substitution,P)])},"peek_code/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_integer(J))I.throw_error(x.error.type("integer",char,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$=-1,X.position="past_end_of_stream";else{if($=X.stream.get(1,X.position),$===null){I.throw_error(x.error.representation("character",y.indicator));return}$=n($,0)}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),J])),P.substitution,P)])}},"put_char/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_char",[new me("S"),F])])),P.substitution,P)])},"put_char/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_character(J)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="binary"?I.throw_error(x.error.permission("output","binary_stream",F,y.indicator)):X.stream.put(J.id,X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.type("character",J,y.indicator))},"put_code/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_code",[new me("S"),F])])),P.substitution,P)])},"put_code/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(J)?x.type.is_character_code(J)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="binary"?I.throw_error(x.error.permission("output","binary_stream",F,y.indicator)):X.stream.put_char(u(J.value),X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.representation("character_code",y.indicator)):I.throw_error(x.error.type("integer",J,y.indicator))},"nl/0":function(I,P,y){I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_char",[new me("S"),new H(` |
265 | `,[])])])),P.substitution,P)])},"nl/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H("put_char",[F,new H(` | 265 | `,[])])])),P.substitution,P)])},"nl/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H("put_char",[F,new H(` |
266 | `,[])])),P.substitution,P)])},"get_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_byte",[new me("S"),F])])),P.substitution,P)])},"get_byte/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_byte(z))I.throw_error(x.error.type("in_byte",char,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="text")I.throw_error(x.error.permission("input","text_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else{if($=X.stream.get_byte(X.position),$===null){I.throw_error(x.error.representation("byte",y.indicator));return}X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),z])),P.substitution,P)])}},"peek_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_byte",[new me("S"),F])])),P.substitution,P)])},"peek_byte/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(z)&&!x.type.is_byte(z))I.throw_error(x.error.type("in_byte",char,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="text")I.throw_error(x.error.permission("input","text_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else if($=X.stream.get_byte(X.position),$===null){I.throw_error(x.error.representation("byte",y.indicator));return}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),z])),P.substitution,P)])}},"put_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_byte",[new me("S"),F])])),P.substitution,P)])},"put_byte/2":function(I,P,y){var F=y.args[0],z=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_byte(z)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="text"?I.throw_error(x.error.permission("output","text_stream",F,y.indicator)):X.stream.put_byte(z.value,X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.type("byte",z,y.indicator))},"read/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("read_term",[new me("S"),F,new H("[]",[])])])),P.substitution,P)])},"read/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("read_term",[F,z,new H("[]",[])])),P.substitution,P)])},"read_term/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("read_term",[new me("S"),F,z])])),P.substitution,P)])},"read_term/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],$=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream($)||$.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if($.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if($.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{for(var ie={},ke=X,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_read_option(Ne)){I.throw_error(x.error.domain("read_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0],ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",X,y.indicator));return}else{for(var st,ht,Ut,Xt="",Pt=[],tn=null;tn===null||tn.name!=="atom"||tn.value!=="."||Ut.type===A&&x.flatten_error(new H("throw",[Ut.value])).found==="token_not_found";){if(st=$.stream.get(1,$.position),st===null){I.throw_error(x.error.representation("character",y.indicator));return}if(st==="end_of_file"||st==="past_end_of_file"){Ut?I.throw_error(x.error.syntax(Pt[Ut.len-1],". or expression expected",!1)):I.throw_error(x.error.syntax(null,"token not found",!0));return}$.position++,Xt+=st,ht=new _(I),ht.new_text(Xt),Pt=ht.get_tokens(),tn=Pt!==null&&Pt.length>0?Pt[Pt.length-1]:null,Pt!==null&&(Ut=J(I,Pt,0,I.__get_max_priority(),!1))}if(Ut.type===p&&Ut.len===Pt.length-1&&tn.value==="."){Ut=Ut.value.rename(I);var Dr=new H("=",[z,Ut]);if(ie.variables){var fr=g(o(Ee(Ut.variables()),function(Br){return new me(Br)}));Dr=new H(",",[Dr,new H("=",[ie.variables,fr])])}if(ie.variable_names){var fr=g(o(Ee(Ut.variables()),function(jr){var Hn;for(Hn in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty(Hn)&&I.session.renamed_variables[Hn]===jr)break;return new H("=",[new H(Hn,[]),new me(jr)])}));Dr=new H(",",[Dr,new H("=",[ie.variable_names,fr])])}if(ie.singletons){var fr=g(o(new Ue(Ut,null).singleton_variables(),function(jr){var Hn;for(Hn in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty(Hn)&&I.session.renamed_variables[Hn]===jr)break;return new H("=",[new H(Hn,[]),new me(jr)])}));Dr=new H(",",[Dr,new H("=",[ie.singletons,fr])])}I.prepend([new Qe(P.goal.replace(Dr),P.substitution,P)])}else Ut.type===p?I.throw_error(x.error.syntax(Pt[Ut.len],"unexpected token",!1)):I.throw_error(Ut.value)}}},"write/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write",[new me("S"),F])])),P.substitution,P)])},"write/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("false",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"writeq/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("writeq",[new me("S"),F])])),P.substitution,P)])},"writeq/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"write_canonical/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write_canonical",[new me("S"),F])])),P.substitution,P)])},"write_canonical/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,z,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("true")]),new H(".",[new H("numbervars",[new H("false")]),new H("[]",[])])])])])),P.substitution,P)])},"write_term/2":function(I,P,y){var F=y.args[0],z=y.args[1];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write_term",[new me("S"),F,z])])),P.substitution,P)])},"write_term/3":function(I,P,y){var F=y.args[0],z=y.args[1],X=y.args[2],$=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream($)||$.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if($.input)I.throw_error(x.error.permission("output","stream",F,y.indicator));else if($.type==="binary")I.throw_error(x.error.permission("output","binary_stream",F,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")I.throw_error(x.error.permission("output","past_end_of_stream",F,y.indicator));else{for(var ie={},ke=X,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_write_option(Ne)){I.throw_error(x.error.domain("write_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0].id==="true",ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",X,y.indicator));return}else{ie.session=I.session;var st=z.toString(ie);$.stream.put(st,$.position),typeof $.position=="number"&&($.position+=st.length),I.success(P)}}},"halt/0":function(I,P,y){I.points=[]},"halt/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(F)?I.points=[]:I.throw_error(x.error.type("integer",F,y.indicator))},"current_prolog_flag/2":function(I,P,y){var F=y.args[0],z=y.args[1];if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_flag(F))I.throw_error(x.error.domain("prolog_flag",F,y.indicator));else{var X=[];for(var $ in x.flag)if(!!x.flag.hasOwnProperty($)){var ie=new H(",",[new H("=",[new H($),F]),new H("=",[I.get_flag($),z])]);X.push(new Qe(P.goal.replace(ie),P.substitution,P))}I.prepend(X)}},"set_prolog_flag/2":function(I,P,y){var F=y.args[0],z=y.args[1];x.type.is_variable(F)||x.type.is_variable(z)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?x.type.is_flag(F)?x.type.is_value_flag(F,z)?x.type.is_modifiable_flag(F)?(I.session.flag[F.id]=z,I.success(P)):I.throw_error(x.error.permission("modify","flag",F)):I.throw_error(x.error.domain("flag_value",new H("+",[F,z]),y.indicator)):I.throw_error(x.error.domain("prolog_flag",F,y.indicator)):I.throw_error(x.error.type("atom",F,y.indicator))}},flag:{bounded:{allowed:[new H("true"),new H("false")],value:new H("true"),changeable:!1},max_integer:{allowed:[new be(Number.MAX_SAFE_INTEGER)],value:new be(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new be(Number.MIN_SAFE_INTEGER)],value:new be(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new H("down"),new H("toward_zero")],value:new H("toward_zero"),changeable:!1},char_conversion:{allowed:[new H("on"),new H("off")],value:new H("on"),changeable:!0},debug:{allowed:[new H("on"),new H("off")],value:new H("off"),changeable:!0},max_arity:{allowed:[new H("unbounded")],value:new H("unbounded"),changeable:!1},unknown:{allowed:[new H("error"),new H("fail"),new H("warning")],value:new H("error"),changeable:!0},double_quotes:{allowed:[new H("chars"),new H("codes"),new H("atom")],value:new H("codes"),changeable:!0},occurs_check:{allowed:[new H("false"),new H("true")],value:new H("false"),changeable:!0},dialect:{allowed:[new H("tau")],value:new H("tau"),changeable:!1},version_data:{allowed:[new H("tau",[new be(t.major,!1),new be(t.minor,!1),new be(t.patch,!1),new H(t.status)])],value:new H("tau",[new be(t.major,!1),new be(t.minor,!1),new be(t.patch,!1),new H(t.status)]),changeable:!1},nodejs:{allowed:[new H("yes"),new H("no")],value:new H(typeof pl<"u"&&pl.exports?"yes":"no"),changeable:!1}},unify:function(I,P,y){y=y===void 0?!1:y;for(var F=[{left:I,right:P}],z={};F.length!==0;){var X=F.pop();if(I=X.left,P=X.right,x.type.is_term(I)&&x.type.is_term(P)){if(I.indicator!==P.indicator)return null;for(var $=0;$<I.args.length;$++)F.push({left:I.args[$],right:P.args[$]})}else if(x.type.is_number(I)&&x.type.is_number(P)){if(I.value!==P.value||I.is_float!==P.is_float)return null}else if(x.type.is_variable(I)){if(x.type.is_variable(P)&&I.id===P.id)continue;if(y===!0&&P.variables().indexOf(I.id)!==-1)return null;if(I.id!=="_"){var ie=new Te;ie.add(I.id,P);for(var $=0;$<F.length;$++)F[$].left=F[$].left.apply(ie),F[$].right=F[$].right.apply(ie);for(var $ in z)z[$]=z[$].apply(ie);z[I.id]=P}}else if(x.type.is_variable(P))F.push({left:P,right:I});else if(I.unify!==void 0){if(!I.unify(P))return null}else return null}return new Te(z)},compare:function(I,P){var y=x.type.compare(I,P);return y!==0?y:I.compare(P)},arithmetic_compare:function(I,P,y){var F=P.interpret(I);if(x.type.is_number(F)){var z=y.interpret(I);return x.type.is_number(z)?F.value<z.value?-1:F.value>z.value?1:0:z}else return F},operate:function(I,P){if(x.type.is_operator(P)){for(var y=x.type.is_operator(P),F=[],z,X=!1,$=0;$<P.args.length;$++){if(z=P.args[$].interpret(I),x.type.is_number(z)){if(y.type_args!==null&&z.is_float!==y.type_args)return x.error.type(y.type_args?"float":"integer",z,I.__call_indicator);F.push(z.value)}else return z;X=X||z.is_float}return F.push(I),z=x.arithmetic.evaluation[P.indicator].fn.apply(this,F),X=y.type_result===null?X:y.type_result,x.type.is_term(z)?z:z===Number.POSITIVE_INFINITY||z===Number.NEGATIVE_INFINITY?x.error.evaluation("overflow",I.__call_indicator):X===!1&&I.get_flag("bounded").id==="true"&&(z>I.get_flag("max_integer").value||z<I.get_flag("min_integer").value)?x.error.evaluation("int_overflow",I.__call_indicator):new be(z,X)}else return x.error.type("evaluable",P.indicator,I.__call_indicator)},error:{existence:function(I,P,y){return typeof P=="string"&&(P=Z(P)),new H("error",[new H("existence_error",[new H(I),P]),Z(y)])},type:function(I,P,y){return new H("error",[new H("type_error",[new H(I),P]),Z(y)])},instantiation:function(I){return new H("error",[new H("instantiation_error"),Z(I)])},domain:function(I,P,y){return new H("error",[new H("domain_error",[new H(I),P]),Z(y)])},representation:function(I,P){return new H("error",[new H("representation_error",[new H(I)]),Z(P)])},permission:function(I,P,y,F){return new H("error",[new H("permission_error",[new H(I),new H(P),y]),Z(F)])},evaluation:function(I,P){return new H("error",[new H("evaluation_error",[new H(I)]),Z(P)])},syntax:function(I,P,y){I=I||{value:"",line:0,column:0,matches:[""],start:0};var F=y&&I.matches.length>0?I.start+I.matches[0].length:I.start,z=y?new H("token_not_found"):new H("found",[new H(I.value.toString())]),X=new H(".",[new H("line",[new be(I.line+1)]),new H(".",[new H("column",[new be(F+1)]),new H(".",[z,new H("[]",[])])])]);return new H("error",[new H("syntax_error",[new H(P)]),X])},syntax_by_predicate:function(I,P){return new H("error",[new H("syntax_error",[new H(I)]),Z(P)])}},warning:{singleton:function(I,P,y){for(var F=new H("[]"),z=I.length-1;z>=0;z--)F=new H(".",[new me(I[z]),F]);return new H("warning",[new H("singleton_variables",[F,Z(P)]),new H(".",[new H("line",[new be(y,!1)]),new H("[]")])])},failed_goal:function(I,P){return new H("warning",[new H("failed_goal",[I]),new H(".",[new H("line",[new be(P,!1)]),new H("[]")])])}},format_variable:function(I){return"_"+I},format_answer:function(I,P,F){P instanceof je&&(P=P.thread);var F=F||{};if(F.session=P?P.session:void 0,x.type.is_error(I))return"uncaught exception: "+I.args[0].toString();if(I===!1)return"false.";if(I===null)return"limit exceeded ;";var z=0,X="";if(x.type.is_substitution(I)){var $=I.domain(!0);I=I.filter(function(Ne,st){return!x.type.is_variable(st)||$.indexOf(st.id)!==-1&&Ne!==st.id})}for(var ie in I.links)!I.links.hasOwnProperty(ie)||(z++,X!==""&&(X+=", "),X+=ie.toString(F)+" = "+I.links[ie].toString(F));var ke=typeof P>"u"||P.points.length>0?" ;":".";return z===0?"true"+ke:X+ke},flatten_error:function(I){if(!x.type.is_error(I))return null;I=I.args[0];var P={};return P.type=I.args[0].id,P.thrown=P.type==="syntax_error"?null:I.args[1].id,P.expected=null,P.found=null,P.representation=null,P.existence=null,P.existence_type=null,P.line=null,P.column=null,P.permission_operation=null,P.permission_type=null,P.evaluation_type=null,P.type==="type_error"||P.type==="domain_error"?(P.expected=I.args[0].args[0].id,P.found=I.args[0].args[1].toString()):P.type==="syntax_error"?I.args[1].indicator==="./2"?(P.expected=I.args[0].args[0].id,P.found=I.args[1].args[1].args[1].args[0],P.found=P.found.id==="token_not_found"?P.found.id:P.found.args[0].id,P.line=I.args[1].args[0].args[0].value,P.column=I.args[1].args[1].args[0].args[0].value):P.thrown=I.args[1].id:P.type==="permission_error"?(P.found=I.args[0].args[2].toString(),P.permission_operation=I.args[0].args[0].id,P.permission_type=I.args[0].args[1].id):P.type==="evaluation_error"?P.evaluation_type=I.args[0].args[0].id:P.type==="representation_error"?P.representation=I.args[0].args[0].id:P.type==="existence_error"&&(P.existence=I.args[0].args[1].toString(),P.existence_type=I.args[0].args[0].id),P},create:function(I){return new x.type.Session(I)}};typeof pl<"u"?pl.exports=x:window.pl=x})()});function Cme(t,e,r){t.prepend(r.map(o=>new Ra.default.type.State(e.goal.replace(o),e.substitution,e)))}function dH(t){let e=wme.get(t.session);if(e==null)throw new Error("Assertion failed: A project should have been registered for the active session");return e}function Bme(t,e){wme.set(t,e),t.consult(`:- use_module(library(${egt.id})).`)}var mH,Ra,Ime,oh,Zht,$ht,wme,egt,vme=dt(()=>{Ke();mH=tt(z1()),Ra=tt(gH()),Ime=tt(Ie("vm")),{is_atom:oh,is_variable:Zht,is_instantiated_list:$ht}=Ra.default.type;wme=new WeakMap;egt=new Ra.default.type.Module("constraints",{["project_workspaces_by_descriptor/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!oh(o)||!oh(a)){t.throw_error(Ra.default.error.instantiation(r.indicator));return}let u=Y.parseIdent(o.id),A=Y.makeDescriptor(u,a.id),h=dH(t).tryWorkspaceByDescriptor(A);Zht(n)&&h!==null&&Cme(t,e,[new Ra.default.type.Term("=",[n,new Ra.default.type.Term(String(h.relativeCwd))])]),oh(n)&&h!==null&&h.relativeCwd===n.id&&t.success(e)},["workspace_field/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!oh(o)||!oh(a)){t.throw_error(Ra.default.error.instantiation(r.indicator));return}let A=dH(t).tryWorkspaceByCwd(o.id);if(A==null)return;let p=(0,mH.default)(A.manifest.raw,a.id);typeof p>"u"||Cme(t,e,[new Ra.default.type.Term("=",[n,new Ra.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},["workspace_field_test/3"]:(t,e,r)=>{let[o,a,n]=r.args;t.prepend([new Ra.default.type.State(e.goal.replace(new Ra.default.type.Term("workspace_field_test",[o,a,n,new Ra.default.type.Term("[]",[])])),e.substitution,e)])},["workspace_field_test/4"]:(t,e,r)=>{let[o,a,n,u]=r.args;if(!oh(o)||!oh(a)||!oh(n)||!$ht(u)){t.throw_error(Ra.default.error.instantiation(r.indicator));return}let p=dH(t).tryWorkspaceByCwd(o.id);if(p==null)return;let h=(0,mH.default)(p.manifest.raw,a.id);if(typeof h>"u")return;let C={$$:h};for(let[v,b]of u.toJavaScript().entries())C[`$${v}`]=b;Ime.default.runInNewContext(n.id,C)&&t.success(e)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var c2={};Yt(c2,{Constraints:()=>l2,DependencyType:()=>xme});function Zs(t){if(t instanceof hC.default.type.Num)return t.value;if(t instanceof hC.default.type.Term)switch(t.indicator){case"throw/1":return Zs(t.args[0]);case"error/1":return Zs(t.args[0]);case"error/2":if(t.args[0]instanceof hC.default.type.Term&&t.args[0].indicator==="syntax_error/1")return Object.assign(Zs(t.args[0]),...Zs(t.args[1]));{let e=Zs(t.args[0]);return e.message+=` (in ${Zs(t.args[1])})`,e}case"syntax_error/1":return new Jt(43,`Syntax error: ${Zs(t.args[0])}`);case"existence_error/2":return new Jt(44,`Existence error: ${Zs(t.args[0])} ${Zs(t.args[1])} not found`);case"instantiation_error/0":return new Jt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:Zs(t.args[0])};case"column/1":return{column:Zs(t.args[0])};case"found/1":return{found:Zs(t.args[0])};case"./2":return[Zs(t.args[0])].concat(Zs(t.args[1]));case"//2":return`${Zs(t.args[0])}/${Zs(t.args[1])}`;default:return t.id}throw`couldn't pretty print because of unsupported node ${t}`}function Sme(t){let e;try{e=Zs(t)}catch(r){throw typeof r=="string"?new Jt(42,`Unknown error: ${t} (note: ${r})`):r}return typeof e.line<"u"&&typeof e.column<"u"&&(e.message+=` at line ${e.line}, column ${e.column}`),e}function $d(t){return t.id==="null"?null:`${t.toJavaScript()}`}function tgt(t){if(t.id==="null")return null;{let e=t.toJavaScript();if(typeof e!="string")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return JSON.stringify(e)}}}function ah(t){return typeof t=="string"?`'${t}'`:"[]"}var Pme,hC,xme,Dme,yH,l2,u2=dt(()=>{Ke();Ke();bt();Pme=tt(ime()),hC=tt(gH());s2();vme();(0,Pme.default)(hC.default);xme=(o=>(o.Dependencies="dependencies",o.DevDependencies="devDependencies",o.PeerDependencies="peerDependencies",o))(xme||{}),Dme=["dependencies","devDependencies","peerDependencies"];yH=class{constructor(e,r){let o=1e3*e.workspaces.length;this.session=hC.default.create(o),Bme(this.session,e),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(e=>{this.session.answer(r=>{e(r)})})}async*makeQuery(e){let r=this.session.query(e);if(r!==!0)throw Sme(r);for(;;){let o=await this.fetchNextAnswer();if(o===null)throw new Jt(79,"Resolution limit exceeded");if(!o)break;if(o.id==="throw")throw Sme(o);yield o}}};l2=class{constructor(e){this.source="";this.project=e;let r=e.configuration.get("constraintsPath");ae.existsSync(r)&&(this.source=ae.readFileSync(r,"utf8"))}static async find(e){return new l2(e)}getProjectDatabase(){let e="";for(let r of Dme)e+=`dependency_type(${r}). | 266 | `,[])])),P.substitution,P)])},"get_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("get_byte",[new me("S"),F])])),P.substitution,P)])},"get_byte/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_byte(J))I.throw_error(x.error.type("in_byte",char,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="text")I.throw_error(x.error.permission("input","text_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else{if($=X.stream.get_byte(X.position),$===null){I.throw_error(x.error.representation("byte",y.indicator));return}X.position++}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),J])),P.substitution,P)])}},"peek_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("peek_byte",[new me("S"),F])])),P.substitution,P)])},"peek_byte/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_variable(J)&&!x.type.is_byte(J))I.throw_error(x.error.type("in_byte",char,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream(X)||X.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if(X.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if(X.type==="text")I.throw_error(x.error.permission("input","text_stream",F,y.indicator));else if(X.position==="past_end_of_stream"&&X.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{var $;if(X.position==="end_of_stream")$="end_of_file",X.position="past_end_of_stream";else if($=X.stream.get_byte(X.position),$===null){I.throw_error(x.error.representation("byte",y.indicator));return}I.prepend([new Qe(P.goal.replace(new H("=",[new be($,!1),J])),P.substitution,P)])}},"put_byte/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("put_byte",[new me("S"),F])])),P.substitution,P)])},"put_byte/2":function(I,P,y){var F=y.args[0],J=y.args[1],X=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);x.type.is_variable(F)||x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_byte(J)?!x.type.is_variable(F)&&!x.type.is_stream(F)&&!x.type.is_atom(F)?I.throw_error(x.error.domain("stream_or_alias",F,y.indicator)):!x.type.is_stream(X)||X.stream===null?I.throw_error(x.error.existence("stream",F,y.indicator)):X.input?I.throw_error(x.error.permission("output","stream",F,y.indicator)):X.type==="text"?I.throw_error(x.error.permission("output","text_stream",F,y.indicator)):X.stream.put_byte(J.value,X.position)&&(typeof X.position=="number"&&X.position++,I.success(P)):I.throw_error(x.error.type("byte",J,y.indicator))},"read/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("read_term",[new me("S"),F,new H("[]",[])])])),P.substitution,P)])},"read/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("read_term",[F,J,new H("[]",[])])),P.substitution,P)])},"read_term/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_input",[new me("S")]),new H("read_term",[new me("S"),F,J])])),P.substitution,P)])},"read_term/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2],$=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream($)||$.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if($.output)I.throw_error(x.error.permission("input","stream",F,y.indicator));else if($.type==="binary")I.throw_error(x.error.permission("input","binary_stream",F,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")I.throw_error(x.error.permission("input","past_end_of_stream",F,y.indicator));else{for(var ie={},ke=X,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_read_option(Ne)){I.throw_error(x.error.domain("read_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0],ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",X,y.indicator));return}else{for(var st,ht,Ut,Xt="",Pt=[],tn=null;tn===null||tn.name!=="atom"||tn.value!=="."||Ut.type===A&&x.flatten_error(new H("throw",[Ut.value])).found==="token_not_found";){if(st=$.stream.get(1,$.position),st===null){I.throw_error(x.error.representation("character",y.indicator));return}if(st==="end_of_file"||st==="past_end_of_file"){Ut?I.throw_error(x.error.syntax(Pt[Ut.len-1],". or expression expected",!1)):I.throw_error(x.error.syntax(null,"token not found",!0));return}$.position++,Xt+=st,ht=new _(I),ht.new_text(Xt),Pt=ht.get_tokens(),tn=Pt!==null&&Pt.length>0?Pt[Pt.length-1]:null,Pt!==null&&(Ut=V(I,Pt,0,I.__get_max_priority(),!1))}if(Ut.type===p&&Ut.len===Pt.length-1&&tn.value==="."){Ut=Ut.value.rename(I);var Dr=new H("=",[J,Ut]);if(ie.variables){var fr=g(o(Ce(Ut.variables()),function(Br){return new me(Br)}));Dr=new H(",",[Dr,new H("=",[ie.variables,fr])])}if(ie.variable_names){var fr=g(o(Ce(Ut.variables()),function(jr){var Hn;for(Hn in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty(Hn)&&I.session.renamed_variables[Hn]===jr)break;return new H("=",[new H(Hn,[]),new me(jr)])}));Dr=new H(",",[Dr,new H("=",[ie.variable_names,fr])])}if(ie.singletons){var fr=g(o(new _e(Ut,null).singleton_variables(),function(jr){var Hn;for(Hn in I.session.renamed_variables)if(I.session.renamed_variables.hasOwnProperty(Hn)&&I.session.renamed_variables[Hn]===jr)break;return new H("=",[new H(Hn,[]),new me(jr)])}));Dr=new H(",",[Dr,new H("=",[ie.singletons,fr])])}I.prepend([new Qe(P.goal.replace(Dr),P.substitution,P)])}else Ut.type===p?I.throw_error(x.error.syntax(Pt[Ut.len],"unexpected token",!1)):I.throw_error(Ut.value)}}},"write/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write",[new me("S"),F])])),P.substitution,P)])},"write/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,J,new H(".",[new H("quoted",[new H("false",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"writeq/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("writeq",[new me("S"),F])])),P.substitution,P)])},"writeq/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,J,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),P.substitution,P)])},"write_canonical/1":function(I,P,y){var F=y.args[0];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write_canonical",[new me("S"),F])])),P.substitution,P)])},"write_canonical/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H("write_term",[F,J,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("true")]),new H(".",[new H("numbervars",[new H("false")]),new H("[]",[])])])])])),P.substitution,P)])},"write_term/2":function(I,P,y){var F=y.args[0],J=y.args[1];I.prepend([new Qe(P.goal.replace(new H(",",[new H("current_output",[new me("S")]),new H("write_term",[new me("S"),F,J])])),P.substitution,P)])},"write_term/3":function(I,P,y){var F=y.args[0],J=y.args[1],X=y.args[2],$=x.type.is_stream(F)?F:I.get_stream_by_alias(F.id);if(x.type.is_variable(F)||x.type.is_variable(X))I.throw_error(x.error.instantiation(y.indicator));else if(!x.type.is_list(X))I.throw_error(x.error.type("list",X,y.indicator));else if(!x.type.is_stream(F)&&!x.type.is_atom(F))I.throw_error(x.error.domain("stream_or_alias",F,y.indicator));else if(!x.type.is_stream($)||$.stream===null)I.throw_error(x.error.existence("stream",F,y.indicator));else if($.input)I.throw_error(x.error.permission("output","stream",F,y.indicator));else if($.type==="binary")I.throw_error(x.error.permission("output","binary_stream",F,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")I.throw_error(x.error.permission("output","past_end_of_stream",F,y.indicator));else{for(var ie={},ke=X,Ne;x.type.is_term(ke)&&ke.indicator==="./2";){if(Ne=ke.args[0],x.type.is_variable(Ne)){I.throw_error(x.error.instantiation(y.indicator));return}else if(!x.type.is_write_option(Ne)){I.throw_error(x.error.domain("write_option",Ne,y.indicator));return}ie[Ne.id]=Ne.args[0].id==="true",ke=ke.args[1]}if(ke.indicator!=="[]/0"){x.type.is_variable(ke)?I.throw_error(x.error.instantiation(y.indicator)):I.throw_error(x.error.type("list",X,y.indicator));return}else{ie.session=I.session;var st=J.toString(ie);$.stream.put(st,$.position),typeof $.position=="number"&&($.position+=st.length),I.success(P)}}},"halt/0":function(I,P,y){I.points=[]},"halt/1":function(I,P,y){var F=y.args[0];x.type.is_variable(F)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_integer(F)?I.points=[]:I.throw_error(x.error.type("integer",F,y.indicator))},"current_prolog_flag/2":function(I,P,y){var F=y.args[0],J=y.args[1];if(!x.type.is_variable(F)&&!x.type.is_atom(F))I.throw_error(x.error.type("atom",F,y.indicator));else if(!x.type.is_variable(F)&&!x.type.is_flag(F))I.throw_error(x.error.domain("prolog_flag",F,y.indicator));else{var X=[];for(var $ in x.flag)if(!!x.flag.hasOwnProperty($)){var ie=new H(",",[new H("=",[new H($),F]),new H("=",[I.get_flag($),J])]);X.push(new Qe(P.goal.replace(ie),P.substitution,P))}I.prepend(X)}},"set_prolog_flag/2":function(I,P,y){var F=y.args[0],J=y.args[1];x.type.is_variable(F)||x.type.is_variable(J)?I.throw_error(x.error.instantiation(y.indicator)):x.type.is_atom(F)?x.type.is_flag(F)?x.type.is_value_flag(F,J)?x.type.is_modifiable_flag(F)?(I.session.flag[F.id]=J,I.success(P)):I.throw_error(x.error.permission("modify","flag",F)):I.throw_error(x.error.domain("flag_value",new H("+",[F,J]),y.indicator)):I.throw_error(x.error.domain("prolog_flag",F,y.indicator)):I.throw_error(x.error.type("atom",F,y.indicator))}},flag:{bounded:{allowed:[new H("true"),new H("false")],value:new H("true"),changeable:!1},max_integer:{allowed:[new be(Number.MAX_SAFE_INTEGER)],value:new be(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new be(Number.MIN_SAFE_INTEGER)],value:new be(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new H("down"),new H("toward_zero")],value:new H("toward_zero"),changeable:!1},char_conversion:{allowed:[new H("on"),new H("off")],value:new H("on"),changeable:!0},debug:{allowed:[new H("on"),new H("off")],value:new H("off"),changeable:!0},max_arity:{allowed:[new H("unbounded")],value:new H("unbounded"),changeable:!1},unknown:{allowed:[new H("error"),new H("fail"),new H("warning")],value:new H("error"),changeable:!0},double_quotes:{allowed:[new H("chars"),new H("codes"),new H("atom")],value:new H("codes"),changeable:!0},occurs_check:{allowed:[new H("false"),new H("true")],value:new H("false"),changeable:!0},dialect:{allowed:[new H("tau")],value:new H("tau"),changeable:!1},version_data:{allowed:[new H("tau",[new be(t.major,!1),new be(t.minor,!1),new be(t.patch,!1),new H(t.status)])],value:new H("tau",[new be(t.major,!1),new be(t.minor,!1),new be(t.patch,!1),new H(t.status)]),changeable:!1},nodejs:{allowed:[new H("yes"),new H("no")],value:new H(typeof dl<"u"&&dl.exports?"yes":"no"),changeable:!1}},unify:function(I,P,y){y=y===void 0?!1:y;for(var F=[{left:I,right:P}],J={};F.length!==0;){var X=F.pop();if(I=X.left,P=X.right,x.type.is_term(I)&&x.type.is_term(P)){if(I.indicator!==P.indicator)return null;for(var $=0;$<I.args.length;$++)F.push({left:I.args[$],right:P.args[$]})}else if(x.type.is_number(I)&&x.type.is_number(P)){if(I.value!==P.value||I.is_float!==P.is_float)return null}else if(x.type.is_variable(I)){if(x.type.is_variable(P)&&I.id===P.id)continue;if(y===!0&&P.variables().indexOf(I.id)!==-1)return null;if(I.id!=="_"){var ie=new Te;ie.add(I.id,P);for(var $=0;$<F.length;$++)F[$].left=F[$].left.apply(ie),F[$].right=F[$].right.apply(ie);for(var $ in J)J[$]=J[$].apply(ie);J[I.id]=P}}else if(x.type.is_variable(P))F.push({left:P,right:I});else if(I.unify!==void 0){if(!I.unify(P))return null}else return null}return new Te(J)},compare:function(I,P){var y=x.type.compare(I,P);return y!==0?y:I.compare(P)},arithmetic_compare:function(I,P,y){var F=P.interpret(I);if(x.type.is_number(F)){var J=y.interpret(I);return x.type.is_number(J)?F.value<J.value?-1:F.value>J.value?1:0:J}else return F},operate:function(I,P){if(x.type.is_operator(P)){for(var y=x.type.is_operator(P),F=[],J,X=!1,$=0;$<P.args.length;$++){if(J=P.args[$].interpret(I),x.type.is_number(J)){if(y.type_args!==null&&J.is_float!==y.type_args)return x.error.type(y.type_args?"float":"integer",J,I.__call_indicator);F.push(J.value)}else return J;X=X||J.is_float}return F.push(I),J=x.arithmetic.evaluation[P.indicator].fn.apply(this,F),X=y.type_result===null?X:y.type_result,x.type.is_term(J)?J:J===Number.POSITIVE_INFINITY||J===Number.NEGATIVE_INFINITY?x.error.evaluation("overflow",I.__call_indicator):X===!1&&I.get_flag("bounded").id==="true"&&(J>I.get_flag("max_integer").value||J<I.get_flag("min_integer").value)?x.error.evaluation("int_overflow",I.__call_indicator):new be(J,X)}else return x.error.type("evaluable",P.indicator,I.__call_indicator)},error:{existence:function(I,P,y){return typeof P=="string"&&(P=Z(P)),new H("error",[new H("existence_error",[new H(I),P]),Z(y)])},type:function(I,P,y){return new H("error",[new H("type_error",[new H(I),P]),Z(y)])},instantiation:function(I){return new H("error",[new H("instantiation_error"),Z(I)])},domain:function(I,P,y){return new H("error",[new H("domain_error",[new H(I),P]),Z(y)])},representation:function(I,P){return new H("error",[new H("representation_error",[new H(I)]),Z(P)])},permission:function(I,P,y,F){return new H("error",[new H("permission_error",[new H(I),new H(P),y]),Z(F)])},evaluation:function(I,P){return new H("error",[new H("evaluation_error",[new H(I)]),Z(P)])},syntax:function(I,P,y){I=I||{value:"",line:0,column:0,matches:[""],start:0};var F=y&&I.matches.length>0?I.start+I.matches[0].length:I.start,J=y?new H("token_not_found"):new H("found",[new H(I.value.toString())]),X=new H(".",[new H("line",[new be(I.line+1)]),new H(".",[new H("column",[new be(F+1)]),new H(".",[J,new H("[]",[])])])]);return new H("error",[new H("syntax_error",[new H(P)]),X])},syntax_by_predicate:function(I,P){return new H("error",[new H("syntax_error",[new H(I)]),Z(P)])}},warning:{singleton:function(I,P,y){for(var F=new H("[]"),J=I.length-1;J>=0;J--)F=new H(".",[new me(I[J]),F]);return new H("warning",[new H("singleton_variables",[F,Z(P)]),new H(".",[new H("line",[new be(y,!1)]),new H("[]")])])},failed_goal:function(I,P){return new H("warning",[new H("failed_goal",[I]),new H(".",[new H("line",[new be(P,!1)]),new H("[]")])])}},format_variable:function(I){return"_"+I},format_answer:function(I,P,F){P instanceof qe&&(P=P.thread);var F=F||{};if(F.session=P?P.session:void 0,x.type.is_error(I))return"uncaught exception: "+I.args[0].toString();if(I===!1)return"false.";if(I===null)return"limit exceeded ;";var J=0,X="";if(x.type.is_substitution(I)){var $=I.domain(!0);I=I.filter(function(Ne,st){return!x.type.is_variable(st)||$.indexOf(st.id)!==-1&&Ne!==st.id})}for(var ie in I.links)!I.links.hasOwnProperty(ie)||(J++,X!==""&&(X+=", "),X+=ie.toString(F)+" = "+I.links[ie].toString(F));var ke=typeof P>"u"||P.points.length>0?" ;":".";return J===0?"true"+ke:X+ke},flatten_error:function(I){if(!x.type.is_error(I))return null;I=I.args[0];var P={};return P.type=I.args[0].id,P.thrown=P.type==="syntax_error"?null:I.args[1].id,P.expected=null,P.found=null,P.representation=null,P.existence=null,P.existence_type=null,P.line=null,P.column=null,P.permission_operation=null,P.permission_type=null,P.evaluation_type=null,P.type==="type_error"||P.type==="domain_error"?(P.expected=I.args[0].args[0].id,P.found=I.args[0].args[1].toString()):P.type==="syntax_error"?I.args[1].indicator==="./2"?(P.expected=I.args[0].args[0].id,P.found=I.args[1].args[1].args[1].args[0],P.found=P.found.id==="token_not_found"?P.found.id:P.found.args[0].id,P.line=I.args[1].args[0].args[0].value,P.column=I.args[1].args[1].args[0].args[0].value):P.thrown=I.args[1].id:P.type==="permission_error"?(P.found=I.args[0].args[2].toString(),P.permission_operation=I.args[0].args[0].id,P.permission_type=I.args[0].args[1].id):P.type==="evaluation_error"?P.evaluation_type=I.args[0].args[0].id:P.type==="representation_error"?P.representation=I.args[0].args[0].id:P.type==="existence_error"&&(P.existence=I.args[0].args[1].toString(),P.existence_type=I.args[0].args[0].id),P},create:function(I){return new x.type.Session(I)}};typeof dl<"u"?dl.exports=x:window.pl=x})()});function Sme(t,e,r){t.prepend(r.map(o=>new Ta.default.type.State(e.goal.replace(o),e.substitution,e)))}function mH(t){let e=xme.get(t.session);if(e==null)throw new Error("Assertion failed: A project should have been registered for the active session");return e}function bme(t,e){xme.set(t,e),t.consult(`:- use_module(library(${Agt.id})).`)}var yH,Ta,Pme,ah,cgt,ugt,xme,Agt,Qme=dt(()=>{Ke();yH=tt(e2()),Ta=tt(dH()),Pme=tt(Ie("vm")),{is_atom:ah,is_variable:cgt,is_instantiated_list:ugt}=Ta.default.type;xme=new WeakMap;Agt=new Ta.default.type.Module("constraints",{["project_workspaces_by_descriptor/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!ah(o)||!ah(a)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let u=Y.parseIdent(o.id),A=Y.makeDescriptor(u,a.id),h=mH(t).tryWorkspaceByDescriptor(A);cgt(n)&&h!==null&&Sme(t,e,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(String(h.relativeCwd))])]),ah(n)&&h!==null&&h.relativeCwd===n.id&&t.success(e)},["workspace_field/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!ah(o)||!ah(a)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let A=mH(t).tryWorkspaceByCwd(o.id);if(A==null)return;let p=(0,yH.default)(A.manifest.raw,a.id);typeof p>"u"||Sme(t,e,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},["workspace_field_test/3"]:(t,e,r)=>{let[o,a,n]=r.args;t.prepend([new Ta.default.type.State(e.goal.replace(new Ta.default.type.Term("workspace_field_test",[o,a,n,new Ta.default.type.Term("[]",[])])),e.substitution,e)])},["workspace_field_test/4"]:(t,e,r)=>{let[o,a,n,u]=r.args;if(!ah(o)||!ah(a)||!ah(n)||!ugt(u)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let p=mH(t).tryWorkspaceByCwd(o.id);if(p==null)return;let h=(0,yH.default)(p.manifest.raw,a.id);if(typeof h>"u")return;let E={$$:h};for(let[v,b]of u.toJavaScript().entries())E[`$${v}`]=b;Pme.default.runInNewContext(n.id,E)&&t.success(e)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var p2={};Yt(p2,{Constraints:()=>f2,DependencyType:()=>Tme});function Zs(t){if(t instanceof CE.default.type.Num)return t.value;if(t instanceof CE.default.type.Term)switch(t.indicator){case"throw/1":return Zs(t.args[0]);case"error/1":return Zs(t.args[0]);case"error/2":if(t.args[0]instanceof CE.default.type.Term&&t.args[0].indicator==="syntax_error/1")return Object.assign(Zs(t.args[0]),...Zs(t.args[1]));{let e=Zs(t.args[0]);return e.message+=` (in ${Zs(t.args[1])})`,e}case"syntax_error/1":return new Vt(43,`Syntax error: ${Zs(t.args[0])}`);case"existence_error/2":return new Vt(44,`Existence error: ${Zs(t.args[0])} ${Zs(t.args[1])} not found`);case"instantiation_error/0":return new Vt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:Zs(t.args[0])};case"column/1":return{column:Zs(t.args[0])};case"found/1":return{found:Zs(t.args[0])};case"./2":return[Zs(t.args[0])].concat(Zs(t.args[1]));case"//2":return`${Zs(t.args[0])}/${Zs(t.args[1])}`;default:return t.id}throw`couldn't pretty print because of unsupported node ${t}`}function Fme(t){let e;try{e=Zs(t)}catch(r){throw typeof r=="string"?new Vt(42,`Unknown error: ${t} (note: ${r})`):r}return typeof e.line<"u"&&typeof e.column<"u"&&(e.message+=` at line ${e.line}, column ${e.column}`),e}function rm(t){return t.id==="null"?null:`${t.toJavaScript()}`}function fgt(t){if(t.id==="null")return null;{let e=t.toJavaScript();if(typeof e!="string")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return JSON.stringify(e)}}}function lh(t){return typeof t=="string"?`'${t}'`:"[]"}var Rme,CE,Tme,kme,CH,f2,h2=dt(()=>{Ke();Ke();bt();Rme=tt(ume()),CE=tt(dH());c2();Qme();(0,Rme.default)(CE.default);Tme=(o=>(o.Dependencies="dependencies",o.DevDependencies="devDependencies",o.PeerDependencies="peerDependencies",o))(Tme||{}),kme=["dependencies","devDependencies","peerDependencies"];CH=class{constructor(e,r){let o=1e3*e.workspaces.length;this.session=CE.default.create(o),bme(this.session,e),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(e=>{this.session.answer(r=>{e(r)})})}async*makeQuery(e){let r=this.session.query(e);if(r!==!0)throw Fme(r);for(;;){let o=await this.fetchNextAnswer();if(o===null)throw new Vt(79,"Resolution limit exceeded");if(!o)break;if(o.id==="throw")throw Fme(o);yield o}}};f2=class{constructor(e){this.source="";this.project=e;let r=e.configuration.get("constraintsPath");ae.existsSync(r)&&(this.source=ae.readFileSync(r,"utf8"))}static async find(e){return new f2(e)}getProjectDatabase(){let e="";for(let r of kme)e+=`dependency_type(${r}). |
267 | `;for(let r of this.project.workspacesByCwd.values()){let o=r.relativeCwd;e+=`workspace(${ah(o)}). | 267 | `;for(let r of this.project.workspacesByCwd.values()){let o=r.relativeCwd;e+=`workspace(${lh(o)}). |
268 | `,e+=`workspace_ident(${ah(o)}, ${ah(Y.stringifyIdent(r.locator))}). | 268 | `,e+=`workspace_ident(${lh(o)}, ${lh(Y.stringifyIdent(r.locator))}). |
269 | `,e+=`workspace_version(${ah(o)}, ${ah(r.manifest.version)}). | 269 | `,e+=`workspace_version(${lh(o)}, ${lh(r.manifest.version)}). |
270 | `;for(let a of Dme)for(let n of r.manifest[a].values())e+=`workspace_has_dependency(${ah(o)}, ${ah(Y.stringifyIdent(n))}, ${ah(n.range)}, ${a}). | 270 | `;for(let a of kme)for(let n of r.manifest[a].values())e+=`workspace_has_dependency(${lh(o)}, ${lh(Y.stringifyIdent(n))}, ${lh(n.range)}, ${a}). |
271 | `}return e+=`workspace(_) :- false. | 271 | `}return e+=`workspace(_) :- false. |
272 | `,e+=`workspace_ident(_, _) :- false. | 272 | `,e+=`workspace_ident(_, _) :- false. |
273 | `,e+=`workspace_version(_, _) :- false. | 273 | `,e+=`workspace_version(_, _) :- false. |
@@ -276,50 +276,50 @@ And the length must be: $<length>`,trueValue:null,falseValue:null,caseSensitive: | |||
276 | `,e+=`gen_enforced_field(_, _, _) :- false. | 276 | `,e+=`gen_enforced_field(_, _, _) :- false. |
277 | `,e}get fullSource(){return`${this.getProjectDatabase()} | 277 | `,e}get fullSource(){return`${this.getProjectDatabase()} |
278 | ${this.source} | 278 | ${this.source} |
279 | ${this.getDeclarations()}`}createSession(){return new yH(this.project,this.fullSource)}async processClassic(){let e=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(e),enforcedFields:await this.genEnforcedFields(e)}}async process(){let{enforcedDependencies:e,enforcedFields:r}=await this.processClassic(),o=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:u,dependencyType:A}of e){let p=i2([A,Y.stringifyIdent(n)]),h=Ye.getMapWithDefault(o,a.cwd);Ye.getMapWithDefault(h,p).set(u??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:u}of r){let A=i2(n),p=Ye.getMapWithDefault(o,a.cwd);Ye.getMapWithDefault(p,A).set(JSON.parse(u)??void 0,new Set)}return{manifestUpdates:o,reportedErrors:new Map}}async genEnforcedDependencies(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=V.resolve(this.project.cwd,$d(o.links.WorkspaceCwd)),n=$d(o.links.DependencyIdent),u=$d(o.links.DependencyRange),A=$d(o.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=Y.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:u,dependencyType:A})}return Ye.sortMap(r,[({dependencyRange:o})=>o!==null?"0":"1",({workspace:o})=>Y.stringifyIdent(o.locator),({dependencyIdent:o})=>Y.stringifyIdent(o)])}async genEnforcedFields(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=V.resolve(this.project.cwd,$d(o.links.WorkspaceCwd)),n=$d(o.links.FieldPath),u=tgt(o.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let A=this.project.getWorkspaceByCwd(a);r.push({workspace:A,fieldPath:n,fieldValue:u})}return Ye.sortMap(r,[({workspace:o})=>Y.stringifyIdent(o.locator),({fieldPath:o})=>o])}async*query(e){let r=this.createSession();for await(let o of r.makeQuery(e)){let a={};for(let[n,u]of Object.entries(o.links))n!=="_"&&(a[n]=$d(u));yield a}}}});var Lme=U(aQ=>{"use strict";Object.defineProperty(aQ,"__esModule",{value:!0});function S2(t){let e=[...t.caches],r=e.shift();return r===void 0?Nme():{get(o,a,n={miss:()=>Promise.resolve()}){return r.get(o,a,n).catch(()=>S2({caches:e}).get(o,a,n))},set(o,a){return r.set(o,a).catch(()=>S2({caches:e}).set(o,a))},delete(o){return r.delete(o).catch(()=>S2({caches:e}).delete(o))},clear(){return r.clear().catch(()=>S2({caches:e}).clear())}}}function Nme(){return{get(t,e,r={miss:()=>Promise.resolve()}){return e().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}aQ.createFallbackableCache=S2;aQ.createNullCache=Nme});var Mme=U((SWt,Ome)=>{Ome.exports=Lme()});var Ume=U(FH=>{"use strict";Object.defineProperty(FH,"__esModule",{value:!0});function Cgt(t={serializable:!0}){let e={};return{get(r,o,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in e)return Promise.resolve(t.serializable?JSON.parse(e[n]):e[n]);let u=o(),A=a&&a.miss||(()=>Promise.resolve());return u.then(p=>A(p)).then(()=>u)},set(r,o){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(o):o,Promise.resolve(o)},delete(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}FH.createInMemoryCache=Cgt});var Hme=U((xWt,_me)=>{_me.exports=Ume()});var jme=U(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});function Igt(t,e,r){let o={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return t===RH.WithinHeaders?o:{}},queryParameters(){return t===RH.WithinQueryParameters?o:{}}}}function wgt(t){let e=0,r=()=>(e++,new Promise(o=>{setTimeout(()=>{o(t(r))},Math.min(100*e,1e3))}));return t(r)}function qme(t,e=(r,o)=>Promise.resolve()){return Object.assign(t,{wait(r){return qme(t.then(o=>Promise.all([e(o,r),o])).then(o=>o[1]))}})}function Bgt(t){let e=t.length-1;for(e;e>0;e--){let r=Math.floor(Math.random()*(e+1)),o=t[e];t[e]=t[r],t[r]=o}return t}function vgt(t,e){return e&&Object.keys(e).forEach(r=>{t[r]=e[r](t)}),t}function Dgt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}var Sgt="4.14.2",Pgt=t=>()=>t.transporter.requester.destroy(),RH={WithinQueryParameters:0,WithinHeaders:1};eu.AuthMode=RH;eu.addMethods=vgt;eu.createAuth=Igt;eu.createRetryablePromise=wgt;eu.createWaitablePromise=qme;eu.destroy=Pgt;eu.encode=Dgt;eu.shuffle=Bgt;eu.version=Sgt});var P2=U((QWt,Gme)=>{Gme.exports=jme()});var Wme=U(TH=>{"use strict";Object.defineProperty(TH,"__esModule",{value:!0});var xgt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};TH.MethodEnum=xgt});var x2=U((FWt,Yme)=>{Yme.exports=Wme()});var aye=U(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});var Jme=x2();function NH(t,e){let r=t||{},o=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(o[a]=r[a])}),{data:Object.entries(o).length>0?o:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var b2={Read:1,Write:2,Any:3},yC={Up:1,Down:2,Timeouted:3},Vme=2*60*1e3;function OH(t,e=yC.Up){return{...t,status:e,lastUpdate:Date.now()}}function zme(t){return t.status===yC.Up||Date.now()-t.lastUpdate>Vme}function Xme(t){return t.status===yC.Timeouted&&Date.now()-t.lastUpdate<=Vme}function MH(t){return typeof t=="string"?{protocol:"https",url:t,accept:b2.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||b2.Any}}function bgt(t,e){return Promise.all(e.map(r=>t.get(r,()=>Promise.resolve(OH(r))))).then(r=>{let o=r.filter(A=>zme(A)),a=r.filter(A=>Xme(A)),n=[...o,...a],u=n.length>0?n.map(A=>MH(A)):e;return{getTimeout(A,p){return(a.length===0&&A===0?1:a.length+3+A)*p},statelessHosts:u}})}var Qgt=({isTimedOut:t,status:e})=>!t&&~~e===0,kgt=t=>{let e=t.status;return t.isTimedOut||Qgt(t)||~~(e/100)!==2&&~~(e/100)!==4},Fgt=({status:t})=>~~(t/100)===2,Rgt=(t,e)=>kgt(t)?e.onRetry(t):Fgt(t)?e.onSuccess(t):e.onFail(t);function Kme(t,e,r,o){let a=[],n=rye(r,o),u=nye(t,o),A=r.method,p=r.method!==Jme.MethodEnum.Get?{}:{...r.data,...o.data},h={"x-algolia-agent":t.userAgent.value,...t.queryParameters,...p,...o.queryParameters},C=0,w=(v,b)=>{let E=v.pop();if(E===void 0)throw oye(LH(a));let R={data:n,headers:u,method:A,url:eye(E,r.path,h),connectTimeout:b(C,t.timeouts.connect),responseTimeout:b(C,o.timeout)},L=J=>{let re={request:R,response:J,host:E,triesLeft:v.length};return a.push(re),re},_={onSuccess:J=>Zme(J),onRetry(J){let re=L(J);return J.isTimedOut&&C++,Promise.all([t.logger.info("Retryable failure",UH(re)),t.hostsCache.set(E,OH(E,J.isTimedOut?yC.Timeouted:yC.Down))]).then(()=>w(v,b))},onFail(J){throw L(J),$me(J,LH(a))}};return t.requester.send(R).then(J=>Rgt(J,_))};return bgt(t.hostsCache,e).then(v=>w([...v.statelessHosts].reverse(),v.getTimeout))}function Tgt(t){let{hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,hosts:p,queryParameters:h,headers:C}=t,w={hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,headers:C,queryParameters:h,hosts:p.map(v=>MH(v)),read(v,b){let E=NH(b,w.timeouts.read),R=()=>Kme(w,w.hosts.filter(J=>(J.accept&b2.Read)!==0),v,E);if((E.cacheable!==void 0?E.cacheable:v.cacheable)!==!0)return R();let _={request:v,mappedRequestOptions:E,transporter:{queryParameters:w.queryParameters,headers:w.headers}};return w.responsesCache.get(_,()=>w.requestsCache.get(_,()=>w.requestsCache.set(_,R()).then(J=>Promise.all([w.requestsCache.delete(_),J]),J=>Promise.all([w.requestsCache.delete(_),Promise.reject(J)])).then(([J,re])=>re)),{miss:J=>w.responsesCache.set(_,J)})},write(v,b){return Kme(w,w.hosts.filter(E=>(E.accept&b2.Write)!==0),v,NH(b,w.timeouts.write))}};return w}function Ngt(t){let e={value:`Algolia for JavaScript (${t})`,add(r){let o=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return e.value.indexOf(o)===-1&&(e.value=`${e.value}${o}`),e}};return e}function Zme(t){try{return JSON.parse(t.content)}catch(e){throw sye(e.message,t)}}function $me({content:t,status:e},r){let o=t;try{o=JSON.parse(t).message}catch{}return iye(o,e,r)}function Lgt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}function eye(t,e,r){let o=tye(r),a=`${t.protocol}://${t.url}/${e.charAt(0)==="/"?e.substr(1):e}`;return o.length&&(a+=`?${o}`),a}function tye(t){let e=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(t).map(r=>Lgt("%s=%s",r,e(t[r])?JSON.stringify(t[r]):t[r])).join("&")}function rye(t,e){if(t.method===Jme.MethodEnum.Get||t.data===void 0&&e.data===void 0)return;let r=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(r)}function nye(t,e){let r={...t.headers,...e.headers},o={};return Object.keys(r).forEach(a=>{let n=r[a];o[a.toLowerCase()]=n}),o}function LH(t){return t.map(e=>UH(e))}function UH(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function iye(t,e,r){return{name:"ApiError",message:t,status:e,transporterStackTrace:r}}function sye(t,e){return{name:"DeserializationError",message:t,response:e}}function oye(t){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:t}}bi.CallEnum=b2;bi.HostStatusEnum=yC;bi.createApiError=iye;bi.createDeserializationError=sye;bi.createMappedRequestOptions=NH;bi.createRetryError=oye;bi.createStatefulHost=OH;bi.createStatelessHost=MH;bi.createTransporter=Tgt;bi.createUserAgent=Ngt;bi.deserializeFailure=$me;bi.deserializeSuccess=Zme;bi.isStatefulHostTimeouted=Xme;bi.isStatefulHostUp=zme;bi.serializeData=rye;bi.serializeHeaders=nye;bi.serializeQueryParameters=tye;bi.serializeUrl=eye;bi.stackFrameWithoutCredentials=UH;bi.stackTraceWithoutCredentials=LH});var Q2=U((TWt,lye)=>{lye.exports=aye()});var cye=U(ph=>{"use strict";Object.defineProperty(ph,"__esModule",{value:!0});var EC=P2(),Ogt=Q2(),k2=x2(),Mgt=t=>{let e=t.region||"us",r=EC.createAuth(EC.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Ogt.createTransporter({hosts:[{url:`analytics.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a=t.appId;return EC.addMethods({appId:a,transporter:o},t.methods)},Ugt=t=>(e,r)=>t.transporter.write({method:k2.MethodEnum.Post,path:"2/abtests",data:e},r),_gt=t=>(e,r)=>t.transporter.write({method:k2.MethodEnum.Delete,path:EC.encode("2/abtests/%s",e)},r),Hgt=t=>(e,r)=>t.transporter.read({method:k2.MethodEnum.Get,path:EC.encode("2/abtests/%s",e)},r),qgt=t=>e=>t.transporter.read({method:k2.MethodEnum.Get,path:"2/abtests"},e),jgt=t=>(e,r)=>t.transporter.write({method:k2.MethodEnum.Post,path:EC.encode("2/abtests/%s/stop",e)},r);ph.addABTest=Ugt;ph.createAnalyticsClient=Mgt;ph.deleteABTest=_gt;ph.getABTest=Hgt;ph.getABTests=qgt;ph.stopABTest=jgt});var Aye=U((LWt,uye)=>{uye.exports=cye()});var pye=U(F2=>{"use strict";Object.defineProperty(F2,"__esModule",{value:!0});var _H=P2(),Ggt=Q2(),fye=x2(),Wgt=t=>{let e=t.region||"us",r=_H.createAuth(_H.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Ggt.createTransporter({hosts:[{url:`personalization.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}});return _H.addMethods({appId:t.appId,transporter:o},t.methods)},Ygt=t=>e=>t.transporter.read({method:fye.MethodEnum.Get,path:"1/strategies/personalization"},e),Kgt=t=>(e,r)=>t.transporter.write({method:fye.MethodEnum.Post,path:"1/strategies/personalization",data:e},r);F2.createPersonalizationClient=Wgt;F2.getPersonalizationStrategy=Ygt;F2.setPersonalizationStrategy=Kgt});var gye=U((MWt,hye)=>{hye.exports=pye()});var bye=U(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});var Ht=P2(),Ta=Q2(),mr=x2(),Jgt=Ie("crypto");function lQ(t){let e=r=>t.request(r).then(o=>{if(t.batch!==void 0&&t.batch(o.hits),!t.shouldStop(o))return o.cursor?e({cursor:o.cursor}):e({page:(r.page||0)+1})});return e({})}var Vgt=t=>{let e=t.appId,r=Ht.createAuth(t.authMode!==void 0?t.authMode:Ht.AuthMode.WithinHeaders,e,t.apiKey),o=Ta.createTransporter({hosts:[{url:`${e}-dsn.algolia.net`,accept:Ta.CallEnum.Read},{url:`${e}.algolia.net`,accept:Ta.CallEnum.Write}].concat(Ht.shuffle([{url:`${e}-1.algolianet.com`},{url:`${e}-2.algolianet.com`},{url:`${e}-3.algolianet.com`}])),...t,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a={transporter:o,appId:e,addAlgoliaAgent(n,u){o.userAgent.add({segment:n,version:u})},clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})}};return Ht.addMethods(a,t.methods)};function dye(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function mye(){return{name:"ObjectNotFoundError",message:"Object not found."}}function yye(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var zgt=t=>(e,r)=>{let{queryParameters:o,...a}=r||{},n={acl:e,...o!==void 0?{queryParameters:o}:{}},u=(A,p)=>Ht.createRetryablePromise(h=>R2(t)(A.key,p).catch(C=>{if(C.status!==404)throw C;return h()}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:"1/keys",data:n},a),u)},Xgt=t=>(e,r,o)=>{let a=Ta.createMappedRequestOptions(o);return a.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:mr.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},Zgt=t=>(e,r,o)=>t.transporter.write({method:mr.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:e,cluster:r}},o),$gt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(o,a)=>CC(t)(o.taskID,a)),cQ=t=>(e,r,o)=>{let a=(n,u)=>T2(t)(e,{methods:{waitTask:zi}}).waitTask(n.taskID,u);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",e),data:{operation:"copy",destination:r}},o),a)},edt=t=>(e,r,o)=>cQ(t)(e,r,{...o,scope:[AQ.Rules]}),tdt=t=>(e,r,o)=>cQ(t)(e,r,{...o,scope:[AQ.Settings]}),rdt=t=>(e,r,o)=>cQ(t)(e,r,{...o,scope:[AQ.Synonyms]}),ndt=t=>(e,r)=>e.method===mr.MethodEnum.Get?t.transporter.read(e,r):t.transporter.write(e,r),idt=t=>(e,r)=>{let o=(a,n)=>Ht.createRetryablePromise(u=>R2(t)(e,n).then(u).catch(A=>{if(A.status!==404)throw A}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/keys/%s",e)},r),o)},sdt=t=>(e,r,o)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>CC(t)(n.taskID,u))},odt=()=>(t,e)=>{let r=Ta.serializeQueryParameters(e),o=Jgt.createHmac("sha256",t).update(r).digest("hex");return Buffer.from(o+r).toString("base64")},R2=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/keys/%s",e)},r),Eye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/task/%s",e.toString())},r),adt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"/1/dictionaries/*/settings"},e),ldt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/logs"},e),cdt=()=>t=>{let e=Buffer.from(t,"base64").toString("ascii"),r=/validUntil=(\d+)/,o=e.match(r);if(o===null)throw yye();return parseInt(o[1],10)-Math.round(new Date().getTime()/1e3)},udt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping/top"},e),Adt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/clusters/mapping/%s",e)},r),fdt=t=>e=>{let{retrieveMappings:r,...o}=e||{};return r===!0&&(o.getClusters=!0),t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping/pending"},o)},T2=t=>(e,r={})=>{let o={transporter:t.transporter,appId:t.appId,indexName:e};return Ht.addMethods(o,r.methods)},pdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/keys"},e),hdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters"},e),gdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/indexes"},e),ddt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping"},e),mdt=t=>(e,r,o)=>{let a=(n,u)=>T2(t)(e,{methods:{waitTask:zi}}).waitTask(n.taskID,u);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",e),data:{operation:"move",destination:r}},o),a)},ydt=t=>(e,r)=>{let o=(a,n)=>Promise.all(Object.keys(a.taskID).map(u=>T2(t)(u,{methods:{waitTask:zi}}).waitTask(a.taskID[u],n)));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:e}},r),o)},Edt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:e}},r),Cdt=t=>(e,r)=>{let o=e.map(a=>({...a,params:Ta.serializeQueryParameters(a.params||{})}));return t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},r)},Idt=t=>(e,r)=>Promise.all(e.map(o=>{let{facetName:a,facetQuery:n,...u}=o.params;return T2(t)(o.indexName,{methods:{searchForFacetValues:Sye}}).searchForFacetValues(a,n,{...r,...u})})),wdt=t=>(e,r)=>{let o=Ta.createMappedRequestOptions(r);return o.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:mr.MethodEnum.Delete,path:"1/clusters/mapping"},o)},Bdt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:a}},o),(n,u)=>CC(t)(n.taskID,u))},vdt=t=>(e,r)=>{let o=(a,n)=>Ht.createRetryablePromise(u=>R2(t)(e,n).catch(A=>{if(A.status!==404)throw A;return u()}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/keys/%s/restore",e)},r),o)},Ddt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>CC(t)(n.taskID,u))},Sdt=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/search",e),data:{query:r},cacheable:!0},o),Pdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:e}},r),xdt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:e},r),(o,a)=>CC(t)(o.taskID,a)),bdt=t=>(e,r)=>{let o=Object.assign({},r),{queryParameters:a,...n}=r||{},u=a?{queryParameters:a}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=C=>Object.keys(o).filter(w=>A.indexOf(w)!==-1).every(w=>C[w]===o[w]),h=(C,w)=>Ht.createRetryablePromise(v=>R2(t)(e,w).then(b=>p(b)?Promise.resolve():v()));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:Ht.encode("1/keys/%s",e),data:u},n),h)},CC=t=>(e,r)=>Ht.createRetryablePromise(o=>Eye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),Cye=t=>(e,r)=>{let o=(a,n)=>zi(t)(a.taskID,n);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/batch",t.indexName),data:{requests:e}},r),o)},Qdt=t=>e=>lQ({shouldStop:r=>r.cursor===void 0,...e,request:r=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/browse",t.indexName),data:r},e)}),kdt=t=>e=>{let r={hitsPerPage:1e3,...e};return lQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return Pye(t)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},Fdt=t=>e=>{let r={hitsPerPage:1e3,...e};return lQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return xye(t)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},uQ=t=>(e,r,o)=>{let{batchSize:a,...n}=o||{},u={taskIDs:[],objectIDs:[]},A=(p=0)=>{let h=[],C;for(C=p;C<e.length&&(h.push(e[C]),h.length!==(a||1e3));C++);return h.length===0?Promise.resolve(u):Cye(t)(h.map(w=>({action:r,body:w})),n).then(w=>(u.objectIDs=u.objectIDs.concat(w.objectIDs),u.taskIDs.push(w.taskID),C++,A(C)))};return Ht.createWaitablePromise(A(),(p,h)=>Promise.all(p.taskIDs.map(C=>zi(t)(C,h))))},Rdt=t=>e=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/clear",t.indexName)},e),(r,o)=>zi(t)(r.taskID,o)),Tdt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Ta.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/clear",t.indexName)},a),(n,u)=>zi(t)(n.taskID,u))},Ndt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Ta.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/clear",t.indexName)},a),(n,u)=>zi(t)(n.taskID,u))},Ldt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/deleteByQuery",t.indexName),data:e},r),(o,a)=>zi(t)(o.taskID,a)),Odt=t=>e=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s",t.indexName)},e),(r,o)=>zi(t)(r.taskID,o)),Mdt=t=>(e,r)=>Ht.createWaitablePromise(Iye(t)([e],r).then(o=>({taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),Iye=t=>(e,r)=>{let o=e.map(a=>({objectID:a}));return uQ(t)(o,rm.DeleteObject,r)},Udt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ta.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s/rules/%s",t.indexName,e)},n),(u,A)=>zi(t)(u.taskID,A))},_dt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ta.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},n),(u,A)=>zi(t)(u.taskID,A))},Hdt=t=>e=>wye(t)(e).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),qdt=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},o),jdt=t=>(e,r)=>{let{query:o,paginate:a,...n}=r||{},u=0,A=()=>Dye(t)(o||"",{...n,page:u}).then(p=>{for(let[h,C]of Object.entries(p.hits))if(e(C))return{object:C,position:parseInt(h,10),page:u};if(u++,a===!1||u>=p.nbPages)throw mye();return A()});return A()},Gdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/%s",t.indexName,e)},r),Wdt=()=>(t,e)=>{for(let[r,o]of Object.entries(t.hits))if(o.objectID===e)return parseInt(r,10);return-1},Ydt=t=>(e,r)=>{let{attributesToRetrieve:o,...a}=r||{},n=e.map(u=>({indexName:t.indexName,objectID:u,...o?{attributesToRetrieve:o}:{}}));return t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},Kdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/rules/%s",t.indexName,e)},r),wye=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/settings",t.indexName),data:{getVersion:2}},e),Jdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},r),Bye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/task/%s",t.indexName,e.toString())},r),Vdt=t=>(e,r)=>Ht.createWaitablePromise(vye(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),vye=t=>(e,r)=>{let{createIfNotExists:o,...a}=r||{},n=o?rm.PartialUpdateObject:rm.PartialUpdateObjectNoCreate;return uQ(t)(e,n,a)},zdt=t=>(e,r)=>{let{safe:o,autoGenerateObjectIDIfNotExist:a,batchSize:n,...u}=r||{},A=(E,R,L,_)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",E),data:{operation:L,destination:R}},_),(J,re)=>zi(t)(J.taskID,re)),p=Math.random().toString(36).substring(7),h=`${t.indexName}_tmp_${p}`,C=HH({appId:t.appId,transporter:t.transporter,indexName:h}),w=[],v=A(t.indexName,h,"copy",{...u,scope:["settings","synonyms","rules"]});w.push(v);let b=(o?v.wait(u):v).then(()=>{let E=C(e,{...u,autoGenerateObjectIDIfNotExist:a,batchSize:n});return w.push(E),o?E.wait(u):E}).then(()=>{let E=A(h,t.indexName,"move",u);return w.push(E),o?E.wait(u):E}).then(()=>Promise.all(w)).then(([E,R,L])=>({objectIDs:R.objectIDs,taskIDs:[E.taskID,...R.taskIDs,L.taskID]}));return Ht.createWaitablePromise(b,(E,R)=>Promise.all(w.map(L=>L.wait(R))))},Xdt=t=>(e,r)=>qH(t)(e,{...r,clearExistingRules:!0}),Zdt=t=>(e,r)=>jH(t)(e,{...r,clearExistingSynonyms:!0}),$dt=t=>(e,r)=>Ht.createWaitablePromise(HH(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),HH=t=>(e,r)=>{let{autoGenerateObjectIDIfNotExist:o,...a}=r||{},n=o?rm.AddObject:rm.UpdateObject;if(n===rm.UpdateObject){for(let u of e)if(u.objectID===void 0)return Ht.createWaitablePromise(Promise.reject(dye()))}return uQ(t)(e,n,a)},emt=t=>(e,r)=>qH(t)([e],r),qH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingRules:a,...n}=r||{},u=Ta.createMappedRequestOptions(n);return o&&(u.queryParameters.forwardToReplicas=1),a&&(u.queryParameters.clearExistingRules=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/batch",t.indexName),data:e},u),(A,p)=>zi(t)(A.taskID,p))},tmt=t=>(e,r)=>jH(t)([e],r),jH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingSynonyms:a,replaceExistingSynonyms:n,...u}=r||{},A=Ta.createMappedRequestOptions(u);return o&&(A.queryParameters.forwardToReplicas=1),(n||a)&&(A.queryParameters.replaceExistingSynonyms=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/batch",t.indexName),data:e},A),(p,h)=>zi(t)(p.taskID,h))},Dye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r),Sye=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},o),Pye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/search",t.indexName),data:{query:e}},r),xye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/search",t.indexName),data:{query:e}},r),rmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Ta.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:Ht.encode("1/indexes/%s/settings",t.indexName),data:e},n),(u,A)=>zi(t)(u.taskID,A))},zi=t=>(e,r)=>Ht.createRetryablePromise(o=>Bye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),nmt={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},rm={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},AQ={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},imt={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},smt={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Ft.ApiKeyACLEnum=nmt;Ft.BatchActionEnum=rm;Ft.ScopeEnum=AQ;Ft.StrategyEnum=imt;Ft.SynonymEnum=smt;Ft.addApiKey=zgt;Ft.assignUserID=Xgt;Ft.assignUserIDs=Zgt;Ft.batch=Cye;Ft.browseObjects=Qdt;Ft.browseRules=kdt;Ft.browseSynonyms=Fdt;Ft.chunkedBatch=uQ;Ft.clearDictionaryEntries=$gt;Ft.clearObjects=Rdt;Ft.clearRules=Tdt;Ft.clearSynonyms=Ndt;Ft.copyIndex=cQ;Ft.copyRules=edt;Ft.copySettings=tdt;Ft.copySynonyms=rdt;Ft.createBrowsablePromise=lQ;Ft.createMissingObjectIDError=dye;Ft.createObjectNotFoundError=mye;Ft.createSearchClient=Vgt;Ft.createValidUntilNotFoundError=yye;Ft.customRequest=ndt;Ft.deleteApiKey=idt;Ft.deleteBy=Ldt;Ft.deleteDictionaryEntries=sdt;Ft.deleteIndex=Odt;Ft.deleteObject=Mdt;Ft.deleteObjects=Iye;Ft.deleteRule=Udt;Ft.deleteSynonym=_dt;Ft.exists=Hdt;Ft.findAnswers=qdt;Ft.findObject=jdt;Ft.generateSecuredApiKey=odt;Ft.getApiKey=R2;Ft.getAppTask=Eye;Ft.getDictionarySettings=adt;Ft.getLogs=ldt;Ft.getObject=Gdt;Ft.getObjectPosition=Wdt;Ft.getObjects=Ydt;Ft.getRule=Kdt;Ft.getSecuredApiKeyRemainingValidity=cdt;Ft.getSettings=wye;Ft.getSynonym=Jdt;Ft.getTask=Bye;Ft.getTopUserIDs=udt;Ft.getUserID=Adt;Ft.hasPendingMappings=fdt;Ft.initIndex=T2;Ft.listApiKeys=pdt;Ft.listClusters=hdt;Ft.listIndices=gdt;Ft.listUserIDs=ddt;Ft.moveIndex=mdt;Ft.multipleBatch=ydt;Ft.multipleGetObjects=Edt;Ft.multipleQueries=Cdt;Ft.multipleSearchForFacetValues=Idt;Ft.partialUpdateObject=Vdt;Ft.partialUpdateObjects=vye;Ft.removeUserID=wdt;Ft.replaceAllObjects=zdt;Ft.replaceAllRules=Xdt;Ft.replaceAllSynonyms=Zdt;Ft.replaceDictionaryEntries=Bdt;Ft.restoreApiKey=vdt;Ft.saveDictionaryEntries=Ddt;Ft.saveObject=$dt;Ft.saveObjects=HH;Ft.saveRule=emt;Ft.saveRules=qH;Ft.saveSynonym=tmt;Ft.saveSynonyms=jH;Ft.search=Dye;Ft.searchDictionaryEntries=Sdt;Ft.searchForFacetValues=Sye;Ft.searchRules=Pye;Ft.searchSynonyms=xye;Ft.searchUserIDs=Pdt;Ft.setDictionarySettings=xdt;Ft.setSettings=rmt;Ft.updateApiKey=bdt;Ft.waitAppTask=CC;Ft.waitTask=zi});var kye=U((_Wt,Qye)=>{Qye.exports=bye()});var Fye=U(fQ=>{"use strict";Object.defineProperty(fQ,"__esModule",{value:!0});function omt(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var amt={Debug:1,Info:2,Error:3};fQ.LogLevelEnum=amt;fQ.createNullLogger=omt});var Tye=U((qWt,Rye)=>{Rye.exports=Fye()});var Mye=U(GH=>{"use strict";Object.defineProperty(GH,"__esModule",{value:!0});var Nye=Ie("http"),Lye=Ie("https"),lmt=Ie("url"),Oye={keepAlive:!0},cmt=new Nye.Agent(Oye),umt=new Lye.Agent(Oye);function Amt({agent:t,httpAgent:e,httpsAgent:r,requesterOptions:o={}}={}){let a=e||t||cmt,n=r||t||umt;return{send(u){return new Promise(A=>{let p=lmt.parse(u.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,C={...o,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:u.method,headers:{...o&&o.headers?o.headers:{},...u.headers},...p.port!==void 0?{port:p.port||""}:{}},w=(p.protocol==="https:"?Lye:Nye).request(C,R=>{let L=[];R.on("data",_=>{L=L.concat(_)}),R.on("end",()=>{clearTimeout(b),clearTimeout(E),A({status:R.statusCode||0,content:Buffer.concat(L).toString(),isTimedOut:!1})})}),v=(R,L)=>setTimeout(()=>{w.abort(),A({status:0,content:L,isTimedOut:!0})},R*1e3),b=v(u.connectTimeout,"Connection timeout"),E;w.on("error",R=>{clearTimeout(b),clearTimeout(E),A({status:0,content:R.message,isTimedOut:!1})}),w.once("response",()=>{clearTimeout(b),E=v(u.responseTimeout,"Socket timeout")}),u.data!==void 0&&w.write(u.data),w.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}GH.createNodeHttpRequester=Amt});var _ye=U((GWt,Uye)=>{Uye.exports=Mye()});var Gye=U((WWt,jye)=>{"use strict";var Hye=Mme(),fmt=Hme(),IC=Aye(),YH=P2(),WH=gye(),Lt=kye(),pmt=Tye(),hmt=_ye(),gmt=Q2();function qye(t,e,r){let o={appId:t,apiKey:e,timeouts:{connect:2,read:5,write:30},requester:hmt.createNodeHttpRequester(),logger:pmt.createNullLogger(),responsesCache:Hye.createNullCache(),requestsCache:Hye.createNullCache(),hostsCache:fmt.createInMemoryCache(),userAgent:gmt.createUserAgent(YH.version).add({segment:"Node.js",version:process.versions.node})},a={...o,...r},n=()=>u=>WH.createPersonalizationClient({...o,...u,methods:{getPersonalizationStrategy:WH.getPersonalizationStrategy,setPersonalizationStrategy:WH.setPersonalizationStrategy}});return Lt.createSearchClient({...a,methods:{search:Lt.multipleQueries,searchForFacetValues:Lt.multipleSearchForFacetValues,multipleBatch:Lt.multipleBatch,multipleGetObjects:Lt.multipleGetObjects,multipleQueries:Lt.multipleQueries,copyIndex:Lt.copyIndex,copySettings:Lt.copySettings,copyRules:Lt.copyRules,copySynonyms:Lt.copySynonyms,moveIndex:Lt.moveIndex,listIndices:Lt.listIndices,getLogs:Lt.getLogs,listClusters:Lt.listClusters,multipleSearchForFacetValues:Lt.multipleSearchForFacetValues,getApiKey:Lt.getApiKey,addApiKey:Lt.addApiKey,listApiKeys:Lt.listApiKeys,updateApiKey:Lt.updateApiKey,deleteApiKey:Lt.deleteApiKey,restoreApiKey:Lt.restoreApiKey,assignUserID:Lt.assignUserID,assignUserIDs:Lt.assignUserIDs,getUserID:Lt.getUserID,searchUserIDs:Lt.searchUserIDs,listUserIDs:Lt.listUserIDs,getTopUserIDs:Lt.getTopUserIDs,removeUserID:Lt.removeUserID,hasPendingMappings:Lt.hasPendingMappings,generateSecuredApiKey:Lt.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Lt.getSecuredApiKeyRemainingValidity,destroy:YH.destroy,clearDictionaryEntries:Lt.clearDictionaryEntries,deleteDictionaryEntries:Lt.deleteDictionaryEntries,getDictionarySettings:Lt.getDictionarySettings,getAppTask:Lt.getAppTask,replaceDictionaryEntries:Lt.replaceDictionaryEntries,saveDictionaryEntries:Lt.saveDictionaryEntries,searchDictionaryEntries:Lt.searchDictionaryEntries,setDictionarySettings:Lt.setDictionarySettings,waitAppTask:Lt.waitAppTask,customRequest:Lt.customRequest,initIndex:u=>A=>Lt.initIndex(u)(A,{methods:{batch:Lt.batch,delete:Lt.deleteIndex,findAnswers:Lt.findAnswers,getObject:Lt.getObject,getObjects:Lt.getObjects,saveObject:Lt.saveObject,saveObjects:Lt.saveObjects,search:Lt.search,searchForFacetValues:Lt.searchForFacetValues,waitTask:Lt.waitTask,setSettings:Lt.setSettings,getSettings:Lt.getSettings,partialUpdateObject:Lt.partialUpdateObject,partialUpdateObjects:Lt.partialUpdateObjects,deleteObject:Lt.deleteObject,deleteObjects:Lt.deleteObjects,deleteBy:Lt.deleteBy,clearObjects:Lt.clearObjects,browseObjects:Lt.browseObjects,getObjectPosition:Lt.getObjectPosition,findObject:Lt.findObject,exists:Lt.exists,saveSynonym:Lt.saveSynonym,saveSynonyms:Lt.saveSynonyms,getSynonym:Lt.getSynonym,searchSynonyms:Lt.searchSynonyms,browseSynonyms:Lt.browseSynonyms,deleteSynonym:Lt.deleteSynonym,clearSynonyms:Lt.clearSynonyms,replaceAllObjects:Lt.replaceAllObjects,replaceAllSynonyms:Lt.replaceAllSynonyms,searchRules:Lt.searchRules,getRule:Lt.getRule,deleteRule:Lt.deleteRule,saveRule:Lt.saveRule,saveRules:Lt.saveRules,replaceAllRules:Lt.replaceAllRules,browseRules:Lt.browseRules,clearRules:Lt.clearRules}}),initAnalytics:()=>u=>IC.createAnalyticsClient({...o,...u,methods:{addABTest:IC.addABTest,getABTest:IC.getABTest,getABTests:IC.getABTests,stopABTest:IC.stopABTest,deleteABTest:IC.deleteABTest}}),initPersonalization:n,initRecommendation:()=>u=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(u))}})}qye.version=YH.version;jye.exports=qye});var JH=U((YWt,KH)=>{var Wye=Gye();KH.exports=Wye;KH.exports.default=Wye});var XH=U((JWt,Jye)=>{"use strict";var Kye=Object.getOwnPropertySymbols,mmt=Object.prototype.hasOwnProperty,ymt=Object.prototype.propertyIsEnumerable;function Emt(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function Cmt(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(e).map(function(n){return e[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Jye.exports=Cmt()?Object.assign:function(t,e){for(var r,o=Emt(t),a,n=1;n<arguments.length;n++){r=Object(arguments[n]);for(var u in r)mmt.call(r,u)&&(o[u]=r[u]);if(Kye){a=Kye(r);for(var A=0;A<a.length;A++)ymt.call(r,a[A])&&(o[a[A]]=r[a[A]])}}return o}});var oEe=U(Qn=>{"use strict";var r6=XH(),tu=typeof Symbol=="function"&&Symbol.for,N2=tu?Symbol.for("react.element"):60103,Imt=tu?Symbol.for("react.portal"):60106,wmt=tu?Symbol.for("react.fragment"):60107,Bmt=tu?Symbol.for("react.strict_mode"):60108,vmt=tu?Symbol.for("react.profiler"):60114,Dmt=tu?Symbol.for("react.provider"):60109,Smt=tu?Symbol.for("react.context"):60110,Pmt=tu?Symbol.for("react.forward_ref"):60112,xmt=tu?Symbol.for("react.suspense"):60113,bmt=tu?Symbol.for("react.memo"):60115,Qmt=tu?Symbol.for("react.lazy"):60116,Vye=typeof Symbol=="function"&&Symbol.iterator;function L2(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r<arguments.length;r++)e+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var zye={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Xye={};function wC(t,e,r){this.props=t,this.context=e,this.refs=Xye,this.updater=r||zye}wC.prototype.isReactComponent={};wC.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error(L2(85));this.updater.enqueueSetState(this,t,e,"setState")};wC.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Zye(){}Zye.prototype=wC.prototype;function n6(t,e,r){this.props=t,this.context=e,this.refs=Xye,this.updater=r||zye}var i6=n6.prototype=new Zye;i6.constructor=n6;r6(i6,wC.prototype);i6.isPureReactComponent=!0;var s6={current:null},$ye=Object.prototype.hasOwnProperty,eEe={key:!0,ref:!0,__self:!0,__source:!0};function tEe(t,e,r){var o,a={},n=null,u=null;if(e!=null)for(o in e.ref!==void 0&&(u=e.ref),e.key!==void 0&&(n=""+e.key),e)$ye.call(e,o)&&!eEe.hasOwnProperty(o)&&(a[o]=e[o]);var A=arguments.length-2;if(A===1)a.children=r;else if(1<A){for(var p=Array(A),h=0;h<A;h++)p[h]=arguments[h+2];a.children=p}if(t&&t.defaultProps)for(o in A=t.defaultProps,A)a[o]===void 0&&(a[o]=A[o]);return{$$typeof:N2,type:t,key:n,ref:u,props:a,_owner:s6.current}}function kmt(t,e){return{$$typeof:N2,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function o6(t){return typeof t=="object"&&t!==null&&t.$$typeof===N2}function Fmt(t){var e={"=":"=0",":":"=2"};return"$"+(""+t).replace(/[=:]/g,function(r){return e[r]})}var rEe=/\/+/g,pQ=[];function nEe(t,e,r,o){if(pQ.length){var a=pQ.pop();return a.result=t,a.keyPrefix=e,a.func=r,a.context=o,a.count=0,a}return{result:t,keyPrefix:e,func:r,context:o,count:0}}function iEe(t){t.result=null,t.keyPrefix=null,t.func=null,t.context=null,t.count=0,10>pQ.length&&pQ.push(t)}function $H(t,e,r,o){var a=typeof t;(a==="undefined"||a==="boolean")&&(t=null);var n=!1;if(t===null)n=!0;else switch(a){case"string":case"number":n=!0;break;case"object":switch(t.$$typeof){case N2:case Imt:n=!0}}if(n)return r(o,t,e===""?"."+ZH(t,0):e),1;if(n=0,e=e===""?".":e+":",Array.isArray(t))for(var u=0;u<t.length;u++){a=t[u];var A=e+ZH(a,u);n+=$H(a,A,r,o)}else if(t===null||typeof t!="object"?A=null:(A=Vye&&t[Vye]||t["@@iterator"],A=typeof A=="function"?A:null),typeof A=="function")for(t=A.call(t),u=0;!(a=t.next()).done;)a=a.value,A=e+ZH(a,u++),n+=$H(a,A,r,o);else if(a==="object")throw r=""+t,Error(L2(31,r==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return n}function e6(t,e,r){return t==null?0:$H(t,"",e,r)}function ZH(t,e){return typeof t=="object"&&t!==null&&t.key!=null?Fmt(t.key):e.toString(36)}function Rmt(t,e){t.func.call(t.context,e,t.count++)}function Tmt(t,e,r){var o=t.result,a=t.keyPrefix;t=t.func.call(t.context,e,t.count++),Array.isArray(t)?t6(t,o,r,function(n){return n}):t!=null&&(o6(t)&&(t=kmt(t,a+(!t.key||e&&e.key===t.key?"":(""+t.key).replace(rEe,"$&/")+"/")+r)),o.push(t))}function t6(t,e,r,o,a){var n="";r!=null&&(n=(""+r).replace(rEe,"$&/")+"/"),e=nEe(e,n,o,a),e6(t,Tmt,e),iEe(e)}var sEe={current:null};function Jf(){var t=sEe.current;if(t===null)throw Error(L2(321));return t}var Nmt={ReactCurrentDispatcher:sEe,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:s6,IsSomeRendererActing:{current:!1},assign:r6};Qn.Children={map:function(t,e,r){if(t==null)return t;var o=[];return t6(t,o,null,e,r),o},forEach:function(t,e,r){if(t==null)return t;e=nEe(null,null,e,r),e6(t,Rmt,e),iEe(e)},count:function(t){return e6(t,function(){return null},null)},toArray:function(t){var e=[];return t6(t,e,null,function(r){return r}),e},only:function(t){if(!o6(t))throw Error(L2(143));return t}};Qn.Component=wC;Qn.Fragment=wmt;Qn.Profiler=vmt;Qn.PureComponent=n6;Qn.StrictMode=Bmt;Qn.Suspense=xmt;Qn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Nmt;Qn.cloneElement=function(t,e,r){if(t==null)throw Error(L2(267,t));var o=r6({},t.props),a=t.key,n=t.ref,u=t._owner;if(e!=null){if(e.ref!==void 0&&(n=e.ref,u=s6.current),e.key!==void 0&&(a=""+e.key),t.type&&t.type.defaultProps)var A=t.type.defaultProps;for(p in e)$ye.call(e,p)&&!eEe.hasOwnProperty(p)&&(o[p]=e[p]===void 0&&A!==void 0?A[p]:e[p])}var p=arguments.length-2;if(p===1)o.children=r;else if(1<p){A=Array(p);for(var h=0;h<p;h++)A[h]=arguments[h+2];o.children=A}return{$$typeof:N2,type:t.type,key:a,ref:n,props:o,_owner:u}};Qn.createContext=function(t,e){return e===void 0&&(e=null),t={$$typeof:Smt,_calculateChangedBits:e,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider={$$typeof:Dmt,_context:t},t.Consumer=t};Qn.createElement=tEe;Qn.createFactory=function(t){var e=tEe.bind(null,t);return e.type=t,e};Qn.createRef=function(){return{current:null}};Qn.forwardRef=function(t){return{$$typeof:Pmt,render:t}};Qn.isValidElement=o6;Qn.lazy=function(t){return{$$typeof:Qmt,_ctor:t,_status:-1,_result:null}};Qn.memo=function(t,e){return{$$typeof:bmt,type:t,compare:e===void 0?null:e}};Qn.useCallback=function(t,e){return Jf().useCallback(t,e)};Qn.useContext=function(t,e){return Jf().useContext(t,e)};Qn.useDebugValue=function(){};Qn.useEffect=function(t,e){return Jf().useEffect(t,e)};Qn.useImperativeHandle=function(t,e,r){return Jf().useImperativeHandle(t,e,r)};Qn.useLayoutEffect=function(t,e){return Jf().useLayoutEffect(t,e)};Qn.useMemo=function(t,e){return Jf().useMemo(t,e)};Qn.useReducer=function(t,e,r){return Jf().useReducer(t,e,r)};Qn.useRef=function(t){return Jf().useRef(t)};Qn.useState=function(t){return Jf().useState(t)};Qn.version="16.13.1"});var en=U((zWt,aEe)=>{"use strict";aEe.exports=oEe()});var l6=U((XWt,a6)=>{"use strict";var on=a6.exports;a6.exports.default=on;var kn="\x1B[",O2="\x1B]",BC="\x07",hQ=";",lEe=process.env.TERM_PROGRAM==="Apple_Terminal";on.cursorTo=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?kn+(t+1)+"G":kn+(e+1)+";"+(t+1)+"H"};on.cursorMove=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=kn+-t+"D":t>0&&(r+=kn+t+"C"),e<0?r+=kn+-e+"A":e>0&&(r+=kn+e+"B"),r};on.cursorUp=(t=1)=>kn+t+"A";on.cursorDown=(t=1)=>kn+t+"B";on.cursorForward=(t=1)=>kn+t+"C";on.cursorBackward=(t=1)=>kn+t+"D";on.cursorLeft=kn+"G";on.cursorSavePosition=lEe?"\x1B7":kn+"s";on.cursorRestorePosition=lEe?"\x1B8":kn+"u";on.cursorGetPosition=kn+"6n";on.cursorNextLine=kn+"E";on.cursorPrevLine=kn+"F";on.cursorHide=kn+"?25l";on.cursorShow=kn+"?25h";on.eraseLines=t=>{let e="";for(let r=0;r<t;r++)e+=on.eraseLine+(r<t-1?on.cursorUp():"");return t&&(e+=on.cursorLeft),e};on.eraseEndLine=kn+"K";on.eraseStartLine=kn+"1K";on.eraseLine=kn+"2K";on.eraseDown=kn+"J";on.eraseUp=kn+"1J";on.eraseScreen=kn+"2J";on.scrollUp=kn+"S";on.scrollDown=kn+"T";on.clearScreen="\x1Bc";on.clearTerminal=process.platform==="win32"?`${on.eraseScreen}${kn}0f`:`${on.eraseScreen}${kn}3J${kn}H`;on.beep=BC;on.link=(t,e)=>[O2,"8",hQ,hQ,e,BC,t,O2,"8",hQ,hQ,BC].join("");on.image=(t,e={})=>{let r=`${O2}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+t.toString("base64")+BC};on.iTerm={setCwd:(t=process.cwd())=>`${O2}50;CurrentDir=${t}${BC}`,annotation:(t,e={})=>{let r=`${O2}1337;`,o=typeof e.x<"u",a=typeof e.y<"u";if((o||a)&&!(o&&a&&typeof e.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replace(/\|/g,""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(o?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+BC}}});var uEe=U((ZWt,c6)=>{"use strict";var cEe=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};c6.exports=cEe;c6.exports.default=cEe});var fEe=U(($Wt,dQ)=>{"use strict";var Lmt=uEe(),gQ=new WeakMap,AEe=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,o=0,a=t.displayName||t.name||"<anonymous>",n=function(...u){if(gQ.set(n,++o),o===1)r=t.apply(this,u),t=null;else if(e.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return Lmt(n,t),gQ.set(n,o),n};dQ.exports=AEe;dQ.exports.default=AEe;dQ.exports.callCount=t=>{if(!gQ.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return gQ.get(t)}});var pEe=U((eYt,mQ)=>{mQ.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&mQ.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&mQ.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var f6=U((tYt,SC)=>{var gi=global.process,nm=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};nm(gi)?(hEe=Ie("assert"),vC=pEe(),gEe=/^win/i.test(gi.platform),M2=Ie("events"),typeof M2!="function"&&(M2=M2.EventEmitter),gi.__signal_exit_emitter__?xs=gi.__signal_exit_emitter__:(xs=gi.__signal_exit_emitter__=new M2,xs.count=0,xs.emitted={}),xs.infinite||(xs.setMaxListeners(1/0),xs.infinite=!0),SC.exports=function(t,e){if(!nm(global.process))return function(){};hEe.equal(typeof t,"function","a callback must be provided for exit handler"),DC===!1&&u6();var r="exit";e&&e.alwaysLast&&(r="afterexit");var o=function(){xs.removeListener(r,t),xs.listeners("exit").length===0&&xs.listeners("afterexit").length===0&&yQ()};return xs.on(r,t),o},yQ=function(){!DC||!nm(global.process)||(DC=!1,vC.forEach(function(e){try{gi.removeListener(e,EQ[e])}catch{}}),gi.emit=CQ,gi.reallyExit=A6,xs.count-=1)},SC.exports.unload=yQ,im=function(e,r,o){xs.emitted[e]||(xs.emitted[e]=!0,xs.emit(e,r,o))},EQ={},vC.forEach(function(t){EQ[t]=function(){if(!!nm(global.process)){var r=gi.listeners(t);r.length===xs.count&&(yQ(),im("exit",null,t),im("afterexit",null,t),gEe&&t==="SIGHUP"&&(t="SIGINT"),gi.kill(gi.pid,t))}}}),SC.exports.signals=function(){return vC},DC=!1,u6=function(){DC||!nm(global.process)||(DC=!0,xs.count+=1,vC=vC.filter(function(e){try{return gi.on(e,EQ[e]),!0}catch{return!1}}),gi.emit=mEe,gi.reallyExit=dEe)},SC.exports.load=u6,A6=gi.reallyExit,dEe=function(e){!nm(global.process)||(gi.exitCode=e||0,im("exit",gi.exitCode,null),im("afterexit",gi.exitCode,null),A6.call(gi,gi.exitCode))},CQ=gi.emit,mEe=function(e,r){if(e==="exit"&&nm(global.process)){r!==void 0&&(gi.exitCode=r);var o=CQ.apply(this,arguments);return im("exit",gi.exitCode,null),im("afterexit",gi.exitCode,null),o}else return CQ.apply(this,arguments)}):SC.exports=function(){return function(){}};var hEe,vC,gEe,M2,xs,yQ,im,EQ,DC,u6,A6,dEe,CQ,mEe});var EEe=U((rYt,yEe)=>{"use strict";var Omt=fEe(),Mmt=f6();yEe.exports=Omt(()=>{Mmt(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var p6=U(PC=>{"use strict";var Umt=EEe(),IQ=!1;PC.show=(t=process.stderr)=>{!t.isTTY||(IQ=!1,t.write("\x1B[?25h"))};PC.hide=(t=process.stderr)=>{!t.isTTY||(Umt(),IQ=!0,t.write("\x1B[?25l"))};PC.toggle=(t,e)=>{t!==void 0&&(IQ=t),IQ?PC.show(e):PC.hide(e)}});var BEe=U(U2=>{"use strict";var wEe=U2&&U2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(U2,"__esModule",{value:!0});var CEe=wEe(l6()),IEe=wEe(p6()),_mt=(t,{showCursor:e=!1}={})=>{let r=0,o="",a=!1,n=u=>{!e&&!a&&(IEe.default.hide(),a=!0);let A=u+` | 279 | ${this.getDeclarations()}`}createSession(){return new CH(this.project,this.fullSource)}async processClassic(){let e=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(e),enforcedFields:await this.genEnforcedFields(e)}}async process(){let{enforcedDependencies:e,enforcedFields:r}=await this.processClassic(),o=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:u,dependencyType:A}of e){let p=l2([A,Y.stringifyIdent(n)]),h=Ye.getMapWithDefault(o,a.cwd);Ye.getMapWithDefault(h,p).set(u??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:u}of r){let A=l2(n),p=Ye.getMapWithDefault(o,a.cwd);Ye.getMapWithDefault(p,A).set(JSON.parse(u)??void 0,new Set)}return{manifestUpdates:o,reportedErrors:new Map}}async genEnforcedDependencies(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=z.resolve(this.project.cwd,rm(o.links.WorkspaceCwd)),n=rm(o.links.DependencyIdent),u=rm(o.links.DependencyRange),A=rm(o.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=Y.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:u,dependencyType:A})}return Ye.sortMap(r,[({dependencyRange:o})=>o!==null?"0":"1",({workspace:o})=>Y.stringifyIdent(o.locator),({dependencyIdent:o})=>Y.stringifyIdent(o)])}async genEnforcedFields(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=z.resolve(this.project.cwd,rm(o.links.WorkspaceCwd)),n=rm(o.links.FieldPath),u=fgt(o.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let A=this.project.getWorkspaceByCwd(a);r.push({workspace:A,fieldPath:n,fieldValue:u})}return Ye.sortMap(r,[({workspace:o})=>Y.stringifyIdent(o.locator),({fieldPath:o})=>o])}async*query(e){let r=this.createSession();for await(let o of r.makeQuery(e)){let a={};for(let[n,u]of Object.entries(o.links))n!=="_"&&(a[n]=rm(u));yield a}}}});var qme=U(hQ=>{"use strict";Object.defineProperty(hQ,"__esModule",{value:!0});function Q2(t){let e=[...t.caches],r=e.shift();return r===void 0?Hme():{get(o,a,n={miss:()=>Promise.resolve()}){return r.get(o,a,n).catch(()=>Q2({caches:e}).get(o,a,n))},set(o,a){return r.set(o,a).catch(()=>Q2({caches:e}).set(o,a))},delete(o){return r.delete(o).catch(()=>Q2({caches:e}).delete(o))},clear(){return r.clear().catch(()=>Q2({caches:e}).clear())}}}function Hme(){return{get(t,e,r={miss:()=>Promise.resolve()}){return e().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}hQ.createFallbackableCache=Q2;hQ.createNullCache=Hme});var Gme=U((RWt,jme)=>{jme.exports=qme()});var Wme=U(RH=>{"use strict";Object.defineProperty(RH,"__esModule",{value:!0});function kgt(t={serializable:!0}){let e={};return{get(r,o,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in e)return Promise.resolve(t.serializable?JSON.parse(e[n]):e[n]);let u=o(),A=a&&a.miss||(()=>Promise.resolve());return u.then(p=>A(p)).then(()=>u)},set(r,o){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(o):o,Promise.resolve(o)},delete(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}RH.createInMemoryCache=kgt});var Kme=U((NWt,Yme)=>{Yme.exports=Wme()});var Jme=U(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});function Fgt(t,e,r){let o={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return t===TH.WithinHeaders?o:{}},queryParameters(){return t===TH.WithinQueryParameters?o:{}}}}function Rgt(t){let e=0,r=()=>(e++,new Promise(o=>{setTimeout(()=>{o(t(r))},Math.min(100*e,1e3))}));return t(r)}function Vme(t,e=(r,o)=>Promise.resolve()){return Object.assign(t,{wait(r){return Vme(t.then(o=>Promise.all([e(o,r),o])).then(o=>o[1]))}})}function Tgt(t){let e=t.length-1;for(e;e>0;e--){let r=Math.floor(Math.random()*(e+1)),o=t[e];t[e]=t[r],t[r]=o}return t}function Ngt(t,e){return e&&Object.keys(e).forEach(r=>{t[r]=e[r](t)}),t}function Lgt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}var Ogt="4.14.2",Mgt=t=>()=>t.transporter.requester.destroy(),TH={WithinQueryParameters:0,WithinHeaders:1};ru.AuthMode=TH;ru.addMethods=Ngt;ru.createAuth=Fgt;ru.createRetryablePromise=Rgt;ru.createWaitablePromise=Vme;ru.destroy=Mgt;ru.encode=Lgt;ru.shuffle=Tgt;ru.version=Ogt});var k2=U((OWt,zme)=>{zme.exports=Jme()});var Xme=U(NH=>{"use strict";Object.defineProperty(NH,"__esModule",{value:!0});var Ugt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};NH.MethodEnum=Ugt});var F2=U((UWt,Zme)=>{Zme.exports=Xme()});var pye=U(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});var eye=F2();function LH(t,e){let r=t||{},o=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(o[a]=r[a])}),{data:Object.entries(o).length>0?o:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var R2={Read:1,Write:2,Any:3},BE={Up:1,Down:2,Timeouted:3},tye=2*60*1e3;function MH(t,e=BE.Up){return{...t,status:e,lastUpdate:Date.now()}}function rye(t){return t.status===BE.Up||Date.now()-t.lastUpdate>tye}function nye(t){return t.status===BE.Timeouted&&Date.now()-t.lastUpdate<=tye}function UH(t){return typeof t=="string"?{protocol:"https",url:t,accept:R2.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||R2.Any}}function _gt(t,e){return Promise.all(e.map(r=>t.get(r,()=>Promise.resolve(MH(r))))).then(r=>{let o=r.filter(A=>rye(A)),a=r.filter(A=>nye(A)),n=[...o,...a],u=n.length>0?n.map(A=>UH(A)):e;return{getTimeout(A,p){return(a.length===0&&A===0?1:a.length+3+A)*p},statelessHosts:u}})}var Hgt=({isTimedOut:t,status:e})=>!t&&~~e===0,qgt=t=>{let e=t.status;return t.isTimedOut||Hgt(t)||~~(e/100)!==2&&~~(e/100)!==4},jgt=({status:t})=>~~(t/100)===2,Ggt=(t,e)=>qgt(t)?e.onRetry(t):jgt(t)?e.onSuccess(t):e.onFail(t);function $me(t,e,r,o){let a=[],n=lye(r,o),u=cye(t,o),A=r.method,p=r.method!==eye.MethodEnum.Get?{}:{...r.data,...o.data},h={"x-algolia-agent":t.userAgent.value,...t.queryParameters,...p,...o.queryParameters},E=0,w=(v,b)=>{let C=v.pop();if(C===void 0)throw fye(OH(a));let R={data:n,headers:u,method:A,url:oye(C,r.path,h),connectTimeout:b(E,t.timeouts.connect),responseTimeout:b(E,o.timeout)},L=V=>{let re={request:R,response:V,host:C,triesLeft:v.length};return a.push(re),re},_={onSuccess:V=>iye(V),onRetry(V){let re=L(V);return V.isTimedOut&&E++,Promise.all([t.logger.info("Retryable failure",_H(re)),t.hostsCache.set(C,MH(C,V.isTimedOut?BE.Timeouted:BE.Down))]).then(()=>w(v,b))},onFail(V){throw L(V),sye(V,OH(a))}};return t.requester.send(R).then(V=>Ggt(V,_))};return _gt(t.hostsCache,e).then(v=>w([...v.statelessHosts].reverse(),v.getTimeout))}function Wgt(t){let{hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,hosts:p,queryParameters:h,headers:E}=t,w={hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,headers:E,queryParameters:h,hosts:p.map(v=>UH(v)),read(v,b){let C=LH(b,w.timeouts.read),R=()=>$me(w,w.hosts.filter(V=>(V.accept&R2.Read)!==0),v,C);if((C.cacheable!==void 0?C.cacheable:v.cacheable)!==!0)return R();let _={request:v,mappedRequestOptions:C,transporter:{queryParameters:w.queryParameters,headers:w.headers}};return w.responsesCache.get(_,()=>w.requestsCache.get(_,()=>w.requestsCache.set(_,R()).then(V=>Promise.all([w.requestsCache.delete(_),V]),V=>Promise.all([w.requestsCache.delete(_),Promise.reject(V)])).then(([V,re])=>re)),{miss:V=>w.responsesCache.set(_,V)})},write(v,b){return $me(w,w.hosts.filter(C=>(C.accept&R2.Write)!==0),v,LH(b,w.timeouts.write))}};return w}function Ygt(t){let e={value:`Algolia for JavaScript (${t})`,add(r){let o=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return e.value.indexOf(o)===-1&&(e.value=`${e.value}${o}`),e}};return e}function iye(t){try{return JSON.parse(t.content)}catch(e){throw Aye(e.message,t)}}function sye({content:t,status:e},r){let o=t;try{o=JSON.parse(t).message}catch{}return uye(o,e,r)}function Kgt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}function oye(t,e,r){let o=aye(r),a=`${t.protocol}://${t.url}/${e.charAt(0)==="/"?e.substr(1):e}`;return o.length&&(a+=`?${o}`),a}function aye(t){let e=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(t).map(r=>Kgt("%s=%s",r,e(t[r])?JSON.stringify(t[r]):t[r])).join("&")}function lye(t,e){if(t.method===eye.MethodEnum.Get||t.data===void 0&&e.data===void 0)return;let r=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(r)}function cye(t,e){let r={...t.headers,...e.headers},o={};return Object.keys(r).forEach(a=>{let n=r[a];o[a.toLowerCase()]=n}),o}function OH(t){return t.map(e=>_H(e))}function _H(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function uye(t,e,r){return{name:"ApiError",message:t,status:e,transporterStackTrace:r}}function Aye(t,e){return{name:"DeserializationError",message:t,response:e}}function fye(t){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:t}}bi.CallEnum=R2;bi.HostStatusEnum=BE;bi.createApiError=uye;bi.createDeserializationError=Aye;bi.createMappedRequestOptions=LH;bi.createRetryError=fye;bi.createStatefulHost=MH;bi.createStatelessHost=UH;bi.createTransporter=Wgt;bi.createUserAgent=Ygt;bi.deserializeFailure=sye;bi.deserializeSuccess=iye;bi.isStatefulHostTimeouted=nye;bi.isStatefulHostUp=rye;bi.serializeData=lye;bi.serializeHeaders=cye;bi.serializeQueryParameters=aye;bi.serializeUrl=oye;bi.stackFrameWithoutCredentials=_H;bi.stackTraceWithoutCredentials=OH});var T2=U((HWt,hye)=>{hye.exports=pye()});var gye=U(hh=>{"use strict";Object.defineProperty(hh,"__esModule",{value:!0});var vE=k2(),Vgt=T2(),N2=F2(),Jgt=t=>{let e=t.region||"us",r=vE.createAuth(vE.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Vgt.createTransporter({hosts:[{url:`analytics.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a=t.appId;return vE.addMethods({appId:a,transporter:o},t.methods)},zgt=t=>(e,r)=>t.transporter.write({method:N2.MethodEnum.Post,path:"2/abtests",data:e},r),Xgt=t=>(e,r)=>t.transporter.write({method:N2.MethodEnum.Delete,path:vE.encode("2/abtests/%s",e)},r),Zgt=t=>(e,r)=>t.transporter.read({method:N2.MethodEnum.Get,path:vE.encode("2/abtests/%s",e)},r),$gt=t=>e=>t.transporter.read({method:N2.MethodEnum.Get,path:"2/abtests"},e),edt=t=>(e,r)=>t.transporter.write({method:N2.MethodEnum.Post,path:vE.encode("2/abtests/%s/stop",e)},r);hh.addABTest=zgt;hh.createAnalyticsClient=Jgt;hh.deleteABTest=Xgt;hh.getABTest=Zgt;hh.getABTests=$gt;hh.stopABTest=edt});var mye=U((jWt,dye)=>{dye.exports=gye()});var Cye=U(L2=>{"use strict";Object.defineProperty(L2,"__esModule",{value:!0});var HH=k2(),tdt=T2(),yye=F2(),rdt=t=>{let e=t.region||"us",r=HH.createAuth(HH.AuthMode.WithinHeaders,t.appId,t.apiKey),o=tdt.createTransporter({hosts:[{url:`personalization.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}});return HH.addMethods({appId:t.appId,transporter:o},t.methods)},ndt=t=>e=>t.transporter.read({method:yye.MethodEnum.Get,path:"1/strategies/personalization"},e),idt=t=>(e,r)=>t.transporter.write({method:yye.MethodEnum.Post,path:"1/strategies/personalization",data:e},r);L2.createPersonalizationClient=rdt;L2.getPersonalizationStrategy=ndt;L2.setPersonalizationStrategy=idt});var Iye=U((WWt,Eye)=>{Eye.exports=Cye()});var Nye=U(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});var Ht=k2(),Na=T2(),mr=F2(),sdt=Ie("crypto");function gQ(t){let e=r=>t.request(r).then(o=>{if(t.batch!==void 0&&t.batch(o.hits),!t.shouldStop(o))return o.cursor?e({cursor:o.cursor}):e({page:(r.page||0)+1})});return e({})}var odt=t=>{let e=t.appId,r=Ht.createAuth(t.authMode!==void 0?t.authMode:Ht.AuthMode.WithinHeaders,e,t.apiKey),o=Na.createTransporter({hosts:[{url:`${e}-dsn.algolia.net`,accept:Na.CallEnum.Read},{url:`${e}.algolia.net`,accept:Na.CallEnum.Write}].concat(Ht.shuffle([{url:`${e}-1.algolianet.com`},{url:`${e}-2.algolianet.com`},{url:`${e}-3.algolianet.com`}])),...t,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a={transporter:o,appId:e,addAlgoliaAgent(n,u){o.userAgent.add({segment:n,version:u})},clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})}};return Ht.addMethods(a,t.methods)};function wye(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function Bye(){return{name:"ObjectNotFoundError",message:"Object not found."}}function vye(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var adt=t=>(e,r)=>{let{queryParameters:o,...a}=r||{},n={acl:e,...o!==void 0?{queryParameters:o}:{}},u=(A,p)=>Ht.createRetryablePromise(h=>O2(t)(A.key,p).catch(E=>{if(E.status!==404)throw E;return h()}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:"1/keys",data:n},a),u)},ldt=t=>(e,r,o)=>{let a=Na.createMappedRequestOptions(o);return a.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:mr.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},cdt=t=>(e,r,o)=>t.transporter.write({method:mr.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:e,cluster:r}},o),udt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(o,a)=>DE(t)(o.taskID,a)),dQ=t=>(e,r,o)=>{let a=(n,u)=>M2(t)(e,{methods:{waitTask:zi}}).waitTask(n.taskID,u);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",e),data:{operation:"copy",destination:r}},o),a)},Adt=t=>(e,r,o)=>dQ(t)(e,r,{...o,scope:[yQ.Rules]}),fdt=t=>(e,r,o)=>dQ(t)(e,r,{...o,scope:[yQ.Settings]}),pdt=t=>(e,r,o)=>dQ(t)(e,r,{...o,scope:[yQ.Synonyms]}),hdt=t=>(e,r)=>e.method===mr.MethodEnum.Get?t.transporter.read(e,r):t.transporter.write(e,r),gdt=t=>(e,r)=>{let o=(a,n)=>Ht.createRetryablePromise(u=>O2(t)(e,n).then(u).catch(A=>{if(A.status!==404)throw A}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/keys/%s",e)},r),o)},ddt=t=>(e,r,o)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>DE(t)(n.taskID,u))},mdt=()=>(t,e)=>{let r=Na.serializeQueryParameters(e),o=sdt.createHmac("sha256",t).update(r).digest("hex");return Buffer.from(o+r).toString("base64")},O2=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/keys/%s",e)},r),Dye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/task/%s",e.toString())},r),ydt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"/1/dictionaries/*/settings"},e),Cdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/logs"},e),Edt=()=>t=>{let e=Buffer.from(t,"base64").toString("ascii"),r=/validUntil=(\d+)/,o=e.match(r);if(o===null)throw vye();return parseInt(o[1],10)-Math.round(new Date().getTime()/1e3)},Idt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping/top"},e),wdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/clusters/mapping/%s",e)},r),Bdt=t=>e=>{let{retrieveMappings:r,...o}=e||{};return r===!0&&(o.getClusters=!0),t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping/pending"},o)},M2=t=>(e,r={})=>{let o={transporter:t.transporter,appId:t.appId,indexName:e};return Ht.addMethods(o,r.methods)},vdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/keys"},e),Ddt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters"},e),Sdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/indexes"},e),Pdt=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:"1/clusters/mapping"},e),xdt=t=>(e,r,o)=>{let a=(n,u)=>M2(t)(e,{methods:{waitTask:zi}}).waitTask(n.taskID,u);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",e),data:{operation:"move",destination:r}},o),a)},bdt=t=>(e,r)=>{let o=(a,n)=>Promise.all(Object.keys(a.taskID).map(u=>M2(t)(u,{methods:{waitTask:zi}}).waitTask(a.taskID[u],n)));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:e}},r),o)},Qdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:e}},r),kdt=t=>(e,r)=>{let o=e.map(a=>({...a,params:Na.serializeQueryParameters(a.params||{})}));return t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},r)},Fdt=t=>(e,r)=>Promise.all(e.map(o=>{let{facetName:a,facetQuery:n,...u}=o.params;return M2(t)(o.indexName,{methods:{searchForFacetValues:Fye}}).searchForFacetValues(a,n,{...r,...u})})),Rdt=t=>(e,r)=>{let o=Na.createMappedRequestOptions(r);return o.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:mr.MethodEnum.Delete,path:"1/clusters/mapping"},o)},Tdt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:a}},o),(n,u)=>DE(t)(n.taskID,u))},Ndt=t=>(e,r)=>{let o=(a,n)=>Ht.createRetryablePromise(u=>O2(t)(e,n).catch(A=>{if(A.status!==404)throw A;return u()}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/keys/%s/restore",e)},r),o)},Ldt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>DE(t)(n.taskID,u))},Odt=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("/1/dictionaries/%s/search",e),data:{query:r},cacheable:!0},o),Mdt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:e}},r),Udt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:e},r),(o,a)=>DE(t)(o.taskID,a)),_dt=t=>(e,r)=>{let o=Object.assign({},r),{queryParameters:a,...n}=r||{},u=a?{queryParameters:a}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=E=>Object.keys(o).filter(w=>A.indexOf(w)!==-1).every(w=>E[w]===o[w]),h=(E,w)=>Ht.createRetryablePromise(v=>O2(t)(e,w).then(b=>p(b)?Promise.resolve():v()));return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:Ht.encode("1/keys/%s",e),data:u},n),h)},DE=t=>(e,r)=>Ht.createRetryablePromise(o=>Dye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),Sye=t=>(e,r)=>{let o=(a,n)=>zi(t)(a.taskID,n);return Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/batch",t.indexName),data:{requests:e}},r),o)},Hdt=t=>e=>gQ({shouldStop:r=>r.cursor===void 0,...e,request:r=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/browse",t.indexName),data:r},e)}),qdt=t=>e=>{let r={hitsPerPage:1e3,...e};return gQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return Rye(t)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},jdt=t=>e=>{let r={hitsPerPage:1e3,...e};return gQ({shouldStop:o=>o.hits.length<r.hitsPerPage,...r,request(o){return Tye(t)("",{...r,...o}).then(a=>({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},mQ=t=>(e,r,o)=>{let{batchSize:a,...n}=o||{},u={taskIDs:[],objectIDs:[]},A=(p=0)=>{let h=[],E;for(E=p;E<e.length&&(h.push(e[E]),h.length!==(a||1e3));E++);return h.length===0?Promise.resolve(u):Sye(t)(h.map(w=>({action:r,body:w})),n).then(w=>(u.objectIDs=u.objectIDs.concat(w.objectIDs),u.taskIDs.push(w.taskID),E++,A(E)))};return Ht.createWaitablePromise(A(),(p,h)=>Promise.all(p.taskIDs.map(E=>zi(t)(E,h))))},Gdt=t=>e=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/clear",t.indexName)},e),(r,o)=>zi(t)(r.taskID,o)),Wdt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Na.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/clear",t.indexName)},a),(n,u)=>zi(t)(n.taskID,u))},Ydt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=Na.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/clear",t.indexName)},a),(n,u)=>zi(t)(n.taskID,u))},Kdt=t=>(e,r)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/deleteByQuery",t.indexName),data:e},r),(o,a)=>zi(t)(o.taskID,a)),Vdt=t=>e=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s",t.indexName)},e),(r,o)=>zi(t)(r.taskID,o)),Jdt=t=>(e,r)=>Ht.createWaitablePromise(Pye(t)([e],r).then(o=>({taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),Pye=t=>(e,r)=>{let o=e.map(a=>({objectID:a}));return mQ(t)(o,sm.DeleteObject,r)},zdt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s/rules/%s",t.indexName,e)},n),(u,A)=>zi(t)(u.taskID,A))},Xdt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Delete,path:Ht.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},n),(u,A)=>zi(t)(u.taskID,A))},Zdt=t=>e=>xye(t)(e).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),$dt=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},o),emt=t=>(e,r)=>{let{query:o,paginate:a,...n}=r||{},u=0,A=()=>kye(t)(o||"",{...n,page:u}).then(p=>{for(let[h,E]of Object.entries(p.hits))if(e(E))return{object:E,position:parseInt(h,10),page:u};if(u++,a===!1||u>=p.nbPages)throw Bye();return A()});return A()},tmt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/%s",t.indexName,e)},r),rmt=()=>(t,e)=>{for(let[r,o]of Object.entries(t.hits))if(o.objectID===e)return parseInt(r,10);return-1},nmt=t=>(e,r)=>{let{attributesToRetrieve:o,...a}=r||{},n=e.map(u=>({indexName:t.indexName,objectID:u,...o?{attributesToRetrieve:o}:{}}));return t.transporter.read({method:mr.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},imt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/rules/%s",t.indexName,e)},r),xye=t=>e=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/settings",t.indexName),data:{getVersion:2}},e),smt=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},r),bye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Get,path:Ht.encode("1/indexes/%s/task/%s",t.indexName,e.toString())},r),omt=t=>(e,r)=>Ht.createWaitablePromise(Qye(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),Qye=t=>(e,r)=>{let{createIfNotExists:o,...a}=r||{},n=o?sm.PartialUpdateObject:sm.PartialUpdateObjectNoCreate;return mQ(t)(e,n,a)},amt=t=>(e,r)=>{let{safe:o,autoGenerateObjectIDIfNotExist:a,batchSize:n,...u}=r||{},A=(C,R,L,_)=>Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/operation",C),data:{operation:L,destination:R}},_),(V,re)=>zi(t)(V.taskID,re)),p=Math.random().toString(36).substring(7),h=`${t.indexName}_tmp_${p}`,E=qH({appId:t.appId,transporter:t.transporter,indexName:h}),w=[],v=A(t.indexName,h,"copy",{...u,scope:["settings","synonyms","rules"]});w.push(v);let b=(o?v.wait(u):v).then(()=>{let C=E(e,{...u,autoGenerateObjectIDIfNotExist:a,batchSize:n});return w.push(C),o?C.wait(u):C}).then(()=>{let C=A(h,t.indexName,"move",u);return w.push(C),o?C.wait(u):C}).then(()=>Promise.all(w)).then(([C,R,L])=>({objectIDs:R.objectIDs,taskIDs:[C.taskID,...R.taskIDs,L.taskID]}));return Ht.createWaitablePromise(b,(C,R)=>Promise.all(w.map(L=>L.wait(R))))},lmt=t=>(e,r)=>jH(t)(e,{...r,clearExistingRules:!0}),cmt=t=>(e,r)=>GH(t)(e,{...r,clearExistingSynonyms:!0}),umt=t=>(e,r)=>Ht.createWaitablePromise(qH(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>zi(t)(o.taskID,a)),qH=t=>(e,r)=>{let{autoGenerateObjectIDIfNotExist:o,...a}=r||{},n=o?sm.AddObject:sm.UpdateObject;if(n===sm.UpdateObject){for(let u of e)if(u.objectID===void 0)return Ht.createWaitablePromise(Promise.reject(wye()))}return mQ(t)(e,n,a)},Amt=t=>(e,r)=>jH(t)([e],r),jH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingRules:a,...n}=r||{},u=Na.createMappedRequestOptions(n);return o&&(u.queryParameters.forwardToReplicas=1),a&&(u.queryParameters.clearExistingRules=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/batch",t.indexName),data:e},u),(A,p)=>zi(t)(A.taskID,p))},fmt=t=>(e,r)=>GH(t)([e],r),GH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingSynonyms:a,replaceExistingSynonyms:n,...u}=r||{},A=Na.createMappedRequestOptions(u);return o&&(A.queryParameters.forwardToReplicas=1),(n||a)&&(A.queryParameters.replaceExistingSynonyms=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/batch",t.indexName),data:e},A),(p,h)=>zi(t)(p.taskID,h))},kye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r),Fye=t=>(e,r,o)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},o),Rye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/rules/search",t.indexName),data:{query:e}},r),Tye=t=>(e,r)=>t.transporter.read({method:mr.MethodEnum.Post,path:Ht.encode("1/indexes/%s/synonyms/search",t.indexName),data:{query:e}},r),pmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=Na.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),Ht.createWaitablePromise(t.transporter.write({method:mr.MethodEnum.Put,path:Ht.encode("1/indexes/%s/settings",t.indexName),data:e},n),(u,A)=>zi(t)(u.taskID,A))},zi=t=>(e,r)=>Ht.createRetryablePromise(o=>bye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),hmt={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},sm={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},yQ={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},gmt={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},dmt={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Ft.ApiKeyACLEnum=hmt;Ft.BatchActionEnum=sm;Ft.ScopeEnum=yQ;Ft.StrategyEnum=gmt;Ft.SynonymEnum=dmt;Ft.addApiKey=adt;Ft.assignUserID=ldt;Ft.assignUserIDs=cdt;Ft.batch=Sye;Ft.browseObjects=Hdt;Ft.browseRules=qdt;Ft.browseSynonyms=jdt;Ft.chunkedBatch=mQ;Ft.clearDictionaryEntries=udt;Ft.clearObjects=Gdt;Ft.clearRules=Wdt;Ft.clearSynonyms=Ydt;Ft.copyIndex=dQ;Ft.copyRules=Adt;Ft.copySettings=fdt;Ft.copySynonyms=pdt;Ft.createBrowsablePromise=gQ;Ft.createMissingObjectIDError=wye;Ft.createObjectNotFoundError=Bye;Ft.createSearchClient=odt;Ft.createValidUntilNotFoundError=vye;Ft.customRequest=hdt;Ft.deleteApiKey=gdt;Ft.deleteBy=Kdt;Ft.deleteDictionaryEntries=ddt;Ft.deleteIndex=Vdt;Ft.deleteObject=Jdt;Ft.deleteObjects=Pye;Ft.deleteRule=zdt;Ft.deleteSynonym=Xdt;Ft.exists=Zdt;Ft.findAnswers=$dt;Ft.findObject=emt;Ft.generateSecuredApiKey=mdt;Ft.getApiKey=O2;Ft.getAppTask=Dye;Ft.getDictionarySettings=ydt;Ft.getLogs=Cdt;Ft.getObject=tmt;Ft.getObjectPosition=rmt;Ft.getObjects=nmt;Ft.getRule=imt;Ft.getSecuredApiKeyRemainingValidity=Edt;Ft.getSettings=xye;Ft.getSynonym=smt;Ft.getTask=bye;Ft.getTopUserIDs=Idt;Ft.getUserID=wdt;Ft.hasPendingMappings=Bdt;Ft.initIndex=M2;Ft.listApiKeys=vdt;Ft.listClusters=Ddt;Ft.listIndices=Sdt;Ft.listUserIDs=Pdt;Ft.moveIndex=xdt;Ft.multipleBatch=bdt;Ft.multipleGetObjects=Qdt;Ft.multipleQueries=kdt;Ft.multipleSearchForFacetValues=Fdt;Ft.partialUpdateObject=omt;Ft.partialUpdateObjects=Qye;Ft.removeUserID=Rdt;Ft.replaceAllObjects=amt;Ft.replaceAllRules=lmt;Ft.replaceAllSynonyms=cmt;Ft.replaceDictionaryEntries=Tdt;Ft.restoreApiKey=Ndt;Ft.saveDictionaryEntries=Ldt;Ft.saveObject=umt;Ft.saveObjects=qH;Ft.saveRule=Amt;Ft.saveRules=jH;Ft.saveSynonym=fmt;Ft.saveSynonyms=GH;Ft.search=kye;Ft.searchDictionaryEntries=Odt;Ft.searchForFacetValues=Fye;Ft.searchRules=Rye;Ft.searchSynonyms=Tye;Ft.searchUserIDs=Mdt;Ft.setDictionarySettings=Udt;Ft.setSettings=pmt;Ft.updateApiKey=_dt;Ft.waitAppTask=DE;Ft.waitTask=zi});var Oye=U((KWt,Lye)=>{Lye.exports=Nye()});var Mye=U(CQ=>{"use strict";Object.defineProperty(CQ,"__esModule",{value:!0});function mmt(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var ymt={Debug:1,Info:2,Error:3};CQ.LogLevelEnum=ymt;CQ.createNullLogger=mmt});var _ye=U((JWt,Uye)=>{Uye.exports=Mye()});var Gye=U(WH=>{"use strict";Object.defineProperty(WH,"__esModule",{value:!0});var Hye=Ie("http"),qye=Ie("https"),Cmt=Ie("url"),jye={keepAlive:!0},Emt=new Hye.Agent(jye),Imt=new qye.Agent(jye);function wmt({agent:t,httpAgent:e,httpsAgent:r,requesterOptions:o={}}={}){let a=e||t||Emt,n=r||t||Imt;return{send(u){return new Promise(A=>{let p=Cmt.parse(u.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,E={...o,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:u.method,headers:{...o&&o.headers?o.headers:{},...u.headers},...p.port!==void 0?{port:p.port||""}:{}},w=(p.protocol==="https:"?qye:Hye).request(E,R=>{let L=[];R.on("data",_=>{L=L.concat(_)}),R.on("end",()=>{clearTimeout(b),clearTimeout(C),A({status:R.statusCode||0,content:Buffer.concat(L).toString(),isTimedOut:!1})})}),v=(R,L)=>setTimeout(()=>{w.abort(),A({status:0,content:L,isTimedOut:!0})},R*1e3),b=v(u.connectTimeout,"Connection timeout"),C;w.on("error",R=>{clearTimeout(b),clearTimeout(C),A({status:0,content:R.message,isTimedOut:!1})}),w.once("response",()=>{clearTimeout(b),C=v(u.responseTimeout,"Socket timeout")}),u.data!==void 0&&w.write(u.data),w.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}WH.createNodeHttpRequester=wmt});var Yye=U((XWt,Wye)=>{Wye.exports=Gye()});var zye=U((ZWt,Jye)=>{"use strict";var Kye=Gme(),Bmt=Kme(),SE=mye(),KH=k2(),YH=Iye(),Lt=Oye(),vmt=_ye(),Dmt=Yye(),Smt=T2();function Vye(t,e,r){let o={appId:t,apiKey:e,timeouts:{connect:2,read:5,write:30},requester:Dmt.createNodeHttpRequester(),logger:vmt.createNullLogger(),responsesCache:Kye.createNullCache(),requestsCache:Kye.createNullCache(),hostsCache:Bmt.createInMemoryCache(),userAgent:Smt.createUserAgent(KH.version).add({segment:"Node.js",version:process.versions.node})},a={...o,...r},n=()=>u=>YH.createPersonalizationClient({...o,...u,methods:{getPersonalizationStrategy:YH.getPersonalizationStrategy,setPersonalizationStrategy:YH.setPersonalizationStrategy}});return Lt.createSearchClient({...a,methods:{search:Lt.multipleQueries,searchForFacetValues:Lt.multipleSearchForFacetValues,multipleBatch:Lt.multipleBatch,multipleGetObjects:Lt.multipleGetObjects,multipleQueries:Lt.multipleQueries,copyIndex:Lt.copyIndex,copySettings:Lt.copySettings,copyRules:Lt.copyRules,copySynonyms:Lt.copySynonyms,moveIndex:Lt.moveIndex,listIndices:Lt.listIndices,getLogs:Lt.getLogs,listClusters:Lt.listClusters,multipleSearchForFacetValues:Lt.multipleSearchForFacetValues,getApiKey:Lt.getApiKey,addApiKey:Lt.addApiKey,listApiKeys:Lt.listApiKeys,updateApiKey:Lt.updateApiKey,deleteApiKey:Lt.deleteApiKey,restoreApiKey:Lt.restoreApiKey,assignUserID:Lt.assignUserID,assignUserIDs:Lt.assignUserIDs,getUserID:Lt.getUserID,searchUserIDs:Lt.searchUserIDs,listUserIDs:Lt.listUserIDs,getTopUserIDs:Lt.getTopUserIDs,removeUserID:Lt.removeUserID,hasPendingMappings:Lt.hasPendingMappings,generateSecuredApiKey:Lt.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Lt.getSecuredApiKeyRemainingValidity,destroy:KH.destroy,clearDictionaryEntries:Lt.clearDictionaryEntries,deleteDictionaryEntries:Lt.deleteDictionaryEntries,getDictionarySettings:Lt.getDictionarySettings,getAppTask:Lt.getAppTask,replaceDictionaryEntries:Lt.replaceDictionaryEntries,saveDictionaryEntries:Lt.saveDictionaryEntries,searchDictionaryEntries:Lt.searchDictionaryEntries,setDictionarySettings:Lt.setDictionarySettings,waitAppTask:Lt.waitAppTask,customRequest:Lt.customRequest,initIndex:u=>A=>Lt.initIndex(u)(A,{methods:{batch:Lt.batch,delete:Lt.deleteIndex,findAnswers:Lt.findAnswers,getObject:Lt.getObject,getObjects:Lt.getObjects,saveObject:Lt.saveObject,saveObjects:Lt.saveObjects,search:Lt.search,searchForFacetValues:Lt.searchForFacetValues,waitTask:Lt.waitTask,setSettings:Lt.setSettings,getSettings:Lt.getSettings,partialUpdateObject:Lt.partialUpdateObject,partialUpdateObjects:Lt.partialUpdateObjects,deleteObject:Lt.deleteObject,deleteObjects:Lt.deleteObjects,deleteBy:Lt.deleteBy,clearObjects:Lt.clearObjects,browseObjects:Lt.browseObjects,getObjectPosition:Lt.getObjectPosition,findObject:Lt.findObject,exists:Lt.exists,saveSynonym:Lt.saveSynonym,saveSynonyms:Lt.saveSynonyms,getSynonym:Lt.getSynonym,searchSynonyms:Lt.searchSynonyms,browseSynonyms:Lt.browseSynonyms,deleteSynonym:Lt.deleteSynonym,clearSynonyms:Lt.clearSynonyms,replaceAllObjects:Lt.replaceAllObjects,replaceAllSynonyms:Lt.replaceAllSynonyms,searchRules:Lt.searchRules,getRule:Lt.getRule,deleteRule:Lt.deleteRule,saveRule:Lt.saveRule,saveRules:Lt.saveRules,replaceAllRules:Lt.replaceAllRules,browseRules:Lt.browseRules,clearRules:Lt.clearRules}}),initAnalytics:()=>u=>SE.createAnalyticsClient({...o,...u,methods:{addABTest:SE.addABTest,getABTest:SE.getABTest,getABTests:SE.getABTests,stopABTest:SE.stopABTest,deleteABTest:SE.deleteABTest}}),initPersonalization:n,initRecommendation:()=>u=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(u))}})}Vye.version=KH.version;Jye.exports=Vye});var JH=U(($Wt,VH)=>{var Xye=zye();VH.exports=Xye;VH.exports.default=Xye});var ZH=U((tYt,eCe)=>{"use strict";var $ye=Object.getOwnPropertySymbols,xmt=Object.prototype.hasOwnProperty,bmt=Object.prototype.propertyIsEnumerable;function Qmt(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function kmt(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(e).map(function(n){return e[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}eCe.exports=kmt()?Object.assign:function(t,e){for(var r,o=Qmt(t),a,n=1;n<arguments.length;n++){r=Object(arguments[n]);for(var u in r)xmt.call(r,u)&&(o[u]=r[u]);if($ye){a=$ye(r);for(var A=0;A<a.length;A++)bmt.call(r,a[A])&&(o[a[A]]=r[a[A]])}}return o}});var fCe=U(Qn=>{"use strict";var n6=ZH(),nu=typeof Symbol=="function"&&Symbol.for,U2=nu?Symbol.for("react.element"):60103,Fmt=nu?Symbol.for("react.portal"):60106,Rmt=nu?Symbol.for("react.fragment"):60107,Tmt=nu?Symbol.for("react.strict_mode"):60108,Nmt=nu?Symbol.for("react.profiler"):60114,Lmt=nu?Symbol.for("react.provider"):60109,Omt=nu?Symbol.for("react.context"):60110,Mmt=nu?Symbol.for("react.forward_ref"):60112,Umt=nu?Symbol.for("react.suspense"):60113,_mt=nu?Symbol.for("react.memo"):60115,Hmt=nu?Symbol.for("react.lazy"):60116,tCe=typeof Symbol=="function"&&Symbol.iterator;function _2(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r<arguments.length;r++)e+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var rCe={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},nCe={};function PE(t,e,r){this.props=t,this.context=e,this.refs=nCe,this.updater=r||rCe}PE.prototype.isReactComponent={};PE.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error(_2(85));this.updater.enqueueSetState(this,t,e,"setState")};PE.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function iCe(){}iCe.prototype=PE.prototype;function i6(t,e,r){this.props=t,this.context=e,this.refs=nCe,this.updater=r||rCe}var s6=i6.prototype=new iCe;s6.constructor=i6;n6(s6,PE.prototype);s6.isPureReactComponent=!0;var o6={current:null},sCe=Object.prototype.hasOwnProperty,oCe={key:!0,ref:!0,__self:!0,__source:!0};function aCe(t,e,r){var o,a={},n=null,u=null;if(e!=null)for(o in e.ref!==void 0&&(u=e.ref),e.key!==void 0&&(n=""+e.key),e)sCe.call(e,o)&&!oCe.hasOwnProperty(o)&&(a[o]=e[o]);var A=arguments.length-2;if(A===1)a.children=r;else if(1<A){for(var p=Array(A),h=0;h<A;h++)p[h]=arguments[h+2];a.children=p}if(t&&t.defaultProps)for(o in A=t.defaultProps,A)a[o]===void 0&&(a[o]=A[o]);return{$$typeof:U2,type:t,key:n,ref:u,props:a,_owner:o6.current}}function qmt(t,e){return{$$typeof:U2,type:t.type,key:e,ref:t.ref,props:t.props,_owner:t._owner}}function a6(t){return typeof t=="object"&&t!==null&&t.$$typeof===U2}function jmt(t){var e={"=":"=0",":":"=2"};return"$"+(""+t).replace(/[=:]/g,function(r){return e[r]})}var lCe=/\/+/g,EQ=[];function cCe(t,e,r,o){if(EQ.length){var a=EQ.pop();return a.result=t,a.keyPrefix=e,a.func=r,a.context=o,a.count=0,a}return{result:t,keyPrefix:e,func:r,context:o,count:0}}function uCe(t){t.result=null,t.keyPrefix=null,t.func=null,t.context=null,t.count=0,10>EQ.length&&EQ.push(t)}function e6(t,e,r,o){var a=typeof t;(a==="undefined"||a==="boolean")&&(t=null);var n=!1;if(t===null)n=!0;else switch(a){case"string":case"number":n=!0;break;case"object":switch(t.$$typeof){case U2:case Fmt:n=!0}}if(n)return r(o,t,e===""?"."+$H(t,0):e),1;if(n=0,e=e===""?".":e+":",Array.isArray(t))for(var u=0;u<t.length;u++){a=t[u];var A=e+$H(a,u);n+=e6(a,A,r,o)}else if(t===null||typeof t!="object"?A=null:(A=tCe&&t[tCe]||t["@@iterator"],A=typeof A=="function"?A:null),typeof A=="function")for(t=A.call(t),u=0;!(a=t.next()).done;)a=a.value,A=e+$H(a,u++),n+=e6(a,A,r,o);else if(a==="object")throw r=""+t,Error(_2(31,r==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":r,""));return n}function t6(t,e,r){return t==null?0:e6(t,"",e,r)}function $H(t,e){return typeof t=="object"&&t!==null&&t.key!=null?jmt(t.key):e.toString(36)}function Gmt(t,e){t.func.call(t.context,e,t.count++)}function Wmt(t,e,r){var o=t.result,a=t.keyPrefix;t=t.func.call(t.context,e,t.count++),Array.isArray(t)?r6(t,o,r,function(n){return n}):t!=null&&(a6(t)&&(t=qmt(t,a+(!t.key||e&&e.key===t.key?"":(""+t.key).replace(lCe,"$&/")+"/")+r)),o.push(t))}function r6(t,e,r,o,a){var n="";r!=null&&(n=(""+r).replace(lCe,"$&/")+"/"),e=cCe(e,n,o,a),t6(t,Wmt,e),uCe(e)}var ACe={current:null};function zf(){var t=ACe.current;if(t===null)throw Error(_2(321));return t}var Ymt={ReactCurrentDispatcher:ACe,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:o6,IsSomeRendererActing:{current:!1},assign:n6};Qn.Children={map:function(t,e,r){if(t==null)return t;var o=[];return r6(t,o,null,e,r),o},forEach:function(t,e,r){if(t==null)return t;e=cCe(null,null,e,r),t6(t,Gmt,e),uCe(e)},count:function(t){return t6(t,function(){return null},null)},toArray:function(t){var e=[];return r6(t,e,null,function(r){return r}),e},only:function(t){if(!a6(t))throw Error(_2(143));return t}};Qn.Component=PE;Qn.Fragment=Rmt;Qn.Profiler=Nmt;Qn.PureComponent=i6;Qn.StrictMode=Tmt;Qn.Suspense=Umt;Qn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ymt;Qn.cloneElement=function(t,e,r){if(t==null)throw Error(_2(267,t));var o=n6({},t.props),a=t.key,n=t.ref,u=t._owner;if(e!=null){if(e.ref!==void 0&&(n=e.ref,u=o6.current),e.key!==void 0&&(a=""+e.key),t.type&&t.type.defaultProps)var A=t.type.defaultProps;for(p in e)sCe.call(e,p)&&!oCe.hasOwnProperty(p)&&(o[p]=e[p]===void 0&&A!==void 0?A[p]:e[p])}var p=arguments.length-2;if(p===1)o.children=r;else if(1<p){A=Array(p);for(var h=0;h<p;h++)A[h]=arguments[h+2];o.children=A}return{$$typeof:U2,type:t.type,key:a,ref:n,props:o,_owner:u}};Qn.createContext=function(t,e){return e===void 0&&(e=null),t={$$typeof:Omt,_calculateChangedBits:e,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider={$$typeof:Lmt,_context:t},t.Consumer=t};Qn.createElement=aCe;Qn.createFactory=function(t){var e=aCe.bind(null,t);return e.type=t,e};Qn.createRef=function(){return{current:null}};Qn.forwardRef=function(t){return{$$typeof:Mmt,render:t}};Qn.isValidElement=a6;Qn.lazy=function(t){return{$$typeof:Hmt,_ctor:t,_status:-1,_result:null}};Qn.memo=function(t,e){return{$$typeof:_mt,type:t,compare:e===void 0?null:e}};Qn.useCallback=function(t,e){return zf().useCallback(t,e)};Qn.useContext=function(t,e){return zf().useContext(t,e)};Qn.useDebugValue=function(){};Qn.useEffect=function(t,e){return zf().useEffect(t,e)};Qn.useImperativeHandle=function(t,e,r){return zf().useImperativeHandle(t,e,r)};Qn.useLayoutEffect=function(t,e){return zf().useLayoutEffect(t,e)};Qn.useMemo=function(t,e){return zf().useMemo(t,e)};Qn.useReducer=function(t,e,r){return zf().useReducer(t,e,r)};Qn.useRef=function(t){return zf().useRef(t)};Qn.useState=function(t){return zf().useState(t)};Qn.version="16.13.1"});var en=U((nYt,pCe)=>{"use strict";pCe.exports=fCe()});var c6=U((iYt,l6)=>{"use strict";var on=l6.exports;l6.exports.default=on;var kn="\x1B[",H2="\x1B]",xE="\x07",IQ=";",hCe=process.env.TERM_PROGRAM==="Apple_Terminal";on.cursorTo=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?kn+(t+1)+"G":kn+(e+1)+";"+(t+1)+"H"};on.cursorMove=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=kn+-t+"D":t>0&&(r+=kn+t+"C"),e<0?r+=kn+-e+"A":e>0&&(r+=kn+e+"B"),r};on.cursorUp=(t=1)=>kn+t+"A";on.cursorDown=(t=1)=>kn+t+"B";on.cursorForward=(t=1)=>kn+t+"C";on.cursorBackward=(t=1)=>kn+t+"D";on.cursorLeft=kn+"G";on.cursorSavePosition=hCe?"\x1B7":kn+"s";on.cursorRestorePosition=hCe?"\x1B8":kn+"u";on.cursorGetPosition=kn+"6n";on.cursorNextLine=kn+"E";on.cursorPrevLine=kn+"F";on.cursorHide=kn+"?25l";on.cursorShow=kn+"?25h";on.eraseLines=t=>{let e="";for(let r=0;r<t;r++)e+=on.eraseLine+(r<t-1?on.cursorUp():"");return t&&(e+=on.cursorLeft),e};on.eraseEndLine=kn+"K";on.eraseStartLine=kn+"1K";on.eraseLine=kn+"2K";on.eraseDown=kn+"J";on.eraseUp=kn+"1J";on.eraseScreen=kn+"2J";on.scrollUp=kn+"S";on.scrollDown=kn+"T";on.clearScreen="\x1Bc";on.clearTerminal=process.platform==="win32"?`${on.eraseScreen}${kn}0f`:`${on.eraseScreen}${kn}3J${kn}H`;on.beep=xE;on.link=(t,e)=>[H2,"8",IQ,IQ,e,xE,t,H2,"8",IQ,IQ,xE].join("");on.image=(t,e={})=>{let r=`${H2}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+t.toString("base64")+xE};on.iTerm={setCwd:(t=process.cwd())=>`${H2}50;CurrentDir=${t}${xE}`,annotation:(t,e={})=>{let r=`${H2}1337;`,o=typeof e.x<"u",a=typeof e.y<"u";if((o||a)&&!(o&&a&&typeof e.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replace(/\|/g,""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(o?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+xE}}});var dCe=U((sYt,u6)=>{"use strict";var gCe=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};u6.exports=gCe;u6.exports.default=gCe});var yCe=U((oYt,BQ)=>{"use strict";var Kmt=dCe(),wQ=new WeakMap,mCe=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,o=0,a=t.displayName||t.name||"<anonymous>",n=function(...u){if(wQ.set(n,++o),o===1)r=t.apply(this,u),t=null;else if(e.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return Kmt(n,t),wQ.set(n,o),n};BQ.exports=mCe;BQ.exports.default=mCe;BQ.exports.callCount=t=>{if(!wQ.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return wQ.get(t)}});var CCe=U((aYt,vQ)=>{vQ.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&vQ.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&vQ.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var p6=U((lYt,kE)=>{var gi=global.process,om=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};om(gi)?(ECe=Ie("assert"),bE=CCe(),ICe=/^win/i.test(gi.platform),q2=Ie("events"),typeof q2!="function"&&(q2=q2.EventEmitter),gi.__signal_exit_emitter__?xs=gi.__signal_exit_emitter__:(xs=gi.__signal_exit_emitter__=new q2,xs.count=0,xs.emitted={}),xs.infinite||(xs.setMaxListeners(1/0),xs.infinite=!0),kE.exports=function(t,e){if(!om(global.process))return function(){};ECe.equal(typeof t,"function","a callback must be provided for exit handler"),QE===!1&&A6();var r="exit";e&&e.alwaysLast&&(r="afterexit");var o=function(){xs.removeListener(r,t),xs.listeners("exit").length===0&&xs.listeners("afterexit").length===0&&DQ()};return xs.on(r,t),o},DQ=function(){!QE||!om(global.process)||(QE=!1,bE.forEach(function(e){try{gi.removeListener(e,SQ[e])}catch{}}),gi.emit=PQ,gi.reallyExit=f6,xs.count-=1)},kE.exports.unload=DQ,am=function(e,r,o){xs.emitted[e]||(xs.emitted[e]=!0,xs.emit(e,r,o))},SQ={},bE.forEach(function(t){SQ[t]=function(){if(!!om(global.process)){var r=gi.listeners(t);r.length===xs.count&&(DQ(),am("exit",null,t),am("afterexit",null,t),ICe&&t==="SIGHUP"&&(t="SIGINT"),gi.kill(gi.pid,t))}}}),kE.exports.signals=function(){return bE},QE=!1,A6=function(){QE||!om(global.process)||(QE=!0,xs.count+=1,bE=bE.filter(function(e){try{return gi.on(e,SQ[e]),!0}catch{return!1}}),gi.emit=BCe,gi.reallyExit=wCe)},kE.exports.load=A6,f6=gi.reallyExit,wCe=function(e){!om(global.process)||(gi.exitCode=e||0,am("exit",gi.exitCode,null),am("afterexit",gi.exitCode,null),f6.call(gi,gi.exitCode))},PQ=gi.emit,BCe=function(e,r){if(e==="exit"&&om(global.process)){r!==void 0&&(gi.exitCode=r);var o=PQ.apply(this,arguments);return am("exit",gi.exitCode,null),am("afterexit",gi.exitCode,null),o}else return PQ.apply(this,arguments)}):kE.exports=function(){return function(){}};var ECe,bE,ICe,q2,xs,DQ,am,SQ,QE,A6,f6,wCe,PQ,BCe});var DCe=U((cYt,vCe)=>{"use strict";var Vmt=yCe(),Jmt=p6();vCe.exports=Vmt(()=>{Jmt(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var h6=U(FE=>{"use strict";var zmt=DCe(),xQ=!1;FE.show=(t=process.stderr)=>{!t.isTTY||(xQ=!1,t.write("\x1B[?25h"))};FE.hide=(t=process.stderr)=>{!t.isTTY||(zmt(),xQ=!0,t.write("\x1B[?25l"))};FE.toggle=(t,e)=>{t!==void 0&&(xQ=t),xQ?FE.show(e):FE.hide(e)}});var bCe=U(j2=>{"use strict";var xCe=j2&&j2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(j2,"__esModule",{value:!0});var SCe=xCe(c6()),PCe=xCe(h6()),Xmt=(t,{showCursor:e=!1}={})=>{let r=0,o="",a=!1,n=u=>{!e&&!a&&(PCe.default.hide(),a=!0);let A=u+` |
280 | `;A!==o&&(o=A,t.write(CEe.default.eraseLines(r)+A),r=A.split(` | 280 | `;A!==o&&(o=A,t.write(SCe.default.eraseLines(r)+A),r=A.split(` |
281 | `).length)};return n.clear=()=>{t.write(CEe.default.eraseLines(r)),o="",r=0},n.done=()=>{o="",r=0,e||(IEe.default.show(),a=!1)},n};U2.default={create:_mt}});var vEe=U((sYt,Hmt)=>{Hmt.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var PEe=U(hl=>{"use strict";var SEe=vEe(),hA=process.env;Object.defineProperty(hl,"_vendors",{value:SEe.map(function(t){return t.constant})});hl.name=null;hl.isPR=null;SEe.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(o){return DEe(o)});if(hl[t.constant]=r,r)switch(hl.name=t.name,typeof t.pr){case"string":hl.isPR=!!hA[t.pr];break;case"object":"env"in t.pr?hl.isPR=t.pr.env in hA&&hA[t.pr.env]!==t.pr.ne:"any"in t.pr?hl.isPR=t.pr.any.some(function(o){return!!hA[o]}):hl.isPR=DEe(t.pr);break;default:hl.isPR=null}});hl.isCI=!!(hA.CI||hA.CONTINUOUS_INTEGRATION||hA.BUILD_NUMBER||hA.RUN_ID||hl.name);function DEe(t){return typeof t=="string"?!!hA[t]:Object.keys(t).every(function(e){return hA[e]===t[e]})}});var bEe=U((aYt,xEe)=>{"use strict";xEe.exports=PEe().isCI});var kEe=U((lYt,QEe)=>{"use strict";var qmt=t=>{let e=new Set;do for(let r of Reflect.ownKeys(t))e.add([t,r]);while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e};QEe.exports=(t,{include:e,exclude:r}={})=>{let o=a=>{let n=u=>typeof u=="string"?a===u:u.test(a);return e?e.some(n):r?!r.some(n):!0};for(let[a,n]of qmt(t.constructor.prototype)){if(n==="constructor"||!o(n))continue;let u=Reflect.getOwnPropertyDescriptor(a,n);u&&typeof u.value=="function"&&(t[n]=t[n].bind(t))}return t}});var MEe=U(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var bC,q2,SQ,PQ,C6;typeof window>"u"||typeof MessageChannel!="function"?(xC=null,h6=null,g6=function(){if(xC!==null)try{var t=vn.unstable_now();xC(!0,t),xC=null}catch(e){throw setTimeout(g6,0),e}},FEe=Date.now(),vn.unstable_now=function(){return Date.now()-FEe},bC=function(t){xC!==null?setTimeout(bC,0,t):(xC=t,setTimeout(g6,0))},q2=function(t,e){h6=setTimeout(t,e)},SQ=function(){clearTimeout(h6)},PQ=function(){return!1},C6=vn.unstable_forceFrameRate=function(){}):(wQ=window.performance,d6=window.Date,REe=window.setTimeout,TEe=window.clearTimeout,typeof console<"u"&&(NEe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof NEe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof wQ=="object"&&typeof wQ.now=="function"?vn.unstable_now=function(){return wQ.now()}:(LEe=d6.now(),vn.unstable_now=function(){return d6.now()-LEe}),_2=!1,H2=null,BQ=-1,m6=5,y6=0,PQ=function(){return vn.unstable_now()>=y6},C6=function(){},vn.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):m6=0<t?Math.floor(1e3/t):5},E6=new MessageChannel,vQ=E6.port2,E6.port1.onmessage=function(){if(H2!==null){var t=vn.unstable_now();y6=t+m6;try{H2(!0,t)?vQ.postMessage(null):(_2=!1,H2=null)}catch(e){throw vQ.postMessage(null),e}}else _2=!1},bC=function(t){H2=t,_2||(_2=!0,vQ.postMessage(null))},q2=function(t,e){BQ=REe(function(){t(vn.unstable_now())},e)},SQ=function(){TEe(BQ),BQ=-1});var xC,h6,g6,FEe,wQ,d6,REe,TEe,NEe,LEe,_2,H2,BQ,m6,y6,E6,vQ;function I6(t,e){var r=t.length;t.push(e);e:for(;;){var o=Math.floor((r-1)/2),a=t[o];if(a!==void 0&&0<DQ(a,e))t[o]=e,t[r]=a,r=o;else break e}}function sc(t){return t=t[0],t===void 0?null:t}function xQ(t){var e=t[0];if(e!==void 0){var r=t.pop();if(r!==e){t[0]=r;e:for(var o=0,a=t.length;o<a;){var n=2*(o+1)-1,u=t[n],A=n+1,p=t[A];if(u!==void 0&&0>DQ(u,r))p!==void 0&&0>DQ(p,u)?(t[o]=p,t[A]=r,o=A):(t[o]=u,t[n]=r,o=n);else if(p!==void 0&&0>DQ(p,r))t[o]=p,t[A]=r,o=A;else break e}}return e}return null}function DQ(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}var ru=[],hh=[],jmt=1,$o=null,Ro=3,bQ=!1,sm=!1,j2=!1;function QQ(t){for(var e=sc(hh);e!==null;){if(e.callback===null)xQ(hh);else if(e.startTime<=t)xQ(hh),e.sortIndex=e.expirationTime,I6(ru,e);else break;e=sc(hh)}}function w6(t){if(j2=!1,QQ(t),!sm)if(sc(ru)!==null)sm=!0,bC(B6);else{var e=sc(hh);e!==null&&q2(w6,e.startTime-t)}}function B6(t,e){sm=!1,j2&&(j2=!1,SQ()),bQ=!0;var r=Ro;try{for(QQ(e),$o=sc(ru);$o!==null&&(!($o.expirationTime>e)||t&&!PQ());){var o=$o.callback;if(o!==null){$o.callback=null,Ro=$o.priorityLevel;var a=o($o.expirationTime<=e);e=vn.unstable_now(),typeof a=="function"?$o.callback=a:$o===sc(ru)&&xQ(ru),QQ(e)}else xQ(ru);$o=sc(ru)}if($o!==null)var n=!0;else{var u=sc(hh);u!==null&&q2(w6,u.startTime-e),n=!1}return n}finally{$o=null,Ro=r,bQ=!1}}function OEe(t){switch(t){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var Gmt=C6;vn.unstable_ImmediatePriority=1;vn.unstable_UserBlockingPriority=2;vn.unstable_NormalPriority=3;vn.unstable_IdlePriority=5;vn.unstable_LowPriority=4;vn.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=Ro;Ro=t;try{return e()}finally{Ro=r}};vn.unstable_next=function(t){switch(Ro){case 1:case 2:case 3:var e=3;break;default:e=Ro}var r=Ro;Ro=e;try{return t()}finally{Ro=r}};vn.unstable_scheduleCallback=function(t,e,r){var o=vn.unstable_now();if(typeof r=="object"&&r!==null){var a=r.delay;a=typeof a=="number"&&0<a?o+a:o,r=typeof r.timeout=="number"?r.timeout:OEe(t)}else r=OEe(t),a=o;return r=a+r,t={id:jmt++,callback:e,priorityLevel:t,startTime:a,expirationTime:r,sortIndex:-1},a>o?(t.sortIndex=a,I6(hh,t),sc(ru)===null&&t===sc(hh)&&(j2?SQ():j2=!0,q2(w6,a-o))):(t.sortIndex=r,I6(ru,t),sm||bQ||(sm=!0,bC(B6))),t};vn.unstable_cancelCallback=function(t){t.callback=null};vn.unstable_wrapCallback=function(t){var e=Ro;return function(){var r=Ro;Ro=e;try{return t.apply(this,arguments)}finally{Ro=r}}};vn.unstable_getCurrentPriorityLevel=function(){return Ro};vn.unstable_shouldYield=function(){var t=vn.unstable_now();QQ(t);var e=sc(ru);return e!==$o&&$o!==null&&e!==null&&e.callback!==null&&e.startTime<=t&&e.expirationTime<$o.expirationTime||PQ()};vn.unstable_requestPaint=Gmt;vn.unstable_continueExecution=function(){sm||bQ||(sm=!0,bC(B6))};vn.unstable_pauseExecution=function(){};vn.unstable_getFirstCallbackNode=function(){return sc(ru)};vn.unstable_Profiling=null});var v6=U((uYt,UEe)=>{"use strict";UEe.exports=MEe()});var _Ee=U((AYt,G2)=>{G2.exports=function t(e){"use strict";var r=XH(),o=en(),a=v6();function n(S){for(var D="https://reactjs.org/docs/error-decoder.html?invariant="+S,T=1;T<arguments.length;T++)D+="&args[]="+encodeURIComponent(arguments[T]);return"Minified React error #"+S+"; visit "+D+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var u=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;u.hasOwnProperty("ReactCurrentDispatcher")||(u.ReactCurrentDispatcher={current:null}),u.hasOwnProperty("ReactCurrentBatchConfig")||(u.ReactCurrentBatchConfig={suspense:null});var A=typeof Symbol=="function"&&Symbol.for,p=A?Symbol.for("react.element"):60103,h=A?Symbol.for("react.portal"):60106,C=A?Symbol.for("react.fragment"):60107,w=A?Symbol.for("react.strict_mode"):60108,v=A?Symbol.for("react.profiler"):60114,b=A?Symbol.for("react.provider"):60109,E=A?Symbol.for("react.context"):60110,R=A?Symbol.for("react.concurrent_mode"):60111,L=A?Symbol.for("react.forward_ref"):60112,_=A?Symbol.for("react.suspense"):60113,J=A?Symbol.for("react.suspense_list"):60120,re=A?Symbol.for("react.memo"):60115,oe=A?Symbol.for("react.lazy"):60116;A&&Symbol.for("react.fundamental"),A&&Symbol.for("react.responder"),A&&Symbol.for("react.scope");var pe=typeof Symbol=="function"&&Symbol.iterator;function he(S){return S===null||typeof S!="object"?null:(S=pe&&S[pe]||S["@@iterator"],typeof S=="function"?S:null)}function ve(S){if(S._status===-1){S._status=0;var D=S._ctor;D=D(),S._result=D,D.then(function(T){S._status===0&&(T=T.default,S._status=1,S._result=T)},function(T){S._status===0&&(S._status=2,S._result=T)})}}function ge(S){if(S==null)return null;if(typeof S=="function")return S.displayName||S.name||null;if(typeof S=="string")return S;switch(S){case C:return"Fragment";case h:return"Portal";case v:return"Profiler";case w:return"StrictMode";case _:return"Suspense";case J:return"SuspenseList"}if(typeof S=="object")switch(S.$$typeof){case E:return"Context.Consumer";case b:return"Context.Provider";case L:var D=S.render;return D=D.displayName||D.name||"",S.displayName||(D!==""?"ForwardRef("+D+")":"ForwardRef");case re:return ge(S.type);case oe:if(S=S._status===1?S._result:null)return ge(S)}return null}function le(S){var D=S,T=S;if(S.alternate)for(;D.return;)D=D.return;else{S=D;do D=S,(D.effectTag&1026)!==0&&(T=D.return),S=D.return;while(S)}return D.tag===3?T:null}function Pe(S){if(le(S)!==S)throw Error(n(188))}function g(S){var D=S.alternate;if(!D){if(D=le(S),D===null)throw Error(n(188));return D!==S?null:S}for(var T=S,q=D;;){var W=T.return;if(W===null)break;var ce=W.alternate;if(ce===null){if(q=W.return,q!==null){T=q;continue}break}if(W.child===ce.child){for(ce=W.child;ce;){if(ce===T)return Pe(W),S;if(ce===q)return Pe(W),D;ce=ce.sibling}throw Error(n(188))}if(T.return!==q.return)T=W,q=ce;else{for(var Se=!1,It=W.child;It;){if(It===T){Se=!0,T=W,q=ce;break}if(It===q){Se=!0,q=W,T=ce;break}It=It.sibling}if(!Se){for(It=ce.child;It;){if(It===T){Se=!0,T=ce,q=W;break}if(It===q){Se=!0,q=ce,T=W;break}It=It.sibling}if(!Se)throw Error(n(189))}}if(T.alternate!==q)throw Error(n(190))}if(T.tag!==3)throw Error(n(188));return T.stateNode.current===T?S:D}function De(S){if(S=g(S),!S)return null;for(var D=S;;){if(D.tag===5||D.tag===6)return D;if(D.child)D.child.return=D,D=D.child;else{if(D===S)break;for(;!D.sibling;){if(!D.return||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}}return null}function Ee(S){if(S=g(S),!S)return null;for(var D=S;;){if(D.tag===5||D.tag===6)return D;if(D.child&&D.tag!==4)D.child.return=D,D=D.child;else{if(D===S)break;for(;!D.sibling;){if(!D.return||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}}return null}var de=e.getPublicInstance,ne=e.getRootHostContext,Z=e.getChildHostContext,me=e.prepareForCommit,be=e.resetAfterCommit,ut=e.createInstance,H=e.appendInitialChild,yt=e.finalizeInitialChildren,Me=e.prepareUpdate,Te=e.shouldSetTextContent,Qe=e.shouldDeprioritizeSubtree,Ue=e.createTextInstance,je=e.setTimeout,At=e.clearTimeout,Le=e.noTimeout,x=e.isPrimaryRenderer,I=e.supportsMutation,P=e.supportsPersistence,y=e.supportsHydration,F=e.appendChild,z=e.appendChildToContainer,X=e.commitTextUpdate,$=e.commitMount,ie=e.commitUpdate,ke=e.insertBefore,Ne=e.insertInContainerBefore,st=e.removeChild,ht=e.removeChildFromContainer,Ut=e.resetTextContent,Xt=e.hideInstance,Pt=e.hideTextInstance,tn=e.unhideInstance,Dr=e.unhideTextInstance,fr=e.cloneInstance,Br=e.createContainerChildSet,jr=e.appendChildToContainerChildSet,Hn=e.finalizeContainerChildren,bs=e.replaceContainerChildren,ki=e.cloneHiddenInstance,gs=e.cloneHiddenTextInstance,to=e.canHydrateInstance,Di=e.canHydrateTextInstance,Qs=e.isSuspenseInstancePending,ro=e.isSuspenseInstanceFallback,uc=e.getNextHydratableSibling,hu=e.getFirstHydratableChild,op=e.hydrateInstance,ap=e.hydrateTextInstance,ks=e.getNextHydratableInstanceAfterSuspenseInstance,Cn=e.commitHydratedContainer,no=e.commitHydratedSuspenseInstance,Fs=/^(.*)[\\\/]/;function dl(S){var D="";do{e:switch(S.tag){case 3:case 4:case 6:case 7:case 10:case 9:var T="";break e;default:var q=S._debugOwner,W=S._debugSource,ce=ge(S.type);T=null,q&&(T=ge(q.type)),q=ce,ce="",W?ce=" (at "+W.fileName.replace(Fs,"")+":"+W.lineNumber+")":T&&(ce=" (created by "+T+")"),T=` | 281 | `).length)};return n.clear=()=>{t.write(SCe.default.eraseLines(r)),o="",r=0},n.done=()=>{o="",r=0,e||(PCe.default.show(),a=!1)},n};j2.default={create:Xmt}});var QCe=U((fYt,Zmt)=>{Zmt.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var RCe=U(ml=>{"use strict";var FCe=QCe(),gA=process.env;Object.defineProperty(ml,"_vendors",{value:FCe.map(function(t){return t.constant})});ml.name=null;ml.isPR=null;FCe.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(o){return kCe(o)});if(ml[t.constant]=r,r)switch(ml.name=t.name,typeof t.pr){case"string":ml.isPR=!!gA[t.pr];break;case"object":"env"in t.pr?ml.isPR=t.pr.env in gA&&gA[t.pr.env]!==t.pr.ne:"any"in t.pr?ml.isPR=t.pr.any.some(function(o){return!!gA[o]}):ml.isPR=kCe(t.pr);break;default:ml.isPR=null}});ml.isCI=!!(gA.CI||gA.CONTINUOUS_INTEGRATION||gA.BUILD_NUMBER||gA.RUN_ID||ml.name);function kCe(t){return typeof t=="string"?!!gA[t]:Object.keys(t).every(function(e){return gA[e]===t[e]})}});var NCe=U((hYt,TCe)=>{"use strict";TCe.exports=RCe().isCI});var OCe=U((gYt,LCe)=>{"use strict";var $mt=t=>{let e=new Set;do for(let r of Reflect.ownKeys(t))e.add([t,r]);while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e};LCe.exports=(t,{include:e,exclude:r}={})=>{let o=a=>{let n=u=>typeof u=="string"?a===u:u.test(a);return e?e.some(n):r?!r.some(n):!0};for(let[a,n]of $mt(t.constructor.prototype)){if(n==="constructor"||!o(n))continue;let u=Reflect.getOwnPropertyDescriptor(a,n);u&&typeof u.value=="function"&&(t[n]=t[n].bind(t))}return t}});var GCe=U(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var TE,Y2,RQ,TQ,I6;typeof window>"u"||typeof MessageChannel!="function"?(RE=null,g6=null,d6=function(){if(RE!==null)try{var t=vn.unstable_now();RE(!0,t),RE=null}catch(e){throw setTimeout(d6,0),e}},MCe=Date.now(),vn.unstable_now=function(){return Date.now()-MCe},TE=function(t){RE!==null?setTimeout(TE,0,t):(RE=t,setTimeout(d6,0))},Y2=function(t,e){g6=setTimeout(t,e)},RQ=function(){clearTimeout(g6)},TQ=function(){return!1},I6=vn.unstable_forceFrameRate=function(){}):(bQ=window.performance,m6=window.Date,UCe=window.setTimeout,_Ce=window.clearTimeout,typeof console<"u"&&(HCe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof HCe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof bQ=="object"&&typeof bQ.now=="function"?vn.unstable_now=function(){return bQ.now()}:(qCe=m6.now(),vn.unstable_now=function(){return m6.now()-qCe}),G2=!1,W2=null,QQ=-1,y6=5,C6=0,TQ=function(){return vn.unstable_now()>=C6},I6=function(){},vn.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):y6=0<t?Math.floor(1e3/t):5},E6=new MessageChannel,kQ=E6.port2,E6.port1.onmessage=function(){if(W2!==null){var t=vn.unstable_now();C6=t+y6;try{W2(!0,t)?kQ.postMessage(null):(G2=!1,W2=null)}catch(e){throw kQ.postMessage(null),e}}else G2=!1},TE=function(t){W2=t,G2||(G2=!0,kQ.postMessage(null))},Y2=function(t,e){QQ=UCe(function(){t(vn.unstable_now())},e)},RQ=function(){_Ce(QQ),QQ=-1});var RE,g6,d6,MCe,bQ,m6,UCe,_Ce,HCe,qCe,G2,W2,QQ,y6,C6,E6,kQ;function w6(t,e){var r=t.length;t.push(e);e:for(;;){var o=Math.floor((r-1)/2),a=t[o];if(a!==void 0&&0<FQ(a,e))t[o]=e,t[r]=a,r=o;else break e}}function lc(t){return t=t[0],t===void 0?null:t}function NQ(t){var e=t[0];if(e!==void 0){var r=t.pop();if(r!==e){t[0]=r;e:for(var o=0,a=t.length;o<a;){var n=2*(o+1)-1,u=t[n],A=n+1,p=t[A];if(u!==void 0&&0>FQ(u,r))p!==void 0&&0>FQ(p,u)?(t[o]=p,t[A]=r,o=A):(t[o]=u,t[n]=r,o=n);else if(p!==void 0&&0>FQ(p,r))t[o]=p,t[A]=r,o=A;else break e}}return e}return null}function FQ(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}var iu=[],gh=[],eyt=1,ea=null,Ro=3,LQ=!1,lm=!1,K2=!1;function OQ(t){for(var e=lc(gh);e!==null;){if(e.callback===null)NQ(gh);else if(e.startTime<=t)NQ(gh),e.sortIndex=e.expirationTime,w6(iu,e);else break;e=lc(gh)}}function B6(t){if(K2=!1,OQ(t),!lm)if(lc(iu)!==null)lm=!0,TE(v6);else{var e=lc(gh);e!==null&&Y2(B6,e.startTime-t)}}function v6(t,e){lm=!1,K2&&(K2=!1,RQ()),LQ=!0;var r=Ro;try{for(OQ(e),ea=lc(iu);ea!==null&&(!(ea.expirationTime>e)||t&&!TQ());){var o=ea.callback;if(o!==null){ea.callback=null,Ro=ea.priorityLevel;var a=o(ea.expirationTime<=e);e=vn.unstable_now(),typeof a=="function"?ea.callback=a:ea===lc(iu)&&NQ(iu),OQ(e)}else NQ(iu);ea=lc(iu)}if(ea!==null)var n=!0;else{var u=lc(gh);u!==null&&Y2(B6,u.startTime-e),n=!1}return n}finally{ea=null,Ro=r,LQ=!1}}function jCe(t){switch(t){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var tyt=I6;vn.unstable_ImmediatePriority=1;vn.unstable_UserBlockingPriority=2;vn.unstable_NormalPriority=3;vn.unstable_IdlePriority=5;vn.unstable_LowPriority=4;vn.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=Ro;Ro=t;try{return e()}finally{Ro=r}};vn.unstable_next=function(t){switch(Ro){case 1:case 2:case 3:var e=3;break;default:e=Ro}var r=Ro;Ro=e;try{return t()}finally{Ro=r}};vn.unstable_scheduleCallback=function(t,e,r){var o=vn.unstable_now();if(typeof r=="object"&&r!==null){var a=r.delay;a=typeof a=="number"&&0<a?o+a:o,r=typeof r.timeout=="number"?r.timeout:jCe(t)}else r=jCe(t),a=o;return r=a+r,t={id:eyt++,callback:e,priorityLevel:t,startTime:a,expirationTime:r,sortIndex:-1},a>o?(t.sortIndex=a,w6(gh,t),lc(iu)===null&&t===lc(gh)&&(K2?RQ():K2=!0,Y2(B6,a-o))):(t.sortIndex=r,w6(iu,t),lm||LQ||(lm=!0,TE(v6))),t};vn.unstable_cancelCallback=function(t){t.callback=null};vn.unstable_wrapCallback=function(t){var e=Ro;return function(){var r=Ro;Ro=e;try{return t.apply(this,arguments)}finally{Ro=r}}};vn.unstable_getCurrentPriorityLevel=function(){return Ro};vn.unstable_shouldYield=function(){var t=vn.unstable_now();OQ(t);var e=lc(iu);return e!==ea&&ea!==null&&e!==null&&e.callback!==null&&e.startTime<=t&&e.expirationTime<ea.expirationTime||TQ()};vn.unstable_requestPaint=tyt;vn.unstable_continueExecution=function(){lm||LQ||(lm=!0,TE(v6))};vn.unstable_pauseExecution=function(){};vn.unstable_getFirstCallbackNode=function(){return lc(iu)};vn.unstable_Profiling=null});var D6=U((mYt,WCe)=>{"use strict";WCe.exports=GCe()});var YCe=U((yYt,V2)=>{V2.exports=function t(e){"use strict";var r=ZH(),o=en(),a=D6();function n(S){for(var D="https://reactjs.org/docs/error-decoder.html?invariant="+S,T=1;T<arguments.length;T++)D+="&args[]="+encodeURIComponent(arguments[T]);return"Minified React error #"+S+"; visit "+D+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var u=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;u.hasOwnProperty("ReactCurrentDispatcher")||(u.ReactCurrentDispatcher={current:null}),u.hasOwnProperty("ReactCurrentBatchConfig")||(u.ReactCurrentBatchConfig={suspense:null});var A=typeof Symbol=="function"&&Symbol.for,p=A?Symbol.for("react.element"):60103,h=A?Symbol.for("react.portal"):60106,E=A?Symbol.for("react.fragment"):60107,w=A?Symbol.for("react.strict_mode"):60108,v=A?Symbol.for("react.profiler"):60114,b=A?Symbol.for("react.provider"):60109,C=A?Symbol.for("react.context"):60110,R=A?Symbol.for("react.concurrent_mode"):60111,L=A?Symbol.for("react.forward_ref"):60112,_=A?Symbol.for("react.suspense"):60113,V=A?Symbol.for("react.suspense_list"):60120,re=A?Symbol.for("react.memo"):60115,oe=A?Symbol.for("react.lazy"):60116;A&&Symbol.for("react.fundamental"),A&&Symbol.for("react.responder"),A&&Symbol.for("react.scope");var pe=typeof Symbol=="function"&&Symbol.iterator;function he(S){return S===null||typeof S!="object"?null:(S=pe&&S[pe]||S["@@iterator"],typeof S=="function"?S:null)}function ve(S){if(S._status===-1){S._status=0;var D=S._ctor;D=D(),S._result=D,D.then(function(T){S._status===0&&(T=T.default,S._status=1,S._result=T)},function(T){S._status===0&&(S._status=2,S._result=T)})}}function ge(S){if(S==null)return null;if(typeof S=="function")return S.displayName||S.name||null;if(typeof S=="string")return S;switch(S){case E:return"Fragment";case h:return"Portal";case v:return"Profiler";case w:return"StrictMode";case _:return"Suspense";case V:return"SuspenseList"}if(typeof S=="object")switch(S.$$typeof){case C:return"Context.Consumer";case b:return"Context.Provider";case L:var D=S.render;return D=D.displayName||D.name||"",S.displayName||(D!==""?"ForwardRef("+D+")":"ForwardRef");case re:return ge(S.type);case oe:if(S=S._status===1?S._result:null)return ge(S)}return null}function le(S){var D=S,T=S;if(S.alternate)for(;D.return;)D=D.return;else{S=D;do D=S,(D.effectTag&1026)!==0&&(T=D.return),S=D.return;while(S)}return D.tag===3?T:null}function Pe(S){if(le(S)!==S)throw Error(n(188))}function g(S){var D=S.alternate;if(!D){if(D=le(S),D===null)throw Error(n(188));return D!==S?null:S}for(var T=S,q=D;;){var W=T.return;if(W===null)break;var ce=W.alternate;if(ce===null){if(q=W.return,q!==null){T=q;continue}break}if(W.child===ce.child){for(ce=W.child;ce;){if(ce===T)return Pe(W),S;if(ce===q)return Pe(W),D;ce=ce.sibling}throw Error(n(188))}if(T.return!==q.return)T=W,q=ce;else{for(var Se=!1,It=W.child;It;){if(It===T){Se=!0,T=W,q=ce;break}if(It===q){Se=!0,q=W,T=ce;break}It=It.sibling}if(!Se){for(It=ce.child;It;){if(It===T){Se=!0,T=ce,q=W;break}if(It===q){Se=!0,q=ce,T=W;break}It=It.sibling}if(!Se)throw Error(n(189))}}if(T.alternate!==q)throw Error(n(190))}if(T.tag!==3)throw Error(n(188));return T.stateNode.current===T?S:D}function De(S){if(S=g(S),!S)return null;for(var D=S;;){if(D.tag===5||D.tag===6)return D;if(D.child)D.child.return=D,D=D.child;else{if(D===S)break;for(;!D.sibling;){if(!D.return||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}}return null}function Ce(S){if(S=g(S),!S)return null;for(var D=S;;){if(D.tag===5||D.tag===6)return D;if(D.child&&D.tag!==4)D.child.return=D,D=D.child;else{if(D===S)break;for(;!D.sibling;){if(!D.return||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}}return null}var de=e.getPublicInstance,ne=e.getRootHostContext,Z=e.getChildHostContext,me=e.prepareForCommit,be=e.resetAfterCommit,ut=e.createInstance,H=e.appendInitialChild,yt=e.finalizeInitialChildren,Me=e.prepareUpdate,Te=e.shouldSetTextContent,Qe=e.shouldDeprioritizeSubtree,_e=e.createTextInstance,qe=e.setTimeout,At=e.clearTimeout,Oe=e.noTimeout,x=e.isPrimaryRenderer,I=e.supportsMutation,P=e.supportsPersistence,y=e.supportsHydration,F=e.appendChild,J=e.appendChildToContainer,X=e.commitTextUpdate,$=e.commitMount,ie=e.commitUpdate,ke=e.insertBefore,Ne=e.insertInContainerBefore,st=e.removeChild,ht=e.removeChildFromContainer,Ut=e.resetTextContent,Xt=e.hideInstance,Pt=e.hideTextInstance,tn=e.unhideInstance,Dr=e.unhideTextInstance,fr=e.cloneInstance,Br=e.createContainerChildSet,jr=e.appendChildToContainerChildSet,Hn=e.finalizeContainerChildren,bs=e.replaceContainerChildren,ki=e.cloneHiddenInstance,gs=e.cloneHiddenTextInstance,to=e.canHydrateInstance,Di=e.canHydrateTextInstance,Qs=e.isSuspenseInstancePending,ro=e.isSuspenseInstanceFallback,pc=e.getNextHydratableSibling,gu=e.getFirstHydratableChild,ap=e.hydrateInstance,lp=e.hydrateTextInstance,ks=e.getNextHydratableInstanceAfterSuspenseInstance,En=e.commitHydratedContainer,no=e.commitHydratedSuspenseInstance,Fs=/^(.*)[\\\/]/;function Cl(S){var D="";do{e:switch(S.tag){case 3:case 4:case 6:case 7:case 10:case 9:var T="";break e;default:var q=S._debugOwner,W=S._debugSource,ce=ge(S.type);T=null,q&&(T=ge(q.type)),q=ce,ce="",W?ce=" (at "+W.fileName.replace(Fs,"")+":"+W.lineNumber+")":T&&(ce=" (created by "+T+")"),T=` |
282 | in `+(q||"Unknown")+ce}D+=T,S=S.return}while(S);return D}var ml=[],io=-1;function _e(S){0>io||(S.current=ml[io],ml[io]=null,io--)}function Fn(S,D){io++,ml[io]=S.current,S.current=D}var Fi={},Rn={current:Fi},Ui={current:!1},Zt=Fi;function Ri(S,D){var T=S.type.contextTypes;if(!T)return Fi;var q=S.stateNode;if(q&&q.__reactInternalMemoizedUnmaskedChildContext===D)return q.__reactInternalMemoizedMaskedChildContext;var W={},ce;for(ce in T)W[ce]=D[ce];return q&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=D,S.__reactInternalMemoizedMaskedChildContext=W),W}function Zn(S){return S=S.childContextTypes,S!=null}function La(S){_e(Ui,S),_e(Rn,S)}function $t(S){_e(Ui,S),_e(Rn,S)}function Ac(S,D,T){if(Rn.current!==Fi)throw Error(n(168));Fn(Rn,D,S),Fn(Ui,T,S)}function gu(S,D,T){var q=S.stateNode;if(S=D.childContextTypes,typeof q.getChildContext!="function")return T;q=q.getChildContext();for(var W in q)if(!(W in S))throw Error(n(108,ge(D)||"Unknown",W));return r({},T,{},q)}function fc(S){var D=S.stateNode;return D=D&&D.__reactInternalMemoizedMergedChildContext||Fi,Zt=Rn.current,Fn(Rn,D,S),Fn(Ui,Ui.current,S),!0}function yl(S,D,T){var q=S.stateNode;if(!q)throw Error(n(169));T?(D=gu(S,D,Zt),q.__reactInternalMemoizedMergedChildContext=D,_e(Ui,S),_e(Rn,S),Fn(Rn,D,S)):_e(Ui,S),Fn(Ui,T,S)}var DA=a.unstable_runWithPriority,du=a.unstable_scheduleCallback,Ce=a.unstable_cancelCallback,Rt=a.unstable_shouldYield,pc=a.unstable_requestPaint,_i=a.unstable_now,mu=a.unstable_getCurrentPriorityLevel,qt=a.unstable_ImmediatePriority,El=a.unstable_UserBlockingPriority,SA=a.unstable_NormalPriority,lp=a.unstable_LowPriority,hc=a.unstable_IdlePriority,PA={},Dn=pc!==void 0?pc:function(){},ui=null,gc=null,xA=!1,ta=_i(),Hi=1e4>ta?_i:function(){return _i()-ta};function Lo(){switch(mu()){case qt:return 99;case El:return 98;case SA:return 97;case lp:return 96;case hc:return 95;default:throw Error(n(332))}}function $e(S){switch(S){case 99:return qt;case 98:return El;case 97:return SA;case 96:return lp;case 95:return hc;default:throw Error(n(332))}}function so(S,D){return S=$e(S),DA(S,D)}function Cl(S,D,T){return S=$e(S),du(S,D,T)}function yu(S){return ui===null?(ui=[S],gc=du(qt,Eu)):ui.push(S),PA}function qi(){if(gc!==null){var S=gc;gc=null,Ce(S)}Eu()}function Eu(){if(!xA&&ui!==null){xA=!0;var S=0;try{var D=ui;so(99,function(){for(;S<D.length;S++){var T=D[S];do T=T(!0);while(T!==null)}}),ui=null}catch(T){throw ui!==null&&(ui=ui.slice(S+1)),du(qt,qi),T}finally{xA=!1}}}var bA=3;function Oa(S,D,T){return T/=10,1073741821-(((1073741821-S+D/10)/T|0)+1)*T}function dc(S,D){return S===D&&(S!==0||1/S===1/D)||S!==S&&D!==D}var ds=typeof Object.is=="function"?Object.is:dc,Ot=Object.prototype.hasOwnProperty;function Sn(S,D){if(ds(S,D))return!0;if(typeof S!="object"||S===null||typeof D!="object"||D===null)return!1;var T=Object.keys(S),q=Object.keys(D);if(T.length!==q.length)return!1;for(q=0;q<T.length;q++)if(!Ot.call(D,T[q])||!ds(S[T[q]],D[T[q]]))return!1;return!0}function di(S,D){if(S&&S.defaultProps){D=r({},D),S=S.defaultProps;for(var T in S)D[T]===void 0&&(D[T]=S[T])}return D}var ra={current:null},oo=null,Rs=null,na=null;function ia(){na=Rs=oo=null}function Oo(S,D){var T=S.type._context;x?(Fn(ra,T._currentValue,S),T._currentValue=D):(Fn(ra,T._currentValue2,S),T._currentValue2=D)}function Zi(S){var D=ra.current;_e(ra,S),S=S.type._context,x?S._currentValue=D:S._currentValue2=D}function Ts(S,D){for(;S!==null;){var T=S.alternate;if(S.childExpirationTime<D)S.childExpirationTime=D,T!==null&&T.childExpirationTime<D&&(T.childExpirationTime=D);else if(T!==null&&T.childExpirationTime<D)T.childExpirationTime=D;else break;S=S.return}}function Ns(S,D){oo=S,na=Rs=null,S=S.dependencies,S!==null&&S.firstContext!==null&&(S.expirationTime>=D&&(Mo=!0),S.firstContext=null)}function Ls(S,D){if(na!==S&&D!==!1&&D!==0)if((typeof D!="number"||D===1073741823)&&(na=S,D=1073741823),D={context:S,observedBits:D,next:null},Rs===null){if(oo===null)throw Error(n(308));Rs=D,oo.dependencies={expirationTime:0,firstContext:D,responders:null}}else Rs=Rs.next=D;return x?S._currentValue:S._currentValue2}var ao=!1;function Wn(S){return{baseState:S,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function qn(S){return{baseState:S.baseState,firstUpdate:S.firstUpdate,lastUpdate:S.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function $i(S,D){return{expirationTime:S,suspenseConfig:D,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function es(S,D){S.lastUpdate===null?S.firstUpdate=S.lastUpdate=D:(S.lastUpdate.next=D,S.lastUpdate=D)}function mi(S,D){var T=S.alternate;if(T===null){var q=S.updateQueue,W=null;q===null&&(q=S.updateQueue=Wn(S.memoizedState))}else q=S.updateQueue,W=T.updateQueue,q===null?W===null?(q=S.updateQueue=Wn(S.memoizedState),W=T.updateQueue=Wn(T.memoizedState)):q=S.updateQueue=qn(W):W===null&&(W=T.updateQueue=qn(q));W===null||q===W?es(q,D):q.lastUpdate===null||W.lastUpdate===null?(es(q,D),es(W,D)):(es(q,D),W.lastUpdate=D)}function Ma(S,D){var T=S.updateQueue;T=T===null?S.updateQueue=Wn(S.memoizedState):sa(S,T),T.lastCapturedUpdate===null?T.firstCapturedUpdate=T.lastCapturedUpdate=D:(T.lastCapturedUpdate.next=D,T.lastCapturedUpdate=D)}function sa(S,D){var T=S.alternate;return T!==null&&D===T.updateQueue&&(D=S.updateQueue=qn(D)),D}function ee(S,D,T,q,W,ce){switch(T.tag){case 1:return S=T.payload,typeof S=="function"?S.call(ce,q,W):S;case 3:S.effectTag=S.effectTag&-4097|64;case 0:if(S=T.payload,W=typeof S=="function"?S.call(ce,q,W):S,W==null)break;return r({},q,W);case 2:ao=!0}return q}function we(S,D,T,q,W){ao=!1,D=sa(S,D);for(var ce=D.baseState,Se=null,It=0,Et=D.firstUpdate,xt=ce;Et!==null;){var Nr=Et.expirationTime;Nr<W?(Se===null&&(Se=Et,ce=xt),It<Nr&&(It=Nr)):(hI(Nr,Et.suspenseConfig),xt=ee(S,D,Et,xt,T,q),Et.callback!==null&&(S.effectTag|=32,Et.nextEffect=null,D.lastEffect===null?D.firstEffect=D.lastEffect=Et:(D.lastEffect.nextEffect=Et,D.lastEffect=Et))),Et=Et.next}for(Nr=null,Et=D.firstCapturedUpdate;Et!==null;){var is=Et.expirationTime;is<W?(Nr===null&&(Nr=Et,Se===null&&(ce=xt)),It<is&&(It=is)):(xt=ee(S,D,Et,xt,T,q),Et.callback!==null&&(S.effectTag|=32,Et.nextEffect=null,D.lastCapturedEffect===null?D.firstCapturedEffect=D.lastCapturedEffect=Et:(D.lastCapturedEffect.nextEffect=Et,D.lastCapturedEffect=Et))),Et=Et.next}Se===null&&(D.lastUpdate=null),Nr===null?D.lastCapturedUpdate=null:S.effectTag|=32,Se===null&&Nr===null&&(ce=xt),D.baseState=ce,D.firstUpdate=Se,D.firstCapturedUpdate=Nr,Mm(It),S.expirationTime=It,S.memoizedState=xt}function qe(S,D,T){D.firstCapturedUpdate!==null&&(D.lastUpdate!==null&&(D.lastUpdate.next=D.firstCapturedUpdate,D.lastUpdate=D.lastCapturedUpdate),D.firstCapturedUpdate=D.lastCapturedUpdate=null),Be(D.firstEffect,T),D.firstEffect=D.lastEffect=null,Be(D.firstCapturedEffect,T),D.firstCapturedEffect=D.lastCapturedEffect=null}function Be(S,D){for(;S!==null;){var T=S.callback;if(T!==null){S.callback=null;var q=D;if(typeof T!="function")throw Error(n(191,T));T.call(q)}S=S.nextEffect}}var xe=u.ReactCurrentBatchConfig,Je=new o.Component().refs;function vt(S,D,T,q){D=S.memoizedState,T=T(q,D),T=T==null?D:r({},D,T),S.memoizedState=T,q=S.updateQueue,q!==null&&S.expirationTime===0&&(q.baseState=T)}var tr={isMounted:function(S){return(S=S._reactInternalFiber)?le(S)===S:!1},enqueueSetState:function(S,D,T){S=S._reactInternalFiber;var q=ha(),W=xe.suspense;q=_A(q,S,W),W=$i(q,W),W.payload=D,T!=null&&(W.callback=T),mi(S,W),Pc(S,q)},enqueueReplaceState:function(S,D,T){S=S._reactInternalFiber;var q=ha(),W=xe.suspense;q=_A(q,S,W),W=$i(q,W),W.tag=1,W.payload=D,T!=null&&(W.callback=T),mi(S,W),Pc(S,q)},enqueueForceUpdate:function(S,D){S=S._reactInternalFiber;var T=ha(),q=xe.suspense;T=_A(T,S,q),q=$i(T,q),q.tag=2,D!=null&&(q.callback=D),mi(S,q),Pc(S,T)}};function Zr(S,D,T,q,W,ce,Se){return S=S.stateNode,typeof S.shouldComponentUpdate=="function"?S.shouldComponentUpdate(q,ce,Se):D.prototype&&D.prototype.isPureReactComponent?!Sn(T,q)||!Sn(W,ce):!0}function Tn(S,D,T){var q=!1,W=Fi,ce=D.contextType;return typeof ce=="object"&&ce!==null?ce=Ls(ce):(W=Zn(D)?Zt:Rn.current,q=D.contextTypes,ce=(q=q!=null)?Ri(S,W):Fi),D=new D(T,ce),S.memoizedState=D.state!==null&&D.state!==void 0?D.state:null,D.updater=tr,S.stateNode=D,D._reactInternalFiber=S,q&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=W,S.__reactInternalMemoizedMaskedChildContext=ce),D}function _r(S,D,T,q){S=D.state,typeof D.componentWillReceiveProps=="function"&&D.componentWillReceiveProps(T,q),typeof D.UNSAFE_componentWillReceiveProps=="function"&&D.UNSAFE_componentWillReceiveProps(T,q),D.state!==S&&tr.enqueueReplaceState(D,D.state,null)}function $n(S,D,T,q){var W=S.stateNode;W.props=T,W.state=S.memoizedState,W.refs=Je;var ce=D.contextType;typeof ce=="object"&&ce!==null?W.context=Ls(ce):(ce=Zn(D)?Zt:Rn.current,W.context=Ri(S,ce)),ce=S.updateQueue,ce!==null&&(we(S,ce,T,W,q),W.state=S.memoizedState),ce=D.getDerivedStateFromProps,typeof ce=="function"&&(vt(S,D,ce,T),W.state=S.memoizedState),typeof D.getDerivedStateFromProps=="function"||typeof W.getSnapshotBeforeUpdate=="function"||typeof W.UNSAFE_componentWillMount!="function"&&typeof W.componentWillMount!="function"||(D=W.state,typeof W.componentWillMount=="function"&&W.componentWillMount(),typeof W.UNSAFE_componentWillMount=="function"&&W.UNSAFE_componentWillMount(),D!==W.state&&tr.enqueueReplaceState(W,W.state,null),ce=S.updateQueue,ce!==null&&(we(S,ce,T,W,q),W.state=S.memoizedState)),typeof W.componentDidMount=="function"&&(S.effectTag|=4)}var Ti=Array.isArray;function Yn(S,D,T){if(S=T.ref,S!==null&&typeof S!="function"&&typeof S!="object"){if(T._owner){if(T=T._owner,T){if(T.tag!==1)throw Error(n(309));var q=T.stateNode}if(!q)throw Error(n(147,S));var W=""+S;return D!==null&&D.ref!==null&&typeof D.ref=="function"&&D.ref._stringRef===W?D.ref:(D=function(ce){var Se=q.refs;Se===Je&&(Se=q.refs={}),ce===null?delete Se[W]:Se[W]=ce},D._stringRef=W,D)}if(typeof S!="string")throw Error(n(284));if(!T._owner)throw Error(n(290,S))}return S}function Ua(S,D){if(S.type!=="textarea")throw Error(n(31,Object.prototype.toString.call(D)==="[object Object]"?"object with keys {"+Object.keys(D).join(", ")+"}":D,""))}function oa(S){function D(rt,Ve){if(S){var ft=rt.lastEffect;ft!==null?(ft.nextEffect=Ve,rt.lastEffect=Ve):rt.firstEffect=rt.lastEffect=Ve,Ve.nextEffect=null,Ve.effectTag=8}}function T(rt,Ve){if(!S)return null;for(;Ve!==null;)D(rt,Ve),Ve=Ve.sibling;return null}function q(rt,Ve){for(rt=new Map;Ve!==null;)Ve.key!==null?rt.set(Ve.key,Ve):rt.set(Ve.index,Ve),Ve=Ve.sibling;return rt}function W(rt,Ve,ft){return rt=GA(rt,Ve,ft),rt.index=0,rt.sibling=null,rt}function ce(rt,Ve,ft){return rt.index=ft,S?(ft=rt.alternate,ft!==null?(ft=ft.index,ft<Ve?(rt.effectTag=2,Ve):ft):(rt.effectTag=2,Ve)):Ve}function Se(rt){return S&&rt.alternate===null&&(rt.effectTag=2),rt}function It(rt,Ve,ft,jt){return Ve===null||Ve.tag!==6?(Ve=EI(ft,rt.mode,jt),Ve.return=rt,Ve):(Ve=W(Ve,ft,jt),Ve.return=rt,Ve)}function Et(rt,Ve,ft,jt){return Ve!==null&&Ve.elementType===ft.type?(jt=W(Ve,ft.props,jt),jt.ref=Yn(rt,Ve,ft),jt.return=rt,jt):(jt=Um(ft.type,ft.key,ft.props,null,rt.mode,jt),jt.ref=Yn(rt,Ve,ft),jt.return=rt,jt)}function xt(rt,Ve,ft,jt){return Ve===null||Ve.tag!==4||Ve.stateNode.containerInfo!==ft.containerInfo||Ve.stateNode.implementation!==ft.implementation?(Ve=CI(ft,rt.mode,jt),Ve.return=rt,Ve):(Ve=W(Ve,ft.children||[],jt),Ve.return=rt,Ve)}function Nr(rt,Ve,ft,jt,Er){return Ve===null||Ve.tag!==7?(Ve=ku(ft,rt.mode,jt,Er),Ve.return=rt,Ve):(Ve=W(Ve,ft,jt),Ve.return=rt,Ve)}function is(rt,Ve,ft){if(typeof Ve=="string"||typeof Ve=="number")return Ve=EI(""+Ve,rt.mode,ft),Ve.return=rt,Ve;if(typeof Ve=="object"&&Ve!==null){switch(Ve.$$typeof){case p:return ft=Um(Ve.type,Ve.key,Ve.props,null,rt.mode,ft),ft.ref=Yn(rt,null,Ve),ft.return=rt,ft;case h:return Ve=CI(Ve,rt.mode,ft),Ve.return=rt,Ve}if(Ti(Ve)||he(Ve))return Ve=ku(Ve,rt.mode,ft,null),Ve.return=rt,Ve;Ua(rt,Ve)}return null}function fi(rt,Ve,ft,jt){var Er=Ve!==null?Ve.key:null;if(typeof ft=="string"||typeof ft=="number")return Er!==null?null:It(rt,Ve,""+ft,jt);if(typeof ft=="object"&&ft!==null){switch(ft.$$typeof){case p:return ft.key===Er?ft.type===C?Nr(rt,Ve,ft.props.children,jt,Er):Et(rt,Ve,ft,jt):null;case h:return ft.key===Er?xt(rt,Ve,ft,jt):null}if(Ti(ft)||he(ft))return Er!==null?null:Nr(rt,Ve,ft,jt,null);Ua(rt,ft)}return null}function Ao(rt,Ve,ft,jt,Er){if(typeof jt=="string"||typeof jt=="number")return rt=rt.get(ft)||null,It(Ve,rt,""+jt,Er);if(typeof jt=="object"&&jt!==null){switch(jt.$$typeof){case p:return rt=rt.get(jt.key===null?ft:jt.key)||null,jt.type===C?Nr(Ve,rt,jt.props.children,Er,jt.key):Et(Ve,rt,jt,Er);case h:return rt=rt.get(jt.key===null?ft:jt.key)||null,xt(Ve,rt,jt,Er)}if(Ti(jt)||he(jt))return rt=rt.get(ft)||null,Nr(Ve,rt,jt,Er,null);Ua(Ve,jt)}return null}function YA(rt,Ve,ft,jt){for(var Er=null,In=null,Sr=Ve,wn=Ve=0,ri=null;Sr!==null&&wn<ft.length;wn++){Sr.index>wn?(ri=Sr,Sr=null):ri=Sr.sibling;var Xr=fi(rt,Sr,ft[wn],jt);if(Xr===null){Sr===null&&(Sr=ri);break}S&&Sr&&Xr.alternate===null&&D(rt,Sr),Ve=ce(Xr,Ve,wn),In===null?Er=Xr:In.sibling=Xr,In=Xr,Sr=ri}if(wn===ft.length)return T(rt,Sr),Er;if(Sr===null){for(;wn<ft.length;wn++)Sr=is(rt,ft[wn],jt),Sr!==null&&(Ve=ce(Sr,Ve,wn),In===null?Er=Sr:In.sibling=Sr,In=Sr);return Er}for(Sr=q(rt,Sr);wn<ft.length;wn++)ri=Ao(Sr,rt,wn,ft[wn],jt),ri!==null&&(S&&ri.alternate!==null&&Sr.delete(ri.key===null?wn:ri.key),Ve=ce(ri,Ve,wn),In===null?Er=ri:In.sibling=ri,In=ri);return S&&Sr.forEach(function(fo){return D(rt,fo)}),Er}function _o(rt,Ve,ft,jt){var Er=he(ft);if(typeof Er!="function")throw Error(n(150));if(ft=Er.call(ft),ft==null)throw Error(n(151));for(var In=Er=null,Sr=Ve,wn=Ve=0,ri=null,Xr=ft.next();Sr!==null&&!Xr.done;wn++,Xr=ft.next()){Sr.index>wn?(ri=Sr,Sr=null):ri=Sr.sibling;var fo=fi(rt,Sr,Xr.value,jt);if(fo===null){Sr===null&&(Sr=ri);break}S&&Sr&&fo.alternate===null&&D(rt,Sr),Ve=ce(fo,Ve,wn),In===null?Er=fo:In.sibling=fo,In=fo,Sr=ri}if(Xr.done)return T(rt,Sr),Er;if(Sr===null){for(;!Xr.done;wn++,Xr=ft.next())Xr=is(rt,Xr.value,jt),Xr!==null&&(Ve=ce(Xr,Ve,wn),In===null?Er=Xr:In.sibling=Xr,In=Xr);return Er}for(Sr=q(rt,Sr);!Xr.done;wn++,Xr=ft.next())Xr=Ao(Sr,rt,wn,Xr.value,jt),Xr!==null&&(S&&Xr.alternate!==null&&Sr.delete(Xr.key===null?wn:Xr.key),Ve=ce(Xr,Ve,wn),In===null?Er=Xr:In.sibling=Xr,In=Xr);return S&&Sr.forEach(function(dF){return D(rt,dF)}),Er}return function(rt,Ve,ft,jt){var Er=typeof ft=="object"&&ft!==null&&ft.type===C&&ft.key===null;Er&&(ft=ft.props.children);var In=typeof ft=="object"&&ft!==null;if(In)switch(ft.$$typeof){case p:e:{for(In=ft.key,Er=Ve;Er!==null;){if(Er.key===In)if(Er.tag===7?ft.type===C:Er.elementType===ft.type){T(rt,Er.sibling),Ve=W(Er,ft.type===C?ft.props.children:ft.props,jt),Ve.ref=Yn(rt,Er,ft),Ve.return=rt,rt=Ve;break e}else{T(rt,Er);break}else D(rt,Er);Er=Er.sibling}ft.type===C?(Ve=ku(ft.props.children,rt.mode,jt,ft.key),Ve.return=rt,rt=Ve):(jt=Um(ft.type,ft.key,ft.props,null,rt.mode,jt),jt.ref=Yn(rt,Ve,ft),jt.return=rt,rt=jt)}return Se(rt);case h:e:{for(Er=ft.key;Ve!==null;){if(Ve.key===Er)if(Ve.tag===4&&Ve.stateNode.containerInfo===ft.containerInfo&&Ve.stateNode.implementation===ft.implementation){T(rt,Ve.sibling),Ve=W(Ve,ft.children||[],jt),Ve.return=rt,rt=Ve;break e}else{T(rt,Ve);break}else D(rt,Ve);Ve=Ve.sibling}Ve=CI(ft,rt.mode,jt),Ve.return=rt,rt=Ve}return Se(rt)}if(typeof ft=="string"||typeof ft=="number")return ft=""+ft,Ve!==null&&Ve.tag===6?(T(rt,Ve.sibling),Ve=W(Ve,ft,jt),Ve.return=rt,rt=Ve):(T(rt,Ve),Ve=EI(ft,rt.mode,jt),Ve.return=rt,rt=Ve),Se(rt);if(Ti(ft))return YA(rt,Ve,ft,jt);if(he(ft))return _o(rt,Ve,ft,jt);if(In&&Ua(rt,ft),typeof ft>"u"&&!Er)switch(rt.tag){case 1:case 0:throw rt=rt.type,Error(n(152,rt.displayName||rt.name||"Component"))}return T(rt,Ve)}}var yi=oa(!0),aa=oa(!1),Ha={},lo={current:Ha},QA={current:Ha},mc={current:Ha};function la(S){if(S===Ha)throw Error(n(174));return S}function $h(S,D){Fn(mc,D,S),Fn(QA,S,S),Fn(lo,Ha,S),D=ne(D),_e(lo,S),Fn(lo,D,S)}function yc(S){_e(lo,S),_e(QA,S),_e(mc,S)}function vm(S){var D=la(mc.current),T=la(lo.current);D=Z(T,S.type,D),T!==D&&(Fn(QA,S,S),Fn(lo,D,S))}function eg(S){QA.current===S&&(_e(lo,S),_e(QA,S))}var Kn={current:0};function cp(S){for(var D=S;D!==null;){if(D.tag===13){var T=D.memoizedState;if(T!==null&&(T=T.dehydrated,T===null||Qs(T)||ro(T)))return D}else if(D.tag===19&&D.memoizedProps.revealOrder!==void 0){if((D.effectTag&64)!==0)return D}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===S)break;for(;D.sibling===null;){if(D.return===null||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}return null}function tg(S,D){return{responder:S,props:D}}var kA=u.ReactCurrentDispatcher,Os=u.ReactCurrentBatchConfig,Cu=0,qa=null,ji=null,ca=null,Iu=null,ms=null,Ec=null,Cc=0,G=null,Dt=0,Il=!1,Si=null,Ic=0;function lt(){throw Error(n(321))}function wu(S,D){if(D===null)return!1;for(var T=0;T<D.length&&T<S.length;T++)if(!ds(S[T],D[T]))return!1;return!0}function rg(S,D,T,q,W,ce){if(Cu=ce,qa=D,ca=S!==null?S.memoizedState:null,kA.current=ca===null?oI:Pm,D=T(q,W),Il){do Il=!1,Ic+=1,ca=S!==null?S.memoizedState:null,Ec=Iu,G=ms=ji=null,kA.current=Pm,D=T(q,W);while(Il);Si=null,Ic=0}if(kA.current=vu,S=qa,S.memoizedState=Iu,S.expirationTime=Cc,S.updateQueue=G,S.effectTag|=Dt,S=ji!==null&&ji.next!==null,Cu=0,Ec=ms=Iu=ca=ji=qa=null,Cc=0,G=null,Dt=0,S)throw Error(n(300));return D}function sI(){kA.current=vu,Cu=0,Ec=ms=Iu=ca=ji=qa=null,Cc=0,G=null,Dt=0,Il=!1,Si=null,Ic=0}function FA(){var S={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return ms===null?Iu=ms=S:ms=ms.next=S,ms}function up(){if(Ec!==null)ms=Ec,Ec=ms.next,ji=ca,ca=ji!==null?ji.next:null;else{if(ca===null)throw Error(n(310));ji=ca;var S={memoizedState:ji.memoizedState,baseState:ji.baseState,queue:ji.queue,baseUpdate:ji.baseUpdate,next:null};ms=ms===null?Iu=S:ms.next=S,ca=ji.next}return ms}function yr(S,D){return typeof D=="function"?D(S):D}function ys(S){var D=up(),T=D.queue;if(T===null)throw Error(n(311));if(T.lastRenderedReducer=S,0<Ic){var q=T.dispatch;if(Si!==null){var W=Si.get(T);if(W!==void 0){Si.delete(T);var ce=D.memoizedState;do ce=S(ce,W.action),W=W.next;while(W!==null);return ds(ce,D.memoizedState)||(Mo=!0),D.memoizedState=ce,D.baseUpdate===T.last&&(D.baseState=ce),T.lastRenderedState=ce,[ce,q]}}return[D.memoizedState,q]}q=T.last;var Se=D.baseUpdate;if(ce=D.baseState,Se!==null?(q!==null&&(q.next=null),q=Se.next):q=q!==null?q.next:null,q!==null){var It=W=null,Et=q,xt=!1;do{var Nr=Et.expirationTime;Nr<Cu?(xt||(xt=!0,It=Se,W=ce),Nr>Cc&&(Cc=Nr,Mm(Cc))):(hI(Nr,Et.suspenseConfig),ce=Et.eagerReducer===S?Et.eagerState:S(ce,Et.action)),Se=Et,Et=Et.next}while(Et!==null&&Et!==q);xt||(It=Se,W=ce),ds(ce,D.memoizedState)||(Mo=!0),D.memoizedState=ce,D.baseUpdate=It,D.baseState=W,T.lastRenderedState=ce}return[D.memoizedState,T.dispatch]}function ng(S){var D=FA();return typeof S=="function"&&(S=S()),D.memoizedState=D.baseState=S,S=D.queue={last:null,dispatch:null,lastRenderedReducer:yr,lastRenderedState:S},S=S.dispatch=lg.bind(null,qa,S),[D.memoizedState,S]}function ig(S){return ys(yr,S)}function sg(S,D,T,q){return S={tag:S,create:D,destroy:T,deps:q,next:null},G===null?(G={lastEffect:null},G.lastEffect=S.next=S):(D=G.lastEffect,D===null?G.lastEffect=S.next=S:(T=D.next,D.next=S,S.next=T,G.lastEffect=S)),S}function Ap(S,D,T,q){var W=FA();Dt|=S,W.memoizedState=sg(D,T,void 0,q===void 0?null:q)}function wc(S,D,T,q){var W=up();q=q===void 0?null:q;var ce=void 0;if(ji!==null){var Se=ji.memoizedState;if(ce=Se.destroy,q!==null&&wu(q,Se.deps)){sg(0,T,ce,q);return}}Dt|=S,W.memoizedState=sg(D,T,ce,q)}function mt(S,D){return Ap(516,192,S,D)}function Dm(S,D){return wc(516,192,S,D)}function og(S,D){if(typeof D=="function")return S=S(),D(S),function(){D(null)};if(D!=null)return S=S(),D.current=S,function(){D.current=null}}function ag(){}function Bu(S,D){return FA().memoizedState=[S,D===void 0?null:D],S}function Sm(S,D){var T=up();D=D===void 0?null:D;var q=T.memoizedState;return q!==null&&D!==null&&wu(D,q[1])?q[0]:(T.memoizedState=[S,D],S)}function lg(S,D,T){if(!(25>Ic))throw Error(n(301));var q=S.alternate;if(S===qa||q!==null&&q===qa)if(Il=!0,S={expirationTime:Cu,suspenseConfig:null,action:T,eagerReducer:null,eagerState:null,next:null},Si===null&&(Si=new Map),T=Si.get(D),T===void 0)Si.set(D,S);else{for(D=T;D.next!==null;)D=D.next;D.next=S}else{var W=ha(),ce=xe.suspense;W=_A(W,S,ce),ce={expirationTime:W,suspenseConfig:ce,action:T,eagerReducer:null,eagerState:null,next:null};var Se=D.last;if(Se===null)ce.next=ce;else{var It=Se.next;It!==null&&(ce.next=It),Se.next=ce}if(D.last=ce,S.expirationTime===0&&(q===null||q.expirationTime===0)&&(q=D.lastRenderedReducer,q!==null))try{var Et=D.lastRenderedState,xt=q(Et,T);if(ce.eagerReducer=q,ce.eagerState=xt,ds(xt,Et))return}catch{}finally{}Pc(S,W)}}var vu={readContext:Ls,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useResponder:lt,useDeferredValue:lt,useTransition:lt},oI={readContext:Ls,useCallback:Bu,useContext:Ls,useEffect:mt,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,Ap(4,36,og.bind(null,D,S),T)},useLayoutEffect:function(S,D){return Ap(4,36,S,D)},useMemo:function(S,D){var T=FA();return D=D===void 0?null:D,S=S(),T.memoizedState=[S,D],S},useReducer:function(S,D,T){var q=FA();return D=T!==void 0?T(D):D,q.memoizedState=q.baseState=D,S=q.queue={last:null,dispatch:null,lastRenderedReducer:S,lastRenderedState:D},S=S.dispatch=lg.bind(null,qa,S),[q.memoizedState,S]},useRef:function(S){var D=FA();return S={current:S},D.memoizedState=S},useState:ng,useDebugValue:ag,useResponder:tg,useDeferredValue:function(S,D){var T=ng(S),q=T[0],W=T[1];return mt(function(){a.unstable_next(function(){var ce=Os.suspense;Os.suspense=D===void 0?null:D;try{W(S)}finally{Os.suspense=ce}})},[S,D]),q},useTransition:function(S){var D=ng(!1),T=D[0],q=D[1];return[Bu(function(W){q(!0),a.unstable_next(function(){var ce=Os.suspense;Os.suspense=S===void 0?null:S;try{q(!1),W()}finally{Os.suspense=ce}})},[S,T]),T]}},Pm={readContext:Ls,useCallback:Sm,useContext:Ls,useEffect:Dm,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,wc(4,36,og.bind(null,D,S),T)},useLayoutEffect:function(S,D){return wc(4,36,S,D)},useMemo:function(S,D){var T=up();D=D===void 0?null:D;var q=T.memoizedState;return q!==null&&D!==null&&wu(D,q[1])?q[0]:(S=S(),T.memoizedState=[S,D],S)},useReducer:ys,useRef:function(){return up().memoizedState},useState:ig,useDebugValue:ag,useResponder:tg,useDeferredValue:function(S,D){var T=ig(S),q=T[0],W=T[1];return Dm(function(){a.unstable_next(function(){var ce=Os.suspense;Os.suspense=D===void 0?null:D;try{W(S)}finally{Os.suspense=ce}})},[S,D]),q},useTransition:function(S){var D=ig(!1),T=D[0],q=D[1];return[Sm(function(W){q(!0),a.unstable_next(function(){var ce=Os.suspense;Os.suspense=S===void 0?null:S;try{q(!1),W()}finally{Os.suspense=ce}})},[S,T]),T]}},ua=null,Bc=null,wl=!1;function Du(S,D){var T=Dl(5,null,null,0);T.elementType="DELETED",T.type="DELETED",T.stateNode=D,T.return=S,T.effectTag=8,S.lastEffect!==null?(S.lastEffect.nextEffect=T,S.lastEffect=T):S.firstEffect=S.lastEffect=T}function cg(S,D){switch(S.tag){case 5:return D=to(D,S.type,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 6:return D=Di(D,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 13:return!1;default:return!1}}function RA(S){if(wl){var D=Bc;if(D){var T=D;if(!cg(S,D)){if(D=uc(T),!D||!cg(S,D)){S.effectTag=S.effectTag&-1025|2,wl=!1,ua=S;return}Du(ua,T)}ua=S,Bc=hu(D)}else S.effectTag=S.effectTag&-1025|2,wl=!1,ua=S}}function fp(S){for(S=S.return;S!==null&&S.tag!==5&&S.tag!==3&&S.tag!==13;)S=S.return;ua=S}function ja(S){if(!y||S!==ua)return!1;if(!wl)return fp(S),wl=!0,!1;var D=S.type;if(S.tag!==5||D!=="head"&&D!=="body"&&!Te(D,S.memoizedProps))for(D=Bc;D;)Du(S,D),D=uc(D);if(fp(S),S.tag===13){if(!y)throw Error(n(316));if(S=S.memoizedState,S=S!==null?S.dehydrated:null,!S)throw Error(n(317));Bc=ks(S)}else Bc=ua?uc(S.stateNode):null;return!0}function ug(){y&&(Bc=ua=null,wl=!1)}var pp=u.ReactCurrentOwner,Mo=!1;function Es(S,D,T,q){D.child=S===null?aa(D,null,T,q):yi(D,S.child,T,q)}function Ei(S,D,T,q,W){T=T.render;var ce=D.ref;return Ns(D,W),q=rg(S,D,T,q,ce,W),S!==null&&!Mo?(D.updateQueue=S.updateQueue,D.effectTag&=-517,S.expirationTime<=W&&(S.expirationTime=0),ei(S,D,W)):(D.effectTag|=1,Es(S,D,q,W),D.child)}function xm(S,D,T,q,W,ce){if(S===null){var Se=T.type;return typeof Se=="function"&&!yI(Se)&&Se.defaultProps===void 0&&T.compare===null&&T.defaultProps===void 0?(D.tag=15,D.type=Se,bm(S,D,Se,q,W,ce)):(S=Um(T.type,null,q,null,D.mode,ce),S.ref=D.ref,S.return=D,D.child=S)}return Se=S.child,W<ce&&(W=Se.memoizedProps,T=T.compare,T=T!==null?T:Sn,T(W,q)&&S.ref===D.ref)?ei(S,D,ce):(D.effectTag|=1,S=GA(Se,q,ce),S.ref=D.ref,S.return=D,D.child=S)}function bm(S,D,T,q,W,ce){return S!==null&&Sn(S.memoizedProps,q)&&S.ref===D.ref&&(Mo=!1,W<ce)?ei(S,D,ce):TA(S,D,T,q,ce)}function Uo(S,D){var T=D.ref;(S===null&&T!==null||S!==null&&S.ref!==T)&&(D.effectTag|=128)}function TA(S,D,T,q,W){var ce=Zn(T)?Zt:Rn.current;return ce=Ri(D,ce),Ns(D,W),T=rg(S,D,T,q,ce,W),S!==null&&!Mo?(D.updateQueue=S.updateQueue,D.effectTag&=-517,S.expirationTime<=W&&(S.expirationTime=0),ei(S,D,W)):(D.effectTag|=1,Es(S,D,T,W),D.child)}function hp(S,D,T,q,W){if(Zn(T)){var ce=!0;fc(D)}else ce=!1;if(Ns(D,W),D.stateNode===null)S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),Tn(D,T,q,W),$n(D,T,q,W),q=!0;else if(S===null){var Se=D.stateNode,It=D.memoizedProps;Se.props=It;var Et=Se.context,xt=T.contextType;typeof xt=="object"&&xt!==null?xt=Ls(xt):(xt=Zn(T)?Zt:Rn.current,xt=Ri(D,xt));var Nr=T.getDerivedStateFromProps,is=typeof Nr=="function"||typeof Se.getSnapshotBeforeUpdate=="function";is||typeof Se.UNSAFE_componentWillReceiveProps!="function"&&typeof Se.componentWillReceiveProps!="function"||(It!==q||Et!==xt)&&_r(D,Se,q,xt),ao=!1;var fi=D.memoizedState;Et=Se.state=fi;var Ao=D.updateQueue;Ao!==null&&(we(D,Ao,q,Se,W),Et=D.memoizedState),It!==q||fi!==Et||Ui.current||ao?(typeof Nr=="function"&&(vt(D,T,Nr,q),Et=D.memoizedState),(It=ao||Zr(D,T,It,q,fi,Et,xt))?(is||typeof Se.UNSAFE_componentWillMount!="function"&&typeof Se.componentWillMount!="function"||(typeof Se.componentWillMount=="function"&&Se.componentWillMount(),typeof Se.UNSAFE_componentWillMount=="function"&&Se.UNSAFE_componentWillMount()),typeof Se.componentDidMount=="function"&&(D.effectTag|=4)):(typeof Se.componentDidMount=="function"&&(D.effectTag|=4),D.memoizedProps=q,D.memoizedState=Et),Se.props=q,Se.state=Et,Se.context=xt,q=It):(typeof Se.componentDidMount=="function"&&(D.effectTag|=4),q=!1)}else Se=D.stateNode,It=D.memoizedProps,Se.props=D.type===D.elementType?It:di(D.type,It),Et=Se.context,xt=T.contextType,typeof xt=="object"&&xt!==null?xt=Ls(xt):(xt=Zn(T)?Zt:Rn.current,xt=Ri(D,xt)),Nr=T.getDerivedStateFromProps,(is=typeof Nr=="function"||typeof Se.getSnapshotBeforeUpdate=="function")||typeof Se.UNSAFE_componentWillReceiveProps!="function"&&typeof Se.componentWillReceiveProps!="function"||(It!==q||Et!==xt)&&_r(D,Se,q,xt),ao=!1,Et=D.memoizedState,fi=Se.state=Et,Ao=D.updateQueue,Ao!==null&&(we(D,Ao,q,Se,W),fi=D.memoizedState),It!==q||Et!==fi||Ui.current||ao?(typeof Nr=="function"&&(vt(D,T,Nr,q),fi=D.memoizedState),(Nr=ao||Zr(D,T,It,q,Et,fi,xt))?(is||typeof Se.UNSAFE_componentWillUpdate!="function"&&typeof Se.componentWillUpdate!="function"||(typeof Se.componentWillUpdate=="function"&&Se.componentWillUpdate(q,fi,xt),typeof Se.UNSAFE_componentWillUpdate=="function"&&Se.UNSAFE_componentWillUpdate(q,fi,xt)),typeof Se.componentDidUpdate=="function"&&(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate=="function"&&(D.effectTag|=256)):(typeof Se.componentDidUpdate!="function"||It===S.memoizedProps&&Et===S.memoizedState||(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate!="function"||It===S.memoizedProps&&Et===S.memoizedState||(D.effectTag|=256),D.memoizedProps=q,D.memoizedState=fi),Se.props=q,Se.state=fi,Se.context=xt,q=Nr):(typeof Se.componentDidUpdate!="function"||It===S.memoizedProps&&Et===S.memoizedState||(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate!="function"||It===S.memoizedProps&&Et===S.memoizedState||(D.effectTag|=256),q=!1);return gp(S,D,T,q,ce,W)}function gp(S,D,T,q,W,ce){Uo(S,D);var Se=(D.effectTag&64)!==0;if(!q&&!Se)return W&&yl(D,T,!1),ei(S,D,ce);q=D.stateNode,pp.current=D;var It=Se&&typeof T.getDerivedStateFromError!="function"?null:q.render();return D.effectTag|=1,S!==null&&Se?(D.child=yi(D,S.child,null,ce),D.child=yi(D,null,It,ce)):Es(S,D,It,ce),D.memoizedState=q.state,W&&yl(D,T,!0),D.child}function Ag(S){var D=S.stateNode;D.pendingContext?Ac(S,D.pendingContext,D.pendingContext!==D.context):D.context&&Ac(S,D.context,!1),$h(S,D.containerInfo)}var Aa={dehydrated:null,retryTime:0};function rn(S,D,T){var q=D.mode,W=D.pendingProps,ce=Kn.current,Se=!1,It;if((It=(D.effectTag&64)!==0)||(It=(ce&2)!==0&&(S===null||S.memoizedState!==null)),It?(Se=!0,D.effectTag&=-65):S!==null&&S.memoizedState===null||W.fallback===void 0||W.unstable_avoidThisFallback===!0||(ce|=1),Fn(Kn,ce&1,D),S===null){if(W.fallback!==void 0&&RA(D),Se){if(Se=W.fallback,W=ku(null,q,0,null),W.return=D,(D.mode&2)===0)for(S=D.memoizedState!==null?D.child.child:D.child,W.child=S;S!==null;)S.return=W,S=S.sibling;return T=ku(Se,q,T,null),T.return=D,W.sibling=T,D.memoizedState=Aa,D.child=W,T}return q=W.children,D.memoizedState=null,D.child=aa(D,null,q,T)}if(S.memoizedState!==null){if(S=S.child,q=S.sibling,Se){if(W=W.fallback,T=GA(S,S.pendingProps,0),T.return=D,(D.mode&2)===0&&(Se=D.memoizedState!==null?D.child.child:D.child,Se!==S.child))for(T.child=Se;Se!==null;)Se.return=T,Se=Se.sibling;return q=GA(q,W,q.expirationTime),q.return=D,T.sibling=q,T.childExpirationTime=0,D.memoizedState=Aa,D.child=T,q}return T=yi(D,S.child,W.children,T),D.memoizedState=null,D.child=T}if(S=S.child,Se){if(Se=W.fallback,W=ku(null,q,0,null),W.return=D,W.child=S,S!==null&&(S.return=W),(D.mode&2)===0)for(S=D.memoizedState!==null?D.child.child:D.child,W.child=S;S!==null;)S.return=W,S=S.sibling;return T=ku(Se,q,T,null),T.return=D,W.sibling=T,T.effectTag|=2,W.childExpirationTime=0,D.memoizedState=Aa,D.child=W,T}return D.memoizedState=null,D.child=yi(D,S,W.children,T)}function co(S,D){S.expirationTime<D&&(S.expirationTime=D);var T=S.alternate;T!==null&&T.expirationTime<D&&(T.expirationTime=D),Ts(S.return,D)}function NA(S,D,T,q,W,ce){var Se=S.memoizedState;Se===null?S.memoizedState={isBackwards:D,rendering:null,last:q,tail:T,tailExpiration:0,tailMode:W,lastEffect:ce}:(Se.isBackwards=D,Se.rendering=null,Se.last=q,Se.tail=T,Se.tailExpiration=0,Se.tailMode=W,Se.lastEffect=ce)}function Ga(S,D,T){var q=D.pendingProps,W=q.revealOrder,ce=q.tail;if(Es(S,D,q.children,T),q=Kn.current,(q&2)!==0)q=q&1|2,D.effectTag|=64;else{if(S!==null&&(S.effectTag&64)!==0)e:for(S=D.child;S!==null;){if(S.tag===13)S.memoizedState!==null&&co(S,T);else if(S.tag===19)co(S,T);else if(S.child!==null){S.child.return=S,S=S.child;continue}if(S===D)break e;for(;S.sibling===null;){if(S.return===null||S.return===D)break e;S=S.return}S.sibling.return=S.return,S=S.sibling}q&=1}if(Fn(Kn,q,D),(D.mode&2)===0)D.memoizedState=null;else switch(W){case"forwards":for(T=D.child,W=null;T!==null;)S=T.alternate,S!==null&&cp(S)===null&&(W=T),T=T.sibling;T=W,T===null?(W=D.child,D.child=null):(W=T.sibling,T.sibling=null),NA(D,!1,W,T,ce,D.lastEffect);break;case"backwards":for(T=null,W=D.child,D.child=null;W!==null;){if(S=W.alternate,S!==null&&cp(S)===null){D.child=W;break}S=W.sibling,W.sibling=T,T=W,W=S}NA(D,!0,T,null,ce,D.lastEffect);break;case"together":NA(D,!1,null,null,void 0,D.lastEffect);break;default:D.memoizedState=null}return D.child}function ei(S,D,T){S!==null&&(D.dependencies=S.dependencies);var q=D.expirationTime;if(q!==0&&Mm(q),D.childExpirationTime<T)return null;if(S!==null&&D.child!==S.child)throw Error(n(153));if(D.child!==null){for(S=D.child,T=GA(S,S.pendingProps,S.expirationTime),D.child=T,T.return=D;S.sibling!==null;)S=S.sibling,T=T.sibling=GA(S,S.pendingProps,S.expirationTime),T.return=D;T.sibling=null}return D.child}function fa(S){S.effectTag|=4}var vc,Bl,ts,Hr;if(I)vc=function(S,D){for(var T=D.child;T!==null;){if(T.tag===5||T.tag===6)H(S,T.stateNode);else if(T.tag!==4&&T.child!==null){T.child.return=T,T=T.child;continue}if(T===D)break;for(;T.sibling===null;){if(T.return===null||T.return===D)return;T=T.return}T.sibling.return=T.return,T=T.sibling}},Bl=function(){},ts=function(S,D,T,q,W){if(S=S.memoizedProps,S!==q){var ce=D.stateNode,Se=la(lo.current);T=Me(ce,T,S,q,W,Se),(D.updateQueue=T)&&fa(D)}},Hr=function(S,D,T,q){T!==q&&fa(D)};else if(P){vc=function(S,D,T,q){for(var W=D.child;W!==null;){if(W.tag===5){var ce=W.stateNode;T&&q&&(ce=ki(ce,W.type,W.memoizedProps,W)),H(S,ce)}else if(W.tag===6)ce=W.stateNode,T&&q&&(ce=gs(ce,W.memoizedProps,W)),H(S,ce);else if(W.tag!==4){if(W.tag===13&&(W.effectTag&4)!==0&&(ce=W.memoizedState!==null)){var Se=W.child;if(Se!==null&&(Se.child!==null&&(Se.child.return=Se,vc(S,Se,!0,ce)),ce=Se.sibling,ce!==null)){ce.return=W,W=ce;continue}}if(W.child!==null){W.child.return=W,W=W.child;continue}}if(W===D)break;for(;W.sibling===null;){if(W.return===null||W.return===D)return;W=W.return}W.sibling.return=W.return,W=W.sibling}};var dp=function(S,D,T,q){for(var W=D.child;W!==null;){if(W.tag===5){var ce=W.stateNode;T&&q&&(ce=ki(ce,W.type,W.memoizedProps,W)),jr(S,ce)}else if(W.tag===6)ce=W.stateNode,T&&q&&(ce=gs(ce,W.memoizedProps,W)),jr(S,ce);else if(W.tag!==4){if(W.tag===13&&(W.effectTag&4)!==0&&(ce=W.memoizedState!==null)){var Se=W.child;if(Se!==null&&(Se.child!==null&&(Se.child.return=Se,dp(S,Se,!0,ce)),ce=Se.sibling,ce!==null)){ce.return=W,W=ce;continue}}if(W.child!==null){W.child.return=W,W=W.child;continue}}if(W===D)break;for(;W.sibling===null;){if(W.return===null||W.return===D)return;W=W.return}W.sibling.return=W.return,W=W.sibling}};Bl=function(S){var D=S.stateNode;if(S.firstEffect!==null){var T=D.containerInfo,q=Br(T);dp(q,S,!1,!1),D.pendingChildren=q,fa(S),Hn(T,q)}},ts=function(S,D,T,q,W){var ce=S.stateNode,Se=S.memoizedProps;if((S=D.firstEffect===null)&&Se===q)D.stateNode=ce;else{var It=D.stateNode,Et=la(lo.current),xt=null;Se!==q&&(xt=Me(It,T,Se,q,W,Et)),S&&xt===null?D.stateNode=ce:(ce=fr(ce,xt,T,Se,q,D,S,It),yt(ce,T,q,W,Et)&&fa(D),D.stateNode=ce,S?fa(D):vc(ce,D,!1,!1))}},Hr=function(S,D,T,q){T!==q&&(S=la(mc.current),T=la(lo.current),D.stateNode=Ue(q,S,T,D),fa(D))}}else Bl=function(){},ts=function(){},Hr=function(){};function Dc(S,D){switch(S.tailMode){case"hidden":D=S.tail;for(var T=null;D!==null;)D.alternate!==null&&(T=D),D=D.sibling;T===null?S.tail=null:T.sibling=null;break;case"collapsed":T=S.tail;for(var q=null;T!==null;)T.alternate!==null&&(q=T),T=T.sibling;q===null?D||S.tail===null?S.tail=null:S.tail.sibling=null:q.sibling=null}}function aI(S){switch(S.tag){case 1:Zn(S.type)&&La(S);var D=S.effectTag;return D&4096?(S.effectTag=D&-4097|64,S):null;case 3:if(yc(S),$t(S),D=S.effectTag,(D&64)!==0)throw Error(n(285));return S.effectTag=D&-4097|64,S;case 5:return eg(S),null;case 13:return _e(Kn,S),D=S.effectTag,D&4096?(S.effectTag=D&-4097|64,S):null;case 19:return _e(Kn,S),null;case 4:return yc(S),null;case 10:return Zi(S),null;default:return null}}function fg(S,D){return{value:S,source:D,stack:dl(D)}}var pg=typeof WeakSet=="function"?WeakSet:Set;function Wa(S,D){var T=D.source,q=D.stack;q===null&&T!==null&&(q=dl(T)),T!==null&&ge(T.type),D=D.value,S!==null&&S.tag===1&&ge(S.type);try{console.error(D)}catch(W){setTimeout(function(){throw W})}}function Qm(S,D){try{D.props=S.memoizedProps,D.state=S.memoizedState,D.componentWillUnmount()}catch(T){jA(S,T)}}function hg(S){var D=S.ref;if(D!==null)if(typeof D=="function")try{D(null)}catch(T){jA(S,T)}else D.current=null}function kt(S,D){switch(D.tag){case 0:case 11:case 15:N(2,0,D);break;case 1:if(D.effectTag&256&&S!==null){var T=S.memoizedProps,q=S.memoizedState;S=D.stateNode,D=S.getSnapshotBeforeUpdate(D.elementType===D.type?T:di(D.type,T),q),S.__reactInternalSnapshotBeforeUpdate=D}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}function N(S,D,T){if(T=T.updateQueue,T=T!==null?T.lastEffect:null,T!==null){var q=T=T.next;do{if((q.tag&S)!==0){var W=q.destroy;q.destroy=void 0,W!==void 0&&W()}(q.tag&D)!==0&&(W=q.create,q.destroy=W()),q=q.next}while(q!==T)}}function K(S,D,T){switch(typeof mI=="function"&&mI(D),D.tag){case 0:case 11:case 14:case 15:if(S=D.updateQueue,S!==null&&(S=S.lastEffect,S!==null)){var q=S.next;so(97<T?97:T,function(){var W=q;do{var ce=W.destroy;if(ce!==void 0){var Se=D;try{ce()}catch(It){jA(Se,It)}}W=W.next}while(W!==q)})}break;case 1:hg(D),T=D.stateNode,typeof T.componentWillUnmount=="function"&&Qm(D,T);break;case 5:hg(D);break;case 4:I?gr(S,D,T):P&&ze(D)}}function te(S,D,T){for(var q=D;;)if(K(S,q,T),q.child===null||I&&q.tag===4){if(q===D)break;for(;q.sibling===null;){if(q.return===null||q.return===D)return;q=q.return}q.sibling.return=q.return,q=q.sibling}else q.child.return=q,q=q.child}function ue(S){var D=S.alternate;S.return=null,S.child=null,S.memoizedState=null,S.updateQueue=null,S.dependencies=null,S.alternate=null,S.firstEffect=null,S.lastEffect=null,S.pendingProps=null,S.memoizedProps=null,D!==null&&ue(D)}function ze(S){if(P){S=S.stateNode.containerInfo;var D=Br(S);bs(S,D)}}function gt(S){return S.tag===5||S.tag===3||S.tag===4}function ur(S){if(I){e:{for(var D=S.return;D!==null;){if(gt(D)){var T=D;break e}D=D.return}throw Error(n(160))}switch(D=T.stateNode,T.tag){case 5:var q=!1;break;case 3:D=D.containerInfo,q=!0;break;case 4:D=D.containerInfo,q=!0;break;default:throw Error(n(161))}T.effectTag&16&&(Ut(D),T.effectTag&=-17);e:t:for(T=S;;){for(;T.sibling===null;){if(T.return===null||gt(T.return)){T=null;break e}T=T.return}for(T.sibling.return=T.return,T=T.sibling;T.tag!==5&&T.tag!==6&&T.tag!==18;){if(T.effectTag&2||T.child===null||T.tag===4)continue t;T.child.return=T,T=T.child}if(!(T.effectTag&2)){T=T.stateNode;break e}}for(var W=S;;){var ce=W.tag===5||W.tag===6;if(ce)ce=ce?W.stateNode:W.stateNode.instance,T?q?Ne(D,ce,T):ke(D,ce,T):q?z(D,ce):F(D,ce);else if(W.tag!==4&&W.child!==null){W.child.return=W,W=W.child;continue}if(W===S)break;for(;W.sibling===null;){if(W.return===null||W.return===S)return;W=W.return}W.sibling.return=W.return,W=W.sibling}}}function gr(S,D,T){for(var q=D,W=!1,ce,Se;;){if(!W){W=q.return;e:for(;;){if(W===null)throw Error(n(160));switch(ce=W.stateNode,W.tag){case 5:Se=!1;break e;case 3:ce=ce.containerInfo,Se=!0;break e;case 4:ce=ce.containerInfo,Se=!0;break e}W=W.return}W=!0}if(q.tag===5||q.tag===6)te(S,q,T),Se?ht(ce,q.stateNode):st(ce,q.stateNode);else if(q.tag===4){if(q.child!==null){ce=q.stateNode.containerInfo,Se=!0,q.child.return=q,q=q.child;continue}}else if(K(S,q,T),q.child!==null){q.child.return=q,q=q.child;continue}if(q===D)break;for(;q.sibling===null;){if(q.return===null||q.return===D)return;q=q.return,q.tag===4&&(W=!1)}q.sibling.return=q.return,q=q.sibling}}function hn(S,D){if(I)switch(D.tag){case 0:case 11:case 14:case 15:N(4,8,D);break;case 1:break;case 5:var T=D.stateNode;if(T!=null){var q=D.memoizedProps;S=S!==null?S.memoizedProps:q;var W=D.type,ce=D.updateQueue;D.updateQueue=null,ce!==null&&ie(T,ce,W,S,q,D)}break;case 6:if(D.stateNode===null)throw Error(n(162));T=D.memoizedProps,X(D.stateNode,S!==null?S.memoizedProps:T,T);break;case 3:y&&(D=D.stateNode,D.hydrate&&(D.hydrate=!1,Cn(D.containerInfo)));break;case 12:break;case 13:ti(D),Ni(D);break;case 19:Ni(D);break;case 17:break;case 20:break;case 21:break;default:throw Error(n(163))}else{switch(D.tag){case 0:case 11:case 14:case 15:N(4,8,D);return;case 12:return;case 13:ti(D),Ni(D);return;case 19:Ni(D);return;case 3:y&&(T=D.stateNode,T.hydrate&&(T.hydrate=!1,Cn(T.containerInfo)))}e:if(P)switch(D.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:D=D.stateNode,bs(D.containerInfo,D.pendingChildren);break e;default:throw Error(n(163))}}}function ti(S){var D=S;if(S.memoizedState===null)var T=!1;else T=!0,D=S.child,uI=Hi();if(I&&D!==null){e:if(S=D,I)for(D=S;;){if(D.tag===5){var q=D.stateNode;T?Xt(q):tn(D.stateNode,D.memoizedProps)}else if(D.tag===6)q=D.stateNode,T?Pt(q):Dr(q,D.memoizedProps);else if(D.tag===13&&D.memoizedState!==null&&D.memoizedState.dehydrated===null){q=D.child.sibling,q.return=D,D=q;continue}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===S)break e;for(;D.sibling===null;){if(D.return===null||D.return===S)break e;D=D.return}D.sibling.return=D.return,D=D.sibling}}}function Ni(S){var D=S.updateQueue;if(D!==null){S.updateQueue=null;var T=S.stateNode;T===null&&(T=S.stateNode=new pg),D.forEach(function(q){var W=uF.bind(null,S,q);T.has(q)||(T.add(q),q.then(W,W))})}}var gg=typeof WeakMap=="function"?WeakMap:Map;function Bv(S,D,T){T=$i(T,null),T.tag=3,T.payload={element:null};var q=D.value;return T.callback=function(){Pu||(Pu=!0,Nm=q),Wa(S,D)},T}function vv(S,D,T){T=$i(T,null),T.tag=3;var q=S.type.getDerivedStateFromError;if(typeof q=="function"){var W=D.value;T.payload=function(){return Wa(S,D),q(W)}}var ce=S.stateNode;return ce!==null&&typeof ce.componentDidCatch=="function"&&(T.callback=function(){typeof q!="function"&&(xu===null?xu=new Set([this]):xu.add(this),Wa(S,D));var Se=D.stack;this.componentDidCatch(D.value,{componentStack:Se!==null?Se:""})}),T}var lI=Math.ceil,mp=u.ReactCurrentDispatcher,cI=u.ReactCurrentOwner,gn=0,km=8,rs=16,Ms=32,Su=0,Fm=1,Ci=2,pa=3,vl=4,Sc=5,pr=gn,Ai=null,Fr=null,ns=0,Gi=Su,Rm=null,Ya=1073741823,LA=1073741823,Tm=null,yp=0,OA=!1,uI=0,AI=500,nr=null,Pu=!1,Nm=null,xu=null,Ep=!1,dg=null,MA=90,UA=null,mg=0,fI=null,Lm=0;function ha(){return(pr&(rs|Ms))!==gn?1073741821-(Hi()/10|0):Lm!==0?Lm:Lm=1073741821-(Hi()/10|0)}function _A(S,D,T){if(D=D.mode,(D&2)===0)return 1073741823;var q=Lo();if((D&4)===0)return q===99?1073741823:1073741822;if((pr&rs)!==gn)return ns;if(T!==null)S=Oa(S,T.timeoutMs|0||5e3,250);else switch(q){case 99:S=1073741823;break;case 98:S=Oa(S,150,100);break;case 97:case 96:S=Oa(S,5e3,250);break;case 95:S=2;break;default:throw Error(n(326))}return Ai!==null&&S===ns&&--S,S}function Pc(S,D){if(50<mg)throw mg=0,fI=null,Error(n(185));if(S=yg(S,D),S!==null){var T=Lo();D===1073741823?(pr&km)!==gn&&(pr&(rs|Ms))===gn?pI(S):(uo(S),pr===gn&&qi()):uo(S),(pr&4)===gn||T!==98&&T!==99||(UA===null?UA=new Map([[S,D]]):(T=UA.get(S),(T===void 0||T>D)&&UA.set(S,D)))}}function yg(S,D){S.expirationTime<D&&(S.expirationTime=D);var T=S.alternate;T!==null&&T.expirationTime<D&&(T.expirationTime=D);var q=S.return,W=null;if(q===null&&S.tag===3)W=S.stateNode;else for(;q!==null;){if(T=q.alternate,q.childExpirationTime<D&&(q.childExpirationTime=D),T!==null&&T.childExpirationTime<D&&(T.childExpirationTime=D),q.return===null&&q.tag===3){W=q.stateNode;break}q=q.return}return W!==null&&(Ai===W&&(Mm(D),Gi===vl&&WA(W,ns)),Rv(W,D)),W}function Om(S){var D=S.lastExpiredTime;return D!==0||(D=S.firstPendingTime,!Fv(S,D))?D:(D=S.lastPingedTime,S=S.nextKnownPendingLevel,D>S?D:S)}function uo(S){if(S.lastExpiredTime!==0)S.callbackExpirationTime=1073741823,S.callbackPriority=99,S.callbackNode=yu(pI.bind(null,S));else{var D=Om(S),T=S.callbackNode;if(D===0)T!==null&&(S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90);else{var q=ha();if(D===1073741823?q=99:D===1||D===2?q=95:(q=10*(1073741821-D)-10*(1073741821-q),q=0>=q?99:250>=q?98:5250>=q?97:95),T!==null){var W=S.callbackPriority;if(S.callbackExpirationTime===D&&W>=q)return;T!==PA&&Ce(T)}S.callbackExpirationTime=D,S.callbackPriority=q,D=D===1073741823?yu(pI.bind(null,S)):Cl(q,Dv.bind(null,S),{timeout:10*(1073741821-D)-Hi()}),S.callbackNode=D}}}function Dv(S,D){if(Lm=0,D)return D=ha(),_m(S,D),uo(S),null;var T=Om(S);if(T!==0){if(D=S.callbackNode,(pr&(rs|Ms))!==gn)throw Error(n(327));if(Cp(),S===Ai&&T===ns||bu(S,T),Fr!==null){var q=pr;pr|=rs;var W=qA(S);do try{sF();break}catch(It){HA(S,It)}while(1);if(ia(),pr=q,mp.current=W,Gi===Fm)throw D=Rm,bu(S,T),WA(S,T),uo(S),D;if(Fr===null)switch(W=S.finishedWork=S.current.alternate,S.finishedExpirationTime=T,q=Gi,Ai=null,q){case Su:case Fm:throw Error(n(345));case Ci:_m(S,2<T?2:T);break;case pa:if(WA(S,T),q=S.lastSuspendedTime,T===q&&(S.nextKnownPendingLevel=gI(W)),Ya===1073741823&&(W=uI+AI-Hi(),10<W)){if(OA){var ce=S.lastPingedTime;if(ce===0||ce>=T){S.lastPingedTime=T,bu(S,T);break}}if(ce=Om(S),ce!==0&&ce!==T)break;if(q!==0&&q!==T){S.lastPingedTime=q;break}S.timeoutHandle=je(Qu.bind(null,S),W);break}Qu(S);break;case vl:if(WA(S,T),q=S.lastSuspendedTime,T===q&&(S.nextKnownPendingLevel=gI(W)),OA&&(W=S.lastPingedTime,W===0||W>=T)){S.lastPingedTime=T,bu(S,T);break}if(W=Om(S),W!==0&&W!==T)break;if(q!==0&&q!==T){S.lastPingedTime=q;break}if(LA!==1073741823?q=10*(1073741821-LA)-Hi():Ya===1073741823?q=0:(q=10*(1073741821-Ya)-5e3,W=Hi(),T=10*(1073741821-T)-W,q=W-q,0>q&&(q=0),q=(120>q?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*lI(q/1960))-q,T<q&&(q=T)),10<q){S.timeoutHandle=je(Qu.bind(null,S),q);break}Qu(S);break;case Sc:if(Ya!==1073741823&&Tm!==null){ce=Ya;var Se=Tm;if(q=Se.busyMinDurationMs|0,0>=q?q=0:(W=Se.busyDelayMs|0,ce=Hi()-(10*(1073741821-ce)-(Se.timeoutMs|0||5e3)),q=ce<=W?0:W+q-ce),10<q){WA(S,T),S.timeoutHandle=je(Qu.bind(null,S),q);break}}Qu(S);break;default:throw Error(n(329))}if(uo(S),S.callbackNode===D)return Dv.bind(null,S)}}return null}function pI(S){var D=S.lastExpiredTime;if(D=D!==0?D:1073741823,S.finishedExpirationTime===D)Qu(S);else{if((pr&(rs|Ms))!==gn)throw Error(n(327));if(Cp(),S===Ai&&D===ns||bu(S,D),Fr!==null){var T=pr;pr|=rs;var q=qA(S);do try{iF();break}catch(W){HA(S,W)}while(1);if(ia(),pr=T,mp.current=q,Gi===Fm)throw T=Rm,bu(S,D),WA(S,D),uo(S),T;if(Fr!==null)throw Error(n(261));S.finishedWork=S.current.alternate,S.finishedExpirationTime=D,Ai=null,Qu(S),uo(S)}}return null}function Sv(S,D){_m(S,D),uo(S),(pr&(rs|Ms))===gn&&qi()}function nF(){if(UA!==null){var S=UA;UA=null,S.forEach(function(D,T){_m(T,D),uo(T)}),qi()}}function Pv(S,D){if((pr&(rs|Ms))!==gn)throw Error(n(187));var T=pr;pr|=1;try{return so(99,S.bind(null,D))}finally{pr=T,qi()}}function bu(S,D){S.finishedWork=null,S.finishedExpirationTime=0;var T=S.timeoutHandle;if(T!==Le&&(S.timeoutHandle=Le,At(T)),Fr!==null)for(T=Fr.return;T!==null;){var q=T;switch(q.tag){case 1:var W=q.type.childContextTypes;W!=null&&La(q);break;case 3:yc(q),$t(q);break;case 5:eg(q);break;case 4:yc(q);break;case 13:_e(Kn,q);break;case 19:_e(Kn,q);break;case 10:Zi(q)}T=T.return}Ai=S,Fr=GA(S.current,null,D),ns=D,Gi=Su,Rm=null,LA=Ya=1073741823,Tm=null,yp=0,OA=!1}function HA(S,D){do{try{if(ia(),sI(),Fr===null||Fr.return===null)return Gi=Fm,Rm=D,null;e:{var T=S,q=Fr.return,W=Fr,ce=D;if(D=ns,W.effectTag|=2048,W.firstEffect=W.lastEffect=null,ce!==null&&typeof ce=="object"&&typeof ce.then=="function"){var Se=ce,It=(Kn.current&1)!==0,Et=q;do{var xt;if(xt=Et.tag===13){var Nr=Et.memoizedState;if(Nr!==null)xt=Nr.dehydrated!==null;else{var is=Et.memoizedProps;xt=is.fallback===void 0?!1:is.unstable_avoidThisFallback!==!0?!0:!It}}if(xt){var fi=Et.updateQueue;if(fi===null){var Ao=new Set;Ao.add(Se),Et.updateQueue=Ao}else fi.add(Se);if((Et.mode&2)===0){if(Et.effectTag|=64,W.effectTag&=-2981,W.tag===1)if(W.alternate===null)W.tag=17;else{var YA=$i(1073741823,null);YA.tag=2,mi(W,YA)}W.expirationTime=1073741823;break e}ce=void 0,W=D;var _o=T.pingCache;if(_o===null?(_o=T.pingCache=new gg,ce=new Set,_o.set(Se,ce)):(ce=_o.get(Se),ce===void 0&&(ce=new Set,_o.set(Se,ce))),!ce.has(W)){ce.add(W);var rt=cF.bind(null,T,Se,W);Se.then(rt,rt)}Et.effectTag|=4096,Et.expirationTime=D;break e}Et=Et.return}while(Et!==null);ce=Error((ge(W.type)||"A React component")+` suspended while rendering, but no fallback UI was specified. | 282 | in `+(q||"Unknown")+ce}D+=T,S=S.return}while(S);return D}var El=[],io=-1;function Ue(S){0>io||(S.current=El[io],El[io]=null,io--)}function Fn(S,D){io++,El[io]=S.current,S.current=D}var Fi={},Rn={current:Fi},Ui={current:!1},Zt=Fi;function Ri(S,D){var T=S.type.contextTypes;if(!T)return Fi;var q=S.stateNode;if(q&&q.__reactInternalMemoizedUnmaskedChildContext===D)return q.__reactInternalMemoizedMaskedChildContext;var W={},ce;for(ce in T)W[ce]=D[ce];return q&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=D,S.__reactInternalMemoizedMaskedChildContext=W),W}function $n(S){return S=S.childContextTypes,S!=null}function Ma(S){Ue(Ui,S),Ue(Rn,S)}function $t(S){Ue(Ui,S),Ue(Rn,S)}function hc(S,D,T){if(Rn.current!==Fi)throw Error(n(168));Fn(Rn,D,S),Fn(Ui,T,S)}function du(S,D,T){var q=S.stateNode;if(S=D.childContextTypes,typeof q.getChildContext!="function")return T;q=q.getChildContext();for(var W in q)if(!(W in S))throw Error(n(108,ge(D)||"Unknown",W));return r({},T,{},q)}function gc(S){var D=S.stateNode;return D=D&&D.__reactInternalMemoizedMergedChildContext||Fi,Zt=Rn.current,Fn(Rn,D,S),Fn(Ui,Ui.current,S),!0}function Il(S,D,T){var q=S.stateNode;if(!q)throw Error(n(169));T?(D=du(S,D,Zt),q.__reactInternalMemoizedMergedChildContext=D,Ue(Ui,S),Ue(Rn,S),Fn(Rn,D,S)):Ue(Ui,S),Fn(Ui,T,S)}var PA=a.unstable_runWithPriority,mu=a.unstable_scheduleCallback,Ee=a.unstable_cancelCallback,Rt=a.unstable_shouldYield,dc=a.unstable_requestPaint,_i=a.unstable_now,yu=a.unstable_getCurrentPriorityLevel,qt=a.unstable_ImmediatePriority,wl=a.unstable_UserBlockingPriority,xA=a.unstable_NormalPriority,cp=a.unstable_LowPriority,mc=a.unstable_IdlePriority,bA={},Dn=dc!==void 0?dc:function(){},ui=null,yc=null,QA=!1,ra=_i(),Hi=1e4>ra?_i:function(){return _i()-ra};function Oo(){switch(yu()){case qt:return 99;case wl:return 98;case xA:return 97;case cp:return 96;case mc:return 95;default:throw Error(n(332))}}function $e(S){switch(S){case 99:return qt;case 98:return wl;case 97:return xA;case 96:return cp;case 95:return mc;default:throw Error(n(332))}}function so(S,D){return S=$e(S),PA(S,D)}function Bl(S,D,T){return S=$e(S),mu(S,D,T)}function Cu(S){return ui===null?(ui=[S],yc=mu(qt,Eu)):ui.push(S),bA}function qi(){if(yc!==null){var S=yc;yc=null,Ee(S)}Eu()}function Eu(){if(!QA&&ui!==null){QA=!0;var S=0;try{var D=ui;so(99,function(){for(;S<D.length;S++){var T=D[S];do T=T(!0);while(T!==null)}}),ui=null}catch(T){throw ui!==null&&(ui=ui.slice(S+1)),mu(qt,qi),T}finally{QA=!1}}}var kA=3;function Ua(S,D,T){return T/=10,1073741821-(((1073741821-S+D/10)/T|0)+1)*T}function Cc(S,D){return S===D&&(S!==0||1/S===1/D)||S!==S&&D!==D}var ds=typeof Object.is=="function"?Object.is:Cc,Ot=Object.prototype.hasOwnProperty;function Sn(S,D){if(ds(S,D))return!0;if(typeof S!="object"||S===null||typeof D!="object"||D===null)return!1;var T=Object.keys(S),q=Object.keys(D);if(T.length!==q.length)return!1;for(q=0;q<T.length;q++)if(!Ot.call(D,T[q])||!ds(S[T[q]],D[T[q]]))return!1;return!0}function di(S,D){if(S&&S.defaultProps){D=r({},D),S=S.defaultProps;for(var T in S)D[T]===void 0&&(D[T]=S[T])}return D}var na={current:null},oo=null,Rs=null,ia=null;function sa(){ia=Rs=oo=null}function Mo(S,D){var T=S.type._context;x?(Fn(na,T._currentValue,S),T._currentValue=D):(Fn(na,T._currentValue2,S),T._currentValue2=D)}function Zi(S){var D=na.current;Ue(na,S),S=S.type._context,x?S._currentValue=D:S._currentValue2=D}function Ts(S,D){for(;S!==null;){var T=S.alternate;if(S.childExpirationTime<D)S.childExpirationTime=D,T!==null&&T.childExpirationTime<D&&(T.childExpirationTime=D);else if(T!==null&&T.childExpirationTime<D)T.childExpirationTime=D;else break;S=S.return}}function Ns(S,D){oo=S,ia=Rs=null,S=S.dependencies,S!==null&&S.firstContext!==null&&(S.expirationTime>=D&&(Uo=!0),S.firstContext=null)}function Ls(S,D){if(ia!==S&&D!==!1&&D!==0)if((typeof D!="number"||D===1073741823)&&(ia=S,D=1073741823),D={context:S,observedBits:D,next:null},Rs===null){if(oo===null)throw Error(n(308));Rs=D,oo.dependencies={expirationTime:0,firstContext:D,responders:null}}else Rs=Rs.next=D;return x?S._currentValue:S._currentValue2}var ao=!1;function Yn(S){return{baseState:S,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function qn(S){return{baseState:S.baseState,firstUpdate:S.firstUpdate,lastUpdate:S.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function $i(S,D){return{expirationTime:S,suspenseConfig:D,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function es(S,D){S.lastUpdate===null?S.firstUpdate=S.lastUpdate=D:(S.lastUpdate.next=D,S.lastUpdate=D)}function mi(S,D){var T=S.alternate;if(T===null){var q=S.updateQueue,W=null;q===null&&(q=S.updateQueue=Yn(S.memoizedState))}else q=S.updateQueue,W=T.updateQueue,q===null?W===null?(q=S.updateQueue=Yn(S.memoizedState),W=T.updateQueue=Yn(T.memoizedState)):q=S.updateQueue=qn(W):W===null&&(W=T.updateQueue=qn(q));W===null||q===W?es(q,D):q.lastUpdate===null||W.lastUpdate===null?(es(q,D),es(W,D)):(es(q,D),W.lastUpdate=D)}function Ha(S,D){var T=S.updateQueue;T=T===null?S.updateQueue=Yn(S.memoizedState):oa(S,T),T.lastCapturedUpdate===null?T.firstCapturedUpdate=T.lastCapturedUpdate=D:(T.lastCapturedUpdate.next=D,T.lastCapturedUpdate=D)}function oa(S,D){var T=S.alternate;return T!==null&&D===T.updateQueue&&(D=S.updateQueue=qn(D)),D}function ee(S,D,T,q,W,ce){switch(T.tag){case 1:return S=T.payload,typeof S=="function"?S.call(ce,q,W):S;case 3:S.effectTag=S.effectTag&-4097|64;case 0:if(S=T.payload,W=typeof S=="function"?S.call(ce,q,W):S,W==null)break;return r({},q,W);case 2:ao=!0}return q}function we(S,D,T,q,W){ao=!1,D=oa(S,D);for(var ce=D.baseState,Se=null,It=0,Ct=D.firstUpdate,xt=ce;Ct!==null;){var Nr=Ct.expirationTime;Nr<W?(Se===null&&(Se=Ct,ce=xt),It<Nr&&(It=Nr)):(yI(Nr,Ct.suspenseConfig),xt=ee(S,D,Ct,xt,T,q),Ct.callback!==null&&(S.effectTag|=32,Ct.nextEffect=null,D.lastEffect===null?D.firstEffect=D.lastEffect=Ct:(D.lastEffect.nextEffect=Ct,D.lastEffect=Ct))),Ct=Ct.next}for(Nr=null,Ct=D.firstCapturedUpdate;Ct!==null;){var is=Ct.expirationTime;is<W?(Nr===null&&(Nr=Ct,Se===null&&(ce=xt)),It<is&&(It=is)):(xt=ee(S,D,Ct,xt,T,q),Ct.callback!==null&&(S.effectTag|=32,Ct.nextEffect=null,D.lastCapturedEffect===null?D.firstCapturedEffect=D.lastCapturedEffect=Ct:(D.lastCapturedEffect.nextEffect=Ct,D.lastCapturedEffect=Ct))),Ct=Ct.next}Se===null&&(D.lastUpdate=null),Nr===null?D.lastCapturedUpdate=null:S.effectTag|=32,Se===null&&Nr===null&&(ce=xt),D.baseState=ce,D.firstUpdate=Se,D.firstCapturedUpdate=Nr,jm(It),S.expirationTime=It,S.memoizedState=xt}function je(S,D,T){D.firstCapturedUpdate!==null&&(D.lastUpdate!==null&&(D.lastUpdate.next=D.firstCapturedUpdate,D.lastUpdate=D.lastCapturedUpdate),D.firstCapturedUpdate=D.lastCapturedUpdate=null),Be(D.firstEffect,T),D.firstEffect=D.lastEffect=null,Be(D.firstCapturedEffect,T),D.firstCapturedEffect=D.lastCapturedEffect=null}function Be(S,D){for(;S!==null;){var T=S.callback;if(T!==null){S.callback=null;var q=D;if(typeof T!="function")throw Error(n(191,T));T.call(q)}S=S.nextEffect}}var xe=u.ReactCurrentBatchConfig,Ve=new o.Component().refs;function vt(S,D,T,q){D=S.memoizedState,T=T(q,D),T=T==null?D:r({},D,T),S.memoizedState=T,q=S.updateQueue,q!==null&&S.expirationTime===0&&(q.baseState=T)}var tr={isMounted:function(S){return(S=S._reactInternalFiber)?le(S)===S:!1},enqueueSetState:function(S,D,T){S=S._reactInternalFiber;var q=ga(),W=xe.suspense;q=qA(q,S,W),W=$i(q,W),W.payload=D,T!=null&&(W.callback=T),mi(S,W),Qc(S,q)},enqueueReplaceState:function(S,D,T){S=S._reactInternalFiber;var q=ga(),W=xe.suspense;q=qA(q,S,W),W=$i(q,W),W.tag=1,W.payload=D,T!=null&&(W.callback=T),mi(S,W),Qc(S,q)},enqueueForceUpdate:function(S,D){S=S._reactInternalFiber;var T=ga(),q=xe.suspense;T=qA(T,S,q),q=$i(T,q),q.tag=2,D!=null&&(q.callback=D),mi(S,q),Qc(S,T)}};function Zr(S,D,T,q,W,ce,Se){return S=S.stateNode,typeof S.shouldComponentUpdate=="function"?S.shouldComponentUpdate(q,ce,Se):D.prototype&&D.prototype.isPureReactComponent?!Sn(T,q)||!Sn(W,ce):!0}function Tn(S,D,T){var q=!1,W=Fi,ce=D.contextType;return typeof ce=="object"&&ce!==null?ce=Ls(ce):(W=$n(D)?Zt:Rn.current,q=D.contextTypes,ce=(q=q!=null)?Ri(S,W):Fi),D=new D(T,ce),S.memoizedState=D.state!==null&&D.state!==void 0?D.state:null,D.updater=tr,S.stateNode=D,D._reactInternalFiber=S,q&&(S=S.stateNode,S.__reactInternalMemoizedUnmaskedChildContext=W,S.__reactInternalMemoizedMaskedChildContext=ce),D}function _r(S,D,T,q){S=D.state,typeof D.componentWillReceiveProps=="function"&&D.componentWillReceiveProps(T,q),typeof D.UNSAFE_componentWillReceiveProps=="function"&&D.UNSAFE_componentWillReceiveProps(T,q),D.state!==S&&tr.enqueueReplaceState(D,D.state,null)}function ei(S,D,T,q){var W=S.stateNode;W.props=T,W.state=S.memoizedState,W.refs=Ve;var ce=D.contextType;typeof ce=="object"&&ce!==null?W.context=Ls(ce):(ce=$n(D)?Zt:Rn.current,W.context=Ri(S,ce)),ce=S.updateQueue,ce!==null&&(we(S,ce,T,W,q),W.state=S.memoizedState),ce=D.getDerivedStateFromProps,typeof ce=="function"&&(vt(S,D,ce,T),W.state=S.memoizedState),typeof D.getDerivedStateFromProps=="function"||typeof W.getSnapshotBeforeUpdate=="function"||typeof W.UNSAFE_componentWillMount!="function"&&typeof W.componentWillMount!="function"||(D=W.state,typeof W.componentWillMount=="function"&&W.componentWillMount(),typeof W.UNSAFE_componentWillMount=="function"&&W.UNSAFE_componentWillMount(),D!==W.state&&tr.enqueueReplaceState(W,W.state,null),ce=S.updateQueue,ce!==null&&(we(S,ce,T,W,q),W.state=S.memoizedState)),typeof W.componentDidMount=="function"&&(S.effectTag|=4)}var Ti=Array.isArray;function Kn(S,D,T){if(S=T.ref,S!==null&&typeof S!="function"&&typeof S!="object"){if(T._owner){if(T=T._owner,T){if(T.tag!==1)throw Error(n(309));var q=T.stateNode}if(!q)throw Error(n(147,S));var W=""+S;return D!==null&&D.ref!==null&&typeof D.ref=="function"&&D.ref._stringRef===W?D.ref:(D=function(ce){var Se=q.refs;Se===Ve&&(Se=q.refs={}),ce===null?delete Se[W]:Se[W]=ce},D._stringRef=W,D)}if(typeof S!="string")throw Error(n(284));if(!T._owner)throw Error(n(290,S))}return S}function qa(S,D){if(S.type!=="textarea")throw Error(n(31,Object.prototype.toString.call(D)==="[object Object]"?"object with keys {"+Object.keys(D).join(", ")+"}":D,""))}function aa(S){function D(rt,Je){if(S){var ft=rt.lastEffect;ft!==null?(ft.nextEffect=Je,rt.lastEffect=Je):rt.firstEffect=rt.lastEffect=Je,Je.nextEffect=null,Je.effectTag=8}}function T(rt,Je){if(!S)return null;for(;Je!==null;)D(rt,Je),Je=Je.sibling;return null}function q(rt,Je){for(rt=new Map;Je!==null;)Je.key!==null?rt.set(Je.key,Je):rt.set(Je.index,Je),Je=Je.sibling;return rt}function W(rt,Je,ft){return rt=YA(rt,Je,ft),rt.index=0,rt.sibling=null,rt}function ce(rt,Je,ft){return rt.index=ft,S?(ft=rt.alternate,ft!==null?(ft=ft.index,ft<Je?(rt.effectTag=2,Je):ft):(rt.effectTag=2,Je)):Je}function Se(rt){return S&&rt.alternate===null&&(rt.effectTag=2),rt}function It(rt,Je,ft,jt){return Je===null||Je.tag!==6?(Je=BI(ft,rt.mode,jt),Je.return=rt,Je):(Je=W(Je,ft,jt),Je.return=rt,Je)}function Ct(rt,Je,ft,jt){return Je!==null&&Je.elementType===ft.type?(jt=W(Je,ft.props,jt),jt.ref=Kn(rt,Je,ft),jt.return=rt,jt):(jt=Gm(ft.type,ft.key,ft.props,null,rt.mode,jt),jt.ref=Kn(rt,Je,ft),jt.return=rt,jt)}function xt(rt,Je,ft,jt){return Je===null||Je.tag!==4||Je.stateNode.containerInfo!==ft.containerInfo||Je.stateNode.implementation!==ft.implementation?(Je=vI(ft,rt.mode,jt),Je.return=rt,Je):(Je=W(Je,ft.children||[],jt),Je.return=rt,Je)}function Nr(rt,Je,ft,jt,Cr){return Je===null||Je.tag!==7?(Je=Fu(ft,rt.mode,jt,Cr),Je.return=rt,Je):(Je=W(Je,ft,jt),Je.return=rt,Je)}function is(rt,Je,ft){if(typeof Je=="string"||typeof Je=="number")return Je=BI(""+Je,rt.mode,ft),Je.return=rt,Je;if(typeof Je=="object"&&Je!==null){switch(Je.$$typeof){case p:return ft=Gm(Je.type,Je.key,Je.props,null,rt.mode,ft),ft.ref=Kn(rt,null,Je),ft.return=rt,ft;case h:return Je=vI(Je,rt.mode,ft),Je.return=rt,Je}if(Ti(Je)||he(Je))return Je=Fu(Je,rt.mode,ft,null),Je.return=rt,Je;qa(rt,Je)}return null}function fi(rt,Je,ft,jt){var Cr=Je!==null?Je.key:null;if(typeof ft=="string"||typeof ft=="number")return Cr!==null?null:It(rt,Je,""+ft,jt);if(typeof ft=="object"&&ft!==null){switch(ft.$$typeof){case p:return ft.key===Cr?ft.type===E?Nr(rt,Je,ft.props.children,jt,Cr):Ct(rt,Je,ft,jt):null;case h:return ft.key===Cr?xt(rt,Je,ft,jt):null}if(Ti(ft)||he(ft))return Cr!==null?null:Nr(rt,Je,ft,jt,null);qa(rt,ft)}return null}function Ao(rt,Je,ft,jt,Cr){if(typeof jt=="string"||typeof jt=="number")return rt=rt.get(ft)||null,It(Je,rt,""+jt,Cr);if(typeof jt=="object"&&jt!==null){switch(jt.$$typeof){case p:return rt=rt.get(jt.key===null?ft:jt.key)||null,jt.type===E?Nr(Je,rt,jt.props.children,Cr,jt.key):Ct(Je,rt,jt,Cr);case h:return rt=rt.get(jt.key===null?ft:jt.key)||null,xt(Je,rt,jt,Cr)}if(Ti(jt)||he(jt))return rt=rt.get(ft)||null,Nr(Je,rt,jt,Cr,null);qa(Je,jt)}return null}function VA(rt,Je,ft,jt){for(var Cr=null,In=null,Sr=Je,wn=Je=0,ni=null;Sr!==null&&wn<ft.length;wn++){Sr.index>wn?(ni=Sr,Sr=null):ni=Sr.sibling;var Xr=fi(rt,Sr,ft[wn],jt);if(Xr===null){Sr===null&&(Sr=ni);break}S&&Sr&&Xr.alternate===null&&D(rt,Sr),Je=ce(Xr,Je,wn),In===null?Cr=Xr:In.sibling=Xr,In=Xr,Sr=ni}if(wn===ft.length)return T(rt,Sr),Cr;if(Sr===null){for(;wn<ft.length;wn++)Sr=is(rt,ft[wn],jt),Sr!==null&&(Je=ce(Sr,Je,wn),In===null?Cr=Sr:In.sibling=Sr,In=Sr);return Cr}for(Sr=q(rt,Sr);wn<ft.length;wn++)ni=Ao(Sr,rt,wn,ft[wn],jt),ni!==null&&(S&&ni.alternate!==null&&Sr.delete(ni.key===null?wn:ni.key),Je=ce(ni,Je,wn),In===null?Cr=ni:In.sibling=ni,In=ni);return S&&Sr.forEach(function(fo){return D(rt,fo)}),Cr}function Ho(rt,Je,ft,jt){var Cr=he(ft);if(typeof Cr!="function")throw Error(n(150));if(ft=Cr.call(ft),ft==null)throw Error(n(151));for(var In=Cr=null,Sr=Je,wn=Je=0,ni=null,Xr=ft.next();Sr!==null&&!Xr.done;wn++,Xr=ft.next()){Sr.index>wn?(ni=Sr,Sr=null):ni=Sr.sibling;var fo=fi(rt,Sr,Xr.value,jt);if(fo===null){Sr===null&&(Sr=ni);break}S&&Sr&&fo.alternate===null&&D(rt,Sr),Je=ce(fo,Je,wn),In===null?Cr=fo:In.sibling=fo,In=fo,Sr=ni}if(Xr.done)return T(rt,Sr),Cr;if(Sr===null){for(;!Xr.done;wn++,Xr=ft.next())Xr=is(rt,Xr.value,jt),Xr!==null&&(Je=ce(Xr,Je,wn),In===null?Cr=Xr:In.sibling=Xr,In=Xr);return Cr}for(Sr=q(rt,Sr);!Xr.done;wn++,Xr=ft.next())Xr=Ao(Sr,rt,wn,Xr.value,jt),Xr!==null&&(S&&Xr.alternate!==null&&Sr.delete(Xr.key===null?wn:Xr.key),Je=ce(Xr,Je,wn),In===null?Cr=Xr:In.sibling=Xr,In=Xr);return S&&Sr.forEach(function(mF){return D(rt,mF)}),Cr}return function(rt,Je,ft,jt){var Cr=typeof ft=="object"&&ft!==null&&ft.type===E&&ft.key===null;Cr&&(ft=ft.props.children);var In=typeof ft=="object"&&ft!==null;if(In)switch(ft.$$typeof){case p:e:{for(In=ft.key,Cr=Je;Cr!==null;){if(Cr.key===In)if(Cr.tag===7?ft.type===E:Cr.elementType===ft.type){T(rt,Cr.sibling),Je=W(Cr,ft.type===E?ft.props.children:ft.props,jt),Je.ref=Kn(rt,Cr,ft),Je.return=rt,rt=Je;break e}else{T(rt,Cr);break}else D(rt,Cr);Cr=Cr.sibling}ft.type===E?(Je=Fu(ft.props.children,rt.mode,jt,ft.key),Je.return=rt,rt=Je):(jt=Gm(ft.type,ft.key,ft.props,null,rt.mode,jt),jt.ref=Kn(rt,Je,ft),jt.return=rt,rt=jt)}return Se(rt);case h:e:{for(Cr=ft.key;Je!==null;){if(Je.key===Cr)if(Je.tag===4&&Je.stateNode.containerInfo===ft.containerInfo&&Je.stateNode.implementation===ft.implementation){T(rt,Je.sibling),Je=W(Je,ft.children||[],jt),Je.return=rt,rt=Je;break e}else{T(rt,Je);break}else D(rt,Je);Je=Je.sibling}Je=vI(ft,rt.mode,jt),Je.return=rt,rt=Je}return Se(rt)}if(typeof ft=="string"||typeof ft=="number")return ft=""+ft,Je!==null&&Je.tag===6?(T(rt,Je.sibling),Je=W(Je,ft,jt),Je.return=rt,rt=Je):(T(rt,Je),Je=BI(ft,rt.mode,jt),Je.return=rt,rt=Je),Se(rt);if(Ti(ft))return VA(rt,Je,ft,jt);if(he(ft))return Ho(rt,Je,ft,jt);if(In&&qa(rt,ft),typeof ft>"u"&&!Cr)switch(rt.tag){case 1:case 0:throw rt=rt.type,Error(n(152,rt.displayName||rt.name||"Component"))}return T(rt,Je)}}var yi=aa(!0),la=aa(!1),ja={},lo={current:ja},FA={current:ja},Ec={current:ja};function ca(S){if(S===ja)throw Error(n(174));return S}function rg(S,D){Fn(Ec,D,S),Fn(FA,S,S),Fn(lo,ja,S),D=ne(D),Ue(lo,S),Fn(lo,D,S)}function Ic(S){Ue(lo,S),Ue(FA,S),Ue(Ec,S)}function bm(S){var D=ca(Ec.current),T=ca(lo.current);D=Z(T,S.type,D),T!==D&&(Fn(FA,S,S),Fn(lo,D,S))}function ng(S){FA.current===S&&(Ue(lo,S),Ue(FA,S))}var Vn={current:0};function up(S){for(var D=S;D!==null;){if(D.tag===13){var T=D.memoizedState;if(T!==null&&(T=T.dehydrated,T===null||Qs(T)||ro(T)))return D}else if(D.tag===19&&D.memoizedProps.revealOrder!==void 0){if((D.effectTag&64)!==0)return D}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===S)break;for(;D.sibling===null;){if(D.return===null||D.return===S)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}return null}function ig(S,D){return{responder:S,props:D}}var RA=u.ReactCurrentDispatcher,Os=u.ReactCurrentBatchConfig,Iu=0,Ga=null,ji=null,ua=null,wu=null,ms=null,wc=null,Bc=0,G=null,Dt=0,vl=!1,Si=null,vc=0;function lt(){throw Error(n(321))}function Bu(S,D){if(D===null)return!1;for(var T=0;T<D.length&&T<S.length;T++)if(!ds(S[T],D[T]))return!1;return!0}function sg(S,D,T,q,W,ce){if(Iu=ce,Ga=D,ua=S!==null?S.memoizedState:null,RA.current=ua===null?uI:Fm,D=T(q,W),vl){do vl=!1,vc+=1,ua=S!==null?S.memoizedState:null,wc=wu,G=ms=ji=null,RA.current=Fm,D=T(q,W);while(vl);Si=null,vc=0}if(RA.current=Du,S=Ga,S.memoizedState=wu,S.expirationTime=Bc,S.updateQueue=G,S.effectTag|=Dt,S=ji!==null&&ji.next!==null,Iu=0,wc=ms=wu=ua=ji=Ga=null,Bc=0,G=null,Dt=0,S)throw Error(n(300));return D}function cI(){RA.current=Du,Iu=0,wc=ms=wu=ua=ji=Ga=null,Bc=0,G=null,Dt=0,vl=!1,Si=null,vc=0}function TA(){var S={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return ms===null?wu=ms=S:ms=ms.next=S,ms}function Ap(){if(wc!==null)ms=wc,wc=ms.next,ji=ua,ua=ji!==null?ji.next:null;else{if(ua===null)throw Error(n(310));ji=ua;var S={memoizedState:ji.memoizedState,baseState:ji.baseState,queue:ji.queue,baseUpdate:ji.baseUpdate,next:null};ms=ms===null?wu=S:ms.next=S,ua=ji.next}return ms}function yr(S,D){return typeof D=="function"?D(S):D}function ys(S){var D=Ap(),T=D.queue;if(T===null)throw Error(n(311));if(T.lastRenderedReducer=S,0<vc){var q=T.dispatch;if(Si!==null){var W=Si.get(T);if(W!==void 0){Si.delete(T);var ce=D.memoizedState;do ce=S(ce,W.action),W=W.next;while(W!==null);return ds(ce,D.memoizedState)||(Uo=!0),D.memoizedState=ce,D.baseUpdate===T.last&&(D.baseState=ce),T.lastRenderedState=ce,[ce,q]}}return[D.memoizedState,q]}q=T.last;var Se=D.baseUpdate;if(ce=D.baseState,Se!==null?(q!==null&&(q.next=null),q=Se.next):q=q!==null?q.next:null,q!==null){var It=W=null,Ct=q,xt=!1;do{var Nr=Ct.expirationTime;Nr<Iu?(xt||(xt=!0,It=Se,W=ce),Nr>Bc&&(Bc=Nr,jm(Bc))):(yI(Nr,Ct.suspenseConfig),ce=Ct.eagerReducer===S?Ct.eagerState:S(ce,Ct.action)),Se=Ct,Ct=Ct.next}while(Ct!==null&&Ct!==q);xt||(It=Se,W=ce),ds(ce,D.memoizedState)||(Uo=!0),D.memoizedState=ce,D.baseUpdate=It,D.baseState=W,T.lastRenderedState=ce}return[D.memoizedState,T.dispatch]}function og(S){var D=TA();return typeof S=="function"&&(S=S()),D.memoizedState=D.baseState=S,S=D.queue={last:null,dispatch:null,lastRenderedReducer:yr,lastRenderedState:S},S=S.dispatch=Ag.bind(null,Ga,S),[D.memoizedState,S]}function ag(S){return ys(yr,S)}function lg(S,D,T,q){return S={tag:S,create:D,destroy:T,deps:q,next:null},G===null?(G={lastEffect:null},G.lastEffect=S.next=S):(D=G.lastEffect,D===null?G.lastEffect=S.next=S:(T=D.next,D.next=S,S.next=T,G.lastEffect=S)),S}function fp(S,D,T,q){var W=TA();Dt|=S,W.memoizedState=lg(D,T,void 0,q===void 0?null:q)}function Dc(S,D,T,q){var W=Ap();q=q===void 0?null:q;var ce=void 0;if(ji!==null){var Se=ji.memoizedState;if(ce=Se.destroy,q!==null&&Bu(q,Se.deps)){lg(0,T,ce,q);return}}Dt|=S,W.memoizedState=lg(D,T,ce,q)}function mt(S,D){return fp(516,192,S,D)}function Qm(S,D){return Dc(516,192,S,D)}function cg(S,D){if(typeof D=="function")return S=S(),D(S),function(){D(null)};if(D!=null)return S=S(),D.current=S,function(){D.current=null}}function ug(){}function vu(S,D){return TA().memoizedState=[S,D===void 0?null:D],S}function km(S,D){var T=Ap();D=D===void 0?null:D;var q=T.memoizedState;return q!==null&&D!==null&&Bu(D,q[1])?q[0]:(T.memoizedState=[S,D],S)}function Ag(S,D,T){if(!(25>vc))throw Error(n(301));var q=S.alternate;if(S===Ga||q!==null&&q===Ga)if(vl=!0,S={expirationTime:Iu,suspenseConfig:null,action:T,eagerReducer:null,eagerState:null,next:null},Si===null&&(Si=new Map),T=Si.get(D),T===void 0)Si.set(D,S);else{for(D=T;D.next!==null;)D=D.next;D.next=S}else{var W=ga(),ce=xe.suspense;W=qA(W,S,ce),ce={expirationTime:W,suspenseConfig:ce,action:T,eagerReducer:null,eagerState:null,next:null};var Se=D.last;if(Se===null)ce.next=ce;else{var It=Se.next;It!==null&&(ce.next=It),Se.next=ce}if(D.last=ce,S.expirationTime===0&&(q===null||q.expirationTime===0)&&(q=D.lastRenderedReducer,q!==null))try{var Ct=D.lastRenderedState,xt=q(Ct,T);if(ce.eagerReducer=q,ce.eagerState=xt,ds(xt,Ct))return}catch{}finally{}Qc(S,W)}}var Du={readContext:Ls,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useResponder:lt,useDeferredValue:lt,useTransition:lt},uI={readContext:Ls,useCallback:vu,useContext:Ls,useEffect:mt,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,fp(4,36,cg.bind(null,D,S),T)},useLayoutEffect:function(S,D){return fp(4,36,S,D)},useMemo:function(S,D){var T=TA();return D=D===void 0?null:D,S=S(),T.memoizedState=[S,D],S},useReducer:function(S,D,T){var q=TA();return D=T!==void 0?T(D):D,q.memoizedState=q.baseState=D,S=q.queue={last:null,dispatch:null,lastRenderedReducer:S,lastRenderedState:D},S=S.dispatch=Ag.bind(null,Ga,S),[q.memoizedState,S]},useRef:function(S){var D=TA();return S={current:S},D.memoizedState=S},useState:og,useDebugValue:ug,useResponder:ig,useDeferredValue:function(S,D){var T=og(S),q=T[0],W=T[1];return mt(function(){a.unstable_next(function(){var ce=Os.suspense;Os.suspense=D===void 0?null:D;try{W(S)}finally{Os.suspense=ce}})},[S,D]),q},useTransition:function(S){var D=og(!1),T=D[0],q=D[1];return[vu(function(W){q(!0),a.unstable_next(function(){var ce=Os.suspense;Os.suspense=S===void 0?null:S;try{q(!1),W()}finally{Os.suspense=ce}})},[S,T]),T]}},Fm={readContext:Ls,useCallback:km,useContext:Ls,useEffect:Qm,useImperativeHandle:function(S,D,T){return T=T!=null?T.concat([S]):null,Dc(4,36,cg.bind(null,D,S),T)},useLayoutEffect:function(S,D){return Dc(4,36,S,D)},useMemo:function(S,D){var T=Ap();D=D===void 0?null:D;var q=T.memoizedState;return q!==null&&D!==null&&Bu(D,q[1])?q[0]:(S=S(),T.memoizedState=[S,D],S)},useReducer:ys,useRef:function(){return Ap().memoizedState},useState:ag,useDebugValue:ug,useResponder:ig,useDeferredValue:function(S,D){var T=ag(S),q=T[0],W=T[1];return Qm(function(){a.unstable_next(function(){var ce=Os.suspense;Os.suspense=D===void 0?null:D;try{W(S)}finally{Os.suspense=ce}})},[S,D]),q},useTransition:function(S){var D=ag(!1),T=D[0],q=D[1];return[km(function(W){q(!0),a.unstable_next(function(){var ce=Os.suspense;Os.suspense=S===void 0?null:S;try{q(!1),W()}finally{Os.suspense=ce}})},[S,T]),T]}},Aa=null,Sc=null,Dl=!1;function Su(S,D){var T=xl(5,null,null,0);T.elementType="DELETED",T.type="DELETED",T.stateNode=D,T.return=S,T.effectTag=8,S.lastEffect!==null?(S.lastEffect.nextEffect=T,S.lastEffect=T):S.firstEffect=S.lastEffect=T}function fg(S,D){switch(S.tag){case 5:return D=to(D,S.type,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 6:return D=Di(D,S.pendingProps),D!==null?(S.stateNode=D,!0):!1;case 13:return!1;default:return!1}}function NA(S){if(Dl){var D=Sc;if(D){var T=D;if(!fg(S,D)){if(D=pc(T),!D||!fg(S,D)){S.effectTag=S.effectTag&-1025|2,Dl=!1,Aa=S;return}Su(Aa,T)}Aa=S,Sc=gu(D)}else S.effectTag=S.effectTag&-1025|2,Dl=!1,Aa=S}}function pp(S){for(S=S.return;S!==null&&S.tag!==5&&S.tag!==3&&S.tag!==13;)S=S.return;Aa=S}function Wa(S){if(!y||S!==Aa)return!1;if(!Dl)return pp(S),Dl=!0,!1;var D=S.type;if(S.tag!==5||D!=="head"&&D!=="body"&&!Te(D,S.memoizedProps))for(D=Sc;D;)Su(S,D),D=pc(D);if(pp(S),S.tag===13){if(!y)throw Error(n(316));if(S=S.memoizedState,S=S!==null?S.dehydrated:null,!S)throw Error(n(317));Sc=ks(S)}else Sc=Aa?pc(S.stateNode):null;return!0}function pg(){y&&(Sc=Aa=null,Dl=!1)}var hp=u.ReactCurrentOwner,Uo=!1;function Cs(S,D,T,q){D.child=S===null?la(D,null,T,q):yi(D,S.child,T,q)}function Ci(S,D,T,q,W){T=T.render;var ce=D.ref;return Ns(D,W),q=sg(S,D,T,q,ce,W),S!==null&&!Uo?(D.updateQueue=S.updateQueue,D.effectTag&=-517,S.expirationTime<=W&&(S.expirationTime=0),ti(S,D,W)):(D.effectTag|=1,Cs(S,D,q,W),D.child)}function Rm(S,D,T,q,W,ce){if(S===null){var Se=T.type;return typeof Se=="function"&&!wI(Se)&&Se.defaultProps===void 0&&T.compare===null&&T.defaultProps===void 0?(D.tag=15,D.type=Se,Tm(S,D,Se,q,W,ce)):(S=Gm(T.type,null,q,null,D.mode,ce),S.ref=D.ref,S.return=D,D.child=S)}return Se=S.child,W<ce&&(W=Se.memoizedProps,T=T.compare,T=T!==null?T:Sn,T(W,q)&&S.ref===D.ref)?ti(S,D,ce):(D.effectTag|=1,S=YA(Se,q,ce),S.ref=D.ref,S.return=D,D.child=S)}function Tm(S,D,T,q,W,ce){return S!==null&&Sn(S.memoizedProps,q)&&S.ref===D.ref&&(Uo=!1,W<ce)?ti(S,D,ce):LA(S,D,T,q,ce)}function _o(S,D){var T=D.ref;(S===null&&T!==null||S!==null&&S.ref!==T)&&(D.effectTag|=128)}function LA(S,D,T,q,W){var ce=$n(T)?Zt:Rn.current;return ce=Ri(D,ce),Ns(D,W),T=sg(S,D,T,q,ce,W),S!==null&&!Uo?(D.updateQueue=S.updateQueue,D.effectTag&=-517,S.expirationTime<=W&&(S.expirationTime=0),ti(S,D,W)):(D.effectTag|=1,Cs(S,D,T,W),D.child)}function gp(S,D,T,q,W){if($n(T)){var ce=!0;gc(D)}else ce=!1;if(Ns(D,W),D.stateNode===null)S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),Tn(D,T,q,W),ei(D,T,q,W),q=!0;else if(S===null){var Se=D.stateNode,It=D.memoizedProps;Se.props=It;var Ct=Se.context,xt=T.contextType;typeof xt=="object"&&xt!==null?xt=Ls(xt):(xt=$n(T)?Zt:Rn.current,xt=Ri(D,xt));var Nr=T.getDerivedStateFromProps,is=typeof Nr=="function"||typeof Se.getSnapshotBeforeUpdate=="function";is||typeof Se.UNSAFE_componentWillReceiveProps!="function"&&typeof Se.componentWillReceiveProps!="function"||(It!==q||Ct!==xt)&&_r(D,Se,q,xt),ao=!1;var fi=D.memoizedState;Ct=Se.state=fi;var Ao=D.updateQueue;Ao!==null&&(we(D,Ao,q,Se,W),Ct=D.memoizedState),It!==q||fi!==Ct||Ui.current||ao?(typeof Nr=="function"&&(vt(D,T,Nr,q),Ct=D.memoizedState),(It=ao||Zr(D,T,It,q,fi,Ct,xt))?(is||typeof Se.UNSAFE_componentWillMount!="function"&&typeof Se.componentWillMount!="function"||(typeof Se.componentWillMount=="function"&&Se.componentWillMount(),typeof Se.UNSAFE_componentWillMount=="function"&&Se.UNSAFE_componentWillMount()),typeof Se.componentDidMount=="function"&&(D.effectTag|=4)):(typeof Se.componentDidMount=="function"&&(D.effectTag|=4),D.memoizedProps=q,D.memoizedState=Ct),Se.props=q,Se.state=Ct,Se.context=xt,q=It):(typeof Se.componentDidMount=="function"&&(D.effectTag|=4),q=!1)}else Se=D.stateNode,It=D.memoizedProps,Se.props=D.type===D.elementType?It:di(D.type,It),Ct=Se.context,xt=T.contextType,typeof xt=="object"&&xt!==null?xt=Ls(xt):(xt=$n(T)?Zt:Rn.current,xt=Ri(D,xt)),Nr=T.getDerivedStateFromProps,(is=typeof Nr=="function"||typeof Se.getSnapshotBeforeUpdate=="function")||typeof Se.UNSAFE_componentWillReceiveProps!="function"&&typeof Se.componentWillReceiveProps!="function"||(It!==q||Ct!==xt)&&_r(D,Se,q,xt),ao=!1,Ct=D.memoizedState,fi=Se.state=Ct,Ao=D.updateQueue,Ao!==null&&(we(D,Ao,q,Se,W),fi=D.memoizedState),It!==q||Ct!==fi||Ui.current||ao?(typeof Nr=="function"&&(vt(D,T,Nr,q),fi=D.memoizedState),(Nr=ao||Zr(D,T,It,q,Ct,fi,xt))?(is||typeof Se.UNSAFE_componentWillUpdate!="function"&&typeof Se.componentWillUpdate!="function"||(typeof Se.componentWillUpdate=="function"&&Se.componentWillUpdate(q,fi,xt),typeof Se.UNSAFE_componentWillUpdate=="function"&&Se.UNSAFE_componentWillUpdate(q,fi,xt)),typeof Se.componentDidUpdate=="function"&&(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate=="function"&&(D.effectTag|=256)):(typeof Se.componentDidUpdate!="function"||It===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate!="function"||It===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=256),D.memoizedProps=q,D.memoizedState=fi),Se.props=q,Se.state=fi,Se.context=xt,q=Nr):(typeof Se.componentDidUpdate!="function"||It===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=4),typeof Se.getSnapshotBeforeUpdate!="function"||It===S.memoizedProps&&Ct===S.memoizedState||(D.effectTag|=256),q=!1);return dp(S,D,T,q,ce,W)}function dp(S,D,T,q,W,ce){_o(S,D);var Se=(D.effectTag&64)!==0;if(!q&&!Se)return W&&Il(D,T,!1),ti(S,D,ce);q=D.stateNode,hp.current=D;var It=Se&&typeof T.getDerivedStateFromError!="function"?null:q.render();return D.effectTag|=1,S!==null&&Se?(D.child=yi(D,S.child,null,ce),D.child=yi(D,null,It,ce)):Cs(S,D,It,ce),D.memoizedState=q.state,W&&Il(D,T,!0),D.child}function hg(S){var D=S.stateNode;D.pendingContext?hc(S,D.pendingContext,D.pendingContext!==D.context):D.context&&hc(S,D.context,!1),rg(S,D.containerInfo)}var fa={dehydrated:null,retryTime:0};function rn(S,D,T){var q=D.mode,W=D.pendingProps,ce=Vn.current,Se=!1,It;if((It=(D.effectTag&64)!==0)||(It=(ce&2)!==0&&(S===null||S.memoizedState!==null)),It?(Se=!0,D.effectTag&=-65):S!==null&&S.memoizedState===null||W.fallback===void 0||W.unstable_avoidThisFallback===!0||(ce|=1),Fn(Vn,ce&1,D),S===null){if(W.fallback!==void 0&&NA(D),Se){if(Se=W.fallback,W=Fu(null,q,0,null),W.return=D,(D.mode&2)===0)for(S=D.memoizedState!==null?D.child.child:D.child,W.child=S;S!==null;)S.return=W,S=S.sibling;return T=Fu(Se,q,T,null),T.return=D,W.sibling=T,D.memoizedState=fa,D.child=W,T}return q=W.children,D.memoizedState=null,D.child=la(D,null,q,T)}if(S.memoizedState!==null){if(S=S.child,q=S.sibling,Se){if(W=W.fallback,T=YA(S,S.pendingProps,0),T.return=D,(D.mode&2)===0&&(Se=D.memoizedState!==null?D.child.child:D.child,Se!==S.child))for(T.child=Se;Se!==null;)Se.return=T,Se=Se.sibling;return q=YA(q,W,q.expirationTime),q.return=D,T.sibling=q,T.childExpirationTime=0,D.memoizedState=fa,D.child=T,q}return T=yi(D,S.child,W.children,T),D.memoizedState=null,D.child=T}if(S=S.child,Se){if(Se=W.fallback,W=Fu(null,q,0,null),W.return=D,W.child=S,S!==null&&(S.return=W),(D.mode&2)===0)for(S=D.memoizedState!==null?D.child.child:D.child,W.child=S;S!==null;)S.return=W,S=S.sibling;return T=Fu(Se,q,T,null),T.return=D,W.sibling=T,T.effectTag|=2,W.childExpirationTime=0,D.memoizedState=fa,D.child=W,T}return D.memoizedState=null,D.child=yi(D,S,W.children,T)}function co(S,D){S.expirationTime<D&&(S.expirationTime=D);var T=S.alternate;T!==null&&T.expirationTime<D&&(T.expirationTime=D),Ts(S.return,D)}function OA(S,D,T,q,W,ce){var Se=S.memoizedState;Se===null?S.memoizedState={isBackwards:D,rendering:null,last:q,tail:T,tailExpiration:0,tailMode:W,lastEffect:ce}:(Se.isBackwards=D,Se.rendering=null,Se.last=q,Se.tail=T,Se.tailExpiration=0,Se.tailMode=W,Se.lastEffect=ce)}function Ya(S,D,T){var q=D.pendingProps,W=q.revealOrder,ce=q.tail;if(Cs(S,D,q.children,T),q=Vn.current,(q&2)!==0)q=q&1|2,D.effectTag|=64;else{if(S!==null&&(S.effectTag&64)!==0)e:for(S=D.child;S!==null;){if(S.tag===13)S.memoizedState!==null&&co(S,T);else if(S.tag===19)co(S,T);else if(S.child!==null){S.child.return=S,S=S.child;continue}if(S===D)break e;for(;S.sibling===null;){if(S.return===null||S.return===D)break e;S=S.return}S.sibling.return=S.return,S=S.sibling}q&=1}if(Fn(Vn,q,D),(D.mode&2)===0)D.memoizedState=null;else switch(W){case"forwards":for(T=D.child,W=null;T!==null;)S=T.alternate,S!==null&&up(S)===null&&(W=T),T=T.sibling;T=W,T===null?(W=D.child,D.child=null):(W=T.sibling,T.sibling=null),OA(D,!1,W,T,ce,D.lastEffect);break;case"backwards":for(T=null,W=D.child,D.child=null;W!==null;){if(S=W.alternate,S!==null&&up(S)===null){D.child=W;break}S=W.sibling,W.sibling=T,T=W,W=S}OA(D,!0,T,null,ce,D.lastEffect);break;case"together":OA(D,!1,null,null,void 0,D.lastEffect);break;default:D.memoizedState=null}return D.child}function ti(S,D,T){S!==null&&(D.dependencies=S.dependencies);var q=D.expirationTime;if(q!==0&&jm(q),D.childExpirationTime<T)return null;if(S!==null&&D.child!==S.child)throw Error(n(153));if(D.child!==null){for(S=D.child,T=YA(S,S.pendingProps,S.expirationTime),D.child=T,T.return=D;S.sibling!==null;)S=S.sibling,T=T.sibling=YA(S,S.pendingProps,S.expirationTime),T.return=D;T.sibling=null}return D.child}function pa(S){S.effectTag|=4}var Pc,Sl,ts,Hr;if(I)Pc=function(S,D){for(var T=D.child;T!==null;){if(T.tag===5||T.tag===6)H(S,T.stateNode);else if(T.tag!==4&&T.child!==null){T.child.return=T,T=T.child;continue}if(T===D)break;for(;T.sibling===null;){if(T.return===null||T.return===D)return;T=T.return}T.sibling.return=T.return,T=T.sibling}},Sl=function(){},ts=function(S,D,T,q,W){if(S=S.memoizedProps,S!==q){var ce=D.stateNode,Se=ca(lo.current);T=Me(ce,T,S,q,W,Se),(D.updateQueue=T)&&pa(D)}},Hr=function(S,D,T,q){T!==q&&pa(D)};else if(P){Pc=function(S,D,T,q){for(var W=D.child;W!==null;){if(W.tag===5){var ce=W.stateNode;T&&q&&(ce=ki(ce,W.type,W.memoizedProps,W)),H(S,ce)}else if(W.tag===6)ce=W.stateNode,T&&q&&(ce=gs(ce,W.memoizedProps,W)),H(S,ce);else if(W.tag!==4){if(W.tag===13&&(W.effectTag&4)!==0&&(ce=W.memoizedState!==null)){var Se=W.child;if(Se!==null&&(Se.child!==null&&(Se.child.return=Se,Pc(S,Se,!0,ce)),ce=Se.sibling,ce!==null)){ce.return=W,W=ce;continue}}if(W.child!==null){W.child.return=W,W=W.child;continue}}if(W===D)break;for(;W.sibling===null;){if(W.return===null||W.return===D)return;W=W.return}W.sibling.return=W.return,W=W.sibling}};var mp=function(S,D,T,q){for(var W=D.child;W!==null;){if(W.tag===5){var ce=W.stateNode;T&&q&&(ce=ki(ce,W.type,W.memoizedProps,W)),jr(S,ce)}else if(W.tag===6)ce=W.stateNode,T&&q&&(ce=gs(ce,W.memoizedProps,W)),jr(S,ce);else if(W.tag!==4){if(W.tag===13&&(W.effectTag&4)!==0&&(ce=W.memoizedState!==null)){var Se=W.child;if(Se!==null&&(Se.child!==null&&(Se.child.return=Se,mp(S,Se,!0,ce)),ce=Se.sibling,ce!==null)){ce.return=W,W=ce;continue}}if(W.child!==null){W.child.return=W,W=W.child;continue}}if(W===D)break;for(;W.sibling===null;){if(W.return===null||W.return===D)return;W=W.return}W.sibling.return=W.return,W=W.sibling}};Sl=function(S){var D=S.stateNode;if(S.firstEffect!==null){var T=D.containerInfo,q=Br(T);mp(q,S,!1,!1),D.pendingChildren=q,pa(S),Hn(T,q)}},ts=function(S,D,T,q,W){var ce=S.stateNode,Se=S.memoizedProps;if((S=D.firstEffect===null)&&Se===q)D.stateNode=ce;else{var It=D.stateNode,Ct=ca(lo.current),xt=null;Se!==q&&(xt=Me(It,T,Se,q,W,Ct)),S&&xt===null?D.stateNode=ce:(ce=fr(ce,xt,T,Se,q,D,S,It),yt(ce,T,q,W,Ct)&&pa(D),D.stateNode=ce,S?pa(D):Pc(ce,D,!1,!1))}},Hr=function(S,D,T,q){T!==q&&(S=ca(Ec.current),T=ca(lo.current),D.stateNode=_e(q,S,T,D),pa(D))}}else Sl=function(){},ts=function(){},Hr=function(){};function xc(S,D){switch(S.tailMode){case"hidden":D=S.tail;for(var T=null;D!==null;)D.alternate!==null&&(T=D),D=D.sibling;T===null?S.tail=null:T.sibling=null;break;case"collapsed":T=S.tail;for(var q=null;T!==null;)T.alternate!==null&&(q=T),T=T.sibling;q===null?D||S.tail===null?S.tail=null:S.tail.sibling=null:q.sibling=null}}function AI(S){switch(S.tag){case 1:$n(S.type)&&Ma(S);var D=S.effectTag;return D&4096?(S.effectTag=D&-4097|64,S):null;case 3:if(Ic(S),$t(S),D=S.effectTag,(D&64)!==0)throw Error(n(285));return S.effectTag=D&-4097|64,S;case 5:return ng(S),null;case 13:return Ue(Vn,S),D=S.effectTag,D&4096?(S.effectTag=D&-4097|64,S):null;case 19:return Ue(Vn,S),null;case 4:return Ic(S),null;case 10:return Zi(S),null;default:return null}}function gg(S,D){return{value:S,source:D,stack:Cl(D)}}var dg=typeof WeakSet=="function"?WeakSet:Set;function Ka(S,D){var T=D.source,q=D.stack;q===null&&T!==null&&(q=Cl(T)),T!==null&&ge(T.type),D=D.value,S!==null&&S.tag===1&&ge(S.type);try{console.error(D)}catch(W){setTimeout(function(){throw W})}}function Nm(S,D){try{D.props=S.memoizedProps,D.state=S.memoizedState,D.componentWillUnmount()}catch(T){WA(S,T)}}function mg(S){var D=S.ref;if(D!==null)if(typeof D=="function")try{D(null)}catch(T){WA(S,T)}else D.current=null}function kt(S,D){switch(D.tag){case 0:case 11:case 15:N(2,0,D);break;case 1:if(D.effectTag&256&&S!==null){var T=S.memoizedProps,q=S.memoizedState;S=D.stateNode,D=S.getSnapshotBeforeUpdate(D.elementType===D.type?T:di(D.type,T),q),S.__reactInternalSnapshotBeforeUpdate=D}break;case 3:case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}function N(S,D,T){if(T=T.updateQueue,T=T!==null?T.lastEffect:null,T!==null){var q=T=T.next;do{if((q.tag&S)!==0){var W=q.destroy;q.destroy=void 0,W!==void 0&&W()}(q.tag&D)!==0&&(W=q.create,q.destroy=W()),q=q.next}while(q!==T)}}function K(S,D,T){switch(typeof II=="function"&&II(D),D.tag){case 0:case 11:case 14:case 15:if(S=D.updateQueue,S!==null&&(S=S.lastEffect,S!==null)){var q=S.next;so(97<T?97:T,function(){var W=q;do{var ce=W.destroy;if(ce!==void 0){var Se=D;try{ce()}catch(It){WA(Se,It)}}W=W.next}while(W!==q)})}break;case 1:mg(D),T=D.stateNode,typeof T.componentWillUnmount=="function"&&Nm(D,T);break;case 5:mg(D);break;case 4:I?gr(S,D,T):P&&ze(D)}}function te(S,D,T){for(var q=D;;)if(K(S,q,T),q.child===null||I&&q.tag===4){if(q===D)break;for(;q.sibling===null;){if(q.return===null||q.return===D)return;q=q.return}q.sibling.return=q.return,q=q.sibling}else q.child.return=q,q=q.child}function Ae(S){var D=S.alternate;S.return=null,S.child=null,S.memoizedState=null,S.updateQueue=null,S.dependencies=null,S.alternate=null,S.firstEffect=null,S.lastEffect=null,S.pendingProps=null,S.memoizedProps=null,D!==null&&Ae(D)}function ze(S){if(P){S=S.stateNode.containerInfo;var D=Br(S);bs(S,D)}}function gt(S){return S.tag===5||S.tag===3||S.tag===4}function ur(S){if(I){e:{for(var D=S.return;D!==null;){if(gt(D)){var T=D;break e}D=D.return}throw Error(n(160))}switch(D=T.stateNode,T.tag){case 5:var q=!1;break;case 3:D=D.containerInfo,q=!0;break;case 4:D=D.containerInfo,q=!0;break;default:throw Error(n(161))}T.effectTag&16&&(Ut(D),T.effectTag&=-17);e:t:for(T=S;;){for(;T.sibling===null;){if(T.return===null||gt(T.return)){T=null;break e}T=T.return}for(T.sibling.return=T.return,T=T.sibling;T.tag!==5&&T.tag!==6&&T.tag!==18;){if(T.effectTag&2||T.child===null||T.tag===4)continue t;T.child.return=T,T=T.child}if(!(T.effectTag&2)){T=T.stateNode;break e}}for(var W=S;;){var ce=W.tag===5||W.tag===6;if(ce)ce=ce?W.stateNode:W.stateNode.instance,T?q?Ne(D,ce,T):ke(D,ce,T):q?J(D,ce):F(D,ce);else if(W.tag!==4&&W.child!==null){W.child.return=W,W=W.child;continue}if(W===S)break;for(;W.sibling===null;){if(W.return===null||W.return===S)return;W=W.return}W.sibling.return=W.return,W=W.sibling}}}function gr(S,D,T){for(var q=D,W=!1,ce,Se;;){if(!W){W=q.return;e:for(;;){if(W===null)throw Error(n(160));switch(ce=W.stateNode,W.tag){case 5:Se=!1;break e;case 3:ce=ce.containerInfo,Se=!0;break e;case 4:ce=ce.containerInfo,Se=!0;break e}W=W.return}W=!0}if(q.tag===5||q.tag===6)te(S,q,T),Se?ht(ce,q.stateNode):st(ce,q.stateNode);else if(q.tag===4){if(q.child!==null){ce=q.stateNode.containerInfo,Se=!0,q.child.return=q,q=q.child;continue}}else if(K(S,q,T),q.child!==null){q.child.return=q,q=q.child;continue}if(q===D)break;for(;q.sibling===null;){if(q.return===null||q.return===D)return;q=q.return,q.tag===4&&(W=!1)}q.sibling.return=q.return,q=q.sibling}}function hn(S,D){if(I)switch(D.tag){case 0:case 11:case 14:case 15:N(4,8,D);break;case 1:break;case 5:var T=D.stateNode;if(T!=null){var q=D.memoizedProps;S=S!==null?S.memoizedProps:q;var W=D.type,ce=D.updateQueue;D.updateQueue=null,ce!==null&&ie(T,ce,W,S,q,D)}break;case 6:if(D.stateNode===null)throw Error(n(162));T=D.memoizedProps,X(D.stateNode,S!==null?S.memoizedProps:T,T);break;case 3:y&&(D=D.stateNode,D.hydrate&&(D.hydrate=!1,En(D.containerInfo)));break;case 12:break;case 13:ri(D),Ni(D);break;case 19:Ni(D);break;case 17:break;case 20:break;case 21:break;default:throw Error(n(163))}else{switch(D.tag){case 0:case 11:case 14:case 15:N(4,8,D);return;case 12:return;case 13:ri(D),Ni(D);return;case 19:Ni(D);return;case 3:y&&(T=D.stateNode,T.hydrate&&(T.hydrate=!1,En(T.containerInfo)))}e:if(P)switch(D.tag){case 1:case 5:case 6:case 20:break e;case 3:case 4:D=D.stateNode,bs(D.containerInfo,D.pendingChildren);break e;default:throw Error(n(163))}}}function ri(S){var D=S;if(S.memoizedState===null)var T=!1;else T=!0,D=S.child,hI=Hi();if(I&&D!==null){e:if(S=D,I)for(D=S;;){if(D.tag===5){var q=D.stateNode;T?Xt(q):tn(D.stateNode,D.memoizedProps)}else if(D.tag===6)q=D.stateNode,T?Pt(q):Dr(q,D.memoizedProps);else if(D.tag===13&&D.memoizedState!==null&&D.memoizedState.dehydrated===null){q=D.child.sibling,q.return=D,D=q;continue}else if(D.child!==null){D.child.return=D,D=D.child;continue}if(D===S)break e;for(;D.sibling===null;){if(D.return===null||D.return===S)break e;D=D.return}D.sibling.return=D.return,D=D.sibling}}}function Ni(S){var D=S.updateQueue;if(D!==null){S.updateQueue=null;var T=S.stateNode;T===null&&(T=S.stateNode=new dg),D.forEach(function(q){var W=AF.bind(null,S,q);T.has(q)||(T.add(q),q.then(W,W))})}}var yg=typeof WeakMap=="function"?WeakMap:Map;function Qv(S,D,T){T=$i(T,null),T.tag=3,T.payload={element:null};var q=D.value;return T.callback=function(){xu||(xu=!0,_m=q),Ka(S,D)},T}function kv(S,D,T){T=$i(T,null),T.tag=3;var q=S.type.getDerivedStateFromError;if(typeof q=="function"){var W=D.value;T.payload=function(){return Ka(S,D),q(W)}}var ce=S.stateNode;return ce!==null&&typeof ce.componentDidCatch=="function"&&(T.callback=function(){typeof q!="function"&&(bu===null?bu=new Set([this]):bu.add(this),Ka(S,D));var Se=D.stack;this.componentDidCatch(D.value,{componentStack:Se!==null?Se:""})}),T}var fI=Math.ceil,yp=u.ReactCurrentDispatcher,pI=u.ReactCurrentOwner,gn=0,Lm=8,rs=16,Ms=32,Pu=0,Om=1,Ei=2,ha=3,Pl=4,bc=5,pr=gn,Ai=null,Fr=null,ns=0,Gi=Pu,Mm=null,Va=1073741823,MA=1073741823,Um=null,Cp=0,UA=!1,hI=0,gI=500,nr=null,xu=!1,_m=null,bu=null,Ep=!1,Cg=null,_A=90,HA=null,Eg=0,dI=null,Hm=0;function ga(){return(pr&(rs|Ms))!==gn?1073741821-(Hi()/10|0):Hm!==0?Hm:Hm=1073741821-(Hi()/10|0)}function qA(S,D,T){if(D=D.mode,(D&2)===0)return 1073741823;var q=Oo();if((D&4)===0)return q===99?1073741823:1073741822;if((pr&rs)!==gn)return ns;if(T!==null)S=Ua(S,T.timeoutMs|0||5e3,250);else switch(q){case 99:S=1073741823;break;case 98:S=Ua(S,150,100);break;case 97:case 96:S=Ua(S,5e3,250);break;case 95:S=2;break;default:throw Error(n(326))}return Ai!==null&&S===ns&&--S,S}function Qc(S,D){if(50<Eg)throw Eg=0,dI=null,Error(n(185));if(S=Ig(S,D),S!==null){var T=Oo();D===1073741823?(pr&Lm)!==gn&&(pr&(rs|Ms))===gn?mI(S):(uo(S),pr===gn&&qi()):uo(S),(pr&4)===gn||T!==98&&T!==99||(HA===null?HA=new Map([[S,D]]):(T=HA.get(S),(T===void 0||T>D)&&HA.set(S,D)))}}function Ig(S,D){S.expirationTime<D&&(S.expirationTime=D);var T=S.alternate;T!==null&&T.expirationTime<D&&(T.expirationTime=D);var q=S.return,W=null;if(q===null&&S.tag===3)W=S.stateNode;else for(;q!==null;){if(T=q.alternate,q.childExpirationTime<D&&(q.childExpirationTime=D),T!==null&&T.childExpirationTime<D&&(T.childExpirationTime=D),q.return===null&&q.tag===3){W=q.stateNode;break}q=q.return}return W!==null&&(Ai===W&&(jm(D),Gi===Pl&&KA(W,ns)),_v(W,D)),W}function qm(S){var D=S.lastExpiredTime;return D!==0||(D=S.firstPendingTime,!Uv(S,D))?D:(D=S.lastPingedTime,S=S.nextKnownPendingLevel,D>S?D:S)}function uo(S){if(S.lastExpiredTime!==0)S.callbackExpirationTime=1073741823,S.callbackPriority=99,S.callbackNode=Cu(mI.bind(null,S));else{var D=qm(S),T=S.callbackNode;if(D===0)T!==null&&(S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90);else{var q=ga();if(D===1073741823?q=99:D===1||D===2?q=95:(q=10*(1073741821-D)-10*(1073741821-q),q=0>=q?99:250>=q?98:5250>=q?97:95),T!==null){var W=S.callbackPriority;if(S.callbackExpirationTime===D&&W>=q)return;T!==bA&&Ee(T)}S.callbackExpirationTime=D,S.callbackPriority=q,D=D===1073741823?Cu(mI.bind(null,S)):Bl(q,Fv.bind(null,S),{timeout:10*(1073741821-D)-Hi()}),S.callbackNode=D}}}function Fv(S,D){if(Hm=0,D)return D=ga(),Wm(S,D),uo(S),null;var T=qm(S);if(T!==0){if(D=S.callbackNode,(pr&(rs|Ms))!==gn)throw Error(n(327));if(Ip(),S===Ai&&T===ns||Qu(S,T),Fr!==null){var q=pr;pr|=rs;var W=GA(S);do try{oF();break}catch(It){jA(S,It)}while(1);if(sa(),pr=q,yp.current=W,Gi===Om)throw D=Mm,Qu(S,T),KA(S,T),uo(S),D;if(Fr===null)switch(W=S.finishedWork=S.current.alternate,S.finishedExpirationTime=T,q=Gi,Ai=null,q){case Pu:case Om:throw Error(n(345));case Ei:Wm(S,2<T?2:T);break;case ha:if(KA(S,T),q=S.lastSuspendedTime,T===q&&(S.nextKnownPendingLevel=CI(W)),Va===1073741823&&(W=hI+gI-Hi(),10<W)){if(UA){var ce=S.lastPingedTime;if(ce===0||ce>=T){S.lastPingedTime=T,Qu(S,T);break}}if(ce=qm(S),ce!==0&&ce!==T)break;if(q!==0&&q!==T){S.lastPingedTime=q;break}S.timeoutHandle=qe(ku.bind(null,S),W);break}ku(S);break;case Pl:if(KA(S,T),q=S.lastSuspendedTime,T===q&&(S.nextKnownPendingLevel=CI(W)),UA&&(W=S.lastPingedTime,W===0||W>=T)){S.lastPingedTime=T,Qu(S,T);break}if(W=qm(S),W!==0&&W!==T)break;if(q!==0&&q!==T){S.lastPingedTime=q;break}if(MA!==1073741823?q=10*(1073741821-MA)-Hi():Va===1073741823?q=0:(q=10*(1073741821-Va)-5e3,W=Hi(),T=10*(1073741821-T)-W,q=W-q,0>q&&(q=0),q=(120>q?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*fI(q/1960))-q,T<q&&(q=T)),10<q){S.timeoutHandle=qe(ku.bind(null,S),q);break}ku(S);break;case bc:if(Va!==1073741823&&Um!==null){ce=Va;var Se=Um;if(q=Se.busyMinDurationMs|0,0>=q?q=0:(W=Se.busyDelayMs|0,ce=Hi()-(10*(1073741821-ce)-(Se.timeoutMs|0||5e3)),q=ce<=W?0:W+q-ce),10<q){KA(S,T),S.timeoutHandle=qe(ku.bind(null,S),q);break}}ku(S);break;default:throw Error(n(329))}if(uo(S),S.callbackNode===D)return Fv.bind(null,S)}}return null}function mI(S){var D=S.lastExpiredTime;if(D=D!==0?D:1073741823,S.finishedExpirationTime===D)ku(S);else{if((pr&(rs|Ms))!==gn)throw Error(n(327));if(Ip(),S===Ai&&D===ns||Qu(S,D),Fr!==null){var T=pr;pr|=rs;var q=GA(S);do try{sF();break}catch(W){jA(S,W)}while(1);if(sa(),pr=T,yp.current=q,Gi===Om)throw T=Mm,Qu(S,D),KA(S,D),uo(S),T;if(Fr!==null)throw Error(n(261));S.finishedWork=S.current.alternate,S.finishedExpirationTime=D,Ai=null,ku(S),uo(S)}}return null}function Rv(S,D){Wm(S,D),uo(S),(pr&(rs|Ms))===gn&&qi()}function iF(){if(HA!==null){var S=HA;HA=null,S.forEach(function(D,T){Wm(T,D),uo(T)}),qi()}}function Tv(S,D){if((pr&(rs|Ms))!==gn)throw Error(n(187));var T=pr;pr|=1;try{return so(99,S.bind(null,D))}finally{pr=T,qi()}}function Qu(S,D){S.finishedWork=null,S.finishedExpirationTime=0;var T=S.timeoutHandle;if(T!==Oe&&(S.timeoutHandle=Oe,At(T)),Fr!==null)for(T=Fr.return;T!==null;){var q=T;switch(q.tag){case 1:var W=q.type.childContextTypes;W!=null&&Ma(q);break;case 3:Ic(q),$t(q);break;case 5:ng(q);break;case 4:Ic(q);break;case 13:Ue(Vn,q);break;case 19:Ue(Vn,q);break;case 10:Zi(q)}T=T.return}Ai=S,Fr=YA(S.current,null,D),ns=D,Gi=Pu,Mm=null,MA=Va=1073741823,Um=null,Cp=0,UA=!1}function jA(S,D){do{try{if(sa(),cI(),Fr===null||Fr.return===null)return Gi=Om,Mm=D,null;e:{var T=S,q=Fr.return,W=Fr,ce=D;if(D=ns,W.effectTag|=2048,W.firstEffect=W.lastEffect=null,ce!==null&&typeof ce=="object"&&typeof ce.then=="function"){var Se=ce,It=(Vn.current&1)!==0,Ct=q;do{var xt;if(xt=Ct.tag===13){var Nr=Ct.memoizedState;if(Nr!==null)xt=Nr.dehydrated!==null;else{var is=Ct.memoizedProps;xt=is.fallback===void 0?!1:is.unstable_avoidThisFallback!==!0?!0:!It}}if(xt){var fi=Ct.updateQueue;if(fi===null){var Ao=new Set;Ao.add(Se),Ct.updateQueue=Ao}else fi.add(Se);if((Ct.mode&2)===0){if(Ct.effectTag|=64,W.effectTag&=-2981,W.tag===1)if(W.alternate===null)W.tag=17;else{var VA=$i(1073741823,null);VA.tag=2,mi(W,VA)}W.expirationTime=1073741823;break e}ce=void 0,W=D;var Ho=T.pingCache;if(Ho===null?(Ho=T.pingCache=new yg,ce=new Set,Ho.set(Se,ce)):(ce=Ho.get(Se),ce===void 0&&(ce=new Set,Ho.set(Se,ce))),!ce.has(W)){ce.add(W);var rt=uF.bind(null,T,Se,W);Se.then(rt,rt)}Ct.effectTag|=4096,Ct.expirationTime=D;break e}Ct=Ct.return}while(Ct!==null);ce=Error((ge(W.type)||"A React component")+` suspended while rendering, but no fallback UI was specified. |
283 | 283 | ||
284 | Add a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.`+dl(W))}Gi!==Sc&&(Gi=Ci),ce=fg(ce,W),Et=q;do{switch(Et.tag){case 3:Se=ce,Et.effectTag|=4096,Et.expirationTime=D;var Ve=Bv(Et,Se,D);Ma(Et,Ve);break e;case 1:Se=ce;var ft=Et.type,jt=Et.stateNode;if((Et.effectTag&64)===0&&(typeof ft.getDerivedStateFromError=="function"||jt!==null&&typeof jt.componentDidCatch=="function"&&(xu===null||!xu.has(jt)))){Et.effectTag|=4096,Et.expirationTime=D;var Er=vv(Et,Se,D);Ma(Et,Er);break e}}Et=Et.return}while(Et!==null)}Fr=bv(Fr)}catch(In){D=In;continue}break}while(1)}function qA(){var S=mp.current;return mp.current=vu,S===null?vu:S}function hI(S,D){S<Ya&&2<S&&(Ya=S),D!==null&&S<LA&&2<S&&(LA=S,Tm=D)}function Mm(S){S>yp&&(yp=S)}function iF(){for(;Fr!==null;)Fr=xv(Fr)}function sF(){for(;Fr!==null&&!Rt();)Fr=xv(Fr)}function xv(S){var D=kv(S.alternate,S,ns);return S.memoizedProps=S.pendingProps,D===null&&(D=bv(S)),cI.current=null,D}function bv(S){Fr=S;do{var D=Fr.alternate;if(S=Fr.return,(Fr.effectTag&2048)===0){e:{var T=D;D=Fr;var q=ns,W=D.pendingProps;switch(D.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:Zn(D.type)&&La(D);break;case 3:yc(D),$t(D),W=D.stateNode,W.pendingContext&&(W.context=W.pendingContext,W.pendingContext=null),(T===null||T.child===null)&&ja(D)&&fa(D),Bl(D);break;case 5:eg(D);var ce=la(mc.current);if(q=D.type,T!==null&&D.stateNode!=null)ts(T,D,q,W,ce),T.ref!==D.ref&&(D.effectTag|=128);else if(W){if(T=la(lo.current),ja(D)){if(W=D,!y)throw Error(n(175));T=op(W.stateNode,W.type,W.memoizedProps,ce,T,W),W.updateQueue=T,T=T!==null,T&&fa(D)}else{var Se=ut(q,W,ce,T,D);vc(Se,D,!1,!1),D.stateNode=Se,yt(Se,q,W,ce,T)&&fa(D)}D.ref!==null&&(D.effectTag|=128)}else if(D.stateNode===null)throw Error(n(166));break;case 6:if(T&&D.stateNode!=null)Hr(T,D,T.memoizedProps,W);else{if(typeof W!="string"&&D.stateNode===null)throw Error(n(166));if(T=la(mc.current),ce=la(lo.current),ja(D)){if(T=D,!y)throw Error(n(176));(T=ap(T.stateNode,T.memoizedProps,T))&&fa(D)}else D.stateNode=Ue(W,T,ce,D)}break;case 11:break;case 13:if(_e(Kn,D),W=D.memoizedState,(D.effectTag&64)!==0){D.expirationTime=q;break e}W=W!==null,ce=!1,T===null?D.memoizedProps.fallback!==void 0&&ja(D):(q=T.memoizedState,ce=q!==null,W||q===null||(q=T.child.sibling,q!==null&&(Se=D.firstEffect,Se!==null?(D.firstEffect=q,q.nextEffect=Se):(D.firstEffect=D.lastEffect=q,q.nextEffect=null),q.effectTag=8))),W&&!ce&&(D.mode&2)!==0&&(T===null&&D.memoizedProps.unstable_avoidThisFallback!==!0||(Kn.current&1)!==0?Gi===Su&&(Gi=pa):((Gi===Su||Gi===pa)&&(Gi=vl),yp!==0&&Ai!==null&&(WA(Ai,ns),Rv(Ai,yp)))),P&&W&&(D.effectTag|=4),I&&(W||ce)&&(D.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:yc(D),Bl(D);break;case 10:Zi(D);break;case 9:break;case 14:break;case 17:Zn(D.type)&&La(D);break;case 19:if(_e(Kn,D),W=D.memoizedState,W===null)break;if(ce=(D.effectTag&64)!==0,Se=W.rendering,Se===null){if(ce)Dc(W,!1);else if(Gi!==Su||T!==null&&(T.effectTag&64)!==0)for(T=D.child;T!==null;){if(Se=cp(T),Se!==null){for(D.effectTag|=64,Dc(W,!1),T=Se.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),W.lastEffect===null&&(D.firstEffect=null),D.lastEffect=W.lastEffect,T=q,W=D.child;W!==null;)ce=W,q=T,ce.effectTag&=2,ce.nextEffect=null,ce.firstEffect=null,ce.lastEffect=null,Se=ce.alternate,Se===null?(ce.childExpirationTime=0,ce.expirationTime=q,ce.child=null,ce.memoizedProps=null,ce.memoizedState=null,ce.updateQueue=null,ce.dependencies=null):(ce.childExpirationTime=Se.childExpirationTime,ce.expirationTime=Se.expirationTime,ce.child=Se.child,ce.memoizedProps=Se.memoizedProps,ce.memoizedState=Se.memoizedState,ce.updateQueue=Se.updateQueue,q=Se.dependencies,ce.dependencies=q===null?null:{expirationTime:q.expirationTime,firstContext:q.firstContext,responders:q.responders}),W=W.sibling;Fn(Kn,Kn.current&1|2,D),D=D.child;break e}T=T.sibling}}else{if(!ce)if(T=cp(Se),T!==null){if(D.effectTag|=64,ce=!0,T=T.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),Dc(W,!0),W.tail===null&&W.tailMode==="hidden"&&!Se.alternate){D=D.lastEffect=W.lastEffect,D!==null&&(D.nextEffect=null);break}}else Hi()>W.tailExpiration&&1<q&&(D.effectTag|=64,ce=!0,Dc(W,!1),D.expirationTime=D.childExpirationTime=q-1);W.isBackwards?(Se.sibling=D.child,D.child=Se):(T=W.last,T!==null?T.sibling=Se:D.child=Se,W.last=Se)}if(W.tail!==null){W.tailExpiration===0&&(W.tailExpiration=Hi()+500),T=W.tail,W.rendering=T,W.tail=T.sibling,W.lastEffect=D.lastEffect,T.sibling=null,W=Kn.current,W=ce?W&1|2:W&1,Fn(Kn,W,D),D=T;break e}break;case 20:break;case 21:break;default:throw Error(n(156,D.tag))}D=null}if(T=Fr,ns===1||T.childExpirationTime!==1){for(W=0,ce=T.child;ce!==null;)q=ce.expirationTime,Se=ce.childExpirationTime,q>W&&(W=q),Se>W&&(W=Se),ce=ce.sibling;T.childExpirationTime=W}if(D!==null)return D;S!==null&&(S.effectTag&2048)===0&&(S.firstEffect===null&&(S.firstEffect=Fr.firstEffect),Fr.lastEffect!==null&&(S.lastEffect!==null&&(S.lastEffect.nextEffect=Fr.firstEffect),S.lastEffect=Fr.lastEffect),1<Fr.effectTag&&(S.lastEffect!==null?S.lastEffect.nextEffect=Fr:S.firstEffect=Fr,S.lastEffect=Fr))}else{if(D=aI(Fr,ns),D!==null)return D.effectTag&=2047,D;S!==null&&(S.firstEffect=S.lastEffect=null,S.effectTag|=2048)}if(D=Fr.sibling,D!==null)return D;Fr=S}while(Fr!==null);return Gi===Su&&(Gi=Sc),null}function gI(S){var D=S.expirationTime;return S=S.childExpirationTime,D>S?D:S}function Qu(S){var D=Lo();return so(99,oF.bind(null,S,D)),null}function oF(S,D){do Cp();while(dg!==null);if((pr&(rs|Ms))!==gn)throw Error(n(327));var T=S.finishedWork,q=S.finishedExpirationTime;if(T===null)return null;if(S.finishedWork=null,S.finishedExpirationTime=0,T===S.current)throw Error(n(177));S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90,S.nextKnownPendingLevel=0;var W=gI(T);if(S.firstPendingTime=W,q<=S.lastSuspendedTime?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:q<=S.firstSuspendedTime&&(S.firstSuspendedTime=q-1),q<=S.lastPingedTime&&(S.lastPingedTime=0),q<=S.lastExpiredTime&&(S.lastExpiredTime=0),S===Ai&&(Fr=Ai=null,ns=0),1<T.effectTag?T.lastEffect!==null?(T.lastEffect.nextEffect=T,W=T.firstEffect):W=T:W=T.firstEffect,W!==null){var ce=pr;pr|=Ms,cI.current=null,me(S.containerInfo),nr=W;do try{aF()}catch(fo){if(nr===null)throw Error(n(330));jA(nr,fo),nr=nr.nextEffect}while(nr!==null);nr=W;do try{for(var Se=S,It=D;nr!==null;){var Et=nr.effectTag;if(Et&16&&I&&Ut(nr.stateNode),Et&128){var xt=nr.alternate;if(xt!==null){var Nr=xt.ref;Nr!==null&&(typeof Nr=="function"?Nr(null):Nr.current=null)}}switch(Et&1038){case 2:ur(nr),nr.effectTag&=-3;break;case 6:ur(nr),nr.effectTag&=-3,hn(nr.alternate,nr);break;case 1024:nr.effectTag&=-1025;break;case 1028:nr.effectTag&=-1025,hn(nr.alternate,nr);break;case 4:hn(nr.alternate,nr);break;case 8:var is=Se,fi=nr,Ao=It;I?gr(is,fi,Ao):te(is,fi,Ao),ue(fi)}nr=nr.nextEffect}}catch(fo){if(nr===null)throw Error(n(330));jA(nr,fo),nr=nr.nextEffect}while(nr!==null);be(S.containerInfo),S.current=T,nr=W;do try{for(Et=q;nr!==null;){var YA=nr.effectTag;if(YA&36){var _o=nr.alternate;switch(xt=nr,Nr=Et,xt.tag){case 0:case 11:case 15:N(16,32,xt);break;case 1:var rt=xt.stateNode;if(xt.effectTag&4)if(_o===null)rt.componentDidMount();else{var Ve=xt.elementType===xt.type?_o.memoizedProps:di(xt.type,_o.memoizedProps);rt.componentDidUpdate(Ve,_o.memoizedState,rt.__reactInternalSnapshotBeforeUpdate)}var ft=xt.updateQueue;ft!==null&&qe(xt,ft,rt,Nr);break;case 3:var jt=xt.updateQueue;if(jt!==null){if(Se=null,xt.child!==null)switch(xt.child.tag){case 5:Se=de(xt.child.stateNode);break;case 1:Se=xt.child.stateNode}qe(xt,jt,Se,Nr)}break;case 5:var Er=xt.stateNode;_o===null&&xt.effectTag&4&&$(Er,xt.type,xt.memoizedProps,xt);break;case 6:break;case 4:break;case 12:break;case 13:if(y&&xt.memoizedState===null){var In=xt.alternate;if(In!==null){var Sr=In.memoizedState;if(Sr!==null){var wn=Sr.dehydrated;wn!==null&&no(wn)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(n(163))}}if(YA&128){xt=void 0;var ri=nr.ref;if(ri!==null){var Xr=nr.stateNode;switch(nr.tag){case 5:xt=de(Xr);break;default:xt=Xr}typeof ri=="function"?ri(xt):ri.current=xt}}nr=nr.nextEffect}}catch(fo){if(nr===null)throw Error(n(330));jA(nr,fo),nr=nr.nextEffect}while(nr!==null);nr=null,Dn(),pr=ce}else S.current=T;if(Ep)Ep=!1,dg=S,MA=D;else for(nr=W;nr!==null;)D=nr.nextEffect,nr.nextEffect=null,nr=D;if(D=S.firstPendingTime,D===0&&(xu=null),D===1073741823?S===fI?mg++:(mg=0,fI=S):mg=0,typeof dI=="function"&&dI(T.stateNode,q),uo(S),Pu)throw Pu=!1,S=Nm,Nm=null,S;return(pr&km)!==gn||qi(),null}function aF(){for(;nr!==null;){var S=nr.effectTag;(S&256)!==0&&kt(nr.alternate,nr),(S&512)===0||Ep||(Ep=!0,Cl(97,function(){return Cp(),null})),nr=nr.nextEffect}}function Cp(){if(MA!==90){var S=97<MA?97:MA;return MA=90,so(S,lF)}}function lF(){if(dg===null)return!1;var S=dg;if(dg=null,(pr&(rs|Ms))!==gn)throw Error(n(331));var D=pr;for(pr|=Ms,S=S.current.firstEffect;S!==null;){try{var T=S;if((T.effectTag&512)!==0)switch(T.tag){case 0:case 11:case 15:N(128,0,T),N(0,64,T)}}catch(q){if(S===null)throw Error(n(330));jA(S,q)}T=S.nextEffect,S.nextEffect=null,S=T}return pr=D,qi(),!0}function Qv(S,D,T){D=fg(T,D),D=Bv(S,D,1073741823),mi(S,D),S=yg(S,1073741823),S!==null&&uo(S)}function jA(S,D){if(S.tag===3)Qv(S,S,D);else for(var T=S.return;T!==null;){if(T.tag===3){Qv(T,S,D);break}else if(T.tag===1){var q=T.stateNode;if(typeof T.type.getDerivedStateFromError=="function"||typeof q.componentDidCatch=="function"&&(xu===null||!xu.has(q))){S=fg(D,S),S=vv(T,S,1073741823),mi(T,S),T=yg(T,1073741823),T!==null&&uo(T);break}}T=T.return}}function cF(S,D,T){var q=S.pingCache;q!==null&&q.delete(D),Ai===S&&ns===T?Gi===vl||Gi===pa&&Ya===1073741823&&Hi()-uI<AI?bu(S,ns):OA=!0:Fv(S,T)&&(D=S.lastPingedTime,D!==0&&D<T||(S.lastPingedTime=T,S.finishedExpirationTime===T&&(S.finishedExpirationTime=0,S.finishedWork=null),uo(S)))}function uF(S,D){var T=S.stateNode;T!==null&&T.delete(D),D=0,D===0&&(D=ha(),D=_A(D,S,null)),S=yg(S,D),S!==null&&uo(S)}var kv;kv=function(S,D,T){var q=D.expirationTime;if(S!==null){var W=D.pendingProps;if(S.memoizedProps!==W||Ui.current)Mo=!0;else{if(q<T){switch(Mo=!1,D.tag){case 3:Ag(D),ug();break;case 5:if(vm(D),D.mode&4&&T!==1&&Qe(D.type,W))return D.expirationTime=D.childExpirationTime=1,null;break;case 1:Zn(D.type)&&fc(D);break;case 4:$h(D,D.stateNode.containerInfo);break;case 10:Oo(D,D.memoizedProps.value);break;case 13:if(D.memoizedState!==null)return q=D.child.childExpirationTime,q!==0&&q>=T?rn(S,D,T):(Fn(Kn,Kn.current&1,D),D=ei(S,D,T),D!==null?D.sibling:null);Fn(Kn,Kn.current&1,D);break;case 19:if(q=D.childExpirationTime>=T,(S.effectTag&64)!==0){if(q)return Ga(S,D,T);D.effectTag|=64}if(W=D.memoizedState,W!==null&&(W.rendering=null,W.tail=null),Fn(Kn,Kn.current,D),!q)return null}return ei(S,D,T)}Mo=!1}}else Mo=!1;switch(D.expirationTime=0,D.tag){case 2:if(q=D.type,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,W=Ri(D,Rn.current),Ns(D,T),W=rg(null,D,q,S,W,T),D.effectTag|=1,typeof W=="object"&&W!==null&&typeof W.render=="function"&&W.$$typeof===void 0){if(D.tag=1,sI(),Zn(q)){var ce=!0;fc(D)}else ce=!1;D.memoizedState=W.state!==null&&W.state!==void 0?W.state:null;var Se=q.getDerivedStateFromProps;typeof Se=="function"&&vt(D,q,Se,S),W.updater=tr,D.stateNode=W,W._reactInternalFiber=D,$n(D,q,S,T),D=gp(null,D,q,!0,ce,T)}else D.tag=0,Es(null,D,W,T),D=D.child;return D;case 16:if(W=D.elementType,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,ve(W),W._status!==1)throw W._result;switch(W=W._result,D.type=W,ce=D.tag=pF(W),S=di(W,S),ce){case 0:D=TA(null,D,W,S,T);break;case 1:D=hp(null,D,W,S,T);break;case 11:D=Ei(null,D,W,S,T);break;case 14:D=xm(null,D,W,di(W.type,S),q,T);break;default:throw Error(n(306,W,""))}return D;case 0:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),TA(S,D,q,W,T);case 1:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),hp(S,D,q,W,T);case 3:if(Ag(D),q=D.updateQueue,q===null)throw Error(n(282));if(W=D.memoizedState,W=W!==null?W.element:null,we(D,q,D.pendingProps,null,T),q=D.memoizedState.element,q===W)ug(),D=ei(S,D,T);else{if((W=D.stateNode.hydrate)&&(y?(Bc=hu(D.stateNode.containerInfo),ua=D,W=wl=!0):W=!1),W)for(T=aa(D,null,q,T),D.child=T;T;)T.effectTag=T.effectTag&-3|1024,T=T.sibling;else Es(S,D,q,T),ug();D=D.child}return D;case 5:return vm(D),S===null&&RA(D),q=D.type,W=D.pendingProps,ce=S!==null?S.memoizedProps:null,Se=W.children,Te(q,W)?Se=null:ce!==null&&Te(q,ce)&&(D.effectTag|=16),Uo(S,D),D.mode&4&&T!==1&&Qe(q,W)?(D.expirationTime=D.childExpirationTime=1,D=null):(Es(S,D,Se,T),D=D.child),D;case 6:return S===null&&RA(D),null;case 13:return rn(S,D,T);case 4:return $h(D,D.stateNode.containerInfo),q=D.pendingProps,S===null?D.child=yi(D,null,q,T):Es(S,D,q,T),D.child;case 11:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),Ei(S,D,q,W,T);case 7:return Es(S,D,D.pendingProps,T),D.child;case 8:return Es(S,D,D.pendingProps.children,T),D.child;case 12:return Es(S,D,D.pendingProps.children,T),D.child;case 10:e:{if(q=D.type._context,W=D.pendingProps,Se=D.memoizedProps,ce=W.value,Oo(D,ce),Se!==null){var It=Se.value;if(ce=ds(It,ce)?0:(typeof q._calculateChangedBits=="function"?q._calculateChangedBits(It,ce):1073741823)|0,ce===0){if(Se.children===W.children&&!Ui.current){D=ei(S,D,T);break e}}else for(It=D.child,It!==null&&(It.return=D);It!==null;){var Et=It.dependencies;if(Et!==null){Se=It.child;for(var xt=Et.firstContext;xt!==null;){if(xt.context===q&&(xt.observedBits&ce)!==0){It.tag===1&&(xt=$i(T,null),xt.tag=2,mi(It,xt)),It.expirationTime<T&&(It.expirationTime=T),xt=It.alternate,xt!==null&&xt.expirationTime<T&&(xt.expirationTime=T),Ts(It.return,T),Et.expirationTime<T&&(Et.expirationTime=T);break}xt=xt.next}}else Se=It.tag===10&&It.type===D.type?null:It.child;if(Se!==null)Se.return=It;else for(Se=It;Se!==null;){if(Se===D){Se=null;break}if(It=Se.sibling,It!==null){It.return=Se.return,Se=It;break}Se=Se.return}It=Se}}Es(S,D,W.children,T),D=D.child}return D;case 9:return W=D.type,ce=D.pendingProps,q=ce.children,Ns(D,T),W=Ls(W,ce.unstable_observedBits),q=q(W),D.effectTag|=1,Es(S,D,q,T),D.child;case 14:return W=D.type,ce=di(W,D.pendingProps),ce=di(W.type,ce),xm(S,D,W,ce,q,T);case 15:return bm(S,D,D.type,D.pendingProps,q,T);case 17:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),D.tag=1,Zn(q)?(S=!0,fc(D)):S=!1,Ns(D,T),Tn(D,q,W,T),$n(D,q,W,T),gp(null,D,q,!0,S,T);case 19:return Ga(S,D,T)}throw Error(n(156,D.tag))};var dI=null,mI=null;function AF(S){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")return!1;var D=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(D.isDisabled||!D.supportsFiber)return!0;try{var T=D.inject(S);dI=function(q){try{D.onCommitFiberRoot(T,q,void 0,(q.current.effectTag&64)===64)}catch{}},mI=function(q){try{D.onCommitFiberUnmount(T,q)}catch{}}}catch{}return!0}function fF(S,D,T,q){this.tag=S,this.key=T,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=D,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=q,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Dl(S,D,T,q){return new fF(S,D,T,q)}function yI(S){return S=S.prototype,!(!S||!S.isReactComponent)}function pF(S){if(typeof S=="function")return yI(S)?1:0;if(S!=null){if(S=S.$$typeof,S===L)return 11;if(S===re)return 14}return 2}function GA(S,D){var T=S.alternate;return T===null?(T=Dl(S.tag,D,S.key,S.mode),T.elementType=S.elementType,T.type=S.type,T.stateNode=S.stateNode,T.alternate=S,S.alternate=T):(T.pendingProps=D,T.effectTag=0,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null),T.childExpirationTime=S.childExpirationTime,T.expirationTime=S.expirationTime,T.child=S.child,T.memoizedProps=S.memoizedProps,T.memoizedState=S.memoizedState,T.updateQueue=S.updateQueue,D=S.dependencies,T.dependencies=D===null?null:{expirationTime:D.expirationTime,firstContext:D.firstContext,responders:D.responders},T.sibling=S.sibling,T.index=S.index,T.ref=S.ref,T}function Um(S,D,T,q,W,ce){var Se=2;if(q=S,typeof S=="function")yI(S)&&(Se=1);else if(typeof S=="string")Se=5;else e:switch(S){case C:return ku(T.children,W,ce,D);case R:Se=8,W|=7;break;case w:Se=8,W|=1;break;case v:return S=Dl(12,T,D,W|8),S.elementType=v,S.type=v,S.expirationTime=ce,S;case _:return S=Dl(13,T,D,W),S.type=_,S.elementType=_,S.expirationTime=ce,S;case J:return S=Dl(19,T,D,W),S.elementType=J,S.expirationTime=ce,S;default:if(typeof S=="object"&&S!==null)switch(S.$$typeof){case b:Se=10;break e;case E:Se=9;break e;case L:Se=11;break e;case re:Se=14;break e;case oe:Se=16,q=null;break e}throw Error(n(130,S==null?S:typeof S,""))}return D=Dl(Se,T,D,W),D.elementType=S,D.type=q,D.expirationTime=ce,D}function ku(S,D,T,q){return S=Dl(7,S,q,D),S.expirationTime=T,S}function EI(S,D,T){return S=Dl(6,S,null,D),S.expirationTime=T,S}function CI(S,D,T){return D=Dl(4,S.children!==null?S.children:[],S.key,D),D.expirationTime=T,D.stateNode={containerInfo:S.containerInfo,pendingChildren:null,implementation:S.implementation},D}function hF(S,D,T){this.tag=D,this.current=null,this.containerInfo=S,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=Le,this.pendingContext=this.context=null,this.hydrate=T,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function Fv(S,D){var T=S.firstSuspendedTime;return S=S.lastSuspendedTime,T!==0&&T>=D&&S<=D}function WA(S,D){var T=S.firstSuspendedTime,q=S.lastSuspendedTime;T<D&&(S.firstSuspendedTime=D),(q>D||T===0)&&(S.lastSuspendedTime=D),D<=S.lastPingedTime&&(S.lastPingedTime=0),D<=S.lastExpiredTime&&(S.lastExpiredTime=0)}function Rv(S,D){D>S.firstPendingTime&&(S.firstPendingTime=D);var T=S.firstSuspendedTime;T!==0&&(D>=T?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:D>=S.lastSuspendedTime&&(S.lastSuspendedTime=D+1),D>S.nextKnownPendingLevel&&(S.nextKnownPendingLevel=D))}function _m(S,D){var T=S.lastExpiredTime;(T===0||T>D)&&(S.lastExpiredTime=D)}function Tv(S){var D=S._reactInternalFiber;if(D===void 0)throw typeof S.render=="function"?Error(n(188)):Error(n(268,Object.keys(S)));return S=De(D),S===null?null:S.stateNode}function Nv(S,D){S=S.memoizedState,S!==null&&S.dehydrated!==null&&S.retryTime<D&&(S.retryTime=D)}function Hm(S,D){Nv(S,D),(S=S.alternate)&&Nv(S,D)}var Lv={createContainer:function(S,D,T){return S=new hF(S,D,T),D=Dl(3,null,null,D===2?7:D===1?3:0),S.current=D,D.stateNode=S},updateContainer:function(S,D,T,q){var W=D.current,ce=ha(),Se=xe.suspense;ce=_A(ce,W,Se);e:if(T){T=T._reactInternalFiber;t:{if(le(T)!==T||T.tag!==1)throw Error(n(170));var It=T;do{switch(It.tag){case 3:It=It.stateNode.context;break t;case 1:if(Zn(It.type)){It=It.stateNode.__reactInternalMemoizedMergedChildContext;break t}}It=It.return}while(It!==null);throw Error(n(171))}if(T.tag===1){var Et=T.type;if(Zn(Et)){T=gu(T,Et,It);break e}}T=It}else T=Fi;return D.context===null?D.context=T:D.pendingContext=T,D=$i(ce,Se),D.payload={element:S},q=q===void 0?null:q,q!==null&&(D.callback=q),mi(W,D),Pc(W,ce),ce},batchedEventUpdates:function(S,D){var T=pr;pr|=2;try{return S(D)}finally{pr=T,pr===gn&&qi()}},batchedUpdates:function(S,D){var T=pr;pr|=1;try{return S(D)}finally{pr=T,pr===gn&&qi()}},unbatchedUpdates:function(S,D){var T=pr;pr&=-2,pr|=km;try{return S(D)}finally{pr=T,pr===gn&&qi()}},deferredUpdates:function(S){return so(97,S)},syncUpdates:function(S,D,T,q){return so(99,S.bind(null,D,T,q))},discreteUpdates:function(S,D,T,q){var W=pr;pr|=4;try{return so(98,S.bind(null,D,T,q))}finally{pr=W,pr===gn&&qi()}},flushDiscreteUpdates:function(){(pr&(1|rs|Ms))===gn&&(nF(),Cp())},flushControlled:function(S){var D=pr;pr|=1;try{so(99,S)}finally{pr=D,pr===gn&&qi()}},flushSync:Pv,flushPassiveEffects:Cp,IsThisRendererActing:{current:!1},getPublicRootInstance:function(S){if(S=S.current,!S.child)return null;switch(S.child.tag){case 5:return de(S.child.stateNode);default:return S.child.stateNode}},attemptSynchronousHydration:function(S){switch(S.tag){case 3:var D=S.stateNode;D.hydrate&&Sv(D,D.firstPendingTime);break;case 13:Pv(function(){return Pc(S,1073741823)}),D=Oa(ha(),150,100),Hm(S,D)}},attemptUserBlockingHydration:function(S){if(S.tag===13){var D=Oa(ha(),150,100);Pc(S,D),Hm(S,D)}},attemptContinuousHydration:function(S){if(S.tag===13){ha();var D=bA++;Pc(S,D),Hm(S,D)}},attemptHydrationAtCurrentPriority:function(S){if(S.tag===13){var D=ha();D=_A(D,S,null),Pc(S,D),Hm(S,D)}},findHostInstance:Tv,findHostInstanceWithWarning:function(S){return Tv(S)},findHostInstanceWithNoPortals:function(S){return S=Ee(S),S===null?null:S.tag===20?S.stateNode.instance:S.stateNode},shouldSuspend:function(){return!1},injectIntoDevTools:function(S){var D=S.findFiberByHostInstance;return AF(r({},S,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:u.ReactCurrentDispatcher,findHostInstanceByFiber:function(T){return T=De(T),T===null?null:T.stateNode},findFiberByHostInstance:function(T){return D?D(T):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}};G2.exports=Lv.default||Lv;var gF=G2.exports;return G2.exports=t,gF}});var qEe=U((fYt,HEe)=>{"use strict";HEe.exports=_Ee()});var GEe=U((pYt,jEe)=>{"use strict";var Wmt={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};jEe.exports=Wmt});var JEe=U((hYt,KEe)=>{"use strict";var Ymt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},kQ=function(){function t(e,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,r,o){return r&&t(e.prototype,r),o&&t(e,o),e}}();function D6(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function S6(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var nu=GEe(),Kmt=function(){function t(e,r,o,a,n,u){S6(this,t),this.left=e,this.right=r,this.top=o,this.bottom=a,this.width=n,this.height=u}return kQ(t,[{key:"fromJS",value:function(r){r(this.left,this.right,this.top,this.bottom,this.width,this.height)}},{key:"toString",value:function(){return"<Layout#"+this.left+":"+this.right+";"+this.top+":"+this.bottom+";"+this.width+":"+this.height+">"}}]),t}(),WEe=function(){kQ(t,null,[{key:"fromJS",value:function(r){var o=r.width,a=r.height;return new t(o,a)}}]);function t(e,r){S6(this,t),this.width=e,this.height=r}return kQ(t,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return"<Size#"+this.width+"x"+this.height+">"}}]),t}(),YEe=function(){function t(e,r){S6(this,t),this.unit=e,this.value=r}return kQ(t,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case nu.UNIT_POINT:return String(this.value);case nu.UNIT_PERCENT:return this.value+"%";case nu.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),t}();KEe.exports=function(t,e){function r(u,A,p){var h=u[A];u[A]=function(){for(var C=arguments.length,w=Array(C),v=0;v<C;v++)w[v]=arguments[v];return p.call.apply(p,[this,h].concat(w))}}for(var o=["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding"],a=function(){var A,p=o[n],h=(A={},D6(A,nu.UNIT_POINT,e.Node.prototype[p]),D6(A,nu.UNIT_PERCENT,e.Node.prototype[p+"Percent"]),D6(A,nu.UNIT_AUTO,e.Node.prototype[p+"Auto"]),A);r(e.Node.prototype,p,function(C){for(var w=arguments.length,v=Array(w>1?w-1:0),b=1;b<w;b++)v[b-1]=arguments[b];var E=v.pop(),R=void 0,L=void 0;if(E==="auto")R=nu.UNIT_AUTO,L=void 0;else if(E instanceof YEe)R=E.unit,L=E.valueOf();else if(R=typeof E=="string"&&E.endsWith("%")?nu.UNIT_PERCENT:nu.UNIT_POINT,L=parseFloat(E),!Number.isNaN(E)&&Number.isNaN(L))throw new Error("Invalid value "+E+" for "+p);if(!h[R])throw new Error('Failed to execute "'+p+`": Unsupported unit '`+E+"'");if(L!==void 0){var _;return(_=h[R]).call.apply(_,[this].concat(v,[L]))}else{var J;return(J=h[R]).call.apply(J,[this].concat(v))}})},n=0;n<o.length;n++)a();return r(e.Config.prototype,"free",function(){e.Config.destroy(this)}),r(e.Node,"create",function(u,A){return A?e.Node.createWithConfig(A):e.Node.createDefault()}),r(e.Node.prototype,"free",function(){e.Node.destroy(this)}),r(e.Node.prototype,"freeRecursive",function(){for(var u=0,A=this.getChildCount();u<A;++u)this.getChild(0).freeRecursive();this.free()}),r(e.Node.prototype,"setMeasureFunc",function(u,A){return A?u.call(this,function(){return WEe.fromJS(A.apply(void 0,arguments))}):this.unsetMeasureFunc()}),r(e.Node.prototype,"calculateLayout",function(u){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:nu.DIRECTION_LTR;return u.call(this,A,p,h)}),Ymt({Config:e.Config,Node:e.Node,Layout:t("Layout",Kmt),Size:t("Size",WEe),Value:t("Value",YEe),getInstanceCount:function(){return e.getInstanceCount.apply(e,arguments)}},nu)}});var VEe=U((exports,module)=>{(function(t,e){typeof define=="function"&&define.amd?define([],function(){return e}):typeof module=="object"&&module.exports?module.exports=e:(t.nbind=t.nbind||{}).init=e})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(t,e){return function(){t&&t.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){e(r);return}e(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof Ie=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),e=nodePath.normalize(e);var o=nodeFS.readFileSync(e);return r?o:o.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(t,e){quit(t)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,o){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):o()},a.onerror=o,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(t){dump(t)}:function(t){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(t){document.title=t})}else throw"Unknown runtime environment. Where are we?";function globalEval(t){eval.call(null,t)}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(t,e){throw e}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(t){return tempRet0=t,t},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(t){STACKTOP=t},getNativeTypeSize:function(t){switch(t){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(t[t.length-1]==="*")return Runtime.QUANTUM_SIZE;if(t[0]==="i"){var e=parseInt(t.substr(1));return assert(e%8===0),e/8}else return 0}}},getNativeFieldSize:function(t){return Math.max(Runtime.getNativeTypeSize(t),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(t,e){return e==="double"||e==="i64"?t&7&&(assert((t&7)===4),t+=4):assert((t&3)===0),t},getAlignSize:function(t,e,r){return!r&&(t=="i64"||t=="double")?8:t?Math.min(e||(t?Runtime.getNativeFieldSize(t):0),Runtime.QUANTUM_SIZE):Math.min(e,8)},dynCall:function(t,e,r){return r&&r.length?Module["dynCall_"+t].apply(null,[e].concat(r)):Module["dynCall_"+t].call(null,e)},functionPointers:[],addFunction:function(t){for(var e=0;e<Runtime.functionPointers.length;e++)if(!Runtime.functionPointers[e])return Runtime.functionPointers[e]=t,2*(1+e);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(t){Runtime.functionPointers[(t-2)/2]=null},warnOnce:function(t){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[t]||(Runtime.warnOnce.shown[t]=1,Module.printErr(t))},funcWrappers:{},getFuncWrapper:function(t,e){if(!!t){assert(e),Runtime.funcWrappers[e]||(Runtime.funcWrappers[e]={});var r=Runtime.funcWrappers[e];return r[t]||(e.length===1?r[t]=function(){return Runtime.dynCall(e,t)}:e.length===2?r[t]=function(a){return Runtime.dynCall(e,t,[a])}:r[t]=function(){return Runtime.dynCall(e,t,Array.prototype.slice.call(arguments))}),r[t]}},getCompilerSetting:function(t){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(t){var e=STACKTOP;return STACKTOP=STACKTOP+t|0,STACKTOP=STACKTOP+15&-16,e},staticAlloc:function(t){var e=STATICTOP;return STATICTOP=STATICTOP+t|0,STATICTOP=STATICTOP+15&-16,e},dynamicAlloc:function(t){var e=HEAP32[DYNAMICTOP_PTR>>2],r=(e+t+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var o=enlargeMemory();if(!o)return HEAP32[DYNAMICTOP_PTR>>2]=e,0}return e},alignMemory:function(t,e){var r=t=Math.ceil(t/(e||16))*(e||16);return r},makeBigInt:function(t,e,r){var o=r?+(t>>>0)+ +(e>>>0)*4294967296:+(t>>>0)+ +(e|0)*4294967296;return o},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(t,e){t||abort("Assertion failed: "+e)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(t){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(t){var e=Runtime.stackAlloc(t.length);return writeArrayToMemory(t,e),e},stringToC:function(t){var e=0;if(t!=null&&t!==0){var r=(t.length<<2)+1;e=Runtime.stackAlloc(r),stringToUTF8(t,e,r)}return e}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,o,a,n){var u=getCFunc(e),A=[],p=0;if(a)for(var h=0;h<a.length;h++){var C=toC[o[h]];C?(p===0&&(p=Runtime.stackSave()),A[h]=C(a[h])):A[h]=a[h]}var w=u.apply(null,A);if(r==="string"&&(w=Pointer_stringify(w)),p!==0){if(n&&n.async){EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(p)});return}Runtime.stackRestore(p)}return w};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(t){var e=t.toString().match(sourceRegex).slice(1);return{arguments:e[0],body:e[1],returnValue:e[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var t in JSfuncs)JSfuncs.hasOwnProperty(t)&&(JSsource[t]=parseJSFunc(JSfuncs[t]))}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(t){return t==="number"}),numericRet=returnType!=="string";if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(t,e){return"$"+e}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type!=="number"){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}})(),Module.ccall=ccall,Module.cwrap=cwrap;function setValue(t,e,r,o){switch(r=r||"i8",r.charAt(r.length-1)==="*"&&(r="i32"),r){case"i1":HEAP8[t>>0]=e;break;case"i8":HEAP8[t>>0]=e;break;case"i16":HEAP16[t>>1]=e;break;case"i32":HEAP32[t>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t>>2]=tempI64[0],HEAP32[t+4>>2]=tempI64[1];break;case"float":HEAPF32[t>>2]=e;break;case"double":HEAPF64[t>>3]=e;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return HEAP8[t>>0];case"i8":return HEAP8[t>>0];case"i16":return HEAP16[t>>1];case"i32":return HEAP32[t>>2];case"i64":return HEAP32[t>>2];case"float":return HEAPF32[t>>2];case"double":return HEAPF64[t>>3];default:abort("invalid type for setValue: "+e)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(t,e,r,o){var a,n;typeof t=="number"?(a=!0,n=t):(a=!1,n=t.length);var u=typeof e=="string"?e:null,A;if(r==ALLOC_NONE?A=o:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,u?1:e.length)),a){var o=A,p;for(assert((A&3)==0),p=A+(n&-4);o<p;o+=4)HEAP32[o>>2]=0;for(p=A+n;o<p;)HEAP8[o++>>0]=0;return A}if(u==="i8")return t.subarray||t.slice?HEAPU8.set(t,A):HEAPU8.set(new Uint8Array(t),A),A;for(var h=0,C,w,v;h<n;){var b=t[h];if(typeof b=="function"&&(b=Runtime.getFunctionIndex(b)),C=u||e[h],C===0){h++;continue}C=="i64"&&(C="i32"),setValue(A+h,b,C),v!==C&&(w=Runtime.getNativeTypeSize(C),v=C),h+=w}return A}Module.allocate=allocate;function getMemory(t){return staticSealed?runtimeInitialized?_malloc(t):Runtime.dynamicAlloc(t):Runtime.staticAlloc(t)}Module.getMemory=getMemory;function Pointer_stringify(t,e){if(e===0||!t)return"";for(var r=0,o,a=0;o=HEAPU8[t+a>>0],r|=o,!(o==0&&!e||(a++,e&&a==e)););e||(e=a);var n="";if(r<128){for(var u=1024,A;e>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(t,t+Math.min(e,u))),n=n?n+A:A,t+=u,e-=u;return n}return Module.UTF8ToString(t)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(t){for(var e="";;){var r=HEAP8[t++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(t,e){return writeAsciiToMemory(t,e,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(t,e){for(var r=e;t[r];)++r;if(r-e>16&&t.subarray&&UTF8Decoder)return UTF8Decoder.decode(t.subarray(e,r));for(var o,a,n,u,A,p,h="";;){if(o=t[e++],!o)return h;if(!(o&128)){h+=String.fromCharCode(o);continue}if(a=t[e++]&63,(o&224)==192){h+=String.fromCharCode((o&31)<<6|a);continue}if(n=t[e++]&63,(o&240)==224?o=(o&15)<<12|a<<6|n:(u=t[e++]&63,(o&248)==240?o=(o&7)<<18|a<<12|n<<6|u:(A=t[e++]&63,(o&252)==248?o=(o&3)<<24|a<<18|n<<12|u<<6|A:(p=t[e++]&63,o=(o&1)<<30|a<<24|n<<18|u<<12|A<<6|p))),o<65536)h+=String.fromCharCode(o);else{var C=o-65536;h+=String.fromCharCode(55296|C>>10,56320|C&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(t){return UTF8ArrayToString(HEAPU8,t)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(t,e,r,o){if(!(o>0))return 0;for(var a=r,n=r+o-1,u=0;u<t.length;++u){var A=t.charCodeAt(u);if(A>=55296&&A<=57343&&(A=65536+((A&1023)<<10)|t.charCodeAt(++u)&1023),A<=127){if(r>=n)break;e[r++]=A}else if(A<=2047){if(r+1>=n)break;e[r++]=192|A>>6,e[r++]=128|A&63}else if(A<=65535){if(r+2>=n)break;e[r++]=224|A>>12,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=2097151){if(r+3>=n)break;e[r++]=240|A>>18,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=67108863){if(r+4>=n)break;e[r++]=248|A>>24,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else{if(r+5>=n)break;e[r++]=252|A>>30,e[r++]=128|A>>24&63,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}}return e[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(t,e,r){return stringToUTF8Array(t,HEAPU8,e,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(t){for(var e=0,r=0;r<t.length;++r){var o=t.charCodeAt(r);o>=55296&&o<=57343&&(o=65536+((o&1023)<<10)|t.charCodeAt(++r)&1023),o<=127?++e:o<=2047?e+=2:o<=65535?e+=3:o<=2097151?e+=4:o<=67108863?e+=5:e+=6}return e}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(t){var e=Module.___cxa_demangle||Module.__cxa_demangle;if(e){try{var r=t.substr(1),o=lengthBytesUTF8(r)+1,a=_malloc(o);stringToUTF8(r,a,o);var n=_malloc(4),u=e(a,0,0,n);if(getValue(n,"i32")===0&&u)return Pointer_stringify(u)}catch{}finally{a&&_free(a),n&&_free(n),u&&_free(u)}return t}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t}function demangleAll(t){var e=/__Z[\w\d_]+/g;return t.replace(e,function(r){var o=demangle(r);return r===o?r:r+" ["+o+"]"})}function jsStackTrace(){var t=new Error;if(!t.stack){try{throw new Error(0)}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function stackTrace(){var t=jsStackTrace();return Module.extraStackTrace&&(t+=` | 284 | Add a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.`+Cl(W))}Gi!==bc&&(Gi=Ei),ce=gg(ce,W),Ct=q;do{switch(Ct.tag){case 3:Se=ce,Ct.effectTag|=4096,Ct.expirationTime=D;var Je=Qv(Ct,Se,D);Ha(Ct,Je);break e;case 1:Se=ce;var ft=Ct.type,jt=Ct.stateNode;if((Ct.effectTag&64)===0&&(typeof ft.getDerivedStateFromError=="function"||jt!==null&&typeof jt.componentDidCatch=="function"&&(bu===null||!bu.has(jt)))){Ct.effectTag|=4096,Ct.expirationTime=D;var Cr=kv(Ct,Se,D);Ha(Ct,Cr);break e}}Ct=Ct.return}while(Ct!==null)}Fr=Lv(Fr)}catch(In){D=In;continue}break}while(1)}function GA(){var S=yp.current;return yp.current=Du,S===null?Du:S}function yI(S,D){S<Va&&2<S&&(Va=S),D!==null&&S<MA&&2<S&&(MA=S,Um=D)}function jm(S){S>Cp&&(Cp=S)}function sF(){for(;Fr!==null;)Fr=Nv(Fr)}function oF(){for(;Fr!==null&&!Rt();)Fr=Nv(Fr)}function Nv(S){var D=Mv(S.alternate,S,ns);return S.memoizedProps=S.pendingProps,D===null&&(D=Lv(S)),pI.current=null,D}function Lv(S){Fr=S;do{var D=Fr.alternate;if(S=Fr.return,(Fr.effectTag&2048)===0){e:{var T=D;D=Fr;var q=ns,W=D.pendingProps;switch(D.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:$n(D.type)&&Ma(D);break;case 3:Ic(D),$t(D),W=D.stateNode,W.pendingContext&&(W.context=W.pendingContext,W.pendingContext=null),(T===null||T.child===null)&&Wa(D)&&pa(D),Sl(D);break;case 5:ng(D);var ce=ca(Ec.current);if(q=D.type,T!==null&&D.stateNode!=null)ts(T,D,q,W,ce),T.ref!==D.ref&&(D.effectTag|=128);else if(W){if(T=ca(lo.current),Wa(D)){if(W=D,!y)throw Error(n(175));T=ap(W.stateNode,W.type,W.memoizedProps,ce,T,W),W.updateQueue=T,T=T!==null,T&&pa(D)}else{var Se=ut(q,W,ce,T,D);Pc(Se,D,!1,!1),D.stateNode=Se,yt(Se,q,W,ce,T)&&pa(D)}D.ref!==null&&(D.effectTag|=128)}else if(D.stateNode===null)throw Error(n(166));break;case 6:if(T&&D.stateNode!=null)Hr(T,D,T.memoizedProps,W);else{if(typeof W!="string"&&D.stateNode===null)throw Error(n(166));if(T=ca(Ec.current),ce=ca(lo.current),Wa(D)){if(T=D,!y)throw Error(n(176));(T=lp(T.stateNode,T.memoizedProps,T))&&pa(D)}else D.stateNode=_e(W,T,ce,D)}break;case 11:break;case 13:if(Ue(Vn,D),W=D.memoizedState,(D.effectTag&64)!==0){D.expirationTime=q;break e}W=W!==null,ce=!1,T===null?D.memoizedProps.fallback!==void 0&&Wa(D):(q=T.memoizedState,ce=q!==null,W||q===null||(q=T.child.sibling,q!==null&&(Se=D.firstEffect,Se!==null?(D.firstEffect=q,q.nextEffect=Se):(D.firstEffect=D.lastEffect=q,q.nextEffect=null),q.effectTag=8))),W&&!ce&&(D.mode&2)!==0&&(T===null&&D.memoizedProps.unstable_avoidThisFallback!==!0||(Vn.current&1)!==0?Gi===Pu&&(Gi=ha):((Gi===Pu||Gi===ha)&&(Gi=Pl),Cp!==0&&Ai!==null&&(KA(Ai,ns),_v(Ai,Cp)))),P&&W&&(D.effectTag|=4),I&&(W||ce)&&(D.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Ic(D),Sl(D);break;case 10:Zi(D);break;case 9:break;case 14:break;case 17:$n(D.type)&&Ma(D);break;case 19:if(Ue(Vn,D),W=D.memoizedState,W===null)break;if(ce=(D.effectTag&64)!==0,Se=W.rendering,Se===null){if(ce)xc(W,!1);else if(Gi!==Pu||T!==null&&(T.effectTag&64)!==0)for(T=D.child;T!==null;){if(Se=up(T),Se!==null){for(D.effectTag|=64,xc(W,!1),T=Se.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),W.lastEffect===null&&(D.firstEffect=null),D.lastEffect=W.lastEffect,T=q,W=D.child;W!==null;)ce=W,q=T,ce.effectTag&=2,ce.nextEffect=null,ce.firstEffect=null,ce.lastEffect=null,Se=ce.alternate,Se===null?(ce.childExpirationTime=0,ce.expirationTime=q,ce.child=null,ce.memoizedProps=null,ce.memoizedState=null,ce.updateQueue=null,ce.dependencies=null):(ce.childExpirationTime=Se.childExpirationTime,ce.expirationTime=Se.expirationTime,ce.child=Se.child,ce.memoizedProps=Se.memoizedProps,ce.memoizedState=Se.memoizedState,ce.updateQueue=Se.updateQueue,q=Se.dependencies,ce.dependencies=q===null?null:{expirationTime:q.expirationTime,firstContext:q.firstContext,responders:q.responders}),W=W.sibling;Fn(Vn,Vn.current&1|2,D),D=D.child;break e}T=T.sibling}}else{if(!ce)if(T=up(Se),T!==null){if(D.effectTag|=64,ce=!0,T=T.updateQueue,T!==null&&(D.updateQueue=T,D.effectTag|=4),xc(W,!0),W.tail===null&&W.tailMode==="hidden"&&!Se.alternate){D=D.lastEffect=W.lastEffect,D!==null&&(D.nextEffect=null);break}}else Hi()>W.tailExpiration&&1<q&&(D.effectTag|=64,ce=!0,xc(W,!1),D.expirationTime=D.childExpirationTime=q-1);W.isBackwards?(Se.sibling=D.child,D.child=Se):(T=W.last,T!==null?T.sibling=Se:D.child=Se,W.last=Se)}if(W.tail!==null){W.tailExpiration===0&&(W.tailExpiration=Hi()+500),T=W.tail,W.rendering=T,W.tail=T.sibling,W.lastEffect=D.lastEffect,T.sibling=null,W=Vn.current,W=ce?W&1|2:W&1,Fn(Vn,W,D),D=T;break e}break;case 20:break;case 21:break;default:throw Error(n(156,D.tag))}D=null}if(T=Fr,ns===1||T.childExpirationTime!==1){for(W=0,ce=T.child;ce!==null;)q=ce.expirationTime,Se=ce.childExpirationTime,q>W&&(W=q),Se>W&&(W=Se),ce=ce.sibling;T.childExpirationTime=W}if(D!==null)return D;S!==null&&(S.effectTag&2048)===0&&(S.firstEffect===null&&(S.firstEffect=Fr.firstEffect),Fr.lastEffect!==null&&(S.lastEffect!==null&&(S.lastEffect.nextEffect=Fr.firstEffect),S.lastEffect=Fr.lastEffect),1<Fr.effectTag&&(S.lastEffect!==null?S.lastEffect.nextEffect=Fr:S.firstEffect=Fr,S.lastEffect=Fr))}else{if(D=AI(Fr,ns),D!==null)return D.effectTag&=2047,D;S!==null&&(S.firstEffect=S.lastEffect=null,S.effectTag|=2048)}if(D=Fr.sibling,D!==null)return D;Fr=S}while(Fr!==null);return Gi===Pu&&(Gi=bc),null}function CI(S){var D=S.expirationTime;return S=S.childExpirationTime,D>S?D:S}function ku(S){var D=Oo();return so(99,aF.bind(null,S,D)),null}function aF(S,D){do Ip();while(Cg!==null);if((pr&(rs|Ms))!==gn)throw Error(n(327));var T=S.finishedWork,q=S.finishedExpirationTime;if(T===null)return null;if(S.finishedWork=null,S.finishedExpirationTime=0,T===S.current)throw Error(n(177));S.callbackNode=null,S.callbackExpirationTime=0,S.callbackPriority=90,S.nextKnownPendingLevel=0;var W=CI(T);if(S.firstPendingTime=W,q<=S.lastSuspendedTime?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:q<=S.firstSuspendedTime&&(S.firstSuspendedTime=q-1),q<=S.lastPingedTime&&(S.lastPingedTime=0),q<=S.lastExpiredTime&&(S.lastExpiredTime=0),S===Ai&&(Fr=Ai=null,ns=0),1<T.effectTag?T.lastEffect!==null?(T.lastEffect.nextEffect=T,W=T.firstEffect):W=T:W=T.firstEffect,W!==null){var ce=pr;pr|=Ms,pI.current=null,me(S.containerInfo),nr=W;do try{lF()}catch(fo){if(nr===null)throw Error(n(330));WA(nr,fo),nr=nr.nextEffect}while(nr!==null);nr=W;do try{for(var Se=S,It=D;nr!==null;){var Ct=nr.effectTag;if(Ct&16&&I&&Ut(nr.stateNode),Ct&128){var xt=nr.alternate;if(xt!==null){var Nr=xt.ref;Nr!==null&&(typeof Nr=="function"?Nr(null):Nr.current=null)}}switch(Ct&1038){case 2:ur(nr),nr.effectTag&=-3;break;case 6:ur(nr),nr.effectTag&=-3,hn(nr.alternate,nr);break;case 1024:nr.effectTag&=-1025;break;case 1028:nr.effectTag&=-1025,hn(nr.alternate,nr);break;case 4:hn(nr.alternate,nr);break;case 8:var is=Se,fi=nr,Ao=It;I?gr(is,fi,Ao):te(is,fi,Ao),Ae(fi)}nr=nr.nextEffect}}catch(fo){if(nr===null)throw Error(n(330));WA(nr,fo),nr=nr.nextEffect}while(nr!==null);be(S.containerInfo),S.current=T,nr=W;do try{for(Ct=q;nr!==null;){var VA=nr.effectTag;if(VA&36){var Ho=nr.alternate;switch(xt=nr,Nr=Ct,xt.tag){case 0:case 11:case 15:N(16,32,xt);break;case 1:var rt=xt.stateNode;if(xt.effectTag&4)if(Ho===null)rt.componentDidMount();else{var Je=xt.elementType===xt.type?Ho.memoizedProps:di(xt.type,Ho.memoizedProps);rt.componentDidUpdate(Je,Ho.memoizedState,rt.__reactInternalSnapshotBeforeUpdate)}var ft=xt.updateQueue;ft!==null&&je(xt,ft,rt,Nr);break;case 3:var jt=xt.updateQueue;if(jt!==null){if(Se=null,xt.child!==null)switch(xt.child.tag){case 5:Se=de(xt.child.stateNode);break;case 1:Se=xt.child.stateNode}je(xt,jt,Se,Nr)}break;case 5:var Cr=xt.stateNode;Ho===null&&xt.effectTag&4&&$(Cr,xt.type,xt.memoizedProps,xt);break;case 6:break;case 4:break;case 12:break;case 13:if(y&&xt.memoizedState===null){var In=xt.alternate;if(In!==null){var Sr=In.memoizedState;if(Sr!==null){var wn=Sr.dehydrated;wn!==null&&no(wn)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(n(163))}}if(VA&128){xt=void 0;var ni=nr.ref;if(ni!==null){var Xr=nr.stateNode;switch(nr.tag){case 5:xt=de(Xr);break;default:xt=Xr}typeof ni=="function"?ni(xt):ni.current=xt}}nr=nr.nextEffect}}catch(fo){if(nr===null)throw Error(n(330));WA(nr,fo),nr=nr.nextEffect}while(nr!==null);nr=null,Dn(),pr=ce}else S.current=T;if(Ep)Ep=!1,Cg=S,_A=D;else for(nr=W;nr!==null;)D=nr.nextEffect,nr.nextEffect=null,nr=D;if(D=S.firstPendingTime,D===0&&(bu=null),D===1073741823?S===dI?Eg++:(Eg=0,dI=S):Eg=0,typeof EI=="function"&&EI(T.stateNode,q),uo(S),xu)throw xu=!1,S=_m,_m=null,S;return(pr&Lm)!==gn||qi(),null}function lF(){for(;nr!==null;){var S=nr.effectTag;(S&256)!==0&&kt(nr.alternate,nr),(S&512)===0||Ep||(Ep=!0,Bl(97,function(){return Ip(),null})),nr=nr.nextEffect}}function Ip(){if(_A!==90){var S=97<_A?97:_A;return _A=90,so(S,cF)}}function cF(){if(Cg===null)return!1;var S=Cg;if(Cg=null,(pr&(rs|Ms))!==gn)throw Error(n(331));var D=pr;for(pr|=Ms,S=S.current.firstEffect;S!==null;){try{var T=S;if((T.effectTag&512)!==0)switch(T.tag){case 0:case 11:case 15:N(128,0,T),N(0,64,T)}}catch(q){if(S===null)throw Error(n(330));WA(S,q)}T=S.nextEffect,S.nextEffect=null,S=T}return pr=D,qi(),!0}function Ov(S,D,T){D=gg(T,D),D=Qv(S,D,1073741823),mi(S,D),S=Ig(S,1073741823),S!==null&&uo(S)}function WA(S,D){if(S.tag===3)Ov(S,S,D);else for(var T=S.return;T!==null;){if(T.tag===3){Ov(T,S,D);break}else if(T.tag===1){var q=T.stateNode;if(typeof T.type.getDerivedStateFromError=="function"||typeof q.componentDidCatch=="function"&&(bu===null||!bu.has(q))){S=gg(D,S),S=kv(T,S,1073741823),mi(T,S),T=Ig(T,1073741823),T!==null&&uo(T);break}}T=T.return}}function uF(S,D,T){var q=S.pingCache;q!==null&&q.delete(D),Ai===S&&ns===T?Gi===Pl||Gi===ha&&Va===1073741823&&Hi()-hI<gI?Qu(S,ns):UA=!0:Uv(S,T)&&(D=S.lastPingedTime,D!==0&&D<T||(S.lastPingedTime=T,S.finishedExpirationTime===T&&(S.finishedExpirationTime=0,S.finishedWork=null),uo(S)))}function AF(S,D){var T=S.stateNode;T!==null&&T.delete(D),D=0,D===0&&(D=ga(),D=qA(D,S,null)),S=Ig(S,D),S!==null&&uo(S)}var Mv;Mv=function(S,D,T){var q=D.expirationTime;if(S!==null){var W=D.pendingProps;if(S.memoizedProps!==W||Ui.current)Uo=!0;else{if(q<T){switch(Uo=!1,D.tag){case 3:hg(D),pg();break;case 5:if(bm(D),D.mode&4&&T!==1&&Qe(D.type,W))return D.expirationTime=D.childExpirationTime=1,null;break;case 1:$n(D.type)&&gc(D);break;case 4:rg(D,D.stateNode.containerInfo);break;case 10:Mo(D,D.memoizedProps.value);break;case 13:if(D.memoizedState!==null)return q=D.child.childExpirationTime,q!==0&&q>=T?rn(S,D,T):(Fn(Vn,Vn.current&1,D),D=ti(S,D,T),D!==null?D.sibling:null);Fn(Vn,Vn.current&1,D);break;case 19:if(q=D.childExpirationTime>=T,(S.effectTag&64)!==0){if(q)return Ya(S,D,T);D.effectTag|=64}if(W=D.memoizedState,W!==null&&(W.rendering=null,W.tail=null),Fn(Vn,Vn.current,D),!q)return null}return ti(S,D,T)}Uo=!1}}else Uo=!1;switch(D.expirationTime=0,D.tag){case 2:if(q=D.type,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,W=Ri(D,Rn.current),Ns(D,T),W=sg(null,D,q,S,W,T),D.effectTag|=1,typeof W=="object"&&W!==null&&typeof W.render=="function"&&W.$$typeof===void 0){if(D.tag=1,cI(),$n(q)){var ce=!0;gc(D)}else ce=!1;D.memoizedState=W.state!==null&&W.state!==void 0?W.state:null;var Se=q.getDerivedStateFromProps;typeof Se=="function"&&vt(D,q,Se,S),W.updater=tr,D.stateNode=W,W._reactInternalFiber=D,ei(D,q,S,T),D=dp(null,D,q,!0,ce,T)}else D.tag=0,Cs(null,D,W,T),D=D.child;return D;case 16:if(W=D.elementType,S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),S=D.pendingProps,ve(W),W._status!==1)throw W._result;switch(W=W._result,D.type=W,ce=D.tag=hF(W),S=di(W,S),ce){case 0:D=LA(null,D,W,S,T);break;case 1:D=gp(null,D,W,S,T);break;case 11:D=Ci(null,D,W,S,T);break;case 14:D=Rm(null,D,W,di(W.type,S),q,T);break;default:throw Error(n(306,W,""))}return D;case 0:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),LA(S,D,q,W,T);case 1:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),gp(S,D,q,W,T);case 3:if(hg(D),q=D.updateQueue,q===null)throw Error(n(282));if(W=D.memoizedState,W=W!==null?W.element:null,we(D,q,D.pendingProps,null,T),q=D.memoizedState.element,q===W)pg(),D=ti(S,D,T);else{if((W=D.stateNode.hydrate)&&(y?(Sc=gu(D.stateNode.containerInfo),Aa=D,W=Dl=!0):W=!1),W)for(T=la(D,null,q,T),D.child=T;T;)T.effectTag=T.effectTag&-3|1024,T=T.sibling;else Cs(S,D,q,T),pg();D=D.child}return D;case 5:return bm(D),S===null&&NA(D),q=D.type,W=D.pendingProps,ce=S!==null?S.memoizedProps:null,Se=W.children,Te(q,W)?Se=null:ce!==null&&Te(q,ce)&&(D.effectTag|=16),_o(S,D),D.mode&4&&T!==1&&Qe(q,W)?(D.expirationTime=D.childExpirationTime=1,D=null):(Cs(S,D,Se,T),D=D.child),D;case 6:return S===null&&NA(D),null;case 13:return rn(S,D,T);case 4:return rg(D,D.stateNode.containerInfo),q=D.pendingProps,S===null?D.child=yi(D,null,q,T):Cs(S,D,q,T),D.child;case 11:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),Ci(S,D,q,W,T);case 7:return Cs(S,D,D.pendingProps,T),D.child;case 8:return Cs(S,D,D.pendingProps.children,T),D.child;case 12:return Cs(S,D,D.pendingProps.children,T),D.child;case 10:e:{if(q=D.type._context,W=D.pendingProps,Se=D.memoizedProps,ce=W.value,Mo(D,ce),Se!==null){var It=Se.value;if(ce=ds(It,ce)?0:(typeof q._calculateChangedBits=="function"?q._calculateChangedBits(It,ce):1073741823)|0,ce===0){if(Se.children===W.children&&!Ui.current){D=ti(S,D,T);break e}}else for(It=D.child,It!==null&&(It.return=D);It!==null;){var Ct=It.dependencies;if(Ct!==null){Se=It.child;for(var xt=Ct.firstContext;xt!==null;){if(xt.context===q&&(xt.observedBits&ce)!==0){It.tag===1&&(xt=$i(T,null),xt.tag=2,mi(It,xt)),It.expirationTime<T&&(It.expirationTime=T),xt=It.alternate,xt!==null&&xt.expirationTime<T&&(xt.expirationTime=T),Ts(It.return,T),Ct.expirationTime<T&&(Ct.expirationTime=T);break}xt=xt.next}}else Se=It.tag===10&&It.type===D.type?null:It.child;if(Se!==null)Se.return=It;else for(Se=It;Se!==null;){if(Se===D){Se=null;break}if(It=Se.sibling,It!==null){It.return=Se.return,Se=It;break}Se=Se.return}It=Se}}Cs(S,D,W.children,T),D=D.child}return D;case 9:return W=D.type,ce=D.pendingProps,q=ce.children,Ns(D,T),W=Ls(W,ce.unstable_observedBits),q=q(W),D.effectTag|=1,Cs(S,D,q,T),D.child;case 14:return W=D.type,ce=di(W,D.pendingProps),ce=di(W.type,ce),Rm(S,D,W,ce,q,T);case 15:return Tm(S,D,D.type,D.pendingProps,q,T);case 17:return q=D.type,W=D.pendingProps,W=D.elementType===q?W:di(q,W),S!==null&&(S.alternate=null,D.alternate=null,D.effectTag|=2),D.tag=1,$n(q)?(S=!0,gc(D)):S=!1,Ns(D,T),Tn(D,q,W,T),ei(D,q,W,T),dp(null,D,q,!0,S,T);case 19:return Ya(S,D,T)}throw Error(n(156,D.tag))};var EI=null,II=null;function fF(S){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")return!1;var D=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(D.isDisabled||!D.supportsFiber)return!0;try{var T=D.inject(S);EI=function(q){try{D.onCommitFiberRoot(T,q,void 0,(q.current.effectTag&64)===64)}catch{}},II=function(q){try{D.onCommitFiberUnmount(T,q)}catch{}}}catch{}return!0}function pF(S,D,T,q){this.tag=S,this.key=T,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=D,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=q,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function xl(S,D,T,q){return new pF(S,D,T,q)}function wI(S){return S=S.prototype,!(!S||!S.isReactComponent)}function hF(S){if(typeof S=="function")return wI(S)?1:0;if(S!=null){if(S=S.$$typeof,S===L)return 11;if(S===re)return 14}return 2}function YA(S,D){var T=S.alternate;return T===null?(T=xl(S.tag,D,S.key,S.mode),T.elementType=S.elementType,T.type=S.type,T.stateNode=S.stateNode,T.alternate=S,S.alternate=T):(T.pendingProps=D,T.effectTag=0,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null),T.childExpirationTime=S.childExpirationTime,T.expirationTime=S.expirationTime,T.child=S.child,T.memoizedProps=S.memoizedProps,T.memoizedState=S.memoizedState,T.updateQueue=S.updateQueue,D=S.dependencies,T.dependencies=D===null?null:{expirationTime:D.expirationTime,firstContext:D.firstContext,responders:D.responders},T.sibling=S.sibling,T.index=S.index,T.ref=S.ref,T}function Gm(S,D,T,q,W,ce){var Se=2;if(q=S,typeof S=="function")wI(S)&&(Se=1);else if(typeof S=="string")Se=5;else e:switch(S){case E:return Fu(T.children,W,ce,D);case R:Se=8,W|=7;break;case w:Se=8,W|=1;break;case v:return S=xl(12,T,D,W|8),S.elementType=v,S.type=v,S.expirationTime=ce,S;case _:return S=xl(13,T,D,W),S.type=_,S.elementType=_,S.expirationTime=ce,S;case V:return S=xl(19,T,D,W),S.elementType=V,S.expirationTime=ce,S;default:if(typeof S=="object"&&S!==null)switch(S.$$typeof){case b:Se=10;break e;case C:Se=9;break e;case L:Se=11;break e;case re:Se=14;break e;case oe:Se=16,q=null;break e}throw Error(n(130,S==null?S:typeof S,""))}return D=xl(Se,T,D,W),D.elementType=S,D.type=q,D.expirationTime=ce,D}function Fu(S,D,T,q){return S=xl(7,S,q,D),S.expirationTime=T,S}function BI(S,D,T){return S=xl(6,S,null,D),S.expirationTime=T,S}function vI(S,D,T){return D=xl(4,S.children!==null?S.children:[],S.key,D),D.expirationTime=T,D.stateNode={containerInfo:S.containerInfo,pendingChildren:null,implementation:S.implementation},D}function gF(S,D,T){this.tag=D,this.current=null,this.containerInfo=S,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=Oe,this.pendingContext=this.context=null,this.hydrate=T,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function Uv(S,D){var T=S.firstSuspendedTime;return S=S.lastSuspendedTime,T!==0&&T>=D&&S<=D}function KA(S,D){var T=S.firstSuspendedTime,q=S.lastSuspendedTime;T<D&&(S.firstSuspendedTime=D),(q>D||T===0)&&(S.lastSuspendedTime=D),D<=S.lastPingedTime&&(S.lastPingedTime=0),D<=S.lastExpiredTime&&(S.lastExpiredTime=0)}function _v(S,D){D>S.firstPendingTime&&(S.firstPendingTime=D);var T=S.firstSuspendedTime;T!==0&&(D>=T?S.firstSuspendedTime=S.lastSuspendedTime=S.nextKnownPendingLevel=0:D>=S.lastSuspendedTime&&(S.lastSuspendedTime=D+1),D>S.nextKnownPendingLevel&&(S.nextKnownPendingLevel=D))}function Wm(S,D){var T=S.lastExpiredTime;(T===0||T>D)&&(S.lastExpiredTime=D)}function Hv(S){var D=S._reactInternalFiber;if(D===void 0)throw typeof S.render=="function"?Error(n(188)):Error(n(268,Object.keys(S)));return S=De(D),S===null?null:S.stateNode}function qv(S,D){S=S.memoizedState,S!==null&&S.dehydrated!==null&&S.retryTime<D&&(S.retryTime=D)}function Ym(S,D){qv(S,D),(S=S.alternate)&&qv(S,D)}var jv={createContainer:function(S,D,T){return S=new gF(S,D,T),D=xl(3,null,null,D===2?7:D===1?3:0),S.current=D,D.stateNode=S},updateContainer:function(S,D,T,q){var W=D.current,ce=ga(),Se=xe.suspense;ce=qA(ce,W,Se);e:if(T){T=T._reactInternalFiber;t:{if(le(T)!==T||T.tag!==1)throw Error(n(170));var It=T;do{switch(It.tag){case 3:It=It.stateNode.context;break t;case 1:if($n(It.type)){It=It.stateNode.__reactInternalMemoizedMergedChildContext;break t}}It=It.return}while(It!==null);throw Error(n(171))}if(T.tag===1){var Ct=T.type;if($n(Ct)){T=du(T,Ct,It);break e}}T=It}else T=Fi;return D.context===null?D.context=T:D.pendingContext=T,D=$i(ce,Se),D.payload={element:S},q=q===void 0?null:q,q!==null&&(D.callback=q),mi(W,D),Qc(W,ce),ce},batchedEventUpdates:function(S,D){var T=pr;pr|=2;try{return S(D)}finally{pr=T,pr===gn&&qi()}},batchedUpdates:function(S,D){var T=pr;pr|=1;try{return S(D)}finally{pr=T,pr===gn&&qi()}},unbatchedUpdates:function(S,D){var T=pr;pr&=-2,pr|=Lm;try{return S(D)}finally{pr=T,pr===gn&&qi()}},deferredUpdates:function(S){return so(97,S)},syncUpdates:function(S,D,T,q){return so(99,S.bind(null,D,T,q))},discreteUpdates:function(S,D,T,q){var W=pr;pr|=4;try{return so(98,S.bind(null,D,T,q))}finally{pr=W,pr===gn&&qi()}},flushDiscreteUpdates:function(){(pr&(1|rs|Ms))===gn&&(iF(),Ip())},flushControlled:function(S){var D=pr;pr|=1;try{so(99,S)}finally{pr=D,pr===gn&&qi()}},flushSync:Tv,flushPassiveEffects:Ip,IsThisRendererActing:{current:!1},getPublicRootInstance:function(S){if(S=S.current,!S.child)return null;switch(S.child.tag){case 5:return de(S.child.stateNode);default:return S.child.stateNode}},attemptSynchronousHydration:function(S){switch(S.tag){case 3:var D=S.stateNode;D.hydrate&&Rv(D,D.firstPendingTime);break;case 13:Tv(function(){return Qc(S,1073741823)}),D=Ua(ga(),150,100),Ym(S,D)}},attemptUserBlockingHydration:function(S){if(S.tag===13){var D=Ua(ga(),150,100);Qc(S,D),Ym(S,D)}},attemptContinuousHydration:function(S){if(S.tag===13){ga();var D=kA++;Qc(S,D),Ym(S,D)}},attemptHydrationAtCurrentPriority:function(S){if(S.tag===13){var D=ga();D=qA(D,S,null),Qc(S,D),Ym(S,D)}},findHostInstance:Hv,findHostInstanceWithWarning:function(S){return Hv(S)},findHostInstanceWithNoPortals:function(S){return S=Ce(S),S===null?null:S.tag===20?S.stateNode.instance:S.stateNode},shouldSuspend:function(){return!1},injectIntoDevTools:function(S){var D=S.findFiberByHostInstance;return fF(r({},S,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:u.ReactCurrentDispatcher,findHostInstanceByFiber:function(T){return T=De(T),T===null?null:T.stateNode},findFiberByHostInstance:function(T){return D?D(T):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}};V2.exports=jv.default||jv;var dF=V2.exports;return V2.exports=t,dF}});var VCe=U((CYt,KCe)=>{"use strict";KCe.exports=YCe()});var zCe=U((EYt,JCe)=>{"use strict";var ryt={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};JCe.exports=ryt});var eEe=U((IYt,$Ce)=>{"use strict";var nyt=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},MQ=function(){function t(e,r){for(var o=0;o<r.length;o++){var a=r[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(e,r,o){return r&&t(e.prototype,r),o&&t(e,o),e}}();function S6(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function P6(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var su=zCe(),iyt=function(){function t(e,r,o,a,n,u){P6(this,t),this.left=e,this.right=r,this.top=o,this.bottom=a,this.width=n,this.height=u}return MQ(t,[{key:"fromJS",value:function(r){r(this.left,this.right,this.top,this.bottom,this.width,this.height)}},{key:"toString",value:function(){return"<Layout#"+this.left+":"+this.right+";"+this.top+":"+this.bottom+";"+this.width+":"+this.height+">"}}]),t}(),XCe=function(){MQ(t,null,[{key:"fromJS",value:function(r){var o=r.width,a=r.height;return new t(o,a)}}]);function t(e,r){P6(this,t),this.width=e,this.height=r}return MQ(t,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return"<Size#"+this.width+"x"+this.height+">"}}]),t}(),ZCe=function(){function t(e,r){P6(this,t),this.unit=e,this.value=r}return MQ(t,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case su.UNIT_POINT:return String(this.value);case su.UNIT_PERCENT:return this.value+"%";case su.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),t}();$Ce.exports=function(t,e){function r(u,A,p){var h=u[A];u[A]=function(){for(var E=arguments.length,w=Array(E),v=0;v<E;v++)w[v]=arguments[v];return p.call.apply(p,[this,h].concat(w))}}for(var o=["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding"],a=function(){var A,p=o[n],h=(A={},S6(A,su.UNIT_POINT,e.Node.prototype[p]),S6(A,su.UNIT_PERCENT,e.Node.prototype[p+"Percent"]),S6(A,su.UNIT_AUTO,e.Node.prototype[p+"Auto"]),A);r(e.Node.prototype,p,function(E){for(var w=arguments.length,v=Array(w>1?w-1:0),b=1;b<w;b++)v[b-1]=arguments[b];var C=v.pop(),R=void 0,L=void 0;if(C==="auto")R=su.UNIT_AUTO,L=void 0;else if(C instanceof ZCe)R=C.unit,L=C.valueOf();else if(R=typeof C=="string"&&C.endsWith("%")?su.UNIT_PERCENT:su.UNIT_POINT,L=parseFloat(C),!Number.isNaN(C)&&Number.isNaN(L))throw new Error("Invalid value "+C+" for "+p);if(!h[R])throw new Error('Failed to execute "'+p+`": Unsupported unit '`+C+"'");if(L!==void 0){var _;return(_=h[R]).call.apply(_,[this].concat(v,[L]))}else{var V;return(V=h[R]).call.apply(V,[this].concat(v))}})},n=0;n<o.length;n++)a();return r(e.Config.prototype,"free",function(){e.Config.destroy(this)}),r(e.Node,"create",function(u,A){return A?e.Node.createWithConfig(A):e.Node.createDefault()}),r(e.Node.prototype,"free",function(){e.Node.destroy(this)}),r(e.Node.prototype,"freeRecursive",function(){for(var u=0,A=this.getChildCount();u<A;++u)this.getChild(0).freeRecursive();this.free()}),r(e.Node.prototype,"setMeasureFunc",function(u,A){return A?u.call(this,function(){return XCe.fromJS(A.apply(void 0,arguments))}):this.unsetMeasureFunc()}),r(e.Node.prototype,"calculateLayout",function(u){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:su.DIRECTION_LTR;return u.call(this,A,p,h)}),nyt({Config:e.Config,Node:e.Node,Layout:t("Layout",iyt),Size:t("Size",XCe),Value:t("Value",ZCe),getInstanceCount:function(){return e.getInstanceCount.apply(e,arguments)}},su)}});var tEe=U((exports,module)=>{(function(t,e){typeof define=="function"&&define.amd?define([],function(){return e}):typeof module=="object"&&module.exports?module.exports=e:(t.nbind=t.nbind||{}).init=e})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(t,e){return function(){t&&t.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){e(r);return}e(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof Ie=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),e=nodePath.normalize(e);var o=nodeFS.readFileSync(e);return r?o:o.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(t,e){quit(t)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,o){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):o()},a.onerror=o,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(t){dump(t)}:function(t){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(t){document.title=t})}else throw"Unknown runtime environment. Where are we?";function globalEval(t){eval.call(null,t)}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(t,e){throw e}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(t){return tempRet0=t,t},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(t){STACKTOP=t},getNativeTypeSize:function(t){switch(t){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(t[t.length-1]==="*")return Runtime.QUANTUM_SIZE;if(t[0]==="i"){var e=parseInt(t.substr(1));return assert(e%8===0),e/8}else return 0}}},getNativeFieldSize:function(t){return Math.max(Runtime.getNativeTypeSize(t),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(t,e){return e==="double"||e==="i64"?t&7&&(assert((t&7)===4),t+=4):assert((t&3)===0),t},getAlignSize:function(t,e,r){return!r&&(t=="i64"||t=="double")?8:t?Math.min(e||(t?Runtime.getNativeFieldSize(t):0),Runtime.QUANTUM_SIZE):Math.min(e,8)},dynCall:function(t,e,r){return r&&r.length?Module["dynCall_"+t].apply(null,[e].concat(r)):Module["dynCall_"+t].call(null,e)},functionPointers:[],addFunction:function(t){for(var e=0;e<Runtime.functionPointers.length;e++)if(!Runtime.functionPointers[e])return Runtime.functionPointers[e]=t,2*(1+e);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(t){Runtime.functionPointers[(t-2)/2]=null},warnOnce:function(t){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[t]||(Runtime.warnOnce.shown[t]=1,Module.printErr(t))},funcWrappers:{},getFuncWrapper:function(t,e){if(!!t){assert(e),Runtime.funcWrappers[e]||(Runtime.funcWrappers[e]={});var r=Runtime.funcWrappers[e];return r[t]||(e.length===1?r[t]=function(){return Runtime.dynCall(e,t)}:e.length===2?r[t]=function(a){return Runtime.dynCall(e,t,[a])}:r[t]=function(){return Runtime.dynCall(e,t,Array.prototype.slice.call(arguments))}),r[t]}},getCompilerSetting:function(t){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(t){var e=STACKTOP;return STACKTOP=STACKTOP+t|0,STACKTOP=STACKTOP+15&-16,e},staticAlloc:function(t){var e=STATICTOP;return STATICTOP=STATICTOP+t|0,STATICTOP=STATICTOP+15&-16,e},dynamicAlloc:function(t){var e=HEAP32[DYNAMICTOP_PTR>>2],r=(e+t+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var o=enlargeMemory();if(!o)return HEAP32[DYNAMICTOP_PTR>>2]=e,0}return e},alignMemory:function(t,e){var r=t=Math.ceil(t/(e||16))*(e||16);return r},makeBigInt:function(t,e,r){var o=r?+(t>>>0)+ +(e>>>0)*4294967296:+(t>>>0)+ +(e|0)*4294967296;return o},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(t,e){t||abort("Assertion failed: "+e)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(t){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(t){var e=Runtime.stackAlloc(t.length);return writeArrayToMemory(t,e),e},stringToC:function(t){var e=0;if(t!=null&&t!==0){var r=(t.length<<2)+1;e=Runtime.stackAlloc(r),stringToUTF8(t,e,r)}return e}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,o,a,n){var u=getCFunc(e),A=[],p=0;if(a)for(var h=0;h<a.length;h++){var E=toC[o[h]];E?(p===0&&(p=Runtime.stackSave()),A[h]=E(a[h])):A[h]=a[h]}var w=u.apply(null,A);if(r==="string"&&(w=Pointer_stringify(w)),p!==0){if(n&&n.async){EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(p)});return}Runtime.stackRestore(p)}return w};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(t){var e=t.toString().match(sourceRegex).slice(1);return{arguments:e[0],body:e[1],returnValue:e[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var t in JSfuncs)JSfuncs.hasOwnProperty(t)&&(JSsource[t]=parseJSFunc(JSfuncs[t]))}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(t){return t==="number"}),numericRet=returnType!=="string";if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(t,e){return"$"+e}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type!=="number"){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"=("+convertCode.returnValue+");"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){var strgfy=parseJSFunc(function(){return Pointer_stringify}).returnValue;funcstr+="ret = "+strgfy+"(ret);"}return numericArgs||(ensureJSsource(),funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}})(),Module.ccall=ccall,Module.cwrap=cwrap;function setValue(t,e,r,o){switch(r=r||"i8",r.charAt(r.length-1)==="*"&&(r="i32"),r){case"i1":HEAP8[t>>0]=e;break;case"i8":HEAP8[t>>0]=e;break;case"i16":HEAP16[t>>1]=e;break;case"i32":HEAP32[t>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t>>2]=tempI64[0],HEAP32[t+4>>2]=tempI64[1];break;case"float":HEAPF32[t>>2]=e;break;case"double":HEAPF64[t>>3]=e;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return HEAP8[t>>0];case"i8":return HEAP8[t>>0];case"i16":return HEAP16[t>>1];case"i32":return HEAP32[t>>2];case"i64":return HEAP32[t>>2];case"float":return HEAPF32[t>>2];case"double":return HEAPF64[t>>3];default:abort("invalid type for setValue: "+e)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(t,e,r,o){var a,n;typeof t=="number"?(a=!0,n=t):(a=!1,n=t.length);var u=typeof e=="string"?e:null,A;if(r==ALLOC_NONE?A=o:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,u?1:e.length)),a){var o=A,p;for(assert((A&3)==0),p=A+(n&-4);o<p;o+=4)HEAP32[o>>2]=0;for(p=A+n;o<p;)HEAP8[o++>>0]=0;return A}if(u==="i8")return t.subarray||t.slice?HEAPU8.set(t,A):HEAPU8.set(new Uint8Array(t),A),A;for(var h=0,E,w,v;h<n;){var b=t[h];if(typeof b=="function"&&(b=Runtime.getFunctionIndex(b)),E=u||e[h],E===0){h++;continue}E=="i64"&&(E="i32"),setValue(A+h,b,E),v!==E&&(w=Runtime.getNativeTypeSize(E),v=E),h+=w}return A}Module.allocate=allocate;function getMemory(t){return staticSealed?runtimeInitialized?_malloc(t):Runtime.dynamicAlloc(t):Runtime.staticAlloc(t)}Module.getMemory=getMemory;function Pointer_stringify(t,e){if(e===0||!t)return"";for(var r=0,o,a=0;o=HEAPU8[t+a>>0],r|=o,!(o==0&&!e||(a++,e&&a==e)););e||(e=a);var n="";if(r<128){for(var u=1024,A;e>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(t,t+Math.min(e,u))),n=n?n+A:A,t+=u,e-=u;return n}return Module.UTF8ToString(t)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(t){for(var e="";;){var r=HEAP8[t++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(t,e){return writeAsciiToMemory(t,e,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(t,e){for(var r=e;t[r];)++r;if(r-e>16&&t.subarray&&UTF8Decoder)return UTF8Decoder.decode(t.subarray(e,r));for(var o,a,n,u,A,p,h="";;){if(o=t[e++],!o)return h;if(!(o&128)){h+=String.fromCharCode(o);continue}if(a=t[e++]&63,(o&224)==192){h+=String.fromCharCode((o&31)<<6|a);continue}if(n=t[e++]&63,(o&240)==224?o=(o&15)<<12|a<<6|n:(u=t[e++]&63,(o&248)==240?o=(o&7)<<18|a<<12|n<<6|u:(A=t[e++]&63,(o&252)==248?o=(o&3)<<24|a<<18|n<<12|u<<6|A:(p=t[e++]&63,o=(o&1)<<30|a<<24|n<<18|u<<12|A<<6|p))),o<65536)h+=String.fromCharCode(o);else{var E=o-65536;h+=String.fromCharCode(55296|E>>10,56320|E&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(t){return UTF8ArrayToString(HEAPU8,t)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(t,e,r,o){if(!(o>0))return 0;for(var a=r,n=r+o-1,u=0;u<t.length;++u){var A=t.charCodeAt(u);if(A>=55296&&A<=57343&&(A=65536+((A&1023)<<10)|t.charCodeAt(++u)&1023),A<=127){if(r>=n)break;e[r++]=A}else if(A<=2047){if(r+1>=n)break;e[r++]=192|A>>6,e[r++]=128|A&63}else if(A<=65535){if(r+2>=n)break;e[r++]=224|A>>12,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=2097151){if(r+3>=n)break;e[r++]=240|A>>18,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=67108863){if(r+4>=n)break;e[r++]=248|A>>24,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else{if(r+5>=n)break;e[r++]=252|A>>30,e[r++]=128|A>>24&63,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}}return e[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(t,e,r){return stringToUTF8Array(t,HEAPU8,e,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(t){for(var e=0,r=0;r<t.length;++r){var o=t.charCodeAt(r);o>=55296&&o<=57343&&(o=65536+((o&1023)<<10)|t.charCodeAt(++r)&1023),o<=127?++e:o<=2047?e+=2:o<=65535?e+=3:o<=2097151?e+=4:o<=67108863?e+=5:e+=6}return e}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(t){var e=Module.___cxa_demangle||Module.__cxa_demangle;if(e){try{var r=t.substr(1),o=lengthBytesUTF8(r)+1,a=_malloc(o);stringToUTF8(r,a,o);var n=_malloc(4),u=e(a,0,0,n);if(getValue(n,"i32")===0&&u)return Pointer_stringify(u)}catch{}finally{a&&_free(a),n&&_free(n),u&&_free(u)}return t}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t}function demangleAll(t){var e=/__Z[\w\d_]+/g;return t.replace(e,function(r){var o=demangle(r);return r===o?r:r+" ["+o+"]"})}function jsStackTrace(){var t=new Error;if(!t.stack){try{throw new Error(0)}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function stackTrace(){var t=jsStackTrace();return Module.extraStackTrace&&(t+=` |
285 | `+Module.extraStackTrace()),demangleAll(t)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")"),Module.buffer?buffer=Module.buffer:buffer=new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}if(HEAP32[0]=1668509029,HEAP16[1]=25459,HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;function callRuntimeCallbacks(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(t){__ATPRERUN__.unshift(t)}Module.addOnPreRun=addOnPreRun;function addOnInit(t){__ATINIT__.unshift(t)}Module.addOnInit=addOnInit;function addOnPreMain(t){__ATMAIN__.unshift(t)}Module.addOnPreMain=addOnPreMain;function addOnExit(t){__ATEXIT__.unshift(t)}Module.addOnExit=addOnExit;function addOnPostRun(t){__ATPOSTRUN__.unshift(t)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(t,e,r){var o=r>0?r:lengthBytesUTF8(t)+1,a=new Array(o),n=stringToUTF8Array(t,a,0,a.length);return e&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(t){for(var e=[],r=0;r<t.length;r++){var o=t[r];o>255&&(o&=255),e.push(String.fromCharCode(o))}return e.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(t,e,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var o,a;r&&(a=e+lengthBytesUTF8(t),o=HEAP8[a]),stringToUTF8(t,e,1/0),r&&(HEAP8[a]=o)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(t,e){HEAP8.set(t,e)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(t,e,r){for(var o=0;o<t.length;++o)HEAP8[e++>>0]=t.charCodeAt(o);r||(HEAP8[e>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function t(e,r){var o=e>>>16,a=e&65535,n=r>>>16,u=r&65535;return a*u+(o*u+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(t){return froundBuffer[0]=t,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(t){t=t>>>0;for(var e=0;e<32;e++)if(t&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(t){return t}function addRunDependency(t){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(t){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(t,e,r,o,a,n,u,A){return _nbind.callbackSignatureList[t].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(t,e,r,o,a,n,u,A){return ASM_CONSTS[t](e,r,o,a,n,u,A)}function _emscripten_asm_const_iiiii(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiidddddd(t,e,r,o,a,n,u,A,p){return ASM_CONSTS[t](e,r,o,a,n,u,A,p)}function _emscripten_asm_const_iiididi(t,e,r,o,a,n,u){return ASM_CONSTS[t](e,r,o,a,n,u)}function _emscripten_asm_const_iiii(t,e,r,o){return ASM_CONSTS[t](e,r,o)}function _emscripten_asm_const_iiiid(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiiiii(t,e,r,o,a,n){return ASM_CONSTS[t](e,r,o,a,n)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(t,e){__ATEXIT__.unshift({func:t,arg:e})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(t,e,r,o){var a=arguments.length,n=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,o);else for(var A=t.length-1;A>=0;A--)(u=t[A])&&(n=(a<3?u(n):a>3?u(e,r,n):u(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n}function _defineHidden(t){return function(e,r){Object.defineProperty(e,r,{configurable:!1,enumerable:!1,value:t,writable:!0})}}var _nbind={};function __nbind_free_external(t){_nbind.externalList[t].dereference(t)}function __nbind_reference_external(t){_nbind.externalList[t].reference()}function _llvm_stackrestore(t){var e=_llvm_stacksave,r=e.LLVM_SAVEDSTACKS[t];e.LLVM_SAVEDSTACKS.splice(t,1),Runtime.stackRestore(r)}function __nbind_register_pool(t,e,r,o){_nbind.Pool.pageSize=t,_nbind.Pool.usedPtr=e/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=o/4,HEAP32[e/4]=16909060,HEAP8[e]==1&&(_nbind.bigEndian=!0),HEAP32[e/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(t,e){if(Browser.mainLoop.timingMode=t,Browser.mainLoop.timingValue=e,!Browser.mainLoop.func)return 1;if(t==0)Browser.mainLoop.scheduler=function(){var u=Math.max(0,Browser.mainLoop.tickStartTime+e-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,u)},Browser.mainLoop.method="timeout";else if(t==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(t==2){if(!window.setImmediate){let n=function(u){u.source===window&&u.data===o&&(u.stopPropagation(),r.shift()())};var a=n,r=[],o="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(A){r.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:o})):window.postMessage(o,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(t,e,r,o,a){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=t,Browser.mainLoop.arg=o;var n;typeof o<"u"?n=function(){Module.dynCall_vi(t,o)}:n=function(){Module.dynCall_v(t)};var u=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var C=Browser.mainLoop.remainingBlockers,w=C%1==0?C-1:Math.floor(C);h.counted?Browser.mainLoop.remainingBlockers=w:(w=w+.5,Browser.mainLoop.remainingBlockers=(8*C+w)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),u<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(!(u<Browser.mainLoop.currentlyRunningMainloop)){if(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(n),!(u<Browser.mainLoop.currentlyRunningMainloop)&&(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())}}},a||(e&&e>0?_emscripten_set_main_loop_timing(0,1e3/e):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var t=Browser.mainLoop.timingMode,e=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(t,e),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var t=Module.statusMessage||"Please wait...",e=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;e?e<r?Module.setStatus(t+" ("+(r-e)+"/"+r+")"):Module.setStatus(t):Module.setStatus("")}},runIter:function(t){if(!ABORT){if(Module.preMainLoop){var e=Module.preMainLoop();if(e===!1)return}try{t()}catch(r){if(r instanceof ExitStatus)return;throw r&&typeof r=="object"&&r.stack&&Module.printErr("exception thrown: "+[r,r.stack]),r}Module.postMainLoop&&Module.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(Module.preloadPlugins||(Module.preloadPlugins=[]),Browser.initted)return;Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch{Browser.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder<"u"?MozBlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Browser.URLObject=typeof window<"u"?window.URL?window.URL:window.webkitURL:void 0,!Module.noImageDecoding&&typeof Browser.URLObject>"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var t={};t.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},t.handle=function(n,u,A,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(u)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(u)}))}catch(b){Runtime.warnOnce("Blob constructor present but fails: "+b+"; falling back to blob builder")}if(!h){var C=new Browser.BlobBuilder;C.append(new Uint8Array(n).buffer),h=C.getBlob()}var w=Browser.URLObject.createObjectURL(h),v=new Image;v.onload=function(){assert(v.complete,"Image "+u+" could not be decoded");var E=document.createElement("canvas");E.width=v.width,E.height=v.height;var R=E.getContext("2d");R.drawImage(v,0,0),Module.preloadedImages[u]=E,Browser.URLObject.revokeObjectURL(w),A&&A(n)},v.onerror=function(E){console.log("Image "+w+" could not be decoded"),p&&p()},v.src=w},Module.preloadPlugins.push(t);var e={};e.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},e.handle=function(n,u,A,p){var h=!1;function C(R){h||(h=!0,Module.preloadedAudios[u]=R,A&&A(n))}function w(){h||(h=!0,Module.preloadedAudios[u]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var v=new Blob([n],{type:Browser.getMimetype(u)})}catch{return w()}var b=Browser.URLObject.createObjectURL(v),E=new Audio;E.addEventListener("canplaythrough",function(){C(E)},!1),E.onerror=function(L){if(h)return;console.log("warning: browser could not fully decode audio "+u+", trying slower base64 approach");function _(J){for(var re="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",oe="=",pe="",he=0,ve=0,ge=0;ge<J.length;ge++)for(he=he<<8|J[ge],ve+=8;ve>=6;){var le=he>>ve-6&63;ve-=6,pe+=re[le]}return ve==2?(pe+=re[(he&3)<<4],pe+=oe+oe):ve==4&&(pe+=re[(he&15)<<2],pe+=oe),pe}E.src="data:audio/x-"+u.substr(-3)+";base64,"+_(n),C(E)},E.src=b,Browser.safeSetTimeout(function(){C(E)},1e4)}else return w()},Module.preloadPlugins.push(e);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var o=Module.canvas;o&&(o.requestPointerLock=o.requestPointerLock||o.mozRequestPointerLock||o.webkitRequestPointerLock||o.msRequestPointerLock||function(){},o.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},o.exitPointerLock=o.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&o.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(t,e,r,o){if(e&&Module.ctx&&t==Module.canvas)return Module.ctx;var a,n;if(e){var u={antialias:!1,alpha:!1};if(o)for(var A in o)u[A]=o[A];n=GL.createContext(t,u),n&&(a=GL.getContext(n).GLctx)}else a=t.getContext("2d");return a?(r&&(e||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,e&&GL.makeContextCurrent(n),Module.useWebGL=e,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(t,e,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(t,e,r){Browser.lockPointer=t,Browser.resizeCanvas=e,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var o=Module.canvas;function a(){Browser.isFullscreen=!1;var u=o.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===u?(o.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},o.exitFullscreen=o.exitFullscreen.bind(document),Browser.lockPointer&&o.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(u.parentNode.insertBefore(o,u),u.parentNode.removeChild(u),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(o)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");o.parentNode.insertBefore(n,o),n.appendChild(o),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(t,e,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(o,a,n){return Browser.requestFullscreen(o,a,n)},Browser.requestFullscreen(t,e,r)},nextRAF:0,fakeRequestAnimationFrame:function(t){var e=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=e+1e3/60;else for(;e+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-e,0);setTimeout(t,r)},requestAnimationFrame:function t(e){typeof window>"u"?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(t){return function(){if(!ABORT)return t.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var t=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],t.forEach(function(e){e()})}},safeRequestAnimationFrame:function(t){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))})},safeSetTimeout:function(t,e){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))},e)},safeSetInterval:function(t,e){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&t()},e)},getMimetype:function(t){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[t.substr(t.lastIndexOf(".")+1)]},getUserMedia:function(t){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(t)},getMovementX:function(t){return t.movementX||t.mozMovementX||t.webkitMovementX||0},getMovementY:function(t){return t.movementY||t.mozMovementY||t.webkitMovementY||0},getMouseWheelDelta:function(t){var e=0;switch(t.type){case"DOMMouseScroll":e=t.detail;break;case"mousewheel":e=t.wheelDelta;break;case"wheel":e=t.deltaY;break;default:throw"unrecognized mouse wheel event: "+t.type}return e},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(t){if(Browser.pointerLock)t.type!="mousemove"&&"mozMovementX"in t?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(t),Browser.mouseMovementY=Browser.getMovementY(t)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var e=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,o=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(t.type==="touchstart"||t.type==="touchend"||t.type==="touchmove"){var u=t.touch;if(u===void 0)return;var A=u.pageX-(a+e.left),p=u.pageY-(n+e.top);A=A*(r/e.width),p=p*(o/e.height);var h={x:A,y:p};if(t.type==="touchstart")Browser.lastTouches[u.identifier]=h,Browser.touches[u.identifier]=h;else if(t.type==="touchend"||t.type==="touchmove"){var C=Browser.touches[u.identifier];C||(C=h),Browser.lastTouches[u.identifier]=C,Browser.touches[u.identifier]=h}return}var w=t.pageX-(a+e.left),v=t.pageY-(n+e.top);w=w*(r/e.width),v=v*(o/e.height),Browser.mouseMovementX=w-Browser.mouseX,Browser.mouseMovementY=v-Browser.mouseY,Browser.mouseX=w,Browser.mouseY=v}},asyncLoad:function(t,e,r,o){var a=o?"":"al "+t;Module.readAsync(t,function(n){assert(n,'Loading data file "'+t+'" failed (no arrayBuffer).'),e(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+t+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var t=Module.canvas;Browser.resizeListeners.forEach(function(e){e(t.width,t.height)})},setCanvasSize:function(t,e,r){var o=Module.canvas;Browser.updateCanvasDimensions(o,t,e),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},updateCanvasDimensions:function(t,e,r){e&&r?(t.widthNative=e,t.heightNative=r):(e=t.widthNative,r=t.heightNative);var o=e,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(o/a<Module.forcedAspectRatio?o=Math.round(a*Module.forcedAspectRatio):a=Math.round(o/Module.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===t.parentNode&&typeof screen<"u"){var n=Math.min(screen.width/o,screen.height/a);o=Math.round(o*n),a=Math.round(a*n)}Browser.resizeCanvas?(t.width!=o&&(t.width=o),t.height!=a&&(t.height=a),typeof t.style<"u"&&(t.style.removeProperty("width"),t.style.removeProperty("height"))):(t.width!=e&&(t.width=e),t.height!=r&&(t.height=r),typeof t.style<"u"&&(o!=e||a!=r?(t.style.setProperty("width",o+"px","important"),t.style.setProperty("height",a+"px","important")):(t.style.removeProperty("width"),t.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var t=Browser.nextWgetRequestHandle;return Browser.nextWgetRequestHandle++,t}},SYSCALLS={varargs:0,get:function(t){SYSCALLS.varargs+=4;var e=HEAP32[SYSCALLS.varargs-4>>2];return e},getStr:function(){var t=Pointer_stringify(SYSCALLS.get());return t},get64:function(){var t=SYSCALLS.get(),e=SYSCALLS.get();return t>=0?assert(e===0):assert(e===-1),t},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(o){return(typeof FS>"u"||!(o instanceof FS.ErrnoError))&&abort(o),-o.errno}}function ___syscall54(t,e){SYSCALLS.varargs=e;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(t){var e=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr<X>"],[640,1,"std::unique_ptr<X>"],[5120,1,"std::vector<X>"],[6144,2,"std::array<X, Y>"],[9216,-1,"std::function<X (Y)>"]];function r(p,h,C,w,v,b){if(h==1){var E=w&896;(E==128||E==256||E==384)&&(p="X const")}var R;return b?R=C.replace("X",p).replace("Y",v):R=p.replace("X",C).replace("Y",v),R.replace(/([*&]) (?=[*&])/g,"$1")}function o(p,h,C,w,v){throw new Error(p+" type "+C.replace("X",h+"?")+(w?" with flag "+w:"")+" in "+v)}function a(p,h,C,w,v,b,E,R){b===void 0&&(b="X"),R===void 0&&(R=1);var L=C(p);if(L)return L;var _=w(p),J=_.placeholderFlag,re=e[J];E&&re&&(b=r(E[2],E[0],b,re[0],"?",!0));var oe;J==0&&(oe="Unbound"),J>=10&&(oe="Corrupt"),R>20&&(oe="Deeply nested"),oe&&o(oe,p,b,J,v||"?");var pe=_.paramList[0],he=a(pe,h,C,w,v,b,re,R+1),ve,ge={flags:re[0],id:p,name:"",paramList:[he]},le=[],Pe="?";switch(_.placeholderFlag){case 1:ve=he.spec;break;case 2:if((he.flags&15360)==1024&&he.spec.ptrSize==1){ge.flags=7168;break}case 3:case 6:case 5:ve=he.spec,he.flags&15360;break;case 8:Pe=""+_.paramList[1],ge.paramList.push(_.paramList[1]);break;case 9:for(var g=0,De=_.paramList[1];g<De.length;g++){var Ee=De[g],de=a(Ee,h,C,w,v,b,re,R+1);le.push(de.name),ge.paramList.push(de)}Pe=le.join(", ");break;default:break}if(ge.name=r(re[2],re[0],he.name,he.flags,Pe),ve){for(var ne=0,Z=Object.keys(ve);ne<Z.length;ne++){var me=Z[ne];ge[me]=ge[me]||ve[me]}ge.flags|=ve.flags}return n(h,ge)}function n(p,h){var C=h.flags,w=C&896,v=C&15360;return!h.name&&v==1024&&(h.ptrSize==1?h.name=(C&16?"":(C&8?"un":"")+"signed ")+"char":h.name=(C&8?"u":"")+(C&32?"float":"int")+(h.ptrSize*8+"_t")),h.ptrSize==8&&!(C&32)&&(v=64),v==2048&&(w==512||w==640?v=4096:w&&(v=3072)),p(v,h)}var u=function(){function p(h){this.id=h.id,this.name=h.name,this.flags=h.flags,this.spec=h}return p.prototype.toString=function(){return this.name},p}(),A={Type:u,getComplexType:a,makeType:n,structureList:e};return t.output=A,t.output||A}function __nbind_register_type(t,e){var r=_nbind.readAsciiString(e),o={flags:10240,id:t,name:r};_nbind.makeType(_nbind.constructType,o)}function __nbind_register_callback_signature(t,e){var r=_nbind.readTypeIdList(t,e),o=_nbind.callbackSignatureList.length;return _nbind.callbackSignatureList[o]=_nbind.makeJSCaller(r),o}function __extends(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);function o(){this.constructor=t}o.prototype=e.prototype,t.prototype=new o}function __nbind_register_class(t,e,r,o,a,n,u){var A=_nbind.readAsciiString(u),p=_nbind.readPolicyList(e),h=HEAPU32.subarray(t/4,t/4+2),C={flags:2048|(p.Value?2:0),id:h[0],name:A},w=_nbind.makeType(_nbind.constructType,C);w.ptrType=_nbind.getComplexType(h[1],_nbind.constructType,_nbind.getType,_nbind.queryType),w.destroy=_nbind.makeMethodCaller(w.ptrType,{boundID:C.id,flags:0,name:"destroy",num:0,ptr:n,title:w.name+".free",typeList:["void","uint32_t","uint32_t"]}),a&&(w.superIdList=Array.prototype.slice.call(HEAPU32.subarray(r/4,r/4+a)),w.upcastList=Array.prototype.slice.call(HEAPU32.subarray(o/4,o/4+a))),Module[w.name]=w.makeBound(p),_nbind.BindClass.list.push(w)}function _removeAccessorPrefix(t){var e=/^[Gg]et_?([A-Z]?([A-Z]?))/;return t.replace(e,function(r,o,a){return a?o:o.toLowerCase()})}function __nbind_register_function(t,e,r,o,a,n,u,A,p,h){var C=_nbind.getType(t),w=_nbind.readPolicyList(e),v=_nbind.readTypeIdList(r,o),b;if(u==5)b=[{direct:a,name:"__nbindConstructor",ptr:0,title:C.name+" constructor",typeList:["uint32_t"].concat(v.slice(1))},{direct:n,name:"__nbindValueConstructor",ptr:0,title:C.name+" value constructor",typeList:["void","uint32_t"].concat(v.slice(1))}];else{var E=_nbind.readAsciiString(A),R=(C.name&&C.name+".")+E;(u==3||u==4)&&(E=_removeAccessorPrefix(E)),b=[{boundID:t,direct:n,name:E,ptr:a,title:R,typeList:v}]}for(var L=0,_=b;L<_.length;L++){var J=_[L];J.signatureType=u,J.policyTbl=w,J.num=p,J.flags=h,C.addMethod(J)}}function _nbind_value(t,e){_nbind.typeNameTbl[t]||_nbind.throwError("Unknown value type "+t),Module.NBind.bind_value(t,e),_defineHidden(_nbind.typeNameTbl[t].proto.prototype.__nbindValueConstructor)(e.prototype,"__nbindValueConstructor")}Module._nbind_value=_nbind_value;function __nbind_get_value_object(t,e){var r=_nbind.popValue(t);if(!r.fromJS)throw new Error("Object "+r+" has no fromJS function");r.fromJS(function(){r.__nbindValueConstructor.apply(this,Array.prototype.concat.apply([e],arguments))})}function _emscripten_memcpy_big(t,e,r){return HEAPU8.set(HEAPU8.subarray(e,e+r),t),t}function __nbind_register_primitive(t,e,r){var o={flags:1024|r,id:t,ptrSize:e};_nbind.makeType(_nbind.constructType,o)}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___setErrNo(t){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=t),t}function _llvm_stacksave(){var t=_llvm_stacksave;return t.LLVM_SAVEDSTACKS||(t.LLVM_SAVEDSTACKS=[]),t.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),t.LLVM_SAVEDSTACKS.length-1}function ___syscall140(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),u=SYSCALLS.get(),A=a;return FS.llseek(r,A,u),HEAP32[n>>2]=r.position,r.getdents&&A===0&&u===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.get(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(C,w){var v=___syscall146.buffers[C];assert(v),w===0||w===10?((C===1?Module.print:Module.printErr)(UTF8ArrayToString(v,0)),v.length=0):v.push(w)});for(var u=0;u<a;u++){for(var A=HEAP32[o+u*8>>2],p=HEAP32[o+(u*8+4)>>2],h=0;h<p;h++)___syscall146.printChar(r,HEAPU8[A+h]);n+=p}return n}catch(C){return(typeof FS>"u"||!(C instanceof FS.ErrnoError))&&abort(C),-C.errno}}function __nbind_finish(){for(var t=0,e=_nbind.BindClass.list;t<e.length;t++){var r=e[t];r.finish()}}var ___dso_handle=STATICTOP;STATICTOP+=16,function(_nbind){var typeIdTbl={};_nbind.typeNameTbl={};var Pool=function(){function t(){}return t.lalloc=function(e){e=e+7&-8;var r=HEAPU32[t.usedPtr];if(e>t.pageSize/2||e>t.pageSize-r){var o=_nbind.typeNameTbl.NBind.proto;return o.lalloc(e)}else return HEAPU32[t.usedPtr]=r+e,t.rootPtr+r},t.lreset=function(e,r){var o=HEAPU32[t.pagePtr];if(o){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(e,r)}else HEAPU32[t.usedPtr]=e},t}();_nbind.Pool=Pool;function constructType(t,e){var r=t==10240?_nbind.makeTypeNameTbl[e.name]||_nbind.BindType:_nbind.makeTypeKindTbl[t],o=new r(e);return typeIdTbl[e.id]=o,_nbind.typeNameTbl[e.name]=o,o}_nbind.constructType=constructType;function getType(t){return typeIdTbl[t]}_nbind.getType=getType;function queryType(t){var e=HEAPU8[t],r=_nbind.structureList[e][1];t/=4,r<0&&(++t,r=HEAPU32[t]+1);var o=Array.prototype.slice.call(HEAPU32.subarray(t+1,t+1+r));return e==9&&(o=[o[0],o.slice(1)]),{paramList:o,placeholderFlag:e}}_nbind.queryType=queryType;function getTypes(t,e){return t.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,e):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(t,e){return Array.prototype.slice.call(HEAPU32,t/4,t/4+e)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(t){for(var e=t;HEAPU8[e++];);return String.fromCharCode.apply("",HEAPU8.subarray(t,e-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(t){var e={};if(t)for(;;){var r=HEAPU32[t/4];if(!r)break;e[readAsciiString(r)]=!0,t+=4}return e}_nbind.readPolicyList=readPolicyList;function getDynCall(t,e){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},o=t.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+o];if(!a)throw new Error("dynCall_"+o+" not found for "+e+"("+t.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(t,e,r,o){var a=t[e];t.hasOwnProperty(e)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),t[e]=a),a.addMethod(r,o)):(r.arity=o,t[e]=r)}_nbind.addMethod=addMethod;function throwError(t){throw new Error(t)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return e.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},e.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},e}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return o.heap=a[r.ptrSize*8],o.ptrSize=r.ptrSize,o}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},e}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(t,e){if(t==null){if(e&&e.Nullable)return 0;throw new Error("Type mismatch")}if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t)+1,o=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(t,HEAPU8,o,r),o}_nbind.pushCString=pushCString;function popCString(t){return t===0?null:Module.Pointer_stringify(t)}_nbind.popCString=popCString;var CStringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushCString(a,o)}},e}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=function(o){return!!o},r}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireRead=function(r){return"!!("+r+")"},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},e}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function t(){}return t.prototype.persist=function(){this.__nbindState|=1},t}();_nbind.Wrapper=Wrapper;function makeBound(t,e){var r=function(o){__extends(a,o);function a(n,u,A,p){var h=o.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var C=u,w=A,v=p;if(n!==_nbind.ptrMarker){var b=h.__nbindConstructor.apply(h,arguments);C=4608,v=HEAPU32[b/4],w=HEAPU32[b/4+1]}var E={configurable:!0,enumerable:!1,value:null,writable:!1},R={__nbindFlags:C,__nbindPtr:w};v&&(R.__nbindShared=v,_nbind.mark(h));for(var L=0,_=Object.keys(R);L<_.length;L++){var J=_[L];E.value=R[J],Object.defineProperty(h,J,E)}return _defineHidden(0)(h,"__nbindState"),h}return a.prototype.free=function(){e.destroy.call(this,this.__nbindShared,this.__nbindFlags),this.__nbindState|=2,disableMember(this,"__nbindShared"),disableMember(this,"__nbindPtr")},a}(Wrapper);return __decorate([_defineHidden()],r.prototype,"__nbindConstructor",void 0),__decorate([_defineHidden()],r.prototype,"__nbindValueConstructor",void 0),__decorate([_defineHidden(t)],r.prototype,"__nbindPolicies",void 0),r}_nbind.makeBound=makeBound;function disableMember(t,e){function r(){throw new Error("Accessing deleted object")}Object.defineProperty(t,e,{configurable:!1,enumerable:!1,get:r,set:r})}_nbind.ptrMarker={};var BindClass=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;return o.wireRead=function(a){return _nbind.popValue(a,o.ptrType)},o.wireWrite=function(a){return pushPointer(a,o.ptrType,!0)},o.pendingSuperCount=0,o.ready=!1,o.methodTbl={},r.paramList?(o.classType=r.paramList[0].classType,o.proto=o.classType.proto):o.classType=o,o}return e.prototype.makeBound=function(r){var o=_nbind.makeBound(r,this);return this.proto=o,this.ptrType.proto=o,o},e.prototype.addMethod=function(r){var o=this.methodTbl[r.name]||[];o.push(r),this.methodTbl[r.name]=o},e.prototype.registerMethods=function(r,o){for(var a,n=0,u=Object.keys(r.methodTbl);n<u.length;n++)for(var A=u[n],p=r.methodTbl[A],h=0,C=p;h<C.length;h++){var w=C[h],v=void 0,b=void 0;if(v=this.proto.prototype,!(o&&w.signatureType!=1))switch(w.signatureType){case 1:v=this.proto;case 5:b=_nbind.makeCaller(w),_nbind.addMethod(v,w.name,b,w.typeList.length-1);break;case 4:a=_nbind.makeMethodCaller(r.ptrType,w);break;case 3:Object.defineProperty(v,w.name,{configurable:!0,enumerable:!1,get:_nbind.makeMethodCaller(r.ptrType,w),set:a});break;case 2:b=_nbind.makeMethodCaller(r.ptrType,w),_nbind.addMethod(v,w.name,b,w.typeList.length-1);break;default:break}}},e.prototype.registerSuperMethods=function(r,o,a){if(!a[r.name]){a[r.name]=!0;for(var n=0,u,A=0,p=r.superIdList||[];A<p.length;A++){var h=p[A],C=_nbind.getType(h);n++<o||o<0?u=-1:u=0,this.registerSuperMethods(C,u,a)}this.registerMethods(r,o<0)}},e.prototype.finish=function(){if(this.ready)return this;this.ready=!0,this.superList=(this.superIdList||[]).map(function(a){return _nbind.getType(a).finish()});var r=this.proto;if(this.superList.length){var o=function(){this.constructor=r};o.prototype=this.superList[0].proto.prototype,r.prototype=new o}return r!=Module&&(r.prototype.__nbindType=this),this.registerSuperMethods(this,1,{}),this},e.prototype.upcastStep=function(r,o){if(r==this)return o;for(var a=0;a<this.superList.length;++a){var n=this.superList[a].upcastStep(r,_nbind.callUpcast(this.upcastList[a],o));if(n)return n}return 0},e}(_nbind.BindType);BindClass.list=[],_nbind.BindClass=BindClass;function popPointer(t,e){return t?new e.proto(_nbind.ptrMarker,e.flags,t):null}_nbind.popPointer=popPointer;function pushPointer(t,e,r){if(!(t instanceof _nbind.Wrapper)){if(r)return _nbind.pushValue(t);throw new Error("Type mismatch")}var o=t.__nbindPtr,a=t.__nbindType.classType,n=e.classType;if(t instanceof e.proto)for(;a!=n;)o=_nbind.callUpcast(a.upcastList[0],o),a=a.superList[0];else if(o=a.upcastStep(n,o),!o)throw new Error("Type mismatch");return o}_nbind.pushPointer=pushPointer;function pushMutablePointer(t,e){var r=pushPointer(t,e);if(t.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return r}var BindClassPtr=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=(o.flags&896)==256&&r.flags&2,u=a?pushPointer:pushMutablePointer,A=n?_nbind.popValue:popPointer;return o.makeWireWrite=function(p,h){return h.Nullable?function(C){return C?u(C,o):0}:function(C){return u(C,o)}},o.wireRead=function(p){return A(p,o)},o.wireWrite=function(p){return u(p,o)},o}return e}(_nbind.BindType);_nbind.BindClassPtr=BindClassPtr;function popShared(t,e){var r=HEAPU32[t/4],o=HEAPU32[t/4+1];return o?new e.proto(_nbind.ptrMarker,e.flags,o,r):null}_nbind.popShared=popShared;function pushShared(t,e){if(!(t instanceof e.proto))throw new Error("Type mismatch");return t.__nbindShared}function pushMutableShared(t,e){if(!(t instanceof e.proto))throw new Error("Type mismatch");if(t.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return t.__nbindShared}var SharedClassPtr=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;o.readResources=[_nbind.resources.pool],o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=a?pushShared:pushMutableShared;return o.wireRead=function(u){return popShared(u,o)},o.wireWrite=function(u){return n(u,o)},o}return e}(_nbind.BindType);_nbind.SharedClassPtr=SharedClassPtr,_nbind.externalList=[0];var firstFreeExternal=0,External=function(){function t(e){this.refCount=1,this.data=e}return t.prototype.register=function(){var e=firstFreeExternal;return e?firstFreeExternal=_nbind.externalList[e]:e=_nbind.externalList.length,_nbind.externalList[e]=this,e},t.prototype.reference=function(){++this.refCount},t.prototype.dereference=function(e){--this.refCount==0&&(this.free&&this.free(),_nbind.externalList[e]=firstFreeExternal,firstFreeExternal=e)},t}();_nbind.External=External;function popExternal(t){var e=_nbind.externalList[t];return e.dereference(t),e.data}function pushExternal(t){var e=new External(t);return e.reference(),e.register()}var ExternalType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popExternal,r.wireWrite=pushExternal,r}return e}(_nbind.BindType);_nbind.ExternalType=ExternalType,_nbind.callbackSignatureList=[];var CallbackType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=function(o){return typeof o!="function"&&_nbind.throwError("Type mismatch"),new _nbind.External(o).register()},r}return e}(_nbind.BindType);_nbind.CallbackType=CallbackType,_nbind.valueList=[0];var firstFreeValue=0;function pushValue(t){var e=firstFreeValue;return e?firstFreeValue=_nbind.valueList[e]:e=_nbind.valueList.length,_nbind.valueList[e]=t,e*2+1}_nbind.pushValue=pushValue;function popValue(t,e){if(t||_nbind.throwError("Value type JavaScript class is missing or not registered"),t&1){t>>=1;var r=_nbind.valueList[t];return _nbind.valueList[t]=firstFreeValue,firstFreeValue=t,r}else{if(e)return _nbind.popShared(t,e);throw new Error("Invalid value slot "+t)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(t){return typeof t=="number"?t:pushValue(t)*4096+valueBase}function pop64(t){return t<valueBase?t:popValue((t-valueBase)/4096)}var CreateValueType=function(t){__extends(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.makeWireWrite=function(r){return"(_nbind.pushValue(new "+r+"))"},e}(_nbind.BindType);_nbind.CreateValueType=CreateValueType;var Int64Type=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=push64,r.wireRead=pop64,r}return e}(_nbind.BindType);_nbind.Int64Type=Int64Type;function pushArray(t,e){if(!t)return 0;var r=t.length;if((e.size||e.size===0)&&r<e.size)throw new Error("Type mismatch");var o=e.memberType.ptrSize,a=_nbind.Pool.lalloc(4+r*o);HEAPU32[a/4]=r;var n=e.memberType.heap,u=(a+4)/o,A=e.memberType.wireWrite,p=0;if(A)for(;p<r;)n[u++]=A(t[p++]);else for(;p<r;)n[u++]=t[p++];return a}_nbind.pushArray=pushArray;function popArray(t,e){if(t===0)return null;var r=HEAPU32[t/4],o=new Array(r),a=e.memberType.heap;t=(t+4)/e.memberType.ptrSize;var n=e.memberType.wireRead,u=0;if(n)for(;u<r;)o[u++]=n(a[t++]);else for(;u<r;)o[u++]=a[t++];return o}_nbind.popArray=popArray;var ArrayType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;return o.wireRead=function(a){return popArray(a,o)},o.wireWrite=function(a){return pushArray(a,o)},o.readResources=[_nbind.resources.pool],o.writeResources=[_nbind.resources.pool],o.memberType=r.paramList[0],r.paramList[1]&&(o.size=r.paramList[1]),o}return e}(_nbind.BindType);_nbind.ArrayType=ArrayType;function pushString(t,e){if(t==null)if(e&&e.Nullable)t="";else throw new Error("Type mismatch");if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t),o=_nbind.Pool.lalloc(4+r+1);return HEAPU32[o/4]=r,Module.stringToUTF8Array(t,HEAPU8,o+4,r+1),o}_nbind.pushString=pushString;function popString(t){if(t===0)return null;var e=HEAPU32[t/4];return Module.Pointer_stringify(t+4,e)}_nbind.popString=popString;var StringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popString,r.wireWrite=pushString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushString(a,o)}},e}(_nbind.BindType);_nbind.StringType=StringType;function makeArgList(t){return Array.apply(null,Array(t)).map(function(e,r){return"a"+(r+1)})}function anyNeedsWireWrite(t,e){return t.reduce(function(r,o){return r||o.needsWireWrite(e)},!1)}function anyNeedsWireRead(t,e){return t.reduce(function(r,o){return r||!!o.needsWireRead(e)},!1)}function makeWireRead(t,e,r,o){var a=t.length;return r.makeWireRead?r.makeWireRead(o,t,a):r.wireRead?(t[a]=r.wireRead,"(convertParamList["+a+"]("+o+"))"):o}function makeWireWrite(t,e,r,o){var a,n=t.length;return r.makeWireWrite?a=r.makeWireWrite(o,e,t,n):a=r.wireWrite,a?typeof a=="string"?a:(t[n]=a,"(convertParamList["+n+"]("+o+"))"):o}function buildCallerFunction(dynCall,ptrType,ptr,num,policyTbl,needsWireWrite,prefix,returnType,argTypeList,mask,err){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireRead(convertParamList,policyTbl,returnType,"dynCall("+[prefix].concat(argList.map(function(t,e){return makeWireWrite(convertParamList,policyTbl,argTypeList[e],t)})).join(",")+")"),resourceSet=_nbind.listResources([returnType],argTypeList),sourceCode="function("+argList.join(",")+"){"+(mask?"this.__nbindFlags&mask&&err();":"")+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}function buildJSCallerFunction(returnType,argTypeList){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireWrite(convertParamList,null,returnType,"_nbind.externalList[num].data("+argList.map(function(t,e){return makeWireRead(convertParamList,null,argTypeList[e],t)}).join(",")+")"),resourceSet=_nbind.listResources(argTypeList,[returnType]);resourceSet.remove(_nbind.resources.pool);var sourceCode="function("+["dummy","num"].concat(argList).join(",")+"){"+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}_nbind.buildJSCallerFunction=buildJSCallerFunction;function makeJSCaller(t){var e=t.length-1,r=_nbind.getTypes(t,"callback"),o=r[0],a=r.slice(1),n=anyNeedsWireRead(a,null),u=o.needsWireWrite(null);if(!u&&!n)switch(e){case 0:return function(A,p){return _nbind.externalList[p].data()};case 1:return function(A,p,h){return _nbind.externalList[p].data(h)};case 2:return function(A,p,h,C){return _nbind.externalList[p].data(h,C)};case 3:return function(A,p,h,C,w){return _nbind.externalList[p].data(h,C,w)};default:break}return buildJSCallerFunction(o,a)}_nbind.makeJSCaller=makeJSCaller;function makeMethodCaller(t,e){var r=e.typeList.length-1,o=e.typeList.slice(0);o.splice(1,0,"uint32_t",e.boundID);var a=_nbind.getTypes(o,e.title),n=a[0],u=a.slice(3),A=n.needsWireRead(e.policyTbl),p=anyNeedsWireWrite(u,e.policyTbl),h=e.ptr,C=e.num,w=_nbind.getDynCall(a,e.title),v=~e.flags&1;function b(){throw new Error("Calling a non-const method on a const object")}if(!A&&!p)switch(r){case 0:return function(){return this.__nbindFlags&v?b():w(h,C,_nbind.pushPointer(this,t))};case 1:return function(E){return this.__nbindFlags&v?b():w(h,C,_nbind.pushPointer(this,t),E)};case 2:return function(E,R){return this.__nbindFlags&v?b():w(h,C,_nbind.pushPointer(this,t),E,R)};case 3:return function(E,R,L){return this.__nbindFlags&v?b():w(h,C,_nbind.pushPointer(this,t),E,R,L)};default:break}return buildCallerFunction(w,t,h,C,e.policyTbl,p,"ptr,num,pushPointer(this,ptrType)",n,u,v,b)}_nbind.makeMethodCaller=makeMethodCaller;function makeCaller(t){var e=t.typeList.length-1,r=_nbind.getTypes(t.typeList,t.title),o=r[0],a=r.slice(1),n=o.needsWireRead(t.policyTbl),u=anyNeedsWireWrite(a,t.policyTbl),A=t.direct,p=t.ptr;if(t.direct&&!n&&!u){var h=_nbind.getDynCall(r,t.title);switch(e){case 0:return function(){return h(A)};case 1:return function(b){return h(A,b)};case 2:return function(b,E){return h(A,b,E)};case 3:return function(b,E,R){return h(A,b,E,R)};default:break}p=0}var C;if(p){var w=t.typeList.slice(0);w.splice(1,0,"uint32_t"),r=_nbind.getTypes(w,t.title),C="ptr,num"}else p=A,C="ptr";var v=_nbind.getDynCall(r,t.title);return buildCallerFunction(v,null,p,t.num,t.policyTbl,u,C,o,a)}_nbind.makeCaller=makeCaller;function makeOverloader(t,e){var r=[];function o(){return r[arguments.length].apply(this,arguments)}return o.addMethod=function(a,n){r[n]=a},o.addMethod(t,e),o}_nbind.makeOverloader=makeOverloader;var Resource=function(){function t(e,r){var o=this;this.makeOpen=function(){return Object.keys(o.openTbl).join("")},this.makeClose=function(){return Object.keys(o.closeTbl).join("")},this.openTbl={},this.closeTbl={},e&&(this.openTbl[e]=!0),r&&(this.closeTbl[r]=!0)}return t.prototype.add=function(e){for(var r=0,o=Object.keys(e.openTbl);r<o.length;r++){var a=o[r];this.openTbl[a]=!0}for(var n=0,u=Object.keys(e.closeTbl);n<u.length;n++){var a=u[n];this.closeTbl[a]=!0}},t.prototype.remove=function(e){for(var r=0,o=Object.keys(e.openTbl);r<o.length;r++){var a=o[r];delete this.openTbl[a]}for(var n=0,u=Object.keys(e.closeTbl);n<u.length;n++){var a=u[n];delete this.closeTbl[a]}},t}();_nbind.Resource=Resource;function listResources(t,e){for(var r=new Resource,o=0,a=t;o<a.length;o++)for(var n=a[o],u=0,A=n.readResources||[];u<A.length;u++){var p=A[u];r.add(p)}for(var h=0,C=e;h<C.length;h++)for(var n=C[h],w=0,v=n.writeResources||[];w<v.length;w++){var p=v[w];r.add(p)}return r}_nbind.listResources=listResources,_nbind.resources={pool:new Resource("var used=HEAPU32[_nbind.Pool.usedPtr],page=HEAPU32[_nbind.Pool.pagePtr];","_nbind.Pool.lreset(used,page);")};var ExternalBuffer=function(t){__extends(e,t);function e(r,o){var a=t.call(this,r)||this;return a.ptr=o,a}return e.prototype.free=function(){_free(this.ptr)},e}(_nbind.External);function getBuffer(t){return t instanceof ArrayBuffer?new Uint8Array(t):t instanceof DataView?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function pushBuffer(t,e){if(t==null&&e&&e.Nullable&&(t=[]),typeof t!="object")throw new Error("Type mismatch");var r=t,o=r.byteLength||r.length;if(!o&&o!==0&&r.byteLength!==0)throw new Error("Type mismatch");var a=_nbind.Pool.lalloc(8),n=_malloc(o),u=a/4;return HEAPU32[u++]=o,HEAPU32[u++]=n,HEAPU32[u++]=new ExternalBuffer(t,n).register(),HEAPU8.set(getBuffer(t),n),a}var BufferType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=pushBuffer,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushBuffer(a,o)}},e}(_nbind.BindType);_nbind.BufferType=BufferType;function commitBuffer(t,e,r){var o=_nbind.externalList[t].data,a=Buffer;if(typeof Buffer!="function"&&(a=function(){}),!(o instanceof Array)){var n=HEAPU8.subarray(e,e+r);if(o instanceof a){var u=void 0;typeof Buffer.from=="function"&&Buffer.from.length>=3?u=Buffer.from(n):u=new Buffer(n),u.copy(o)}else getBuffer(o).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var t=0,e=dirtyList;t<e.length;t++){var r=e[t];r.__nbindState&3||r.free()}dirtyList=[],gcTimer=0}_nbind.mark=function(t){};function toggleLightGC(t){t?_nbind.mark=function(e){dirtyList.push(e),gcTimer||(gcTimer=setTimeout(sweep,0))}:_nbind.mark=function(e){}}_nbind.toggleLightGC=toggleLightGC}(_nbind),Module.requestFullScreen=function t(e,r,o){Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."),Module.requestFullScreen=Module.requestFullscreen,Browser.requestFullScreen(e,r,o)},Module.requestFullscreen=function t(e,r,o){Browser.requestFullscreen(e,r,o)},Module.requestAnimationFrame=function t(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function t(e,r,o){Browser.setCanvasSize(e,r,o)},Module.pauseMainLoop=function t(){Browser.mainLoop.pause()},Module.resumeMainLoop=function t(){Browser.mainLoop.resume()},Module.getUserMedia=function t(){Browser.getUserMedia()},Module.createContext=function t(e,r,o,a){return Browser.createContext(e,r,o,a)},ENVIRONMENT_IS_NODE?_emscripten_get_now=function(){var e=process.hrtime();return e[0]*1e3+e[1]/1e6}:typeof dateNow<"u"?_emscripten_get_now=dateNow:typeof self=="object"&&self.performance&&typeof self.performance.now=="function"?_emscripten_get_now=function(){return self.performance.now()}:typeof performance=="object"&&typeof performance.now=="function"?_emscripten_get_now=function(){return performance.now()}:_emscripten_get_now=Date.now,__ATEXIT__.push(function(){var t=Module._fflush;t&&t(0);var e=___syscall146.printChar;if(!!e){var r=___syscall146.buffers;r[1].length&&e(1,10),r[2].length&&e(2,10)}}),DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(t,e,r,o,a,n){try{Module.dynCall_viiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_vif(t,e,r){try{Module.dynCall_vif(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_vid(t,e,r){try{Module.dynCall_vid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_fiff(t,e,r,o){try{return Module.dynCall_fiff(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(t,e){try{Module.dynCall_vi(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(t,e,r){try{Module.dynCall_vii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_ii(t,e){try{return Module.dynCall_ii(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(t,e,r,o,a){try{Module.dynCall_viddi(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(t,e,r,o){try{Module.dynCall_vidd(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(t,e,r,o){try{return Module.dynCall_iiii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(t,e,r,o){try{return Module.dynCall_diii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(t,e){try{return Module.dynCall_di(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(t,e,r){try{return Module.dynCall_iid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iii(t,e,r){try{return Module.dynCall_iii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiddi(t,e,r,o,a,n){try{Module.dynCall_viiddi(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiiiii(t,e,r,o,a,n,u){try{Module.dynCall_viiiiii(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(t,e,r){try{return Module.dynCall_dii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_i(t){try{return Module.dynCall_i(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_iiiiii(t,e,r,o,a,n){try{return Module.dynCall_iiiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiid(t,e,r,o,a){try{Module.dynCall_viiid(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(t,e,r,o,a,n,u){try{Module.dynCall_viififi(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(t,e,r,o){try{Module.dynCall_viii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(t){try{Module.dynCall_v(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_viid(t,e,r,o){try{Module.dynCall_viid(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(t,e,r){try{return Module.dynCall_idd(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiii(t,e,r,o,a){try{Module.dynCall_viiii(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(t,e,r){var o=new t.Int8Array(r),a=new t.Int16Array(r),n=new t.Int32Array(r),u=new t.Uint8Array(r),A=new t.Uint16Array(r),p=new t.Uint32Array(r),h=new t.Float32Array(r),C=new t.Float64Array(r),w=e.DYNAMICTOP_PTR|0,v=e.tempDoublePtr|0,b=e.ABORT|0,E=e.STACKTOP|0,R=e.STACK_MAX|0,L=e.cttz_i8|0,_=e.___dso_handle|0,J=0,re=0,oe=0,pe=0,he=t.NaN,ve=t.Infinity,ge=0,le=0,Pe=0,g=0,De=0,Ee=0,de=t.Math.floor,ne=t.Math.abs,Z=t.Math.sqrt,me=t.Math.pow,be=t.Math.cos,ut=t.Math.sin,H=t.Math.tan,yt=t.Math.acos,Me=t.Math.asin,Te=t.Math.atan,Qe=t.Math.atan2,Ue=t.Math.exp,je=t.Math.log,At=t.Math.ceil,Le=t.Math.imul,x=t.Math.min,I=t.Math.max,P=t.Math.clz32,y=t.Math.fround,F=e.abort,z=e.assert,X=e.enlargeMemory,$=e.getTotalMemory,ie=e.abortOnCannotGrowMemory,ke=e.invoke_viiiii,Ne=e.invoke_vif,st=e.invoke_vid,ht=e.invoke_fiff,Ut=e.invoke_vi,Xt=e.invoke_vii,Pt=e.invoke_ii,tn=e.invoke_viddi,Dr=e.invoke_vidd,fr=e.invoke_iiii,Br=e.invoke_diii,jr=e.invoke_di,Hn=e.invoke_iid,bs=e.invoke_iii,ki=e.invoke_viiddi,gs=e.invoke_viiiiii,to=e.invoke_dii,Di=e.invoke_i,Qs=e.invoke_iiiiii,ro=e.invoke_viiid,uc=e.invoke_viififi,hu=e.invoke_viii,op=e.invoke_v,ap=e.invoke_viid,ks=e.invoke_idd,Cn=e.invoke_viiii,no=e._emscripten_asm_const_iiiii,Fs=e._emscripten_asm_const_iiidddddd,dl=e._emscripten_asm_const_iiiid,ml=e.__nbind_reference_external,io=e._emscripten_asm_const_iiiiiiii,_e=e._removeAccessorPrefix,Fn=e._typeModule,Fi=e.__nbind_register_pool,Rn=e.__decorate,Ui=e._llvm_stackrestore,Zt=e.___cxa_atexit,Ri=e.__extends,Zn=e.__nbind_get_value_object,La=e.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,$t=e._emscripten_set_main_loop_timing,Ac=e.__nbind_register_primitive,gu=e.__nbind_register_type,fc=e._emscripten_memcpy_big,yl=e.__nbind_register_function,DA=e.___setErrNo,du=e.__nbind_register_class,Ce=e.__nbind_finish,Rt=e._abort,pc=e._nbind_value,_i=e._llvm_stacksave,mu=e.___syscall54,qt=e._defineHidden,El=e._emscripten_set_main_loop,SA=e._emscripten_get_now,lp=e.__nbind_register_callback_signature,hc=e._emscripten_asm_const_iiiiii,PA=e.__nbind_free_external,Dn=e._emscripten_asm_const_iiii,ui=e._emscripten_asm_const_iiididi,gc=e.___syscall6,xA=e._atexit,ta=e.___syscall140,Hi=e.___syscall146,Lo=y(0);let $e=y(0);function so(s){s=s|0;var l=0;return l=E,E=E+s|0,E=E+15&-16,l|0}function Cl(){return E|0}function yu(s){s=s|0,E=s}function qi(s,l){s=s|0,l=l|0,E=s,R=l}function Eu(s,l){s=s|0,l=l|0,J||(J=s,re=l)}function bA(s){s=s|0,Ee=s}function Oa(){return Ee|0}function dc(){var s=0,l=0;Cr(8104,8,400)|0,Cr(8504,408,540)|0,s=9044,l=s+44|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o[9088]=0,o[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,Zt(17,8104,_|0)|0}function ds(s){s=s|0,Be(s+948|0)}function Ot(s){return s=y(s),((xu(s)|0)&2147483647)>>>0>2139095040|0}function Sn(s,l,c){s=s|0,l=l|0,c=c|0;e:do if(n[s+(l<<3)+4>>2]|0)s=s+(l<<3)|0;else{if((l|2|0)==3&&n[s+60>>2]|0){s=s+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[s+52>>2]|0){s=s+48|0;break e}break}default:}if(n[s+68>>2]|0){s=s+64|0;break}else{s=(l|1|0)==5?948:c;break}}while(0);return s|0}function di(s){s=s|0;var l=0;return l=Yv(1e3)|0,ra(s,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,Cr(l|0,8104,1e3)|0,o[s+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=s,l|0}function ra(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=E,E=E+16|0,f=d,l||(n[f>>2]=c,fg(s,5,3197,f)),E=d}function oo(){return di(956)|0}function Rs(s){s=s|0;var l=0;return l=Gt(1e3)|0,na(l,s),ra(n[s+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function na(s,l){s=s|0,l=l|0;var c=0;Cr(s|0,l|0,948)|0,Qm(s+948|0,l+948|0),c=s+960|0,s=l+960|0,l=c+40|0;do n[c>>2]=n[s>>2],c=c+4|0,s=s+4|0;while((c|0)<(l|0))}function ia(s){s=s|0;var l=0,c=0,f=0,d=0;if(l=s+944|0,c=n[l>>2]|0,c|0&&(Oo(c+948|0,s)|0,n[l>>2]=0),c=Zi(s)|0,c|0){l=0;do n[(Ts(s,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(c|0))}c=s+948|0,f=n[c>>2]|0,d=s+952|0,l=n[d>>2]|0,(l|0)!=(f|0)&&(n[d>>2]=l+(~((l+-4-f|0)>>>2)<<2)),Ns(c),Kv(s),n[2276]=(n[2276]|0)+-1}function Oo(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0;f=n[s>>2]|0,Q=s+4|0,c=n[Q>>2]|0,m=c;e:do if((f|0)==(c|0))d=f,B=4;else for(s=f;;){if((n[s>>2]|0)==(l|0)){d=s,B=4;break e}if(s=s+4|0,(s|0)==(c|0)){s=0;break}}while(0);return(B|0)==4&&((d|0)!=(c|0)?(f=d+4|0,s=m-f|0,l=s>>2,l&&(DI(d|0,f|0,s|0)|0,c=n[Q>>2]|0),s=d+(l<<2)|0,(c|0)==(s|0)||(n[Q>>2]=c+(~((c+-4-s|0)>>>2)<<2)),s=1):s=0),s|0}function Zi(s){return s=s|0,(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2|0}function Ts(s,l){s=s|0,l=l|0;var c=0;return c=n[s+948>>2]|0,(n[s+952>>2]|0)-c>>2>>>0>l>>>0?s=n[c+(l<<2)>>2]|0:s=0,s|0}function Ns(s){s=s|0;var l=0,c=0,f=0,d=0;f=E,E=E+32|0,l=f,d=n[s>>2]|0,c=(n[s+4>>2]|0)-d|0,((n[s+8>>2]|0)-d|0)>>>0>c>>>0&&(d=c>>2,Ep(l,d,d,s+8|0),dg(s,l),MA(l)),E=f}function Ls(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;M=Zi(s)|0;do if(M|0){if((n[(Ts(s,0)|0)+944>>2]|0)==(s|0)){if(!(Oo(s+948|0,l)|0))break;Cr(l+400|0,8504,540)|0,n[l+944>>2]=0,qe(s);break}B=n[(n[s+976>>2]|0)+12>>2]|0,Q=s+948|0,k=(B|0)==0,c=0,m=0;do f=n[(n[Q>>2]|0)+(m<<2)>>2]|0,(f|0)==(l|0)?qe(s):(d=Rs(f)|0,n[(n[Q>>2]|0)+(c<<2)>>2]=d,n[d+944>>2]=s,k||SR[B&15](f,d,s,c),c=c+1|0),m=m+1|0;while((m|0)!=(M|0));if(c>>>0<M>>>0){k=s+948|0,Q=s+952|0,B=c,c=n[Q>>2]|0;do m=(n[k>>2]|0)+(B<<2)|0,f=m+4|0,d=c-f|0,l=d>>2,l&&(DI(m|0,f|0,d|0)|0,c=n[Q>>2]|0),d=c,f=m+(l<<2)|0,(d|0)!=(f|0)&&(c=d+(~((d+-4-f|0)>>>2)<<2)|0,n[Q>>2]=c),B=B+1|0;while((B|0)!=(M|0))}}while(0)}function ao(s){s=s|0;var l=0,c=0,f=0,d=0;Wn(s,(Zi(s)|0)==0,2491),Wn(s,(n[s+944>>2]|0)==0,2545),l=s+948|0,c=n[l>>2]|0,f=s+952|0,d=n[f>>2]|0,(d|0)!=(c|0)&&(n[f>>2]=d+(~((d+-4-c|0)>>>2)<<2)),Ns(l),l=s+976|0,c=n[l>>2]|0,Cr(s|0,8104,1e3)|0,o[c+2>>0]|0&&(n[s+4>>2]=2,n[s+12>>2]=4),n[l>>2]=c}function Wn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=E,E=E+16|0,f=d,l||(n[f>>2]=c,co(s,5,3197,f)),E=d}function qn(){return n[2276]|0}function $i(){var s=0;return s=Yv(20)|0,es((s|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[s>>2]=n[239],n[s+4>>2]=n[240],n[s+8>>2]=n[241],n[s+12>>2]=n[242],n[s+16>>2]=n[243],s|0}function es(s,l){s=s|0,l=l|0;var c=0,f=0;f=E,E=E+16|0,c=f,s||(n[c>>2]=l,co(0,5,3197,c)),E=f}function mi(s){s=s|0,Kv(s),n[2277]=(n[2277]|0)+-1}function Ma(s,l){s=s|0,l=l|0;var c=0;l?(Wn(s,(Zi(s)|0)==0,2629),c=1):(c=0,l=0),n[s+964>>2]=l,n[s+988>>2]=c}function sa(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,m=f+8|0,d=f+4|0,B=f,n[d>>2]=l,Wn(s,(n[l+944>>2]|0)==0,2709),Wn(s,(n[s+964>>2]|0)==0,2763),ee(s),l=s+948|0,n[B>>2]=(n[l>>2]|0)+(c<<2),n[m>>2]=n[B>>2],we(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=s,qe(s),E=f}function ee(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;if(c=Zi(s)|0,c|0&&(n[(Ts(s,0)|0)+944>>2]|0)!=(s|0)){f=n[(n[s+976>>2]|0)+12>>2]|0,d=s+948|0,m=(f|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,Q=Rs(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=Q,n[Q+944>>2]=s,m||SR[f&15](B,Q,s,l),l=l+1|0;while((l|0)!=(c|0))}}function we(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0;et=E,E=E+64|0,j=et+52|0,Q=et+48|0,se=et+28|0,We=et+24|0,Oe=et+20|0,Re=et,f=n[s>>2]|0,m=f,l=f+((n[l>>2]|0)-m>>2<<2)|0,f=s+4|0,d=n[f>>2]|0,B=s+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[c>>2],n[f>>2]=(n[f>>2]|0)+4;break}UA(s,l,d,l+4|0),l>>>0<=c>>>0&&(c=(n[f>>2]|0)>>>0>c>>>0?c+4|0:c),n[l>>2]=n[c>>2]}else{f=(d-m>>2)+1|0,d=N(s)|0,d>>>0<f>>>0&&Jr(s),O=n[s>>2]|0,M=(n[B>>2]|0)-O|0,m=M>>1,Ep(Re,M>>2>>>0<d>>>1>>>0?m>>>0<f>>>0?f:m:d,l-O>>2,s+8|0),O=Re+8|0,f=n[O>>2]|0,m=Re+12|0,M=n[m>>2]|0,B=M,k=f;do if((f|0)==(M|0)){if(M=Re+4|0,f=n[M>>2]|0,Ze=n[Re>>2]|0,d=Ze,f>>>0<=Ze>>>0){f=B-d>>1,f=(f|0)==0?1:f,Ep(se,f,f>>>2,n[Re+16>>2]|0),n[We>>2]=n[M>>2],n[Oe>>2]=n[O>>2],n[Q>>2]=n[We>>2],n[j>>2]=n[Oe>>2],fI(se,Q,j),f=n[Re>>2]|0,n[Re>>2]=n[se>>2],n[se>>2]=f,f=se+4|0,Ze=n[M>>2]|0,n[M>>2]=n[f>>2],n[f>>2]=Ze,f=se+8|0,Ze=n[O>>2]|0,n[O>>2]=n[f>>2],n[f>>2]=Ze,f=se+12|0,Ze=n[m>>2]|0,n[m>>2]=n[f>>2],n[f>>2]=Ze,MA(se),f=n[O>>2]|0;break}m=f,B=((m-d>>2)+1|0)/-2|0,Q=f+(B<<2)|0,d=k-m|0,m=d>>2,m&&(DI(Q|0,f|0,d|0)|0,f=n[M>>2]|0),Ze=Q+(m<<2)|0,n[O>>2]=Ze,n[M>>2]=f+(B<<2),f=Ze}while(0);n[f>>2]=n[c>>2],n[O>>2]=(n[O>>2]|0)+4,l=mg(s,Re,l)|0,MA(Re)}while(0);return E=et,l|0}function qe(s){s=s|0;var l=0;do{if(l=s+984|0,o[l>>0]|0)break;o[l>>0]=1,h[s+504>>2]=y(he),s=n[s+944>>2]|0}while((s|0)!=0)}function Be(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function xe(s){return s=s|0,n[s+944>>2]|0}function Je(s){s=s|0,Wn(s,(n[s+964>>2]|0)!=0,2832),qe(s)}function vt(s){return s=s|0,(o[s+984>>0]|0)!=0|0}function tr(s,l){s=s|0,l=l|0,HUe(s,l,400)|0&&(Cr(s|0,l|0,400)|0,qe(s))}function Zr(s){s=s|0;var l=$e;return l=y(h[s+44>>2]),s=Ot(l)|0,y(s?y(0):l)}function Tn(s){s=s|0;var l=$e;return l=y(h[s+48>>2]),Ot(l)|0&&(l=o[(n[s+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function _r(s,l){s=s|0,l=l|0,n[s+980>>2]=l}function $n(s){return s=s|0,n[s+980>>2]|0}function Ti(s,l){s=s|0,l=l|0;var c=0;c=s+4|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function Yn(s){return s=s|0,n[s+4>>2]|0}function Ua(s,l){s=s|0,l=l|0;var c=0;c=s+8|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function oa(s){return s=s|0,n[s+8>>2]|0}function yi(s,l){s=s|0,l=l|0;var c=0;c=s+12|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function aa(s){return s=s|0,n[s+12>>2]|0}function Ha(s,l){s=s|0,l=l|0;var c=0;c=s+16|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function lo(s){return s=s|0,n[s+16>>2]|0}function QA(s,l){s=s|0,l=l|0;var c=0;c=s+20|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function mc(s){return s=s|0,n[s+20>>2]|0}function la(s,l){s=s|0,l=l|0;var c=0;c=s+24|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function $h(s){return s=s|0,n[s+24>>2]|0}function yc(s,l){s=s|0,l=l|0;var c=0;c=s+28|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function vm(s){return s=s|0,n[s+28>>2]|0}function eg(s,l){s=s|0,l=l|0;var c=0;c=s+32|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function Kn(s){return s=s|0,n[s+32>>2]|0}function cp(s,l){s=s|0,l=l|0;var c=0;c=s+36|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,qe(s))}function tg(s){return s=s|0,n[s+36>>2]|0}function kA(s,l){s=s|0,l=y(l);var c=0;c=s+40|0,y(h[c>>2])!=l&&(h[c>>2]=l,qe(s))}function Os(s,l){s=s|0,l=y(l);var c=0;c=s+44|0,y(h[c>>2])!=l&&(h[c>>2]=l,qe(s))}function Cu(s,l){s=s|0,l=y(l);var c=0;c=s+48|0,y(h[c>>2])!=l&&(h[c>>2]=l,qe(s))}function qa(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+52|0,d=s+56|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function ji(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+52|0,c=s+56|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,qe(s))}function ca(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+52|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Iu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function ms(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function Ec(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+132+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Cc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function G(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function Dt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+60+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Il(s,l){s=s|0,l=l|0;var c=0;c=s+60+(l<<3)+4|0,(n[c>>2]|0)!=3&&(h[s+60+(l<<3)>>2]=y(he),n[c>>2]=3,qe(s))}function Si(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function Ic(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function lt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+204+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function wu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+276+(l<<3)|0,l=s+276+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,qe(s))}function rg(s,l){return s=s|0,l=l|0,y(h[s+276+(l<<3)>>2])}function sI(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+348|0,d=s+352|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function FA(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+348|0,c=s+352|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,qe(s))}function up(s){s=s|0;var l=0;l=s+352|0,(n[l>>2]|0)!=3&&(h[s+348>>2]=y(he),n[l>>2]=3,qe(s))}function yr(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+348|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function ys(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+356|0,d=s+360|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function ng(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+356|0,c=s+360|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,qe(s))}function ig(s){s=s|0;var l=0;l=s+360|0,(n[l>>2]|0)!=3&&(h[s+356>>2]=y(he),n[l>>2]=3,qe(s))}function sg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+356|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Ap(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function wc(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function mt(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+364|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Dm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function og(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function ag(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+372|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Bu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function Sm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function lg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+380|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function vu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function oI(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,qe(s))}function Pm(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+388|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function ua(s,l){s=s|0,l=y(l);var c=0;c=s+396|0,y(h[c>>2])!=l&&(h[c>>2]=l,qe(s))}function Bc(s){return s=s|0,y(h[s+396>>2])}function wl(s){return s=s|0,y(h[s+400>>2])}function Du(s){return s=s|0,y(h[s+404>>2])}function cg(s){return s=s|0,y(h[s+408>>2])}function RA(s){return s=s|0,y(h[s+412>>2])}function fp(s){return s=s|0,y(h[s+416>>2])}function ja(s){return s=s|0,y(h[s+420>>2])}function ug(s,l){switch(s=s|0,l=l|0,Wn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+424+(l<<2)>>2])}function pp(s,l){switch(s=s|0,l=l|0,Wn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+448+(l<<2)>>2])}function Mo(s,l){switch(s=s|0,l=l|0,Wn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+472+(l<<2)>>2])}function Es(s,l){s=s|0,l=l|0;var c=0,f=$e;return c=n[s+4>>2]|0,(c|0)==(n[l+4>>2]|0)?c?(f=y(h[s>>2]),s=y(ne(y(f-y(h[l>>2]))))<y(999999974e-13)):s=1:s=0,s|0}function Ei(s,l){s=y(s),l=y(l);var c=0;return Ot(s)|0?c=Ot(l)|0:c=y(ne(y(s-l)))<y(999999974e-13),c|0}function xm(s,l){s=s|0,l=l|0,bm(s,l)}function bm(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c+4|0,n[f>>2]=0,n[f+4>>2]=0,n[f+8>>2]=0,La(f|0,s|0,l|0,0),co(s,3,(o[f+11>>0]|0)<0?n[f>>2]|0:f,c),u3e(f),E=c}function Uo(s,l,c,f){s=y(s),l=y(l),c=c|0,f=f|0;var d=$e;s=y(s*l),d=y(CR(s,y(1)));do if(Ei(d,y(0))|0)s=y(s-d);else{if(s=y(s-d),Ei(d,y(1))|0){s=y(s+y(1));break}if(c){s=y(s+y(1));break}f||(d>y(.5)?d=y(1):(f=Ei(d,y(.5))|0,d=y(f?1:0)),s=y(s+d))}while(0);return y(s/l)}function TA(s,l,c,f,d,m,B,Q,k,M,O,j,se){s=s|0,l=y(l),c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,Q=y(Q),k=y(k),M=y(M),O=y(O),j=y(j),se=se|0;var We=0,Oe=$e,Re=$e,et=$e,Ze=$e,at=$e,He=$e;return k<y(0)|M<y(0)?se=0:((se|0)!=0&&(Oe=y(h[se+4>>2]),Oe!=y(0))?(et=y(Uo(l,Oe,0,0)),Ze=y(Uo(f,Oe,0,0)),Re=y(Uo(m,Oe,0,0)),Oe=y(Uo(Q,Oe,0,0))):(Re=m,et=l,Oe=Q,Ze=f),(d|0)==(s|0)?We=Ei(Re,et)|0:We=0,(B|0)==(c|0)?se=Ei(Oe,Ze)|0:se=0,!We&&(at=y(l-O),!(hp(s,at,k)|0))&&!(gp(s,at,d,k)|0)?We=Ag(s,at,d,m,k)|0:We=1,!se&&(He=y(f-j),!(hp(c,He,M)|0))&&!(gp(c,He,B,M)|0)?se=Ag(c,He,B,Q,M)|0:se=1,se=We&se),se|0}function hp(s,l,c){return s=s|0,l=y(l),c=y(c),(s|0)==1?s=Ei(l,c)|0:s=0,s|0}function gp(s,l,c,f){return s=s|0,l=y(l),c=c|0,f=y(f),(s|0)==2&(c|0)==0?l>=f?s=1:s=Ei(l,f)|0:s=0,s|0}function Ag(s,l,c,f,d){return s=s|0,l=y(l),c=c|0,f=y(f),d=y(d),(s|0)==2&(c|0)==2&f>l?d<=l?s=1:s=Ei(l,d)|0:s=0,s|0}function Aa(s,l,c,f,d,m,B,Q,k,M,O){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),k=k|0,M=M|0,O=O|0;var j=0,se=0,We=0,Oe=0,Re=$e,et=$e,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Vt=0,Ir=0,Qr=0,rr=0,Bn=$e,po=$e,ho=$e,go=0,ma=0;rr=E,E=E+160|0,Vt=rr+152|0,ir=rr+120|0,Rr=rr+104|0,He=rr+72|0,Oe=rr+56|0,Tt=rr+8|0,at=rr,Ge=(n[2279]|0)+1|0,n[2279]=Ge,Ir=s+984|0,(o[Ir>>0]|0)!=0&&(n[s+512>>2]|0)!=(n[2278]|0)?Ze=4:(n[s+516>>2]|0)==(f|0)?Qr=0:Ze=4,(Ze|0)==4&&(n[s+520>>2]=0,n[s+924>>2]=-1,n[s+928>>2]=-1,h[s+932>>2]=y(-1),h[s+936>>2]=y(-1),Qr=1);e:do if(n[s+964>>2]|0)if(Re=y(rn(s,2,B)),et=y(rn(s,0,B)),j=s+916|0,ho=y(h[j>>2]),po=y(h[s+920>>2]),Bn=y(h[s+932>>2]),TA(d,l,m,c,n[s+924>>2]|0,ho,n[s+928>>2]|0,po,Bn,y(h[s+936>>2]),Re,et,O)|0)Ze=22;else if(We=n[s+520>>2]|0,!We)Ze=21;else for(se=0;;){if(j=s+524+(se*24|0)|0,Bn=y(h[j>>2]),po=y(h[s+524+(se*24|0)+4>>2]),ho=y(h[s+524+(se*24|0)+16>>2]),TA(d,l,m,c,n[s+524+(se*24|0)+8>>2]|0,Bn,n[s+524+(se*24|0)+12>>2]|0,po,ho,y(h[s+524+(se*24|0)+20>>2]),Re,et,O)|0){Ze=22;break e}if(se=se+1|0,se>>>0>=We>>>0){Ze=21;break}}else{if(k){if(j=s+916|0,!(Ei(y(h[j>>2]),l)|0)){Ze=21;break}if(!(Ei(y(h[s+920>>2]),c)|0)){Ze=21;break}if((n[s+924>>2]|0)!=(d|0)){Ze=21;break}j=(n[s+928>>2]|0)==(m|0)?j:0,Ze=22;break}if(We=n[s+520>>2]|0,!We)Ze=21;else for(se=0;;){if(j=s+524+(se*24|0)|0,Ei(y(h[j>>2]),l)|0&&Ei(y(h[s+524+(se*24|0)+4>>2]),c)|0&&(n[s+524+(se*24|0)+8>>2]|0)==(d|0)&&(n[s+524+(se*24|0)+12>>2]|0)==(m|0)){Ze=22;break e}if(se=se+1|0,se>>>0>=We>>>0){Ze=21;break}}}while(0);do if((Ze|0)==21)o[11697]|0?(j=0,Ze=28):(j=0,Ze=31);else if((Ze|0)==22){if(se=(o[11697]|0)!=0,!((j|0)!=0&(Qr^1)))if(se){Ze=28;break}else{Ze=31;break}Oe=j+16|0,n[s+908>>2]=n[Oe>>2],We=j+20|0,n[s+912>>2]=n[We>>2],(o[11698]|0)==0|se^1||(n[at>>2]=NA(Ge)|0,n[at+4>>2]=Ge,co(s,4,2972,at),se=n[s+972>>2]|0,se|0&&$A[se&127](s),d=Ga(d,k)|0,m=Ga(m,k)|0,ma=+y(h[Oe>>2]),go=+y(h[We>>2]),n[Tt>>2]=d,n[Tt+4>>2]=m,C[Tt+8>>3]=+l,C[Tt+16>>3]=+c,C[Tt+24>>3]=ma,C[Tt+32>>3]=go,n[Tt+40>>2]=M,co(s,4,2989,Tt))}while(0);return(Ze|0)==28&&(se=NA(Ge)|0,n[Oe>>2]=se,n[Oe+4>>2]=Ge,n[Oe+8>>2]=Qr?3047:11699,co(s,4,3038,Oe),se=n[s+972>>2]|0,se|0&&$A[se&127](s),Tt=Ga(d,k)|0,Ze=Ga(m,k)|0,n[He>>2]=Tt,n[He+4>>2]=Ze,C[He+8>>3]=+l,C[He+16>>3]=+c,n[He+24>>2]=M,co(s,4,3049,He),Ze=31),(Ze|0)==31&&(ei(s,l,c,f,d,m,B,Q,k,O),o[11697]|0&&(se=n[2279]|0,Tt=NA(se)|0,n[Rr>>2]=Tt,n[Rr+4>>2]=se,n[Rr+8>>2]=Qr?3047:11699,co(s,4,3083,Rr),se=n[s+972>>2]|0,se|0&&$A[se&127](s),Tt=Ga(d,k)|0,Rr=Ga(m,k)|0,go=+y(h[s+908>>2]),ma=+y(h[s+912>>2]),n[ir>>2]=Tt,n[ir+4>>2]=Rr,C[ir+8>>3]=go,C[ir+16>>3]=ma,n[ir+24>>2]=M,co(s,4,3092,ir)),n[s+516>>2]=f,j||(se=s+520|0,j=n[se>>2]|0,(j|0)==16&&(o[11697]|0&&co(s,4,3124,Vt),n[se>>2]=0,j=0),k?j=s+916|0:(n[se>>2]=j+1,j=s+524+(j*24|0)|0),h[j>>2]=l,h[j+4>>2]=c,n[j+8>>2]=d,n[j+12>>2]=m,n[j+16>>2]=n[s+908>>2],n[j+20>>2]=n[s+912>>2],j=0)),k&&(n[s+416>>2]=n[s+908>>2],n[s+420>>2]=n[s+912>>2],o[s+985>>0]=1,o[Ir>>0]=0),n[2279]=(n[2279]|0)+-1,n[s+512>>2]=n[2278],E=rr,Qr|(j|0)==0|0}function rn(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(K(s,l,c)),y(f+y(te(s,l,c)))}function co(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=E,E=E+16|0,d=m,n[d>>2]=f,s?f=n[s+976>>2]|0:f=0,pg(f,s,l,c,d),E=m}function NA(s){return s=s|0,(s>>>0>60?3201:3201+(60-s)|0)|0}function Ga(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=E,E=E+32|0,c=d+12|0,f=d,n[c>>2]=n[254],n[c+4>>2]=n[255],n[c+8>>2]=n[256],n[f>>2]=n[257],n[f+4>>2]=n[258],n[f+8>>2]=n[259],(s|0)>2?s=11699:s=n[(l?f:c)+(s<<2)>>2]|0,E=d,s|0}function ei(s,l,c,f,d,m,B,Q,k,M){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),k=k|0,M=M|0;var O=0,j=0,se=0,We=0,Oe=$e,Re=$e,et=$e,Ze=$e,at=$e,He=$e,Ge=$e,Tt=0,Rr=0,ir=0,Vt=$e,Ir=$e,Qr=0,rr=$e,Bn=0,po=0,ho=0,go=0,ma=0,bp=0,Qp=0,xl=0,kp=0,Nu=0,Lu=0,Fp=0,Rp=0,Tp=0,Vr=0,bl=0,Np=0,bc=0,Lp=$e,Op=$e,Ou=$e,Mu=$e,Qc=$e,Us=0,Xa=0,Ho=0,Ql=0,tf=0,rf=$e,Uu=$e,nf=$e,sf=$e,_s=$e,ws=$e,kl=0,Pn=$e,of=$e,mo=$e,kc=$e,yo=$e,Fc=$e,af=0,lf=0,Rc=$e,Hs=$e,Fl=0,cf=0,uf=0,Af=0,vr=$e,jn=0,Bs=0,Eo=0,qs=0,Pr=0,lr=0,Rl=0,Wt=$e,ff=0,ni=0;Rl=E,E=E+16|0,Us=Rl+12|0,Xa=Rl+8|0,Ho=Rl+4|0,Ql=Rl,Wn(s,(d|0)==0|(Ot(l)|0)^1,3326),Wn(s,(m|0)==0|(Ot(c)|0)^1,3406),Bs=gt(s,f)|0,n[s+496>>2]=Bs,Pr=ur(2,Bs)|0,lr=ur(0,Bs)|0,h[s+440>>2]=y(K(s,Pr,B)),h[s+444>>2]=y(te(s,Pr,B)),h[s+428>>2]=y(K(s,lr,B)),h[s+436>>2]=y(te(s,lr,B)),h[s+464>>2]=y(gr(s,Pr)),h[s+468>>2]=y(hn(s,Pr)),h[s+452>>2]=y(gr(s,lr)),h[s+460>>2]=y(hn(s,lr)),h[s+488>>2]=y(ti(s,Pr,B)),h[s+492>>2]=y(Ni(s,Pr,B)),h[s+476>>2]=y(ti(s,lr,B)),h[s+484>>2]=y(Ni(s,lr,B));do if(n[s+964>>2]|0)gg(s,l,c,d,m,B,Q);else{if(Eo=s+948|0,qs=(n[s+952>>2]|0)-(n[Eo>>2]|0)>>2,!qs){Bv(s,l,c,d,m,B,Q);break}if(!k&&vv(s,l,c,d,m,B,Q)|0)break;ee(s),bl=s+508|0,o[bl>>0]=0,Pr=ur(n[s+4>>2]|0,Bs)|0,lr=lI(Pr,Bs)|0,jn=ue(Pr)|0,Np=n[s+8>>2]|0,cf=s+28|0,bc=(n[cf>>2]|0)!=0,yo=jn?B:Q,Rc=jn?Q:B,Lp=y(mp(s,Pr,B)),Op=y(cI(s,Pr,B)),Oe=y(mp(s,lr,B)),Fc=y(gn(s,Pr,B)),Hs=y(gn(s,lr,B)),ir=jn?d:m,Fl=jn?m:d,vr=jn?Fc:Hs,at=jn?Hs:Fc,kc=y(rn(s,2,B)),Ze=y(rn(s,0,B)),Re=y(y(Hr(s+364|0,B))-vr),et=y(y(Hr(s+380|0,B))-vr),He=y(y(Hr(s+372|0,Q))-at),Ge=y(y(Hr(s+388|0,Q))-at),Ou=jn?Re:He,Mu=jn?et:Ge,kc=y(l-kc),l=y(kc-vr),Ot(l)|0?vr=l:vr=y(Nn(y(Pg(l,et)),Re)),of=y(c-Ze),l=y(of-at),Ot(l)|0?mo=l:mo=y(Nn(y(Pg(l,Ge)),He)),Re=jn?vr:mo,Pn=jn?mo:vr;e:do if((ir|0)==1)for(f=0,j=0;;){if(O=Ts(s,j)|0,!f)y(rs(O))>y(0)&&y(Ms(O))>y(0)?f=O:f=0;else if(km(O)|0){We=0;break e}if(j=j+1|0,j>>>0>=qs>>>0){We=f;break}}else We=0;while(0);Tt=We+500|0,Rr=We+504|0,f=0,O=0,l=y(0),se=0;do{if(j=n[(n[Eo>>2]|0)+(se<<2)>>2]|0,(n[j+36>>2]|0)==1)Su(j),o[j+985>>0]=1,o[j+984>>0]=0;else{Bl(j),k&&dp(j,gt(j,Bs)|0,Re,Pn,vr);do if((n[j+24>>2]|0)!=1)if((j|0)==(We|0)){n[Tt>>2]=n[2278],h[Rr>>2]=y(0);break}else{Fm(s,j,vr,d,mo,vr,mo,m,Bs,M);break}else O|0&&(n[O+960>>2]=j),n[j+960>>2]=0,O=j,f=(f|0)==0?j:f;while(0);ws=y(h[j+504>>2]),l=y(l+y(ws+y(rn(j,Pr,vr))))}se=se+1|0}while((se|0)!=(qs|0));for(ho=l>Re,kl=bc&((ir|0)==2&ho)?1:ir,Bn=(Fl|0)==1,ma=Bn&(k^1),bp=(kl|0)==1,Qp=(kl|0)==2,xl=976+(Pr<<2)|0,kp=(Fl|2|0)==2,Tp=Bn&(bc^1),Nu=1040+(lr<<2)|0,Lu=1040+(Pr<<2)|0,Fp=976+(lr<<2)|0,Rp=(Fl|0)!=1,ho=bc&((ir|0)!=0&ho),po=s+976|0,Bn=Bn^1,l=Re,Qr=0,go=0,ws=y(0),Qc=y(0);;){e:do if(Qr>>>0<qs>>>0)for(Rr=n[Eo>>2]|0,se=0,Ge=y(0),He=y(0),et=y(0),Re=y(0),j=0,O=0,We=Qr;;){if(Tt=n[Rr+(We<<2)>>2]|0,(n[Tt+36>>2]|0)!=1&&(n[Tt+940>>2]=go,(n[Tt+24>>2]|0)!=1)){if(Ze=y(rn(Tt,Pr,vr)),Vr=n[xl>>2]|0,c=y(Hr(Tt+380+(Vr<<3)|0,yo)),at=y(h[Tt+504>>2]),c=y(Pg(c,at)),c=y(Nn(y(Hr(Tt+364+(Vr<<3)|0,yo)),c)),bc&(se|0)!=0&y(Ze+y(He+c))>l){m=se,Ze=Ge,ir=We;break e}Ze=y(Ze+c),c=y(He+Ze),Ze=y(Ge+Ze),km(Tt)|0&&(et=y(et+y(rs(Tt))),Re=y(Re-y(at*y(Ms(Tt))))),O|0&&(n[O+960>>2]=Tt),n[Tt+960>>2]=0,se=se+1|0,O=Tt,j=(j|0)==0?Tt:j}else Ze=Ge,c=He;if(We=We+1|0,We>>>0<qs>>>0)Ge=Ze,He=c;else{m=se,ir=We;break}}else m=0,Ze=y(0),et=y(0),Re=y(0),j=0,ir=Qr;while(0);Vr=et>y(0)&et<y(1),Vt=Vr?y(1):et,Vr=Re>y(0)&Re<y(1),Ge=Vr?y(1):Re;do if(bp)Vr=51;else if(Ze<Ou&((Ot(Ou)|0)^1))l=Ou,Vr=51;else if(Ze>Mu&((Ot(Mu)|0)^1))l=Mu,Vr=51;else if(o[(n[po>>2]|0)+3>>0]|0)Vr=51;else{if(Vt!=y(0)&&y(rs(s))!=y(0)){Vr=53;break}l=Ze,Vr=53}while(0);if((Vr|0)==51&&(Vr=0,Ot(l)|0?Vr=53:(Ir=y(l-Ze),rr=l)),(Vr|0)==53&&(Vr=0,Ze<y(0)?(Ir=y(-Ze),rr=l):(Ir=y(0),rr=l)),!ma&&(tf=(j|0)==0,!tf)){se=n[xl>>2]|0,We=Ir<y(0),at=y(Ir/Ge),Tt=Ir>y(0),He=y(Ir/Vt),et=y(0),Ze=y(0),l=y(0),O=j;do c=y(Hr(O+380+(se<<3)|0,yo)),Re=y(Hr(O+364+(se<<3)|0,yo)),Re=y(Pg(c,y(Nn(Re,y(h[O+504>>2]))))),We?(c=y(Re*y(Ms(O))),c!=y(-0)&&(Wt=y(Re-y(at*c)),rf=y(Ci(O,Pr,Wt,rr,vr)),Wt!=rf)&&(et=y(et-y(rf-Re)),l=y(l+c))):Tt&&(Uu=y(rs(O)),Uu!=y(0))&&(Wt=y(Re+y(He*Uu)),nf=y(Ci(O,Pr,Wt,rr,vr)),Wt!=nf)&&(et=y(et-y(nf-Re)),Ze=y(Ze-Uu)),O=n[O+960>>2]|0;while((O|0)!=0);if(l=y(Ge+l),Re=y(Ir+et),tf)l=y(0);else{at=y(Vt+Ze),We=n[xl>>2]|0,Tt=Re<y(0),Rr=l==y(0),He=y(Re/l),se=Re>y(0),at=y(Re/at),l=y(0);do{Wt=y(Hr(j+380+(We<<3)|0,yo)),et=y(Hr(j+364+(We<<3)|0,yo)),et=y(Pg(Wt,y(Nn(et,y(h[j+504>>2]))))),Tt?(Wt=y(et*y(Ms(j))),Re=y(-Wt),Wt!=y(-0)?(Wt=y(He*Re),Re=y(Ci(j,Pr,y(et+(Rr?Re:Wt)),rr,vr))):Re=et):se&&(sf=y(rs(j)),sf!=y(0))?Re=y(Ci(j,Pr,y(et+y(at*sf)),rr,vr)):Re=et,l=y(l-y(Re-et)),Ze=y(rn(j,Pr,vr)),c=y(rn(j,lr,vr)),Re=y(Re+Ze),h[Xa>>2]=Re,n[Ql>>2]=1,et=y(h[j+396>>2]);e:do if(Ot(et)|0){O=Ot(Pn)|0;do if(!O){if(ho|(ts(j,lr,Pn)|0|Bn)||(pa(s,j)|0)!=4||(n[(vl(j,lr)|0)+4>>2]|0)==3||(n[(Sc(j,lr)|0)+4>>2]|0)==3)break;h[Us>>2]=Pn,n[Ho>>2]=1;break e}while(0);if(ts(j,lr,Pn)|0){O=n[j+992+(n[Fp>>2]<<2)>>2]|0,Wt=y(c+y(Hr(O,Pn))),h[Us>>2]=Wt,O=Rp&(n[O+4>>2]|0)==2,n[Ho>>2]=((Ot(Wt)|0|O)^1)&1;break}else{h[Us>>2]=Pn,n[Ho>>2]=O?0:2;break}}else Wt=y(Re-Ze),Vt=y(Wt/et),Wt=y(et*Wt),n[Ho>>2]=1,h[Us>>2]=y(c+(jn?Vt:Wt));while(0);pr(j,Pr,rr,vr,Ql,Xa),pr(j,lr,Pn,vr,Ho,Us);do if(!(ts(j,lr,Pn)|0)&&(pa(s,j)|0)==4){if((n[(vl(j,lr)|0)+4>>2]|0)==3){O=0;break}O=(n[(Sc(j,lr)|0)+4>>2]|0)!=3}else O=0;while(0);Wt=y(h[Xa>>2]),Vt=y(h[Us>>2]),ff=n[Ql>>2]|0,ni=n[Ho>>2]|0,Aa(j,jn?Wt:Vt,jn?Vt:Wt,Bs,jn?ff:ni,jn?ni:ff,vr,mo,k&(O^1),3488,M)|0,o[bl>>0]=o[bl>>0]|o[j+508>>0],j=n[j+960>>2]|0}while((j|0)!=0)}}else l=y(0);if(l=y(Ir+l),ni=l<y(0)&1,o[bl>>0]=ni|u[bl>>0],Qp&l>y(0)?(O=n[xl>>2]|0,(n[s+364+(O<<3)+4>>2]|0)!=0&&(_s=y(Hr(s+364+(O<<3)|0,yo)),_s>=y(0))?Re=y(Nn(y(0),y(_s-y(rr-l)))):Re=y(0)):Re=l,Tt=Qr>>>0<ir>>>0,Tt){We=n[Eo>>2]|0,se=Qr,O=0;do j=n[We+(se<<2)>>2]|0,n[j+24>>2]|0||(O=((n[(vl(j,Pr)|0)+4>>2]|0)==3&1)+O|0,O=O+((n[(Sc(j,Pr)|0)+4>>2]|0)==3&1)|0),se=se+1|0;while((se|0)!=(ir|0));O?(Ze=y(0),c=y(0)):Vr=101}else Vr=101;e:do if((Vr|0)==101)switch(Vr=0,Np|0){case 1:{O=0,Ze=y(Re*y(.5)),c=y(0);break e}case 2:{O=0,Ze=Re,c=y(0);break e}case 3:{if(m>>>0<=1){O=0,Ze=y(0),c=y(0);break e}c=y((m+-1|0)>>>0),O=0,Ze=y(0),c=y(y(Nn(Re,y(0)))/c);break e}case 5:{c=y(Re/y((m+1|0)>>>0)),O=0,Ze=c;break e}case 4:{c=y(Re/y(m>>>0)),O=0,Ze=y(c*y(.5));break e}default:{O=0,Ze=y(0),c=y(0);break e}}while(0);if(l=y(Lp+Ze),Tt){et=y(Re/y(O|0)),se=n[Eo>>2]|0,j=Qr,Re=y(0);do{O=n[se+(j<<2)>>2]|0;e:do if((n[O+36>>2]|0)!=1){switch(n[O+24>>2]|0){case 1:{if(Ai(O,Pr)|0){if(!k)break e;Wt=y(Fr(O,Pr,rr)),Wt=y(Wt+y(gr(s,Pr))),Wt=y(Wt+y(K(O,Pr,vr))),h[O+400+(n[Lu>>2]<<2)>>2]=Wt;break e}break}case 0:if(ni=(n[(vl(O,Pr)|0)+4>>2]|0)==3,Wt=y(et+l),l=ni?Wt:l,k&&(ni=O+400+(n[Lu>>2]<<2)|0,h[ni>>2]=y(l+y(h[ni>>2]))),ni=(n[(Sc(O,Pr)|0)+4>>2]|0)==3,Wt=y(et+l),l=ni?Wt:l,ma){Wt=y(c+y(rn(O,Pr,vr))),Re=Pn,l=y(l+y(Wt+y(h[O+504>>2])));break e}else{l=y(l+y(c+y(ns(O,Pr,vr)))),Re=y(Nn(Re,y(ns(O,lr,vr))));break e}default:}k&&(Wt=y(Ze+y(gr(s,Pr))),ni=O+400+(n[Lu>>2]<<2)|0,h[ni>>2]=y(Wt+y(h[ni>>2])))}while(0);j=j+1|0}while((j|0)!=(ir|0))}else Re=y(0);if(c=y(Op+l),kp?Ze=y(y(Ci(s,lr,y(Hs+Re),Rc,B))-Hs):Ze=Pn,et=y(y(Ci(s,lr,y(Hs+(Tp?Pn:Re)),Rc,B))-Hs),Tt&k){j=Qr;do{se=n[(n[Eo>>2]|0)+(j<<2)>>2]|0;do if((n[se+36>>2]|0)!=1){if((n[se+24>>2]|0)==1){if(Ai(se,lr)|0){if(Wt=y(Fr(se,lr,Pn)),Wt=y(Wt+y(gr(s,lr))),Wt=y(Wt+y(K(se,lr,vr))),O=n[Nu>>2]|0,h[se+400+(O<<2)>>2]=Wt,!(Ot(Wt)|0))break}else O=n[Nu>>2]|0;Wt=y(gr(s,lr)),h[se+400+(O<<2)>>2]=y(Wt+y(K(se,lr,vr)));break}O=pa(s,se)|0;do if((O|0)==4){if((n[(vl(se,lr)|0)+4>>2]|0)==3){Vr=139;break}if((n[(Sc(se,lr)|0)+4>>2]|0)==3){Vr=139;break}if(ts(se,lr,Pn)|0){l=Oe;break}ff=n[se+908+(n[xl>>2]<<2)>>2]|0,n[Us>>2]=ff,l=y(h[se+396>>2]),ni=Ot(l)|0,Re=(n[v>>2]=ff,y(h[v>>2])),ni?l=et:(Ir=y(rn(se,lr,vr)),Wt=y(Re/l),l=y(l*Re),l=y(Ir+(jn?Wt:l))),h[Xa>>2]=l,h[Us>>2]=y(y(rn(se,Pr,vr))+Re),n[Ho>>2]=1,n[Ql>>2]=1,pr(se,Pr,rr,vr,Ho,Us),pr(se,lr,Pn,vr,Ql,Xa),l=y(h[Us>>2]),Ir=y(h[Xa>>2]),Wt=jn?l:Ir,l=jn?Ir:l,ni=((Ot(Wt)|0)^1)&1,Aa(se,Wt,l,Bs,ni,((Ot(l)|0)^1)&1,vr,mo,1,3493,M)|0,l=Oe}else Vr=139;while(0);e:do if((Vr|0)==139){Vr=0,l=y(Ze-y(ns(se,lr,vr)));do if((n[(vl(se,lr)|0)+4>>2]|0)==3){if((n[(Sc(se,lr)|0)+4>>2]|0)!=3)break;l=y(Oe+y(Nn(y(0),y(l*y(.5)))));break e}while(0);if((n[(Sc(se,lr)|0)+4>>2]|0)==3){l=Oe;break}if((n[(vl(se,lr)|0)+4>>2]|0)==3){l=y(Oe+y(Nn(y(0),l)));break}switch(O|0){case 1:{l=Oe;break e}case 2:{l=y(Oe+y(l*y(.5)));break e}default:{l=y(Oe+l);break e}}}while(0);Wt=y(ws+l),ni=se+400+(n[Nu>>2]<<2)|0,h[ni>>2]=y(Wt+y(h[ni>>2]))}while(0);j=j+1|0}while((j|0)!=(ir|0))}if(ws=y(ws+et),Qc=y(Nn(Qc,c)),m=go+1|0,ir>>>0>=qs>>>0)break;l=rr,Qr=ir,go=m}do if(k){if(O=m>>>0>1,!O&&!(Gi(s)|0))break;if(!(Ot(Pn)|0)){l=y(Pn-ws);e:do switch(n[s+12>>2]|0){case 3:{Oe=y(Oe+l),He=y(0);break}case 2:{Oe=y(Oe+y(l*y(.5))),He=y(0);break}case 4:{Pn>ws?He=y(l/y(m>>>0)):He=y(0);break}case 7:if(Pn>ws){Oe=y(Oe+y(l/y(m<<1>>>0))),He=y(l/y(m>>>0)),He=O?He:y(0);break e}else{Oe=y(Oe+y(l*y(.5))),He=y(0);break e}case 6:{He=y(l/y(go>>>0)),He=Pn>ws&O?He:y(0);break}default:He=y(0)}while(0);if(m|0)for(Tt=1040+(lr<<2)|0,Rr=976+(lr<<2)|0,We=0,j=0;;){e:do if(j>>>0<qs>>>0)for(Re=y(0),et=y(0),l=y(0),se=j;;){O=n[(n[Eo>>2]|0)+(se<<2)>>2]|0;do if((n[O+36>>2]|0)!=1&&(n[O+24>>2]|0)==0){if((n[O+940>>2]|0)!=(We|0))break e;if(Rm(O,lr)|0&&(Wt=y(h[O+908+(n[Rr>>2]<<2)>>2]),l=y(Nn(l,y(Wt+y(rn(O,lr,vr)))))),(pa(s,O)|0)!=5)break;_s=y(Ya(O)),_s=y(_s+y(K(O,0,vr))),Wt=y(h[O+912>>2]),Wt=y(y(Wt+y(rn(O,0,vr)))-_s),_s=y(Nn(et,_s)),Wt=y(Nn(Re,Wt)),Re=Wt,et=_s,l=y(Nn(l,y(_s+Wt)))}while(0);if(O=se+1|0,O>>>0<qs>>>0)se=O;else{se=O;break}}else et=y(0),l=y(0),se=j;while(0);if(at=y(He+l),c=Oe,Oe=y(Oe+at),j>>>0<se>>>0){Ze=y(c+et),O=j;do{j=n[(n[Eo>>2]|0)+(O<<2)>>2]|0;e:do if((n[j+36>>2]|0)!=1&&(n[j+24>>2]|0)==0)switch(pa(s,j)|0){case 1:{Wt=y(c+y(K(j,lr,vr))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 3:{Wt=y(y(Oe-y(te(j,lr,vr)))-y(h[j+908+(n[Rr>>2]<<2)>>2])),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 2:{Wt=y(c+y(y(at-y(h[j+908+(n[Rr>>2]<<2)>>2]))*y(.5))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 4:{if(Wt=y(c+y(K(j,lr,vr))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt,ts(j,lr,Pn)|0||(jn?(Re=y(h[j+908>>2]),l=y(Re+y(rn(j,Pr,vr))),et=at):(et=y(h[j+912>>2]),et=y(et+y(rn(j,lr,vr))),l=at,Re=y(h[j+908>>2])),Ei(l,Re)|0&&Ei(et,y(h[j+912>>2]))|0))break e;Aa(j,l,et,Bs,1,1,vr,mo,1,3501,M)|0;break e}case 5:{h[j+404>>2]=y(y(Ze-y(Ya(j)))+y(Fr(j,0,Pn)));break e}default:break e}while(0);O=O+1|0}while((O|0)!=(se|0))}if(We=We+1|0,(We|0)==(m|0))break;j=se}}}while(0);if(h[s+908>>2]=y(Ci(s,2,kc,B,B)),h[s+912>>2]=y(Ci(s,0,of,Q,B)),(kl|0)!=0&&(af=n[s+32>>2]|0,lf=(kl|0)==2,!(lf&(af|0)!=2))?lf&(af|0)==2&&(l=y(Fc+rr),l=y(Nn(y(Pg(l,y(LA(s,Pr,Qc,yo)))),Fc)),Vr=198):(l=y(Ci(s,Pr,Qc,yo,B)),Vr=198),(Vr|0)==198&&(h[s+908+(n[976+(Pr<<2)>>2]<<2)>>2]=l),(Fl|0)!=0&&(uf=n[s+32>>2]|0,Af=(Fl|0)==2,!(Af&(uf|0)!=2))?Af&(uf|0)==2&&(l=y(Hs+Pn),l=y(Nn(y(Pg(l,y(LA(s,lr,y(Hs+ws),Rc)))),Hs)),Vr=204):(l=y(Ci(s,lr,y(Hs+ws),Rc,B)),Vr=204),(Vr|0)==204&&(h[s+908+(n[976+(lr<<2)>>2]<<2)>>2]=l),k){if((n[cf>>2]|0)==2){j=976+(lr<<2)|0,se=1040+(lr<<2)|0,O=0;do We=Ts(s,O)|0,n[We+24>>2]|0||(ff=n[j>>2]|0,Wt=y(h[s+908+(ff<<2)>>2]),ni=We+400+(n[se>>2]<<2)|0,Wt=y(Wt-y(h[ni>>2])),h[ni>>2]=y(Wt-y(h[We+908+(ff<<2)>>2]))),O=O+1|0;while((O|0)!=(qs|0))}if(f|0){O=jn?kl:d;do Tm(s,f,vr,O,mo,Bs,M),f=n[f+960>>2]|0;while((f|0)!=0)}if(O=(Pr|2|0)==3,j=(lr|2|0)==3,O|j){f=0;do se=n[(n[Eo>>2]|0)+(f<<2)>>2]|0,(n[se+36>>2]|0)!=1&&(O&&yp(s,se,Pr),j&&yp(s,se,lr)),f=f+1|0;while((f|0)!=(qs|0))}}}while(0);E=Rl}function fa(s,l){s=s|0,l=y(l);var c=0;ra(s,l>=y(0),3147),c=l==y(0),h[s+4>>2]=c?y(0):l}function vc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=f|0;var d=$e,m=$e,B=0,Q=0,k=0;n[2278]=(n[2278]|0)+1,Bl(s),ts(s,2,l)|0?(d=y(Hr(n[s+992>>2]|0,l)),k=1,d=y(d+y(rn(s,2,l)))):(d=y(Hr(s+380|0,l)),d>=y(0)?k=2:(k=((Ot(l)|0)^1)&1,d=l)),ts(s,0,c)|0?(m=y(Hr(n[s+996>>2]|0,c)),Q=1,m=y(m+y(rn(s,0,l)))):(m=y(Hr(s+388|0,c)),m>=y(0)?Q=2:(Q=((Ot(c)|0)^1)&1,m=c)),B=s+976|0,Aa(s,d,m,f,k,Q,l,c,1,3189,n[B>>2]|0)|0&&(dp(s,n[s+496>>2]|0,l,c,l),Dc(s,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),o[11696]|0)&&xm(s,7)}function Bl(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;Q=E,E=E+32|0,B=Q+24|0,m=Q+16|0,f=Q+8|0,d=Q,c=0;do l=s+380+(c<<3)|0,(n[s+380+(c<<3)+4>>2]|0)!=0&&(k=l,M=n[k+4>>2]|0,O=f,n[O>>2]=n[k>>2],n[O+4>>2]=M,O=s+364+(c<<3)|0,M=n[O+4>>2]|0,k=d,n[k>>2]=n[O>>2],n[k+4>>2]=M,n[m>>2]=n[f>>2],n[m+4>>2]=n[f+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],Es(m,B)|0)||(l=s+348+(c<<3)|0),n[s+992+(c<<2)>>2]=l,c=c+1|0;while((c|0)!=2);E=Q}function ts(s,l,c){s=s|0,l=l|0,c=y(c);var f=0;switch(s=n[s+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[s+4>>2]|0){case 0:case 3:{s=0;break}case 1:{y(h[s>>2])<y(0)?s=0:f=5;break}case 2:{y(h[s>>2])<y(0)?s=0:s=(Ot(c)|0)^1;break}default:f=5}return(f|0)==5&&(s=1),s|0}function Hr(s,l){switch(s=s|0,l=y(l),n[s+4>>2]|0){case 2:{l=y(y(y(h[s>>2])*l)/y(100));break}case 1:{l=y(h[s>>2]);break}default:l=y(he)}return y(l)}function dp(s,l,c,f,d){s=s|0,l=l|0,c=y(c),f=y(f),d=y(d);var m=0,B=$e;l=n[s+944>>2]|0?l:1,m=ur(n[s+4>>2]|0,l)|0,l=lI(m,l)|0,c=y(Nm(s,m,c)),f=y(Nm(s,l,f)),B=y(c+y(K(s,m,d))),h[s+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,c=y(c+y(te(s,m,d))),h[s+400+(n[1e3+(m<<2)>>2]<<2)>>2]=c,c=y(f+y(K(s,l,d))),h[s+400+(n[1040+(l<<2)>>2]<<2)>>2]=c,d=y(f+y(te(s,l,d))),h[s+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function Dc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=y(f);var d=0,m=0,B=$e,Q=$e,k=0,M=0,O=$e,j=0,se=$e,We=$e,Oe=$e,Re=$e;if(l!=y(0)&&(d=s+400|0,Re=y(h[d>>2]),m=s+404|0,Oe=y(h[m>>2]),j=s+416|0,We=y(h[j>>2]),M=s+420|0,B=y(h[M>>2]),se=y(Re+c),O=y(Oe+f),f=y(se+We),Q=y(O+B),k=(n[s+988>>2]|0)==1,h[d>>2]=y(Uo(Re,l,0,k)),h[m>>2]=y(Uo(Oe,l,0,k)),c=y(CR(y(We*l),y(1))),Ei(c,y(0))|0?m=0:m=(Ei(c,y(1))|0)^1,c=y(CR(y(B*l),y(1))),Ei(c,y(0))|0?d=0:d=(Ei(c,y(1))|0)^1,Re=y(Uo(f,l,k&m,k&(m^1))),h[j>>2]=y(Re-y(Uo(se,l,0,k))),Re=y(Uo(Q,l,k&d,k&(d^1))),h[M>>2]=y(Re-y(Uo(O,l,0,k))),m=(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2,m|0)){d=0;do Dc(Ts(s,d)|0,l,se,O),d=d+1|0;while((d|0)!=(m|0))}}function aI(s,l,c,f,d){switch(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,c|0){case 5:case 0:{s=JG(n[489]|0,f,d)|0;break}default:s=o3e(f,d)|0}return s|0}function fg(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;d=E,E=E+16|0,m=d,n[m>>2]=f,pg(s,0,l,c,m),E=d}function pg(s,l,c,f,d){if(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,s=s|0?s:956,g7[n[s+8>>2]&1](s,l,c,f,d)|0,(c|0)==5)Rt();else return}function Wa(s,l,c){s=s|0,l=l|0,c=c|0,o[s+l>>0]=c&1}function Qm(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(hg(s,f),kt(s,n[l>>2]|0,n[c>>2]|0,f))}function hg(s,l){s=s|0,l=l|0;var c=0;if((N(s)|0)>>>0<l>>>0&&Jr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function kt(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Cr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function N(s){return s=s|0,1073741823}function K(s,l,c){return s=s|0,l=l|0,c=y(c),ue(l)|0&&(n[s+96>>2]|0)!=0?s=s+92|0:s=Sn(s+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function te(s,l,c){return s=s|0,l=l|0,c=y(c),ue(l)|0&&(n[s+104>>2]|0)!=0?s=s+100|0:s=Sn(s+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function ue(s){return s=s|0,(s|1|0)==3|0}function ze(s,l){return s=s|0,l=y(l),(n[s+4>>2]|0)==3?l=y(0):l=y(Hr(s,l)),y(l)}function gt(s,l){return s=s|0,l=l|0,s=n[s>>2]|0,((s|0)==0?(l|0)>1?l:1:s)|0}function ur(s,l){s=s|0,l=l|0;var c=0;e:do if((l|0)==2){switch(s|0){case 2:{s=3;break e}case 3:break;default:{c=4;break e}}s=2}else c=4;while(0);return s|0}function gr(s,l){s=s|0,l=l|0;var c=$e;return ue(l)|0&&(n[s+312>>2]|0)!=0&&(c=y(h[s+308>>2]),c>=y(0))||(c=y(Nn(y(h[(Sn(s+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function hn(s,l){s=s|0,l=l|0;var c=$e;return ue(l)|0&&(n[s+320>>2]|0)!=0&&(c=y(h[s+316>>2]),c>=y(0))||(c=y(Nn(y(h[(Sn(s+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function ti(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return ue(l)|0&&(n[s+240>>2]|0)!=0&&(f=y(Hr(s+236|0,c)),f>=y(0))||(f=y(Nn(y(Hr(Sn(s+204|0,n[1040+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function Ni(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return ue(l)|0&&(n[s+248>>2]|0)!=0&&(f=y(Hr(s+244|0,c)),f>=y(0))||(f=y(Nn(y(Hr(Sn(s+204|0,n[1e3+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function gg(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=$e,k=$e,M=$e,O=$e,j=$e,se=$e,We=0,Oe=0,Re=0;Re=E,E=E+16|0,We=Re,Oe=s+964|0,Wn(s,(n[Oe>>2]|0)!=0,3519),Q=y(gn(s,2,l)),k=y(gn(s,0,l)),M=y(rn(s,2,l)),O=y(rn(s,0,l)),Ot(l)|0?j=l:j=y(Nn(y(0),y(y(l-M)-Q))),Ot(c)|0?se=c:se=y(Nn(y(0),y(y(c-O)-k))),(f|0)==1&(d|0)==1?(h[s+908>>2]=y(Ci(s,2,y(l-M),m,m)),l=y(Ci(s,0,y(c-O),B,m))):(d7[n[Oe>>2]&1](We,s,j,f,se,d),j=y(Q+y(h[We>>2])),se=y(l-M),h[s+908>>2]=y(Ci(s,2,(f|2|0)==2?j:se,m,m)),se=y(k+y(h[We+4>>2])),l=y(c-O),l=y(Ci(s,0,(d|2|0)==2?se:l,B,m))),h[s+912>>2]=l,E=Re}function Bv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=$e,k=$e,M=$e,O=$e;M=y(gn(s,2,m)),Q=y(gn(s,0,m)),O=y(rn(s,2,m)),k=y(rn(s,0,m)),l=y(l-O),h[s+908>>2]=y(Ci(s,2,(f|2|0)==2?M:l,m,m)),c=y(c-k),h[s+912>>2]=y(Ci(s,0,(d|2|0)==2?Q:c,B,m))}function vv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=0,k=$e,M=$e;return Q=(f|0)==2,!(l<=y(0)&Q)&&!(c<=y(0)&(d|0)==2)&&!((f|0)==1&(d|0)==1)?s=0:(k=y(rn(s,0,m)),M=y(rn(s,2,m)),Q=l<y(0)&Q|(Ot(l)|0),l=y(l-M),h[s+908>>2]=y(Ci(s,2,Q?y(0):l,m,m)),l=y(c-k),Q=c<y(0)&(d|0)==2|(Ot(c)|0),h[s+912>>2]=y(Ci(s,0,Q?y(0):l,B,m)),s=1),s|0}function lI(s,l){return s=s|0,l=l|0,OA(s)|0?s=ur(2,l)|0:s=0,s|0}function mp(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(ti(s,l,c)),y(c+y(gr(s,l)))}function cI(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(Ni(s,l,c)),y(c+y(hn(s,l)))}function gn(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(mp(s,l,c)),y(f+y(cI(s,l,c)))}function km(s){return s=s|0,n[s+24>>2]|0?s=0:y(rs(s))!=y(0)?s=1:s=y(Ms(s))!=y(0),s|0}function rs(s){s=s|0;var l=$e;if(n[s+944>>2]|0){if(l=y(h[s+44>>2]),Ot(l)|0)return l=y(h[s+40>>2]),s=l>y(0)&((Ot(l)|0)^1),y(s?l:y(0))}else l=y(0);return y(l)}function Ms(s){s=s|0;var l=$e,c=0,f=$e;do if(n[s+944>>2]|0){if(l=y(h[s+48>>2]),Ot(l)|0){if(c=o[(n[s+976>>2]|0)+2>>0]|0,c<<24>>24==0&&(f=y(h[s+40>>2]),f<y(0)&((Ot(f)|0)^1))){l=y(-f);break}l=c<<24>>24?y(1):y(0)}}else l=y(0);while(0);return y(l)}function Su(s){s=s|0;var l=0,c=0;if(Jm(s+400|0,0,540)|0,o[s+985>>0]=1,ee(s),c=Zi(s)|0,c|0){l=s+948|0,s=0;do Su(n[(n[l>>2]|0)+(s<<2)>>2]|0),s=s+1|0;while((s|0)!=(c|0))}}function Fm(s,l,c,f,d,m,B,Q,k,M){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=y(m),B=y(B),Q=Q|0,k=k|0,M=M|0;var O=0,j=$e,se=0,We=0,Oe=$e,Re=$e,et=0,Ze=$e,at=0,He=$e,Ge=0,Tt=0,Rr=0,ir=0,Vt=0,Ir=0,Qr=0,rr=0,Bn=0,po=0;Bn=E,E=E+16|0,Rr=Bn+12|0,ir=Bn+8|0,Vt=Bn+4|0,Ir=Bn,rr=ur(n[s+4>>2]|0,k)|0,Ge=ue(rr)|0,j=y(Hr(uI(l)|0,Ge?m:B)),Tt=ts(l,2,m)|0,Qr=ts(l,0,B)|0;do if(!(Ot(j)|0)&&!(Ot(Ge?c:d)|0)){if(O=l+504|0,!(Ot(y(h[O>>2]))|0)&&(!(AI(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[O>>2]=y(Nn(j,y(gn(l,rr,m))))}else se=7;while(0);do if((se|0)==7){if(at=Ge^1,!(at|Tt^1)){B=y(Hr(n[l+992>>2]|0,m)),h[l+504>>2]=y(Nn(B,y(gn(l,2,m))));break}if(!(Ge|Qr^1)){B=y(Hr(n[l+996>>2]|0,B)),h[l+504>>2]=y(Nn(B,y(gn(l,0,m))));break}h[Rr>>2]=y(he),h[ir>>2]=y(he),n[Vt>>2]=0,n[Ir>>2]=0,Ze=y(rn(l,2,m)),He=y(rn(l,0,m)),Tt?(Oe=y(Ze+y(Hr(n[l+992>>2]|0,m))),h[Rr>>2]=Oe,n[Vt>>2]=1,We=1):(We=0,Oe=y(he)),Qr?(j=y(He+y(Hr(n[l+996>>2]|0,B))),h[ir>>2]=j,n[Ir>>2]=1,O=1):(O=0,j=y(he)),se=n[s+32>>2]|0,Ge&(se|0)==2?se=2:Ot(Oe)|0&&!(Ot(c)|0)&&(h[Rr>>2]=c,n[Vt>>2]=2,We=2,Oe=c),!((se|0)==2&at)&&Ot(j)|0&&!(Ot(d)|0)&&(h[ir>>2]=d,n[Ir>>2]=2,O=2,j=d),Re=y(h[l+396>>2]),et=Ot(Re)|0;do if(et)se=We;else{if((We|0)==1&at){h[ir>>2]=y(y(Oe-Ze)/Re),n[Ir>>2]=1,O=1,se=1;break}Ge&(O|0)==1?(h[Rr>>2]=y(Re*y(j-He)),n[Vt>>2]=1,O=1,se=1):se=We}while(0);po=Ot(c)|0,We=(pa(s,l)|0)!=4,!(Ge|Tt|((f|0)!=1|po)|(We|(se|0)==1))&&(h[Rr>>2]=c,n[Vt>>2]=1,!et)&&(h[ir>>2]=y(y(c-Ze)/Re),n[Ir>>2]=1,O=1),!(Qr|at|((Q|0)!=1|(Ot(d)|0))|(We|(O|0)==1))&&(h[ir>>2]=d,n[Ir>>2]=1,!et)&&(h[Rr>>2]=y(Re*y(d-He)),n[Vt>>2]=1),pr(l,2,m,m,Vt,Rr),pr(l,0,B,m,Ir,ir),c=y(h[Rr>>2]),d=y(h[ir>>2]),Aa(l,c,d,k,n[Vt>>2]|0,n[Ir>>2]|0,m,B,0,3565,M)|0,B=y(h[l+908+(n[976+(rr<<2)>>2]<<2)>>2]),h[l+504>>2]=y(Nn(B,y(gn(l,rr,m))))}while(0);n[l+500>>2]=n[2278],E=Bn}function Ci(s,l,c,f,d){return s=s|0,l=l|0,c=y(c),f=y(f),d=y(d),f=y(LA(s,l,c,f)),y(Nn(f,y(gn(s,l,d))))}function pa(s,l){return s=s|0,l=l|0,l=l+20|0,l=n[((n[l>>2]|0)==0?s+16|0:l)>>2]|0,(l|0)==5&&OA(n[s+4>>2]|0)|0&&(l=1),l|0}function vl(s,l){return s=s|0,l=l|0,ue(l)|0&&(n[s+96>>2]|0)!=0?l=4:l=n[1040+(l<<2)>>2]|0,s+60+(l<<3)|0}function Sc(s,l){return s=s|0,l=l|0,ue(l)|0&&(n[s+104>>2]|0)!=0?l=5:l=n[1e3+(l<<2)>>2]|0,s+60+(l<<3)|0}function pr(s,l,c,f,d,m){switch(s=s|0,l=l|0,c=y(c),f=y(f),d=d|0,m=m|0,c=y(Hr(s+380+(n[976+(l<<2)>>2]<<3)|0,c)),c=y(c+y(rn(s,l,f))),n[d>>2]|0){case 2:case 1:{d=Ot(c)|0,f=y(h[m>>2]),h[m>>2]=d|f<c?f:c;break}case 0:{Ot(c)|0||(n[d>>2]=2,h[m>>2]=c);break}default:}}function Ai(s,l){return s=s|0,l=l|0,s=s+132|0,ue(l)|0&&(n[(Sn(s,4,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Sn(s,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Fr(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,ue(l)|0&&(f=Sn(s,4,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Sn(s,n[1040+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Hr(f,c))),y(c)}function ns(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),f=y(f+y(K(s,l,c))),y(f+y(te(s,l,c)))}function Gi(s){s=s|0;var l=0,c=0,f=0;e:do if(OA(n[s+4>>2]|0)|0)l=0;else if((n[s+16>>2]|0)!=5)if(c=Zi(s)|0,!c)l=0;else for(l=0;;){if(f=Ts(s,l)|0,(n[f+24>>2]|0)==0&&(n[f+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=c>>>0){l=0;break}}else l=1;while(0);return l|0}function Rm(s,l){s=s|0,l=l|0;var c=$e;return c=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),c>=y(0)&((Ot(c)|0)^1)|0}function Ya(s){s=s|0;var l=$e,c=0,f=0,d=0,m=0,B=0,Q=0,k=$e;if(c=n[s+968>>2]|0,c)k=y(h[s+908>>2]),l=y(h[s+912>>2]),l=y(A7[c&0](s,k,l)),Wn(s,(Ot(l)|0)^1,3573);else{m=Zi(s)|0;do if(m|0){for(c=0,d=0;;){if(f=Ts(s,d)|0,n[f+940>>2]|0){B=8;break}if((n[f+24>>2]|0)!=1)if(Q=(pa(s,f)|0)==5,Q){c=f;break}else c=(c|0)==0?f:c;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!c)break;return l=y(Ya(c)),y(l+y(h[c+404>>2]))}while(0);l=y(h[s+912>>2])}return y(l)}function LA(s,l,c,f){s=s|0,l=l|0,c=y(c),f=y(f);var d=$e,m=0;return OA(l)|0?(l=1,m=3):ue(l)|0?(l=0,m=3):(f=y(he),d=y(he)),(m|0)==3&&(d=y(Hr(s+364+(l<<3)|0,f)),f=y(Hr(s+380+(l<<3)|0,f))),m=f<c&(f>=y(0)&((Ot(f)|0)^1)),c=m?f:c,m=d>=y(0)&((Ot(d)|0)^1)&c<d,y(m?d:c)}function Tm(s,l,c,f,d,m,B){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,B=B|0;var Q=$e,k=$e,M=0,O=0,j=$e,se=$e,We=$e,Oe=0,Re=0,et=0,Ze=0,at=$e,He=0;et=ur(n[s+4>>2]|0,m)|0,Oe=lI(et,m)|0,Re=ue(et)|0,j=y(rn(l,2,c)),se=y(rn(l,0,c)),ts(l,2,c)|0?Q=y(j+y(Hr(n[l+992>>2]|0,c))):Ai(l,2)|0&&nr(l,2)|0?(Q=y(h[s+908>>2]),k=y(gr(s,2)),k=y(Q-y(k+y(hn(s,2)))),Q=y(Fr(l,2,c)),Q=y(Ci(l,2,y(k-y(Q+y(Pu(l,2,c)))),c,c))):Q=y(he),ts(l,0,d)|0?k=y(se+y(Hr(n[l+996>>2]|0,d))):Ai(l,0)|0&&nr(l,0)|0?(k=y(h[s+912>>2]),at=y(gr(s,0)),at=y(k-y(at+y(hn(s,0)))),k=y(Fr(l,0,d)),k=y(Ci(l,0,y(at-y(k+y(Pu(l,0,d)))),d,c))):k=y(he),M=Ot(Q)|0,O=Ot(k)|0;do if(M^O&&(We=y(h[l+396>>2]),!(Ot(We)|0)))if(M){Q=y(j+y(y(k-se)*We));break}else{at=y(se+y(y(Q-j)/We)),k=O?at:k;break}while(0);O=Ot(Q)|0,M=Ot(k)|0,O|M&&(He=(O^1)&1,f=c>y(0)&((f|0)!=0&O),Q=Re?Q:f?c:Q,Aa(l,Q,k,m,Re?He:f?2:He,O&(M^1)&1,Q,k,0,3623,B)|0,Q=y(h[l+908>>2]),Q=y(Q+y(rn(l,2,c))),k=y(h[l+912>>2]),k=y(k+y(rn(l,0,c)))),Aa(l,Q,k,m,1,1,Q,k,1,3635,B)|0,nr(l,et)|0&&!(Ai(l,et)|0)?(He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),at=y(at-y(hn(s,et))),at=y(at-y(te(l,et,c))),at=y(at-y(Pu(l,et,Re?c:d))),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at):Ze=21;do if((Ze|0)==21){if(!(Ai(l,et)|0)&&(n[s+8>>2]|0)==1){He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(y(at-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at;break}!(Ai(l,et)|0)&&(n[s+8>>2]|0)==2&&(He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at)}while(0);nr(l,Oe)|0&&!(Ai(l,Oe)|0)?(He=n[976+(Oe<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),at=y(at-y(hn(s,Oe))),at=y(at-y(te(l,Oe,c))),at=y(at-y(Pu(l,Oe,Re?d:c))),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=at):Ze=30;do if((Ze|0)==30&&!(Ai(l,Oe)|0)){if((pa(s,l)|0)==2){He=n[976+(Oe<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(y(at-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=at;break}He=(pa(s,l)|0)==3,He^(n[s+28>>2]|0)==2&&(He=n[976+(Oe<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(Oe<<2)>>2]<<2)>>2]=at)}while(0)}function yp(s,l,c){s=s|0,l=l|0,c=c|0;var f=$e,d=0;d=n[976+(c<<2)>>2]|0,f=y(h[l+908+(d<<2)>>2]),f=y(y(h[s+908+(d<<2)>>2])-f),f=y(f-y(h[l+400+(n[1040+(c<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(c<<2)>>2]<<2)>>2]=f}function OA(s){return s=s|0,(s|1|0)==1|0}function uI(s){s=s|0;var l=$e;switch(n[s+56>>2]|0){case 0:case 3:{l=y(h[s+40>>2]),l>y(0)&((Ot(l)|0)^1)?s=o[(n[s+976>>2]|0)+2>>0]|0?1056:992:s=1056;break}default:s=s+52|0}return s|0}function AI(s,l){return s=s|0,l=l|0,(o[s+l>>0]|0)!=0|0}function nr(s,l){return s=s|0,l=l|0,s=s+132|0,ue(l)|0&&(n[(Sn(s,5,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Sn(s,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Pu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,ue(l)|0&&(f=Sn(s,5,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Sn(s,n[1e3+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Hr(f,c))),y(c)}function Nm(s,l,c){return s=s|0,l=l|0,c=y(c),Ai(s,l)|0?c=y(Fr(s,l,c)):c=y(-y(Pu(s,l,c))),y(c)}function xu(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Ep(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function dg(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function MA(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function UA(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;if(B=s+4|0,Q=n[B>>2]|0,d=Q-f|0,m=d>>2,s=l+(m<<2)|0,s>>>0<c>>>0){f=Q;do n[f>>2]=n[s>>2],s=s+4|0,f=(n[B>>2]|0)+4|0,n[B>>2]=f;while(s>>>0<c>>>0)}m|0&&DI(Q+(0-m<<2)|0,l|0,d|0)|0}function mg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0;return Q=l+4|0,k=n[Q>>2]|0,d=n[s>>2]|0,B=c,m=B-d|0,f=k+(0-(m>>2)<<2)|0,n[Q>>2]=f,(m|0)>0&&Cr(f|0,d|0,m|0)|0,d=s+4|0,m=l+8|0,f=(n[d>>2]|0)-B|0,(f|0)>0&&(Cr(n[m>>2]|0,c|0,f|0)|0,n[m>>2]=(n[m>>2]|0)+(f>>>2<<2)),B=n[s>>2]|0,n[s>>2]=n[Q>>2],n[Q>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=s+8|0,c=l+12|0,s=n[B>>2]|0,n[B>>2]=n[c>>2],n[c>>2]=s,n[l>>2]=n[Q>>2],k|0}function fI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[c>>2]|0,(B|0)!=(m|0)){d=s+8|0,c=((m+-4-B|0)>>>2)+1|0,s=B,f=n[d>>2]|0;do n[f>>2]=n[s>>2],f=(n[d>>2]|0)+4|0,n[d>>2]=f,s=s+4|0;while((s|0)!=(m|0));n[l>>2]=B+(c<<2)}}function Lm(){dc()}function ha(){var s=0;return s=Gt(4)|0,_A(s),s|0}function _A(s){s=s|0,n[s>>2]=$i()|0}function Pc(s){s=s|0,s|0&&(yg(s),pt(s))}function yg(s){s=s|0,mi(n[s>>2]|0)}function Om(s,l,c){s=s|0,l=l|0,c=c|0,Wa(n[s>>2]|0,l,c)}function uo(s,l){s=s|0,l=y(l),fa(n[s>>2]|0,l)}function Dv(s,l){return s=s|0,l=l|0,AI(n[s>>2]|0,l)|0}function pI(){var s=0;return s=Gt(8)|0,Sv(s,0),s|0}function Sv(s,l){s=s|0,l=l|0,l?l=di(n[l>>2]|0)|0:l=oo()|0,n[s>>2]=l,n[s+4>>2]=0,_r(l,s)}function nF(s){s=s|0;var l=0;return l=Gt(8)|0,Sv(l,s),l|0}function Pv(s){s=s|0,s|0&&(bu(s),pt(s))}function bu(s){s=s|0;var l=0;ia(n[s>>2]|0),l=s+4|0,s=n[l>>2]|0,n[l>>2]=0,s|0&&(HA(s),pt(s))}function HA(s){s=s|0,qA(s)}function qA(s){s=s|0,s=n[s>>2]|0,s|0&&PA(s|0)}function hI(s){return s=s|0,$n(s)|0}function Mm(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(HA(l),pt(l)),ao(n[s>>2]|0)}function iF(s,l){s=s|0,l=l|0,tr(n[s>>2]|0,n[l>>2]|0)}function sF(s,l){s=s|0,l=l|0,la(n[s>>2]|0,l)}function xv(s,l,c){s=s|0,l=l|0,c=+c,Iu(n[s>>2]|0,l,y(c))}function bv(s,l,c){s=s|0,l=l|0,c=+c,ms(n[s>>2]|0,l,y(c))}function gI(s,l){s=s|0,l=l|0,yi(n[s>>2]|0,l)}function Qu(s,l){s=s|0,l=l|0,Ha(n[s>>2]|0,l)}function oF(s,l){s=s|0,l=l|0,QA(n[s>>2]|0,l)}function aF(s,l){s=s|0,l=l|0,Ti(n[s>>2]|0,l)}function Cp(s,l){s=s|0,l=l|0,yc(n[s>>2]|0,l)}function lF(s,l){s=s|0,l=l|0,Ua(n[s>>2]|0,l)}function Qv(s,l,c){s=s|0,l=l|0,c=+c,Cc(n[s>>2]|0,l,y(c))}function jA(s,l,c){s=s|0,l=l|0,c=+c,G(n[s>>2]|0,l,y(c))}function cF(s,l){s=s|0,l=l|0,Il(n[s>>2]|0,l)}function uF(s,l){s=s|0,l=l|0,eg(n[s>>2]|0,l)}function kv(s,l){s=s|0,l=l|0,cp(n[s>>2]|0,l)}function dI(s,l){s=s|0,l=+l,kA(n[s>>2]|0,y(l))}function mI(s,l){s=s|0,l=+l,qa(n[s>>2]|0,y(l))}function AF(s,l){s=s|0,l=+l,ji(n[s>>2]|0,y(l))}function fF(s,l){s=s|0,l=+l,Os(n[s>>2]|0,y(l))}function Dl(s,l){s=s|0,l=+l,Cu(n[s>>2]|0,y(l))}function yI(s,l){s=s|0,l=+l,sI(n[s>>2]|0,y(l))}function pF(s,l){s=s|0,l=+l,FA(n[s>>2]|0,y(l))}function GA(s){s=s|0,up(n[s>>2]|0)}function Um(s,l){s=s|0,l=+l,ys(n[s>>2]|0,y(l))}function ku(s,l){s=s|0,l=+l,ng(n[s>>2]|0,y(l))}function EI(s){s=s|0,ig(n[s>>2]|0)}function CI(s,l){s=s|0,l=+l,Ap(n[s>>2]|0,y(l))}function hF(s,l){s=s|0,l=+l,wc(n[s>>2]|0,y(l))}function Fv(s,l){s=s|0,l=+l,Dm(n[s>>2]|0,y(l))}function WA(s,l){s=s|0,l=+l,og(n[s>>2]|0,y(l))}function Rv(s,l){s=s|0,l=+l,Bu(n[s>>2]|0,y(l))}function _m(s,l){s=s|0,l=+l,Sm(n[s>>2]|0,y(l))}function Tv(s,l){s=s|0,l=+l,vu(n[s>>2]|0,y(l))}function Nv(s,l){s=s|0,l=+l,oI(n[s>>2]|0,y(l))}function Hm(s,l){s=s|0,l=+l,ua(n[s>>2]|0,y(l))}function Lv(s,l,c){s=s|0,l=l|0,c=+c,wu(n[s>>2]|0,l,y(c))}function gF(s,l,c){s=s|0,l=l|0,c=+c,Si(n[s>>2]|0,l,y(c))}function S(s,l,c){s=s|0,l=l|0,c=+c,Ic(n[s>>2]|0,l,y(c))}function D(s){return s=s|0,$h(n[s>>2]|0)|0}function T(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,Ec(d,n[l>>2]|0,c),q(s,d),E=f}function q(s,l){s=s|0,l=l|0,W(s,n[l+4>>2]|0,+y(h[l>>2]))}function W(s,l,c){s=s|0,l=l|0,c=+c,n[s>>2]=l,C[s+8>>3]=c}function ce(s){return s=s|0,aa(n[s>>2]|0)|0}function Se(s){return s=s|0,lo(n[s>>2]|0)|0}function It(s){return s=s|0,mc(n[s>>2]|0)|0}function Et(s){return s=s|0,Yn(n[s>>2]|0)|0}function xt(s){return s=s|0,vm(n[s>>2]|0)|0}function Nr(s){return s=s|0,oa(n[s>>2]|0)|0}function is(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,Dt(d,n[l>>2]|0,c),q(s,d),E=f}function fi(s){return s=s|0,Kn(n[s>>2]|0)|0}function Ao(s){return s=s|0,tg(n[s>>2]|0)|0}function YA(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,ca(f,n[l>>2]|0),q(s,f),E=c}function _o(s){return s=s|0,+ +y(Zr(n[s>>2]|0))}function rt(s){return s=s|0,+ +y(Tn(n[s>>2]|0))}function Ve(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,yr(f,n[l>>2]|0),q(s,f),E=c}function ft(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,sg(f,n[l>>2]|0),q(s,f),E=c}function jt(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,mt(f,n[l>>2]|0),q(s,f),E=c}function Er(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,ag(f,n[l>>2]|0),q(s,f),E=c}function In(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,lg(f,n[l>>2]|0),q(s,f),E=c}function Sr(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,Pm(f,n[l>>2]|0),q(s,f),E=c}function wn(s){return s=s|0,+ +y(Bc(n[s>>2]|0))}function ri(s,l){return s=s|0,l=l|0,+ +y(rg(n[s>>2]|0,l))}function Xr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,lt(d,n[l>>2]|0,c),q(s,d),E=f}function fo(s,l,c){s=s|0,l=l|0,c=c|0,sa(n[s>>2]|0,n[l>>2]|0,c)}function dF(s,l){s=s|0,l=l|0,Ls(n[s>>2]|0,n[l>>2]|0)}function uve(s){return s=s|0,Zi(n[s>>2]|0)|0}function Ave(s){return s=s|0,s=xe(n[s>>2]|0)|0,s?s=hI(s)|0:s=0,s|0}function fve(s,l){return s=s|0,l=l|0,s=Ts(n[s>>2]|0,l)|0,s?s=hI(s)|0:s=0,s|0}function pve(s,l){s=s|0,l=l|0;var c=0,f=0;f=Gt(4)|0,_9(f,l),c=s+4|0,l=n[c>>2]|0,n[c>>2]=f,l|0&&(HA(l),pt(l)),Ma(n[s>>2]|0,1)}function _9(s,l){s=s|0,l=l|0,Dve(s,l)}function hve(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0;var B=0,Q=0;B=E,E=E+16|0,Q=B,gve(Q,$n(l)|0,+c,f,+d,m),h[s>>2]=y(+C[Q>>3]),h[s+4>>2]=y(+C[Q+8>>3]),E=B}function gve(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0,Q=0,k=0,M=0,O=0;B=E,E=E+32|0,O=B+8|0,M=B+20|0,k=B,Q=B+16|0,C[O>>3]=c,n[M>>2]=f,C[k>>3]=d,n[Q>>2]=m,dve(s,n[l+4>>2]|0,O,M,k,Q),E=B}function dve(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0;B=E,E=E+16|0,Q=B,Ja(Q),l=ga(l)|0,mve(s,l,+C[c>>3],n[f>>2]|0,+C[d>>3],n[m>>2]|0),Va(Q),E=B}function ga(s){return s=s|0,n[s>>2]|0}function mve(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0;B=Sl(yve()|0)|0,c=+KA(c),f=mF(f)|0,d=+KA(d),Eve(s,ui(0,B|0,l|0,+c,f|0,+d,mF(m)|0)|0)}function yve(){var s=0;return o[7608]|0||(Bve(9120),s=7608,n[s>>2]=1,n[s+4>>2]=0),9120}function Sl(s){return s=s|0,n[s+8>>2]|0}function KA(s){return s=+s,+ +yF(s)}function mF(s){return s=s|0,q9(s)|0}function Eve(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=E,E=E+32|0,c=d,f=l,f&1?(Cve(c,0),Zn(f|0,c|0)|0,Ive(s,c),wve(c)):(n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]),E=d}function Cve(s,l){s=s|0,l=l|0,H9(s,l),n[s+8>>2]=0,o[s+24>>0]=0}function Ive(s,l){s=s|0,l=l|0,l=l+8|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]}function wve(s){s=s|0,o[s+24>>0]=0}function H9(s,l){s=s|0,l=l|0,n[s>>2]=l}function q9(s){return s=s|0,s|0}function yF(s){return s=+s,+s}function Bve(s){s=s|0,Pl(s,vve()|0,4)}function vve(){return 1064}function Pl(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=lp(l|0,c+1|0)|0}function Dve(s,l){s=s|0,l=l|0,l=n[l>>2]|0,n[s>>2]=l,ml(l|0)}function Sve(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(HA(l),pt(l)),Ma(n[s>>2]|0,0)}function Pve(s){s=s|0,Je(n[s>>2]|0)}function xve(s){return s=s|0,vt(n[s>>2]|0)|0}function bve(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,vc(n[s>>2]|0,y(l),y(c),f)}function Qve(s){return s=s|0,+ +y(wl(n[s>>2]|0))}function kve(s){return s=s|0,+ +y(cg(n[s>>2]|0))}function Fve(s){return s=s|0,+ +y(Du(n[s>>2]|0))}function Rve(s){return s=s|0,+ +y(RA(n[s>>2]|0))}function Tve(s){return s=s|0,+ +y(fp(n[s>>2]|0))}function Nve(s){return s=s|0,+ +y(ja(n[s>>2]|0))}function Lve(s,l){s=s|0,l=l|0,C[s>>3]=+y(wl(n[l>>2]|0)),C[s+8>>3]=+y(cg(n[l>>2]|0)),C[s+16>>3]=+y(Du(n[l>>2]|0)),C[s+24>>3]=+y(RA(n[l>>2]|0)),C[s+32>>3]=+y(fp(n[l>>2]|0)),C[s+40>>3]=+y(ja(n[l>>2]|0))}function Ove(s,l){return s=s|0,l=l|0,+ +y(ug(n[s>>2]|0,l))}function Mve(s,l){return s=s|0,l=l|0,+ +y(pp(n[s>>2]|0,l))}function Uve(s,l){return s=s|0,l=l|0,+ +y(Mo(n[s>>2]|0,l))}function _ve(){return qn()|0}function Hve(){qve(),jve(),Gve(),Wve(),Yve(),Kve()}function qve(){YNe(11713,4938,1)}function jve(){ANe(10448)}function Gve(){YTe(10408)}function Wve(){gTe(10324)}function Yve(){BFe(10096)}function Kve(){Jve(9132)}function Jve(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Vt=0,Ir=0,Qr=0,rr=0,Bn=0,po=0,ho=0,go=0,ma=0,bp=0,Qp=0,xl=0,kp=0,Nu=0,Lu=0,Fp=0,Rp=0,Tp=0,Vr=0,bl=0,Np=0,bc=0,Lp=0,Op=0,Ou=0,Mu=0,Qc=0,Us=0,Xa=0,Ho=0,Ql=0,tf=0,rf=0,Uu=0,nf=0,sf=0,_s=0,ws=0,kl=0,Pn=0,of=0,mo=0,kc=0,yo=0,Fc=0,af=0,lf=0,Rc=0,Hs=0,Fl=0,cf=0,uf=0,Af=0,vr=0,jn=0,Bs=0,Eo=0,qs=0,Pr=0,lr=0,Rl=0;l=E,E=E+672|0,c=l+656|0,Rl=l+648|0,lr=l+640|0,Pr=l+632|0,qs=l+624|0,Eo=l+616|0,Bs=l+608|0,jn=l+600|0,vr=l+592|0,Af=l+584|0,uf=l+576|0,cf=l+568|0,Fl=l+560|0,Hs=l+552|0,Rc=l+544|0,lf=l+536|0,af=l+528|0,Fc=l+520|0,yo=l+512|0,kc=l+504|0,mo=l+496|0,of=l+488|0,Pn=l+480|0,kl=l+472|0,ws=l+464|0,_s=l+456|0,sf=l+448|0,nf=l+440|0,Uu=l+432|0,rf=l+424|0,tf=l+416|0,Ql=l+408|0,Ho=l+400|0,Xa=l+392|0,Us=l+384|0,Qc=l+376|0,Mu=l+368|0,Ou=l+360|0,Op=l+352|0,Lp=l+344|0,bc=l+336|0,Np=l+328|0,bl=l+320|0,Vr=l+312|0,Tp=l+304|0,Rp=l+296|0,Fp=l+288|0,Lu=l+280|0,Nu=l+272|0,kp=l+264|0,xl=l+256|0,Qp=l+248|0,bp=l+240|0,ma=l+232|0,go=l+224|0,ho=l+216|0,po=l+208|0,Bn=l+200|0,rr=l+192|0,Qr=l+184|0,Ir=l+176|0,Vt=l+168|0,ir=l+160|0,Rr=l+152|0,Tt=l+144|0,Ge=l+136|0,He=l+128|0,at=l+120|0,Ze=l+112|0,et=l+104|0,Re=l+96|0,Oe=l+88|0,We=l+80|0,se=l+72|0,j=l+64|0,O=l+56|0,M=l+48|0,k=l+40|0,Q=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,f=l,Vve(s,3646),zve(s,3651,2)|0,Xve(s,3665,2)|0,Zve(s,3682,18)|0,n[Rl>>2]=19,n[Rl+4>>2]=0,n[c>>2]=n[Rl>>2],n[c+4>>2]=n[Rl+4>>2],II(s,3690,c)|0,n[lr>>2]=1,n[lr+4>>2]=0,n[c>>2]=n[lr>>2],n[c+4>>2]=n[lr+4>>2],$ve(s,3696,c)|0,n[Pr>>2]=2,n[Pr+4>>2]=0,n[c>>2]=n[Pr>>2],n[c+4>>2]=n[Pr+4>>2],Fu(s,3706,c)|0,n[qs>>2]=1,n[qs+4>>2]=0,n[c>>2]=n[qs>>2],n[c+4>>2]=n[qs+4>>2],Eg(s,3722,c)|0,n[Eo>>2]=2,n[Eo+4>>2]=0,n[c>>2]=n[Eo>>2],n[c+4>>2]=n[Eo+4>>2],Eg(s,3734,c)|0,n[Bs>>2]=3,n[Bs+4>>2]=0,n[c>>2]=n[Bs>>2],n[c+4>>2]=n[Bs+4>>2],Fu(s,3753,c)|0,n[jn>>2]=4,n[jn+4>>2]=0,n[c>>2]=n[jn>>2],n[c+4>>2]=n[jn+4>>2],Fu(s,3769,c)|0,n[vr>>2]=5,n[vr+4>>2]=0,n[c>>2]=n[vr>>2],n[c+4>>2]=n[vr+4>>2],Fu(s,3783,c)|0,n[Af>>2]=6,n[Af+4>>2]=0,n[c>>2]=n[Af>>2],n[c+4>>2]=n[Af+4>>2],Fu(s,3796,c)|0,n[uf>>2]=7,n[uf+4>>2]=0,n[c>>2]=n[uf>>2],n[c+4>>2]=n[uf+4>>2],Fu(s,3813,c)|0,n[cf>>2]=8,n[cf+4>>2]=0,n[c>>2]=n[cf>>2],n[c+4>>2]=n[cf+4>>2],Fu(s,3825,c)|0,n[Fl>>2]=3,n[Fl+4>>2]=0,n[c>>2]=n[Fl>>2],n[c+4>>2]=n[Fl+4>>2],Eg(s,3843,c)|0,n[Hs>>2]=4,n[Hs+4>>2]=0,n[c>>2]=n[Hs>>2],n[c+4>>2]=n[Hs+4>>2],Eg(s,3853,c)|0,n[Rc>>2]=9,n[Rc+4>>2]=0,n[c>>2]=n[Rc>>2],n[c+4>>2]=n[Rc+4>>2],Fu(s,3870,c)|0,n[lf>>2]=10,n[lf+4>>2]=0,n[c>>2]=n[lf>>2],n[c+4>>2]=n[lf+4>>2],Fu(s,3884,c)|0,n[af>>2]=11,n[af+4>>2]=0,n[c>>2]=n[af>>2],n[c+4>>2]=n[af+4>>2],Fu(s,3896,c)|0,n[Fc>>2]=1,n[Fc+4>>2]=0,n[c>>2]=n[Fc>>2],n[c+4>>2]=n[Fc+4>>2],Cs(s,3907,c)|0,n[yo>>2]=2,n[yo+4>>2]=0,n[c>>2]=n[yo>>2],n[c+4>>2]=n[yo+4>>2],Cs(s,3915,c)|0,n[kc>>2]=3,n[kc+4>>2]=0,n[c>>2]=n[kc>>2],n[c+4>>2]=n[kc+4>>2],Cs(s,3928,c)|0,n[mo>>2]=4,n[mo+4>>2]=0,n[c>>2]=n[mo>>2],n[c+4>>2]=n[mo+4>>2],Cs(s,3948,c)|0,n[of>>2]=5,n[of+4>>2]=0,n[c>>2]=n[of>>2],n[c+4>>2]=n[of+4>>2],Cs(s,3960,c)|0,n[Pn>>2]=6,n[Pn+4>>2]=0,n[c>>2]=n[Pn>>2],n[c+4>>2]=n[Pn+4>>2],Cs(s,3974,c)|0,n[kl>>2]=7,n[kl+4>>2]=0,n[c>>2]=n[kl>>2],n[c+4>>2]=n[kl+4>>2],Cs(s,3983,c)|0,n[ws>>2]=20,n[ws+4>>2]=0,n[c>>2]=n[ws>>2],n[c+4>>2]=n[ws+4>>2],II(s,3999,c)|0,n[_s>>2]=8,n[_s+4>>2]=0,n[c>>2]=n[_s>>2],n[c+4>>2]=n[_s+4>>2],Cs(s,4012,c)|0,n[sf>>2]=9,n[sf+4>>2]=0,n[c>>2]=n[sf>>2],n[c+4>>2]=n[sf+4>>2],Cs(s,4022,c)|0,n[nf>>2]=21,n[nf+4>>2]=0,n[c>>2]=n[nf>>2],n[c+4>>2]=n[nf+4>>2],II(s,4039,c)|0,n[Uu>>2]=10,n[Uu+4>>2]=0,n[c>>2]=n[Uu>>2],n[c+4>>2]=n[Uu+4>>2],Cs(s,4053,c)|0,n[rf>>2]=11,n[rf+4>>2]=0,n[c>>2]=n[rf>>2],n[c+4>>2]=n[rf+4>>2],Cs(s,4065,c)|0,n[tf>>2]=12,n[tf+4>>2]=0,n[c>>2]=n[tf>>2],n[c+4>>2]=n[tf+4>>2],Cs(s,4084,c)|0,n[Ql>>2]=13,n[Ql+4>>2]=0,n[c>>2]=n[Ql>>2],n[c+4>>2]=n[Ql+4>>2],Cs(s,4097,c)|0,n[Ho>>2]=14,n[Ho+4>>2]=0,n[c>>2]=n[Ho>>2],n[c+4>>2]=n[Ho+4>>2],Cs(s,4117,c)|0,n[Xa>>2]=15,n[Xa+4>>2]=0,n[c>>2]=n[Xa>>2],n[c+4>>2]=n[Xa+4>>2],Cs(s,4129,c)|0,n[Us>>2]=16,n[Us+4>>2]=0,n[c>>2]=n[Us>>2],n[c+4>>2]=n[Us+4>>2],Cs(s,4148,c)|0,n[Qc>>2]=17,n[Qc+4>>2]=0,n[c>>2]=n[Qc>>2],n[c+4>>2]=n[Qc+4>>2],Cs(s,4161,c)|0,n[Mu>>2]=18,n[Mu+4>>2]=0,n[c>>2]=n[Mu>>2],n[c+4>>2]=n[Mu+4>>2],Cs(s,4181,c)|0,n[Ou>>2]=5,n[Ou+4>>2]=0,n[c>>2]=n[Ou>>2],n[c+4>>2]=n[Ou+4>>2],Eg(s,4196,c)|0,n[Op>>2]=6,n[Op+4>>2]=0,n[c>>2]=n[Op>>2],n[c+4>>2]=n[Op+4>>2],Eg(s,4206,c)|0,n[Lp>>2]=7,n[Lp+4>>2]=0,n[c>>2]=n[Lp>>2],n[c+4>>2]=n[Lp+4>>2],Eg(s,4217,c)|0,n[bc>>2]=3,n[bc+4>>2]=0,n[c>>2]=n[bc>>2],n[c+4>>2]=n[bc+4>>2],JA(s,4235,c)|0,n[Np>>2]=1,n[Np+4>>2]=0,n[c>>2]=n[Np>>2],n[c+4>>2]=n[Np+4>>2],EF(s,4251,c)|0,n[bl>>2]=4,n[bl+4>>2]=0,n[c>>2]=n[bl>>2],n[c+4>>2]=n[bl+4>>2],JA(s,4263,c)|0,n[Vr>>2]=5,n[Vr+4>>2]=0,n[c>>2]=n[Vr>>2],n[c+4>>2]=n[Vr+4>>2],JA(s,4279,c)|0,n[Tp>>2]=6,n[Tp+4>>2]=0,n[c>>2]=n[Tp>>2],n[c+4>>2]=n[Tp+4>>2],JA(s,4293,c)|0,n[Rp>>2]=7,n[Rp+4>>2]=0,n[c>>2]=n[Rp>>2],n[c+4>>2]=n[Rp+4>>2],JA(s,4306,c)|0,n[Fp>>2]=8,n[Fp+4>>2]=0,n[c>>2]=n[Fp>>2],n[c+4>>2]=n[Fp+4>>2],JA(s,4323,c)|0,n[Lu>>2]=9,n[Lu+4>>2]=0,n[c>>2]=n[Lu>>2],n[c+4>>2]=n[Lu+4>>2],JA(s,4335,c)|0,n[Nu>>2]=2,n[Nu+4>>2]=0,n[c>>2]=n[Nu>>2],n[c+4>>2]=n[Nu+4>>2],EF(s,4353,c)|0,n[kp>>2]=12,n[kp+4>>2]=0,n[c>>2]=n[kp>>2],n[c+4>>2]=n[kp+4>>2],Cg(s,4363,c)|0,n[xl>>2]=1,n[xl+4>>2]=0,n[c>>2]=n[xl>>2],n[c+4>>2]=n[xl+4>>2],VA(s,4376,c)|0,n[Qp>>2]=2,n[Qp+4>>2]=0,n[c>>2]=n[Qp>>2],n[c+4>>2]=n[Qp+4>>2],VA(s,4388,c)|0,n[bp>>2]=13,n[bp+4>>2]=0,n[c>>2]=n[bp>>2],n[c+4>>2]=n[bp+4>>2],Cg(s,4402,c)|0,n[ma>>2]=14,n[ma+4>>2]=0,n[c>>2]=n[ma>>2],n[c+4>>2]=n[ma+4>>2],Cg(s,4411,c)|0,n[go>>2]=15,n[go+4>>2]=0,n[c>>2]=n[go>>2],n[c+4>>2]=n[go+4>>2],Cg(s,4421,c)|0,n[ho>>2]=16,n[ho+4>>2]=0,n[c>>2]=n[ho>>2],n[c+4>>2]=n[ho+4>>2],Cg(s,4433,c)|0,n[po>>2]=17,n[po+4>>2]=0,n[c>>2]=n[po>>2],n[c+4>>2]=n[po+4>>2],Cg(s,4446,c)|0,n[Bn>>2]=18,n[Bn+4>>2]=0,n[c>>2]=n[Bn>>2],n[c+4>>2]=n[Bn+4>>2],Cg(s,4458,c)|0,n[rr>>2]=3,n[rr+4>>2]=0,n[c>>2]=n[rr>>2],n[c+4>>2]=n[rr+4>>2],VA(s,4471,c)|0,n[Qr>>2]=1,n[Qr+4>>2]=0,n[c>>2]=n[Qr>>2],n[c+4>>2]=n[Qr+4>>2],Ov(s,4486,c)|0,n[Ir>>2]=10,n[Ir+4>>2]=0,n[c>>2]=n[Ir>>2],n[c+4>>2]=n[Ir+4>>2],JA(s,4496,c)|0,n[Vt>>2]=11,n[Vt+4>>2]=0,n[c>>2]=n[Vt>>2],n[c+4>>2]=n[Vt+4>>2],JA(s,4508,c)|0,n[ir>>2]=3,n[ir+4>>2]=0,n[c>>2]=n[ir>>2],n[c+4>>2]=n[ir+4>>2],EF(s,4519,c)|0,n[Rr>>2]=4,n[Rr+4>>2]=0,n[c>>2]=n[Rr>>2],n[c+4>>2]=n[Rr+4>>2],eDe(s,4530,c)|0,n[Tt>>2]=19,n[Tt+4>>2]=0,n[c>>2]=n[Tt>>2],n[c+4>>2]=n[Tt+4>>2],tDe(s,4542,c)|0,n[Ge>>2]=12,n[Ge+4>>2]=0,n[c>>2]=n[Ge>>2],n[c+4>>2]=n[Ge+4>>2],rDe(s,4554,c)|0,n[He>>2]=13,n[He+4>>2]=0,n[c>>2]=n[He>>2],n[c+4>>2]=n[He+4>>2],nDe(s,4568,c)|0,n[at>>2]=2,n[at+4>>2]=0,n[c>>2]=n[at>>2],n[c+4>>2]=n[at+4>>2],iDe(s,4578,c)|0,n[Ze>>2]=20,n[Ze+4>>2]=0,n[c>>2]=n[Ze>>2],n[c+4>>2]=n[Ze+4>>2],sDe(s,4587,c)|0,n[et>>2]=22,n[et+4>>2]=0,n[c>>2]=n[et>>2],n[c+4>>2]=n[et+4>>2],II(s,4602,c)|0,n[Re>>2]=23,n[Re+4>>2]=0,n[c>>2]=n[Re>>2],n[c+4>>2]=n[Re+4>>2],II(s,4619,c)|0,n[Oe>>2]=14,n[Oe+4>>2]=0,n[c>>2]=n[Oe>>2],n[c+4>>2]=n[Oe+4>>2],oDe(s,4629,c)|0,n[We>>2]=1,n[We+4>>2]=0,n[c>>2]=n[We>>2],n[c+4>>2]=n[We+4>>2],aDe(s,4637,c)|0,n[se>>2]=4,n[se+4>>2]=0,n[c>>2]=n[se>>2],n[c+4>>2]=n[se+4>>2],VA(s,4653,c)|0,n[j>>2]=5,n[j+4>>2]=0,n[c>>2]=n[j>>2],n[c+4>>2]=n[j+4>>2],VA(s,4669,c)|0,n[O>>2]=6,n[O+4>>2]=0,n[c>>2]=n[O>>2],n[c+4>>2]=n[O+4>>2],VA(s,4686,c)|0,n[M>>2]=7,n[M+4>>2]=0,n[c>>2]=n[M>>2],n[c+4>>2]=n[M+4>>2],VA(s,4701,c)|0,n[k>>2]=8,n[k+4>>2]=0,n[c>>2]=n[k>>2],n[c+4>>2]=n[k+4>>2],VA(s,4719,c)|0,n[Q>>2]=9,n[Q+4>>2]=0,n[c>>2]=n[Q>>2],n[c+4>>2]=n[Q+4>>2],VA(s,4736,c)|0,n[B>>2]=21,n[B+4>>2]=0,n[c>>2]=n[B>>2],n[c+4>>2]=n[B+4>>2],lDe(s,4754,c)|0,n[m>>2]=2,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],Ov(s,4772,c)|0,n[d>>2]=3,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],Ov(s,4790,c)|0,n[f>>2]=4,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],Ov(s,4808,c)|0,E=l}function Vve(s,l){s=s|0,l=l|0;var c=0;c=hFe()|0,n[s>>2]=c,gFe(c,l),Sp(n[s>>2]|0)}function zve(s,l,c){return s=s|0,l=l|0,c=c|0,eFe(s,cn(l)|0,c,0),s|0}function Xve(s,l,c){return s=s|0,l=l|0,c=c|0,Mke(s,cn(l)|0,c,0),s|0}function Zve(s,l,c){return s=s|0,l=l|0,c=c|0,vke(s,cn(l)|0,c,0),s|0}function II(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],lke(s,l,d),E=f,s|0}function $ve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],jQe(s,l,d),E=f,s|0}function Fu(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],PQe(s,l,d),E=f,s|0}function Eg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],AQe(s,l,d),E=f,s|0}function Cs(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Vbe(s,l,d),E=f,s|0}function JA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Rbe(s,l,d),E=f,s|0}function EF(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],mbe(s,l,d),E=f,s|0}function Cg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],jxe(s,l,d),E=f,s|0}function VA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Pxe(s,l,d),E=f,s|0}function Ov(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Axe(s,l,d),E=f,s|0}function eDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],VPe(s,l,d),E=f,s|0}function tDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],RPe(s,l,d),E=f,s|0}function rDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],yPe(s,l,d),E=f,s|0}function nDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nPe(s,l,d),E=f,s|0}function iDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],_Se(s,l,d),E=f,s|0}function sDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],BSe(s,l,d),E=f,s|0}function oDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],aSe(s,l,d),E=f,s|0}function aDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],jDe(s,l,d),E=f,s|0}function lDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cDe(s,l,d),E=f,s|0}function cDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],uDe(s,c,d,1),E=f}function cn(s){return s=s|0,s|0}function uDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=CF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ADe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,fDe(m,f)|0,f),E=d}function CF(){var s=0,l=0;if(o[7616]|0||(W9(9136),Zt(24,9136,_|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(br(9136)|0)){s=9136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W9(9136)}return 9136}function ADe(s){return s=s|0,0}function fDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=CF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],G9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(gDe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function un(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0;B=E,E=E+32|0,se=B+24|0,j=B+20|0,k=B+16|0,O=B+12|0,M=B+8|0,Q=B+4|0,We=B,n[j>>2]=l,n[k>>2]=c,n[O>>2]=f,n[M>>2]=d,n[Q>>2]=m,m=s+28|0,n[We>>2]=n[m>>2],n[se>>2]=n[We>>2],pDe(s+24|0,se,j,O,M,k,Q)|0,n[m>>2]=n[n[m>>2]>>2],E=B}function pDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s=hDe(l)|0,l=Gt(24)|0,j9(l+4|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[s>>2],n[s>>2]=l,l|0}function hDe(s){return s=s|0,n[s>>2]|0}function j9(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function Ar(s,l){return s=s|0,l=l|0,l|s|0}function G9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function gDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=dDe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,mDe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],G9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,yDe(s,Q),EDe(Q),E=M;return}}function dDe(s){return s=s|0,357913941}function mDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function yDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function EDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function W9(s){s=s|0,wDe(s)}function CDe(s){s=s|0,IDe(s+24|0)}function br(s){return s=s|0,n[s>>2]|0}function IDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function wDe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,3,l,BDe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Gr(){return 9228}function BDe(){return 1140}function vDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=DDe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=SDe(l,f)|0,E=c,l|0}function Wr(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function DDe(s){return s=s|0,(n[(CF()|0)+24>>2]|0)+(s*12|0)|0}function SDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=E,E=E+48|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),ef[c&31](f,s),f=PDe(f)|0,E=d,f|0}function PDe(s){s=s|0;var l=0,c=0,f=0,d=0;return d=E,E=E+32|0,l=d+12|0,c=d,f=IF(Y9()|0)|0,f?(wF(l,f),BF(c,l),xDe(s,c),s=vF(l)|0):s=bDe(s)|0,E=d,s|0}function Y9(){var s=0;return o[7632]|0||(UDe(9184),Zt(25,9184,_|0)|0,s=7632,n[s>>2]=1,n[s+4>>2]=0),9184}function IF(s){return s=s|0,n[s+36>>2]|0}function wF(s,l){s=s|0,l=l|0,n[s>>2]=l,n[s+4>>2]=s,n[s+8>>2]=0}function BF(s,l){s=s|0,l=l|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=0}function xDe(s,l){s=s|0,l=l|0,RDe(l,s,s+8|0,s+16|0,s+24|0,s+32|0,s+40|0)|0}function vF(s){return s=s|0,n[(n[s+4>>2]|0)+8>>2]|0}function bDe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0;k=E,E=E+16|0,c=k+4|0,f=k,d=Ka(8)|0,m=d,B=Gt(48)|0,Q=B,l=Q+48|0;do n[Q>>2]=n[s>>2],Q=Q+4|0,s=s+4|0;while((Q|0)<(l|0));return l=m+4|0,n[l>>2]=B,Q=Gt(8)|0,B=n[l>>2]|0,n[f>>2]=0,n[c>>2]=n[f>>2],K9(Q,B,c),n[d>>2]=Q,E=k,m|0}function K9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1092,n[c+12>>2]=l,n[s+4>>2]=c}function QDe(s){s=s|0,Km(s),pt(s)}function kDe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function FDe(s){s=s|0,pt(s)}function RDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,m=TDe(n[s>>2]|0,l,c,f,d,m,B)|0,B=s+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function TDe(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0;var Q=0,k=0;return Q=E,E=E+16|0,k=Q,Ja(k),s=ga(s)|0,B=NDe(s,+C[l>>3],+C[c>>3],+C[f>>3],+C[d>>3],+C[m>>3],+C[B>>3])|0,Va(k),E=Q,B|0}function NDe(s,l,c,f,d,m,B){s=s|0,l=+l,c=+c,f=+f,d=+d,m=+m,B=+B;var Q=0;return Q=Sl(LDe()|0)|0,l=+KA(l),c=+KA(c),f=+KA(f),d=+KA(d),m=+KA(m),Fs(0,Q|0,s|0,+l,+c,+f,+d,+m,+ +KA(B))|0}function LDe(){var s=0;return o[7624]|0||(ODe(9172),s=7624,n[s>>2]=1,n[s+4>>2]=0),9172}function ODe(s){s=s|0,Pl(s,MDe()|0,6)}function MDe(){return 1112}function UDe(s){s=s|0,Ip(s)}function _De(s){s=s|0,J9(s+24|0),V9(s+16|0)}function J9(s){s=s|0,qDe(s)}function V9(s){s=s|0,HDe(s)}function HDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function qDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function Ip(s){s=s|0;var l=0;n[s+16>>2]=0,n[s+20>>2]=0,l=s+24|0,n[l>>2]=0,n[s+28>>2]=l,n[s+36>>2]=0,o[s+40>>0]=0,o[s+41>>0]=0}function jDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],GDe(s,c,d,0),E=f}function GDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=DF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=WDe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,YDe(m,f)|0,f),E=d}function DF(){var s=0,l=0;if(o[7640]|0||(X9(9232),Zt(26,9232,_|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(br(9232)|0)){s=9232,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));X9(9232)}return 9232}function WDe(s){return s=s|0,0}function YDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=DF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],z9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(KDe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function z9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function KDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=JDe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,VDe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],z9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,zDe(s,Q),XDe(Q),E=M;return}}function JDe(s){return s=s|0,357913941}function VDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function zDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function XDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function X9(s){s=s|0,eSe(s)}function ZDe(s){s=s|0,$De(s+24|0)}function $De(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function eSe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,tSe()|0,3),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function tSe(){return 1144}function rSe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,k=0;m=E,E=E+16|0,B=m+8|0,Q=m,k=nSe(s)|0,s=n[k+4>>2]|0,n[Q>>2]=n[k>>2],n[Q+4>>2]=s,n[B>>2]=n[Q>>2],n[B+4>>2]=n[Q+4>>2],iSe(l,B,c,f,d),E=m}function nSe(s){return s=s|0,(n[(DF()|0)+24>>2]|0)+(s*12|0)|0}function iSe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,k=0,M=0;M=E,E=E+16|0,B=M+2|0,Q=M+1|0,k=M,m=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(m=n[(n[s>>2]|0)+m>>2]|0),Ru(B,c),c=+Tu(B,c),Ru(Q,f),f=+Tu(Q,f),zA(k,d),k=XA(k,d)|0,f7[m&1](s,c,f,k),E=M}function Ru(s,l){s=s|0,l=+l}function Tu(s,l){return s=s|0,l=+l,+ +oSe(l)}function zA(s,l){s=s|0,l=l|0}function XA(s,l){return s=s|0,l=l|0,sSe(l)|0}function sSe(s){return s=s|0,s|0}function oSe(s){return s=+s,+s}function aSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],lSe(s,c,d,1),E=f}function lSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=SF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=cSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,uSe(m,f)|0,f),E=d}function SF(){var s=0,l=0;if(o[7648]|0||($9(9268),Zt(27,9268,_|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(br(9268)|0)){s=9268,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));$9(9268)}return 9268}function cSe(s){return s=s|0,0}function uSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=SF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Z9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ASe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function Z9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ASe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=fSe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,pSe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],Z9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,hSe(s,Q),gSe(Q),E=M;return}}function fSe(s){return s=s|0,357913941}function pSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function hSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function gSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function $9(s){s=s|0,ySe(s)}function dSe(s){s=s|0,mSe(s+24|0)}function mSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function ySe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,4,l,ESe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ESe(){return 1160}function CSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=ISe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=wSe(l,f)|0,E=c,l|0}function ISe(s){return s=s|0,(n[(SF()|0)+24>>2]|0)+(s*12|0)|0}function wSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),e5(bg[c&31](s)|0)|0}function e5(s){return s=s|0,s&1|0}function BSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vSe(s,c,d,0),E=f}function vSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=PF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=DSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,SSe(m,f)|0,f),E=d}function PF(){var s=0,l=0;if(o[7656]|0||(r5(9304),Zt(28,9304,_|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(br(9304)|0)){s=9304,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));r5(9304)}return 9304}function DSe(s){return s=s|0,0}function SSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=PF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],t5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(PSe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function t5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function PSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=xSe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,bSe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],t5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,QSe(s,Q),kSe(Q),E=M;return}}function xSe(s){return s=s|0,357913941}function bSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function QSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function kSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function r5(s){s=s|0,TSe(s)}function FSe(s){s=s|0,RSe(s+24|0)}function RSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function TSe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,NSe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function NSe(){return 1164}function LSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=OSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MSe(l,d,c),E=f}function OSe(s){return s=s|0,(n[(PF()|0)+24>>2]|0)+(s*12|0)|0}function MSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),wp(d,c),c=Bp(d,c)|0,ef[f&31](s,c),vp(d),E=m}function wp(s,l){s=s|0,l=l|0,USe(s,l)}function Bp(s,l){return s=s|0,l=l|0,s|0}function vp(s){s=s|0,HA(s)}function USe(s,l){s=s|0,l=l|0,xF(s,l)}function xF(s,l){s=s|0,l=l|0,n[s>>2]=l}function _Se(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],HSe(s,c,d,0),E=f}function HSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=bF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=qSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,jSe(m,f)|0,f),E=d}function bF(){var s=0,l=0;if(o[7664]|0||(i5(9340),Zt(29,9340,_|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(br(9340)|0)){s=9340,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));i5(9340)}return 9340}function qSe(s){return s=s|0,0}function jSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=bF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],n5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(GSe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function n5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function GSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=WSe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,YSe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],n5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,KSe(s,Q),JSe(Q),E=M;return}}function WSe(s){return s=s|0,357913941}function YSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function KSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function JSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function i5(s){s=s|0,XSe(s)}function VSe(s){s=s|0,zSe(s+24|0)}function zSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function XSe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,4,l,ZSe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ZSe(){return 1180}function $Se(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=ePe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=tPe(l,d,c)|0,E=f,c|0}function ePe(s){return s=s|0,(n[(bF()|0)+24>>2]|0)+(s*12|0)|0}function tPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Ig(d,c),d=wg(d,c)|0,d=Mv(DR[f&15](s,d)|0)|0,E=m,d|0}function Ig(s,l){s=s|0,l=l|0}function wg(s,l){return s=s|0,l=l|0,rPe(l)|0}function Mv(s){return s=s|0,s|0}function rPe(s){return s=s|0,s|0}function nPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],iPe(s,c,d,0),E=f}function iPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=QF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=sPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,oPe(m,f)|0,f),E=d}function QF(){var s=0,l=0;if(o[7672]|0||(o5(9376),Zt(30,9376,_|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(br(9376)|0)){s=9376,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o5(9376)}return 9376}function sPe(s){return s=s|0,0}function oPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=QF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],s5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(aPe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function s5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function aPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=lPe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,cPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],s5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,uPe(s,Q),APe(Q),E=M;return}}function lPe(s){return s=s|0,357913941}function cPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function uPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function APe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function o5(s){s=s|0,hPe(s)}function fPe(s){s=s|0,pPe(s+24|0)}function pPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function hPe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,a5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function a5(){return 1196}function gPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=dPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=mPe(l,f)|0,E=c,l|0}function dPe(s){return s=s|0,(n[(QF()|0)+24>>2]|0)+(s*12|0)|0}function mPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),Mv(bg[c&31](s)|0)|0}function yPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],EPe(s,c,d,1),E=f}function EPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=kF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=CPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,IPe(m,f)|0,f),E=d}function kF(){var s=0,l=0;if(o[7680]|0||(c5(9412),Zt(31,9412,_|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(br(9412)|0)){s=9412,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));c5(9412)}return 9412}function CPe(s){return s=s|0,0}function IPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=kF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],l5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(wPe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function l5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function wPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=BPe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,vPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],l5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,DPe(s,Q),SPe(Q),E=M;return}}function BPe(s){return s=s|0,357913941}function vPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function DPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function SPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function c5(s){s=s|0,bPe(s)}function PPe(s){s=s|0,xPe(s+24|0)}function xPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function bPe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,u5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function u5(){return 1200}function QPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=kPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=FPe(l,f)|0,E=c,l|0}function kPe(s){return s=s|0,(n[(kF()|0)+24>>2]|0)+(s*12|0)|0}function FPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),Uv(bg[c&31](s)|0)|0}function Uv(s){return s=s|0,s|0}function RPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],TPe(s,c,d,0),E=f}function TPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=FF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=NPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,LPe(m,f)|0,f),E=d}function FF(){var s=0,l=0;if(o[7688]|0||(f5(9448),Zt(32,9448,_|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(br(9448)|0)){s=9448,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));f5(9448)}return 9448}function NPe(s){return s=s|0,0}function LPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=FF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],A5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(OPe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function A5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function OPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=MPe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,UPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],A5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,_Pe(s,Q),HPe(Q),E=M;return}}function MPe(s){return s=s|0,357913941}function UPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function _Pe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function HPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function f5(s){s=s|0,GPe(s)}function qPe(s){s=s|0,jPe(s+24|0)}function jPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function GPe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,p5()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function p5(){return 1204}function WPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=YPe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],KPe(l,d,c),E=f}function YPe(s){return s=s|0,(n[(FF()|0)+24>>2]|0)+(s*12|0)|0}function KPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),RF(d,c),d=TF(d,c)|0,ef[f&31](s,d),E=m}function RF(s,l){s=s|0,l=l|0}function TF(s,l){return s=s|0,l=l|0,JPe(l)|0}function JPe(s){return s=s|0,s|0}function VPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zPe(s,c,d,0),E=f}function zPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=NF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=XPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,ZPe(m,f)|0,f),E=d}function NF(){var s=0,l=0;if(o[7696]|0||(g5(9484),Zt(33,9484,_|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(br(9484)|0)){s=9484,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));g5(9484)}return 9484}function XPe(s){return s=s|0,0}function ZPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=NF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],h5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):($Pe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function h5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function $Pe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=exe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,txe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],h5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,rxe(s,Q),nxe(Q),E=M;return}}function exe(s){return s=s|0,357913941}function txe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function rxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function nxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function g5(s){s=s|0,oxe(s)}function ixe(s){s=s|0,sxe(s+24|0)}function sxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function oxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,axe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function axe(){return 1212}function lxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+8|0,B=d,Q=cxe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],uxe(l,m,c,f),E=d}function cxe(s){return s=s|0,(n[(NF()|0)+24>>2]|0)+(s*12|0)|0}function uxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=E,E=E+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),RF(m,c),m=TF(m,c)|0,Ig(B,f),B=wg(B,f)|0,xI[d&15](s,m,B),E=Q}function Axe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],fxe(s,c,d,1),E=f}function fxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=LF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=pxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,hxe(m,f)|0,f),E=d}function LF(){var s=0,l=0;if(o[7704]|0||(m5(9520),Zt(34,9520,_|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(br(9520)|0)){s=9520,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));m5(9520)}return 9520}function pxe(s){return s=s|0,0}function hxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=LF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],d5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(gxe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function d5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function gxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=dxe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,mxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],d5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,yxe(s,Q),Exe(Q),E=M;return}}function dxe(s){return s=s|0,357913941}function mxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function yxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Exe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function m5(s){s=s|0,wxe(s)}function Cxe(s){s=s|0,Ixe(s+24|0)}function Ixe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function wxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,Bxe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Bxe(){return 1224}function vxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;return d=E,E=E+16|0,m=d+8|0,B=d,Q=Dxe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],f=+Sxe(l,m,c),E=d,+f}function Dxe(s){return s=s|0,(n[(LF()|0)+24>>2]|0)+(s*12|0)|0}function Sxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),zA(d,c),d=XA(d,c)|0,B=+yF(+h7[f&7](s,d)),E=m,+B}function Pxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],xxe(s,c,d,1),E=f}function xxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=OF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=bxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Qxe(m,f)|0,f),E=d}function OF(){var s=0,l=0;if(o[7712]|0||(E5(9556),Zt(35,9556,_|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(br(9556)|0)){s=9556,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));E5(9556)}return 9556}function bxe(s){return s=s|0,0}function Qxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=OF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],y5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(kxe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function y5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function kxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Fxe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Rxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],y5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Txe(s,Q),Nxe(Q),E=M;return}}function Fxe(s){return s=s|0,357913941}function Rxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Txe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Nxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function E5(s){s=s|0,Mxe(s)}function Lxe(s){s=s|0,Oxe(s+24|0)}function Oxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Mxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,Uxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Uxe(){return 1232}function _xe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=Hxe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=+qxe(l,d),E=f,+c}function Hxe(s){return s=s|0,(n[(OF()|0)+24>>2]|0)+(s*12|0)|0}function qxe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),+ +yF(+p7[c&15](s))}function jxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Gxe(s,c,d,1),E=f}function Gxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=MF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Wxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Yxe(m,f)|0,f),E=d}function MF(){var s=0,l=0;if(o[7720]|0||(I5(9592),Zt(36,9592,_|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(br(9592)|0)){s=9592,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));I5(9592)}return 9592}function Wxe(s){return s=s|0,0}function Yxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=MF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],C5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Kxe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function C5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Kxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Jxe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Vxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],C5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,zxe(s,Q),Xxe(Q),E=M;return}}function Jxe(s){return s=s|0,357913941}function Vxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function zxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Xxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function I5(s){s=s|0,ebe(s)}function Zxe(s){s=s|0,$xe(s+24|0)}function $xe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function ebe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,7,l,tbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function tbe(){return 1276}function rbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=nbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=ibe(l,f)|0,E=c,l|0}function nbe(s){return s=s|0,(n[(MF()|0)+24>>2]|0)+(s*12|0)|0}function ibe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=E,E=E+16|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),ef[c&31](f,s),f=w5(f)|0,E=d,f|0}function w5(s){s=s|0;var l=0,c=0,f=0,d=0;return d=E,E=E+32|0,l=d+12|0,c=d,f=IF(B5()|0)|0,f?(wF(l,f),BF(c,l),sbe(s,c),s=vF(l)|0):s=obe(s)|0,E=d,s|0}function B5(){var s=0;return o[7736]|0||(dbe(9640),Zt(25,9640,_|0)|0,s=7736,n[s>>2]=1,n[s+4>>2]=0),9640}function sbe(s,l){s=s|0,l=l|0,ube(l,s,s+8|0)|0}function obe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=E,E=E+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,Q=Gt(16)|0,n[Q>>2]=n[s>>2],n[Q+4>>2]=n[s+4>>2],n[Q+8>>2]=n[s+8>>2],n[Q+12>>2]=n[s+12>>2],m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],UF(s,m,d),n[f>>2]=s,E=c,l|0}function UF(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1244,n[c+12>>2]=l,n[s+4>>2]=c}function abe(s){s=s|0,Km(s),pt(s)}function lbe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function cbe(s){s=s|0,pt(s)}function ube(s,l,c){return s=s|0,l=l|0,c=c|0,l=Abe(n[s>>2]|0,l,c)|0,c=s+4|0,n[(n[c>>2]|0)+8>>2]=l,n[(n[c>>2]|0)+8>>2]|0}function Abe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return f=E,E=E+16|0,d=f,Ja(d),s=ga(s)|0,c=fbe(s,n[l>>2]|0,+C[c>>3])|0,Va(d),E=f,c|0}function fbe(s,l,c){s=s|0,l=l|0,c=+c;var f=0;return f=Sl(pbe()|0)|0,l=mF(l)|0,dl(0,f|0,s|0,l|0,+ +KA(c))|0}function pbe(){var s=0;return o[7728]|0||(hbe(9628),s=7728,n[s>>2]=1,n[s+4>>2]=0),9628}function hbe(s){s=s|0,Pl(s,gbe()|0,2)}function gbe(){return 1264}function dbe(s){s=s|0,Ip(s)}function mbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ybe(s,c,d,1),E=f}function ybe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=_F()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Ebe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Cbe(m,f)|0,f),E=d}function _F(){var s=0,l=0;if(o[7744]|0||(D5(9684),Zt(37,9684,_|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(br(9684)|0)){s=9684,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));D5(9684)}return 9684}function Ebe(s){return s=s|0,0}function Cbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=_F()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],v5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Ibe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function v5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Ibe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=wbe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Bbe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],v5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,vbe(s,Q),Dbe(Q),E=M;return}}function wbe(s){return s=s|0,357913941}function Bbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function vbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Dbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function D5(s){s=s|0,xbe(s)}function Sbe(s){s=s|0,Pbe(s+24|0)}function Pbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function xbe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,bbe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function bbe(){return 1280}function Qbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=kbe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=Fbe(l,d,c)|0,E=f,c|0}function kbe(s){return s=s|0,(n[(_F()|0)+24>>2]|0)+(s*12|0)|0}function Fbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return B=E,E=E+32|0,d=B,m=B+16|0,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),zA(m,c),m=XA(m,c)|0,xI[f&15](d,s,m),m=w5(d)|0,E=B,m|0}function Rbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Tbe(s,c,d,1),E=f}function Tbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=HF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Nbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Lbe(m,f)|0,f),E=d}function HF(){var s=0,l=0;if(o[7752]|0||(P5(9720),Zt(38,9720,_|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(br(9720)|0)){s=9720,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));P5(9720)}return 9720}function Nbe(s){return s=s|0,0}function Lbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=HF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],S5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Obe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function S5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Obe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Mbe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Ube(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],S5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,_be(s,Q),Hbe(Q),E=M;return}}function Mbe(s){return s=s|0,357913941}function Ube(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function _be(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Hbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function P5(s){s=s|0,Gbe(s)}function qbe(s){s=s|0,jbe(s+24|0)}function jbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Gbe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,Wbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Wbe(){return 1288}function Ybe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=E,E=E+16|0,f=c+8|0,d=c,m=Kbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Jbe(l,f)|0,E=c,l|0}function Kbe(s){return s=s|0,(n[(HF()|0)+24>>2]|0)+(s*12|0)|0}function Jbe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),q9(bg[c&31](s)|0)|0}function Vbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zbe(s,c,d,0),E=f}function zbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=qF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Xbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Zbe(m,f)|0,f),E=d}function qF(){var s=0,l=0;if(o[7760]|0||(b5(9756),Zt(39,9756,_|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(br(9756)|0)){s=9756,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));b5(9756)}return 9756}function Xbe(s){return s=s|0,0}function Zbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=qF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],x5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):($be(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function x5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function $be(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=eQe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,tQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],x5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,rQe(s,Q),nQe(Q),E=M;return}}function eQe(s){return s=s|0,357913941}function tQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function rQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function nQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function b5(s){s=s|0,oQe(s)}function iQe(s){s=s|0,sQe(s+24|0)}function sQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function oQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,aQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function aQe(){return 1292}function lQe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=cQe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],uQe(l,d,c),E=f}function cQe(s){return s=s|0,(n[(qF()|0)+24>>2]|0)+(s*12|0)|0}function uQe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Ru(d,c),c=+Tu(d,c),u7[f&31](s,c),E=m}function AQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],fQe(s,c,d,0),E=f}function fQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=jF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=pQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,hQe(m,f)|0,f),E=d}function jF(){var s=0,l=0;if(o[7768]|0||(k5(9792),Zt(40,9792,_|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(br(9792)|0)){s=9792,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));k5(9792)}return 9792}function pQe(s){return s=s|0,0}function hQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=jF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Q5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(gQe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function Q5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function gQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=dQe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,mQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],Q5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,yQe(s,Q),EQe(Q),E=M;return}}function dQe(s){return s=s|0,357913941}function mQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function yQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function EQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function k5(s){s=s|0,wQe(s)}function CQe(s){s=s|0,IQe(s+24|0)}function IQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function wQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,BQe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function BQe(){return 1300}function vQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+8|0,B=d,Q=DQe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],SQe(l,m,c,f),E=d}function DQe(s){return s=s|0,(n[(jF()|0)+24>>2]|0)+(s*12|0)|0}function SQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;Q=E,E=E+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),zA(m,c),m=XA(m,c)|0,Ru(B,f),f=+Tu(B,f),y7[d&15](s,m,f),E=Q}function PQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],xQe(s,c,d,0),E=f}function xQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=GF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=bQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,QQe(m,f)|0,f),E=d}function GF(){var s=0,l=0;if(o[7776]|0||(R5(9828),Zt(41,9828,_|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(br(9828)|0)){s=9828,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));R5(9828)}return 9828}function bQe(s){return s=s|0,0}function QQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=GF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],F5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(kQe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function F5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function kQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=FQe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,RQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],F5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,TQe(s,Q),NQe(Q),E=M;return}}function FQe(s){return s=s|0,357913941}function RQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function TQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function NQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function R5(s){s=s|0,MQe(s)}function LQe(s){s=s|0,OQe(s+24|0)}function OQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function MQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,7,l,UQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function UQe(){return 1312}function _Qe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=HQe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],qQe(l,d,c),E=f}function HQe(s){return s=s|0,(n[(GF()|0)+24>>2]|0)+(s*12|0)|0}function qQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),zA(d,c),d=XA(d,c)|0,ef[f&31](s,d),E=m}function jQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],GQe(s,c,d,0),E=f}function GQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=WF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=WQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,YQe(m,f)|0,f),E=d}function WF(){var s=0,l=0;if(o[7784]|0||(N5(9864),Zt(42,9864,_|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(br(9864)|0)){s=9864,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));N5(9864)}return 9864}function WQe(s){return s=s|0,0}function YQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=WF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],T5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(KQe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function T5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function KQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=JQe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,VQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],T5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,zQe(s,Q),XQe(Q),E=M;return}}function JQe(s){return s=s|0,357913941}function VQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function zQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function XQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function N5(s){s=s|0,eke(s)}function ZQe(s){s=s|0,$Qe(s+24|0)}function $Qe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function eke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,tke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function tke(){return 1320}function rke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=nke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ike(l,d,c),E=f}function nke(s){return s=s|0,(n[(WF()|0)+24>>2]|0)+(s*12|0)|0}function ike(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ske(d,c),d=oke(d,c)|0,ef[f&31](s,d),E=m}function ske(s,l){s=s|0,l=l|0}function oke(s,l){return s=s|0,l=l|0,ake(l)|0}function ake(s){return s=s|0,s|0}function lke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cke(s,c,d,0),E=f}function cke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=YF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=uke(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Ake(m,f)|0,f),E=d}function YF(){var s=0,l=0;if(o[7792]|0||(O5(9900),Zt(43,9900,_|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(br(9900)|0)){s=9900,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));O5(9900)}return 9900}function uke(s){return s=s|0,0}function Ake(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=YF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],L5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(fke(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function L5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function fke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=pke(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,hke(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],L5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,gke(s,Q),dke(Q),E=M;return}}function pke(s){return s=s|0,357913941}function hke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function gke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function dke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function O5(s){s=s|0,Eke(s)}function mke(s){s=s|0,yke(s+24|0)}function yke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Eke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,22,l,Cke()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Cke(){return 1344}function Ike(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;c=E,E=E+16|0,f=c+8|0,d=c,m=wke(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],Bke(l,f),E=c}function wke(s){return s=s|0,(n[(YF()|0)+24>>2]|0)+(s*12|0)|0}function Bke(s,l){s=s|0,l=l|0;var c=0;c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),$A[c&127](s)}function vke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=KF()|0,s=Dke(c)|0,un(m,l,d,s,Ske(c,f)|0,f)}function KF(){var s=0,l=0;if(o[7800]|0||(U5(9936),Zt(44,9936,_|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(br(9936)|0)){s=9936,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));U5(9936)}return 9936}function Dke(s){return s=s|0,s|0}function Ske(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=KF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(M5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(Pke(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function M5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function Pke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=xke(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,bke(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,M5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Qke(s,d),kke(d),E=Q;return}}function xke(s){return s=s|0,536870911}function bke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function Qke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function kke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function U5(s){s=s|0,Tke(s)}function Fke(s){s=s|0,Rke(s+24|0)}function Rke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function Tke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,23,l,p5()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Nke(s,l){s=s|0,l=l|0,Oke(n[(Lke(s)|0)>>2]|0,l)}function Lke(s){return s=s|0,(n[(KF()|0)+24>>2]|0)+(s<<3)|0}function Oke(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,RF(f,l),l=TF(f,l)|0,$A[s&127](l),E=c}function Mke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=JF()|0,s=Uke(c)|0,un(m,l,d,s,_ke(c,f)|0,f)}function JF(){var s=0,l=0;if(o[7808]|0||(H5(9972),Zt(45,9972,_|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(br(9972)|0)){s=9972,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));H5(9972)}return 9972}function Uke(s){return s=s|0,s|0}function _ke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=JF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(_5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(Hke(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function _5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function Hke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=qke(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,jke(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,_5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Gke(s,d),Wke(d),E=Q;return}}function qke(s){return s=s|0,536870911}function jke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function Gke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Wke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function H5(s){s=s|0,Jke(s)}function Yke(s){s=s|0,Kke(s+24|0)}function Kke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function Jke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,9,l,Vke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Vke(){return 1348}function zke(s,l){return s=s|0,l=l|0,Zke(n[(Xke(s)|0)>>2]|0,l)|0}function Xke(s){return s=s|0,(n[(JF()|0)+24>>2]|0)+(s<<3)|0}function Zke(s,l){s=s|0,l=l|0;var c=0,f=0;return c=E,E=E+16|0,f=c,q5(f,l),l=j5(f,l)|0,l=Mv(bg[s&31](l)|0)|0,E=c,l|0}function q5(s,l){s=s|0,l=l|0}function j5(s,l){return s=s|0,l=l|0,$ke(l)|0}function $ke(s){return s=s|0,s|0}function eFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=VF()|0,s=tFe(c)|0,un(m,l,d,s,rFe(c,f)|0,f)}function VF(){var s=0,l=0;if(o[7816]|0||(W5(10008),Zt(46,10008,_|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(br(10008)|0)){s=10008,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W5(10008)}return 10008}function tFe(s){return s=s|0,s|0}function rFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=VF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(G5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(nFe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function G5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function nFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=iFe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,sFe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,G5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,oFe(s,d),aFe(d),E=Q;return}}function iFe(s){return s=s|0,536870911}function sFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function oFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function aFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function W5(s){s=s|0,uFe(s)}function lFe(s){s=s|0,cFe(s+24|0)}function cFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function uFe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,15,l,a5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function AFe(s){return s=s|0,pFe(n[(fFe(s)|0)>>2]|0)|0}function fFe(s){return s=s|0,(n[(VF()|0)+24>>2]|0)+(s<<3)|0}function pFe(s){return s=s|0,Mv($v[s&7]()|0)|0}function hFe(){var s=0;return o[7832]|0||(wFe(10052),Zt(25,10052,_|0)|0,s=7832,n[s>>2]=1,n[s+4>>2]=0),10052}function gFe(s,l){s=s|0,l=l|0,n[s>>2]=dFe()|0,n[s+4>>2]=mFe()|0,n[s+12>>2]=l,n[s+8>>2]=yFe()|0,n[s+32>>2]=2}function dFe(){return 11709}function mFe(){return 1188}function yFe(){return _v()|0}function EFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(CFe(c),pt(c)):l|0&&(bu(l),pt(l))}function Dp(s,l){return s=s|0,l=l|0,l&s|0}function CFe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function _v(){var s=0;return o[7824]|0||(n[2511]=IFe()|0,n[2512]=0,s=7824,n[s>>2]=1,n[s+4>>2]=0),10044}function IFe(){return 0}function wFe(s){s=s|0,Ip(s)}function BFe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0;l=E,E=E+32|0,c=l+24|0,m=l+16|0,d=l+8|0,f=l,vFe(s,4827),DFe(s,4834,3)|0,SFe(s,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],PFe(s,4841,c)|0,n[d>>2]=1,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],xFe(s,4871,c)|0,n[f>>2]=10,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],bFe(s,4891,c)|0,E=l}function vFe(s,l){s=s|0,l=l|0;var c=0;c=aTe()|0,n[s>>2]=c,lTe(c,l),Sp(n[s>>2]|0)}function DFe(s,l,c){return s=s|0,l=l|0,c=c|0,WRe(s,cn(l)|0,c,0),s|0}function SFe(s,l,c){return s=s|0,l=l|0,c=c|0,QRe(s,cn(l)|0,c,0),s|0}function PFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ARe(s,l,d),E=f,s|0}function xFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],YFe(s,l,d),E=f,s|0}function bFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],QFe(s,l,d),E=f,s|0}function QFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],kFe(s,c,d,1),E=f}function kFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=zF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=FFe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,RFe(m,f)|0,f),E=d}function zF(){var s=0,l=0;if(o[7840]|0||(K5(10100),Zt(48,10100,_|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(br(10100)|0)){s=10100,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));K5(10100)}return 10100}function FFe(s){return s=s|0,0}function RFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=zF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Y5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(TFe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function Y5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function TFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=NFe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,LFe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],Y5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,OFe(s,Q),MFe(Q),E=M;return}}function NFe(s){return s=s|0,357913941}function LFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function OFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function MFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function K5(s){s=s|0,HFe(s)}function UFe(s){s=s|0,_Fe(s+24|0)}function _Fe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function HFe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,qFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function qFe(){return 1364}function jFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=E,E=E+16|0,d=f+8|0,m=f,B=GFe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=WFe(l,d,c)|0,E=f,c|0}function GFe(s){return s=s|0,(n[(zF()|0)+24>>2]|0)+(s*12|0)|0}function WFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),zA(d,c),d=XA(d,c)|0,d=e5(DR[f&15](s,d)|0)|0,E=m,d|0}function YFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],KFe(s,c,d,0),E=f}function KFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=XF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=JFe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,VFe(m,f)|0,f),E=d}function XF(){var s=0,l=0;if(o[7848]|0||(V5(10136),Zt(49,10136,_|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(br(10136)|0)){s=10136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));V5(10136)}return 10136}function JFe(s){return s=s|0,0}function VFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=XF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],J5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(zFe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function J5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function zFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=XFe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,ZFe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],J5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,$Fe(s,Q),eRe(Q),E=M;return}}function XFe(s){return s=s|0,357913941}function ZFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function $Fe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function eRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function V5(s){s=s|0,nRe(s)}function tRe(s){s=s|0,rRe(s+24|0)}function rRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function nRe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,9,l,iRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function iRe(){return 1372}function sRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,d=f+8|0,m=f,B=oRe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],aRe(l,d,c),E=f}function oRe(s){return s=s|0,(n[(XF()|0)+24>>2]|0)+(s*12|0)|0}function aRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=$e;m=E,E=E+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),lRe(d,c),B=y(cRe(d,c)),c7[f&1](s,B),E=m}function lRe(s,l){s=s|0,l=+l}function cRe(s,l){return s=s|0,l=+l,y(uRe(l))}function uRe(s){return s=+s,y(s)}function ARe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],fRe(s,c,d,0),E=f}function fRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=E,E=E+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=ZF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=pRe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,hRe(m,f)|0,f),E=d}function ZF(){var s=0,l=0;if(o[7856]|0||(X5(10172),Zt(50,10172,_|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(br(10172)|0)){s=10172,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));X5(10172)}return 10172}function pRe(s){return s=s|0,0}function hRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=E,E=E+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=ZF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],z5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(gRe(M,Q,k),s=n[l>>2]|0),E=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function z5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function gRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=E,E=E+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=dRe(s)|0,m>>>0<d>>>0)Jr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,mRe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],z5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,yRe(s,Q),ERe(Q),E=M;return}}function dRe(s){return s=s|0,357913941}function mRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function yRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ERe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function X5(s){s=s|0,wRe(s)}function CRe(s){s=s|0,IRe(s+24|0)}function IRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function wRe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,3,l,BRe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function BRe(){return 1380}function vRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+8|0,B=d,Q=DRe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],SRe(l,m,c,f),E=d}function DRe(s){return s=s|0,(n[(ZF()|0)+24>>2]|0)+(s*12|0)|0}function SRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=E,E=E+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),zA(m,c),m=XA(m,c)|0,PRe(B,f),B=xRe(B,f)|0,xI[d&15](s,m,B),E=Q}function PRe(s,l){s=s|0,l=l|0}function xRe(s,l){return s=s|0,l=l|0,bRe(l)|0}function bRe(s){return s=s|0,(s|0)!=0|0}function QRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=$F()|0,s=kRe(c)|0,un(m,l,d,s,FRe(c,f)|0,f)}function $F(){var s=0,l=0;if(o[7864]|0||($5(10208),Zt(51,10208,_|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(br(10208)|0)){s=10208,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));$5(10208)}return 10208}function kRe(s){return s=s|0,s|0}function FRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=$F()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(Z5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(RRe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function Z5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function RRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=TRe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,NRe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,Z5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,LRe(s,d),ORe(d),E=Q;return}}function TRe(s){return s=s|0,536870911}function NRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function LRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ORe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function $5(s){s=s|0,_Re(s)}function MRe(s){s=s|0,URe(s+24|0)}function URe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function _Re(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,24,l,HRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function HRe(){return 1392}function qRe(s,l){s=s|0,l=l|0,GRe(n[(jRe(s)|0)>>2]|0,l)}function jRe(s){return s=s|0,(n[($F()|0)+24>>2]|0)+(s<<3)|0}function GRe(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,q5(f,l),l=j5(f,l)|0,$A[s&127](l),E=c}function WRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=eR()|0,s=YRe(c)|0,un(m,l,d,s,KRe(c,f)|0,f)}function eR(){var s=0,l=0;if(o[7872]|0||(tG(10244),Zt(52,10244,_|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(br(10244)|0)){s=10244,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));tG(10244)}return 10244}function YRe(s){return s=s|0,s|0}function KRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=eR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(eG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(JRe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function eG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function JRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=VRe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,zRe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,eG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,XRe(s,d),ZRe(d),E=Q;return}}function VRe(s){return s=s|0,536870911}function zRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function XRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ZRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function tG(s){s=s|0,tTe(s)}function $Re(s){s=s|0,eTe(s+24|0)}function eTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function tTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,16,l,rTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function rTe(){return 1400}function nTe(s){return s=s|0,sTe(n[(iTe(s)|0)>>2]|0)|0}function iTe(s){return s=s|0,(n[(eR()|0)+24>>2]|0)+(s<<3)|0}function sTe(s){return s=s|0,oTe($v[s&7]()|0)|0}function oTe(s){return s=s|0,s|0}function aTe(){var s=0;return o[7880]|0||(hTe(10280),Zt(25,10280,_|0)|0,s=7880,n[s>>2]=1,n[s+4>>2]=0),10280}function lTe(s,l){s=s|0,l=l|0,n[s>>2]=cTe()|0,n[s+4>>2]=uTe()|0,n[s+12>>2]=l,n[s+8>>2]=ATe()|0,n[s+32>>2]=4}function cTe(){return 11711}function uTe(){return 1356}function ATe(){return _v()|0}function fTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(pTe(c),pt(c)):l|0&&(yg(l),pt(l))}function pTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function hTe(s){s=s|0,Ip(s)}function gTe(s){s=s|0,dTe(s,4920),mTe(s)|0,yTe(s)|0}function dTe(s,l){s=s|0,l=l|0;var c=0;c=B5()|0,n[s>>2]=c,UTe(c,l),Sp(n[s>>2]|0)}function mTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,bTe()|0),s|0}function yTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,ETe()|0),s|0}function ETe(){var s=0;return o[7888]|0||(rG(10328),Zt(53,10328,_|0)|0,s=7888,n[s>>2]=1,n[s+4>>2]=0),br(10328)|0||rG(10328),10328}function Bg(s,l){s=s|0,l=l|0,un(s,0,l,0,0,0)}function rG(s){s=s|0,wTe(s),vg(s,10)}function CTe(s){s=s|0,ITe(s+24|0)}function ITe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function wTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,1,l,STe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function BTe(s,l,c){s=s|0,l=l|0,c=+c,vTe(s,l,c)}function vg(s,l){s=s|0,l=l|0,n[s+20>>2]=l}function vTe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+16|0,m=f+8|0,Q=f+13|0,d=f,B=f+12|0,zA(Q,l),n[m>>2]=XA(Q,l)|0,Ru(B,c),C[d>>3]=+Tu(B,c),DTe(s,m,d),E=f}function DTe(s,l,c){s=s|0,l=l|0,c=c|0,W(s+8|0,n[l>>2]|0,+C[c>>3]),o[s+24>>0]=1}function STe(){return 1404}function PTe(s,l){return s=s|0,l=+l,xTe(s,l)|0}function xTe(s,l){s=s|0,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return f=E,E=E+16|0,m=f+4|0,B=f+8|0,Q=f,d=Ka(8)|0,c=d,k=Gt(16)|0,zA(m,s),s=XA(m,s)|0,Ru(B,l),W(k,s,+Tu(B,l)),B=c+4|0,n[B>>2]=k,s=Gt(8)|0,B=n[B>>2]|0,n[Q>>2]=0,n[m>>2]=n[Q>>2],UF(s,B,m),n[d>>2]=s,E=f,c|0}function bTe(){var s=0;return o[7896]|0||(nG(10364),Zt(54,10364,_|0)|0,s=7896,n[s>>2]=1,n[s+4>>2]=0),br(10364)|0||nG(10364),10364}function nG(s){s=s|0,FTe(s),vg(s,55)}function QTe(s){s=s|0,kTe(s+24|0)}function kTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function FTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,4,l,LTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function RTe(s){s=s|0,TTe(s)}function TTe(s){s=s|0,NTe(s)}function NTe(s){s=s|0,iG(s+8|0),o[s+24>>0]=1}function iG(s){s=s|0,n[s>>2]=0,C[s+8>>3]=0}function LTe(){return 1424}function OTe(){return MTe()|0}function MTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=E,E=E+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,f=Gt(16)|0,iG(f),m=s+4|0,n[m>>2]=f,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],UF(f,m,d),n[c>>2]=f,E=l,s|0}function UTe(s,l){s=s|0,l=l|0,n[s>>2]=_Te()|0,n[s+4>>2]=HTe()|0,n[s+12>>2]=l,n[s+8>>2]=qTe()|0,n[s+32>>2]=5}function _Te(){return 11710}function HTe(){return 1416}function qTe(){return Hv()|0}function jTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(GTe(c),pt(c)):l|0&&pt(l)}function GTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function Hv(){var s=0;return o[7904]|0||(n[2600]=WTe()|0,n[2601]=0,s=7904,n[s>>2]=1,n[s+4>>2]=0),10400}function WTe(){return n[357]|0}function YTe(s){s=s|0,KTe(s,4926),JTe(s)|0}function KTe(s,l){s=s|0,l=l|0;var c=0;c=Y9()|0,n[s>>2]=c,sNe(c,l),Sp(n[s>>2]|0)}function JTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,VTe()|0),s|0}function VTe(){var s=0;return o[7912]|0||(sG(10412),Zt(56,10412,_|0)|0,s=7912,n[s>>2]=1,n[s+4>>2]=0),br(10412)|0||sG(10412),10412}function sG(s){s=s|0,ZTe(s),vg(s,57)}function zTe(s){s=s|0,XTe(s+24|0)}function XTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function ZTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,5,l,rNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function $Te(s){s=s|0,eNe(s)}function eNe(s){s=s|0,tNe(s)}function tNe(s){s=s|0;var l=0,c=0;l=s+8|0,c=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(c|0));o[s+56>>0]=1}function rNe(){return 1432}function nNe(){return iNe()|0}function iNe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0;B=E,E=E+16|0,s=B+4|0,l=B,c=Ka(8)|0,f=c,d=Gt(48)|0,m=d,Q=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(Q|0));return m=f+4|0,n[m>>2]=d,Q=Gt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[s>>2]=n[l>>2],K9(Q,m,s),n[c>>2]=Q,E=B,f|0}function sNe(s,l){s=s|0,l=l|0,n[s>>2]=oNe()|0,n[s+4>>2]=aNe()|0,n[s+12>>2]=l,n[s+8>>2]=lNe()|0,n[s+32>>2]=6}function oNe(){return 11704}function aNe(){return 1436}function lNe(){return Hv()|0}function cNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(uNe(c),pt(c)):l|0&&pt(l)}function uNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function ANe(s){s=s|0,fNe(s,4933),pNe(s)|0,hNe(s)|0}function fNe(s,l){s=s|0,l=l|0;var c=0;c=MNe()|0,n[s>>2]=c,UNe(c,l),Sp(n[s>>2]|0)}function pNe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,xNe()|0),s|0}function hNe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,gNe()|0),s|0}function gNe(){var s=0;return o[7920]|0||(oG(10452),Zt(58,10452,_|0)|0,s=7920,n[s>>2]=1,n[s+4>>2]=0),br(10452)|0||oG(10452),10452}function oG(s){s=s|0,yNe(s),vg(s,1)}function dNe(s){s=s|0,mNe(s+24|0)}function mNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function yNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,1,l,wNe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ENe(s,l,c){s=s|0,l=+l,c=+c,CNe(s,l,c)}function CNe(s,l,c){s=s|0,l=+l,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+32|0,m=f+8|0,Q=f+17|0,d=f,B=f+16|0,Ru(Q,l),C[m>>3]=+Tu(Q,l),Ru(B,c),C[d>>3]=+Tu(B,c),INe(s,m,d),E=f}function INe(s,l,c){s=s|0,l=l|0,c=c|0,aG(s+8|0,+C[l>>3],+C[c>>3]),o[s+24>>0]=1}function aG(s,l,c){s=s|0,l=+l,c=+c,C[s>>3]=l,C[s+8>>3]=c}function wNe(){return 1472}function BNe(s,l){return s=+s,l=+l,vNe(s,l)|0}function vNe(s,l){s=+s,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return f=E,E=E+16|0,B=f+4|0,Q=f+8|0,k=f,d=Ka(8)|0,c=d,m=Gt(16)|0,Ru(B,s),s=+Tu(B,s),Ru(Q,l),aG(m,s,+Tu(Q,l)),Q=c+4|0,n[Q>>2]=m,m=Gt(8)|0,Q=n[Q>>2]|0,n[k>>2]=0,n[B>>2]=n[k>>2],lG(m,Q,B),n[d>>2]=m,E=f,c|0}function lG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1452,n[c+12>>2]=l,n[s+4>>2]=c}function DNe(s){s=s|0,Km(s),pt(s)}function SNe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function PNe(s){s=s|0,pt(s)}function xNe(){var s=0;return o[7928]|0||(cG(10488),Zt(59,10488,_|0)|0,s=7928,n[s>>2]=1,n[s+4>>2]=0),br(10488)|0||cG(10488),10488}function cG(s){s=s|0,kNe(s),vg(s,60)}function bNe(s){s=s|0,QNe(s+24|0)}function QNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function kNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,6,l,NNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function FNe(s){s=s|0,RNe(s)}function RNe(s){s=s|0,TNe(s)}function TNe(s){s=s|0,uG(s+8|0),o[s+24>>0]=1}function uG(s){s=s|0,n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,n[s+12>>2]=0}function NNe(){return 1492}function LNe(){return ONe()|0}function ONe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=E,E=E+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,f=Gt(16)|0,uG(f),m=s+4|0,n[m>>2]=f,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],lG(f,m,d),n[c>>2]=f,E=l,s|0}function MNe(){var s=0;return o[7936]|0||(WNe(10524),Zt(25,10524,_|0)|0,s=7936,n[s>>2]=1,n[s+4>>2]=0),10524}function UNe(s,l){s=s|0,l=l|0,n[s>>2]=_Ne()|0,n[s+4>>2]=HNe()|0,n[s+12>>2]=l,n[s+8>>2]=qNe()|0,n[s+32>>2]=7}function _Ne(){return 11700}function HNe(){return 1484}function qNe(){return Hv()|0}function jNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(GNe(c),pt(c)):l|0&&pt(l)}function GNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function WNe(s){s=s|0,Ip(s)}function YNe(s,l,c){s=s|0,l=l|0,c=c|0,s=cn(l)|0,l=KNe(c)|0,c=JNe(c,0)|0,vLe(s,l,c,tR()|0,0)}function KNe(s){return s=s|0,s|0}function JNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=tR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(fG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(tLe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function tR(){var s=0,l=0;if(o[7944]|0||(AG(10568),Zt(61,10568,_|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(br(10568)|0)){s=10568,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));AG(10568)}return 10568}function AG(s){s=s|0,XNe(s)}function VNe(s){s=s|0,zNe(s+24|0)}function zNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function XNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,17,l,u5()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ZNe(s){return s=s|0,eLe(n[($Ne(s)|0)>>2]|0)|0}function $Ne(s){return s=s|0,(n[(tR()|0)+24>>2]|0)+(s<<3)|0}function eLe(s){return s=s|0,Uv($v[s&7]()|0)|0}function fG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function tLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=rLe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,nLe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,fG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,iLe(s,d),sLe(d),E=Q;return}}function rLe(s){return s=s|0,536870911}function nLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function iLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function sLe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function oLe(){aLe()}function aLe(){lLe(10604)}function lLe(s){s=s|0,cLe(s,4955)}function cLe(s,l){s=s|0,l=l|0;var c=0;c=uLe()|0,n[s>>2]=c,ALe(c,l),Sp(n[s>>2]|0)}function uLe(){var s=0;return o[7952]|0||(CLe(10612),Zt(25,10612,_|0)|0,s=7952,n[s>>2]=1,n[s+4>>2]=0),10612}function ALe(s,l){s=s|0,l=l|0,n[s>>2]=gLe()|0,n[s+4>>2]=dLe()|0,n[s+12>>2]=l,n[s+8>>2]=mLe()|0,n[s+32>>2]=8}function Sp(s){s=s|0;var l=0,c=0;l=E,E=E+16|0,c=l,qm()|0,n[c>>2]=s,fLe(10608,c),E=l}function qm(){return o[11714]|0||(n[2652]=0,Zt(62,10608,_|0)|0,o[11714]=1),10608}function fLe(s,l){s=s|0,l=l|0;var c=0;c=Gt(8)|0,n[c+4>>2]=n[l>>2],n[c>>2]=n[s>>2],n[s>>2]=c}function pLe(s){s=s|0,hLe(s)}function hLe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function gLe(){return 11715}function dLe(){return 1496}function mLe(){return _v()|0}function yLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(ELe(c),pt(c)):l|0&&pt(l)}function ELe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function CLe(s){s=s|0,Ip(s)}function ILe(s,l){s=s|0,l=l|0;var c=0,f=0;qm()|0,c=n[2652]|0;e:do if(c|0){for(;f=n[c+4>>2]|0,!(f|0&&(KG(rR(f)|0,s)|0)==0);)if(c=n[c>>2]|0,!c)break e;wLe(f,l)}while(0)}function rR(s){return s=s|0,n[s+12>>2]|0}function wLe(s,l){s=s|0,l=l|0;var c=0;s=s+36|0,c=n[s>>2]|0,c|0&&(HA(c),pt(c)),c=Gt(4)|0,_9(c,l),n[s>>2]=c}function nR(){return o[11716]|0||(n[2664]=0,Zt(63,10656,_|0)|0,o[11716]=1),10656}function pG(){var s=0;return o[11717]|0?s=n[2665]|0:(BLe(),n[2665]=1504,o[11717]=1,s=1504),s|0}function BLe(){o[11740]|0||(o[11718]=Ar(Ar(8,0)|0,0)|0,o[11719]=Ar(Ar(0,0)|0,0)|0,o[11720]=Ar(Ar(0,16)|0,0)|0,o[11721]=Ar(Ar(8,0)|0,0)|0,o[11722]=Ar(Ar(0,0)|0,0)|0,o[11723]=Ar(Ar(8,0)|0,0)|0,o[11724]=Ar(Ar(0,0)|0,0)|0,o[11725]=Ar(Ar(8,0)|0,0)|0,o[11726]=Ar(Ar(0,0)|0,0)|0,o[11727]=Ar(Ar(8,0)|0,0)|0,o[11728]=Ar(Ar(0,0)|0,0)|0,o[11729]=Ar(Ar(0,0)|0,32)|0,o[11730]=Ar(Ar(0,0)|0,32)|0,o[11740]=1)}function hG(){return 1572}function vLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0;m=E,E=E+32|0,O=m+16|0,M=m+12|0,k=m+8|0,Q=m+4|0,B=m,n[O>>2]=s,n[M>>2]=l,n[k>>2]=c,n[Q>>2]=f,n[B>>2]=d,nR()|0,DLe(10656,O,M,k,Q,B),E=m}function DLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0;B=Gt(24)|0,j9(B+4|0,n[l>>2]|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[s>>2],n[s>>2]=B}function gG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0,at=0;if(at=E,E=E+32|0,Oe=at+20|0,Re=at+8|0,et=at+4|0,Ze=at,l=n[l>>2]|0,l|0){We=Oe+4|0,k=Oe+8|0,M=Re+4|0,O=Re+8|0,j=Re+8|0,se=Oe+8|0;do{if(B=l+4|0,Q=iR(B)|0,Q|0){if(d=wI(Q)|0,n[Oe>>2]=0,n[We>>2]=0,n[k>>2]=0,f=(BI(Q)|0)+1|0,SLe(Oe,f),f|0)for(;f=f+-1|0,xc(Re,n[d>>2]|0),m=n[We>>2]|0,m>>>0<(n[se>>2]|0)>>>0?(n[m>>2]=n[Re>>2],n[We>>2]=(n[We>>2]|0)+4):sR(Oe,Re),f;)d=d+4|0;f=vI(Q)|0,n[Re>>2]=0,n[M>>2]=0,n[O>>2]=0;e:do if(n[f>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?PLe(Re,f):(n[d>>2]=n[f>>2],n[M>>2]=(n[M>>2]|0)+4),f=f+4|0,!(n[f>>2]|0))break e;d=n[M>>2]|0,m=n[j>>2]|0}while(0);n[et>>2]=qv(B)|0,n[Ze>>2]=br(Q)|0,xLe(c,s,et,Ze,Oe,Re),oR(Re),ZA(Oe)}l=n[l>>2]|0}while((l|0)!=0)}E=at}function iR(s){return s=s|0,n[s+12>>2]|0}function wI(s){return s=s|0,n[s+12>>2]|0}function BI(s){return s=s|0,n[s+16>>2]|0}function SLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=E,E=E+32|0,c=d,f=n[s>>2]|0,(n[s+8>>2]|0)-f>>2>>>0<l>>>0&&(BG(c,l,(n[s+4>>2]|0)-f>>2,s+8|0),vG(s,c),DG(c)),E=d}function sR(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;if(B=E,E=E+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=wG(s)|0,m>>>0<d>>>0)Jr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,k=M>>1,BG(c,M>>2>>>0<m>>>1>>>0?k>>>0<d>>>0?d:k:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,vG(s,c),DG(c),E=B;return}}function vI(s){return s=s|0,n[s+8>>2]|0}function PLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;if(B=E,E=E+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=IG(s)|0,m>>>0<d>>>0)Jr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,k=M>>1,KLe(c,M>>2>>>0<m>>>1>>>0?k>>>0<d>>>0?d:k:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,JLe(s,c),VLe(c),E=B;return}}function qv(s){return s=s|0,n[s>>2]|0}function xLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,bLe(s,l,c,f,d,m)}function oR(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function ZA(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function bLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=E,E=E+48|0,O=B+40|0,Q=B+32|0,j=B+24|0,k=B+12|0,M=B,Ja(Q),s=ga(s)|0,n[j>>2]=n[l>>2],c=n[c>>2]|0,f=n[f>>2]|0,aR(k,d),QLe(M,m),n[O>>2]=n[j>>2],kLe(s,O,c,f,k,M),oR(M),ZA(k),Va(Q),E=B}function aR(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(WLe(s,f),YLe(s,n[l>>2]|0,n[c>>2]|0,f))}function QLe(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(jLe(s,f),GLe(s,n[l>>2]|0,n[c>>2]|0,f))}function kLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=E,E=E+32|0,O=B+28|0,j=B+24|0,Q=B+12|0,k=B,M=Sl(FLe()|0)|0,n[j>>2]=n[l>>2],n[O>>2]=n[j>>2],l=Dg(O)|0,c=dG(c)|0,f=lR(f)|0,n[Q>>2]=n[d>>2],O=d+4|0,n[Q+4>>2]=n[O>>2],j=d+8|0,n[Q+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[d>>2]=0,d=cR(Q)|0,n[k>>2]=n[m>>2],O=m+4|0,n[k+4>>2]=n[O>>2],j=m+8|0,n[k+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[m>>2]=0,io(0,M|0,s|0,l|0,c|0,f|0,d|0,RLe(k)|0)|0,oR(k),ZA(Q),E=B}function FLe(){var s=0;return o[7968]|0||(HLe(10708),s=7968,n[s>>2]=1,n[s+4>>2]=0),10708}function Dg(s){return s=s|0,yG(s)|0}function dG(s){return s=s|0,mG(s)|0}function lR(s){return s=s|0,Uv(s)|0}function cR(s){return s=s|0,NLe(s)|0}function RLe(s){return s=s|0,TLe(s)|0}function TLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ka(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=mG(n[(n[s>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function mG(s){return s=s|0,s|0}function NLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ka(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=yG((n[s>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function yG(s){s=s|0;var l=0,c=0,f=0,d=0;return d=E,E=E+32|0,l=d+12|0,c=d,f=IF(EG()|0)|0,f?(wF(l,f),BF(c,l),mUe(s,c),s=vF(l)|0):s=LLe(s)|0,E=d,s|0}function EG(){var s=0;return o[7960]|0||(_Le(10664),Zt(25,10664,_|0)|0,s=7960,n[s>>2]=1,n[s+4>>2]=0),10664}function LLe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=E,E=E+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,Q=Gt(4)|0,n[Q>>2]=n[s>>2],m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],CG(s,m,d),n[f>>2]=s,E=c,l|0}function CG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1656,n[c+12>>2]=l,n[s+4>>2]=c}function OLe(s){s=s|0,Km(s),pt(s)}function MLe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function ULe(s){s=s|0,pt(s)}function _Le(s){s=s|0,Ip(s)}function HLe(s){s=s|0,Pl(s,qLe()|0,5)}function qLe(){return 1676}function jLe(s,l){s=s|0,l=l|0;var c=0;if((IG(s)|0)>>>0<l>>>0&&Jr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function GLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Cr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function IG(s){return s=s|0,1073741823}function WLe(s,l){s=s|0,l=l|0;var c=0;if((wG(s)|0)>>>0<l>>>0&&Jr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function YLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Cr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function wG(s){return s=s|0,1073741823}function KLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function JLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function VLe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function BG(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function vG(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function DG(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function zLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0;if(Re=E,E=E+32|0,O=Re+20|0,j=Re+12|0,M=Re+16|0,se=Re+4|0,We=Re,Oe=Re+8|0,Q=pG()|0,m=n[Q>>2]|0,B=n[m>>2]|0,B|0)for(k=n[Q+8>>2]|0,Q=n[Q+4>>2]|0;xc(O,B),XLe(s,O,Q,k),m=m+4|0,B=n[m>>2]|0,B;)k=k+1|0,Q=Q+1|0;if(m=hG()|0,B=n[m>>2]|0,B|0)do xc(O,B),n[j>>2]=n[m+4>>2],ZLe(l,O,j),m=m+8|0,B=n[m>>2]|0;while((B|0)!=0);if(m=n[(qm()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,xc(O,n[(jm(l)|0)>>2]|0),n[j>>2]=rR(l)|0,$Le(c,O,j),m=n[m>>2]|0;while((m|0)!=0);if(xc(M,0),m=nR()|0,n[O>>2]=n[M>>2],gG(O,m,d),m=n[(qm()|0)>>2]|0,m|0){s=O+4|0,l=O+8|0,c=O+8|0;do{if(k=n[m+4>>2]|0,xc(j,n[(jm(k)|0)>>2]|0),eOe(se,SG(k)|0),B=n[se>>2]|0,B|0){n[O>>2]=0,n[s>>2]=0,n[l>>2]=0;do xc(We,n[(jm(n[B+4>>2]|0)|0)>>2]|0),Q=n[s>>2]|0,Q>>>0<(n[c>>2]|0)>>>0?(n[Q>>2]=n[We>>2],n[s>>2]=(n[s>>2]|0)+4):sR(O,We),B=n[B>>2]|0;while((B|0)!=0);tOe(f,j,O),ZA(O)}n[Oe>>2]=n[j>>2],M=PG(k)|0,n[O>>2]=n[Oe>>2],gG(O,M,d),V9(se),m=n[m>>2]|0}while((m|0)!=0)}E=Re}function XLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,pOe(s,l,c,f)}function ZLe(s,l,c){s=s|0,l=l|0,c=c|0,fOe(s,l,c)}function jm(s){return s=s|0,s|0}function $Le(s,l,c){s=s|0,l=l|0,c=c|0,lOe(s,l,c)}function SG(s){return s=s|0,s+16|0}function eOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;if(m=E,E=E+16|0,d=m+8|0,c=m,n[s>>2]=0,f=n[l>>2]|0,n[d>>2]=f,n[c>>2]=s,c=aOe(c)|0,f|0){if(f=Gt(12)|0,B=(xG(d)|0)+4|0,s=n[B+4>>2]|0,l=f+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=s,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)s=f;else for(l=f;s=Gt(12)|0,k=(xG(d)|0)+4|0,Q=n[k+4>>2]|0,B=s+4|0,n[B>>2]=n[k>>2],n[B+4>>2]=Q,n[l>>2]=s,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=s;n[s>>2]=n[c>>2],n[c>>2]=f}E=m}function tOe(s,l,c){s=s|0,l=l|0,c=c|0,rOe(s,l,c)}function PG(s){return s=s|0,s+24|0}function rOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+32|0,B=f+24|0,d=f+16|0,Q=f+12|0,m=f,Ja(d),s=ga(s)|0,n[Q>>2]=n[l>>2],aR(m,c),n[B>>2]=n[Q>>2],nOe(s,B,m),ZA(m),Va(d),E=f}function nOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=E,E=E+32|0,B=f+16|0,Q=f+12|0,d=f,m=Sl(iOe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=Dg(B)|0,n[d>>2]=n[c>>2],B=c+4|0,n[d+4>>2]=n[B>>2],Q=c+8|0,n[d+8>>2]=n[Q>>2],n[Q>>2]=0,n[B>>2]=0,n[c>>2]=0,no(0,m|0,s|0,l|0,cR(d)|0)|0,ZA(d),E=f}function iOe(){var s=0;return o[7976]|0||(sOe(10720),s=7976,n[s>>2]=1,n[s+4>>2]=0),10720}function sOe(s){s=s|0,Pl(s,oOe()|0,2)}function oOe(){return 1732}function aOe(s){return s=s|0,n[s>>2]|0}function xG(s){return s=s|0,n[s>>2]|0}function lOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+32|0,m=f+16|0,d=f+8|0,B=f,Ja(d),s=ga(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],bG(s,m,c),Va(d),E=f}function bG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+16|0,m=f+4|0,B=f,d=Sl(cOe()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=Dg(m)|0,no(0,d|0,s|0,l|0,dG(c)|0)|0,E=f}function cOe(){var s=0;return o[7984]|0||(uOe(10732),s=7984,n[s>>2]=1,n[s+4>>2]=0),10732}function uOe(s){s=s|0,Pl(s,AOe()|0,2)}function AOe(){return 1744}function fOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=E,E=E+32|0,m=f+16|0,d=f+8|0,B=f,Ja(d),s=ga(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],bG(s,m,c),Va(d),E=f}function pOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+32|0,B=d+16|0,m=d+8|0,Q=d,Ja(m),s=ga(s)|0,n[Q>>2]=n[l>>2],c=o[c>>0]|0,f=o[f>>0]|0,n[B>>2]=n[Q>>2],hOe(s,B,c,f),Va(m),E=d}function hOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,B=d+4|0,Q=d,m=Sl(gOe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=Dg(B)|0,c=Gm(c)|0,hc(0,m|0,s|0,l|0,c|0,Gm(f)|0)|0,E=d}function gOe(){var s=0;return o[7992]|0||(mOe(10744),s=7992,n[s>>2]=1,n[s+4>>2]=0),10744}function Gm(s){return s=s|0,dOe(s)|0}function dOe(s){return s=s|0,s&255|0}function mOe(s){s=s|0,Pl(s,yOe()|0,3)}function yOe(){return 1756}function EOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;switch(se=E,E=E+32|0,Q=se+8|0,k=se+4|0,M=se+20|0,O=se,xF(s,0),f=dUe(l)|0,n[Q>>2]=0,j=Q+4|0,n[j>>2]=0,n[Q+8>>2]=0,f<<24>>24){case 0:{o[M>>0]=0,COe(k,c,M),jv(s,k)|0,qA(k);break}case 8:{j=gR(l)|0,o[M>>0]=8,xc(O,n[j+4>>2]|0),IOe(k,c,M,O,j+8|0),jv(s,k)|0,qA(k);break}case 9:{if(m=gR(l)|0,l=n[m+4>>2]|0,l|0)for(B=Q+8|0,d=m+12|0;l=l+-1|0,xc(k,n[d>>2]|0),f=n[j>>2]|0,f>>>0<(n[B>>2]|0)>>>0?(n[f>>2]=n[k>>2],n[j>>2]=(n[j>>2]|0)+4):sR(Q,k),l;)d=d+4|0;o[M>>0]=9,xc(O,n[m+8>>2]|0),wOe(k,c,M,O,Q),jv(s,k)|0,qA(k);break}default:j=gR(l)|0,o[M>>0]=f,xc(O,n[j+4>>2]|0),BOe(k,c,M,O),jv(s,k)|0,qA(k)}ZA(Q),E=se}function COe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=E,E=E+16|0,d=f,Ja(d),l=ga(l)|0,LOe(s,l,o[c>>0]|0),Va(d),E=f}function jv(s,l){s=s|0,l=l|0;var c=0;return c=n[s>>2]|0,c|0&&PA(c|0),n[s>>2]=n[l>>2],n[l>>2]=0,s|0}function IOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0;m=E,E=E+32|0,Q=m+16|0,B=m+8|0,k=m,Ja(B),l=ga(l)|0,c=o[c>>0]|0,n[k>>2]=n[f>>2],d=n[d>>2]|0,n[Q>>2]=n[k>>2],FOe(s,l,c,Q,d),Va(B),E=m}function wOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0;m=E,E=E+32|0,k=m+24|0,B=m+16|0,M=m+12|0,Q=m,Ja(B),l=ga(l)|0,c=o[c>>0]|0,n[M>>2]=n[f>>2],aR(Q,d),n[k>>2]=n[M>>2],xOe(s,l,c,k,Q),ZA(Q),Va(B),E=m}function BOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+32|0,B=d+16|0,m=d+8|0,Q=d,Ja(m),l=ga(l)|0,c=o[c>>0]|0,n[Q>>2]=n[f>>2],n[B>>2]=n[Q>>2],vOe(s,l,c,B),Va(m),E=d}function vOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=E,E=E+16|0,m=d+4|0,Q=d,B=Sl(DOe()|0)|0,c=Gm(c)|0,n[Q>>2]=n[f>>2],n[m>>2]=n[Q>>2],Gv(s,no(0,B|0,l|0,c|0,Dg(m)|0)|0),E=d}function DOe(){var s=0;return o[8e3]|0||(SOe(10756),s=8e3,n[s>>2]=1,n[s+4>>2]=0),10756}function Gv(s,l){s=s|0,l=l|0,xF(s,l)}function SOe(s){s=s|0,Pl(s,POe()|0,2)}function POe(){return 1772}function xOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0;m=E,E=E+32|0,k=m+16|0,M=m+12|0,B=m,Q=Sl(bOe()|0)|0,c=Gm(c)|0,n[M>>2]=n[f>>2],n[k>>2]=n[M>>2],f=Dg(k)|0,n[B>>2]=n[d>>2],k=d+4|0,n[B+4>>2]=n[k>>2],M=d+8|0,n[B+8>>2]=n[M>>2],n[M>>2]=0,n[k>>2]=0,n[d>>2]=0,Gv(s,hc(0,Q|0,l|0,c|0,f|0,cR(B)|0)|0),ZA(B),E=m}function bOe(){var s=0;return o[8008]|0||(QOe(10768),s=8008,n[s>>2]=1,n[s+4>>2]=0),10768}function QOe(s){s=s|0,Pl(s,kOe()|0,3)}function kOe(){return 1784}function FOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0;m=E,E=E+16|0,Q=m+4|0,k=m,B=Sl(ROe()|0)|0,c=Gm(c)|0,n[k>>2]=n[f>>2],n[Q>>2]=n[k>>2],f=Dg(Q)|0,Gv(s,hc(0,B|0,l|0,c|0,f|0,lR(d)|0)|0),E=m}function ROe(){var s=0;return o[8016]|0||(TOe(10780),s=8016,n[s>>2]=1,n[s+4>>2]=0),10780}function TOe(s){s=s|0,Pl(s,NOe()|0,3)}function NOe(){return 1800}function LOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=Sl(OOe()|0)|0,Gv(s,Dn(0,f|0,l|0,Gm(c)|0)|0)}function OOe(){var s=0;return o[8024]|0||(MOe(10792),s=8024,n[s>>2]=1,n[s+4>>2]=0),10792}function MOe(s){s=s|0,Pl(s,UOe()|0,1)}function UOe(){return 1816}function _Oe(){HOe(),qOe(),jOe()}function HOe(){n[2702]=n7(65536)|0}function qOe(){cMe(10856)}function jOe(){GOe(10816)}function GOe(s){s=s|0,WOe(s,5044),YOe(s)|0}function WOe(s,l){s=s|0,l=l|0;var c=0;c=EG()|0,n[s>>2]=c,nMe(c,l),Sp(n[s>>2]|0)}function YOe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,KOe()|0),s|0}function KOe(){var s=0;return o[8032]|0||(QG(10820),Zt(64,10820,_|0)|0,s=8032,n[s>>2]=1,n[s+4>>2]=0),br(10820)|0||QG(10820),10820}function QG(s){s=s|0,zOe(s),vg(s,25)}function JOe(s){s=s|0,VOe(s+24|0)}function VOe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function zOe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,18,l,eMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function XOe(s,l){s=s|0,l=l|0,ZOe(s,l)}function ZOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;c=E,E=E+16|0,f=c,d=c+4|0,Ig(d,l),n[f>>2]=wg(d,l)|0,$Oe(s,f),E=c}function $Oe(s,l){s=s|0,l=l|0,kG(s+4|0,n[l>>2]|0),o[s+8>>0]=1}function kG(s,l){s=s|0,l=l|0,n[s>>2]=l}function eMe(){return 1824}function tMe(s){return s=s|0,rMe(s)|0}function rMe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=E,E=E+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,Q=Gt(4)|0,Ig(d,s),kG(Q,wg(d,s)|0),m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],CG(s,m,d),n[f>>2]=s,E=c,l|0}function Ka(s){s=s|0;var l=0,c=0;return s=s+7&-8,s>>>0<=32768&&(l=n[2701]|0,s>>>0<=(65536-l|0)>>>0)?(c=(n[2702]|0)+l|0,n[2701]=l+s,s=c):(s=n7(s+8|0)|0,n[s>>2]=n[2703],n[2703]=s,s=s+8|0),s|0}function nMe(s,l){s=s|0,l=l|0,n[s>>2]=iMe()|0,n[s+4>>2]=sMe()|0,n[s+12>>2]=l,n[s+8>>2]=oMe()|0,n[s+32>>2]=9}function iMe(){return 11744}function sMe(){return 1832}function oMe(){return Hv()|0}function aMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(lMe(c),pt(c)):l|0&&pt(l)}function lMe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function cMe(s){s=s|0,uMe(s,5052),AMe(s)|0,fMe(s,5058,26)|0,pMe(s,5069,1)|0,hMe(s,5077,10)|0,gMe(s,5087,19)|0,dMe(s,5094,27)|0}function uMe(s,l){s=s|0,l=l|0;var c=0;c=lUe()|0,n[s>>2]=c,cUe(c,l),Sp(n[s>>2]|0)}function AMe(s){s=s|0;var l=0;return l=n[s>>2]|0,Bg(l,J4e()|0),s|0}function fMe(s,l,c){return s=s|0,l=l|0,c=c|0,Q4e(s,cn(l)|0,c,0),s|0}function pMe(s,l,c){return s=s|0,l=l|0,c=c|0,g4e(s,cn(l)|0,c,0),s|0}function hMe(s,l,c){return s=s|0,l=l|0,c=c|0,KMe(s,cn(l)|0,c,0),s|0}function gMe(s,l,c){return s=s|0,l=l|0,c=c|0,FMe(s,cn(l)|0,c,0),s|0}function FG(s,l){s=s|0,l=l|0;var c=0,f=0;e:for(;;){for(c=n[2703]|0;;){if((c|0)==(l|0))break e;if(f=n[c>>2]|0,n[2703]=f,!c)c=f;else break}pt(c)}n[2701]=s}function dMe(s,l,c){return s=s|0,l=l|0,c=c|0,mMe(s,cn(l)|0,c,0),s|0}function mMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=uR()|0,s=yMe(c)|0,un(m,l,d,s,EMe(c,f)|0,f)}function uR(){var s=0,l=0;if(o[8040]|0||(TG(10860),Zt(65,10860,_|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(br(10860)|0)){s=10860,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));TG(10860)}return 10860}function yMe(s){return s=s|0,s|0}function EMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=uR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(RG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(CMe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function RG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function CMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=IMe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,wMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,RG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,BMe(s,d),vMe(d),E=Q;return}}function IMe(s){return s=s|0,536870911}function wMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function BMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function vMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function TG(s){s=s|0,PMe(s)}function DMe(s){s=s|0,SMe(s+24|0)}function SMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function PMe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,11,l,xMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function xMe(){return 1840}function bMe(s,l,c){s=s|0,l=l|0,c=c|0,kMe(n[(QMe(s)|0)>>2]|0,l,c)}function QMe(s){return s=s|0,(n[(uR()|0)+24>>2]|0)+(s<<3)|0}function kMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=E,E=E+16|0,m=f+1|0,d=f,Ig(m,l),l=wg(m,l)|0,Ig(d,c),c=wg(d,c)|0,ef[s&31](l,c),E=f}function FMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=AR()|0,s=RMe(c)|0,un(m,l,d,s,TMe(c,f)|0,f)}function AR(){var s=0,l=0;if(o[8048]|0||(LG(10896),Zt(66,10896,_|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(br(10896)|0)){s=10896,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));LG(10896)}return 10896}function RMe(s){return s=s|0,s|0}function TMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=AR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(NG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(NMe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function NG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function NMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=LMe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,OMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,NG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,MMe(s,d),UMe(d),E=Q;return}}function LMe(s){return s=s|0,536870911}function OMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function MMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function UMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function LG(s){s=s|0,qMe(s)}function _Me(s){s=s|0,HMe(s+24|0)}function HMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function qMe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,11,l,jMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function jMe(){return 1852}function GMe(s,l){return s=s|0,l=l|0,YMe(n[(WMe(s)|0)>>2]|0,l)|0}function WMe(s){return s=s|0,(n[(AR()|0)+24>>2]|0)+(s<<3)|0}function YMe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=E,E=E+16|0,f=c,Ig(f,l),l=wg(f,l)|0,l=Uv(bg[s&31](l)|0)|0,E=c,l|0}function KMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=fR()|0,s=JMe(c)|0,un(m,l,d,s,VMe(c,f)|0,f)}function fR(){var s=0,l=0;if(o[8056]|0||(MG(10932),Zt(67,10932,_|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(br(10932)|0)){s=10932,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));MG(10932)}return 10932}function JMe(s){return s=s|0,s|0}function VMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=fR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(OG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(zMe(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function OG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function zMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=XMe(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,ZMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,OG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,$Me(s,d),e4e(d),E=Q;return}}function XMe(s){return s=s|0,536870911}function ZMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function $Me(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function e4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function MG(s){s=s|0,n4e(s)}function t4e(s){s=s|0,r4e(s+24|0)}function r4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function n4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,7,l,i4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function i4e(){return 1860}function s4e(s,l,c){return s=s|0,l=l|0,c=c|0,a4e(n[(o4e(s)|0)>>2]|0,l,c)|0}function o4e(s){return s=s|0,(n[(fR()|0)+24>>2]|0)+(s<<3)|0}function a4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0;return f=E,E=E+32|0,B=f+12|0,m=f+8|0,Q=f,k=f+16|0,d=f+4|0,l4e(k,l),c4e(Q,k,l),wp(d,c),c=Bp(d,c)|0,n[B>>2]=n[Q>>2],xI[s&15](m,B,c),c=u4e(m)|0,qA(m),vp(d),E=f,c|0}function l4e(s,l){s=s|0,l=l|0}function c4e(s,l,c){s=s|0,l=l|0,c=c|0,A4e(s,c)}function u4e(s){return s=s|0,ga(s)|0}function A4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=E,E=E+16|0,c=d,f=l,f&1?(f4e(c,0),Zn(f|0,c|0)|0,p4e(s,c),h4e(c)):n[s>>2]=n[l>>2],E=d}function f4e(s,l){s=s|0,l=l|0,H9(s,l),n[s+4>>2]=0,o[s+8>>0]=0}function p4e(s,l){s=s|0,l=l|0,n[s>>2]=n[l+4>>2]}function h4e(s){s=s|0,o[s+8>>0]=0}function g4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=pR()|0,s=d4e(c)|0,un(m,l,d,s,m4e(c,f)|0,f)}function pR(){var s=0,l=0;if(o[8064]|0||(_G(10968),Zt(68,10968,_|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(br(10968)|0)){s=10968,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));_G(10968)}return 10968}function d4e(s){return s=s|0,s|0}function m4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=pR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(UG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(y4e(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function UG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function y4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=E4e(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,C4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,UG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,I4e(s,d),w4e(d),E=Q;return}}function E4e(s){return s=s|0,536870911}function C4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function I4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function w4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function _G(s){s=s|0,D4e(s)}function B4e(s){s=s|0,v4e(s+24|0)}function v4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function D4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,1,l,S4e()|0,5),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function S4e(){return 1872}function P4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,b4e(n[(x4e(s)|0)>>2]|0,l,c,f,d,m)}function x4e(s){return s=s|0,(n[(pR()|0)+24>>2]|0)+(s<<3)|0}function b4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=E,E=E+32|0,Q=B+16|0,k=B+12|0,M=B+8|0,O=B+4|0,j=B,wp(Q,l),l=Bp(Q,l)|0,wp(k,c),c=Bp(k,c)|0,wp(M,f),f=Bp(M,f)|0,wp(O,d),d=Bp(O,d)|0,wp(j,m),m=Bp(j,m)|0,l7[s&1](l,c,f,d,m),vp(j),vp(O),vp(M),vp(k),vp(Q),E=B}function Q4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=hR()|0,s=k4e(c)|0,un(m,l,d,s,F4e(c,f)|0,f)}function hR(){var s=0,l=0;if(o[8072]|0||(qG(11004),Zt(69,11004,_|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(br(11004)|0)){s=11004,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));qG(11004)}return 11004}function k4e(s){return s=s|0,s|0}function F4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=E,E=E+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=hR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(HG(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(R4e(B,d,m),l=n[c>>2]|0),E=Q,(l-(n[B>>2]|0)>>3)+-1|0}function HG(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function R4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=E,E=E+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=T4e(s)|0,f>>>0<B>>>0)Jr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,N4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,HG(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,L4e(s,d),O4e(d),E=Q;return}}function T4e(s){return s=s|0,536870911}function N4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function L4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Cr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function O4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function qG(s){s=s|0,_4e(s)}function M4e(s){s=s|0,U4e(s+24|0)}function U4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function _4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,12,l,H4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function H4e(){return 1896}function q4e(s,l,c){s=s|0,l=l|0,c=c|0,G4e(n[(j4e(s)|0)>>2]|0,l,c)}function j4e(s){return s=s|0,(n[(hR()|0)+24>>2]|0)+(s<<3)|0}function G4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=E,E=E+16|0,m=f+4|0,d=f,W4e(m,l),l=Y4e(m,l)|0,wp(d,c),c=Bp(d,c)|0,ef[s&31](l,c),vp(d),E=f}function W4e(s,l){s=s|0,l=l|0}function Y4e(s,l){return s=s|0,l=l|0,K4e(l)|0}function K4e(s){return s=s|0,s|0}function J4e(){var s=0;return o[8080]|0||(jG(11040),Zt(70,11040,_|0)|0,s=8080,n[s>>2]=1,n[s+4>>2]=0),br(11040)|0||jG(11040),11040}function jG(s){s=s|0,X4e(s),vg(s,71)}function V4e(s){s=s|0,z4e(s+24|0)}function z4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function X4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,7,l,tUe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Z4e(s){s=s|0,$4e(s)}function $4e(s){s=s|0,eUe(s)}function eUe(s){s=s|0,o[s+8>>0]=1}function tUe(){return 1936}function rUe(){return nUe()|0}function nUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=E,E=E+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,m=s+4|0,n[m>>2]=Gt(1)|0,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],iUe(f,m,d),n[c>>2]=f,E=l,s|0}function iUe(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1916,n[c+12>>2]=l,n[s+4>>2]=c}function sUe(s){s=s|0,Km(s),pt(s)}function oUe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function aUe(s){s=s|0,pt(s)}function lUe(){var s=0;return o[8088]|0||(gUe(11076),Zt(25,11076,_|0)|0,s=8088,n[s>>2]=1,n[s+4>>2]=0),11076}function cUe(s,l){s=s|0,l=l|0,n[s>>2]=uUe()|0,n[s+4>>2]=AUe()|0,n[s+12>>2]=l,n[s+8>>2]=fUe()|0,n[s+32>>2]=10}function uUe(){return 11745}function AUe(){return 1940}function fUe(){return _v()|0}function pUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Dp(f,896)|0)==512?c|0&&(hUe(c),pt(c)):l|0&&pt(l)}function hUe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Pp(s)}function gUe(s){s=s|0,Ip(s)}function xc(s,l){s=s|0,l=l|0,n[s>>2]=l}function gR(s){return s=s|0,n[s>>2]|0}function dUe(s){return s=s|0,o[n[s>>2]>>0]|0}function mUe(s,l){s=s|0,l=l|0;var c=0,f=0;c=E,E=E+16|0,f=c,n[f>>2]=n[s>>2],yUe(l,f)|0,E=c}function yUe(s,l){s=s|0,l=l|0;var c=0;return c=EUe(n[s>>2]|0,l)|0,l=s+4|0,n[(n[l>>2]|0)+8>>2]=c,n[(n[l>>2]|0)+8>>2]|0}function EUe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=E,E=E+16|0,f=c,Ja(f),s=ga(s)|0,l=CUe(s,n[l>>2]|0)|0,Va(f),E=c,l|0}function Ja(s){s=s|0,n[s>>2]=n[2701],n[s+4>>2]=n[2703]}function CUe(s,l){s=s|0,l=l|0;var c=0;return c=Sl(IUe()|0)|0,Dn(0,c|0,s|0,lR(l)|0)|0}function Va(s){s=s|0,FG(n[s>>2]|0,n[s+4>>2]|0)}function IUe(){var s=0;return o[8096]|0||(wUe(11120),s=8096,n[s>>2]=1,n[s+4>>2]=0),11120}function wUe(s){s=s|0,Pl(s,BUe()|0,1)}function BUe(){return 1948}function vUe(){DUe()}function DUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0;if(Oe=E,E=E+16|0,O=Oe+4|0,j=Oe,Fi(65536,10804,n[2702]|0,10812),c=pG()|0,l=n[c>>2]|0,s=n[l>>2]|0,s|0)for(f=n[c+8>>2]|0,c=n[c+4>>2]|0;Ac(s|0,u[c>>0]|0|0,o[f>>0]|0),l=l+4|0,s=n[l>>2]|0,s;)f=f+1|0,c=c+1|0;if(s=hG()|0,l=n[s>>2]|0,l|0)do gu(l|0,n[s+4>>2]|0),s=s+8|0,l=n[s>>2]|0;while((l|0)!=0);gu(SUe()|0,5167),M=qm()|0,s=n[M>>2]|0;e:do if(s|0){do PUe(n[s+4>>2]|0),s=n[s>>2]|0;while((s|0)!=0);if(s=n[M>>2]|0,s|0){k=M;do{for(;d=s,s=n[s>>2]|0,d=n[d+4>>2]|0,!!(xUe(d)|0);)if(n[j>>2]=k,n[O>>2]=n[j>>2],bUe(M,O)|0,!s)break e;if(QUe(d),k=n[k>>2]|0,l=GG(d)|0,m=_i()|0,B=E,E=E+((1*(l<<2)|0)+15&-16)|0,Q=E,E=E+((1*(l<<2)|0)+15&-16)|0,l=n[(SG(d)|0)>>2]|0,l|0)for(c=B,f=Q;n[c>>2]=n[(jm(n[l+4>>2]|0)|0)>>2],n[f>>2]=n[l+8>>2],l=n[l>>2]|0,l;)c=c+4|0,f=f+4|0;Re=jm(d)|0,l=kUe(d)|0,c=GG(d)|0,f=FUe(d)|0,du(Re|0,l|0,B|0,Q|0,c|0,f|0,rR(d)|0),Ui(m|0)}while((s|0)!=0)}}while(0);if(s=n[(nR()|0)>>2]|0,s|0)do Re=s+4|0,M=iR(Re)|0,d=vI(M)|0,m=wI(M)|0,B=(BI(M)|0)+1|0,Q=Wv(M)|0,k=WG(Re)|0,M=br(M)|0,O=qv(Re)|0,j=dR(Re)|0,yl(0,d|0,m|0,B|0,Q|0,k|0,M|0,O|0,j|0,mR(Re)|0),s=n[s>>2]|0;while((s|0)!=0);s=n[(qm()|0)>>2]|0;e:do if(s|0){t:for(;;){if(l=n[s+4>>2]|0,l|0&&(se=n[(jm(l)|0)>>2]|0,We=n[(PG(l)|0)>>2]|0,We|0)){c=We;do{l=c+4|0,f=iR(l)|0;r:do if(f|0)switch(br(f)|0){case 0:break t;case 4:case 3:case 2:{Q=vI(f)|0,k=wI(f)|0,M=(BI(f)|0)+1|0,O=Wv(f)|0,j=br(f)|0,Re=qv(l)|0,yl(se|0,Q|0,k|0,M|0,O|0,0,j|0,Re|0,dR(l)|0,mR(l)|0);break r}case 1:{B=vI(f)|0,Q=wI(f)|0,k=(BI(f)|0)+1|0,M=Wv(f)|0,O=WG(l)|0,j=br(f)|0,Re=qv(l)|0,yl(se|0,B|0,Q|0,k|0,M|0,O|0,j|0,Re|0,dR(l)|0,mR(l)|0);break r}case 5:{M=vI(f)|0,O=wI(f)|0,j=(BI(f)|0)+1|0,Re=Wv(f)|0,yl(se|0,M|0,O|0,j|0,Re|0,RUe(f)|0,br(f)|0,0,0,0);break r}default:break r}while(0);c=n[c>>2]|0}while((c|0)!=0)}if(s=n[s>>2]|0,!s)break e}Rt()}while(0);Ce(),E=Oe}function SUe(){return 11703}function PUe(s){s=s|0,o[s+40>>0]=0}function xUe(s){return s=s|0,(o[s+40>>0]|0)!=0|0}function bUe(s,l){return s=s|0,l=l|0,l=TUe(l)|0,s=n[l>>2]|0,n[l>>2]=n[s>>2],pt(s),n[l>>2]|0}function QUe(s){s=s|0,o[s+40>>0]=1}function GG(s){return s=s|0,n[s+20>>2]|0}function kUe(s){return s=s|0,n[s+8>>2]|0}function FUe(s){return s=s|0,n[s+32>>2]|0}function Wv(s){return s=s|0,n[s+4>>2]|0}function WG(s){return s=s|0,n[s+4>>2]|0}function dR(s){return s=s|0,n[s+8>>2]|0}function mR(s){return s=s|0,n[s+16>>2]|0}function RUe(s){return s=s|0,n[s+20>>2]|0}function TUe(s){return s=s|0,n[s>>2]|0}function Yv(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0;Tt=E,E=E+16|0,se=Tt;do if(s>>>0<245){if(M=s>>>0<11?16:s+11&-8,s=M>>>3,j=n[2783]|0,c=j>>>s,c&3|0)return l=(c&1^1)+s|0,s=11172+(l<<1<<2)|0,c=s+8|0,f=n[c>>2]|0,d=f+8|0,m=n[d>>2]|0,(s|0)==(m|0)?n[2783]=j&~(1<<l):(n[m+12>>2]=s,n[c>>2]=m),Ge=l<<3,n[f+4>>2]=Ge|3,Ge=f+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1,Ge=d,E=Tt,Ge|0;if(O=n[2785]|0,M>>>0>O>>>0){if(c|0)return l=2<<s,l=c<<s&(l|0-l),l=(l&0-l)+-1|0,B=l>>>12&16,l=l>>>B,c=l>>>5&8,l=l>>>c,d=l>>>2&4,l=l>>>d,s=l>>>1&2,l=l>>>s,f=l>>>1&1,f=(c|B|d|s|f)+(l>>>f)|0,l=11172+(f<<1<<2)|0,s=l+8|0,d=n[s>>2]|0,B=d+8|0,c=n[B>>2]|0,(l|0)==(c|0)?(s=j&~(1<<f),n[2783]=s):(n[c+12>>2]=l,n[s>>2]=c,s=j),m=(f<<3)-M|0,n[d+4>>2]=M|3,f=d+M|0,n[f+4>>2]=m|1,n[f+m>>2]=m,O|0&&(d=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=c),n[2785]=m,n[2788]=f,Ge=B,E=Tt,Ge|0;if(Q=n[2784]|0,Q){if(c=(Q&0-Q)+-1|0,B=c>>>12&16,c=c>>>B,m=c>>>5&8,c=c>>>m,k=c>>>2&4,c=c>>>k,f=c>>>1&2,c=c>>>f,s=c>>>1&1,s=n[11436+((m|B|k|f|s)+(c>>>s)<<2)>>2]|0,c=(n[s+4>>2]&-8)-M|0,f=n[s+16+(((n[s+16>>2]|0)==0&1)<<2)>>2]|0,!f)k=s,m=c;else{do B=(n[f+4>>2]&-8)-M|0,k=B>>>0<c>>>0,c=k?B:c,s=k?f:s,f=n[f+16+(((n[f+16>>2]|0)==0&1)<<2)>>2]|0;while((f|0)!=0);k=s,m=c}if(B=k+M|0,k>>>0<B>>>0){d=n[k+24>>2]|0,l=n[k+12>>2]|0;do if((l|0)==(k|0)){if(s=k+20|0,l=n[s>>2]|0,!l&&(s=k+16|0,l=n[s>>2]|0,!l)){c=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0,c=l}else c=n[k+8>>2]|0,n[c+12>>2]=l,n[l+8>>2]=c,c=l;while(0);do if(d|0){if(l=n[k+28>>2]|0,s=11436+(l<<2)|0,(k|0)==(n[s>>2]|0)){if(n[s>>2]=c,!c){n[2784]=Q&~(1<<l);break}}else if(n[d+16+(((n[d+16>>2]|0)!=(k|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=d,l=n[k+16>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),l=n[k+20>>2]|0,l|0&&(n[c+20>>2]=l,n[l+24>>2]=c)}while(0);return m>>>0<16?(Ge=m+M|0,n[k+4>>2]=Ge|3,Ge=k+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1):(n[k+4>>2]=M|3,n[B+4>>2]=m|1,n[B+m>>2]=m,O|0&&(f=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,j&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=j|l,l=c,s=c+8|0),n[s>>2]=f,n[l+12>>2]=f,n[f+8>>2]=l,n[f+12>>2]=c),n[2785]=m,n[2788]=B),Ge=k+8|0,E=Tt,Ge|0}else j=M}else j=M}else j=M}else if(s>>>0<=4294967231)if(s=s+11|0,M=s&-8,k=n[2784]|0,k){f=0-M|0,s=s>>>8,s?M>>>0>16777215?Q=31:(j=(s+1048320|0)>>>16&8,He=s<<j,O=(He+520192|0)>>>16&4,He=He<<O,Q=(He+245760|0)>>>16&2,Q=14-(O|j|Q)+(He<<Q>>>15)|0,Q=M>>>(Q+7|0)&1|Q<<1):Q=0,c=n[11436+(Q<<2)>>2]|0;e:do if(!c)c=0,s=0,He=57;else for(s=0,B=M<<((Q|0)==31?0:25-(Q>>>1)|0),m=0;;){if(d=(n[c+4>>2]&-8)-M|0,d>>>0<f>>>0)if(d)s=c,f=d;else{s=c,f=0,d=c,He=61;break e}if(d=n[c+20>>2]|0,c=n[c+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(c|0)?m:d,d=(c|0)==0,d){c=m,He=57;break}else B=B<<((d^1)&1)}while(0);if((He|0)==57){if((c|0)==0&(s|0)==0){if(s=2<<Q,s=k&(s|0-s),!s){j=M;break}j=(s&0-s)+-1|0,B=j>>>12&16,j=j>>>B,m=j>>>5&8,j=j>>>m,Q=j>>>2&4,j=j>>>Q,O=j>>>1&2,j=j>>>O,c=j>>>1&1,s=0,c=n[11436+((m|B|Q|O|c)+(j>>>c)<<2)>>2]|0}c?(d=c,He=61):(Q=s,B=f)}if((He|0)==61)for(;;)if(He=0,c=(n[d+4>>2]&-8)-M|0,j=c>>>0<f>>>0,c=j?c:f,s=j?d:s,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)f=c,He=61;else{Q=s,B=c;break}if((Q|0)!=0&&B>>>0<((n[2785]|0)-M|0)>>>0){if(m=Q+M|0,Q>>>0>=m>>>0)return Ge=0,E=Tt,Ge|0;d=n[Q+24>>2]|0,l=n[Q+12>>2]|0;do if((l|0)==(Q|0)){if(s=Q+20|0,l=n[s>>2]|0,!l&&(s=Q+16|0,l=n[s>>2]|0,!l)){l=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0}else Ge=n[Q+8>>2]|0,n[Ge+12>>2]=l,n[l+8>>2]=Ge;while(0);do if(d){if(s=n[Q+28>>2]|0,c=11436+(s<<2)|0,(Q|0)==(n[c>>2]|0)){if(n[c>>2]=l,!l){f=k&~(1<<s),n[2784]=f;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(Q|0)&1)<<2)>>2]=l,!l){f=k;break}n[l+24>>2]=d,s=n[Q+16>>2]|0,s|0&&(n[l+16>>2]=s,n[s+24>>2]=l),s=n[Q+20>>2]|0,s&&(n[l+20>>2]=s,n[s+24>>2]=l),f=k}else f=k;while(0);do if(B>>>0>=16){if(n[Q+4>>2]=M|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=c;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,l=(Ge+245760|0)>>>16&2,l=14-(at|He|l)+(Ge<<l>>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,c=11436+(l<<2)|0,n[m+28>>2]=l,s=m+16|0,n[s+4>>2]=0,n[s>>2]=0,s=1<<l,!(f&s)){n[2784]=f|s,n[c>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}for(s=B<<((l|0)==31?0:25-(l>>>1)|0),c=n[c>>2]|0;;){if((n[c+4>>2]&-8|0)==(B|0)){He=97;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=96;break}}if((He|0)==96){n[f>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((He|0)==97){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=m,n[He>>2]=m,n[m+8>>2]=Ge,n[m+12>>2]=c,n[m+24>>2]=0;break}}else Ge=B+M|0,n[Q+4>>2]=Ge|3,Ge=Q+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1;while(0);return Ge=Q+8|0,E=Tt,Ge|0}else j=M}else j=M;else j=-1;while(0);if(c=n[2785]|0,c>>>0>=j>>>0)return l=c-j|0,s=n[2788]|0,l>>>0>15?(Ge=s+j|0,n[2788]=Ge,n[2785]=l,n[Ge+4>>2]=l|1,n[Ge+l>>2]=l,n[s+4>>2]=j|3):(n[2785]=0,n[2788]=0,n[s+4>>2]=c|3,Ge=s+c+4|0,n[Ge>>2]=n[Ge>>2]|1),Ge=s+8|0,E=Tt,Ge|0;if(B=n[2786]|0,B>>>0>j>>>0)return at=B-j|0,n[2786]=at,Ge=n[2789]|0,He=Ge+j|0,n[2789]=He,n[He+4>>2]=at|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,E=Tt,Ge|0;if(n[2901]|0?s=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,s=se&-16^1431655768,n[se>>2]=s,n[2901]=s,s=4096),Q=j+48|0,k=j+47|0,m=s+k|0,d=0-s|0,M=m&d,M>>>0<=j>>>0||(s=n[2893]|0,s|0&&(O=n[2891]|0,se=O+M|0,se>>>0<=O>>>0|se>>>0>s>>>0)))return Ge=0,E=Tt,Ge|0;e:do if(n[2894]&4)l=0,He=133;else{c=n[2789]|0;t:do if(c){for(f=11580;s=n[f>>2]|0,!(s>>>0<=c>>>0&&(Re=f+4|0,(s+(n[Re>>2]|0)|0)>>>0>c>>>0));)if(s=n[f+8>>2]|0,s)f=s;else{He=118;break t}if(l=m-B&d,l>>>0<2147483647)if(s=xp(l|0)|0,(s|0)==((n[f>>2]|0)+(n[Re>>2]|0)|0)){if((s|0)!=-1){B=l,m=s,He=135;break e}}else f=s,He=126;else l=0}else He=118;while(0);do if((He|0)==118)if(c=xp(0)|0,(c|0)!=-1&&(l=c,We=n[2902]|0,Oe=We+-1|0,l=((Oe&l|0)==0?0:(Oe+l&0-We)-l|0)+M|0,We=n[2891]|0,Oe=l+We|0,l>>>0>j>>>0&l>>>0<2147483647)){if(Re=n[2893]|0,Re|0&&Oe>>>0<=We>>>0|Oe>>>0>Re>>>0){l=0;break}if(s=xp(l|0)|0,(s|0)==(c|0)){B=l,m=c,He=135;break e}else f=s,He=126}else l=0;while(0);do if((He|0)==126){if(c=0-l|0,!(Q>>>0>l>>>0&(l>>>0<2147483647&(f|0)!=-1)))if((f|0)==-1){l=0;break}else{B=l,m=f,He=135;break e}if(s=n[2903]|0,s=k-l+s&0-s,s>>>0>=2147483647){B=l,m=f,He=135;break e}if((xp(s|0)|0)==-1){xp(c|0)|0,l=0;break}else{B=s+l|0,m=f,He=135;break e}}while(0);n[2894]=n[2894]|4,He=133}while(0);if((He|0)==133&&M>>>0<2147483647&&(at=xp(M|0)|0,Re=xp(0)|0,et=Re-at|0,Ze=et>>>0>(j+40|0)>>>0,!((at|0)==-1|Ze^1|at>>>0<Re>>>0&((at|0)!=-1&(Re|0)!=-1)^1))&&(B=Ze?et:l,m=at,He=135),(He|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),k=n[2789]|0;do if(k){for(l=11580;;){if(s=n[l>>2]|0,c=l+4|0,f=n[c>>2]|0,(m|0)==(s+f|0)){He=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((He|0)==145&&(n[l+12>>2]&8|0)==0&&k>>>0<m>>>0&k>>>0>=s>>>0){n[c>>2]=f+B,Ge=k+8|0,Ge=(Ge&7|0)==0?0:0-Ge&7,He=k+Ge|0,Ge=(n[2786]|0)+(B-Ge)|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),c=m+B|0,l=11580;;){if((n[l>>2]|0)==(c|0)){He=153;break}if(s=n[l+8>>2]|0,s)l=s;else break}if((He|0)==153&&(n[l+12>>2]&8|0)==0){n[l>>2]=m,O=l+4|0,n[O>>2]=(n[O>>2]|0)+B,O=m+8|0,O=m+((O&7|0)==0?0:0-O&7)|0,l=c+8|0,l=c+((l&7|0)==0?0:0-l&7)|0,M=O+j|0,Q=l-O-j|0,n[O+4>>2]=j|3;do if((l|0)!=(k|0)){if((l|0)==(n[2788]|0)){Ge=(n[2785]|0)+Q|0,n[2785]=Ge,n[2788]=M,n[M+4>>2]=Ge|1,n[M+Ge>>2]=Ge;break}if(s=n[l+4>>2]|0,(s&3|0)==1){B=s&-8,f=s>>>3;e:do if(s>>>0<256)if(s=n[l+8>>2]|0,c=n[l+12>>2]|0,(c|0)==(s|0)){n[2783]=n[2783]&~(1<<f);break}else{n[s+12>>2]=c,n[c+8>>2]=s;break}else{m=n[l+24>>2]|0,s=n[l+12>>2]|0;do if((s|0)==(l|0)){if(f=l+16|0,c=f+4|0,s=n[c>>2]|0,!s)if(s=n[f>>2]|0,s)c=f;else{s=0;break}for(;;){if(f=s+20|0,d=n[f>>2]|0,d|0){s=d,c=f;continue}if(f=s+16|0,d=n[f>>2]|0,d)s=d,c=f;else break}n[c>>2]=0}else Ge=n[l+8>>2]|0,n[Ge+12>>2]=s,n[s+8>>2]=Ge;while(0);if(!m)break;c=n[l+28>>2]|0,f=11436+(c<<2)|0;do if((l|0)!=(n[f>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=s,!s)break e}else{if(n[f>>2]=s,s|0)break;n[2784]=n[2784]&~(1<<c);break e}while(0);if(n[s+24>>2]=m,c=l+16|0,f=n[c>>2]|0,f|0&&(n[s+16>>2]=f,n[f+24>>2]=s),c=n[c+4>>2]|0,!c)break;n[s+20>>2]=c,n[c+24>>2]=s}while(0);l=l+B|0,d=B+Q|0}else d=Q;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[M+4>>2]=d|1,n[M+d>>2]=d,l=d>>>3,d>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=M,n[l+12>>2]=M,n[M+8>>2]=l,n[M+12>>2]=c;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,l=(Ge+245760|0)>>>16&2,l=14-(at|He|l)+(Ge<<l>>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(0);if(f=11436+(l<<2)|0,n[M+28>>2]=l,s=M+16|0,n[s+4>>2]=0,n[s>>2]=0,s=n[2784]|0,c=1<<l,!(s&c)){n[2784]=s|c,n[f>>2]=M,n[M+24>>2]=f,n[M+12>>2]=M,n[M+8>>2]=M;break}for(s=d<<((l|0)==31?0:25-(l>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){He=194;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=193;break}}if((He|0)==193){n[f>>2]=M,n[M+24>>2]=c,n[M+12>>2]=M,n[M+8>>2]=M;break}else if((He|0)==194){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=M,n[He>>2]=M,n[M+8>>2]=Ge,n[M+12>>2]=c,n[M+24>>2]=0;break}}else Ge=(n[2786]|0)+Q|0,n[2786]=Ge,n[2789]=M,n[M+4>>2]=Ge|1;while(0);return Ge=O+8|0,E=Tt,Ge|0}for(l=11580;s=n[l>>2]|0,!(s>>>0<=k>>>0&&(Ge=s+(n[l+4>>2]|0)|0,Ge>>>0>k>>>0));)l=n[l+8>>2]|0;d=Ge+-47|0,s=d+8|0,s=d+((s&7|0)==0?0:0-s&7)|0,d=k+16|0,s=s>>>0<d>>>0?k:s,l=s+8|0,c=m+8|0,c=(c&7|0)==0?0:0-c&7,He=m+c|0,c=B+-40-c|0,n[2789]=He,n[2786]=c,n[He+4>>2]=c|1,n[He+c+4>>2]=40,n[2790]=n[2905],c=s+4|0,n[c>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=s+24|0;do He=l,l=l+4|0,n[l>>2]=7;while((He+8|0)>>>0<Ge>>>0);if((s|0)!=(k|0)){if(m=s-k|0,n[c>>2]=n[c>>2]&-2,n[k+4>>2]=m|1,n[s>>2]=m,l=m>>>3,m>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=k,n[l+12>>2]=k,n[k+8>>2]=l,n[k+12>>2]=c;break}if(l=m>>>8,l?m>>>0>16777215?c=31:(He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,c=(Ge+245760|0)>>>16&2,c=14-(at|He|c)+(Ge<<c>>>15)|0,c=m>>>(c+7|0)&1|c<<1):c=0,f=11436+(c<<2)|0,n[k+28>>2]=c,n[k+20>>2]=0,n[d>>2]=0,l=n[2784]|0,s=1<<c,!(l&s)){n[2784]=l|s,n[f>>2]=k,n[k+24>>2]=f,n[k+12>>2]=k,n[k+8>>2]=k;break}for(s=m<<((c|0)==31?0:25-(c>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(m|0)){He=216;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=215;break}}if((He|0)==215){n[f>>2]=k,n[k+24>>2]=c,n[k+12>>2]=k,n[k+8>>2]=k;break}else if((He|0)==216){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=k,n[He>>2]=k,n[k+8>>2]=Ge,n[k+12>>2]=c,n[k+24>>2]=0;break}}}else{Ge=n[2787]|0,(Ge|0)==0|m>>>0<Ge>>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do Ge=11172+(l<<1<<2)|0,n[Ge+12>>2]=Ge,n[Ge+8>>2]=Ge,l=l+1|0;while((l|0)!=32);Ge=m+8|0,Ge=(Ge&7|0)==0?0:0-Ge&7,He=m+Ge|0,Ge=B+-40-Ge|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905]}while(0);if(l=n[2786]|0,l>>>0>j>>>0)return at=l-j|0,n[2786]=at,Ge=n[2789]|0,He=Ge+j|0,n[2789]=He,n[He+4>>2]=at|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,E=Tt,Ge|0}return n[(Wm()|0)>>2]=12,Ge=0,E=Tt,Ge|0}function Kv(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0;if(!!s){c=s+-8|0,d=n[2787]|0,s=n[s+-4>>2]|0,l=s&-8,k=c+l|0;do if(s&1)Q=c,B=c;else{if(f=n[c>>2]|0,!(s&3)||(B=c+(0-f)|0,m=f+l|0,B>>>0<d>>>0))return;if((B|0)==(n[2788]|0)){if(s=k+4|0,l=n[s>>2]|0,(l&3|0)!=3){Q=B,l=m;break}n[2785]=m,n[s>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(c=f>>>3,f>>>0<256)if(s=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(s|0)){n[2783]=n[2783]&~(1<<c),Q=B,l=m;break}else{n[s+12>>2]=l,n[l+8>>2]=s,Q=B,l=m;break}d=n[B+24>>2]|0,s=n[B+12>>2]|0;do if((s|0)==(B|0)){if(c=B+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{s=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0}else Q=n[B+8>>2]|0,n[Q+12>>2]=s,n[s+8>>2]=Q;while(0);if(d){if(l=n[B+28>>2]|0,c=11436+(l<<2)|0,(B|0)==(n[c>>2]|0)){if(n[c>>2]=s,!s){n[2784]=n[2784]&~(1<<l),Q=B,l=m;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(B|0)&1)<<2)>>2]=s,!s){Q=B,l=m;break}n[s+24>>2]=d,l=B+16|0,c=n[l>>2]|0,c|0&&(n[s+16>>2]=c,n[c+24>>2]=s),l=n[l+4>>2]|0,l?(n[s+20>>2]=l,n[l+24>>2]=s,Q=B,l=m):(Q=B,l=m)}else Q=B,l=m}while(0);if(!(B>>>0>=k>>>0)&&(s=k+4|0,f=n[s>>2]|0,!!(f&1))){if(f&2)n[s>>2]=f&-2,n[Q+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(s=n[2788]|0,(k|0)==(n[2789]|0)){if(k=(n[2786]|0)+l|0,n[2786]=k,n[2789]=Q,n[Q+4>>2]=k|1,(Q|0)!=(s|0))return;n[2788]=0,n[2785]=0;return}if((k|0)==(s|0)){k=(n[2785]|0)+l|0,n[2785]=k,n[2788]=B,n[Q+4>>2]=k|1,n[B+k>>2]=k;return}d=(f&-8)+l|0,c=f>>>3;do if(f>>>0<256)if(l=n[k+8>>2]|0,s=n[k+12>>2]|0,(s|0)==(l|0)){n[2783]=n[2783]&~(1<<c);break}else{n[l+12>>2]=s,n[s+8>>2]=l;break}else{m=n[k+24>>2]|0,s=n[k+12>>2]|0;do if((s|0)==(k|0)){if(c=k+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{c=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0,c=s}else c=n[k+8>>2]|0,n[c+12>>2]=s,n[s+8>>2]=c,c=s;while(0);if(m|0){if(s=n[k+28>>2]|0,l=11436+(s<<2)|0,(k|0)==(n[l>>2]|0)){if(n[l>>2]=c,!c){n[2784]=n[2784]&~(1<<s);break}}else if(n[m+16+(((n[m+16>>2]|0)!=(k|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=m,s=k+16|0,l=n[s>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),s=n[s+4>>2]|0,s|0&&(n[c+20>>2]=s,n[s+24>>2]=c)}}while(0);if(n[Q+4>>2]=d|1,n[B+d>>2]=d,(Q|0)==(n[2788]|0)){n[2785]=d;return}}if(s=d>>>3,d>>>0<256){c=11172+(s<<1<<2)|0,l=n[2783]|0,s=1<<s,l&s?(l=c+8|0,s=n[l>>2]|0):(n[2783]=l|s,s=c,l=c+8|0),n[l>>2]=Q,n[s+12>>2]=Q,n[Q+8>>2]=s,n[Q+12>>2]=c;return}s=d>>>8,s?d>>>0>16777215?s=31:(B=(s+1048320|0)>>>16&8,k=s<<B,m=(k+520192|0)>>>16&4,k=k<<m,s=(k+245760|0)>>>16&2,s=14-(m|B|s)+(k<<s>>>15)|0,s=d>>>(s+7|0)&1|s<<1):s=0,f=11436+(s<<2)|0,n[Q+28>>2]=s,n[Q+20>>2]=0,n[Q+16>>2]=0,l=n[2784]|0,c=1<<s;do if(l&c){for(l=d<<((s|0)==31?0:25-(s>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){s=73;break}if(f=c+16+(l>>>31<<2)|0,s=n[f>>2]|0,s)l=l<<1,c=s;else{s=72;break}}if((s|0)==72){n[f>>2]=Q,n[Q+24>>2]=c,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}else if((s|0)==73){B=c+8|0,k=n[B>>2]|0,n[k+12>>2]=Q,n[B>>2]=Q,n[Q+8>>2]=k,n[Q+12>>2]=c,n[Q+24>>2]=0;break}}else n[2784]=l|c,n[f>>2]=Q,n[Q+24>>2]=f,n[Q+12>>2]=Q,n[Q+8>>2]=Q;while(0);if(k=(n[2791]|0)+-1|0,n[2791]=k,!k)s=11588;else return;for(;s=n[s>>2]|0,s;)s=s+8|0;n[2791]=-1}}}function NUe(){return 11628}function LUe(s){s=s|0;var l=0,c=0;return l=E,E=E+16|0,c=l,n[c>>2]=UUe(n[s+60>>2]|0)|0,s=Jv(gc(6,c|0)|0)|0,E=l,s|0}function YG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0;j=E,E=E+48|0,M=j+16|0,m=j,d=j+32|0,Q=s+28|0,f=n[Q>>2]|0,n[d>>2]=f,k=s+20|0,f=(n[k>>2]|0)-f|0,n[d+4>>2]=f,n[d+8>>2]=l,n[d+12>>2]=c,f=f+c|0,B=s+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=Jv(Hi(146,m|0)|0)|0;e:do if((f|0)!=(m|0)){for(l=2;!((m|0)<0);)if(f=f-m|0,We=n[d+4>>2]|0,se=m>>>0>We>>>0,d=se?d+8|0:d,l=(se<<31>>31)+l|0,We=m-(se?We:0)|0,n[d>>2]=(n[d>>2]|0)+We,se=d+4|0,n[se>>2]=(n[se>>2]|0)-We,n[M>>2]=n[B>>2],n[M+4>>2]=d,n[M+8>>2]=l,m=Jv(Hi(146,M|0)|0)|0,(f|0)==(m|0)){O=3;break e}n[s+16>>2]=0,n[Q>>2]=0,n[k>>2]=0,n[s>>2]=n[s>>2]|32,(l|0)==2?c=0:c=c-(n[d+4>>2]|0)|0}else O=3;while(0);return(O|0)==3&&(We=n[s+44>>2]|0,n[s+16>>2]=We+(n[s+48>>2]|0),n[Q>>2]=We,n[k>>2]=We),E=j,c|0}function OUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return d=E,E=E+32|0,m=d,f=d+20|0,n[m>>2]=n[s+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=f,n[m+16>>2]=c,(Jv(ta(140,m|0)|0)|0)<0?(n[f>>2]=-1,s=-1):s=n[f>>2]|0,E=d,s|0}function Jv(s){return s=s|0,s>>>0>4294963200&&(n[(Wm()|0)>>2]=0-s,s=-1),s|0}function Wm(){return(MUe()|0)+64|0}function MUe(){return yR()|0}function yR(){return 2084}function UUe(s){return s=s|0,s|0}function _Ue(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return d=E,E=E+32|0,f=d,n[s+36>>2]=1,(n[s>>2]&64|0)==0&&(n[f>>2]=n[s+60>>2],n[f+4>>2]=21523,n[f+8>>2]=d+16,mu(54,f|0)|0)&&(o[s+75>>0]=-1),f=YG(s,l,c)|0,E=d,f|0}function KG(s,l){s=s|0,l=l|0;var c=0,f=0;if(c=o[s>>0]|0,f=o[l>>0]|0,c<<24>>24==0||c<<24>>24!=f<<24>>24)s=f;else{do s=s+1|0,l=l+1|0,c=o[s>>0]|0,f=o[l>>0]|0;while(!(c<<24>>24==0||c<<24>>24!=f<<24>>24));s=f}return(c&255)-(s&255)|0}function HUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;e:do if(!c)s=0;else{for(;f=o[s>>0]|0,d=o[l>>0]|0,f<<24>>24==d<<24>>24;)if(c=c+-1|0,c)s=s+1|0,l=l+1|0;else{s=0;break e}s=(f&255)-(d&255)|0}while(0);return s|0}function JG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0;Re=E,E=E+224|0,O=Re+120|0,j=Re+80|0,We=Re,Oe=Re+136|0,f=j,d=f+40|0;do n[f>>2]=0,f=f+4|0;while((f|0)<(d|0));return n[O>>2]=n[c>>2],(ER(0,l,O,We,j)|0)<0?c=-1:((n[s+76>>2]|0)>-1?se=qUe(s)|0:se=0,c=n[s>>2]|0,M=c&32,(o[s+74>>0]|0)<1&&(n[s>>2]=c&-33),f=s+48|0,n[f>>2]|0?c=ER(s,l,O,We,j)|0:(d=s+44|0,m=n[d>>2]|0,n[d>>2]=Oe,B=s+28|0,n[B>>2]=Oe,Q=s+20|0,n[Q>>2]=Oe,n[f>>2]=80,k=s+16|0,n[k>>2]=Oe+80,c=ER(s,l,O,We,j)|0,m&&(Zv[n[s+36>>2]&7](s,0,0)|0,c=(n[Q>>2]|0)==0?-1:c,n[d>>2]=m,n[f>>2]=0,n[k>>2]=0,n[B>>2]=0,n[Q>>2]=0)),f=n[s>>2]|0,n[s>>2]=f|M,se|0&&jUe(s),c=(f&32|0)==0?c:-1),E=Re,c|0}function ER(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Vt=0,Ir=0,Qr=0,rr=0;rr=E,E=E+64|0,ir=rr+16|0,Vt=rr,Tt=rr+24|0,Ir=rr+8|0,Qr=rr+20|0,n[ir>>2]=l,at=(s|0)!=0,He=Tt+40|0,Ge=He,Tt=Tt+39|0,Rr=Ir+4|0,B=0,m=0,O=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(Wm()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(0);if(B=o[l>>0]|0,B<<24>>24)Q=l;else{Ze=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=Q,Ze=9;break t}case 0:{B=Q;break t}default:}et=Q+1|0,n[ir>>2]=et,B=o[et>>0]|0,Q=et}t:do if((Ze|0)==9)for(;;){if(Ze=0,(o[Q+1>>0]|0)!=37)break t;if(B=B+1|0,Q=Q+2|0,n[ir>>2]=Q,(o[Q>>0]|0)==37)Ze=9;else break}while(0);if(B=B-l|0,at&&ss(s,l,B),B|0){l=Q;continue}k=Q+1|0,B=(o[k>>0]|0)+-48|0,B>>>0<10?(et=(o[Q+2>>0]|0)==36,Re=et?B:-1,O=et?1:O,k=et?Q+3|0:k):Re=-1,n[ir>>2]=k,B=o[k>>0]|0,Q=(B<<24>>24)+-32|0;t:do if(Q>>>0<32)for(M=0,j=B;;){if(B=1<<Q,!(B&75913)){B=j;break t}if(M=B|M,k=k+1|0,n[ir>>2]=k,B=o[k>>0]|0,Q=(B<<24>>24)+-32|0,Q>>>0>=32)break;j=B}else M=0;while(0);if(B<<24>>24==42){if(Q=k+1|0,B=(o[Q>>0]|0)+-48|0,B>>>0<10&&(o[k+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[f+((o[Q>>0]|0)+-48<<3)>>2]|0,O=1,k=k+3|0;else{if(O|0){m=-1;break}at?(O=(n[c>>2]|0)+(4-1)&~(4-1),B=n[O>>2]|0,n[c>>2]=O+4,O=0,k=Q):(B=0,O=0,k=Q)}n[ir>>2]=k,et=(B|0)<0,B=et?0-B|0:B,M=et?M|8192:M}else{if(B=VG(ir)|0,(B|0)<0){m=-1;break}k=n[ir>>2]|0}do if((o[k>>0]|0)==46){if((o[k+1>>0]|0)!=42){n[ir>>2]=k+1,Q=VG(ir)|0,k=n[ir>>2]|0;break}if(j=k+2|0,Q=(o[j>>0]|0)+-48|0,Q>>>0<10&&(o[k+3>>0]|0)==36){n[d+(Q<<2)>>2]=10,Q=n[f+((o[j>>0]|0)+-48<<3)>>2]|0,k=k+4|0,n[ir>>2]=k;break}if(O|0){m=-1;break e}at?(et=(n[c>>2]|0)+(4-1)&~(4-1),Q=n[et>>2]|0,n[c>>2]=et+4):Q=0,n[ir>>2]=j,k=j}else Q=-1;while(0);for(Oe=0;;){if(((o[k>>0]|0)+-65|0)>>>0>57){m=-1;break e}if(et=k+1|0,n[ir>>2]=et,j=o[(o[k>>0]|0)+-65+(5178+(Oe*58|0))>>0]|0,se=j&255,(se+-1|0)>>>0<8)Oe=se,k=et;else break}if(!(j<<24>>24)){m=-1;break}We=(Re|0)>-1;do if(j<<24>>24==19)if(We){m=-1;break e}else Ze=49;else{if(We){n[d+(Re<<2)>>2]=se,We=f+(Re<<3)|0,Re=n[We+4>>2]|0,Ze=Vt,n[Ze>>2]=n[We>>2],n[Ze+4>>2]=Re,Ze=49;break}if(!at){m=0;break e}zG(Vt,se,c)}while(0);if((Ze|0)==49&&(Ze=0,!at)){B=0,l=et;continue}k=o[k>>0]|0,k=(Oe|0)!=0&(k&15|0)==3?k&-33:k,We=M&-65537,Re=(M&8192|0)==0?M:We;t:do switch(k|0){case 110:switch((Oe&255)<<24>>24){case 0:{n[n[Vt>>2]>>2]=m,B=0,l=et;continue e}case 1:{n[n[Vt>>2]>>2]=m,B=0,l=et;continue e}case 2:{B=n[Vt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}case 3:{a[n[Vt>>2]>>1]=m,B=0,l=et;continue e}case 4:{o[n[Vt>>2]>>0]=m,B=0,l=et;continue e}case 6:{n[n[Vt>>2]>>2]=m,B=0,l=et;continue e}case 7:{B=n[Vt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}default:{B=0,l=et;continue e}}case 112:{k=120,Q=Q>>>0>8?Q:8,l=Re|8,Ze=61;break}case 88:case 120:{l=Re,Ze=61;break}case 111:{k=Vt,l=n[k>>2]|0,k=n[k+4>>2]|0,se=WUe(l,k,He)|0,We=Ge-se|0,M=0,j=5642,Q=(Re&8|0)==0|(Q|0)>(We|0)?Q:We+1|0,We=Re,Ze=67;break}case 105:case 100:if(k=Vt,l=n[k>>2]|0,k=n[k+4>>2]|0,(k|0)<0){l=Vv(0,0,l|0,k|0)|0,k=Ee,M=Vt,n[M>>2]=l,n[M+4>>2]=k,M=1,j=5642,Ze=66;break t}else{M=(Re&2049|0)!=0&1,j=(Re&2048|0)==0?(Re&1|0)==0?5642:5644:5643,Ze=66;break t}case 117:{k=Vt,M=0,j=5642,l=n[k>>2]|0,k=n[k+4>>2]|0,Ze=66;break}case 99:{o[Tt>>0]=n[Vt>>2],l=Tt,M=0,j=5642,se=He,k=1,Q=We;break}case 109:{k=YUe(n[(Wm()|0)>>2]|0)|0,Ze=71;break}case 115:{k=n[Vt>>2]|0,k=k|0?k:5652,Ze=71;break}case 67:{n[Ir>>2]=n[Vt>>2],n[Rr>>2]=0,n[Vt>>2]=Ir,se=-1,k=Ir,Ze=75;break}case 83:{l=n[Vt>>2]|0,Q?(se=Q,k=l,Ze=75):(Is(s,32,B,0,Re),l=0,Ze=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=JUe(s,+C[Vt>>3],B,Q,Re,k)|0,l=et;continue e}default:M=0,j=5642,se=He,k=Q,Q=Re}while(0);t:do if((Ze|0)==61)Re=Vt,Oe=n[Re>>2]|0,Re=n[Re+4>>2]|0,se=GUe(Oe,Re,He,k&32)|0,j=(l&8|0)==0|(Oe|0)==0&(Re|0)==0,M=j?0:2,j=j?5642:5642+(k>>4)|0,We=l,l=Oe,k=Re,Ze=67;else if((Ze|0)==66)se=Ym(l,k,He)|0,We=Re,Ze=67;else if((Ze|0)==71)Ze=0,Re=KUe(k,0,Q)|0,Oe=(Re|0)==0,l=k,M=0,j=5642,se=Oe?k+Q|0:Re,k=Oe?Q:Re-k|0,Q=We;else if((Ze|0)==75){for(Ze=0,j=k,l=0,Q=0;M=n[j>>2]|0,!(!M||(Q=XG(Qr,M)|0,(Q|0)<0|Q>>>0>(se-l|0)>>>0));)if(l=Q+l|0,se>>>0>l>>>0)j=j+4|0;else break;if((Q|0)<0){m=-1;break e}if(Is(s,32,B,l,Re),!l)l=0,Ze=84;else for(M=0;;){if(Q=n[k>>2]|0,!Q){Ze=84;break t}if(Q=XG(Qr,Q)|0,M=Q+M|0,(M|0)>(l|0)){Ze=84;break t}if(ss(s,Qr,Q),M>>>0>=l>>>0){Ze=84;break}else k=k+4|0}}while(0);if((Ze|0)==67)Ze=0,k=(l|0)!=0|(k|0)!=0,Re=(Q|0)!=0|k,k=((k^1)&1)+(Ge-se)|0,l=Re?se:He,se=He,k=Re?(Q|0)>(k|0)?Q:k:Q,Q=(Q|0)>-1?We&-65537:We;else if((Ze|0)==84){Ze=0,Is(s,32,B,l,Re^8192),B=(B|0)>(l|0)?B:l,l=et;continue}Oe=se-l|0,We=(k|0)<(Oe|0)?Oe:k,Re=We+M|0,B=(B|0)<(Re|0)?Re:B,Is(s,32,B,Re,Q),ss(s,j,M),Is(s,48,B,Re,Q^65536),Is(s,48,We,Oe,0),ss(s,l,Oe),Is(s,32,B,Re,Q^8192),l=et}e:do if((Ze|0)==87&&!s)if(!O)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(zG(f+(m<<3)|0,l,c),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(0);return E=rr,m|0}function qUe(s){return s=s|0,0}function jUe(s){s=s|0}function ss(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]&32||n3e(l,c,s)|0}function VG(s){s=s|0;var l=0,c=0,f=0;if(c=n[s>>2]|0,f=(o[c>>0]|0)+-48|0,f>>>0<10){l=0;do l=f+(l*10|0)|0,c=c+1|0,n[s>>2]=c,f=(o[c>>0]|0)+-48|0;while(f>>>0<10)}else l=0;return l|0}function zG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,n[s>>2]=l;break e}case 10:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=0;break e}case 12:{f=(n[c>>2]|0)+(8-1)&~(8-1),l=f,d=n[l>>2]|0,l=n[l+4>>2]|0,n[c>>2]=f+8,f=s,n[f>>2]=d,n[f+4>>2]=l;break e}case 13:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&65535)<<16>>16,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&65535,n[d+4>>2]=0;break e}case 15:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&255)<<24>>24,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&255,n[d+4>>2]=0;break e}case 17:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+C[d>>3],n[c>>2]=d+8,C[s>>3]=m;break e}case 18:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+C[d>>3],n[c>>2]=d+8,C[s>>3]=m;break e}default:break e}while(0);while(0)}function GUe(s,l,c,f){if(s=s|0,l=l|0,c=c|0,f=f|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=u[5694+(s&15)>>0]|0|f,s=zv(s|0,l|0,4)|0,l=Ee;while(!((s|0)==0&(l|0)==0));return c|0}function WUe(s,l,c){if(s=s|0,l=l|0,c=c|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=s&7|48,s=zv(s|0,l|0,3)|0,l=Ee;while(!((s|0)==0&(l|0)==0));return c|0}function Ym(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if(l>>>0>0|(l|0)==0&s>>>0>4294967295){for(;f=BR(s|0,l|0,10,0)|0,c=c+-1|0,o[c>>0]=f&255|48,f=s,s=wR(s|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&f>>>0>4294967295;)l=Ee;l=s}else l=s;if(l)for(;c=c+-1|0,o[c>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return c|0}function YUe(s){return s=s|0,$Ue(s,n[(ZUe()|0)+188>>2]|0)|0}function KUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;m=l&255,f=(c|0)!=0;e:do if(f&(s&3|0)!=0)for(d=l&255;;){if((o[s>>0]|0)==d<<24>>24){B=6;break e}if(s=s+1|0,c=c+-1|0,f=(c|0)!=0,!(f&(s&3|0)!=0)){B=5;break}}else B=5;while(0);(B|0)==5&&(f?B=6:c=0);e:do if((B|0)==6&&(d=l&255,(o[s>>0]|0)!=d<<24>>24)){f=Le(m,16843009)|0;t:do if(c>>>0>3){for(;m=n[s>>2]^f,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(s=s+4|0,c=c+-4|0,c>>>0<=3){B=11;break t}}else B=11;while(0);if((B|0)==11&&!c){c=0;break}for(;;){if((o[s>>0]|0)==d<<24>>24)break e;if(s=s+1|0,c=c+-1|0,!c){c=0;break}}}while(0);return(c|0?s:0)|0}function Is(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0;if(B=E,E=E+256|0,m=B,(c|0)>(f|0)&(d&73728|0)==0){if(d=c-f|0,Jm(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=c-f|0;do ss(s,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}ss(s,m,d)}E=B}function XG(s,l){return s=s|0,l=l|0,s?s=zUe(s,l,0)|0:s=0,s|0}function JUe(s,l,c,f,d,m){s=s|0,l=+l,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Vt=0,Ir=0,Qr=0,rr=0,Bn=0;Bn=E,E=E+560|0,k=Bn+8|0,et=Bn,rr=Bn+524|0,Qr=rr,M=Bn+512|0,n[et>>2]=0,Ir=M+12|0,ZG(l)|0,(Ee|0)<0?(l=-l,ir=1,Rr=5659):(ir=(d&2049|0)!=0&1,Rr=(d&2048|0)==0?(d&1|0)==0?5660:5665:5662),ZG(l)|0,Vt=Ee&2146435072;do if(Vt>>>0<2146435072|(Vt|0)==2146435072&0<0){if(We=+VUe(l,et)*2,B=We!=0,B&&(n[et>>2]=(n[et>>2]|0)+-1),at=m|32,(at|0)==97){Oe=m&32,se=(Oe|0)==0?Rr:Rr+9|0,j=ir|2,B=12-f|0;do if(f>>>0>11|(B|0)==0)l=We;else{l=8;do B=B+-1|0,l=l*16;while((B|0)!=0);if((o[se>>0]|0)==45){l=-(l+(-We-l));break}else{l=We+l-l;break}}while(0);Q=n[et>>2]|0,B=(Q|0)<0?0-Q|0:Q,B=Ym(B,((B|0)<0)<<31>>31,Ir)|0,(B|0)==(Ir|0)&&(B=M+11|0,o[B>>0]=48),o[B+-1>>0]=(Q>>31&2)+43,O=B+-2|0,o[O>>0]=m+15,M=(f|0)<1,k=(d&8|0)==0,B=rr;do Vt=~~l,Q=B+1|0,o[B>>0]=u[5694+Vt>>0]|Oe,l=(l-+(Vt|0))*16,(Q-Qr|0)==1&&!(k&(M&l==0))?(o[Q>>0]=46,B=B+2|0):B=Q;while(l!=0);Vt=B-Qr|0,Qr=Ir-O|0,Ir=(f|0)!=0&(Vt+-2|0)<(f|0)?f+2|0:Vt,B=Qr+j+Ir|0,Is(s,32,c,B,d),ss(s,se,j),Is(s,48,c,B,d^65536),ss(s,rr,Vt),Is(s,48,Ir-Vt|0,0,0),ss(s,O,Qr),Is(s,32,c,B,d^8192);break}Q=(f|0)<0?6:f,B?(B=(n[et>>2]|0)+-28|0,n[et>>2]=B,l=We*268435456):(l=We,B=n[et>>2]|0),Vt=(B|0)<0?k:k+288|0,k=Vt;do Ge=~~l>>>0,n[k>>2]=Ge,k=k+4|0,l=(l-+(Ge>>>0))*1e9;while(l!=0);if((B|0)>0)for(M=Vt,j=k;;){if(O=(B|0)<29?B:29,B=j+-4|0,B>>>0>=M>>>0){k=0;do He=i7(n[B>>2]|0,0,O|0)|0,He=IR(He|0,Ee|0,k|0,0)|0,Ge=Ee,Ze=BR(He|0,Ge|0,1e9,0)|0,n[B>>2]=Ze,k=wR(He|0,Ge|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=M>>>0);k&&(M=M+-4|0,n[M>>2]=k)}for(k=j;!(k>>>0<=M>>>0);)if(B=k+-4|0,!(n[B>>2]|0))k=B;else break;if(B=(n[et>>2]|0)-O|0,n[et>>2]=B,(B|0)>0)j=k;else break}else M=Vt;if((B|0)<0){f=((Q+25|0)/9|0)+1|0,Re=(at|0)==102;do{if(Oe=0-B|0,Oe=(Oe|0)<9?Oe:9,M>>>0<k>>>0){O=(1<<Oe)+-1|0,j=1e9>>>Oe,se=0,B=M;do Ge=n[B>>2]|0,n[B>>2]=(Ge>>>Oe)+se,se=Le(Ge&O,j)|0,B=B+4|0;while(B>>>0<k>>>0);B=(n[M>>2]|0)==0?M+4|0:M,se?(n[k>>2]=se,M=B,B=k+4|0):(M=B,B=k)}else M=(n[M>>2]|0)==0?M+4|0:M,B=k;k=Re?Vt:M,k=(B-k>>2|0)>(f|0)?k+(f<<2)|0:B,B=(n[et>>2]|0)+Oe|0,n[et>>2]=B}while((B|0)<0);B=M,f=k}else B=M,f=k;if(Ge=Vt,B>>>0<f>>>0){if(k=(Ge-B>>2)*9|0,O=n[B>>2]|0,O>>>0>=10){M=10;do M=M*10|0,k=k+1|0;while(O>>>0>=M>>>0)}}else k=0;if(Re=(at|0)==103,Ze=(Q|0)!=0,M=Q-((at|0)!=102?k:0)+((Ze&Re)<<31>>31)|0,(M|0)<(((f-Ge>>2)*9|0)+-9|0)){if(M=M+9216|0,Oe=Vt+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(j=n[Oe>>2]|0,se=(j>>>0)%(O>>>0)|0,M=(Oe+4|0)==(f|0),M&(se|0)==0)M=Oe;else if(We=(((j>>>0)/(O>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,He=(O|0)/2|0,l=se>>>0<He>>>0?.5:M&(se|0)==(He|0)?1:1.5,ir&&(He=(o[Rr>>0]|0)==45,l=He?-l:l,We=He?-We:We),M=j-se|0,n[Oe>>2]=M,We+l!=We){if(He=M+O|0,n[Oe>>2]=He,He>>>0>999999999)for(k=Oe;M=k+-4|0,n[k>>2]=0,M>>>0<B>>>0&&(B=B+-4|0,n[B>>2]=0),He=(n[M>>2]|0)+1|0,n[M>>2]=He,He>>>0>999999999;)k=M;else M=Oe;if(k=(Ge-B>>2)*9|0,j=n[B>>2]|0,j>>>0>=10){O=10;do O=O*10|0,k=k+1|0;while(j>>>0>=O>>>0)}}else M=Oe;M=M+4|0,M=f>>>0>M>>>0?M:f,He=B}else M=f,He=B;for(at=M;;){if(at>>>0<=He>>>0){et=0;break}if(B=at+-4|0,!(n[B>>2]|0))at=B;else{et=1;break}}f=0-k|0;do if(Re)if(B=((Ze^1)&1)+Q|0,(B|0)>(k|0)&(k|0)>-5?(O=m+-1|0,Q=B+-1-k|0):(O=m+-2|0,Q=B+-1|0),B=d&8,B)Oe=B;else{if(et&&(Tt=n[at+-4>>2]|0,(Tt|0)!=0))if((Tt>>>0)%10|0)M=0;else{M=0,B=10;do B=B*10|0,M=M+1|0;while(!((Tt>>>0)%(B>>>0)|0|0))}else M=9;if(B=((at-Ge>>2)*9|0)+-9|0,(O|32|0)==102){Oe=B-M|0,Oe=(Oe|0)>0?Oe:0,Q=(Q|0)<(Oe|0)?Q:Oe,Oe=0;break}else{Oe=B+k-M|0,Oe=(Oe|0)>0?Oe:0,Q=(Q|0)<(Oe|0)?Q:Oe,Oe=0;break}}else O=m,Oe=d&8;while(0);if(Re=Q|Oe,j=(Re|0)!=0&1,se=(O|32|0)==102,se)Ze=0,B=(k|0)>0?k:0;else{if(B=(k|0)<0?f:k,B=Ym(B,((B|0)<0)<<31>>31,Ir)|0,M=Ir,(M-B|0)<2)do B=B+-1|0,o[B>>0]=48;while((M-B|0)<2);o[B+-1>>0]=(k>>31&2)+43,B=B+-2|0,o[B>>0]=O,Ze=B,B=M-B|0}if(B=ir+1+Q+j+B|0,Is(s,32,c,B,d),ss(s,Rr,ir),Is(s,48,c,B,d^65536),se){O=He>>>0>Vt>>>0?Vt:He,Oe=rr+9|0,j=Oe,se=rr+8|0,M=O;do{if(k=Ym(n[M>>2]|0,0,Oe)|0,(M|0)==(O|0))(k|0)==(Oe|0)&&(o[se>>0]=48,k=se);else if(k>>>0>rr>>>0){Jm(rr|0,48,k-Qr|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}ss(s,k,j-k|0),M=M+4|0}while(M>>>0<=Vt>>>0);if(Re|0&&ss(s,5710,1),M>>>0<at>>>0&(Q|0)>0)for(;;){if(k=Ym(n[M>>2]|0,0,Oe)|0,k>>>0>rr>>>0){Jm(rr|0,48,k-Qr|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}if(ss(s,k,(Q|0)<9?Q:9),M=M+4|0,k=Q+-9|0,M>>>0<at>>>0&(Q|0)>9)Q=k;else{Q=k;break}}Is(s,48,Q+9|0,9,0)}else{if(Re=et?at:He+4|0,(Q|0)>-1){et=rr+9|0,Oe=(Oe|0)==0,f=et,j=0-Qr|0,se=rr+8|0,O=He;do{k=Ym(n[O>>2]|0,0,et)|0,(k|0)==(et|0)&&(o[se>>0]=48,k=se);do if((O|0)==(He|0)){if(M=k+1|0,ss(s,k,1),Oe&(Q|0)<1){k=M;break}ss(s,5710,1),k=M}else{if(k>>>0<=rr>>>0)break;Jm(rr|0,48,k+j|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}while(0);Qr=f-k|0,ss(s,k,(Q|0)>(Qr|0)?Qr:Q),Q=Q-Qr|0,O=O+4|0}while(O>>>0<Re>>>0&(Q|0)>-1)}Is(s,48,Q+18|0,18,0),ss(s,Ze,Ir-Ze|0)}Is(s,32,c,B,d^8192)}else rr=(m&32|0)!=0,B=ir+3|0,Is(s,32,c,B,d&-65537),ss(s,Rr,ir),ss(s,l!=l|!1?rr?5686:5690:rr?5678:5682,3),Is(s,32,c,B,d^8192);while(0);return E=Bn,((B|0)<(c|0)?c:B)|0}function ZG(s){s=+s;var l=0;return C[v>>3]=s,l=n[v>>2]|0,Ee=n[v+4>>2]|0,l|0}function VUe(s,l){return s=+s,l=l|0,+ +$G(s,l)}function $G(s,l){s=+s,l=l|0;var c=0,f=0,d=0;switch(C[v>>3]=s,c=n[v>>2]|0,f=n[v+4>>2]|0,d=zv(c|0,f|0,52)|0,d&2047){case 0:{s!=0?(s=+$G(s*18446744073709552e3,l),c=(n[l>>2]|0)+-64|0):c=0,n[l>>2]=c;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[v>>2]=c,n[v+4>>2]=f&-2146435073|1071644672,s=+C[v>>3]}return+s}function zUe(s,l,c){s=s|0,l=l|0,c=c|0;do if(s){if(l>>>0<128){o[s>>0]=l,s=1;break}if(!(n[n[(XUe()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){o[s>>0]=l,s=1;break}else{n[(Wm()|0)>>2]=84,s=-1;break}if(l>>>0<2048){o[s>>0]=l>>>6|192,o[s+1>>0]=l&63|128,s=2;break}if(l>>>0<55296|(l&-8192|0)==57344){o[s>>0]=l>>>12|224,o[s+1>>0]=l>>>6&63|128,o[s+2>>0]=l&63|128,s=3;break}if((l+-65536|0)>>>0<1048576){o[s>>0]=l>>>18|240,o[s+1>>0]=l>>>12&63|128,o[s+2>>0]=l>>>6&63|128,o[s+3>>0]=l&63|128,s=4;break}else{n[(Wm()|0)>>2]=84,s=-1;break}}else s=1;while(0);return s|0}function XUe(){return yR()|0}function ZUe(){return yR()|0}function $Ue(s,l){s=s|0,l=l|0;var c=0,f=0;for(f=0;;){if((u[5712+f>>0]|0)==(s|0)){s=2;break}if(c=f+1|0,(c|0)==87){c=5800,f=87,s=5;break}else f=c}if((s|0)==2&&(f?(c=5800,s=5):c=5800),(s|0)==5)for(;;){do s=c,c=c+1|0;while((o[s>>0]|0)!=0);if(f=f+-1|0,f)s=5;else break}return e3e(c,n[l+20>>2]|0)|0}function e3e(s,l){return s=s|0,l=l|0,t3e(s,l)|0}function t3e(s,l){return s=s|0,l=l|0,l?l=r3e(n[l>>2]|0,n[l+4>>2]|0,s)|0:l=0,(l|0?l:s)|0}function r3e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;se=(n[s>>2]|0)+1794895138|0,m=Sg(n[s+8>>2]|0,se)|0,f=Sg(n[s+12>>2]|0,se)|0,d=Sg(n[s+16>>2]|0,se)|0;e:do if(m>>>0<l>>>2>>>0&&(j=l-(m<<2)|0,f>>>0<j>>>0&d>>>0<j>>>0)&&((d|f)&3|0)==0){for(j=f>>>2,O=d>>>2,M=0;;){if(Q=m>>>1,k=M+Q|0,B=k<<1,d=B+j|0,f=Sg(n[s+(d<<2)>>2]|0,se)|0,d=Sg(n[s+(d+1<<2)>>2]|0,se)|0,!(d>>>0<l>>>0&f>>>0<(l-d|0)>>>0)){f=0;break e}if(o[s+(d+f)>>0]|0){f=0;break e}if(f=KG(c,s+d|0)|0,!f)break;if(f=(f|0)<0,(m|0)==1){f=0;break e}else M=f?M:k,m=f?Q:m-Q|0}f=B+O|0,d=Sg(n[s+(f<<2)>>2]|0,se)|0,f=Sg(n[s+(f+1<<2)>>2]|0,se)|0,f>>>0<l>>>0&d>>>0<(l-f|0)>>>0?f=(o[s+(f+d)>>0]|0)==0?s+f|0:0:f=0}else f=0;while(0);return f|0}function Sg(s,l){s=s|0,l=l|0;var c=0;return c=a7(s|0)|0,((l|0)==0?s:c)|0}function n3e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=c+16|0,d=n[f>>2]|0,d?m=5:i3e(c)|0?f=0:(d=n[f>>2]|0,m=5);e:do if((m|0)==5){if(Q=c+20|0,B=n[Q>>2]|0,f=B,(d-B|0)>>>0<l>>>0){f=Zv[n[c+36>>2]&7](c,s,l)|0;break}t:do if((o[c+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=s;break t}if(d=B+-1|0,(o[s+d>>0]|0)==10)break;B=d}if(f=Zv[n[c+36>>2]&7](c,s,B)|0,f>>>0<B>>>0)break e;m=B,d=s+B|0,l=l-B|0,f=n[Q>>2]|0}else m=0,d=s;while(0);Cr(f|0,d|0,l|0)|0,n[Q>>2]=(n[Q>>2]|0)+l,f=m+l|0}while(0);return f|0}function i3e(s){s=s|0;var l=0,c=0;return l=s+74|0,c=o[l>>0]|0,o[l>>0]=c+255|c,l=n[s>>2]|0,l&8?(n[s>>2]=l|32,s=-1):(n[s+8>>2]=0,n[s+4>>2]=0,c=n[s+44>>2]|0,n[s+28>>2]=c,n[s+20>>2]=c,n[s+16>>2]=c+(n[s+48>>2]|0),s=0),s|0}function Nn(s,l){s=y(s),l=y(l);var c=0,f=0;c=e7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=e7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?l:s;break}else{s=s<l?l:s;break}}else s=l;while(0);return y(s)}function e7(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Pg(s,l){s=y(s),l=y(l);var c=0,f=0;c=t7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=t7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?s:l;break}else{s=s<l?s:l;break}}else s=l;while(0);return y(s)}function t7(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function CR(s,l){s=y(s),l=y(l);var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;m=(h[v>>2]=s,n[v>>2]|0),Q=(h[v>>2]=l,n[v>>2]|0),c=m>>>23&255,B=Q>>>23&255,k=m&-2147483648,d=Q<<1;e:do if((d|0)!=0&&!((c|0)==255|((s3e(l)|0)&2147483647)>>>0>2139095040)){if(f=m<<1,f>>>0<=d>>>0)return l=y(s*y(0)),y((f|0)==(d|0)?l:s);if(c)f=m&8388607|8388608;else{if(c=m<<9,(c|0)>-1){f=c,c=0;do c=c+-1|0,f=f<<1;while((f|0)>-1)}else c=0;f=m<<1-c}if(B)Q=Q&8388607|8388608;else{if(m=Q<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,Q=Q<<1-d}d=f-Q|0,m=(d|0)>-1;t:do if((c|0)>(B|0)){for(;;){if(m)if(d)f=d;else break;if(f=f<<1,c=c+-1|0,d=f-Q|0,m=(d|0)>-1,(c|0)<=(B|0))break t}l=y(s*y(0));break e}while(0);if(m)if(d)f=d;else{l=y(s*y(0));break}if(f>>>0<8388608)do f=f<<1,c=c+-1|0;while(f>>>0<8388608);(c|0)>0?c=f+-8388608|c<<23:c=f>>>(1-c|0),l=(n[v>>2]=c|k,y(h[v>>2]))}else M=3;while(0);return(M|0)==3&&(l=y(s*l),l=y(l/l)),y(l)}function s3e(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function o3e(s,l){return s=s|0,l=l|0,JG(n[582]|0,s,l)|0}function Jr(s){s=s|0,Rt()}function Km(s){s=s|0}function a3e(s,l){return s=s|0,l=l|0,0}function l3e(s){return s=s|0,(r7(s+4|0)|0)==-1?($A[n[(n[s>>2]|0)+8>>2]&127](s),s=1):s=0,s|0}function r7(s){s=s|0;var l=0;return l=n[s>>2]|0,n[s>>2]=l+-1,l+-1|0}function Pp(s){s=s|0,l3e(s)|0&&c3e(s)}function c3e(s){s=s|0;var l=0;l=s+8|0,(n[l>>2]|0)!=0&&(r7(l)|0)!=-1||$A[n[(n[s>>2]|0)+16>>2]&127](s)}function Gt(s){s=s|0;var l=0;for(l=(s|0)==0?1:s;s=Yv(l)|0,!(s|0);){if(s=A3e()|0,!s){s=0;break}m7[s&0]()}return s|0}function n7(s){return s=s|0,Gt(s)|0}function pt(s){s=s|0,Kv(s)}function u3e(s){s=s|0,(o[s+11>>0]|0)<0&&pt(n[s>>2]|0)}function A3e(){var s=0;return s=n[2923]|0,n[2923]=s+0,s|0}function f3e(){}function Vv(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f=l-f-(c>>>0>s>>>0|0)>>>0,Ee=f,s-c>>>0|0|0}function IR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,c=s+c>>>0,Ee=l+f+(c>>>0<s>>>0|0)>>>0,c|0|0}function Jm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(m=s+c|0,l=l&255,(c|0)>=67){for(;s&3;)o[s>>0]=l,s=s+1|0;for(f=m&-4|0,d=f-64|0,B=l|l<<8|l<<16|l<<24;(s|0)<=(d|0);)n[s>>2]=B,n[s+4>>2]=B,n[s+8>>2]=B,n[s+12>>2]=B,n[s+16>>2]=B,n[s+20>>2]=B,n[s+24>>2]=B,n[s+28>>2]=B,n[s+32>>2]=B,n[s+36>>2]=B,n[s+40>>2]=B,n[s+44>>2]=B,n[s+48>>2]=B,n[s+52>>2]=B,n[s+56>>2]=B,n[s+60>>2]=B,s=s+64|0;for(;(s|0)<(f|0);)n[s>>2]=B,s=s+4|0}for(;(s|0)<(m|0);)o[s>>0]=l,s=s+1|0;return m-c|0}function i7(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ee=l<<c|(s&(1<<c)-1<<32-c)>>>32-c,s<<c):(Ee=s<<c-32,0)}function zv(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ee=l>>>c,s>>>c|(l&(1<<c)-1)<<32-c):(Ee=0,l>>>c-32|0)}function Cr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;if((c|0)>=8192)return fc(s|0,l|0,c|0)|0;if(m=s|0,d=s+c|0,(s&3)==(l&3)){for(;s&3;){if(!c)return m|0;o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0,c=c-1|0}for(c=d&-4|0,f=c-64|0;(s|0)<=(f|0);)n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2],n[s+16>>2]=n[l+16>>2],n[s+20>>2]=n[l+20>>2],n[s+24>>2]=n[l+24>>2],n[s+28>>2]=n[l+28>>2],n[s+32>>2]=n[l+32>>2],n[s+36>>2]=n[l+36>>2],n[s+40>>2]=n[l+40>>2],n[s+44>>2]=n[l+44>>2],n[s+48>>2]=n[l+48>>2],n[s+52>>2]=n[l+52>>2],n[s+56>>2]=n[l+56>>2],n[s+60>>2]=n[l+60>>2],s=s+64|0,l=l+64|0;for(;(s|0)<(c|0);)n[s>>2]=n[l>>2],s=s+4|0,l=l+4|0}else for(c=d-4|0;(s|0)<(c|0);)o[s>>0]=o[l>>0]|0,o[s+1>>0]=o[l+1>>0]|0,o[s+2>>0]=o[l+2>>0]|0,o[s+3>>0]=o[l+3>>0]|0,s=s+4|0,l=l+4|0;for(;(s|0)<(d|0);)o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0;return m|0}function s7(s){s=s|0;var l=0;return l=o[L+(s&255)>>0]|0,(l|0)<8?l|0:(l=o[L+(s>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=o[L+(s>>16&255)>>0]|0,(l|0)<8?l+16|0:(o[L+(s>>>24)>>0]|0)+24|0))}function o7(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Oe=0;if(O=s,k=l,M=k,B=c,se=f,Q=se,!M)return m=(d|0)!=0,Q?m?(n[d>>2]=s|0,n[d+4>>2]=l&0,se=0,d=0,Ee=se,d|0):(se=0,d=0,Ee=se,d|0):(m&&(n[d>>2]=(O>>>0)%(B>>>0),n[d+4>>2]=0),se=0,d=(O>>>0)/(B>>>0)>>>0,Ee=se,d|0);m=(Q|0)==0;do if(B){if(!m){if(m=(P(Q|0)|0)-(P(M|0)|0)|0,m>>>0<=31){j=m+1|0,Q=31-m|0,l=m-31>>31,B=j,s=O>>>(j>>>0)&l|M<<Q,l=M>>>(j>>>0)&l,m=0,Q=O<<Q;break}return d?(n[d>>2]=s|0,n[d+4>>2]=k|l&0,se=0,d=0,Ee=se,d|0):(se=0,d=0,Ee=se,d|0)}if(m=B-1|0,m&B|0){Q=(P(B|0)|0)+33-(P(M|0)|0)|0,Oe=64-Q|0,j=32-Q|0,k=j>>31,We=Q-32|0,l=We>>31,B=Q,s=j-1>>31&M>>>(We>>>0)|(M<<j|O>>>(Q>>>0))&l,l=l&M>>>(Q>>>0),m=O<<Oe&k,Q=(M<<Oe|O>>>(We>>>0))&k|O<<j&Q-33>>31;break}return d|0&&(n[d>>2]=m&O,n[d+4>>2]=0),(B|0)==1?(We=k|l&0,Oe=s|0|0,Ee=We,Oe|0):(Oe=s7(B|0)|0,We=M>>>(Oe>>>0)|0,Oe=M<<32-Oe|O>>>(Oe>>>0)|0,Ee=We,Oe|0)}else{if(m)return d|0&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),We=0,Oe=(M>>>0)/(B>>>0)>>>0,Ee=We,Oe|0;if(!O)return d|0&&(n[d>>2]=0,n[d+4>>2]=(M>>>0)%(Q>>>0)),We=0,Oe=(M>>>0)/(Q>>>0)>>>0,Ee=We,Oe|0;if(m=Q-1|0,!(m&Q))return d|0&&(n[d>>2]=s|0,n[d+4>>2]=m&M|l&0),We=0,Oe=M>>>((s7(Q|0)|0)>>>0),Ee=We,Oe|0;if(m=(P(Q|0)|0)-(P(M|0)|0)|0,m>>>0<=30){l=m+1|0,Q=31-m|0,B=l,s=M<<Q|O>>>(l>>>0),l=M>>>(l>>>0),m=0,Q=O<<Q;break}return d?(n[d>>2]=s|0,n[d+4>>2]=k|l&0,We=0,Oe=0,Ee=We,Oe|0):(We=0,Oe=0,Ee=We,Oe|0)}while(0);if(!B)M=Q,k=0,Q=0;else{j=c|0|0,O=se|f&0,M=IR(j|0,O|0,-1,-1)|0,c=Ee,k=Q,Q=0;do f=k,k=m>>>31|k<<1,m=Q|m<<1,f=s<<1|f>>>31|0,se=s>>>31|l<<1|0,Vv(M|0,c|0,f|0,se|0)|0,Oe=Ee,We=Oe>>31|((Oe|0)<0?-1:0)<<1,Q=We&1,s=Vv(f|0,se|0,We&j|0,(((Oe|0)<0?-1:0)>>31|((Oe|0)<0?-1:0)<<1)&O|0)|0,l=Ee,B=B-1|0;while((B|0)!=0);M=k,k=0}return B=0,d|0&&(n[d>>2]=s,n[d+4>>2]=l),We=(m|0)>>>31|(M|B)<<1|(B<<1|m>>>31)&0|k,Oe=(m<<1|0>>>31)&-2|Q,Ee=We,Oe|0}function wR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,o7(s,l,c,f,0)|0}function xp(s){s=s|0;var l=0,c=0;return c=s+15&-16|0,l=n[w>>2]|0,s=l+c|0,(c|0)>0&(s|0)<(l|0)|(s|0)<0?(ie()|0,DA(12),-1):(n[w>>2]=s,(s|0)>($()|0)&&(X()|0)==0?(n[w>>2]=l,DA(12),-1):l|0)}function DI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if((l|0)<(s|0)&(s|0)<(l+c|0)){for(f=s,l=l+c|0,s=s+c|0;(c|0)>0;)s=s-1|0,l=l-1|0,c=c-1|0,o[s>>0]=o[l>>0]|0;s=f}else Cr(s,l,c)|0;return s|0}function BR(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;return m=E,E=E+16|0,d=m|0,o7(s,l,c,f,d)|0,E=m,Ee=n[d+4>>2]|0,n[d>>2]|0|0}function a7(s){return s=s|0,(s&255)<<24|(s>>8&255)<<16|(s>>16&255)<<8|s>>>24|0}function p3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,l7[s&1](l|0,c|0,f|0,d|0,m|0)}function h3e(s,l,c){s=s|0,l=l|0,c=y(c),c7[s&1](l|0,y(c))}function g3e(s,l,c){s=s|0,l=l|0,c=+c,u7[s&31](l|0,+c)}function d3e(s,l,c,f){return s=s|0,l=l|0,c=y(c),f=y(f),y(A7[s&0](l|0,y(c),y(f)))}function m3e(s,l){s=s|0,l=l|0,$A[s&127](l|0)}function y3e(s,l,c){s=s|0,l=l|0,c=c|0,ef[s&31](l|0,c|0)}function E3e(s,l){return s=s|0,l=l|0,bg[s&31](l|0)|0}function C3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,f7[s&1](l|0,+c,+f,d|0)}function I3e(s,l,c,f){s=s|0,l=l|0,c=+c,f=+f,t_e[s&1](l|0,+c,+f)}function w3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,Zv[s&7](l|0,c|0,f|0)|0}function B3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,+r_e[s&1](l|0,c|0,f|0)}function v3e(s,l){return s=s|0,l=l|0,+p7[s&15](l|0)}function D3e(s,l,c){return s=s|0,l=l|0,c=+c,n_e[s&1](l|0,+c)|0}function S3e(s,l,c){return s=s|0,l=l|0,c=c|0,DR[s&15](l|0,c|0)|0}function P3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=+f,d=+d,m=m|0,i_e[s&1](l|0,c|0,+f,+d,m|0)}function x3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s_e[s&1](l|0,c|0,f|0,d|0,m|0,B|0)}function b3e(s,l,c){return s=s|0,l=l|0,c=c|0,+h7[s&7](l|0,c|0)}function Q3e(s){return s=s|0,$v[s&7]()|0}function k3e(s,l,c,f,d,m){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,g7[s&1](l|0,c|0,f|0,d|0,m|0)|0}function F3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=+d,o_e[s&1](l|0,c|0,f|0,+d)}function R3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,d7[s&1](l|0,c|0,y(f),d|0,y(m),B|0)}function T3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,xI[s&15](l|0,c|0,f|0)}function N3e(s){s=s|0,m7[s&0]()}function L3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,y7[s&15](l|0,c|0,+f)}function O3e(s,l,c){return s=s|0,l=+l,c=+c,a_e[s&1](+l,+c)|0}function M3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,SR[s&15](l|0,c|0,f|0,d|0)}function U3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(0)}function _3e(s,l){s=s|0,l=y(l),F(1)}function da(s,l){s=s|0,l=+l,F(2)}function H3e(s,l,c){return s=s|0,l=y(l),c=y(c),F(3),$e}function hr(s){s=s|0,F(4)}function SI(s,l){s=s|0,l=l|0,F(5)}function za(s){return s=s|0,F(6),0}function q3e(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,F(7)}function j3e(s,l,c){s=s|0,l=+l,c=+c,F(8)}function G3e(s,l,c){return s=s|0,l=l|0,c=c|0,F(9),0}function W3e(s,l,c){return s=s|0,l=l|0,c=c|0,F(10),0}function xg(s){return s=s|0,F(11),0}function Y3e(s,l){return s=s|0,l=+l,F(12),0}function PI(s,l){return s=s|0,l=l|0,F(13),0}function K3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,F(14)}function J3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,F(15)}function vR(s,l){return s=s|0,l=l|0,F(16),0}function V3e(){return F(17),0}function z3e(s,l,c,f,d){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(18),0}function X3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,F(19)}function Z3e(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,F(20)}function Xv(s,l,c){s=s|0,l=l|0,c=c|0,F(21)}function $3e(){F(22)}function Vm(s,l,c){s=s|0,l=l|0,c=+c,F(23)}function e_e(s,l){return s=+s,l=+l,F(24),0}function zm(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,F(25)}var l7=[U3e,zLe],c7=[_3e,uo],u7=[da,dI,mI,AF,fF,Dl,yI,pF,Um,ku,CI,hF,Fv,WA,Rv,_m,Tv,Nv,Hm,da,da,da,da,da,da,da,da,da,da,da,da,da],A7=[H3e],$A=[hr,Km,QDe,kDe,FDe,abe,lbe,cbe,DNe,SNe,PNe,OLe,MLe,ULe,sUe,oUe,aUe,ds,Pv,Mm,GA,EI,Sve,Pve,CDe,_De,ZDe,dSe,FSe,VSe,fPe,PPe,qPe,ixe,Cxe,Lxe,Zxe,Sbe,qbe,iQe,CQe,LQe,ZQe,mke,Fke,Yke,lFe,Pc,UFe,tRe,CRe,MRe,$Re,CTe,QTe,RTe,zTe,$Te,dNe,bNe,FNe,VNe,pLe,J9,JOe,DMe,_Me,t4e,B4e,M4e,V4e,Z4e,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr],ef=[SI,iF,sF,gI,Qu,oF,aF,Cp,lF,cF,uF,kv,YA,Ve,ft,jt,Er,In,Sr,dF,pve,Lve,Ike,Nke,qRe,XOe,ILe,FG,SI,SI,SI,SI],bg=[za,LUe,nF,D,ce,Se,It,Et,xt,Nr,fi,Ao,uve,Ave,xve,AFe,nTe,ZNe,tMe,Ka,za,za,za,za,za,za,za,za,za,za,za,za],f7=[q3e,bve],t_e=[j3e,ENe],Zv=[G3e,YG,OUe,_Ue,$Se,Qbe,jFe,s4e],r_e=[W3e,vxe],p7=[xg,_o,rt,wn,Qve,kve,Fve,Rve,Tve,Nve,xg,xg,xg,xg,xg,xg],n_e=[Y3e,PTe],DR=[PI,a3e,fve,vDe,CSe,gPe,QPe,rbe,Ybe,zke,Dv,GMe,PI,PI,PI,PI],i_e=[K3e,rSe],s_e=[J3e,P4e],h7=[vR,ri,Ove,Mve,Uve,_xe,vR,vR],$v=[V3e,_ve,pI,ha,OTe,nNe,LNe,rUe],g7=[z3e,aI],o_e=[X3e,vQe],d7=[Z3e,hve],xI=[Xv,T,is,Xr,fo,LSe,WPe,_Qe,rke,Om,EOe,bMe,q4e,Xv,Xv,Xv],m7=[$3e],y7=[Vm,xv,bv,Qv,jA,Lv,gF,S,lQe,sRe,BTe,Vm,Vm,Vm,Vm,Vm],a_e=[e_e,BNe],SR=[zm,lxe,EFe,vRe,fTe,jTe,cNe,jNe,yLe,aMe,pUe,zm,zm,zm,zm,zm];return{_llvm_bswap_i32:a7,dynCall_idd:O3e,dynCall_i:Q3e,_i64Subtract:Vv,___udivdi3:wR,dynCall_vif:h3e,setThrew:Eu,dynCall_viii:T3e,_bitshift64Lshr:zv,_bitshift64Shl:i7,dynCall_vi:m3e,dynCall_viiddi:P3e,dynCall_diii:B3e,dynCall_iii:S3e,_memset:Jm,_sbrk:xp,_memcpy:Cr,__GLOBAL__sub_I_Yoga_cpp:Lm,dynCall_vii:y3e,___uremdi3:BR,dynCall_vid:g3e,stackAlloc:so,_nbind_init:vUe,getTempRet0:Oa,dynCall_di:v3e,dynCall_iid:D3e,setTempRet0:bA,_i64Add:IR,dynCall_fiff:d3e,dynCall_iiii:w3e,_emscripten_get_global_libc:NUe,dynCall_viid:L3e,dynCall_viiid:F3e,dynCall_viififi:R3e,dynCall_ii:E3e,__GLOBAL__sub_I_Binding_cc:_Oe,dynCall_viiii:M3e,dynCall_iiiiii:k3e,stackSave:Cl,dynCall_viiiii:p3e,__GLOBAL__sub_I_nbind_cc:Hve,dynCall_vidd:I3e,_free:Kv,runPostSets:f3e,dynCall_viiiiii:x3e,establishStackSpace:qi,_memmove:DI,stackRestore:yu,_malloc:Yv,__GLOBAL__sub_I_common_cc:oLe,dynCall_viddi:C3e,dynCall_dii:b3e,dynCall_v:N3e}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function t(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=t)},Module.callMain=Module.callMain=function t(e){e=e||[],ensureInitRuntime();var r=e.length+1;function o(){for(var p=0;p<4-1;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];o();for(var n=0;n<r-1;n=n+1)a.push(allocate(intArrayFromString(e[n]),"i8",ALLOC_NORMAL)),o();a.push(0),a=allocate(a,"i32",ALLOC_NORMAL);try{var u=Module._main(r,a,0);exit(u,!0)}catch(p){if(p instanceof ExitStatus)return;if(p=="SimulateInfiniteLoop"){Module.noExitRuntime=!0;return}else{var A=p;p&&typeof p=="object"&&p.stack&&(A=[p,p.stack]),Module.printErr("exception thrown: "+A),Module.quit(1,p)}}finally{calledMain=!0}};function run(t){if(t=t||Module.arguments,preloadStartTime===null&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0)||Module.calledRun)return;function e(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(t),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()}Module.run=Module.run=run;function exit(t,e){e&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=t,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(t)),ENVIRONMENT_IS_NODE&&process.exit(t),Module.quit(t,new ExitStatus(t)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(t){Module.onAbort&&Module.onAbort(t),t!==void 0?(Module.print(t),Module.printErr(t),t=JSON.stringify(t)):t="",ABORT=!0,EXITSTATUS=1;var e=` | 285 | `+Module.extraStackTrace()),demangleAll(t)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY<TOTAL_STACK&&Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")"),Module.buffer?buffer=Module.buffer:buffer=new ArrayBuffer(TOTAL_MEMORY),updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}if(HEAP32[0]=1668509029,HEAP16[1]=25459,HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;function callRuntimeCallbacks(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(t){__ATPRERUN__.unshift(t)}Module.addOnPreRun=addOnPreRun;function addOnInit(t){__ATINIT__.unshift(t)}Module.addOnInit=addOnInit;function addOnPreMain(t){__ATMAIN__.unshift(t)}Module.addOnPreMain=addOnPreMain;function addOnExit(t){__ATEXIT__.unshift(t)}Module.addOnExit=addOnExit;function addOnPostRun(t){__ATPOSTRUN__.unshift(t)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(t,e,r){var o=r>0?r:lengthBytesUTF8(t)+1,a=new Array(o),n=stringToUTF8Array(t,a,0,a.length);return e&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(t){for(var e=[],r=0;r<t.length;r++){var o=t[r];o>255&&(o&=255),e.push(String.fromCharCode(o))}return e.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(t,e,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var o,a;r&&(a=e+lengthBytesUTF8(t),o=HEAP8[a]),stringToUTF8(t,e,1/0),r&&(HEAP8[a]=o)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(t,e){HEAP8.set(t,e)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(t,e,r){for(var o=0;o<t.length;++o)HEAP8[e++>>0]=t.charCodeAt(o);r||(HEAP8[e>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function t(e,r){var o=e>>>16,a=e&65535,n=r>>>16,u=r&65535;return a*u+(o*u+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(t){return froundBuffer[0]=t,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(t){t=t>>>0;for(var e=0;e<32;e++)if(t&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(t){return t}function addRunDependency(t){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(t){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(t,e,r,o,a,n,u,A){return _nbind.callbackSignatureList[t].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(t,e,r,o,a,n,u,A){return ASM_CONSTS[t](e,r,o,a,n,u,A)}function _emscripten_asm_const_iiiii(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiidddddd(t,e,r,o,a,n,u,A,p){return ASM_CONSTS[t](e,r,o,a,n,u,A,p)}function _emscripten_asm_const_iiididi(t,e,r,o,a,n,u){return ASM_CONSTS[t](e,r,o,a,n,u)}function _emscripten_asm_const_iiii(t,e,r,o){return ASM_CONSTS[t](e,r,o)}function _emscripten_asm_const_iiiid(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiiiii(t,e,r,o,a,n){return ASM_CONSTS[t](e,r,o,a,n)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(t,e){__ATEXIT__.unshift({func:t,arg:e})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(t,e,r,o){var a=arguments.length,n=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,o);else for(var A=t.length-1;A>=0;A--)(u=t[A])&&(n=(a<3?u(n):a>3?u(e,r,n):u(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n}function _defineHidden(t){return function(e,r){Object.defineProperty(e,r,{configurable:!1,enumerable:!1,value:t,writable:!0})}}var _nbind={};function __nbind_free_external(t){_nbind.externalList[t].dereference(t)}function __nbind_reference_external(t){_nbind.externalList[t].reference()}function _llvm_stackrestore(t){var e=_llvm_stacksave,r=e.LLVM_SAVEDSTACKS[t];e.LLVM_SAVEDSTACKS.splice(t,1),Runtime.stackRestore(r)}function __nbind_register_pool(t,e,r,o){_nbind.Pool.pageSize=t,_nbind.Pool.usedPtr=e/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=o/4,HEAP32[e/4]=16909060,HEAP8[e]==1&&(_nbind.bigEndian=!0),HEAP32[e/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(t,e){if(Browser.mainLoop.timingMode=t,Browser.mainLoop.timingValue=e,!Browser.mainLoop.func)return 1;if(t==0)Browser.mainLoop.scheduler=function(){var u=Math.max(0,Browser.mainLoop.tickStartTime+e-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,u)},Browser.mainLoop.method="timeout";else if(t==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(t==2){if(!window.setImmediate){let n=function(u){u.source===window&&u.data===o&&(u.stopPropagation(),r.shift()())};var a=n,r=[],o="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(A){r.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:o})):window.postMessage(o,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(t,e,r,o,a){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=t,Browser.mainLoop.arg=o;var n;typeof o<"u"?n=function(){Module.dynCall_vi(t,o)}:n=function(){Module.dynCall_v(t)};var u=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var E=Browser.mainLoop.remainingBlockers,w=E%1==0?E-1:Math.floor(E);h.counted?Browser.mainLoop.remainingBlockers=w:(w=w+.5,Browser.mainLoop.remainingBlockers=(8*E+w)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),u<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(!(u<Browser.mainLoop.currentlyRunningMainloop)){if(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(n),!(u<Browser.mainLoop.currentlyRunningMainloop)&&(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())}}},a||(e&&e>0?_emscripten_set_main_loop_timing(0,1e3/e):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var t=Browser.mainLoop.timingMode,e=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(t,e),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var t=Module.statusMessage||"Please wait...",e=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;e?e<r?Module.setStatus(t+" ("+(r-e)+"/"+r+")"):Module.setStatus(t):Module.setStatus("")}},runIter:function(t){if(!ABORT){if(Module.preMainLoop){var e=Module.preMainLoop();if(e===!1)return}try{t()}catch(r){if(r instanceof ExitStatus)return;throw r&&typeof r=="object"&&r.stack&&Module.printErr("exception thrown: "+[r,r.stack]),r}Module.postMainLoop&&Module.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(Module.preloadPlugins||(Module.preloadPlugins=[]),Browser.initted)return;Browser.initted=!0;try{new Blob,Browser.hasBlobConstructor=!0}catch{Browser.hasBlobConstructor=!1,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder<"u"?MozBlobBuilder:typeof WebKitBlobBuilder<"u"?WebKitBlobBuilder:Browser.hasBlobConstructor?null:console.log("warning: no BlobBuilder"),Browser.URLObject=typeof window<"u"?window.URL?window.URL:window.webkitURL:void 0,!Module.noImageDecoding&&typeof Browser.URLObject>"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var t={};t.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},t.handle=function(n,u,A,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(u)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(u)}))}catch(b){Runtime.warnOnce("Blob constructor present but fails: "+b+"; falling back to blob builder")}if(!h){var E=new Browser.BlobBuilder;E.append(new Uint8Array(n).buffer),h=E.getBlob()}var w=Browser.URLObject.createObjectURL(h),v=new Image;v.onload=function(){assert(v.complete,"Image "+u+" could not be decoded");var C=document.createElement("canvas");C.width=v.width,C.height=v.height;var R=C.getContext("2d");R.drawImage(v,0,0),Module.preloadedImages[u]=C,Browser.URLObject.revokeObjectURL(w),A&&A(n)},v.onerror=function(C){console.log("Image "+w+" could not be decoded"),p&&p()},v.src=w},Module.preloadPlugins.push(t);var e={};e.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},e.handle=function(n,u,A,p){var h=!1;function E(R){h||(h=!0,Module.preloadedAudios[u]=R,A&&A(n))}function w(){h||(h=!0,Module.preloadedAudios[u]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var v=new Blob([n],{type:Browser.getMimetype(u)})}catch{return w()}var b=Browser.URLObject.createObjectURL(v),C=new Audio;C.addEventListener("canplaythrough",function(){E(C)},!1),C.onerror=function(L){if(h)return;console.log("warning: browser could not fully decode audio "+u+", trying slower base64 approach");function _(V){for(var re="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",oe="=",pe="",he=0,ve=0,ge=0;ge<V.length;ge++)for(he=he<<8|V[ge],ve+=8;ve>=6;){var le=he>>ve-6&63;ve-=6,pe+=re[le]}return ve==2?(pe+=re[(he&3)<<4],pe+=oe+oe):ve==4&&(pe+=re[(he&15)<<2],pe+=oe),pe}C.src="data:audio/x-"+u.substr(-3)+";base64,"+_(n),E(C)},C.src=b,Browser.safeSetTimeout(function(){E(C)},1e4)}else return w()},Module.preloadPlugins.push(e);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var o=Module.canvas;o&&(o.requestPointerLock=o.requestPointerLock||o.mozRequestPointerLock||o.webkitRequestPointerLock||o.msRequestPointerLock||function(){},o.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},o.exitPointerLock=o.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&o.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(t,e,r,o){if(e&&Module.ctx&&t==Module.canvas)return Module.ctx;var a,n;if(e){var u={antialias:!1,alpha:!1};if(o)for(var A in o)u[A]=o[A];n=GL.createContext(t,u),n&&(a=GL.getContext(n).GLctx)}else a=t.getContext("2d");return a?(r&&(e||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,e&&GL.makeContextCurrent(n),Module.useWebGL=e,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(t,e,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(t,e,r){Browser.lockPointer=t,Browser.resizeCanvas=e,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var o=Module.canvas;function a(){Browser.isFullscreen=!1;var u=o.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===u?(o.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},o.exitFullscreen=o.exitFullscreen.bind(document),Browser.lockPointer&&o.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(u.parentNode.insertBefore(o,u),u.parentNode.removeChild(u),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(o)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");o.parentNode.insertBefore(n,o),n.appendChild(o),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(t,e,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(o,a,n){return Browser.requestFullscreen(o,a,n)},Browser.requestFullscreen(t,e,r)},nextRAF:0,fakeRequestAnimationFrame:function(t){var e=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=e+1e3/60;else for(;e+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-e,0);setTimeout(t,r)},requestAnimationFrame:function t(e){typeof window>"u"?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(t){return function(){if(!ABORT)return t.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var t=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],t.forEach(function(e){e()})}},safeRequestAnimationFrame:function(t){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))})},safeSetTimeout:function(t,e){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))},e)},safeSetInterval:function(t,e){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&t()},e)},getMimetype:function(t){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[t.substr(t.lastIndexOf(".")+1)]},getUserMedia:function(t){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(t)},getMovementX:function(t){return t.movementX||t.mozMovementX||t.webkitMovementX||0},getMovementY:function(t){return t.movementY||t.mozMovementY||t.webkitMovementY||0},getMouseWheelDelta:function(t){var e=0;switch(t.type){case"DOMMouseScroll":e=t.detail;break;case"mousewheel":e=t.wheelDelta;break;case"wheel":e=t.deltaY;break;default:throw"unrecognized mouse wheel event: "+t.type}return e},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(t){if(Browser.pointerLock)t.type!="mousemove"&&"mozMovementX"in t?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(t),Browser.mouseMovementY=Browser.getMovementY(t)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var e=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,o=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(t.type==="touchstart"||t.type==="touchend"||t.type==="touchmove"){var u=t.touch;if(u===void 0)return;var A=u.pageX-(a+e.left),p=u.pageY-(n+e.top);A=A*(r/e.width),p=p*(o/e.height);var h={x:A,y:p};if(t.type==="touchstart")Browser.lastTouches[u.identifier]=h,Browser.touches[u.identifier]=h;else if(t.type==="touchend"||t.type==="touchmove"){var E=Browser.touches[u.identifier];E||(E=h),Browser.lastTouches[u.identifier]=E,Browser.touches[u.identifier]=h}return}var w=t.pageX-(a+e.left),v=t.pageY-(n+e.top);w=w*(r/e.width),v=v*(o/e.height),Browser.mouseMovementX=w-Browser.mouseX,Browser.mouseMovementY=v-Browser.mouseY,Browser.mouseX=w,Browser.mouseY=v}},asyncLoad:function(t,e,r,o){var a=o?"":"al "+t;Module.readAsync(t,function(n){assert(n,'Loading data file "'+t+'" failed (no arrayBuffer).'),e(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+t+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var t=Module.canvas;Browser.resizeListeners.forEach(function(e){e(t.width,t.height)})},setCanvasSize:function(t,e,r){var o=Module.canvas;Browser.updateCanvasDimensions(o,t,e),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},updateCanvasDimensions:function(t,e,r){e&&r?(t.widthNative=e,t.heightNative=r):(e=t.widthNative,r=t.heightNative);var o=e,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(o/a<Module.forcedAspectRatio?o=Math.round(a*Module.forcedAspectRatio):a=Math.round(o/Module.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===t.parentNode&&typeof screen<"u"){var n=Math.min(screen.width/o,screen.height/a);o=Math.round(o*n),a=Math.round(a*n)}Browser.resizeCanvas?(t.width!=o&&(t.width=o),t.height!=a&&(t.height=a),typeof t.style<"u"&&(t.style.removeProperty("width"),t.style.removeProperty("height"))):(t.width!=e&&(t.width=e),t.height!=r&&(t.height=r),typeof t.style<"u"&&(o!=e||a!=r?(t.style.setProperty("width",o+"px","important"),t.style.setProperty("height",a+"px","important")):(t.style.removeProperty("width"),t.style.removeProperty("height"))))},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var t=Browser.nextWgetRequestHandle;return Browser.nextWgetRequestHandle++,t}},SYSCALLS={varargs:0,get:function(t){SYSCALLS.varargs+=4;var e=HEAP32[SYSCALLS.varargs-4>>2];return e},getStr:function(){var t=Pointer_stringify(SYSCALLS.get());return t},get64:function(){var t=SYSCALLS.get(),e=SYSCALLS.get();return t>=0?assert(e===0):assert(e===-1),t},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(o){return(typeof FS>"u"||!(o instanceof FS.ErrnoError))&&abort(o),-o.errno}}function ___syscall54(t,e){SYSCALLS.varargs=e;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(t){var e=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr<X>"],[640,1,"std::unique_ptr<X>"],[5120,1,"std::vector<X>"],[6144,2,"std::array<X, Y>"],[9216,-1,"std::function<X (Y)>"]];function r(p,h,E,w,v,b){if(h==1){var C=w&896;(C==128||C==256||C==384)&&(p="X const")}var R;return b?R=E.replace("X",p).replace("Y",v):R=p.replace("X",E).replace("Y",v),R.replace(/([*&]) (?=[*&])/g,"$1")}function o(p,h,E,w,v){throw new Error(p+" type "+E.replace("X",h+"?")+(w?" with flag "+w:"")+" in "+v)}function a(p,h,E,w,v,b,C,R){b===void 0&&(b="X"),R===void 0&&(R=1);var L=E(p);if(L)return L;var _=w(p),V=_.placeholderFlag,re=e[V];C&&re&&(b=r(C[2],C[0],b,re[0],"?",!0));var oe;V==0&&(oe="Unbound"),V>=10&&(oe="Corrupt"),R>20&&(oe="Deeply nested"),oe&&o(oe,p,b,V,v||"?");var pe=_.paramList[0],he=a(pe,h,E,w,v,b,re,R+1),ve,ge={flags:re[0],id:p,name:"",paramList:[he]},le=[],Pe="?";switch(_.placeholderFlag){case 1:ve=he.spec;break;case 2:if((he.flags&15360)==1024&&he.spec.ptrSize==1){ge.flags=7168;break}case 3:case 6:case 5:ve=he.spec,he.flags&15360;break;case 8:Pe=""+_.paramList[1],ge.paramList.push(_.paramList[1]);break;case 9:for(var g=0,De=_.paramList[1];g<De.length;g++){var Ce=De[g],de=a(Ce,h,E,w,v,b,re,R+1);le.push(de.name),ge.paramList.push(de)}Pe=le.join(", ");break;default:break}if(ge.name=r(re[2],re[0],he.name,he.flags,Pe),ve){for(var ne=0,Z=Object.keys(ve);ne<Z.length;ne++){var me=Z[ne];ge[me]=ge[me]||ve[me]}ge.flags|=ve.flags}return n(h,ge)}function n(p,h){var E=h.flags,w=E&896,v=E&15360;return!h.name&&v==1024&&(h.ptrSize==1?h.name=(E&16?"":(E&8?"un":"")+"signed ")+"char":h.name=(E&8?"u":"")+(E&32?"float":"int")+(h.ptrSize*8+"_t")),h.ptrSize==8&&!(E&32)&&(v=64),v==2048&&(w==512||w==640?v=4096:w&&(v=3072)),p(v,h)}var u=function(){function p(h){this.id=h.id,this.name=h.name,this.flags=h.flags,this.spec=h}return p.prototype.toString=function(){return this.name},p}(),A={Type:u,getComplexType:a,makeType:n,structureList:e};return t.output=A,t.output||A}function __nbind_register_type(t,e){var r=_nbind.readAsciiString(e),o={flags:10240,id:t,name:r};_nbind.makeType(_nbind.constructType,o)}function __nbind_register_callback_signature(t,e){var r=_nbind.readTypeIdList(t,e),o=_nbind.callbackSignatureList.length;return _nbind.callbackSignatureList[o]=_nbind.makeJSCaller(r),o}function __extends(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);function o(){this.constructor=t}o.prototype=e.prototype,t.prototype=new o}function __nbind_register_class(t,e,r,o,a,n,u){var A=_nbind.readAsciiString(u),p=_nbind.readPolicyList(e),h=HEAPU32.subarray(t/4,t/4+2),E={flags:2048|(p.Value?2:0),id:h[0],name:A},w=_nbind.makeType(_nbind.constructType,E);w.ptrType=_nbind.getComplexType(h[1],_nbind.constructType,_nbind.getType,_nbind.queryType),w.destroy=_nbind.makeMethodCaller(w.ptrType,{boundID:E.id,flags:0,name:"destroy",num:0,ptr:n,title:w.name+".free",typeList:["void","uint32_t","uint32_t"]}),a&&(w.superIdList=Array.prototype.slice.call(HEAPU32.subarray(r/4,r/4+a)),w.upcastList=Array.prototype.slice.call(HEAPU32.subarray(o/4,o/4+a))),Module[w.name]=w.makeBound(p),_nbind.BindClass.list.push(w)}function _removeAccessorPrefix(t){var e=/^[Gg]et_?([A-Z]?([A-Z]?))/;return t.replace(e,function(r,o,a){return a?o:o.toLowerCase()})}function __nbind_register_function(t,e,r,o,a,n,u,A,p,h){var E=_nbind.getType(t),w=_nbind.readPolicyList(e),v=_nbind.readTypeIdList(r,o),b;if(u==5)b=[{direct:a,name:"__nbindConstructor",ptr:0,title:E.name+" constructor",typeList:["uint32_t"].concat(v.slice(1))},{direct:n,name:"__nbindValueConstructor",ptr:0,title:E.name+" value constructor",typeList:["void","uint32_t"].concat(v.slice(1))}];else{var C=_nbind.readAsciiString(A),R=(E.name&&E.name+".")+C;(u==3||u==4)&&(C=_removeAccessorPrefix(C)),b=[{boundID:t,direct:n,name:C,ptr:a,title:R,typeList:v}]}for(var L=0,_=b;L<_.length;L++){var V=_[L];V.signatureType=u,V.policyTbl=w,V.num=p,V.flags=h,E.addMethod(V)}}function _nbind_value(t,e){_nbind.typeNameTbl[t]||_nbind.throwError("Unknown value type "+t),Module.NBind.bind_value(t,e),_defineHidden(_nbind.typeNameTbl[t].proto.prototype.__nbindValueConstructor)(e.prototype,"__nbindValueConstructor")}Module._nbind_value=_nbind_value;function __nbind_get_value_object(t,e){var r=_nbind.popValue(t);if(!r.fromJS)throw new Error("Object "+r+" has no fromJS function");r.fromJS(function(){r.__nbindValueConstructor.apply(this,Array.prototype.concat.apply([e],arguments))})}function _emscripten_memcpy_big(t,e,r){return HEAPU8.set(HEAPU8.subarray(e,e+r),t),t}function __nbind_register_primitive(t,e,r){var o={flags:1024|r,id:t,ptrSize:e};_nbind.makeType(_nbind.constructType,o)}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___setErrNo(t){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=t),t}function _llvm_stacksave(){var t=_llvm_stacksave;return t.LLVM_SAVEDSTACKS||(t.LLVM_SAVEDSTACKS=[]),t.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),t.LLVM_SAVEDSTACKS.length-1}function ___syscall140(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),u=SYSCALLS.get(),A=a;return FS.llseek(r,A,u),HEAP32[n>>2]=r.position,r.getdents&&A===0&&u===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.get(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(E,w){var v=___syscall146.buffers[E];assert(v),w===0||w===10?((E===1?Module.print:Module.printErr)(UTF8ArrayToString(v,0)),v.length=0):v.push(w)});for(var u=0;u<a;u++){for(var A=HEAP32[o+u*8>>2],p=HEAP32[o+(u*8+4)>>2],h=0;h<p;h++)___syscall146.printChar(r,HEAPU8[A+h]);n+=p}return n}catch(E){return(typeof FS>"u"||!(E instanceof FS.ErrnoError))&&abort(E),-E.errno}}function __nbind_finish(){for(var t=0,e=_nbind.BindClass.list;t<e.length;t++){var r=e[t];r.finish()}}var ___dso_handle=STATICTOP;STATICTOP+=16,function(_nbind){var typeIdTbl={};_nbind.typeNameTbl={};var Pool=function(){function t(){}return t.lalloc=function(e){e=e+7&-8;var r=HEAPU32[t.usedPtr];if(e>t.pageSize/2||e>t.pageSize-r){var o=_nbind.typeNameTbl.NBind.proto;return o.lalloc(e)}else return HEAPU32[t.usedPtr]=r+e,t.rootPtr+r},t.lreset=function(e,r){var o=HEAPU32[t.pagePtr];if(o){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(e,r)}else HEAPU32[t.usedPtr]=e},t}();_nbind.Pool=Pool;function constructType(t,e){var r=t==10240?_nbind.makeTypeNameTbl[e.name]||_nbind.BindType:_nbind.makeTypeKindTbl[t],o=new r(e);return typeIdTbl[e.id]=o,_nbind.typeNameTbl[e.name]=o,o}_nbind.constructType=constructType;function getType(t){return typeIdTbl[t]}_nbind.getType=getType;function queryType(t){var e=HEAPU8[t],r=_nbind.structureList[e][1];t/=4,r<0&&(++t,r=HEAPU32[t]+1);var o=Array.prototype.slice.call(HEAPU32.subarray(t+1,t+1+r));return e==9&&(o=[o[0],o.slice(1)]),{paramList:o,placeholderFlag:e}}_nbind.queryType=queryType;function getTypes(t,e){return t.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,e):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(t,e){return Array.prototype.slice.call(HEAPU32,t/4,t/4+e)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(t){for(var e=t;HEAPU8[e++];);return String.fromCharCode.apply("",HEAPU8.subarray(t,e-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(t){var e={};if(t)for(;;){var r=HEAPU32[t/4];if(!r)break;e[readAsciiString(r)]=!0,t+=4}return e}_nbind.readPolicyList=readPolicyList;function getDynCall(t,e){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},o=t.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+o];if(!a)throw new Error("dynCall_"+o+" not found for "+e+"("+t.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(t,e,r,o){var a=t[e];t.hasOwnProperty(e)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),t[e]=a),a.addMethod(r,o)):(r.arity=o,t[e]=r)}_nbind.addMethod=addMethod;function throwError(t){throw new Error(t)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return e.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},e.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},e}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return o.heap=a[r.ptrSize*8],o.ptrSize=r.ptrSize,o}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},e}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(t,e){if(t==null){if(e&&e.Nullable)return 0;throw new Error("Type mismatch")}if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t)+1,o=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(t,HEAPU8,o,r),o}_nbind.pushCString=pushCString;function popCString(t){return t===0?null:Module.Pointer_stringify(t)}_nbind.popCString=popCString;var CStringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushCString(a,o)}},e}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=function(o){return!!o},r}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireRead=function(r){return"!!("+r+")"},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},e}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function t(){}return t.prototype.persist=function(){this.__nbindState|=1},t}();_nbind.Wrapper=Wrapper;function makeBound(t,e){var r=function(o){__extends(a,o);function a(n,u,A,p){var h=o.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var E=u,w=A,v=p;if(n!==_nbind.ptrMarker){var b=h.__nbindConstructor.apply(h,arguments);E=4608,v=HEAPU32[b/4],w=HEAPU32[b/4+1]}var C={configurable:!0,enumerable:!1,value:null,writable:!1},R={__nbindFlags:E,__nbindPtr:w};v&&(R.__nbindShared=v,_nbind.mark(h));for(var L=0,_=Object.keys(R);L<_.length;L++){var V=_[L];C.value=R[V],Object.defineProperty(h,V,C)}return _defineHidden(0)(h,"__nbindState"),h}return a.prototype.free=function(){e.destroy.call(this,this.__nbindShared,this.__nbindFlags),this.__nbindState|=2,disableMember(this,"__nbindShared"),disableMember(this,"__nbindPtr")},a}(Wrapper);return __decorate([_defineHidden()],r.prototype,"__nbindConstructor",void 0),__decorate([_defineHidden()],r.prototype,"__nbindValueConstructor",void 0),__decorate([_defineHidden(t)],r.prototype,"__nbindPolicies",void 0),r}_nbind.makeBound=makeBound;function disableMember(t,e){function r(){throw new Error("Accessing deleted object")}Object.defineProperty(t,e,{configurable:!1,enumerable:!1,get:r,set:r})}_nbind.ptrMarker={};var BindClass=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;return o.wireRead=function(a){return _nbind.popValue(a,o.ptrType)},o.wireWrite=function(a){return pushPointer(a,o.ptrType,!0)},o.pendingSuperCount=0,o.ready=!1,o.methodTbl={},r.paramList?(o.classType=r.paramList[0].classType,o.proto=o.classType.proto):o.classType=o,o}return e.prototype.makeBound=function(r){var o=_nbind.makeBound(r,this);return this.proto=o,this.ptrType.proto=o,o},e.prototype.addMethod=function(r){var o=this.methodTbl[r.name]||[];o.push(r),this.methodTbl[r.name]=o},e.prototype.registerMethods=function(r,o){for(var a,n=0,u=Object.keys(r.methodTbl);n<u.length;n++)for(var A=u[n],p=r.methodTbl[A],h=0,E=p;h<E.length;h++){var w=E[h],v=void 0,b=void 0;if(v=this.proto.prototype,!(o&&w.signatureType!=1))switch(w.signatureType){case 1:v=this.proto;case 5:b=_nbind.makeCaller(w),_nbind.addMethod(v,w.name,b,w.typeList.length-1);break;case 4:a=_nbind.makeMethodCaller(r.ptrType,w);break;case 3:Object.defineProperty(v,w.name,{configurable:!0,enumerable:!1,get:_nbind.makeMethodCaller(r.ptrType,w),set:a});break;case 2:b=_nbind.makeMethodCaller(r.ptrType,w),_nbind.addMethod(v,w.name,b,w.typeList.length-1);break;default:break}}},e.prototype.registerSuperMethods=function(r,o,a){if(!a[r.name]){a[r.name]=!0;for(var n=0,u,A=0,p=r.superIdList||[];A<p.length;A++){var h=p[A],E=_nbind.getType(h);n++<o||o<0?u=-1:u=0,this.registerSuperMethods(E,u,a)}this.registerMethods(r,o<0)}},e.prototype.finish=function(){if(this.ready)return this;this.ready=!0,this.superList=(this.superIdList||[]).map(function(a){return _nbind.getType(a).finish()});var r=this.proto;if(this.superList.length){var o=function(){this.constructor=r};o.prototype=this.superList[0].proto.prototype,r.prototype=new o}return r!=Module&&(r.prototype.__nbindType=this),this.registerSuperMethods(this,1,{}),this},e.prototype.upcastStep=function(r,o){if(r==this)return o;for(var a=0;a<this.superList.length;++a){var n=this.superList[a].upcastStep(r,_nbind.callUpcast(this.upcastList[a],o));if(n)return n}return 0},e}(_nbind.BindType);BindClass.list=[],_nbind.BindClass=BindClass;function popPointer(t,e){return t?new e.proto(_nbind.ptrMarker,e.flags,t):null}_nbind.popPointer=popPointer;function pushPointer(t,e,r){if(!(t instanceof _nbind.Wrapper)){if(r)return _nbind.pushValue(t);throw new Error("Type mismatch")}var o=t.__nbindPtr,a=t.__nbindType.classType,n=e.classType;if(t instanceof e.proto)for(;a!=n;)o=_nbind.callUpcast(a.upcastList[0],o),a=a.superList[0];else if(o=a.upcastStep(n,o),!o)throw new Error("Type mismatch");return o}_nbind.pushPointer=pushPointer;function pushMutablePointer(t,e){var r=pushPointer(t,e);if(t.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return r}var BindClassPtr=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=(o.flags&896)==256&&r.flags&2,u=a?pushPointer:pushMutablePointer,A=n?_nbind.popValue:popPointer;return o.makeWireWrite=function(p,h){return h.Nullable?function(E){return E?u(E,o):0}:function(E){return u(E,o)}},o.wireRead=function(p){return A(p,o)},o.wireWrite=function(p){return u(p,o)},o}return e}(_nbind.BindType);_nbind.BindClassPtr=BindClassPtr;function popShared(t,e){var r=HEAPU32[t/4],o=HEAPU32[t/4+1];return o?new e.proto(_nbind.ptrMarker,e.flags,o,r):null}_nbind.popShared=popShared;function pushShared(t,e){if(!(t instanceof e.proto))throw new Error("Type mismatch");return t.__nbindShared}function pushMutableShared(t,e){if(!(t instanceof e.proto))throw new Error("Type mismatch");if(t.__nbindFlags&1)throw new Error("Passing a const value as a non-const argument");return t.__nbindShared}var SharedClassPtr=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;o.readResources=[_nbind.resources.pool],o.classType=r.paramList[0].classType,o.proto=o.classType.proto;var a=r.flags&1,n=a?pushShared:pushMutableShared;return o.wireRead=function(u){return popShared(u,o)},o.wireWrite=function(u){return n(u,o)},o}return e}(_nbind.BindType);_nbind.SharedClassPtr=SharedClassPtr,_nbind.externalList=[0];var firstFreeExternal=0,External=function(){function t(e){this.refCount=1,this.data=e}return t.prototype.register=function(){var e=firstFreeExternal;return e?firstFreeExternal=_nbind.externalList[e]:e=_nbind.externalList.length,_nbind.externalList[e]=this,e},t.prototype.reference=function(){++this.refCount},t.prototype.dereference=function(e){--this.refCount==0&&(this.free&&this.free(),_nbind.externalList[e]=firstFreeExternal,firstFreeExternal=e)},t}();_nbind.External=External;function popExternal(t){var e=_nbind.externalList[t];return e.dereference(t),e.data}function pushExternal(t){var e=new External(t);return e.reference(),e.register()}var ExternalType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popExternal,r.wireWrite=pushExternal,r}return e}(_nbind.BindType);_nbind.ExternalType=ExternalType,_nbind.callbackSignatureList=[];var CallbackType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=function(o){return typeof o!="function"&&_nbind.throwError("Type mismatch"),new _nbind.External(o).register()},r}return e}(_nbind.BindType);_nbind.CallbackType=CallbackType,_nbind.valueList=[0];var firstFreeValue=0;function pushValue(t){var e=firstFreeValue;return e?firstFreeValue=_nbind.valueList[e]:e=_nbind.valueList.length,_nbind.valueList[e]=t,e*2+1}_nbind.pushValue=pushValue;function popValue(t,e){if(t||_nbind.throwError("Value type JavaScript class is missing or not registered"),t&1){t>>=1;var r=_nbind.valueList[t];return _nbind.valueList[t]=firstFreeValue,firstFreeValue=t,r}else{if(e)return _nbind.popShared(t,e);throw new Error("Invalid value slot "+t)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(t){return typeof t=="number"?t:pushValue(t)*4096+valueBase}function pop64(t){return t<valueBase?t:popValue((t-valueBase)/4096)}var CreateValueType=function(t){__extends(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.makeWireWrite=function(r){return"(_nbind.pushValue(new "+r+"))"},e}(_nbind.BindType);_nbind.CreateValueType=CreateValueType;var Int64Type=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=push64,r.wireRead=pop64,r}return e}(_nbind.BindType);_nbind.Int64Type=Int64Type;function pushArray(t,e){if(!t)return 0;var r=t.length;if((e.size||e.size===0)&&r<e.size)throw new Error("Type mismatch");var o=e.memberType.ptrSize,a=_nbind.Pool.lalloc(4+r*o);HEAPU32[a/4]=r;var n=e.memberType.heap,u=(a+4)/o,A=e.memberType.wireWrite,p=0;if(A)for(;p<r;)n[u++]=A(t[p++]);else for(;p<r;)n[u++]=t[p++];return a}_nbind.pushArray=pushArray;function popArray(t,e){if(t===0)return null;var r=HEAPU32[t/4],o=new Array(r),a=e.memberType.heap;t=(t+4)/e.memberType.ptrSize;var n=e.memberType.wireRead,u=0;if(n)for(;u<r;)o[u++]=n(a[t++]);else for(;u<r;)o[u++]=a[t++];return o}_nbind.popArray=popArray;var ArrayType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this;return o.wireRead=function(a){return popArray(a,o)},o.wireWrite=function(a){return pushArray(a,o)},o.readResources=[_nbind.resources.pool],o.writeResources=[_nbind.resources.pool],o.memberType=r.paramList[0],r.paramList[1]&&(o.size=r.paramList[1]),o}return e}(_nbind.BindType);_nbind.ArrayType=ArrayType;function pushString(t,e){if(t==null)if(e&&e.Nullable)t="";else throw new Error("Type mismatch");if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t),o=_nbind.Pool.lalloc(4+r+1);return HEAPU32[o/4]=r,Module.stringToUTF8Array(t,HEAPU8,o+4,r+1),o}_nbind.pushString=pushString;function popString(t){if(t===0)return null;var e=HEAPU32[t/4];return Module.Pointer_stringify(t+4,e)}_nbind.popString=popString;var StringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popString,r.wireWrite=pushString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushString(a,o)}},e}(_nbind.BindType);_nbind.StringType=StringType;function makeArgList(t){return Array.apply(null,Array(t)).map(function(e,r){return"a"+(r+1)})}function anyNeedsWireWrite(t,e){return t.reduce(function(r,o){return r||o.needsWireWrite(e)},!1)}function anyNeedsWireRead(t,e){return t.reduce(function(r,o){return r||!!o.needsWireRead(e)},!1)}function makeWireRead(t,e,r,o){var a=t.length;return r.makeWireRead?r.makeWireRead(o,t,a):r.wireRead?(t[a]=r.wireRead,"(convertParamList["+a+"]("+o+"))"):o}function makeWireWrite(t,e,r,o){var a,n=t.length;return r.makeWireWrite?a=r.makeWireWrite(o,e,t,n):a=r.wireWrite,a?typeof a=="string"?a:(t[n]=a,"(convertParamList["+n+"]("+o+"))"):o}function buildCallerFunction(dynCall,ptrType,ptr,num,policyTbl,needsWireWrite,prefix,returnType,argTypeList,mask,err){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireRead(convertParamList,policyTbl,returnType,"dynCall("+[prefix].concat(argList.map(function(t,e){return makeWireWrite(convertParamList,policyTbl,argTypeList[e],t)})).join(",")+")"),resourceSet=_nbind.listResources([returnType],argTypeList),sourceCode="function("+argList.join(",")+"){"+(mask?"this.__nbindFlags&mask&&err();":"")+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}function buildJSCallerFunction(returnType,argTypeList){var argList=makeArgList(argTypeList.length),convertParamList=[],callExpression=makeWireWrite(convertParamList,null,returnType,"_nbind.externalList[num].data("+argList.map(function(t,e){return makeWireRead(convertParamList,null,argTypeList[e],t)}).join(",")+")"),resourceSet=_nbind.listResources(argTypeList,[returnType]);resourceSet.remove(_nbind.resources.pool);var sourceCode="function("+["dummy","num"].concat(argList).join(",")+"){"+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;}";return eval("("+sourceCode+")")}_nbind.buildJSCallerFunction=buildJSCallerFunction;function makeJSCaller(t){var e=t.length-1,r=_nbind.getTypes(t,"callback"),o=r[0],a=r.slice(1),n=anyNeedsWireRead(a,null),u=o.needsWireWrite(null);if(!u&&!n)switch(e){case 0:return function(A,p){return _nbind.externalList[p].data()};case 1:return function(A,p,h){return _nbind.externalList[p].data(h)};case 2:return function(A,p,h,E){return _nbind.externalList[p].data(h,E)};case 3:return function(A,p,h,E,w){return _nbind.externalList[p].data(h,E,w)};default:break}return buildJSCallerFunction(o,a)}_nbind.makeJSCaller=makeJSCaller;function makeMethodCaller(t,e){var r=e.typeList.length-1,o=e.typeList.slice(0);o.splice(1,0,"uint32_t",e.boundID);var a=_nbind.getTypes(o,e.title),n=a[0],u=a.slice(3),A=n.needsWireRead(e.policyTbl),p=anyNeedsWireWrite(u,e.policyTbl),h=e.ptr,E=e.num,w=_nbind.getDynCall(a,e.title),v=~e.flags&1;function b(){throw new Error("Calling a non-const method on a const object")}if(!A&&!p)switch(r){case 0:return function(){return this.__nbindFlags&v?b():w(h,E,_nbind.pushPointer(this,t))};case 1:return function(C){return this.__nbindFlags&v?b():w(h,E,_nbind.pushPointer(this,t),C)};case 2:return function(C,R){return this.__nbindFlags&v?b():w(h,E,_nbind.pushPointer(this,t),C,R)};case 3:return function(C,R,L){return this.__nbindFlags&v?b():w(h,E,_nbind.pushPointer(this,t),C,R,L)};default:break}return buildCallerFunction(w,t,h,E,e.policyTbl,p,"ptr,num,pushPointer(this,ptrType)",n,u,v,b)}_nbind.makeMethodCaller=makeMethodCaller;function makeCaller(t){var e=t.typeList.length-1,r=_nbind.getTypes(t.typeList,t.title),o=r[0],a=r.slice(1),n=o.needsWireRead(t.policyTbl),u=anyNeedsWireWrite(a,t.policyTbl),A=t.direct,p=t.ptr;if(t.direct&&!n&&!u){var h=_nbind.getDynCall(r,t.title);switch(e){case 0:return function(){return h(A)};case 1:return function(b){return h(A,b)};case 2:return function(b,C){return h(A,b,C)};case 3:return function(b,C,R){return h(A,b,C,R)};default:break}p=0}var E;if(p){var w=t.typeList.slice(0);w.splice(1,0,"uint32_t"),r=_nbind.getTypes(w,t.title),E="ptr,num"}else p=A,E="ptr";var v=_nbind.getDynCall(r,t.title);return buildCallerFunction(v,null,p,t.num,t.policyTbl,u,E,o,a)}_nbind.makeCaller=makeCaller;function makeOverloader(t,e){var r=[];function o(){return r[arguments.length].apply(this,arguments)}return o.addMethod=function(a,n){r[n]=a},o.addMethod(t,e),o}_nbind.makeOverloader=makeOverloader;var Resource=function(){function t(e,r){var o=this;this.makeOpen=function(){return Object.keys(o.openTbl).join("")},this.makeClose=function(){return Object.keys(o.closeTbl).join("")},this.openTbl={},this.closeTbl={},e&&(this.openTbl[e]=!0),r&&(this.closeTbl[r]=!0)}return t.prototype.add=function(e){for(var r=0,o=Object.keys(e.openTbl);r<o.length;r++){var a=o[r];this.openTbl[a]=!0}for(var n=0,u=Object.keys(e.closeTbl);n<u.length;n++){var a=u[n];this.closeTbl[a]=!0}},t.prototype.remove=function(e){for(var r=0,o=Object.keys(e.openTbl);r<o.length;r++){var a=o[r];delete this.openTbl[a]}for(var n=0,u=Object.keys(e.closeTbl);n<u.length;n++){var a=u[n];delete this.closeTbl[a]}},t}();_nbind.Resource=Resource;function listResources(t,e){for(var r=new Resource,o=0,a=t;o<a.length;o++)for(var n=a[o],u=0,A=n.readResources||[];u<A.length;u++){var p=A[u];r.add(p)}for(var h=0,E=e;h<E.length;h++)for(var n=E[h],w=0,v=n.writeResources||[];w<v.length;w++){var p=v[w];r.add(p)}return r}_nbind.listResources=listResources,_nbind.resources={pool:new Resource("var used=HEAPU32[_nbind.Pool.usedPtr],page=HEAPU32[_nbind.Pool.pagePtr];","_nbind.Pool.lreset(used,page);")};var ExternalBuffer=function(t){__extends(e,t);function e(r,o){var a=t.call(this,r)||this;return a.ptr=o,a}return e.prototype.free=function(){_free(this.ptr)},e}(_nbind.External);function getBuffer(t){return t instanceof ArrayBuffer?new Uint8Array(t):t instanceof DataView?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function pushBuffer(t,e){if(t==null&&e&&e.Nullable&&(t=[]),typeof t!="object")throw new Error("Type mismatch");var r=t,o=r.byteLength||r.length;if(!o&&o!==0&&r.byteLength!==0)throw new Error("Type mismatch");var a=_nbind.Pool.lalloc(8),n=_malloc(o),u=a/4;return HEAPU32[u++]=o,HEAPU32[u++]=n,HEAPU32[u++]=new ExternalBuffer(t,n).register(),HEAPU8.set(getBuffer(t),n),a}var BufferType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireWrite=pushBuffer,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushBuffer(a,o)}},e}(_nbind.BindType);_nbind.BufferType=BufferType;function commitBuffer(t,e,r){var o=_nbind.externalList[t].data,a=Buffer;if(typeof Buffer!="function"&&(a=function(){}),!(o instanceof Array)){var n=HEAPU8.subarray(e,e+r);if(o instanceof a){var u=void 0;typeof Buffer.from=="function"&&Buffer.from.length>=3?u=Buffer.from(n):u=new Buffer(n),u.copy(o)}else getBuffer(o).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var t=0,e=dirtyList;t<e.length;t++){var r=e[t];r.__nbindState&3||r.free()}dirtyList=[],gcTimer=0}_nbind.mark=function(t){};function toggleLightGC(t){t?_nbind.mark=function(e){dirtyList.push(e),gcTimer||(gcTimer=setTimeout(sweep,0))}:_nbind.mark=function(e){}}_nbind.toggleLightGC=toggleLightGC}(_nbind),Module.requestFullScreen=function t(e,r,o){Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."),Module.requestFullScreen=Module.requestFullscreen,Browser.requestFullScreen(e,r,o)},Module.requestFullscreen=function t(e,r,o){Browser.requestFullscreen(e,r,o)},Module.requestAnimationFrame=function t(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function t(e,r,o){Browser.setCanvasSize(e,r,o)},Module.pauseMainLoop=function t(){Browser.mainLoop.pause()},Module.resumeMainLoop=function t(){Browser.mainLoop.resume()},Module.getUserMedia=function t(){Browser.getUserMedia()},Module.createContext=function t(e,r,o,a){return Browser.createContext(e,r,o,a)},ENVIRONMENT_IS_NODE?_emscripten_get_now=function(){var e=process.hrtime();return e[0]*1e3+e[1]/1e6}:typeof dateNow<"u"?_emscripten_get_now=dateNow:typeof self=="object"&&self.performance&&typeof self.performance.now=="function"?_emscripten_get_now=function(){return self.performance.now()}:typeof performance=="object"&&typeof performance.now=="function"?_emscripten_get_now=function(){return performance.now()}:_emscripten_get_now=Date.now,__ATEXIT__.push(function(){var t=Module._fflush;t&&t(0);var e=___syscall146.printChar;if(!!e){var r=___syscall146.buffers;r[1].length&&e(1,10),r[2].length&&e(2,10)}}),DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX),HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(t,e,r,o,a,n){try{Module.dynCall_viiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_vif(t,e,r){try{Module.dynCall_vif(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_vid(t,e,r){try{Module.dynCall_vid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_fiff(t,e,r,o){try{return Module.dynCall_fiff(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(t,e){try{Module.dynCall_vi(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(t,e,r){try{Module.dynCall_vii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_ii(t,e){try{return Module.dynCall_ii(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(t,e,r,o,a){try{Module.dynCall_viddi(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(t,e,r,o){try{Module.dynCall_vidd(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(t,e,r,o){try{return Module.dynCall_iiii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(t,e,r,o){try{return Module.dynCall_diii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(t,e){try{return Module.dynCall_di(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(t,e,r){try{return Module.dynCall_iid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iii(t,e,r){try{return Module.dynCall_iii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiddi(t,e,r,o,a,n){try{Module.dynCall_viiddi(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiiiii(t,e,r,o,a,n,u){try{Module.dynCall_viiiiii(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(t,e,r){try{return Module.dynCall_dii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_i(t){try{return Module.dynCall_i(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_iiiiii(t,e,r,o,a,n){try{return Module.dynCall_iiiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiid(t,e,r,o,a){try{Module.dynCall_viiid(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(t,e,r,o,a,n,u){try{Module.dynCall_viififi(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(t,e,r,o){try{Module.dynCall_viii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(t){try{Module.dynCall_v(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_viid(t,e,r,o){try{Module.dynCall_viid(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(t,e,r){try{return Module.dynCall_idd(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiii(t,e,r,o,a){try{Module.dynCall_viiii(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(t,e,r){var o=new t.Int8Array(r),a=new t.Int16Array(r),n=new t.Int32Array(r),u=new t.Uint8Array(r),A=new t.Uint16Array(r),p=new t.Uint32Array(r),h=new t.Float32Array(r),E=new t.Float64Array(r),w=e.DYNAMICTOP_PTR|0,v=e.tempDoublePtr|0,b=e.ABORT|0,C=e.STACKTOP|0,R=e.STACK_MAX|0,L=e.cttz_i8|0,_=e.___dso_handle|0,V=0,re=0,oe=0,pe=0,he=t.NaN,ve=t.Infinity,ge=0,le=0,Pe=0,g=0,De=0,Ce=0,de=t.Math.floor,ne=t.Math.abs,Z=t.Math.sqrt,me=t.Math.pow,be=t.Math.cos,ut=t.Math.sin,H=t.Math.tan,yt=t.Math.acos,Me=t.Math.asin,Te=t.Math.atan,Qe=t.Math.atan2,_e=t.Math.exp,qe=t.Math.log,At=t.Math.ceil,Oe=t.Math.imul,x=t.Math.min,I=t.Math.max,P=t.Math.clz32,y=t.Math.fround,F=e.abort,J=e.assert,X=e.enlargeMemory,$=e.getTotalMemory,ie=e.abortOnCannotGrowMemory,ke=e.invoke_viiiii,Ne=e.invoke_vif,st=e.invoke_vid,ht=e.invoke_fiff,Ut=e.invoke_vi,Xt=e.invoke_vii,Pt=e.invoke_ii,tn=e.invoke_viddi,Dr=e.invoke_vidd,fr=e.invoke_iiii,Br=e.invoke_diii,jr=e.invoke_di,Hn=e.invoke_iid,bs=e.invoke_iii,ki=e.invoke_viiddi,gs=e.invoke_viiiiii,to=e.invoke_dii,Di=e.invoke_i,Qs=e.invoke_iiiiii,ro=e.invoke_viiid,pc=e.invoke_viififi,gu=e.invoke_viii,ap=e.invoke_v,lp=e.invoke_viid,ks=e.invoke_idd,En=e.invoke_viiii,no=e._emscripten_asm_const_iiiii,Fs=e._emscripten_asm_const_iiidddddd,Cl=e._emscripten_asm_const_iiiid,El=e.__nbind_reference_external,io=e._emscripten_asm_const_iiiiiiii,Ue=e._removeAccessorPrefix,Fn=e._typeModule,Fi=e.__nbind_register_pool,Rn=e.__decorate,Ui=e._llvm_stackrestore,Zt=e.___cxa_atexit,Ri=e.__extends,$n=e.__nbind_get_value_object,Ma=e.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,$t=e._emscripten_set_main_loop_timing,hc=e.__nbind_register_primitive,du=e.__nbind_register_type,gc=e._emscripten_memcpy_big,Il=e.__nbind_register_function,PA=e.___setErrNo,mu=e.__nbind_register_class,Ee=e.__nbind_finish,Rt=e._abort,dc=e._nbind_value,_i=e._llvm_stacksave,yu=e.___syscall54,qt=e._defineHidden,wl=e._emscripten_set_main_loop,xA=e._emscripten_get_now,cp=e.__nbind_register_callback_signature,mc=e._emscripten_asm_const_iiiiii,bA=e.__nbind_free_external,Dn=e._emscripten_asm_const_iiii,ui=e._emscripten_asm_const_iiididi,yc=e.___syscall6,QA=e._atexit,ra=e.___syscall140,Hi=e.___syscall146,Oo=y(0);let $e=y(0);function so(s){s=s|0;var l=0;return l=C,C=C+s|0,C=C+15&-16,l|0}function Bl(){return C|0}function Cu(s){s=s|0,C=s}function qi(s,l){s=s|0,l=l|0,C=s,R=l}function Eu(s,l){s=s|0,l=l|0,V||(V=s,re=l)}function kA(s){s=s|0,Ce=s}function Ua(){return Ce|0}function Cc(){var s=0,l=0;Er(8104,8,400)|0,Er(8504,408,540)|0,s=9044,l=s+44|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o[9088]=0,o[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,Zt(17,8104,_|0)|0}function ds(s){s=s|0,Be(s+948|0)}function Ot(s){return s=y(s),((bu(s)|0)&2147483647)>>>0>2139095040|0}function Sn(s,l,c){s=s|0,l=l|0,c=c|0;e:do if(n[s+(l<<3)+4>>2]|0)s=s+(l<<3)|0;else{if((l|2|0)==3&&n[s+60>>2]|0){s=s+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[s+52>>2]|0){s=s+48|0;break e}break}default:}if(n[s+68>>2]|0){s=s+64|0;break}else{s=(l|1|0)==5?948:c;break}}while(0);return s|0}function di(s){s=s|0;var l=0;return l=$v(1e3)|0,na(s,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,Er(l|0,8104,1e3)|0,o[s+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=s,l|0}function na(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,gg(s,5,3197,f)),C=d}function oo(){return di(956)|0}function Rs(s){s=s|0;var l=0;return l=Gt(1e3)|0,ia(l,s),na(n[s+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function ia(s,l){s=s|0,l=l|0;var c=0;Er(s|0,l|0,948)|0,Nm(s+948|0,l+948|0),c=s+960|0,s=l+960|0,l=c+40|0;do n[c>>2]=n[s>>2],c=c+4|0,s=s+4|0;while((c|0)<(l|0))}function sa(s){s=s|0;var l=0,c=0,f=0,d=0;if(l=s+944|0,c=n[l>>2]|0,c|0&&(Mo(c+948|0,s)|0,n[l>>2]=0),c=Zi(s)|0,c|0){l=0;do n[(Ts(s,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(c|0))}c=s+948|0,f=n[c>>2]|0,d=s+952|0,l=n[d>>2]|0,(l|0)!=(f|0)&&(n[d>>2]=l+(~((l+-4-f|0)>>>2)<<2)),Ns(c),eD(s),n[2276]=(n[2276]|0)+-1}function Mo(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0;f=n[s>>2]|0,Q=s+4|0,c=n[Q>>2]|0,m=c;e:do if((f|0)==(c|0))d=f,B=4;else for(s=f;;){if((n[s>>2]|0)==(l|0)){d=s,B=4;break e}if(s=s+4|0,(s|0)==(c|0)){s=0;break}}while(0);return(B|0)==4&&((d|0)!=(c|0)?(f=d+4|0,s=m-f|0,l=s>>2,l&&(bI(d|0,f|0,s|0)|0,c=n[Q>>2]|0),s=d+(l<<2)|0,(c|0)==(s|0)||(n[Q>>2]=c+(~((c+-4-s|0)>>>2)<<2)),s=1):s=0),s|0}function Zi(s){return s=s|0,(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2|0}function Ts(s,l){s=s|0,l=l|0;var c=0;return c=n[s+948>>2]|0,(n[s+952>>2]|0)-c>>2>>>0>l>>>0?s=n[c+(l<<2)>>2]|0:s=0,s|0}function Ns(s){s=s|0;var l=0,c=0,f=0,d=0;f=C,C=C+32|0,l=f,d=n[s>>2]|0,c=(n[s+4>>2]|0)-d|0,((n[s+8>>2]|0)-d|0)>>>0>c>>>0&&(d=c>>2,Ep(l,d,d,s+8|0),Cg(s,l),_A(l)),C=f}function Ls(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;M=Zi(s)|0;do if(M|0){if((n[(Ts(s,0)|0)+944>>2]|0)==(s|0)){if(!(Mo(s+948|0,l)|0))break;Er(l+400|0,8504,540)|0,n[l+944>>2]=0,je(s);break}B=n[(n[s+976>>2]|0)+12>>2]|0,Q=s+948|0,k=(B|0)==0,c=0,m=0;do f=n[(n[Q>>2]|0)+(m<<2)>>2]|0,(f|0)==(l|0)?je(s):(d=Rs(f)|0,n[(n[Q>>2]|0)+(c<<2)>>2]=d,n[d+944>>2]=s,k||PR[B&15](f,d,s,c),c=c+1|0),m=m+1|0;while((m|0)!=(M|0));if(c>>>0<M>>>0){k=s+948|0,Q=s+952|0,B=c,c=n[Q>>2]|0;do m=(n[k>>2]|0)+(B<<2)|0,f=m+4|0,d=c-f|0,l=d>>2,l&&(bI(m|0,f|0,d|0)|0,c=n[Q>>2]|0),d=c,f=m+(l<<2)|0,(d|0)!=(f|0)&&(c=d+(~((d+-4-f|0)>>>2)<<2)|0,n[Q>>2]=c),B=B+1|0;while((B|0)!=(M|0))}}while(0)}function ao(s){s=s|0;var l=0,c=0,f=0,d=0;Yn(s,(Zi(s)|0)==0,2491),Yn(s,(n[s+944>>2]|0)==0,2545),l=s+948|0,c=n[l>>2]|0,f=s+952|0,d=n[f>>2]|0,(d|0)!=(c|0)&&(n[f>>2]=d+(~((d+-4-c|0)>>>2)<<2)),Ns(l),l=s+976|0,c=n[l>>2]|0,Er(s|0,8104,1e3)|0,o[c+2>>0]|0&&(n[s+4>>2]=2,n[s+12>>2]=4),n[l>>2]=c}function Yn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,co(s,5,3197,f)),C=d}function qn(){return n[2276]|0}function $i(){var s=0;return s=$v(20)|0,es((s|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[s>>2]=n[239],n[s+4>>2]=n[240],n[s+8>>2]=n[241],n[s+12>>2]=n[242],n[s+16>>2]=n[243],s|0}function es(s,l){s=s|0,l=l|0;var c=0,f=0;f=C,C=C+16|0,c=f,s||(n[c>>2]=l,co(0,5,3197,c)),C=f}function mi(s){s=s|0,eD(s),n[2277]=(n[2277]|0)+-1}function Ha(s,l){s=s|0,l=l|0;var c=0;l?(Yn(s,(Zi(s)|0)==0,2629),c=1):(c=0,l=0),n[s+964>>2]=l,n[s+988>>2]=c}function oa(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+8|0,d=f+4|0,B=f,n[d>>2]=l,Yn(s,(n[l+944>>2]|0)==0,2709),Yn(s,(n[s+964>>2]|0)==0,2763),ee(s),l=s+948|0,n[B>>2]=(n[l>>2]|0)+(c<<2),n[m>>2]=n[B>>2],we(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=s,je(s),C=f}function ee(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;if(c=Zi(s)|0,c|0&&(n[(Ts(s,0)|0)+944>>2]|0)!=(s|0)){f=n[(n[s+976>>2]|0)+12>>2]|0,d=s+948|0,m=(f|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,Q=Rs(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=Q,n[Q+944>>2]=s,m||PR[f&15](B,Q,s,l),l=l+1|0;while((l|0)!=(c|0))}}function we(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0;et=C,C=C+64|0,j=et+52|0,Q=et+48|0,se=et+28|0,We=et+24|0,Le=et+20|0,Re=et,f=n[s>>2]|0,m=f,l=f+((n[l>>2]|0)-m>>2<<2)|0,f=s+4|0,d=n[f>>2]|0,B=s+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[c>>2],n[f>>2]=(n[f>>2]|0)+4;break}HA(s,l,d,l+4|0),l>>>0<=c>>>0&&(c=(n[f>>2]|0)>>>0>c>>>0?c+4|0:c),n[l>>2]=n[c>>2]}else{f=(d-m>>2)+1|0,d=N(s)|0,d>>>0<f>>>0&&Vr(s),O=n[s>>2]|0,M=(n[B>>2]|0)-O|0,m=M>>1,Ep(Re,M>>2>>>0<d>>>1>>>0?m>>>0<f>>>0?f:m:d,l-O>>2,s+8|0),O=Re+8|0,f=n[O>>2]|0,m=Re+12|0,M=n[m>>2]|0,B=M,k=f;do if((f|0)==(M|0)){if(M=Re+4|0,f=n[M>>2]|0,Ze=n[Re>>2]|0,d=Ze,f>>>0<=Ze>>>0){f=B-d>>1,f=(f|0)==0?1:f,Ep(se,f,f>>>2,n[Re+16>>2]|0),n[We>>2]=n[M>>2],n[Le>>2]=n[O>>2],n[Q>>2]=n[We>>2],n[j>>2]=n[Le>>2],dI(se,Q,j),f=n[Re>>2]|0,n[Re>>2]=n[se>>2],n[se>>2]=f,f=se+4|0,Ze=n[M>>2]|0,n[M>>2]=n[f>>2],n[f>>2]=Ze,f=se+8|0,Ze=n[O>>2]|0,n[O>>2]=n[f>>2],n[f>>2]=Ze,f=se+12|0,Ze=n[m>>2]|0,n[m>>2]=n[f>>2],n[f>>2]=Ze,_A(se),f=n[O>>2]|0;break}m=f,B=((m-d>>2)+1|0)/-2|0,Q=f+(B<<2)|0,d=k-m|0,m=d>>2,m&&(bI(Q|0,f|0,d|0)|0,f=n[M>>2]|0),Ze=Q+(m<<2)|0,n[O>>2]=Ze,n[M>>2]=f+(B<<2),f=Ze}while(0);n[f>>2]=n[c>>2],n[O>>2]=(n[O>>2]|0)+4,l=Eg(s,Re,l)|0,_A(Re)}while(0);return C=et,l|0}function je(s){s=s|0;var l=0;do{if(l=s+984|0,o[l>>0]|0)break;o[l>>0]=1,h[s+504>>2]=y(he),s=n[s+944>>2]|0}while((s|0)!=0)}function Be(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function xe(s){return s=s|0,n[s+944>>2]|0}function Ve(s){s=s|0,Yn(s,(n[s+964>>2]|0)!=0,2832),je(s)}function vt(s){return s=s|0,(o[s+984>>0]|0)!=0|0}function tr(s,l){s=s|0,l=l|0,ZUe(s,l,400)|0&&(Er(s|0,l|0,400)|0,je(s))}function Zr(s){s=s|0;var l=$e;return l=y(h[s+44>>2]),s=Ot(l)|0,y(s?y(0):l)}function Tn(s){s=s|0;var l=$e;return l=y(h[s+48>>2]),Ot(l)|0&&(l=o[(n[s+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function _r(s,l){s=s|0,l=l|0,n[s+980>>2]=l}function ei(s){return s=s|0,n[s+980>>2]|0}function Ti(s,l){s=s|0,l=l|0;var c=0;c=s+4|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function Kn(s){return s=s|0,n[s+4>>2]|0}function qa(s,l){s=s|0,l=l|0;var c=0;c=s+8|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function aa(s){return s=s|0,n[s+8>>2]|0}function yi(s,l){s=s|0,l=l|0;var c=0;c=s+12|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function la(s){return s=s|0,n[s+12>>2]|0}function ja(s,l){s=s|0,l=l|0;var c=0;c=s+16|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function lo(s){return s=s|0,n[s+16>>2]|0}function FA(s,l){s=s|0,l=l|0;var c=0;c=s+20|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function Ec(s){return s=s|0,n[s+20>>2]|0}function ca(s,l){s=s|0,l=l|0;var c=0;c=s+24|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function rg(s){return s=s|0,n[s+24>>2]|0}function Ic(s,l){s=s|0,l=l|0;var c=0;c=s+28|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function bm(s){return s=s|0,n[s+28>>2]|0}function ng(s,l){s=s|0,l=l|0;var c=0;c=s+32|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function Vn(s){return s=s|0,n[s+32>>2]|0}function up(s,l){s=s|0,l=l|0;var c=0;c=s+36|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,je(s))}function ig(s){return s=s|0,n[s+36>>2]|0}function RA(s,l){s=s|0,l=y(l);var c=0;c=s+40|0,y(h[c>>2])!=l&&(h[c>>2]=l,je(s))}function Os(s,l){s=s|0,l=y(l);var c=0;c=s+44|0,y(h[c>>2])!=l&&(h[c>>2]=l,je(s))}function Iu(s,l){s=s|0,l=y(l);var c=0;c=s+48|0,y(h[c>>2])!=l&&(h[c>>2]=l,je(s))}function Ga(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+52|0,d=s+56|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function ji(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+52|0,c=s+56|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,je(s))}function ua(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+52|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function wu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function ms(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function wc(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+132+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Bc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function G(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function Dt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+60+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function vl(s,l){s=s|0,l=l|0;var c=0;c=s+60+(l<<3)+4|0,(n[c>>2]|0)!=3&&(h[s+60+(l<<3)>>2]=y(he),n[c>>2]=3,je(s))}function Si(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function vc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=m?0:2,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function lt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+204+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Bu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ot(c)|0,f=(m^1)&1,d=s+276+(l<<3)|0,l=s+276+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,je(s))}function sg(s,l){return s=s|0,l=l|0,y(h[s+276+(l<<3)>>2])}function cI(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+348|0,d=s+352|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function TA(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+348|0,c=s+352|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,je(s))}function Ap(s){s=s|0;var l=0;l=s+352|0,(n[l>>2]|0)!=3&&(h[s+348>>2]=y(he),n[l>>2]=3,je(s))}function yr(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+348|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function ys(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+356|0,d=s+360|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function og(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+356|0,c=s+360|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ot(l)|0,n[c>>2]=f?3:2,je(s))}function ag(s){s=s|0;var l=0;l=s+360|0,(n[l>>2]|0)!=3&&(h[s+356>>2]=y(he),n[l>>2]=3,je(s))}function lg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+356|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function fp(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function Dc(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function mt(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+364|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Qm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function cg(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function ug(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+372|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function vu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function km(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function Ag(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+380|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Du(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=(m^1)&1,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function uI(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ot(l)|0,c=m?0:2,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,je(s))}function Fm(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+388|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Aa(s,l){s=s|0,l=y(l);var c=0;c=s+396|0,y(h[c>>2])!=l&&(h[c>>2]=l,je(s))}function Sc(s){return s=s|0,y(h[s+396>>2])}function Dl(s){return s=s|0,y(h[s+400>>2])}function Su(s){return s=s|0,y(h[s+404>>2])}function fg(s){return s=s|0,y(h[s+408>>2])}function NA(s){return s=s|0,y(h[s+412>>2])}function pp(s){return s=s|0,y(h[s+416>>2])}function Wa(s){return s=s|0,y(h[s+420>>2])}function pg(s,l){switch(s=s|0,l=l|0,Yn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+424+(l<<2)>>2])}function hp(s,l){switch(s=s|0,l=l|0,Yn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+448+(l<<2)>>2])}function Uo(s,l){switch(s=s|0,l=l|0,Yn(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+472+(l<<2)>>2])}function Cs(s,l){s=s|0,l=l|0;var c=0,f=$e;return c=n[s+4>>2]|0,(c|0)==(n[l+4>>2]|0)?c?(f=y(h[s>>2]),s=y(ne(y(f-y(h[l>>2]))))<y(999999974e-13)):s=1:s=0,s|0}function Ci(s,l){s=y(s),l=y(l);var c=0;return Ot(s)|0?c=Ot(l)|0:c=y(ne(y(s-l)))<y(999999974e-13),c|0}function Rm(s,l){s=s|0,l=l|0,Tm(s,l)}function Tm(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c+4|0,n[f>>2]=0,n[f+4>>2]=0,n[f+8>>2]=0,Ma(f|0,s|0,l|0,0),co(s,3,(o[f+11>>0]|0)<0?n[f>>2]|0:f,c),I3e(f),C=c}function _o(s,l,c,f){s=y(s),l=y(l),c=c|0,f=f|0;var d=$e;s=y(s*l),d=y(IR(s,y(1)));do if(Ci(d,y(0))|0)s=y(s-d);else{if(s=y(s-d),Ci(d,y(1))|0){s=y(s+y(1));break}if(c){s=y(s+y(1));break}f||(d>y(.5)?d=y(1):(f=Ci(d,y(.5))|0,d=y(f?1:0)),s=y(s+d))}while(0);return y(s/l)}function LA(s,l,c,f,d,m,B,Q,k,M,O,j,se){s=s|0,l=y(l),c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,Q=y(Q),k=y(k),M=y(M),O=y(O),j=y(j),se=se|0;var We=0,Le=$e,Re=$e,et=$e,Ze=$e,at=$e,He=$e;return k<y(0)|M<y(0)?se=0:((se|0)!=0&&(Le=y(h[se+4>>2]),Le!=y(0))?(et=y(_o(l,Le,0,0)),Ze=y(_o(f,Le,0,0)),Re=y(_o(m,Le,0,0)),Le=y(_o(Q,Le,0,0))):(Re=m,et=l,Le=Q,Ze=f),(d|0)==(s|0)?We=Ci(Re,et)|0:We=0,(B|0)==(c|0)?se=Ci(Le,Ze)|0:se=0,!We&&(at=y(l-O),!(gp(s,at,k)|0))&&!(dp(s,at,d,k)|0)?We=hg(s,at,d,m,k)|0:We=1,!se&&(He=y(f-j),!(gp(c,He,M)|0))&&!(dp(c,He,B,M)|0)?se=hg(c,He,B,Q,M)|0:se=1,se=We&se),se|0}function gp(s,l,c){return s=s|0,l=y(l),c=y(c),(s|0)==1?s=Ci(l,c)|0:s=0,s|0}function dp(s,l,c,f){return s=s|0,l=y(l),c=c|0,f=y(f),(s|0)==2&(c|0)==0?l>=f?s=1:s=Ci(l,f)|0:s=0,s|0}function hg(s,l,c,f,d){return s=s|0,l=y(l),c=c|0,f=y(f),d=y(d),(s|0)==2&(c|0)==2&f>l?d<=l?s=1:s=Ci(l,d)|0:s=0,s|0}function fa(s,l,c,f,d,m,B,Q,k,M,O){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),k=k|0,M=M|0,O=O|0;var j=0,se=0,We=0,Le=0,Re=$e,et=$e,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Jt=0,Ir=0,Qr=0,rr=0,Bn=$e,po=$e,ho=$e,go=0,ya=0;rr=C,C=C+160|0,Jt=rr+152|0,ir=rr+120|0,Rr=rr+104|0,He=rr+72|0,Le=rr+56|0,Tt=rr+8|0,at=rr,Ge=(n[2279]|0)+1|0,n[2279]=Ge,Ir=s+984|0,(o[Ir>>0]|0)!=0&&(n[s+512>>2]|0)!=(n[2278]|0)?Ze=4:(n[s+516>>2]|0)==(f|0)?Qr=0:Ze=4,(Ze|0)==4&&(n[s+520>>2]=0,n[s+924>>2]=-1,n[s+928>>2]=-1,h[s+932>>2]=y(-1),h[s+936>>2]=y(-1),Qr=1);e:do if(n[s+964>>2]|0)if(Re=y(rn(s,2,B)),et=y(rn(s,0,B)),j=s+916|0,ho=y(h[j>>2]),po=y(h[s+920>>2]),Bn=y(h[s+932>>2]),LA(d,l,m,c,n[s+924>>2]|0,ho,n[s+928>>2]|0,po,Bn,y(h[s+936>>2]),Re,et,O)|0)Ze=22;else if(We=n[s+520>>2]|0,!We)Ze=21;else for(se=0;;){if(j=s+524+(se*24|0)|0,Bn=y(h[j>>2]),po=y(h[s+524+(se*24|0)+4>>2]),ho=y(h[s+524+(se*24|0)+16>>2]),LA(d,l,m,c,n[s+524+(se*24|0)+8>>2]|0,Bn,n[s+524+(se*24|0)+12>>2]|0,po,ho,y(h[s+524+(se*24|0)+20>>2]),Re,et,O)|0){Ze=22;break e}if(se=se+1|0,se>>>0>=We>>>0){Ze=21;break}}else{if(k){if(j=s+916|0,!(Ci(y(h[j>>2]),l)|0)){Ze=21;break}if(!(Ci(y(h[s+920>>2]),c)|0)){Ze=21;break}if((n[s+924>>2]|0)!=(d|0)){Ze=21;break}j=(n[s+928>>2]|0)==(m|0)?j:0,Ze=22;break}if(We=n[s+520>>2]|0,!We)Ze=21;else for(se=0;;){if(j=s+524+(se*24|0)|0,Ci(y(h[j>>2]),l)|0&&Ci(y(h[s+524+(se*24|0)+4>>2]),c)|0&&(n[s+524+(se*24|0)+8>>2]|0)==(d|0)&&(n[s+524+(se*24|0)+12>>2]|0)==(m|0)){Ze=22;break e}if(se=se+1|0,se>>>0>=We>>>0){Ze=21;break}}}while(0);do if((Ze|0)==21)o[11697]|0?(j=0,Ze=28):(j=0,Ze=31);else if((Ze|0)==22){if(se=(o[11697]|0)!=0,!((j|0)!=0&(Qr^1)))if(se){Ze=28;break}else{Ze=31;break}Le=j+16|0,n[s+908>>2]=n[Le>>2],We=j+20|0,n[s+912>>2]=n[We>>2],(o[11698]|0)==0|se^1||(n[at>>2]=OA(Ge)|0,n[at+4>>2]=Ge,co(s,4,2972,at),se=n[s+972>>2]|0,se|0&&tf[se&127](s),d=Ya(d,k)|0,m=Ya(m,k)|0,ya=+y(h[Le>>2]),go=+y(h[We>>2]),n[Tt>>2]=d,n[Tt+4>>2]=m,E[Tt+8>>3]=+l,E[Tt+16>>3]=+c,E[Tt+24>>3]=ya,E[Tt+32>>3]=go,n[Tt+40>>2]=M,co(s,4,2989,Tt))}while(0);return(Ze|0)==28&&(se=OA(Ge)|0,n[Le>>2]=se,n[Le+4>>2]=Ge,n[Le+8>>2]=Qr?3047:11699,co(s,4,3038,Le),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Tt=Ya(d,k)|0,Ze=Ya(m,k)|0,n[He>>2]=Tt,n[He+4>>2]=Ze,E[He+8>>3]=+l,E[He+16>>3]=+c,n[He+24>>2]=M,co(s,4,3049,He),Ze=31),(Ze|0)==31&&(ti(s,l,c,f,d,m,B,Q,k,O),o[11697]|0&&(se=n[2279]|0,Tt=OA(se)|0,n[Rr>>2]=Tt,n[Rr+4>>2]=se,n[Rr+8>>2]=Qr?3047:11699,co(s,4,3083,Rr),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Tt=Ya(d,k)|0,Rr=Ya(m,k)|0,go=+y(h[s+908>>2]),ya=+y(h[s+912>>2]),n[ir>>2]=Tt,n[ir+4>>2]=Rr,E[ir+8>>3]=go,E[ir+16>>3]=ya,n[ir+24>>2]=M,co(s,4,3092,ir)),n[s+516>>2]=f,j||(se=s+520|0,j=n[se>>2]|0,(j|0)==16&&(o[11697]|0&&co(s,4,3124,Jt),n[se>>2]=0,j=0),k?j=s+916|0:(n[se>>2]=j+1,j=s+524+(j*24|0)|0),h[j>>2]=l,h[j+4>>2]=c,n[j+8>>2]=d,n[j+12>>2]=m,n[j+16>>2]=n[s+908>>2],n[j+20>>2]=n[s+912>>2],j=0)),k&&(n[s+416>>2]=n[s+908>>2],n[s+420>>2]=n[s+912>>2],o[s+985>>0]=1,o[Ir>>0]=0),n[2279]=(n[2279]|0)+-1,n[s+512>>2]=n[2278],C=rr,Qr|(j|0)==0|0}function rn(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(K(s,l,c)),y(f+y(te(s,l,c)))}function co(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=C,C=C+16|0,d=m,n[d>>2]=f,s?f=n[s+976>>2]|0:f=0,dg(f,s,l,c,d),C=m}function OA(s){return s=s|0,(s>>>0>60?3201:3201+(60-s)|0)|0}function Ya(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+32|0,c=d+12|0,f=d,n[c>>2]=n[254],n[c+4>>2]=n[255],n[c+8>>2]=n[256],n[f>>2]=n[257],n[f+4>>2]=n[258],n[f+8>>2]=n[259],(s|0)>2?s=11699:s=n[(l?f:c)+(s<<2)>>2]|0,C=d,s|0}function ti(s,l,c,f,d,m,B,Q,k,M){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),Q=y(Q),k=k|0,M=M|0;var O=0,j=0,se=0,We=0,Le=$e,Re=$e,et=$e,Ze=$e,at=$e,He=$e,Ge=$e,Tt=0,Rr=0,ir=0,Jt=$e,Ir=$e,Qr=0,rr=$e,Bn=0,po=0,ho=0,go=0,ya=0,Qp=0,kp=0,kl=0,Fp=0,Lu=0,Ou=0,Rp=0,Tp=0,Np=0,Jr=0,Fl=0,Lp=0,Fc=0,Op=$e,Mp=$e,Mu=$e,Uu=$e,Rc=$e,Us=0,$a=0,qo=0,Rl=0,nf=0,sf=$e,_u=$e,of=$e,af=$e,_s=$e,ws=$e,Tl=0,Pn=$e,lf=$e,mo=$e,Tc=$e,yo=$e,Nc=$e,cf=0,uf=0,Lc=$e,Hs=$e,Nl=0,Af=0,ff=0,pf=0,vr=$e,jn=0,Bs=0,Co=0,qs=0,Pr=0,lr=0,Ll=0,Wt=$e,hf=0,ii=0;Ll=C,C=C+16|0,Us=Ll+12|0,$a=Ll+8|0,qo=Ll+4|0,Rl=Ll,Yn(s,(d|0)==0|(Ot(l)|0)^1,3326),Yn(s,(m|0)==0|(Ot(c)|0)^1,3406),Bs=gt(s,f)|0,n[s+496>>2]=Bs,Pr=ur(2,Bs)|0,lr=ur(0,Bs)|0,h[s+440>>2]=y(K(s,Pr,B)),h[s+444>>2]=y(te(s,Pr,B)),h[s+428>>2]=y(K(s,lr,B)),h[s+436>>2]=y(te(s,lr,B)),h[s+464>>2]=y(gr(s,Pr)),h[s+468>>2]=y(hn(s,Pr)),h[s+452>>2]=y(gr(s,lr)),h[s+460>>2]=y(hn(s,lr)),h[s+488>>2]=y(ri(s,Pr,B)),h[s+492>>2]=y(Ni(s,Pr,B)),h[s+476>>2]=y(ri(s,lr,B)),h[s+484>>2]=y(Ni(s,lr,B));do if(n[s+964>>2]|0)yg(s,l,c,d,m,B,Q);else{if(Co=s+948|0,qs=(n[s+952>>2]|0)-(n[Co>>2]|0)>>2,!qs){Qv(s,l,c,d,m,B,Q);break}if(!k&&kv(s,l,c,d,m,B,Q)|0)break;ee(s),Fl=s+508|0,o[Fl>>0]=0,Pr=ur(n[s+4>>2]|0,Bs)|0,lr=fI(Pr,Bs)|0,jn=Ae(Pr)|0,Lp=n[s+8>>2]|0,Af=s+28|0,Fc=(n[Af>>2]|0)!=0,yo=jn?B:Q,Lc=jn?Q:B,Op=y(yp(s,Pr,B)),Mp=y(pI(s,Pr,B)),Le=y(yp(s,lr,B)),Nc=y(gn(s,Pr,B)),Hs=y(gn(s,lr,B)),ir=jn?d:m,Nl=jn?m:d,vr=jn?Nc:Hs,at=jn?Hs:Nc,Tc=y(rn(s,2,B)),Ze=y(rn(s,0,B)),Re=y(y(Hr(s+364|0,B))-vr),et=y(y(Hr(s+380|0,B))-vr),He=y(y(Hr(s+372|0,Q))-at),Ge=y(y(Hr(s+388|0,Q))-at),Mu=jn?Re:He,Uu=jn?et:Ge,Tc=y(l-Tc),l=y(Tc-vr),Ot(l)|0?vr=l:vr=y(Nn(y(Qg(l,et)),Re)),lf=y(c-Ze),l=y(lf-at),Ot(l)|0?mo=l:mo=y(Nn(y(Qg(l,Ge)),He)),Re=jn?vr:mo,Pn=jn?mo:vr;e:do if((ir|0)==1)for(f=0,j=0;;){if(O=Ts(s,j)|0,!f)y(rs(O))>y(0)&&y(Ms(O))>y(0)?f=O:f=0;else if(Lm(O)|0){We=0;break e}if(j=j+1|0,j>>>0>=qs>>>0){We=f;break}}else We=0;while(0);Tt=We+500|0,Rr=We+504|0,f=0,O=0,l=y(0),se=0;do{if(j=n[(n[Co>>2]|0)+(se<<2)>>2]|0,(n[j+36>>2]|0)==1)Pu(j),o[j+985>>0]=1,o[j+984>>0]=0;else{Sl(j),k&&mp(j,gt(j,Bs)|0,Re,Pn,vr);do if((n[j+24>>2]|0)!=1)if((j|0)==(We|0)){n[Tt>>2]=n[2278],h[Rr>>2]=y(0);break}else{Om(s,j,vr,d,mo,vr,mo,m,Bs,M);break}else O|0&&(n[O+960>>2]=j),n[j+960>>2]=0,O=j,f=(f|0)==0?j:f;while(0);ws=y(h[j+504>>2]),l=y(l+y(ws+y(rn(j,Pr,vr))))}se=se+1|0}while((se|0)!=(qs|0));for(ho=l>Re,Tl=Fc&((ir|0)==2&ho)?1:ir,Bn=(Nl|0)==1,ya=Bn&(k^1),Qp=(Tl|0)==1,kp=(Tl|0)==2,kl=976+(Pr<<2)|0,Fp=(Nl|2|0)==2,Np=Bn&(Fc^1),Lu=1040+(lr<<2)|0,Ou=1040+(Pr<<2)|0,Rp=976+(lr<<2)|0,Tp=(Nl|0)!=1,ho=Fc&((ir|0)!=0&ho),po=s+976|0,Bn=Bn^1,l=Re,Qr=0,go=0,ws=y(0),Rc=y(0);;){e:do if(Qr>>>0<qs>>>0)for(Rr=n[Co>>2]|0,se=0,Ge=y(0),He=y(0),et=y(0),Re=y(0),j=0,O=0,We=Qr;;){if(Tt=n[Rr+(We<<2)>>2]|0,(n[Tt+36>>2]|0)!=1&&(n[Tt+940>>2]=go,(n[Tt+24>>2]|0)!=1)){if(Ze=y(rn(Tt,Pr,vr)),Jr=n[kl>>2]|0,c=y(Hr(Tt+380+(Jr<<3)|0,yo)),at=y(h[Tt+504>>2]),c=y(Qg(c,at)),c=y(Nn(y(Hr(Tt+364+(Jr<<3)|0,yo)),c)),Fc&(se|0)!=0&y(Ze+y(He+c))>l){m=se,Ze=Ge,ir=We;break e}Ze=y(Ze+c),c=y(He+Ze),Ze=y(Ge+Ze),Lm(Tt)|0&&(et=y(et+y(rs(Tt))),Re=y(Re-y(at*y(Ms(Tt))))),O|0&&(n[O+960>>2]=Tt),n[Tt+960>>2]=0,se=se+1|0,O=Tt,j=(j|0)==0?Tt:j}else Ze=Ge,c=He;if(We=We+1|0,We>>>0<qs>>>0)Ge=Ze,He=c;else{m=se,ir=We;break}}else m=0,Ze=y(0),et=y(0),Re=y(0),j=0,ir=Qr;while(0);Jr=et>y(0)&et<y(1),Jt=Jr?y(1):et,Jr=Re>y(0)&Re<y(1),Ge=Jr?y(1):Re;do if(Qp)Jr=51;else if(Ze<Mu&((Ot(Mu)|0)^1))l=Mu,Jr=51;else if(Ze>Uu&((Ot(Uu)|0)^1))l=Uu,Jr=51;else if(o[(n[po>>2]|0)+3>>0]|0)Jr=51;else{if(Jt!=y(0)&&y(rs(s))!=y(0)){Jr=53;break}l=Ze,Jr=53}while(0);if((Jr|0)==51&&(Jr=0,Ot(l)|0?Jr=53:(Ir=y(l-Ze),rr=l)),(Jr|0)==53&&(Jr=0,Ze<y(0)?(Ir=y(-Ze),rr=l):(Ir=y(0),rr=l)),!ya&&(nf=(j|0)==0,!nf)){se=n[kl>>2]|0,We=Ir<y(0),at=y(Ir/Ge),Tt=Ir>y(0),He=y(Ir/Jt),et=y(0),Ze=y(0),l=y(0),O=j;do c=y(Hr(O+380+(se<<3)|0,yo)),Re=y(Hr(O+364+(se<<3)|0,yo)),Re=y(Qg(c,y(Nn(Re,y(h[O+504>>2]))))),We?(c=y(Re*y(Ms(O))),c!=y(-0)&&(Wt=y(Re-y(at*c)),sf=y(Ei(O,Pr,Wt,rr,vr)),Wt!=sf)&&(et=y(et-y(sf-Re)),l=y(l+c))):Tt&&(_u=y(rs(O)),_u!=y(0))&&(Wt=y(Re+y(He*_u)),of=y(Ei(O,Pr,Wt,rr,vr)),Wt!=of)&&(et=y(et-y(of-Re)),Ze=y(Ze-_u)),O=n[O+960>>2]|0;while((O|0)!=0);if(l=y(Ge+l),Re=y(Ir+et),nf)l=y(0);else{at=y(Jt+Ze),We=n[kl>>2]|0,Tt=Re<y(0),Rr=l==y(0),He=y(Re/l),se=Re>y(0),at=y(Re/at),l=y(0);do{Wt=y(Hr(j+380+(We<<3)|0,yo)),et=y(Hr(j+364+(We<<3)|0,yo)),et=y(Qg(Wt,y(Nn(et,y(h[j+504>>2]))))),Tt?(Wt=y(et*y(Ms(j))),Re=y(-Wt),Wt!=y(-0)?(Wt=y(He*Re),Re=y(Ei(j,Pr,y(et+(Rr?Re:Wt)),rr,vr))):Re=et):se&&(af=y(rs(j)),af!=y(0))?Re=y(Ei(j,Pr,y(et+y(at*af)),rr,vr)):Re=et,l=y(l-y(Re-et)),Ze=y(rn(j,Pr,vr)),c=y(rn(j,lr,vr)),Re=y(Re+Ze),h[$a>>2]=Re,n[Rl>>2]=1,et=y(h[j+396>>2]);e:do if(Ot(et)|0){O=Ot(Pn)|0;do if(!O){if(ho|(ts(j,lr,Pn)|0|Bn)||(ha(s,j)|0)!=4||(n[(Pl(j,lr)|0)+4>>2]|0)==3||(n[(bc(j,lr)|0)+4>>2]|0)==3)break;h[Us>>2]=Pn,n[qo>>2]=1;break e}while(0);if(ts(j,lr,Pn)|0){O=n[j+992+(n[Rp>>2]<<2)>>2]|0,Wt=y(c+y(Hr(O,Pn))),h[Us>>2]=Wt,O=Tp&(n[O+4>>2]|0)==2,n[qo>>2]=((Ot(Wt)|0|O)^1)&1;break}else{h[Us>>2]=Pn,n[qo>>2]=O?0:2;break}}else Wt=y(Re-Ze),Jt=y(Wt/et),Wt=y(et*Wt),n[qo>>2]=1,h[Us>>2]=y(c+(jn?Jt:Wt));while(0);pr(j,Pr,rr,vr,Rl,$a),pr(j,lr,Pn,vr,qo,Us);do if(!(ts(j,lr,Pn)|0)&&(ha(s,j)|0)==4){if((n[(Pl(j,lr)|0)+4>>2]|0)==3){O=0;break}O=(n[(bc(j,lr)|0)+4>>2]|0)!=3}else O=0;while(0);Wt=y(h[$a>>2]),Jt=y(h[Us>>2]),hf=n[Rl>>2]|0,ii=n[qo>>2]|0,fa(j,jn?Wt:Jt,jn?Jt:Wt,Bs,jn?hf:ii,jn?ii:hf,vr,mo,k&(O^1),3488,M)|0,o[Fl>>0]=o[Fl>>0]|o[j+508>>0],j=n[j+960>>2]|0}while((j|0)!=0)}}else l=y(0);if(l=y(Ir+l),ii=l<y(0)&1,o[Fl>>0]=ii|u[Fl>>0],kp&l>y(0)?(O=n[kl>>2]|0,(n[s+364+(O<<3)+4>>2]|0)!=0&&(_s=y(Hr(s+364+(O<<3)|0,yo)),_s>=y(0))?Re=y(Nn(y(0),y(_s-y(rr-l)))):Re=y(0)):Re=l,Tt=Qr>>>0<ir>>>0,Tt){We=n[Co>>2]|0,se=Qr,O=0;do j=n[We+(se<<2)>>2]|0,n[j+24>>2]|0||(O=((n[(Pl(j,Pr)|0)+4>>2]|0)==3&1)+O|0,O=O+((n[(bc(j,Pr)|0)+4>>2]|0)==3&1)|0),se=se+1|0;while((se|0)!=(ir|0));O?(Ze=y(0),c=y(0)):Jr=101}else Jr=101;e:do if((Jr|0)==101)switch(Jr=0,Lp|0){case 1:{O=0,Ze=y(Re*y(.5)),c=y(0);break e}case 2:{O=0,Ze=Re,c=y(0);break e}case 3:{if(m>>>0<=1){O=0,Ze=y(0),c=y(0);break e}c=y((m+-1|0)>>>0),O=0,Ze=y(0),c=y(y(Nn(Re,y(0)))/c);break e}case 5:{c=y(Re/y((m+1|0)>>>0)),O=0,Ze=c;break e}case 4:{c=y(Re/y(m>>>0)),O=0,Ze=y(c*y(.5));break e}default:{O=0,Ze=y(0),c=y(0);break e}}while(0);if(l=y(Op+Ze),Tt){et=y(Re/y(O|0)),se=n[Co>>2]|0,j=Qr,Re=y(0);do{O=n[se+(j<<2)>>2]|0;e:do if((n[O+36>>2]|0)!=1){switch(n[O+24>>2]|0){case 1:{if(Ai(O,Pr)|0){if(!k)break e;Wt=y(Fr(O,Pr,rr)),Wt=y(Wt+y(gr(s,Pr))),Wt=y(Wt+y(K(O,Pr,vr))),h[O+400+(n[Ou>>2]<<2)>>2]=Wt;break e}break}case 0:if(ii=(n[(Pl(O,Pr)|0)+4>>2]|0)==3,Wt=y(et+l),l=ii?Wt:l,k&&(ii=O+400+(n[Ou>>2]<<2)|0,h[ii>>2]=y(l+y(h[ii>>2]))),ii=(n[(bc(O,Pr)|0)+4>>2]|0)==3,Wt=y(et+l),l=ii?Wt:l,ya){Wt=y(c+y(rn(O,Pr,vr))),Re=Pn,l=y(l+y(Wt+y(h[O+504>>2])));break e}else{l=y(l+y(c+y(ns(O,Pr,vr)))),Re=y(Nn(Re,y(ns(O,lr,vr))));break e}default:}k&&(Wt=y(Ze+y(gr(s,Pr))),ii=O+400+(n[Ou>>2]<<2)|0,h[ii>>2]=y(Wt+y(h[ii>>2])))}while(0);j=j+1|0}while((j|0)!=(ir|0))}else Re=y(0);if(c=y(Mp+l),Fp?Ze=y(y(Ei(s,lr,y(Hs+Re),Lc,B))-Hs):Ze=Pn,et=y(y(Ei(s,lr,y(Hs+(Np?Pn:Re)),Lc,B))-Hs),Tt&k){j=Qr;do{se=n[(n[Co>>2]|0)+(j<<2)>>2]|0;do if((n[se+36>>2]|0)!=1){if((n[se+24>>2]|0)==1){if(Ai(se,lr)|0){if(Wt=y(Fr(se,lr,Pn)),Wt=y(Wt+y(gr(s,lr))),Wt=y(Wt+y(K(se,lr,vr))),O=n[Lu>>2]|0,h[se+400+(O<<2)>>2]=Wt,!(Ot(Wt)|0))break}else O=n[Lu>>2]|0;Wt=y(gr(s,lr)),h[se+400+(O<<2)>>2]=y(Wt+y(K(se,lr,vr)));break}O=ha(s,se)|0;do if((O|0)==4){if((n[(Pl(se,lr)|0)+4>>2]|0)==3){Jr=139;break}if((n[(bc(se,lr)|0)+4>>2]|0)==3){Jr=139;break}if(ts(se,lr,Pn)|0){l=Le;break}hf=n[se+908+(n[kl>>2]<<2)>>2]|0,n[Us>>2]=hf,l=y(h[se+396>>2]),ii=Ot(l)|0,Re=(n[v>>2]=hf,y(h[v>>2])),ii?l=et:(Ir=y(rn(se,lr,vr)),Wt=y(Re/l),l=y(l*Re),l=y(Ir+(jn?Wt:l))),h[$a>>2]=l,h[Us>>2]=y(y(rn(se,Pr,vr))+Re),n[qo>>2]=1,n[Rl>>2]=1,pr(se,Pr,rr,vr,qo,Us),pr(se,lr,Pn,vr,Rl,$a),l=y(h[Us>>2]),Ir=y(h[$a>>2]),Wt=jn?l:Ir,l=jn?Ir:l,ii=((Ot(Wt)|0)^1)&1,fa(se,Wt,l,Bs,ii,((Ot(l)|0)^1)&1,vr,mo,1,3493,M)|0,l=Le}else Jr=139;while(0);e:do if((Jr|0)==139){Jr=0,l=y(Ze-y(ns(se,lr,vr)));do if((n[(Pl(se,lr)|0)+4>>2]|0)==3){if((n[(bc(se,lr)|0)+4>>2]|0)!=3)break;l=y(Le+y(Nn(y(0),y(l*y(.5)))));break e}while(0);if((n[(bc(se,lr)|0)+4>>2]|0)==3){l=Le;break}if((n[(Pl(se,lr)|0)+4>>2]|0)==3){l=y(Le+y(Nn(y(0),l)));break}switch(O|0){case 1:{l=Le;break e}case 2:{l=y(Le+y(l*y(.5)));break e}default:{l=y(Le+l);break e}}}while(0);Wt=y(ws+l),ii=se+400+(n[Lu>>2]<<2)|0,h[ii>>2]=y(Wt+y(h[ii>>2]))}while(0);j=j+1|0}while((j|0)!=(ir|0))}if(ws=y(ws+et),Rc=y(Nn(Rc,c)),m=go+1|0,ir>>>0>=qs>>>0)break;l=rr,Qr=ir,go=m}do if(k){if(O=m>>>0>1,!O&&!(Gi(s)|0))break;if(!(Ot(Pn)|0)){l=y(Pn-ws);e:do switch(n[s+12>>2]|0){case 3:{Le=y(Le+l),He=y(0);break}case 2:{Le=y(Le+y(l*y(.5))),He=y(0);break}case 4:{Pn>ws?He=y(l/y(m>>>0)):He=y(0);break}case 7:if(Pn>ws){Le=y(Le+y(l/y(m<<1>>>0))),He=y(l/y(m>>>0)),He=O?He:y(0);break e}else{Le=y(Le+y(l*y(.5))),He=y(0);break e}case 6:{He=y(l/y(go>>>0)),He=Pn>ws&O?He:y(0);break}default:He=y(0)}while(0);if(m|0)for(Tt=1040+(lr<<2)|0,Rr=976+(lr<<2)|0,We=0,j=0;;){e:do if(j>>>0<qs>>>0)for(Re=y(0),et=y(0),l=y(0),se=j;;){O=n[(n[Co>>2]|0)+(se<<2)>>2]|0;do if((n[O+36>>2]|0)!=1&&(n[O+24>>2]|0)==0){if((n[O+940>>2]|0)!=(We|0))break e;if(Mm(O,lr)|0&&(Wt=y(h[O+908+(n[Rr>>2]<<2)>>2]),l=y(Nn(l,y(Wt+y(rn(O,lr,vr)))))),(ha(s,O)|0)!=5)break;_s=y(Va(O)),_s=y(_s+y(K(O,0,vr))),Wt=y(h[O+912>>2]),Wt=y(y(Wt+y(rn(O,0,vr)))-_s),_s=y(Nn(et,_s)),Wt=y(Nn(Re,Wt)),Re=Wt,et=_s,l=y(Nn(l,y(_s+Wt)))}while(0);if(O=se+1|0,O>>>0<qs>>>0)se=O;else{se=O;break}}else et=y(0),l=y(0),se=j;while(0);if(at=y(He+l),c=Le,Le=y(Le+at),j>>>0<se>>>0){Ze=y(c+et),O=j;do{j=n[(n[Co>>2]|0)+(O<<2)>>2]|0;e:do if((n[j+36>>2]|0)!=1&&(n[j+24>>2]|0)==0)switch(ha(s,j)|0){case 1:{Wt=y(c+y(K(j,lr,vr))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 3:{Wt=y(y(Le-y(te(j,lr,vr)))-y(h[j+908+(n[Rr>>2]<<2)>>2])),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 2:{Wt=y(c+y(y(at-y(h[j+908+(n[Rr>>2]<<2)>>2]))*y(.5))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt;break e}case 4:{if(Wt=y(c+y(K(j,lr,vr))),h[j+400+(n[Tt>>2]<<2)>>2]=Wt,ts(j,lr,Pn)|0||(jn?(Re=y(h[j+908>>2]),l=y(Re+y(rn(j,Pr,vr))),et=at):(et=y(h[j+912>>2]),et=y(et+y(rn(j,lr,vr))),l=at,Re=y(h[j+908>>2])),Ci(l,Re)|0&&Ci(et,y(h[j+912>>2]))|0))break e;fa(j,l,et,Bs,1,1,vr,mo,1,3501,M)|0;break e}case 5:{h[j+404>>2]=y(y(Ze-y(Va(j)))+y(Fr(j,0,Pn)));break e}default:break e}while(0);O=O+1|0}while((O|0)!=(se|0))}if(We=We+1|0,(We|0)==(m|0))break;j=se}}}while(0);if(h[s+908>>2]=y(Ei(s,2,Tc,B,B)),h[s+912>>2]=y(Ei(s,0,lf,Q,B)),(Tl|0)!=0&&(cf=n[s+32>>2]|0,uf=(Tl|0)==2,!(uf&(cf|0)!=2))?uf&(cf|0)==2&&(l=y(Nc+rr),l=y(Nn(y(Qg(l,y(MA(s,Pr,Rc,yo)))),Nc)),Jr=198):(l=y(Ei(s,Pr,Rc,yo,B)),Jr=198),(Jr|0)==198&&(h[s+908+(n[976+(Pr<<2)>>2]<<2)>>2]=l),(Nl|0)!=0&&(ff=n[s+32>>2]|0,pf=(Nl|0)==2,!(pf&(ff|0)!=2))?pf&(ff|0)==2&&(l=y(Hs+Pn),l=y(Nn(y(Qg(l,y(MA(s,lr,y(Hs+ws),Lc)))),Hs)),Jr=204):(l=y(Ei(s,lr,y(Hs+ws),Lc,B)),Jr=204),(Jr|0)==204&&(h[s+908+(n[976+(lr<<2)>>2]<<2)>>2]=l),k){if((n[Af>>2]|0)==2){j=976+(lr<<2)|0,se=1040+(lr<<2)|0,O=0;do We=Ts(s,O)|0,n[We+24>>2]|0||(hf=n[j>>2]|0,Wt=y(h[s+908+(hf<<2)>>2]),ii=We+400+(n[se>>2]<<2)|0,Wt=y(Wt-y(h[ii>>2])),h[ii>>2]=y(Wt-y(h[We+908+(hf<<2)>>2]))),O=O+1|0;while((O|0)!=(qs|0))}if(f|0){O=jn?Tl:d;do Um(s,f,vr,O,mo,Bs,M),f=n[f+960>>2]|0;while((f|0)!=0)}if(O=(Pr|2|0)==3,j=(lr|2|0)==3,O|j){f=0;do se=n[(n[Co>>2]|0)+(f<<2)>>2]|0,(n[se+36>>2]|0)!=1&&(O&&Cp(s,se,Pr),j&&Cp(s,se,lr)),f=f+1|0;while((f|0)!=(qs|0))}}}while(0);C=Ll}function pa(s,l){s=s|0,l=y(l);var c=0;na(s,l>=y(0),3147),c=l==y(0),h[s+4>>2]=c?y(0):l}function Pc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=f|0;var d=$e,m=$e,B=0,Q=0,k=0;n[2278]=(n[2278]|0)+1,Sl(s),ts(s,2,l)|0?(d=y(Hr(n[s+992>>2]|0,l)),k=1,d=y(d+y(rn(s,2,l)))):(d=y(Hr(s+380|0,l)),d>=y(0)?k=2:(k=((Ot(l)|0)^1)&1,d=l)),ts(s,0,c)|0?(m=y(Hr(n[s+996>>2]|0,c)),Q=1,m=y(m+y(rn(s,0,l)))):(m=y(Hr(s+388|0,c)),m>=y(0)?Q=2:(Q=((Ot(c)|0)^1)&1,m=c)),B=s+976|0,fa(s,d,m,f,k,Q,l,c,1,3189,n[B>>2]|0)|0&&(mp(s,n[s+496>>2]|0,l,c,l),xc(s,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),o[11696]|0)&&Rm(s,7)}function Sl(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;Q=C,C=C+32|0,B=Q+24|0,m=Q+16|0,f=Q+8|0,d=Q,c=0;do l=s+380+(c<<3)|0,(n[s+380+(c<<3)+4>>2]|0)!=0&&(k=l,M=n[k+4>>2]|0,O=f,n[O>>2]=n[k>>2],n[O+4>>2]=M,O=s+364+(c<<3)|0,M=n[O+4>>2]|0,k=d,n[k>>2]=n[O>>2],n[k+4>>2]=M,n[m>>2]=n[f>>2],n[m+4>>2]=n[f+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],Cs(m,B)|0)||(l=s+348+(c<<3)|0),n[s+992+(c<<2)>>2]=l,c=c+1|0;while((c|0)!=2);C=Q}function ts(s,l,c){s=s|0,l=l|0,c=y(c);var f=0;switch(s=n[s+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[s+4>>2]|0){case 0:case 3:{s=0;break}case 1:{y(h[s>>2])<y(0)?s=0:f=5;break}case 2:{y(h[s>>2])<y(0)?s=0:s=(Ot(c)|0)^1;break}default:f=5}return(f|0)==5&&(s=1),s|0}function Hr(s,l){switch(s=s|0,l=y(l),n[s+4>>2]|0){case 2:{l=y(y(y(h[s>>2])*l)/y(100));break}case 1:{l=y(h[s>>2]);break}default:l=y(he)}return y(l)}function mp(s,l,c,f,d){s=s|0,l=l|0,c=y(c),f=y(f),d=y(d);var m=0,B=$e;l=n[s+944>>2]|0?l:1,m=ur(n[s+4>>2]|0,l)|0,l=fI(m,l)|0,c=y(_m(s,m,c)),f=y(_m(s,l,f)),B=y(c+y(K(s,m,d))),h[s+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,c=y(c+y(te(s,m,d))),h[s+400+(n[1e3+(m<<2)>>2]<<2)>>2]=c,c=y(f+y(K(s,l,d))),h[s+400+(n[1040+(l<<2)>>2]<<2)>>2]=c,d=y(f+y(te(s,l,d))),h[s+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function xc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=y(f);var d=0,m=0,B=$e,Q=$e,k=0,M=0,O=$e,j=0,se=$e,We=$e,Le=$e,Re=$e;if(l!=y(0)&&(d=s+400|0,Re=y(h[d>>2]),m=s+404|0,Le=y(h[m>>2]),j=s+416|0,We=y(h[j>>2]),M=s+420|0,B=y(h[M>>2]),se=y(Re+c),O=y(Le+f),f=y(se+We),Q=y(O+B),k=(n[s+988>>2]|0)==1,h[d>>2]=y(_o(Re,l,0,k)),h[m>>2]=y(_o(Le,l,0,k)),c=y(IR(y(We*l),y(1))),Ci(c,y(0))|0?m=0:m=(Ci(c,y(1))|0)^1,c=y(IR(y(B*l),y(1))),Ci(c,y(0))|0?d=0:d=(Ci(c,y(1))|0)^1,Re=y(_o(f,l,k&m,k&(m^1))),h[j>>2]=y(Re-y(_o(se,l,0,k))),Re=y(_o(Q,l,k&d,k&(d^1))),h[M>>2]=y(Re-y(_o(O,l,0,k))),m=(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2,m|0)){d=0;do xc(Ts(s,d)|0,l,se,O),d=d+1|0;while((d|0)!=(m|0))}}function AI(s,l,c,f,d){switch(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,c|0){case 5:case 0:{s=e7(n[489]|0,f,d)|0;break}default:s=m3e(f,d)|0}return s|0}function gg(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;d=C,C=C+16|0,m=d,n[m>>2]=f,dg(s,0,l,c,m),C=d}function dg(s,l,c,f,d){if(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,s=s|0?s:956,I7[n[s+8>>2]&1](s,l,c,f,d)|0,(c|0)==5)Rt();else return}function Ka(s,l,c){s=s|0,l=l|0,c=c|0,o[s+l>>0]=c&1}function Nm(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(mg(s,f),kt(s,n[l>>2]|0,n[c>>2]|0,f))}function mg(s,l){s=s|0,l=l|0;var c=0;if((N(s)|0)>>>0<l>>>0&&Vr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function kt(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Er(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function N(s){return s=s|0,1073741823}function K(s,l,c){return s=s|0,l=l|0,c=y(c),Ae(l)|0&&(n[s+96>>2]|0)!=0?s=s+92|0:s=Sn(s+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function te(s,l,c){return s=s|0,l=l|0,c=y(c),Ae(l)|0&&(n[s+104>>2]|0)!=0?s=s+100|0:s=Sn(s+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(ze(s,c))}function Ae(s){return s=s|0,(s|1|0)==3|0}function ze(s,l){return s=s|0,l=y(l),(n[s+4>>2]|0)==3?l=y(0):l=y(Hr(s,l)),y(l)}function gt(s,l){return s=s|0,l=l|0,s=n[s>>2]|0,((s|0)==0?(l|0)>1?l:1:s)|0}function ur(s,l){s=s|0,l=l|0;var c=0;e:do if((l|0)==2){switch(s|0){case 2:{s=3;break e}case 3:break;default:{c=4;break e}}s=2}else c=4;while(0);return s|0}function gr(s,l){s=s|0,l=l|0;var c=$e;return Ae(l)|0&&(n[s+312>>2]|0)!=0&&(c=y(h[s+308>>2]),c>=y(0))||(c=y(Nn(y(h[(Sn(s+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function hn(s,l){s=s|0,l=l|0;var c=$e;return Ae(l)|0&&(n[s+320>>2]|0)!=0&&(c=y(h[s+316>>2]),c>=y(0))||(c=y(Nn(y(h[(Sn(s+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function ri(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return Ae(l)|0&&(n[s+240>>2]|0)!=0&&(f=y(Hr(s+236|0,c)),f>=y(0))||(f=y(Nn(y(Hr(Sn(s+204|0,n[1040+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function Ni(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return Ae(l)|0&&(n[s+248>>2]|0)!=0&&(f=y(Hr(s+244|0,c)),f>=y(0))||(f=y(Nn(y(Hr(Sn(s+204|0,n[1e3+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function yg(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=$e,k=$e,M=$e,O=$e,j=$e,se=$e,We=0,Le=0,Re=0;Re=C,C=C+16|0,We=Re,Le=s+964|0,Yn(s,(n[Le>>2]|0)!=0,3519),Q=y(gn(s,2,l)),k=y(gn(s,0,l)),M=y(rn(s,2,l)),O=y(rn(s,0,l)),Ot(l)|0?j=l:j=y(Nn(y(0),y(y(l-M)-Q))),Ot(c)|0?se=c:se=y(Nn(y(0),y(y(c-O)-k))),(f|0)==1&(d|0)==1?(h[s+908>>2]=y(Ei(s,2,y(l-M),m,m)),l=y(Ei(s,0,y(c-O),B,m))):(w7[n[Le>>2]&1](We,s,j,f,se,d),j=y(Q+y(h[We>>2])),se=y(l-M),h[s+908>>2]=y(Ei(s,2,(f|2|0)==2?j:se,m,m)),se=y(k+y(h[We+4>>2])),l=y(c-O),l=y(Ei(s,0,(d|2|0)==2?se:l,B,m))),h[s+912>>2]=l,C=Re}function Qv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=$e,k=$e,M=$e,O=$e;M=y(gn(s,2,m)),Q=y(gn(s,0,m)),O=y(rn(s,2,m)),k=y(rn(s,0,m)),l=y(l-O),h[s+908>>2]=y(Ei(s,2,(f|2|0)==2?M:l,m,m)),c=y(c-k),h[s+912>>2]=y(Ei(s,0,(d|2|0)==2?Q:c,B,m))}function kv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var Q=0,k=$e,M=$e;return Q=(f|0)==2,!(l<=y(0)&Q)&&!(c<=y(0)&(d|0)==2)&&!((f|0)==1&(d|0)==1)?s=0:(k=y(rn(s,0,m)),M=y(rn(s,2,m)),Q=l<y(0)&Q|(Ot(l)|0),l=y(l-M),h[s+908>>2]=y(Ei(s,2,Q?y(0):l,m,m)),l=y(c-k),Q=c<y(0)&(d|0)==2|(Ot(c)|0),h[s+912>>2]=y(Ei(s,0,Q?y(0):l,B,m)),s=1),s|0}function fI(s,l){return s=s|0,l=l|0,UA(s)|0?s=ur(2,l)|0:s=0,s|0}function yp(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(ri(s,l,c)),y(c+y(gr(s,l)))}function pI(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(Ni(s,l,c)),y(c+y(hn(s,l)))}function gn(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(yp(s,l,c)),y(f+y(pI(s,l,c)))}function Lm(s){return s=s|0,n[s+24>>2]|0?s=0:y(rs(s))!=y(0)?s=1:s=y(Ms(s))!=y(0),s|0}function rs(s){s=s|0;var l=$e;if(n[s+944>>2]|0){if(l=y(h[s+44>>2]),Ot(l)|0)return l=y(h[s+40>>2]),s=l>y(0)&((Ot(l)|0)^1),y(s?l:y(0))}else l=y(0);return y(l)}function Ms(s){s=s|0;var l=$e,c=0,f=$e;do if(n[s+944>>2]|0){if(l=y(h[s+48>>2]),Ot(l)|0){if(c=o[(n[s+976>>2]|0)+2>>0]|0,c<<24>>24==0&&(f=y(h[s+40>>2]),f<y(0)&((Ot(f)|0)^1))){l=y(-f);break}l=c<<24>>24?y(1):y(0)}}else l=y(0);while(0);return y(l)}function Pu(s){s=s|0;var l=0,c=0;if($m(s+400|0,0,540)|0,o[s+985>>0]=1,ee(s),c=Zi(s)|0,c|0){l=s+948|0,s=0;do Pu(n[(n[l>>2]|0)+(s<<2)>>2]|0),s=s+1|0;while((s|0)!=(c|0))}}function Om(s,l,c,f,d,m,B,Q,k,M){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=y(m),B=y(B),Q=Q|0,k=k|0,M=M|0;var O=0,j=$e,se=0,We=0,Le=$e,Re=$e,et=0,Ze=$e,at=0,He=$e,Ge=0,Tt=0,Rr=0,ir=0,Jt=0,Ir=0,Qr=0,rr=0,Bn=0,po=0;Bn=C,C=C+16|0,Rr=Bn+12|0,ir=Bn+8|0,Jt=Bn+4|0,Ir=Bn,rr=ur(n[s+4>>2]|0,k)|0,Ge=Ae(rr)|0,j=y(Hr(hI(l)|0,Ge?m:B)),Tt=ts(l,2,m)|0,Qr=ts(l,0,B)|0;do if(!(Ot(j)|0)&&!(Ot(Ge?c:d)|0)){if(O=l+504|0,!(Ot(y(h[O>>2]))|0)&&(!(gI(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[O>>2]=y(Nn(j,y(gn(l,rr,m))))}else se=7;while(0);do if((se|0)==7){if(at=Ge^1,!(at|Tt^1)){B=y(Hr(n[l+992>>2]|0,m)),h[l+504>>2]=y(Nn(B,y(gn(l,2,m))));break}if(!(Ge|Qr^1)){B=y(Hr(n[l+996>>2]|0,B)),h[l+504>>2]=y(Nn(B,y(gn(l,0,m))));break}h[Rr>>2]=y(he),h[ir>>2]=y(he),n[Jt>>2]=0,n[Ir>>2]=0,Ze=y(rn(l,2,m)),He=y(rn(l,0,m)),Tt?(Le=y(Ze+y(Hr(n[l+992>>2]|0,m))),h[Rr>>2]=Le,n[Jt>>2]=1,We=1):(We=0,Le=y(he)),Qr?(j=y(He+y(Hr(n[l+996>>2]|0,B))),h[ir>>2]=j,n[Ir>>2]=1,O=1):(O=0,j=y(he)),se=n[s+32>>2]|0,Ge&(se|0)==2?se=2:Ot(Le)|0&&!(Ot(c)|0)&&(h[Rr>>2]=c,n[Jt>>2]=2,We=2,Le=c),!((se|0)==2&at)&&Ot(j)|0&&!(Ot(d)|0)&&(h[ir>>2]=d,n[Ir>>2]=2,O=2,j=d),Re=y(h[l+396>>2]),et=Ot(Re)|0;do if(et)se=We;else{if((We|0)==1&at){h[ir>>2]=y(y(Le-Ze)/Re),n[Ir>>2]=1,O=1,se=1;break}Ge&(O|0)==1?(h[Rr>>2]=y(Re*y(j-He)),n[Jt>>2]=1,O=1,se=1):se=We}while(0);po=Ot(c)|0,We=(ha(s,l)|0)!=4,!(Ge|Tt|((f|0)!=1|po)|(We|(se|0)==1))&&(h[Rr>>2]=c,n[Jt>>2]=1,!et)&&(h[ir>>2]=y(y(c-Ze)/Re),n[Ir>>2]=1,O=1),!(Qr|at|((Q|0)!=1|(Ot(d)|0))|(We|(O|0)==1))&&(h[ir>>2]=d,n[Ir>>2]=1,!et)&&(h[Rr>>2]=y(Re*y(d-He)),n[Jt>>2]=1),pr(l,2,m,m,Jt,Rr),pr(l,0,B,m,Ir,ir),c=y(h[Rr>>2]),d=y(h[ir>>2]),fa(l,c,d,k,n[Jt>>2]|0,n[Ir>>2]|0,m,B,0,3565,M)|0,B=y(h[l+908+(n[976+(rr<<2)>>2]<<2)>>2]),h[l+504>>2]=y(Nn(B,y(gn(l,rr,m))))}while(0);n[l+500>>2]=n[2278],C=Bn}function Ei(s,l,c,f,d){return s=s|0,l=l|0,c=y(c),f=y(f),d=y(d),f=y(MA(s,l,c,f)),y(Nn(f,y(gn(s,l,d))))}function ha(s,l){return s=s|0,l=l|0,l=l+20|0,l=n[((n[l>>2]|0)==0?s+16|0:l)>>2]|0,(l|0)==5&&UA(n[s+4>>2]|0)|0&&(l=1),l|0}function Pl(s,l){return s=s|0,l=l|0,Ae(l)|0&&(n[s+96>>2]|0)!=0?l=4:l=n[1040+(l<<2)>>2]|0,s+60+(l<<3)|0}function bc(s,l){return s=s|0,l=l|0,Ae(l)|0&&(n[s+104>>2]|0)!=0?l=5:l=n[1e3+(l<<2)>>2]|0,s+60+(l<<3)|0}function pr(s,l,c,f,d,m){switch(s=s|0,l=l|0,c=y(c),f=y(f),d=d|0,m=m|0,c=y(Hr(s+380+(n[976+(l<<2)>>2]<<3)|0,c)),c=y(c+y(rn(s,l,f))),n[d>>2]|0){case 2:case 1:{d=Ot(c)|0,f=y(h[m>>2]),h[m>>2]=d|f<c?f:c;break}case 0:{Ot(c)|0||(n[d>>2]=2,h[m>>2]=c);break}default:}}function Ai(s,l){return s=s|0,l=l|0,s=s+132|0,Ae(l)|0&&(n[(Sn(s,4,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Sn(s,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Fr(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,Ae(l)|0&&(f=Sn(s,4,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Sn(s,n[1040+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Hr(f,c))),y(c)}function ns(s,l,c){s=s|0,l=l|0,c=y(c);var f=$e;return f=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),f=y(f+y(K(s,l,c))),y(f+y(te(s,l,c)))}function Gi(s){s=s|0;var l=0,c=0,f=0;e:do if(UA(n[s+4>>2]|0)|0)l=0;else if((n[s+16>>2]|0)!=5)if(c=Zi(s)|0,!c)l=0;else for(l=0;;){if(f=Ts(s,l)|0,(n[f+24>>2]|0)==0&&(n[f+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=c>>>0){l=0;break}}else l=1;while(0);return l|0}function Mm(s,l){s=s|0,l=l|0;var c=$e;return c=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),c>=y(0)&((Ot(c)|0)^1)|0}function Va(s){s=s|0;var l=$e,c=0,f=0,d=0,m=0,B=0,Q=0,k=$e;if(c=n[s+968>>2]|0,c)k=y(h[s+908>>2]),l=y(h[s+912>>2]),l=y(m7[c&0](s,k,l)),Yn(s,(Ot(l)|0)^1,3573);else{m=Zi(s)|0;do if(m|0){for(c=0,d=0;;){if(f=Ts(s,d)|0,n[f+940>>2]|0){B=8;break}if((n[f+24>>2]|0)!=1)if(Q=(ha(s,f)|0)==5,Q){c=f;break}else c=(c|0)==0?f:c;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!c)break;return l=y(Va(c)),y(l+y(h[c+404>>2]))}while(0);l=y(h[s+912>>2])}return y(l)}function MA(s,l,c,f){s=s|0,l=l|0,c=y(c),f=y(f);var d=$e,m=0;return UA(l)|0?(l=1,m=3):Ae(l)|0?(l=0,m=3):(f=y(he),d=y(he)),(m|0)==3&&(d=y(Hr(s+364+(l<<3)|0,f)),f=y(Hr(s+380+(l<<3)|0,f))),m=f<c&(f>=y(0)&((Ot(f)|0)^1)),c=m?f:c,m=d>=y(0)&((Ot(d)|0)^1)&c<d,y(m?d:c)}function Um(s,l,c,f,d,m,B){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,B=B|0;var Q=$e,k=$e,M=0,O=0,j=$e,se=$e,We=$e,Le=0,Re=0,et=0,Ze=0,at=$e,He=0;et=ur(n[s+4>>2]|0,m)|0,Le=fI(et,m)|0,Re=Ae(et)|0,j=y(rn(l,2,c)),se=y(rn(l,0,c)),ts(l,2,c)|0?Q=y(j+y(Hr(n[l+992>>2]|0,c))):Ai(l,2)|0&&nr(l,2)|0?(Q=y(h[s+908>>2]),k=y(gr(s,2)),k=y(Q-y(k+y(hn(s,2)))),Q=y(Fr(l,2,c)),Q=y(Ei(l,2,y(k-y(Q+y(xu(l,2,c)))),c,c))):Q=y(he),ts(l,0,d)|0?k=y(se+y(Hr(n[l+996>>2]|0,d))):Ai(l,0)|0&&nr(l,0)|0?(k=y(h[s+912>>2]),at=y(gr(s,0)),at=y(k-y(at+y(hn(s,0)))),k=y(Fr(l,0,d)),k=y(Ei(l,0,y(at-y(k+y(xu(l,0,d)))),d,c))):k=y(he),M=Ot(Q)|0,O=Ot(k)|0;do if(M^O&&(We=y(h[l+396>>2]),!(Ot(We)|0)))if(M){Q=y(j+y(y(k-se)*We));break}else{at=y(se+y(y(Q-j)/We)),k=O?at:k;break}while(0);O=Ot(Q)|0,M=Ot(k)|0,O|M&&(He=(O^1)&1,f=c>y(0)&((f|0)!=0&O),Q=Re?Q:f?c:Q,fa(l,Q,k,m,Re?He:f?2:He,O&(M^1)&1,Q,k,0,3623,B)|0,Q=y(h[l+908>>2]),Q=y(Q+y(rn(l,2,c))),k=y(h[l+912>>2]),k=y(k+y(rn(l,0,c)))),fa(l,Q,k,m,1,1,Q,k,1,3635,B)|0,nr(l,et)|0&&!(Ai(l,et)|0)?(He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),at=y(at-y(hn(s,et))),at=y(at-y(te(l,et,c))),at=y(at-y(xu(l,et,Re?c:d))),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at):Ze=21;do if((Ze|0)==21){if(!(Ai(l,et)|0)&&(n[s+8>>2]|0)==1){He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(y(at-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at;break}!(Ai(l,et)|0)&&(n[s+8>>2]|0)==2&&(He=n[976+(et<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(et<<2)>>2]<<2)>>2]=at)}while(0);nr(l,Le)|0&&!(Ai(l,Le)|0)?(He=n[976+(Le<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),at=y(at-y(hn(s,Le))),at=y(at-y(te(l,Le,c))),at=y(at-y(xu(l,Le,Re?d:c))),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=at):Ze=30;do if((Ze|0)==30&&!(Ai(l,Le)|0)){if((ha(s,l)|0)==2){He=n[976+(Le<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(y(at-y(h[l+908+(He<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=at;break}He=(ha(s,l)|0)==3,He^(n[s+28>>2]|0)==2&&(He=n[976+(Le<<2)>>2]|0,at=y(h[s+908+(He<<2)>>2]),at=y(at-y(h[l+908+(He<<2)>>2])),h[l+400+(n[1040+(Le<<2)>>2]<<2)>>2]=at)}while(0)}function Cp(s,l,c){s=s|0,l=l|0,c=c|0;var f=$e,d=0;d=n[976+(c<<2)>>2]|0,f=y(h[l+908+(d<<2)>>2]),f=y(y(h[s+908+(d<<2)>>2])-f),f=y(f-y(h[l+400+(n[1040+(c<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(c<<2)>>2]<<2)>>2]=f}function UA(s){return s=s|0,(s|1|0)==1|0}function hI(s){s=s|0;var l=$e;switch(n[s+56>>2]|0){case 0:case 3:{l=y(h[s+40>>2]),l>y(0)&((Ot(l)|0)^1)?s=o[(n[s+976>>2]|0)+2>>0]|0?1056:992:s=1056;break}default:s=s+52|0}return s|0}function gI(s,l){return s=s|0,l=l|0,(o[s+l>>0]|0)!=0|0}function nr(s,l){return s=s|0,l=l|0,s=s+132|0,Ae(l)|0&&(n[(Sn(s,5,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Sn(s,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function xu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,Ae(l)|0&&(f=Sn(s,5,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Sn(s,n[1e3+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Hr(f,c))),y(c)}function _m(s,l,c){return s=s|0,l=l|0,c=y(c),Ai(s,l)|0?c=y(Fr(s,l,c)):c=y(-y(xu(s,l,c))),y(c)}function bu(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Ep(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function Cg(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _A(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function HA(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;if(B=s+4|0,Q=n[B>>2]|0,d=Q-f|0,m=d>>2,s=l+(m<<2)|0,s>>>0<c>>>0){f=Q;do n[f>>2]=n[s>>2],s=s+4|0,f=(n[B>>2]|0)+4|0,n[B>>2]=f;while(s>>>0<c>>>0)}m|0&&bI(Q+(0-m<<2)|0,l|0,d|0)|0}function Eg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0;return Q=l+4|0,k=n[Q>>2]|0,d=n[s>>2]|0,B=c,m=B-d|0,f=k+(0-(m>>2)<<2)|0,n[Q>>2]=f,(m|0)>0&&Er(f|0,d|0,m|0)|0,d=s+4|0,m=l+8|0,f=(n[d>>2]|0)-B|0,(f|0)>0&&(Er(n[m>>2]|0,c|0,f|0)|0,n[m>>2]=(n[m>>2]|0)+(f>>>2<<2)),B=n[s>>2]|0,n[s>>2]=n[Q>>2],n[Q>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=s+8|0,c=l+12|0,s=n[B>>2]|0,n[B>>2]=n[c>>2],n[c>>2]=s,n[l>>2]=n[Q>>2],k|0}function dI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[c>>2]|0,(B|0)!=(m|0)){d=s+8|0,c=((m+-4-B|0)>>>2)+1|0,s=B,f=n[d>>2]|0;do n[f>>2]=n[s>>2],f=(n[d>>2]|0)+4|0,n[d>>2]=f,s=s+4|0;while((s|0)!=(m|0));n[l>>2]=B+(c<<2)}}function Hm(){Cc()}function ga(){var s=0;return s=Gt(4)|0,qA(s),s|0}function qA(s){s=s|0,n[s>>2]=$i()|0}function Qc(s){s=s|0,s|0&&(Ig(s),pt(s))}function Ig(s){s=s|0,mi(n[s>>2]|0)}function qm(s,l,c){s=s|0,l=l|0,c=c|0,Ka(n[s>>2]|0,l,c)}function uo(s,l){s=s|0,l=y(l),pa(n[s>>2]|0,l)}function Fv(s,l){return s=s|0,l=l|0,gI(n[s>>2]|0,l)|0}function mI(){var s=0;return s=Gt(8)|0,Rv(s,0),s|0}function Rv(s,l){s=s|0,l=l|0,l?l=di(n[l>>2]|0)|0:l=oo()|0,n[s>>2]=l,n[s+4>>2]=0,_r(l,s)}function iF(s){s=s|0;var l=0;return l=Gt(8)|0,Rv(l,s),l|0}function Tv(s){s=s|0,s|0&&(Qu(s),pt(s))}function Qu(s){s=s|0;var l=0;sa(n[s>>2]|0),l=s+4|0,s=n[l>>2]|0,n[l>>2]=0,s|0&&(jA(s),pt(s))}function jA(s){s=s|0,GA(s)}function GA(s){s=s|0,s=n[s>>2]|0,s|0&&bA(s|0)}function yI(s){return s=s|0,ei(s)|0}function jm(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(jA(l),pt(l)),ao(n[s>>2]|0)}function sF(s,l){s=s|0,l=l|0,tr(n[s>>2]|0,n[l>>2]|0)}function oF(s,l){s=s|0,l=l|0,ca(n[s>>2]|0,l)}function Nv(s,l,c){s=s|0,l=l|0,c=+c,wu(n[s>>2]|0,l,y(c))}function Lv(s,l,c){s=s|0,l=l|0,c=+c,ms(n[s>>2]|0,l,y(c))}function CI(s,l){s=s|0,l=l|0,yi(n[s>>2]|0,l)}function ku(s,l){s=s|0,l=l|0,ja(n[s>>2]|0,l)}function aF(s,l){s=s|0,l=l|0,FA(n[s>>2]|0,l)}function lF(s,l){s=s|0,l=l|0,Ti(n[s>>2]|0,l)}function Ip(s,l){s=s|0,l=l|0,Ic(n[s>>2]|0,l)}function cF(s,l){s=s|0,l=l|0,qa(n[s>>2]|0,l)}function Ov(s,l,c){s=s|0,l=l|0,c=+c,Bc(n[s>>2]|0,l,y(c))}function WA(s,l,c){s=s|0,l=l|0,c=+c,G(n[s>>2]|0,l,y(c))}function uF(s,l){s=s|0,l=l|0,vl(n[s>>2]|0,l)}function AF(s,l){s=s|0,l=l|0,ng(n[s>>2]|0,l)}function Mv(s,l){s=s|0,l=l|0,up(n[s>>2]|0,l)}function EI(s,l){s=s|0,l=+l,RA(n[s>>2]|0,y(l))}function II(s,l){s=s|0,l=+l,Ga(n[s>>2]|0,y(l))}function fF(s,l){s=s|0,l=+l,ji(n[s>>2]|0,y(l))}function pF(s,l){s=s|0,l=+l,Os(n[s>>2]|0,y(l))}function xl(s,l){s=s|0,l=+l,Iu(n[s>>2]|0,y(l))}function wI(s,l){s=s|0,l=+l,cI(n[s>>2]|0,y(l))}function hF(s,l){s=s|0,l=+l,TA(n[s>>2]|0,y(l))}function YA(s){s=s|0,Ap(n[s>>2]|0)}function Gm(s,l){s=s|0,l=+l,ys(n[s>>2]|0,y(l))}function Fu(s,l){s=s|0,l=+l,og(n[s>>2]|0,y(l))}function BI(s){s=s|0,ag(n[s>>2]|0)}function vI(s,l){s=s|0,l=+l,fp(n[s>>2]|0,y(l))}function gF(s,l){s=s|0,l=+l,Dc(n[s>>2]|0,y(l))}function Uv(s,l){s=s|0,l=+l,Qm(n[s>>2]|0,y(l))}function KA(s,l){s=s|0,l=+l,cg(n[s>>2]|0,y(l))}function _v(s,l){s=s|0,l=+l,vu(n[s>>2]|0,y(l))}function Wm(s,l){s=s|0,l=+l,km(n[s>>2]|0,y(l))}function Hv(s,l){s=s|0,l=+l,Du(n[s>>2]|0,y(l))}function qv(s,l){s=s|0,l=+l,uI(n[s>>2]|0,y(l))}function Ym(s,l){s=s|0,l=+l,Aa(n[s>>2]|0,y(l))}function jv(s,l,c){s=s|0,l=l|0,c=+c,Bu(n[s>>2]|0,l,y(c))}function dF(s,l,c){s=s|0,l=l|0,c=+c,Si(n[s>>2]|0,l,y(c))}function S(s,l,c){s=s|0,l=l|0,c=+c,vc(n[s>>2]|0,l,y(c))}function D(s){return s=s|0,rg(n[s>>2]|0)|0}function T(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,wc(d,n[l>>2]|0,c),q(s,d),C=f}function q(s,l){s=s|0,l=l|0,W(s,n[l+4>>2]|0,+y(h[l>>2]))}function W(s,l,c){s=s|0,l=l|0,c=+c,n[s>>2]=l,E[s+8>>3]=c}function ce(s){return s=s|0,la(n[s>>2]|0)|0}function Se(s){return s=s|0,lo(n[s>>2]|0)|0}function It(s){return s=s|0,Ec(n[s>>2]|0)|0}function Ct(s){return s=s|0,Kn(n[s>>2]|0)|0}function xt(s){return s=s|0,bm(n[s>>2]|0)|0}function Nr(s){return s=s|0,aa(n[s>>2]|0)|0}function is(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,Dt(d,n[l>>2]|0,c),q(s,d),C=f}function fi(s){return s=s|0,Vn(n[s>>2]|0)|0}function Ao(s){return s=s|0,ig(n[s>>2]|0)|0}function VA(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,ua(f,n[l>>2]|0),q(s,f),C=c}function Ho(s){return s=s|0,+ +y(Zr(n[s>>2]|0))}function rt(s){return s=s|0,+ +y(Tn(n[s>>2]|0))}function Je(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,yr(f,n[l>>2]|0),q(s,f),C=c}function ft(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,lg(f,n[l>>2]|0),q(s,f),C=c}function jt(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,mt(f,n[l>>2]|0),q(s,f),C=c}function Cr(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,ug(f,n[l>>2]|0),q(s,f),C=c}function In(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Ag(f,n[l>>2]|0),q(s,f),C=c}function Sr(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Fm(f,n[l>>2]|0),q(s,f),C=c}function wn(s){return s=s|0,+ +y(Sc(n[s>>2]|0))}function ni(s,l){return s=s|0,l=l|0,+ +y(sg(n[s>>2]|0,l))}function Xr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,lt(d,n[l>>2]|0,c),q(s,d),C=f}function fo(s,l,c){s=s|0,l=l|0,c=c|0,oa(n[s>>2]|0,n[l>>2]|0,c)}function mF(s,l){s=s|0,l=l|0,Ls(n[s>>2]|0,n[l>>2]|0)}function Ive(s){return s=s|0,Zi(n[s>>2]|0)|0}function wve(s){return s=s|0,s=xe(n[s>>2]|0)|0,s?s=yI(s)|0:s=0,s|0}function Bve(s,l){return s=s|0,l=l|0,s=Ts(n[s>>2]|0,l)|0,s?s=yI(s)|0:s=0,s|0}function vve(s,l){s=s|0,l=l|0;var c=0,f=0;f=Gt(4)|0,YG(f,l),c=s+4|0,l=n[c>>2]|0,n[c>>2]=f,l|0&&(jA(l),pt(l)),Ha(n[s>>2]|0,1)}function YG(s,l){s=s|0,l=l|0,Lve(s,l)}function Dve(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0;var B=0,Q=0;B=C,C=C+16|0,Q=B,Sve(Q,ei(l)|0,+c,f,+d,m),h[s>>2]=y(+E[Q>>3]),h[s+4>>2]=y(+E[Q+8>>3]),C=B}function Sve(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0,Q=0,k=0,M=0,O=0;B=C,C=C+32|0,O=B+8|0,M=B+20|0,k=B,Q=B+16|0,E[O>>3]=c,n[M>>2]=f,E[k>>3]=d,n[Q>>2]=m,Pve(s,n[l+4>>2]|0,O,M,k,Q),C=B}function Pve(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0;B=C,C=C+16|0,Q=B,za(Q),l=da(l)|0,xve(s,l,+E[c>>3],n[f>>2]|0,+E[d>>3],n[m>>2]|0),Xa(Q),C=B}function da(s){return s=s|0,n[s>>2]|0}function xve(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0;B=bl(bve()|0)|0,c=+JA(c),f=yF(f)|0,d=+JA(d),Qve(s,ui(0,B|0,l|0,+c,f|0,+d,yF(m)|0)|0)}function bve(){var s=0;return o[7608]|0||(Tve(9120),s=7608,n[s>>2]=1,n[s+4>>2]=0),9120}function bl(s){return s=s|0,n[s+8>>2]|0}function JA(s){return s=+s,+ +CF(s)}function yF(s){return s=s|0,VG(s)|0}function Qve(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=l,f&1?(kve(c,0),$n(f|0,c|0)|0,Fve(s,c),Rve(c)):(n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]),C=d}function kve(s,l){s=s|0,l=l|0,KG(s,l),n[s+8>>2]=0,o[s+24>>0]=0}function Fve(s,l){s=s|0,l=l|0,l=l+8|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]}function Rve(s){s=s|0,o[s+24>>0]=0}function KG(s,l){s=s|0,l=l|0,n[s>>2]=l}function VG(s){return s=s|0,s|0}function CF(s){return s=+s,+s}function Tve(s){s=s|0,Ql(s,Nve()|0,4)}function Nve(){return 1064}function Ql(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=cp(l|0,c+1|0)|0}function Lve(s,l){s=s|0,l=l|0,l=n[l>>2]|0,n[s>>2]=l,El(l|0)}function Ove(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(jA(l),pt(l)),Ha(n[s>>2]|0,0)}function Mve(s){s=s|0,Ve(n[s>>2]|0)}function Uve(s){return s=s|0,vt(n[s>>2]|0)|0}function _ve(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,Pc(n[s>>2]|0,y(l),y(c),f)}function Hve(s){return s=s|0,+ +y(Dl(n[s>>2]|0))}function qve(s){return s=s|0,+ +y(fg(n[s>>2]|0))}function jve(s){return s=s|0,+ +y(Su(n[s>>2]|0))}function Gve(s){return s=s|0,+ +y(NA(n[s>>2]|0))}function Wve(s){return s=s|0,+ +y(pp(n[s>>2]|0))}function Yve(s){return s=s|0,+ +y(Wa(n[s>>2]|0))}function Kve(s,l){s=s|0,l=l|0,E[s>>3]=+y(Dl(n[l>>2]|0)),E[s+8>>3]=+y(fg(n[l>>2]|0)),E[s+16>>3]=+y(Su(n[l>>2]|0)),E[s+24>>3]=+y(NA(n[l>>2]|0)),E[s+32>>3]=+y(pp(n[l>>2]|0)),E[s+40>>3]=+y(Wa(n[l>>2]|0))}function Vve(s,l){return s=s|0,l=l|0,+ +y(pg(n[s>>2]|0,l))}function Jve(s,l){return s=s|0,l=l|0,+ +y(hp(n[s>>2]|0,l))}function zve(s,l){return s=s|0,l=l|0,+ +y(Uo(n[s>>2]|0,l))}function Xve(){return qn()|0}function Zve(){$ve(),eDe(),tDe(),rDe(),nDe(),iDe()}function $ve(){nLe(11713,4938,1)}function eDe(){wNe(10448)}function tDe(){nNe(10408)}function rDe(){STe(10324)}function nDe(){TFe(10096)}function iDe(){sDe(9132)}function sDe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Jt=0,Ir=0,Qr=0,rr=0,Bn=0,po=0,ho=0,go=0,ya=0,Qp=0,kp=0,kl=0,Fp=0,Lu=0,Ou=0,Rp=0,Tp=0,Np=0,Jr=0,Fl=0,Lp=0,Fc=0,Op=0,Mp=0,Mu=0,Uu=0,Rc=0,Us=0,$a=0,qo=0,Rl=0,nf=0,sf=0,_u=0,of=0,af=0,_s=0,ws=0,Tl=0,Pn=0,lf=0,mo=0,Tc=0,yo=0,Nc=0,cf=0,uf=0,Lc=0,Hs=0,Nl=0,Af=0,ff=0,pf=0,vr=0,jn=0,Bs=0,Co=0,qs=0,Pr=0,lr=0,Ll=0;l=C,C=C+672|0,c=l+656|0,Ll=l+648|0,lr=l+640|0,Pr=l+632|0,qs=l+624|0,Co=l+616|0,Bs=l+608|0,jn=l+600|0,vr=l+592|0,pf=l+584|0,ff=l+576|0,Af=l+568|0,Nl=l+560|0,Hs=l+552|0,Lc=l+544|0,uf=l+536|0,cf=l+528|0,Nc=l+520|0,yo=l+512|0,Tc=l+504|0,mo=l+496|0,lf=l+488|0,Pn=l+480|0,Tl=l+472|0,ws=l+464|0,_s=l+456|0,af=l+448|0,of=l+440|0,_u=l+432|0,sf=l+424|0,nf=l+416|0,Rl=l+408|0,qo=l+400|0,$a=l+392|0,Us=l+384|0,Rc=l+376|0,Uu=l+368|0,Mu=l+360|0,Mp=l+352|0,Op=l+344|0,Fc=l+336|0,Lp=l+328|0,Fl=l+320|0,Jr=l+312|0,Np=l+304|0,Tp=l+296|0,Rp=l+288|0,Ou=l+280|0,Lu=l+272|0,Fp=l+264|0,kl=l+256|0,kp=l+248|0,Qp=l+240|0,ya=l+232|0,go=l+224|0,ho=l+216|0,po=l+208|0,Bn=l+200|0,rr=l+192|0,Qr=l+184|0,Ir=l+176|0,Jt=l+168|0,ir=l+160|0,Rr=l+152|0,Tt=l+144|0,Ge=l+136|0,He=l+128|0,at=l+120|0,Ze=l+112|0,et=l+104|0,Re=l+96|0,Le=l+88|0,We=l+80|0,se=l+72|0,j=l+64|0,O=l+56|0,M=l+48|0,k=l+40|0,Q=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,f=l,oDe(s,3646),aDe(s,3651,2)|0,lDe(s,3665,2)|0,cDe(s,3682,18)|0,n[Ll>>2]=19,n[Ll+4>>2]=0,n[c>>2]=n[Ll>>2],n[c+4>>2]=n[Ll+4>>2],DI(s,3690,c)|0,n[lr>>2]=1,n[lr+4>>2]=0,n[c>>2]=n[lr>>2],n[c+4>>2]=n[lr+4>>2],uDe(s,3696,c)|0,n[Pr>>2]=2,n[Pr+4>>2]=0,n[c>>2]=n[Pr>>2],n[c+4>>2]=n[Pr+4>>2],Ru(s,3706,c)|0,n[qs>>2]=1,n[qs+4>>2]=0,n[c>>2]=n[qs>>2],n[c+4>>2]=n[qs+4>>2],wg(s,3722,c)|0,n[Co>>2]=2,n[Co+4>>2]=0,n[c>>2]=n[Co>>2],n[c+4>>2]=n[Co+4>>2],wg(s,3734,c)|0,n[Bs>>2]=3,n[Bs+4>>2]=0,n[c>>2]=n[Bs>>2],n[c+4>>2]=n[Bs+4>>2],Ru(s,3753,c)|0,n[jn>>2]=4,n[jn+4>>2]=0,n[c>>2]=n[jn>>2],n[c+4>>2]=n[jn+4>>2],Ru(s,3769,c)|0,n[vr>>2]=5,n[vr+4>>2]=0,n[c>>2]=n[vr>>2],n[c+4>>2]=n[vr+4>>2],Ru(s,3783,c)|0,n[pf>>2]=6,n[pf+4>>2]=0,n[c>>2]=n[pf>>2],n[c+4>>2]=n[pf+4>>2],Ru(s,3796,c)|0,n[ff>>2]=7,n[ff+4>>2]=0,n[c>>2]=n[ff>>2],n[c+4>>2]=n[ff+4>>2],Ru(s,3813,c)|0,n[Af>>2]=8,n[Af+4>>2]=0,n[c>>2]=n[Af>>2],n[c+4>>2]=n[Af+4>>2],Ru(s,3825,c)|0,n[Nl>>2]=3,n[Nl+4>>2]=0,n[c>>2]=n[Nl>>2],n[c+4>>2]=n[Nl+4>>2],wg(s,3843,c)|0,n[Hs>>2]=4,n[Hs+4>>2]=0,n[c>>2]=n[Hs>>2],n[c+4>>2]=n[Hs+4>>2],wg(s,3853,c)|0,n[Lc>>2]=9,n[Lc+4>>2]=0,n[c>>2]=n[Lc>>2],n[c+4>>2]=n[Lc+4>>2],Ru(s,3870,c)|0,n[uf>>2]=10,n[uf+4>>2]=0,n[c>>2]=n[uf>>2],n[c+4>>2]=n[uf+4>>2],Ru(s,3884,c)|0,n[cf>>2]=11,n[cf+4>>2]=0,n[c>>2]=n[cf>>2],n[c+4>>2]=n[cf+4>>2],Ru(s,3896,c)|0,n[Nc>>2]=1,n[Nc+4>>2]=0,n[c>>2]=n[Nc>>2],n[c+4>>2]=n[Nc+4>>2],Es(s,3907,c)|0,n[yo>>2]=2,n[yo+4>>2]=0,n[c>>2]=n[yo>>2],n[c+4>>2]=n[yo+4>>2],Es(s,3915,c)|0,n[Tc>>2]=3,n[Tc+4>>2]=0,n[c>>2]=n[Tc>>2],n[c+4>>2]=n[Tc+4>>2],Es(s,3928,c)|0,n[mo>>2]=4,n[mo+4>>2]=0,n[c>>2]=n[mo>>2],n[c+4>>2]=n[mo+4>>2],Es(s,3948,c)|0,n[lf>>2]=5,n[lf+4>>2]=0,n[c>>2]=n[lf>>2],n[c+4>>2]=n[lf+4>>2],Es(s,3960,c)|0,n[Pn>>2]=6,n[Pn+4>>2]=0,n[c>>2]=n[Pn>>2],n[c+4>>2]=n[Pn+4>>2],Es(s,3974,c)|0,n[Tl>>2]=7,n[Tl+4>>2]=0,n[c>>2]=n[Tl>>2],n[c+4>>2]=n[Tl+4>>2],Es(s,3983,c)|0,n[ws>>2]=20,n[ws+4>>2]=0,n[c>>2]=n[ws>>2],n[c+4>>2]=n[ws+4>>2],DI(s,3999,c)|0,n[_s>>2]=8,n[_s+4>>2]=0,n[c>>2]=n[_s>>2],n[c+4>>2]=n[_s+4>>2],Es(s,4012,c)|0,n[af>>2]=9,n[af+4>>2]=0,n[c>>2]=n[af>>2],n[c+4>>2]=n[af+4>>2],Es(s,4022,c)|0,n[of>>2]=21,n[of+4>>2]=0,n[c>>2]=n[of>>2],n[c+4>>2]=n[of+4>>2],DI(s,4039,c)|0,n[_u>>2]=10,n[_u+4>>2]=0,n[c>>2]=n[_u>>2],n[c+4>>2]=n[_u+4>>2],Es(s,4053,c)|0,n[sf>>2]=11,n[sf+4>>2]=0,n[c>>2]=n[sf>>2],n[c+4>>2]=n[sf+4>>2],Es(s,4065,c)|0,n[nf>>2]=12,n[nf+4>>2]=0,n[c>>2]=n[nf>>2],n[c+4>>2]=n[nf+4>>2],Es(s,4084,c)|0,n[Rl>>2]=13,n[Rl+4>>2]=0,n[c>>2]=n[Rl>>2],n[c+4>>2]=n[Rl+4>>2],Es(s,4097,c)|0,n[qo>>2]=14,n[qo+4>>2]=0,n[c>>2]=n[qo>>2],n[c+4>>2]=n[qo+4>>2],Es(s,4117,c)|0,n[$a>>2]=15,n[$a+4>>2]=0,n[c>>2]=n[$a>>2],n[c+4>>2]=n[$a+4>>2],Es(s,4129,c)|0,n[Us>>2]=16,n[Us+4>>2]=0,n[c>>2]=n[Us>>2],n[c+4>>2]=n[Us+4>>2],Es(s,4148,c)|0,n[Rc>>2]=17,n[Rc+4>>2]=0,n[c>>2]=n[Rc>>2],n[c+4>>2]=n[Rc+4>>2],Es(s,4161,c)|0,n[Uu>>2]=18,n[Uu+4>>2]=0,n[c>>2]=n[Uu>>2],n[c+4>>2]=n[Uu+4>>2],Es(s,4181,c)|0,n[Mu>>2]=5,n[Mu+4>>2]=0,n[c>>2]=n[Mu>>2],n[c+4>>2]=n[Mu+4>>2],wg(s,4196,c)|0,n[Mp>>2]=6,n[Mp+4>>2]=0,n[c>>2]=n[Mp>>2],n[c+4>>2]=n[Mp+4>>2],wg(s,4206,c)|0,n[Op>>2]=7,n[Op+4>>2]=0,n[c>>2]=n[Op>>2],n[c+4>>2]=n[Op+4>>2],wg(s,4217,c)|0,n[Fc>>2]=3,n[Fc+4>>2]=0,n[c>>2]=n[Fc>>2],n[c+4>>2]=n[Fc+4>>2],zA(s,4235,c)|0,n[Lp>>2]=1,n[Lp+4>>2]=0,n[c>>2]=n[Lp>>2],n[c+4>>2]=n[Lp+4>>2],EF(s,4251,c)|0,n[Fl>>2]=4,n[Fl+4>>2]=0,n[c>>2]=n[Fl>>2],n[c+4>>2]=n[Fl+4>>2],zA(s,4263,c)|0,n[Jr>>2]=5,n[Jr+4>>2]=0,n[c>>2]=n[Jr>>2],n[c+4>>2]=n[Jr+4>>2],zA(s,4279,c)|0,n[Np>>2]=6,n[Np+4>>2]=0,n[c>>2]=n[Np>>2],n[c+4>>2]=n[Np+4>>2],zA(s,4293,c)|0,n[Tp>>2]=7,n[Tp+4>>2]=0,n[c>>2]=n[Tp>>2],n[c+4>>2]=n[Tp+4>>2],zA(s,4306,c)|0,n[Rp>>2]=8,n[Rp+4>>2]=0,n[c>>2]=n[Rp>>2],n[c+4>>2]=n[Rp+4>>2],zA(s,4323,c)|0,n[Ou>>2]=9,n[Ou+4>>2]=0,n[c>>2]=n[Ou>>2],n[c+4>>2]=n[Ou+4>>2],zA(s,4335,c)|0,n[Lu>>2]=2,n[Lu+4>>2]=0,n[c>>2]=n[Lu>>2],n[c+4>>2]=n[Lu+4>>2],EF(s,4353,c)|0,n[Fp>>2]=12,n[Fp+4>>2]=0,n[c>>2]=n[Fp>>2],n[c+4>>2]=n[Fp+4>>2],Bg(s,4363,c)|0,n[kl>>2]=1,n[kl+4>>2]=0,n[c>>2]=n[kl>>2],n[c+4>>2]=n[kl+4>>2],XA(s,4376,c)|0,n[kp>>2]=2,n[kp+4>>2]=0,n[c>>2]=n[kp>>2],n[c+4>>2]=n[kp+4>>2],XA(s,4388,c)|0,n[Qp>>2]=13,n[Qp+4>>2]=0,n[c>>2]=n[Qp>>2],n[c+4>>2]=n[Qp+4>>2],Bg(s,4402,c)|0,n[ya>>2]=14,n[ya+4>>2]=0,n[c>>2]=n[ya>>2],n[c+4>>2]=n[ya+4>>2],Bg(s,4411,c)|0,n[go>>2]=15,n[go+4>>2]=0,n[c>>2]=n[go>>2],n[c+4>>2]=n[go+4>>2],Bg(s,4421,c)|0,n[ho>>2]=16,n[ho+4>>2]=0,n[c>>2]=n[ho>>2],n[c+4>>2]=n[ho+4>>2],Bg(s,4433,c)|0,n[po>>2]=17,n[po+4>>2]=0,n[c>>2]=n[po>>2],n[c+4>>2]=n[po+4>>2],Bg(s,4446,c)|0,n[Bn>>2]=18,n[Bn+4>>2]=0,n[c>>2]=n[Bn>>2],n[c+4>>2]=n[Bn+4>>2],Bg(s,4458,c)|0,n[rr>>2]=3,n[rr+4>>2]=0,n[c>>2]=n[rr>>2],n[c+4>>2]=n[rr+4>>2],XA(s,4471,c)|0,n[Qr>>2]=1,n[Qr+4>>2]=0,n[c>>2]=n[Qr>>2],n[c+4>>2]=n[Qr+4>>2],Gv(s,4486,c)|0,n[Ir>>2]=10,n[Ir+4>>2]=0,n[c>>2]=n[Ir>>2],n[c+4>>2]=n[Ir+4>>2],zA(s,4496,c)|0,n[Jt>>2]=11,n[Jt+4>>2]=0,n[c>>2]=n[Jt>>2],n[c+4>>2]=n[Jt+4>>2],zA(s,4508,c)|0,n[ir>>2]=3,n[ir+4>>2]=0,n[c>>2]=n[ir>>2],n[c+4>>2]=n[ir+4>>2],EF(s,4519,c)|0,n[Rr>>2]=4,n[Rr+4>>2]=0,n[c>>2]=n[Rr>>2],n[c+4>>2]=n[Rr+4>>2],ADe(s,4530,c)|0,n[Tt>>2]=19,n[Tt+4>>2]=0,n[c>>2]=n[Tt>>2],n[c+4>>2]=n[Tt+4>>2],fDe(s,4542,c)|0,n[Ge>>2]=12,n[Ge+4>>2]=0,n[c>>2]=n[Ge>>2],n[c+4>>2]=n[Ge+4>>2],pDe(s,4554,c)|0,n[He>>2]=13,n[He+4>>2]=0,n[c>>2]=n[He>>2],n[c+4>>2]=n[He+4>>2],hDe(s,4568,c)|0,n[at>>2]=2,n[at+4>>2]=0,n[c>>2]=n[at>>2],n[c+4>>2]=n[at+4>>2],gDe(s,4578,c)|0,n[Ze>>2]=20,n[Ze+4>>2]=0,n[c>>2]=n[Ze>>2],n[c+4>>2]=n[Ze+4>>2],dDe(s,4587,c)|0,n[et>>2]=22,n[et+4>>2]=0,n[c>>2]=n[et>>2],n[c+4>>2]=n[et+4>>2],DI(s,4602,c)|0,n[Re>>2]=23,n[Re+4>>2]=0,n[c>>2]=n[Re>>2],n[c+4>>2]=n[Re+4>>2],DI(s,4619,c)|0,n[Le>>2]=14,n[Le+4>>2]=0,n[c>>2]=n[Le>>2],n[c+4>>2]=n[Le+4>>2],mDe(s,4629,c)|0,n[We>>2]=1,n[We+4>>2]=0,n[c>>2]=n[We>>2],n[c+4>>2]=n[We+4>>2],yDe(s,4637,c)|0,n[se>>2]=4,n[se+4>>2]=0,n[c>>2]=n[se>>2],n[c+4>>2]=n[se+4>>2],XA(s,4653,c)|0,n[j>>2]=5,n[j+4>>2]=0,n[c>>2]=n[j>>2],n[c+4>>2]=n[j+4>>2],XA(s,4669,c)|0,n[O>>2]=6,n[O+4>>2]=0,n[c>>2]=n[O>>2],n[c+4>>2]=n[O+4>>2],XA(s,4686,c)|0,n[M>>2]=7,n[M+4>>2]=0,n[c>>2]=n[M>>2],n[c+4>>2]=n[M+4>>2],XA(s,4701,c)|0,n[k>>2]=8,n[k+4>>2]=0,n[c>>2]=n[k>>2],n[c+4>>2]=n[k+4>>2],XA(s,4719,c)|0,n[Q>>2]=9,n[Q+4>>2]=0,n[c>>2]=n[Q>>2],n[c+4>>2]=n[Q+4>>2],XA(s,4736,c)|0,n[B>>2]=21,n[B+4>>2]=0,n[c>>2]=n[B>>2],n[c+4>>2]=n[B+4>>2],CDe(s,4754,c)|0,n[m>>2]=2,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],Gv(s,4772,c)|0,n[d>>2]=3,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],Gv(s,4790,c)|0,n[f>>2]=4,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],Gv(s,4808,c)|0,C=l}function oDe(s,l){s=s|0,l=l|0;var c=0;c=DFe()|0,n[s>>2]=c,SFe(c,l),Pp(n[s>>2]|0)}function aDe(s,l,c){return s=s|0,l=l|0,c=c|0,AFe(s,cn(l)|0,c,0),s|0}function lDe(s,l,c){return s=s|0,l=l|0,c=c|0,Jke(s,cn(l)|0,c,0),s|0}function cDe(s,l,c){return s=s|0,l=l|0,c=c|0,Nke(s,cn(l)|0,c,0),s|0}function DI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Cke(s,l,d),C=f,s|0}function uDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eke(s,l,d),C=f,s|0}function Ru(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MQe(s,l,d),C=f,s|0}function wg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wQe(s,l,d),C=f,s|0}function Es(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],oQe(s,l,d),C=f,s|0}function zA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Gbe(s,l,d),C=f,s|0}function EF(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],xbe(s,l,d),C=f,s|0}function Bg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ebe(s,l,d),C=f,s|0}function XA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Mxe(s,l,d),C=f,s|0}function Gv(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wxe(s,l,d),C=f,s|0}function ADe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],oxe(s,l,d),C=f,s|0}function fDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],GPe(s,l,d),C=f,s|0}function pDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],bPe(s,l,d),C=f,s|0}function hDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hPe(s,l,d),C=f,s|0}function gDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],XSe(s,l,d),C=f,s|0}function dDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],TSe(s,l,d),C=f,s|0}function mDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ySe(s,l,d),C=f,s|0}function yDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eSe(s,l,d),C=f,s|0}function CDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],EDe(s,l,d),C=f,s|0}function EDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],IDe(s,c,d,1),C=f}function cn(s){return s=s|0,s|0}function IDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=IF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=wDe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,BDe(m,f)|0,f),C=d}function IF(){var s=0,l=0;if(o[7616]|0||(XG(9136),Zt(24,9136,_|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(br(9136)|0)){s=9136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));XG(9136)}return 9136}function wDe(s){return s=s|0,0}function BDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=IF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],zG(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(SDe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function un(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0;B=C,C=C+32|0,se=B+24|0,j=B+20|0,k=B+16|0,O=B+12|0,M=B+8|0,Q=B+4|0,We=B,n[j>>2]=l,n[k>>2]=c,n[O>>2]=f,n[M>>2]=d,n[Q>>2]=m,m=s+28|0,n[We>>2]=n[m>>2],n[se>>2]=n[We>>2],vDe(s+24|0,se,j,O,M,k,Q)|0,n[m>>2]=n[n[m>>2]>>2],C=B}function vDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s=DDe(l)|0,l=Gt(24)|0,JG(l+4|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[s>>2],n[s>>2]=l,l|0}function DDe(s){return s=s|0,n[s>>2]|0}function JG(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function Ar(s,l){return s=s|0,l=l|0,l|s|0}function zG(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function SDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=PDe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,xDe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],zG(m,f,c),n[k>>2]=(n[k>>2]|0)+12,bDe(s,Q),QDe(Q),C=M;return}}function PDe(s){return s=s|0,357913941}function xDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function QDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function XG(s){s=s|0,RDe(s)}function kDe(s){s=s|0,FDe(s+24|0)}function br(s){return s=s|0,n[s>>2]|0}function FDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function RDe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,3,l,TDe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Gr(){return 9228}function TDe(){return 1140}function NDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=LDe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=ODe(l,f)|0,C=c,l|0}function Wr(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function LDe(s){return s=s|0,(n[(IF()|0)+24>>2]|0)+(s*12|0)|0}function ODe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+48|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=MDe(f)|0,C=d,f|0}function MDe(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=wF(ZG()|0)|0,f?(BF(l,f),vF(c,l),UDe(s,c),s=DF(l)|0):s=_De(s)|0,C=d,s|0}function ZG(){var s=0;return o[7632]|0||(zDe(9184),Zt(25,9184,_|0)|0,s=7632,n[s>>2]=1,n[s+4>>2]=0),9184}function wF(s){return s=s|0,n[s+36>>2]|0}function BF(s,l){s=s|0,l=l|0,n[s>>2]=l,n[s+4>>2]=s,n[s+8>>2]=0}function vF(s,l){s=s|0,l=l|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=0}function UDe(s,l){s=s|0,l=l|0,GDe(l,s,s+8|0,s+16|0,s+24|0,s+32|0,s+40|0)|0}function DF(s){return s=s|0,n[(n[s+4>>2]|0)+8>>2]|0}function _De(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0;k=C,C=C+16|0,c=k+4|0,f=k,d=Ja(8)|0,m=d,B=Gt(48)|0,Q=B,l=Q+48|0;do n[Q>>2]=n[s>>2],Q=Q+4|0,s=s+4|0;while((Q|0)<(l|0));return l=m+4|0,n[l>>2]=B,Q=Gt(8)|0,B=n[l>>2]|0,n[f>>2]=0,n[c>>2]=n[f>>2],$G(Q,B,c),n[d>>2]=Q,C=k,m|0}function $G(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1092,n[c+12>>2]=l,n[s+4>>2]=c}function HDe(s){s=s|0,Zm(s),pt(s)}function qDe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function jDe(s){s=s|0,pt(s)}function GDe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,m=WDe(n[s>>2]|0,l,c,f,d,m,B)|0,B=s+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function WDe(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0;var Q=0,k=0;return Q=C,C=C+16|0,k=Q,za(k),s=da(s)|0,B=YDe(s,+E[l>>3],+E[c>>3],+E[f>>3],+E[d>>3],+E[m>>3],+E[B>>3])|0,Xa(k),C=Q,B|0}function YDe(s,l,c,f,d,m,B){s=s|0,l=+l,c=+c,f=+f,d=+d,m=+m,B=+B;var Q=0;return Q=bl(KDe()|0)|0,l=+JA(l),c=+JA(c),f=+JA(f),d=+JA(d),m=+JA(m),Fs(0,Q|0,s|0,+l,+c,+f,+d,+m,+ +JA(B))|0}function KDe(){var s=0;return o[7624]|0||(VDe(9172),s=7624,n[s>>2]=1,n[s+4>>2]=0),9172}function VDe(s){s=s|0,Ql(s,JDe()|0,6)}function JDe(){return 1112}function zDe(s){s=s|0,wp(s)}function XDe(s){s=s|0,e9(s+24|0),t9(s+16|0)}function e9(s){s=s|0,$De(s)}function t9(s){s=s|0,ZDe(s)}function ZDe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function $De(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function wp(s){s=s|0;var l=0;n[s+16>>2]=0,n[s+20>>2]=0,l=s+24|0,n[l>>2]=0,n[s+28>>2]=l,n[s+36>>2]=0,o[s+40>>0]=0,o[s+41>>0]=0}function eSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tSe(s,c,d,0),C=f}function tSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=SF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,nSe(m,f)|0,f),C=d}function SF(){var s=0,l=0;if(o[7640]|0||(n9(9232),Zt(26,9232,_|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(br(9232)|0)){s=9232,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));n9(9232)}return 9232}function rSe(s){return s=s|0,0}function nSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=SF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],r9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(iSe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function r9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function iSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=sSe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,oSe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],r9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,aSe(s,Q),lSe(Q),C=M;return}}function sSe(s){return s=s|0,357913941}function oSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function aSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function lSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function n9(s){s=s|0,ASe(s)}function cSe(s){s=s|0,uSe(s+24|0)}function uSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function ASe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,fSe()|0,3),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function fSe(){return 1144}function pSe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,k=0;m=C,C=C+16|0,B=m+8|0,Q=m,k=hSe(s)|0,s=n[k+4>>2]|0,n[Q>>2]=n[k>>2],n[Q+4>>2]=s,n[B>>2]=n[Q>>2],n[B+4>>2]=n[Q+4>>2],gSe(l,B,c,f,d),C=m}function hSe(s){return s=s|0,(n[(SF()|0)+24>>2]|0)+(s*12|0)|0}function gSe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,Q=0,k=0,M=0;M=C,C=C+16|0,B=M+2|0,Q=M+1|0,k=M,m=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(m=n[(n[s>>2]|0)+m>>2]|0),Tu(B,c),c=+Nu(B,c),Tu(Q,f),f=+Nu(Q,f),ZA(k,d),k=$A(k,d)|0,y7[m&1](s,c,f,k),C=M}function Tu(s,l){s=s|0,l=+l}function Nu(s,l){return s=s|0,l=+l,+ +mSe(l)}function ZA(s,l){s=s|0,l=l|0}function $A(s,l){return s=s|0,l=l|0,dSe(l)|0}function dSe(s){return s=s|0,s|0}function mSe(s){return s=+s,+s}function ySe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],CSe(s,c,d,1),C=f}function CSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=PF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ESe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,ISe(m,f)|0,f),C=d}function PF(){var s=0,l=0;if(o[7648]|0||(s9(9268),Zt(27,9268,_|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(br(9268)|0)){s=9268,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));s9(9268)}return 9268}function ESe(s){return s=s|0,0}function ISe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=PF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],i9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(wSe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function i9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function wSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=BSe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,vSe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],i9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,DSe(s,Q),SSe(Q),C=M;return}}function BSe(s){return s=s|0,357913941}function vSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function DSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function SSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function s9(s){s=s|0,bSe(s)}function PSe(s){s=s|0,xSe(s+24|0)}function xSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function bSe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,4,l,QSe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function QSe(){return 1160}function kSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=FSe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=RSe(l,f)|0,C=c,l|0}function FSe(s){return s=s|0,(n[(PF()|0)+24>>2]|0)+(s*12|0)|0}function RSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),o9(Fg[c&31](s)|0)|0}function o9(s){return s=s|0,s&1|0}function TSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],NSe(s,c,d,0),C=f}function NSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=xF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=LSe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,OSe(m,f)|0,f),C=d}function xF(){var s=0,l=0;if(o[7656]|0||(l9(9304),Zt(28,9304,_|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(br(9304)|0)){s=9304,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));l9(9304)}return 9304}function LSe(s){return s=s|0,0}function OSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=xF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],a9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(MSe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function a9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function MSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=USe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,_Se(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],a9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,HSe(s,Q),qSe(Q),C=M;return}}function USe(s){return s=s|0,357913941}function _Se(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function HSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function l9(s){s=s|0,WSe(s)}function jSe(s){s=s|0,GSe(s+24|0)}function GSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function WSe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,YSe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function YSe(){return 1164}function KSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=VSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],JSe(l,d,c),C=f}function VSe(s){return s=s|0,(n[(xF()|0)+24>>2]|0)+(s*12|0)|0}function JSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Bp(d,c),c=vp(d,c)|0,rf[f&31](s,c),Dp(d),C=m}function Bp(s,l){s=s|0,l=l|0,zSe(s,l)}function vp(s,l){return s=s|0,l=l|0,s|0}function Dp(s){s=s|0,jA(s)}function zSe(s,l){s=s|0,l=l|0,bF(s,l)}function bF(s,l){s=s|0,l=l|0,n[s>>2]=l}function XSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ZSe(s,c,d,0),C=f}function ZSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=QF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=$Se(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,ePe(m,f)|0,f),C=d}function QF(){var s=0,l=0;if(o[7664]|0||(u9(9340),Zt(29,9340,_|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(br(9340)|0)){s=9340,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));u9(9340)}return 9340}function $Se(s){return s=s|0,0}function ePe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=QF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],c9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(tPe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function c9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function tPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=rPe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,nPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],c9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,iPe(s,Q),sPe(Q),C=M;return}}function rPe(s){return s=s|0,357913941}function nPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function iPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function sPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function u9(s){s=s|0,lPe(s)}function oPe(s){s=s|0,aPe(s+24|0)}function aPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function lPe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,4,l,cPe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function cPe(){return 1180}function uPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=APe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=fPe(l,d,c)|0,C=f,c|0}function APe(s){return s=s|0,(n[(QF()|0)+24>>2]|0)+(s*12|0)|0}function fPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),vg(d,c),d=Dg(d,c)|0,d=Wv(SR[f&15](s,d)|0)|0,C=m,d|0}function vg(s,l){s=s|0,l=l|0}function Dg(s,l){return s=s|0,l=l|0,pPe(l)|0}function Wv(s){return s=s|0,s|0}function pPe(s){return s=s|0,s|0}function hPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],gPe(s,c,d,0),C=f}function gPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=kF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=dPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,mPe(m,f)|0,f),C=d}function kF(){var s=0,l=0;if(o[7672]|0||(f9(9376),Zt(30,9376,_|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(br(9376)|0)){s=9376,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));f9(9376)}return 9376}function dPe(s){return s=s|0,0}function mPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=kF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],A9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(yPe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function A9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function yPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=CPe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,EPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],A9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,IPe(s,Q),wPe(Q),C=M;return}}function CPe(s){return s=s|0,357913941}function EPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function IPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function wPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function f9(s){s=s|0,DPe(s)}function BPe(s){s=s|0,vPe(s+24|0)}function vPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function DPe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,p9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function p9(){return 1196}function SPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=PPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=xPe(l,f)|0,C=c,l|0}function PPe(s){return s=s|0,(n[(kF()|0)+24>>2]|0)+(s*12|0)|0}function xPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),Wv(Fg[c&31](s)|0)|0}function bPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],QPe(s,c,d,1),C=f}function QPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=FF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=kPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,FPe(m,f)|0,f),C=d}function FF(){var s=0,l=0;if(o[7680]|0||(g9(9412),Zt(31,9412,_|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(br(9412)|0)){s=9412,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));g9(9412)}return 9412}function kPe(s){return s=s|0,0}function FPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=FF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],h9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(RPe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function h9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function RPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=TPe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,NPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],h9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,LPe(s,Q),OPe(Q),C=M;return}}function TPe(s){return s=s|0,357913941}function NPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function LPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function OPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function g9(s){s=s|0,_Pe(s)}function MPe(s){s=s|0,UPe(s+24|0)}function UPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function _Pe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,d9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function d9(){return 1200}function HPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=qPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=jPe(l,f)|0,C=c,l|0}function qPe(s){return s=s|0,(n[(FF()|0)+24>>2]|0)+(s*12|0)|0}function jPe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),Yv(Fg[c&31](s)|0)|0}function Yv(s){return s=s|0,s|0}function GPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],WPe(s,c,d,0),C=f}function WPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=RF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=YPe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,KPe(m,f)|0,f),C=d}function RF(){var s=0,l=0;if(o[7688]|0||(y9(9448),Zt(32,9448,_|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(br(9448)|0)){s=9448,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));y9(9448)}return 9448}function YPe(s){return s=s|0,0}function KPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=RF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],m9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(VPe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function m9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function VPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=JPe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,zPe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],m9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,XPe(s,Q),ZPe(Q),C=M;return}}function JPe(s){return s=s|0,357913941}function zPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function XPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ZPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function y9(s){s=s|0,txe(s)}function $Pe(s){s=s|0,exe(s+24|0)}function exe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function txe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,C9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function C9(){return 1204}function rxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=nxe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ixe(l,d,c),C=f}function nxe(s){return s=s|0,(n[(RF()|0)+24>>2]|0)+(s*12|0)|0}function ixe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),TF(d,c),d=NF(d,c)|0,rf[f&31](s,d),C=m}function TF(s,l){s=s|0,l=l|0}function NF(s,l){return s=s|0,l=l|0,sxe(l)|0}function sxe(s){return s=s|0,s|0}function oxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],axe(s,c,d,0),C=f}function axe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=LF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=lxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,cxe(m,f)|0,f),C=d}function LF(){var s=0,l=0;if(o[7696]|0||(I9(9484),Zt(33,9484,_|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(br(9484)|0)){s=9484,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));I9(9484)}return 9484}function lxe(s){return s=s|0,0}function cxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=LF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],E9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(uxe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function E9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function uxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Axe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,fxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],E9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,pxe(s,Q),hxe(Q),C=M;return}}function Axe(s){return s=s|0,357913941}function fxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function pxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function hxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function I9(s){s=s|0,mxe(s)}function gxe(s){s=s|0,dxe(s+24|0)}function dxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function mxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,yxe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function yxe(){return 1212}function Cxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+8|0,B=d,Q=Exe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],Ixe(l,m,c,f),C=d}function Exe(s){return s=s|0,(n[(LF()|0)+24>>2]|0)+(s*12|0)|0}function Ixe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=C,C=C+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),TF(m,c),m=NF(m,c)|0,vg(B,f),B=Dg(B,f)|0,FI[d&15](s,m,B),C=Q}function wxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Bxe(s,c,d,1),C=f}function Bxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=OF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=vxe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Dxe(m,f)|0,f),C=d}function OF(){var s=0,l=0;if(o[7704]|0||(B9(9520),Zt(34,9520,_|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(br(9520)|0)){s=9520,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));B9(9520)}return 9520}function vxe(s){return s=s|0,0}function Dxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=OF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],w9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Sxe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function w9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Sxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Pxe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,xxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],w9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,bxe(s,Q),Qxe(Q),C=M;return}}function Pxe(s){return s=s|0,357913941}function xxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Qxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function B9(s){s=s|0,Rxe(s)}function kxe(s){s=s|0,Fxe(s+24|0)}function Fxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Rxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,Txe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Txe(){return 1224}function Nxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;return d=C,C=C+16|0,m=d+8|0,B=d,Q=Lxe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],f=+Oxe(l,m,c),C=d,+f}function Lxe(s){return s=s|0,(n[(OF()|0)+24>>2]|0)+(s*12|0)|0}function Oxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,B=+CF(+E7[f&7](s,d)),C=m,+B}function Mxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Uxe(s,c,d,1),C=f}function Uxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=MF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=_xe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Hxe(m,f)|0,f),C=d}function MF(){var s=0,l=0;if(o[7712]|0||(D9(9556),Zt(35,9556,_|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(br(9556)|0)){s=9556,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));D9(9556)}return 9556}function _xe(s){return s=s|0,0}function Hxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=MF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],v9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(qxe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function v9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function qxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=jxe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Gxe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],v9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Wxe(s,Q),Yxe(Q),C=M;return}}function jxe(s){return s=s|0,357913941}function Gxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Wxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Yxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function D9(s){s=s|0,Jxe(s)}function Kxe(s){s=s|0,Vxe(s+24|0)}function Vxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Jxe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,zxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function zxe(){return 1232}function Xxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=Zxe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=+$xe(l,d),C=f,+c}function Zxe(s){return s=s|0,(n[(MF()|0)+24>>2]|0)+(s*12|0)|0}function $xe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),+ +CF(+C7[c&15](s))}function ebe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tbe(s,c,d,1),C=f}function tbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=UF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,nbe(m,f)|0,f),C=d}function UF(){var s=0,l=0;if(o[7720]|0||(P9(9592),Zt(36,9592,_|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(br(9592)|0)){s=9592,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));P9(9592)}return 9592}function rbe(s){return s=s|0,0}function nbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=UF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],S9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ibe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function S9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ibe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=sbe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,obe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],S9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,abe(s,Q),lbe(Q),C=M;return}}function sbe(s){return s=s|0,357913941}function obe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function abe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function lbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function P9(s){s=s|0,Abe(s)}function cbe(s){s=s|0,ube(s+24|0)}function ube(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Abe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,7,l,fbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function fbe(){return 1276}function pbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=hbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=gbe(l,f)|0,C=c,l|0}function hbe(s){return s=s|0,(n[(UF()|0)+24>>2]|0)+(s*12|0)|0}function gbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+16|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=x9(f)|0,C=d,f|0}function x9(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=wF(b9()|0)|0,f?(BF(l,f),vF(c,l),dbe(s,c),s=DF(l)|0):s=mbe(s)|0,C=d,s|0}function b9(){var s=0;return o[7736]|0||(Pbe(9640),Zt(25,9640,_|0)|0,s=7736,n[s>>2]=1,n[s+4>>2]=0),9640}function dbe(s,l){s=s|0,l=l|0,Ibe(l,s,s+8|0)|0}function mbe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ja(8)|0,l=f,Q=Gt(16)|0,n[Q>>2]=n[s>>2],n[Q+4>>2]=n[s+4>>2],n[Q+8>>2]=n[s+8>>2],n[Q+12>>2]=n[s+12>>2],m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],_F(s,m,d),n[f>>2]=s,C=c,l|0}function _F(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1244,n[c+12>>2]=l,n[s+4>>2]=c}function ybe(s){s=s|0,Zm(s),pt(s)}function Cbe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function Ebe(s){s=s|0,pt(s)}function Ibe(s,l,c){return s=s|0,l=l|0,c=c|0,l=wbe(n[s>>2]|0,l,c)|0,c=s+4|0,n[(n[c>>2]|0)+8>>2]=l,n[(n[c>>2]|0)+8>>2]|0}function wbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return f=C,C=C+16|0,d=f,za(d),s=da(s)|0,c=Bbe(s,n[l>>2]|0,+E[c>>3])|0,Xa(d),C=f,c|0}function Bbe(s,l,c){s=s|0,l=l|0,c=+c;var f=0;return f=bl(vbe()|0)|0,l=yF(l)|0,Cl(0,f|0,s|0,l|0,+ +JA(c))|0}function vbe(){var s=0;return o[7728]|0||(Dbe(9628),s=7728,n[s>>2]=1,n[s+4>>2]=0),9628}function Dbe(s){s=s|0,Ql(s,Sbe()|0,2)}function Sbe(){return 1264}function Pbe(s){s=s|0,wp(s)}function xbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],bbe(s,c,d,1),C=f}function bbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=HF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Qbe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,kbe(m,f)|0,f),C=d}function HF(){var s=0,l=0;if(o[7744]|0||(k9(9684),Zt(37,9684,_|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(br(9684)|0)){s=9684,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));k9(9684)}return 9684}function Qbe(s){return s=s|0,0}function kbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=HF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Q9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Fbe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function Q9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Fbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Rbe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Tbe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],Q9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Nbe(s,Q),Lbe(Q),C=M;return}}function Rbe(s){return s=s|0,357913941}function Tbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Nbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Lbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function k9(s){s=s|0,Ube(s)}function Obe(s){s=s|0,Mbe(s+24|0)}function Mbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Ube(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,5,l,_be()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function _be(){return 1280}function Hbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=qbe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=jbe(l,d,c)|0,C=f,c|0}function qbe(s){return s=s|0,(n[(HF()|0)+24>>2]|0)+(s*12|0)|0}function jbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return B=C,C=C+32|0,d=B,m=B+16|0,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(m,c),m=$A(m,c)|0,FI[f&15](d,s,m),m=x9(d)|0,C=B,m|0}function Gbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Wbe(s,c,d,1),C=f}function Wbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=qF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Ybe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,Kbe(m,f)|0,f),C=d}function qF(){var s=0,l=0;if(o[7752]|0||(R9(9720),Zt(38,9720,_|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(br(9720)|0)){s=9720,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));R9(9720)}return 9720}function Ybe(s){return s=s|0,0}function Kbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=qF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],F9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Vbe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function F9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Vbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Jbe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,zbe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],F9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Xbe(s,Q),Zbe(Q),C=M;return}}function Jbe(s){return s=s|0,357913941}function zbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Xbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Zbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function R9(s){s=s|0,tQe(s)}function $be(s){s=s|0,eQe(s+24|0)}function eQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function tQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,rQe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function rQe(){return 1288}function nQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=iQe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=sQe(l,f)|0,C=c,l|0}function iQe(s){return s=s|0,(n[(qF()|0)+24>>2]|0)+(s*12|0)|0}function sQe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),VG(Fg[c&31](s)|0)|0}function oQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],aQe(s,c,d,0),C=f}function aQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=jF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=lQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,cQe(m,f)|0,f),C=d}function jF(){var s=0,l=0;if(o[7760]|0||(N9(9756),Zt(39,9756,_|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(br(9756)|0)){s=9756,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));N9(9756)}return 9756}function lQe(s){return s=s|0,0}function cQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=jF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],T9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(uQe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function T9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function uQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=AQe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,fQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],T9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,pQe(s,Q),hQe(Q),C=M;return}}function AQe(s){return s=s|0,357913941}function fQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function pQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function hQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function N9(s){s=s|0,mQe(s)}function gQe(s){s=s|0,dQe(s+24|0)}function dQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function mQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,yQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function yQe(){return 1292}function CQe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=EQe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],IQe(l,d,c),C=f}function EQe(s){return s=s|0,(n[(jF()|0)+24>>2]|0)+(s*12|0)|0}function IQe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Tu(d,c),c=+Nu(d,c),d7[f&31](s,c),C=m}function wQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],BQe(s,c,d,0),C=f}function BQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=GF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=vQe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,DQe(m,f)|0,f),C=d}function GF(){var s=0,l=0;if(o[7768]|0||(O9(9792),Zt(40,9792,_|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(br(9792)|0)){s=9792,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));O9(9792)}return 9792}function vQe(s){return s=s|0,0}function DQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=GF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],L9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(SQe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function L9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function SQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=PQe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,xQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],L9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,bQe(s,Q),QQe(Q),C=M;return}}function PQe(s){return s=s|0,357913941}function xQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function QQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function O9(s){s=s|0,RQe(s)}function kQe(s){s=s|0,FQe(s+24|0)}function FQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function RQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,1,l,TQe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function TQe(){return 1300}function NQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+8|0,B=d,Q=LQe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],OQe(l,m,c,f),C=d}function LQe(s){return s=s|0,(n[(GF()|0)+24>>2]|0)+(s*12|0)|0}function OQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,Q=0;Q=C,C=C+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,Tu(B,f),f=+Nu(B,f),v7[d&15](s,m,f),C=Q}function MQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],UQe(s,c,d,0),C=f}function UQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=WF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=_Qe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,HQe(m,f)|0,f),C=d}function WF(){var s=0,l=0;if(o[7776]|0||(U9(9828),Zt(41,9828,_|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(br(9828)|0)){s=9828,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));U9(9828)}return 9828}function _Qe(s){return s=s|0,0}function HQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=WF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],M9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(qQe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function M9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function qQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=jQe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,GQe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],M9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,WQe(s,Q),YQe(Q),C=M;return}}function jQe(s){return s=s|0,357913941}function GQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function WQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function YQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function U9(s){s=s|0,JQe(s)}function KQe(s){s=s|0,VQe(s+24|0)}function VQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function JQe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,7,l,zQe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function zQe(){return 1312}function XQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=ZQe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$Qe(l,d,c),C=f}function ZQe(s){return s=s|0,(n[(WF()|0)+24>>2]|0)+(s*12|0)|0}function $Qe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,rf[f&31](s,d),C=m}function eke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tke(s,c,d,0),C=f}function tke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=YF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rke(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,nke(m,f)|0,f),C=d}function YF(){var s=0,l=0;if(o[7784]|0||(H9(9864),Zt(42,9864,_|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(br(9864)|0)){s=9864,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));H9(9864)}return 9864}function rke(s){return s=s|0,0}function nke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=YF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],_9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ike(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function _9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ike(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=ske(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,oke(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],_9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,ake(s,Q),lke(Q),C=M;return}}function ske(s){return s=s|0,357913941}function oke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function ake(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function lke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function H9(s){s=s|0,Ake(s)}function cke(s){s=s|0,uke(s+24|0)}function uke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Ake(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,8,l,fke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function fke(){return 1320}function pke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=hke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],gke(l,d,c),C=f}function hke(s){return s=s|0,(n[(YF()|0)+24>>2]|0)+(s*12|0)|0}function gke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),dke(d,c),d=mke(d,c)|0,rf[f&31](s,d),C=m}function dke(s,l){s=s|0,l=l|0}function mke(s,l){return s=s|0,l=l|0,yke(l)|0}function yke(s){return s=s|0,s|0}function Cke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Eke(s,c,d,0),C=f}function Eke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=KF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Ike(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,wke(m,f)|0,f),C=d}function KF(){var s=0,l=0;if(o[7792]|0||(j9(9900),Zt(43,9900,_|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(br(9900)|0)){s=9900,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));j9(9900)}return 9900}function Ike(s){return s=s|0,0}function wke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=KF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],q9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Bke(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function q9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Bke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=vke(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,Dke(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],q9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,Ske(s,Q),Pke(Q),C=M;return}}function vke(s){return s=s|0,357913941}function Dke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Ske(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Pke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function j9(s){s=s|0,Qke(s)}function xke(s){s=s|0,bke(s+24|0)}function bke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function Qke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,22,l,kke()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function kke(){return 1344}function Fke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;c=C,C=C+16|0,f=c+8|0,d=c,m=Rke(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],Tke(l,f),C=c}function Rke(s){return s=s|0,(n[(KF()|0)+24>>2]|0)+(s*12|0)|0}function Tke(s,l){s=s|0,l=l|0;var c=0;c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),tf[c&127](s)}function Nke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=VF()|0,s=Lke(c)|0,un(m,l,d,s,Oke(c,f)|0,f)}function VF(){var s=0,l=0;if(o[7800]|0||(W9(9936),Zt(44,9936,_|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(br(9936)|0)){s=9936,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W9(9936)}return 9936}function Lke(s){return s=s|0,s|0}function Oke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=VF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(G9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(Mke(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function G9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function Mke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=Uke(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,_ke(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,G9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,Hke(s,d),qke(d),C=Q;return}}function Uke(s){return s=s|0,536870911}function _ke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function Hke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function W9(s){s=s|0,Wke(s)}function jke(s){s=s|0,Gke(s+24|0)}function Gke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function Wke(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,23,l,C9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Yke(s,l){s=s|0,l=l|0,Vke(n[(Kke(s)|0)>>2]|0,l)}function Kke(s){return s=s|0,(n[(VF()|0)+24>>2]|0)+(s<<3)|0}function Vke(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,TF(f,l),l=NF(f,l)|0,tf[s&127](l),C=c}function Jke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=JF()|0,s=zke(c)|0,un(m,l,d,s,Xke(c,f)|0,f)}function JF(){var s=0,l=0;if(o[7808]|0||(K9(9972),Zt(45,9972,_|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(br(9972)|0)){s=9972,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));K9(9972)}return 9972}function zke(s){return s=s|0,s|0}function Xke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=JF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(Y9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(Zke(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function Y9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function Zke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=$ke(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,eFe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,Y9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,tFe(s,d),rFe(d),C=Q;return}}function $ke(s){return s=s|0,536870911}function eFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function tFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function rFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function K9(s){s=s|0,sFe(s)}function nFe(s){s=s|0,iFe(s+24|0)}function iFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function sFe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,9,l,oFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function oFe(){return 1348}function aFe(s,l){return s=s|0,l=l|0,cFe(n[(lFe(s)|0)>>2]|0,l)|0}function lFe(s){return s=s|0,(n[(JF()|0)+24>>2]|0)+(s<<3)|0}function cFe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,V9(f,l),l=J9(f,l)|0,l=Wv(Fg[s&31](l)|0)|0,C=c,l|0}function V9(s,l){s=s|0,l=l|0}function J9(s,l){return s=s|0,l=l|0,uFe(l)|0}function uFe(s){return s=s|0,s|0}function AFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=zF()|0,s=fFe(c)|0,un(m,l,d,s,pFe(c,f)|0,f)}function zF(){var s=0,l=0;if(o[7816]|0||(X9(10008),Zt(46,10008,_|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(br(10008)|0)){s=10008,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));X9(10008)}return 10008}function fFe(s){return s=s|0,s|0}function pFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=zF()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(z9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(hFe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function z9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function hFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=gFe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,dFe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,z9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,mFe(s,d),yFe(d),C=Q;return}}function gFe(s){return s=s|0,536870911}function dFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function mFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function yFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function X9(s){s=s|0,IFe(s)}function CFe(s){s=s|0,EFe(s+24|0)}function EFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function IFe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,15,l,p9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function wFe(s){return s=s|0,vFe(n[(BFe(s)|0)>>2]|0)|0}function BFe(s){return s=s|0,(n[(zF()|0)+24>>2]|0)+(s<<3)|0}function vFe(s){return s=s|0,Wv(oD[s&7]()|0)|0}function DFe(){var s=0;return o[7832]|0||(RFe(10052),Zt(25,10052,_|0)|0,s=7832,n[s>>2]=1,n[s+4>>2]=0),10052}function SFe(s,l){s=s|0,l=l|0,n[s>>2]=PFe()|0,n[s+4>>2]=xFe()|0,n[s+12>>2]=l,n[s+8>>2]=bFe()|0,n[s+32>>2]=2}function PFe(){return 11709}function xFe(){return 1188}function bFe(){return Kv()|0}function QFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(kFe(c),pt(c)):l|0&&(Qu(l),pt(l))}function Sp(s,l){return s=s|0,l=l|0,l&s|0}function kFe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function Kv(){var s=0;return o[7824]|0||(n[2511]=FFe()|0,n[2512]=0,s=7824,n[s>>2]=1,n[s+4>>2]=0),10044}function FFe(){return 0}function RFe(s){s=s|0,wp(s)}function TFe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0;l=C,C=C+32|0,c=l+24|0,m=l+16|0,d=l+8|0,f=l,NFe(s,4827),LFe(s,4834,3)|0,OFe(s,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],MFe(s,4841,c)|0,n[d>>2]=1,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],UFe(s,4871,c)|0,n[f>>2]=10,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],_Fe(s,4891,c)|0,C=l}function NFe(s,l){s=s|0,l=l|0;var c=0;c=yTe()|0,n[s>>2]=c,CTe(c,l),Pp(n[s>>2]|0)}function LFe(s,l,c){return s=s|0,l=l|0,c=c|0,rTe(s,cn(l)|0,c,0),s|0}function OFe(s,l,c){return s=s|0,l=l|0,c=c|0,HRe(s,cn(l)|0,c,0),s|0}function MFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wRe(s,l,d),C=f,s|0}function UFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nRe(s,l,d),C=f,s|0}function _Fe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],HFe(s,l,d),C=f,s|0}function HFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],qFe(s,c,d,1),C=f}function qFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=XF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=jFe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,GFe(m,f)|0,f),C=d}function XF(){var s=0,l=0;if(o[7840]|0||($9(10100),Zt(48,10100,_|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(br(10100)|0)){s=10100,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));$9(10100)}return 10100}function jFe(s){return s=s|0,0}function GFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=XF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],Z9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(WFe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function Z9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function WFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=YFe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,KFe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],Z9(m,f,c),n[k>>2]=(n[k>>2]|0)+12,VFe(s,Q),JFe(Q),C=M;return}}function YFe(s){return s=s|0,357913941}function KFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function VFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function JFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function $9(s){s=s|0,ZFe(s)}function zFe(s){s=s|0,XFe(s+24|0)}function XFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function ZFe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,6,l,$Fe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function $Fe(){return 1364}function eRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=tRe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=rRe(l,d,c)|0,C=f,c|0}function tRe(s){return s=s|0,(n[(XF()|0)+24>>2]|0)+(s*12|0)|0}function rRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,d=o9(SR[f&15](s,d)|0)|0,C=m,d|0}function nRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],iRe(s,c,d,0),C=f}function iRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=ZF()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=sRe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,oRe(m,f)|0,f),C=d}function ZF(){var s=0,l=0;if(o[7848]|0||(t5(10136),Zt(49,10136,_|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(br(10136)|0)){s=10136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));t5(10136)}return 10136}function sRe(s){return s=s|0,0}function oRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=ZF()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],e5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(aRe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function e5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function aRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=lRe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,cRe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],e5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,uRe(s,Q),ARe(Q),C=M;return}}function lRe(s){return s=s|0,357913941}function cRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function uRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ARe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function t5(s){s=s|0,hRe(s)}function fRe(s){s=s|0,pRe(s+24|0)}function pRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function hRe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,9,l,gRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function gRe(){return 1372}function dRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=mRe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],yRe(l,d,c),C=f}function mRe(s){return s=s|0,(n[(ZF()|0)+24>>2]|0)+(s*12|0)|0}function yRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=$e;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),CRe(d,c),B=y(ERe(d,c)),g7[f&1](s,B),C=m}function CRe(s,l){s=s|0,l=+l}function ERe(s,l){return s=s|0,l=+l,y(IRe(l))}function IRe(s){return s=+s,y(s)}function wRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,d=f+8|0,m=f,Q=n[c>>2]|0,B=n[c+4>>2]|0,c=cn(l)|0,n[m>>2]=Q,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],BRe(s,c,d,0),C=f}function BRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0,k=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,Q=d,M=n[c>>2]|0,k=n[c+4>>2]|0,B=n[s>>2]|0,s=$F()|0,n[O>>2]=M,n[O+4>>2]=k,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=vRe(m)|0,n[Q>>2]=M,n[Q+4>>2]=k,n[m>>2]=n[Q>>2],n[m+4>>2]=n[Q+4>>2],un(B,l,s,c,DRe(m,f)|0,f),C=d}function $F(){var s=0,l=0;if(o[7856]|0||(n5(10172),Zt(50,10172,_|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(br(10172)|0)){s=10172,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));n5(10172)}return 10172}function vRe(s){return s=s|0,0}function DRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,Q=O,k=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[Q>>2]=m,n[Q+4>>2]=f,j=$F()|0,M=j+24|0,s=Ar(l,4)|0,n[k>>2]=s,l=j+28|0,c=n[l>>2]|0,c>>>0<(n[j+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],r5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(SRe(M,Q,k),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function r5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function SRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,Q=M,k=s+4|0,d=(((n[k>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=PRe(s)|0,m>>>0<d>>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,j=se<<1,xRe(Q,se>>>0<m>>>1>>>0?j>>>0<d>>>0?d:j:m,((n[k>>2]|0)-O|0)/12|0,s+8|0),k=Q+8|0,m=n[k>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],r5(m,f,c),n[k>>2]=(n[k>>2]|0)+12,bRe(s,Q),QRe(Q),C=M;return}}function PRe(s){return s=s|0,357913941}function xRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Rt();else{d=Gt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function QRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&&pt(s)}function n5(s){s=s|0,RRe(s)}function kRe(s){s=s|0,FRe(s+24|0)}function FRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),pt(c))}function RRe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,2,3,l,TRe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function TRe(){return 1380}function NRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+8|0,B=d,Q=LRe(s)|0,s=n[Q+4>>2]|0,n[B>>2]=n[Q>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],ORe(l,m,c,f),C=d}function LRe(s){return s=s|0,(n[($F()|0)+24>>2]|0)+(s*12|0)|0}function ORe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;Q=C,C=C+16|0,m=Q+1|0,B=Q,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,MRe(B,f),B=URe(B,f)|0,FI[d&15](s,m,B),C=Q}function MRe(s,l){s=s|0,l=l|0}function URe(s,l){return s=s|0,l=l|0,_Re(l)|0}function _Re(s){return s=s|0,(s|0)!=0|0}function HRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=eR()|0,s=qRe(c)|0,un(m,l,d,s,jRe(c,f)|0,f)}function eR(){var s=0,l=0;if(o[7864]|0||(s5(10208),Zt(51,10208,_|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(br(10208)|0)){s=10208,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));s5(10208)}return 10208}function qRe(s){return s=s|0,s|0}function jRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=eR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(i5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(GRe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function i5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function GRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=WRe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,YRe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,i5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,KRe(s,d),VRe(d),C=Q;return}}function WRe(s){return s=s|0,536870911}function YRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function KRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function VRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function s5(s){s=s|0,XRe(s)}function JRe(s){s=s|0,zRe(s+24|0)}function zRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function XRe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,24,l,ZRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ZRe(){return 1392}function $Re(s,l){s=s|0,l=l|0,tTe(n[(eTe(s)|0)>>2]|0,l)}function eTe(s){return s=s|0,(n[(eR()|0)+24>>2]|0)+(s<<3)|0}function tTe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,V9(f,l),l=J9(f,l)|0,tf[s&127](l),C=c}function rTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=tR()|0,s=nTe(c)|0,un(m,l,d,s,iTe(c,f)|0,f)}function tR(){var s=0,l=0;if(o[7872]|0||(a5(10244),Zt(52,10244,_|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(br(10244)|0)){s=10244,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));a5(10244)}return 10244}function nTe(s){return s=s|0,s|0}function iTe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=tR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(o5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(sTe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function o5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function sTe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=oTe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,aTe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,o5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,lTe(s,d),cTe(d),C=Q;return}}function oTe(s){return s=s|0,536870911}function aTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function lTe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function cTe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function a5(s){s=s|0,fTe(s)}function uTe(s){s=s|0,ATe(s+24|0)}function ATe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function fTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,16,l,pTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function pTe(){return 1400}function hTe(s){return s=s|0,dTe(n[(gTe(s)|0)>>2]|0)|0}function gTe(s){return s=s|0,(n[(tR()|0)+24>>2]|0)+(s<<3)|0}function dTe(s){return s=s|0,mTe(oD[s&7]()|0)|0}function mTe(s){return s=s|0,s|0}function yTe(){var s=0;return o[7880]|0||(DTe(10280),Zt(25,10280,_|0)|0,s=7880,n[s>>2]=1,n[s+4>>2]=0),10280}function CTe(s,l){s=s|0,l=l|0,n[s>>2]=ETe()|0,n[s+4>>2]=ITe()|0,n[s+12>>2]=l,n[s+8>>2]=wTe()|0,n[s+32>>2]=4}function ETe(){return 11711}function ITe(){return 1356}function wTe(){return Kv()|0}function BTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(vTe(c),pt(c)):l|0&&(Ig(l),pt(l))}function vTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function DTe(s){s=s|0,wp(s)}function STe(s){s=s|0,PTe(s,4920),xTe(s)|0,bTe(s)|0}function PTe(s,l){s=s|0,l=l|0;var c=0;c=b9()|0,n[s>>2]=c,zTe(c,l),Pp(n[s>>2]|0)}function xTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,_Te()|0),s|0}function bTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,QTe()|0),s|0}function QTe(){var s=0;return o[7888]|0||(l5(10328),Zt(53,10328,_|0)|0,s=7888,n[s>>2]=1,n[s+4>>2]=0),br(10328)|0||l5(10328),10328}function Sg(s,l){s=s|0,l=l|0,un(s,0,l,0,0,0)}function l5(s){s=s|0,RTe(s),Pg(s,10)}function kTe(s){s=s|0,FTe(s+24|0)}function FTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function RTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,1,l,OTe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function TTe(s,l,c){s=s|0,l=l|0,c=+c,NTe(s,l,c)}function Pg(s,l){s=s|0,l=l|0,n[s+20>>2]=l}function NTe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+16|0,m=f+8|0,Q=f+13|0,d=f,B=f+12|0,ZA(Q,l),n[m>>2]=$A(Q,l)|0,Tu(B,c),E[d>>3]=+Nu(B,c),LTe(s,m,d),C=f}function LTe(s,l,c){s=s|0,l=l|0,c=c|0,W(s+8|0,n[l>>2]|0,+E[c>>3]),o[s+24>>0]=1}function OTe(){return 1404}function MTe(s,l){return s=s|0,l=+l,UTe(s,l)|0}function UTe(s,l){s=s|0,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return f=C,C=C+16|0,m=f+4|0,B=f+8|0,Q=f,d=Ja(8)|0,c=d,k=Gt(16)|0,ZA(m,s),s=$A(m,s)|0,Tu(B,l),W(k,s,+Nu(B,l)),B=c+4|0,n[B>>2]=k,s=Gt(8)|0,B=n[B>>2]|0,n[Q>>2]=0,n[m>>2]=n[Q>>2],_F(s,B,m),n[d>>2]=s,C=f,c|0}function _Te(){var s=0;return o[7896]|0||(c5(10364),Zt(54,10364,_|0)|0,s=7896,n[s>>2]=1,n[s+4>>2]=0),br(10364)|0||c5(10364),10364}function c5(s){s=s|0,jTe(s),Pg(s,55)}function HTe(s){s=s|0,qTe(s+24|0)}function qTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function jTe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,4,l,KTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function GTe(s){s=s|0,WTe(s)}function WTe(s){s=s|0,YTe(s)}function YTe(s){s=s|0,u5(s+8|0),o[s+24>>0]=1}function u5(s){s=s|0,n[s>>2]=0,E[s+8>>3]=0}function KTe(){return 1424}function VTe(){return JTe()|0}function JTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ja(8)|0,s=c,f=Gt(16)|0,u5(f),m=s+4|0,n[m>>2]=f,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],_F(f,m,d),n[c>>2]=f,C=l,s|0}function zTe(s,l){s=s|0,l=l|0,n[s>>2]=XTe()|0,n[s+4>>2]=ZTe()|0,n[s+12>>2]=l,n[s+8>>2]=$Te()|0,n[s+32>>2]=5}function XTe(){return 11710}function ZTe(){return 1416}function $Te(){return Vv()|0}function eNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(tNe(c),pt(c)):l|0&&pt(l)}function tNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function Vv(){var s=0;return o[7904]|0||(n[2600]=rNe()|0,n[2601]=0,s=7904,n[s>>2]=1,n[s+4>>2]=0),10400}function rNe(){return n[357]|0}function nNe(s){s=s|0,iNe(s,4926),sNe(s)|0}function iNe(s,l){s=s|0,l=l|0;var c=0;c=ZG()|0,n[s>>2]=c,dNe(c,l),Pp(n[s>>2]|0)}function sNe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,oNe()|0),s|0}function oNe(){var s=0;return o[7912]|0||(A5(10412),Zt(56,10412,_|0)|0,s=7912,n[s>>2]=1,n[s+4>>2]=0),br(10412)|0||A5(10412),10412}function A5(s){s=s|0,cNe(s),Pg(s,57)}function aNe(s){s=s|0,lNe(s+24|0)}function lNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function cNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,5,l,pNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function uNe(s){s=s|0,ANe(s)}function ANe(s){s=s|0,fNe(s)}function fNe(s){s=s|0;var l=0,c=0;l=s+8|0,c=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(c|0));o[s+56>>0]=1}function pNe(){return 1432}function hNe(){return gNe()|0}function gNe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0;B=C,C=C+16|0,s=B+4|0,l=B,c=Ja(8)|0,f=c,d=Gt(48)|0,m=d,Q=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(Q|0));return m=f+4|0,n[m>>2]=d,Q=Gt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[s>>2]=n[l>>2],$G(Q,m,s),n[c>>2]=Q,C=B,f|0}function dNe(s,l){s=s|0,l=l|0,n[s>>2]=mNe()|0,n[s+4>>2]=yNe()|0,n[s+12>>2]=l,n[s+8>>2]=CNe()|0,n[s+32>>2]=6}function mNe(){return 11704}function yNe(){return 1436}function CNe(){return Vv()|0}function ENe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(INe(c),pt(c)):l|0&&pt(l)}function INe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function wNe(s){s=s|0,BNe(s,4933),vNe(s)|0,DNe(s)|0}function BNe(s,l){s=s|0,l=l|0;var c=0;c=JNe()|0,n[s>>2]=c,zNe(c,l),Pp(n[s>>2]|0)}function vNe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,UNe()|0),s|0}function DNe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,SNe()|0),s|0}function SNe(){var s=0;return o[7920]|0||(f5(10452),Zt(58,10452,_|0)|0,s=7920,n[s>>2]=1,n[s+4>>2]=0),br(10452)|0||f5(10452),10452}function f5(s){s=s|0,bNe(s),Pg(s,1)}function PNe(s){s=s|0,xNe(s+24|0)}function xNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function bNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,1,l,RNe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function QNe(s,l,c){s=s|0,l=+l,c=+c,kNe(s,l,c)}function kNe(s,l,c){s=s|0,l=+l,c=+c;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+32|0,m=f+8|0,Q=f+17|0,d=f,B=f+16|0,Tu(Q,l),E[m>>3]=+Nu(Q,l),Tu(B,c),E[d>>3]=+Nu(B,c),FNe(s,m,d),C=f}function FNe(s,l,c){s=s|0,l=l|0,c=c|0,p5(s+8|0,+E[l>>3],+E[c>>3]),o[s+24>>0]=1}function p5(s,l,c){s=s|0,l=+l,c=+c,E[s>>3]=l,E[s+8>>3]=c}function RNe(){return 1472}function TNe(s,l){return s=+s,l=+l,NNe(s,l)|0}function NNe(s,l){s=+s,l=+l;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return f=C,C=C+16|0,B=f+4|0,Q=f+8|0,k=f,d=Ja(8)|0,c=d,m=Gt(16)|0,Tu(B,s),s=+Nu(B,s),Tu(Q,l),p5(m,s,+Nu(Q,l)),Q=c+4|0,n[Q>>2]=m,m=Gt(8)|0,Q=n[Q>>2]|0,n[k>>2]=0,n[B>>2]=n[k>>2],h5(m,Q,B),n[d>>2]=m,C=f,c|0}function h5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1452,n[c+12>>2]=l,n[s+4>>2]=c}function LNe(s){s=s|0,Zm(s),pt(s)}function ONe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function MNe(s){s=s|0,pt(s)}function UNe(){var s=0;return o[7928]|0||(g5(10488),Zt(59,10488,_|0)|0,s=7928,n[s>>2]=1,n[s+4>>2]=0),br(10488)|0||g5(10488),10488}function g5(s){s=s|0,qNe(s),Pg(s,60)}function _Ne(s){s=s|0,HNe(s+24|0)}function HNe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function qNe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,6,l,YNe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function jNe(s){s=s|0,GNe(s)}function GNe(s){s=s|0,WNe(s)}function WNe(s){s=s|0,d5(s+8|0),o[s+24>>0]=1}function d5(s){s=s|0,n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,n[s+12>>2]=0}function YNe(){return 1492}function KNe(){return VNe()|0}function VNe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ja(8)|0,s=c,f=Gt(16)|0,d5(f),m=s+4|0,n[m>>2]=f,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],h5(f,m,d),n[c>>2]=f,C=l,s|0}function JNe(){var s=0;return o[7936]|0||(rLe(10524),Zt(25,10524,_|0)|0,s=7936,n[s>>2]=1,n[s+4>>2]=0),10524}function zNe(s,l){s=s|0,l=l|0,n[s>>2]=XNe()|0,n[s+4>>2]=ZNe()|0,n[s+12>>2]=l,n[s+8>>2]=$Ne()|0,n[s+32>>2]=7}function XNe(){return 11700}function ZNe(){return 1484}function $Ne(){return Vv()|0}function eLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(tLe(c),pt(c)):l|0&&pt(l)}function tLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function rLe(s){s=s|0,wp(s)}function nLe(s,l,c){s=s|0,l=l|0,c=c|0,s=cn(l)|0,l=iLe(c)|0,c=sLe(c,0)|0,NLe(s,l,c,rR()|0,0)}function iLe(s){return s=s|0,s|0}function sLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=rR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(y5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(fLe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function rR(){var s=0,l=0;if(o[7944]|0||(m5(10568),Zt(61,10568,_|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(br(10568)|0)){s=10568,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));m5(10568)}return 10568}function m5(s){s=s|0,lLe(s)}function oLe(s){s=s|0,aLe(s+24|0)}function aLe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function lLe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,17,l,d9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function cLe(s){return s=s|0,ALe(n[(uLe(s)|0)>>2]|0)|0}function uLe(s){return s=s|0,(n[(rR()|0)+24>>2]|0)+(s<<3)|0}function ALe(s){return s=s|0,Yv(oD[s&7]()|0)|0}function y5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function fLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=pLe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,hLe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,y5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,gLe(s,d),dLe(d),C=Q;return}}function pLe(s){return s=s|0,536870911}function hLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function gLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function dLe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function mLe(){yLe()}function yLe(){CLe(10604)}function CLe(s){s=s|0,ELe(s,4955)}function ELe(s,l){s=s|0,l=l|0;var c=0;c=ILe()|0,n[s>>2]=c,wLe(c,l),Pp(n[s>>2]|0)}function ILe(){var s=0;return o[7952]|0||(kLe(10612),Zt(25,10612,_|0)|0,s=7952,n[s>>2]=1,n[s+4>>2]=0),10612}function wLe(s,l){s=s|0,l=l|0,n[s>>2]=SLe()|0,n[s+4>>2]=PLe()|0,n[s+12>>2]=l,n[s+8>>2]=xLe()|0,n[s+32>>2]=8}function Pp(s){s=s|0;var l=0,c=0;l=C,C=C+16|0,c=l,Km()|0,n[c>>2]=s,BLe(10608,c),C=l}function Km(){return o[11714]|0||(n[2652]=0,Zt(62,10608,_|0)|0,o[11714]=1),10608}function BLe(s,l){s=s|0,l=l|0;var c=0;c=Gt(8)|0,n[c+4>>2]=n[l>>2],n[c>>2]=n[s>>2],n[s>>2]=c}function vLe(s){s=s|0,DLe(s)}function DLe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,pt(c);while((l|0)!=0);n[s>>2]=0}function SLe(){return 11715}function PLe(){return 1496}function xLe(){return Kv()|0}function bLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(QLe(c),pt(c)):l|0&&pt(l)}function QLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function kLe(s){s=s|0,wp(s)}function FLe(s,l){s=s|0,l=l|0;var c=0,f=0;Km()|0,c=n[2652]|0;e:do if(c|0){for(;f=n[c+4>>2]|0,!(f|0&&($5(nR(f)|0,s)|0)==0);)if(c=n[c>>2]|0,!c)break e;RLe(f,l)}while(0)}function nR(s){return s=s|0,n[s+12>>2]|0}function RLe(s,l){s=s|0,l=l|0;var c=0;s=s+36|0,c=n[s>>2]|0,c|0&&(jA(c),pt(c)),c=Gt(4)|0,YG(c,l),n[s>>2]=c}function iR(){return o[11716]|0||(n[2664]=0,Zt(63,10656,_|0)|0,o[11716]=1),10656}function C5(){var s=0;return o[11717]|0?s=n[2665]|0:(TLe(),n[2665]=1504,o[11717]=1,s=1504),s|0}function TLe(){o[11740]|0||(o[11718]=Ar(Ar(8,0)|0,0)|0,o[11719]=Ar(Ar(0,0)|0,0)|0,o[11720]=Ar(Ar(0,16)|0,0)|0,o[11721]=Ar(Ar(8,0)|0,0)|0,o[11722]=Ar(Ar(0,0)|0,0)|0,o[11723]=Ar(Ar(8,0)|0,0)|0,o[11724]=Ar(Ar(0,0)|0,0)|0,o[11725]=Ar(Ar(8,0)|0,0)|0,o[11726]=Ar(Ar(0,0)|0,0)|0,o[11727]=Ar(Ar(8,0)|0,0)|0,o[11728]=Ar(Ar(0,0)|0,0)|0,o[11729]=Ar(Ar(0,0)|0,32)|0,o[11730]=Ar(Ar(0,0)|0,32)|0,o[11740]=1)}function E5(){return 1572}function NLe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0;m=C,C=C+32|0,O=m+16|0,M=m+12|0,k=m+8|0,Q=m+4|0,B=m,n[O>>2]=s,n[M>>2]=l,n[k>>2]=c,n[Q>>2]=f,n[B>>2]=d,iR()|0,LLe(10656,O,M,k,Q,B),C=m}function LLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0;B=Gt(24)|0,JG(B+4|0,n[l>>2]|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[s>>2],n[s>>2]=B}function I5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0,at=0;if(at=C,C=C+32|0,Le=at+20|0,Re=at+8|0,et=at+4|0,Ze=at,l=n[l>>2]|0,l|0){We=Le+4|0,k=Le+8|0,M=Re+4|0,O=Re+8|0,j=Re+8|0,se=Le+8|0;do{if(B=l+4|0,Q=sR(B)|0,Q|0){if(d=SI(Q)|0,n[Le>>2]=0,n[We>>2]=0,n[k>>2]=0,f=(PI(Q)|0)+1|0,OLe(Le,f),f|0)for(;f=f+-1|0,kc(Re,n[d>>2]|0),m=n[We>>2]|0,m>>>0<(n[se>>2]|0)>>>0?(n[m>>2]=n[Re>>2],n[We>>2]=(n[We>>2]|0)+4):oR(Le,Re),f;)d=d+4|0;f=xI(Q)|0,n[Re>>2]=0,n[M>>2]=0,n[O>>2]=0;e:do if(n[f>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?MLe(Re,f):(n[d>>2]=n[f>>2],n[M>>2]=(n[M>>2]|0)+4),f=f+4|0,!(n[f>>2]|0))break e;d=n[M>>2]|0,m=n[j>>2]|0}while(0);n[et>>2]=Jv(B)|0,n[Ze>>2]=br(Q)|0,ULe(c,s,et,Ze,Le,Re),aR(Re),ef(Le)}l=n[l>>2]|0}while((l|0)!=0)}C=at}function sR(s){return s=s|0,n[s+12>>2]|0}function SI(s){return s=s|0,n[s+12>>2]|0}function PI(s){return s=s|0,n[s+16>>2]|0}function OLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=n[s>>2]|0,(n[s+8>>2]|0)-f>>2>>>0<l>>>0&&(b5(c,l,(n[s+4>>2]|0)-f>>2,s+8|0),Q5(s,c),k5(c)),C=d}function oR(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=x5(s)|0,m>>>0<d>>>0)Vr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,k=M>>1,b5(c,M>>2>>>0<m>>>1>>>0?k>>>0<d>>>0?d:k:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,Q5(s,c),k5(c),C=B;return}}function xI(s){return s=s|0,n[s+8>>2]|0}function MLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=P5(s)|0,m>>>0<d>>>0)Vr(s);else{Q=n[s>>2]|0,M=(n[s+8>>2]|0)-Q|0,k=M>>1,iOe(c,M>>2>>>0<m>>>1>>>0?k>>>0<d>>>0?d:k:m,(n[f>>2]|0)-Q>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,sOe(s,c),oOe(c),C=B;return}}function Jv(s){return s=s|0,n[s>>2]|0}function ULe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,_Le(s,l,c,f,d,m)}function aR(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function ef(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),pt(c))}function _Le(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=C,C=C+48|0,O=B+40|0,Q=B+32|0,j=B+24|0,k=B+12|0,M=B,za(Q),s=da(s)|0,n[j>>2]=n[l>>2],c=n[c>>2]|0,f=n[f>>2]|0,lR(k,d),HLe(M,m),n[O>>2]=n[j>>2],qLe(s,O,c,f,k,M),aR(M),ef(k),Xa(Q),C=B}function lR(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(rOe(s,f),nOe(s,n[l>>2]|0,n[c>>2]|0,f))}function HLe(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(eOe(s,f),tOe(s,n[l>>2]|0,n[c>>2]|0,f))}function qLe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=C,C=C+32|0,O=B+28|0,j=B+24|0,Q=B+12|0,k=B,M=bl(jLe()|0)|0,n[j>>2]=n[l>>2],n[O>>2]=n[j>>2],l=xg(O)|0,c=w5(c)|0,f=cR(f)|0,n[Q>>2]=n[d>>2],O=d+4|0,n[Q+4>>2]=n[O>>2],j=d+8|0,n[Q+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[d>>2]=0,d=uR(Q)|0,n[k>>2]=n[m>>2],O=m+4|0,n[k+4>>2]=n[O>>2],j=m+8|0,n[k+8>>2]=n[j>>2],n[j>>2]=0,n[O>>2]=0,n[m>>2]=0,io(0,M|0,s|0,l|0,c|0,f|0,d|0,GLe(k)|0)|0,aR(k),ef(Q),C=B}function jLe(){var s=0;return o[7968]|0||(ZLe(10708),s=7968,n[s>>2]=1,n[s+4>>2]=0),10708}function xg(s){return s=s|0,v5(s)|0}function w5(s){return s=s|0,B5(s)|0}function cR(s){return s=s|0,Yv(s)|0}function uR(s){return s=s|0,YLe(s)|0}function GLe(s){return s=s|0,WLe(s)|0}function WLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ja(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=B5(n[(n[s>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function B5(s){return s=s|0,s|0}function YLe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ja(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=v5((n[s>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function v5(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=wF(D5()|0)|0,f?(BF(l,f),vF(c,l),xUe(s,c),s=DF(l)|0):s=KLe(s)|0,C=d,s|0}function D5(){var s=0;return o[7960]|0||(XLe(10664),Zt(25,10664,_|0)|0,s=7960,n[s>>2]=1,n[s+4>>2]=0),10664}function KLe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ja(8)|0,l=f,Q=Gt(4)|0,n[Q>>2]=n[s>>2],m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],S5(s,m,d),n[f>>2]=s,C=c,l|0}function S5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1656,n[c+12>>2]=l,n[s+4>>2]=c}function VLe(s){s=s|0,Zm(s),pt(s)}function JLe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function zLe(s){s=s|0,pt(s)}function XLe(s){s=s|0,wp(s)}function ZLe(s){s=s|0,Ql(s,$Le()|0,5)}function $Le(){return 1676}function eOe(s,l){s=s|0,l=l|0;var c=0;if((P5(s)|0)>>>0<l>>>0&&Vr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function tOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Er(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function P5(s){return s=s|0,1073741823}function rOe(s,l){s=s|0,l=l|0;var c=0;if((x5(s)|0)>>>0<l>>>0&&Vr(s),l>>>0>1073741823)Rt();else{c=Gt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function nOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Er(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function x5(s){return s=s|0,1073741823}function iOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function sOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function oOe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function b5(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Rt();else{d=Gt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function Q5(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function k5(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&&pt(s)}function aOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0;if(Re=C,C=C+32|0,O=Re+20|0,j=Re+12|0,M=Re+16|0,se=Re+4|0,We=Re,Le=Re+8|0,Q=C5()|0,m=n[Q>>2]|0,B=n[m>>2]|0,B|0)for(k=n[Q+8>>2]|0,Q=n[Q+4>>2]|0;kc(O,B),lOe(s,O,Q,k),m=m+4|0,B=n[m>>2]|0,B;)k=k+1|0,Q=Q+1|0;if(m=E5()|0,B=n[m>>2]|0,B|0)do kc(O,B),n[j>>2]=n[m+4>>2],cOe(l,O,j),m=m+8|0,B=n[m>>2]|0;while((B|0)!=0);if(m=n[(Km()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,kc(O,n[(Vm(l)|0)>>2]|0),n[j>>2]=nR(l)|0,uOe(c,O,j),m=n[m>>2]|0;while((m|0)!=0);if(kc(M,0),m=iR()|0,n[O>>2]=n[M>>2],I5(O,m,d),m=n[(Km()|0)>>2]|0,m|0){s=O+4|0,l=O+8|0,c=O+8|0;do{if(k=n[m+4>>2]|0,kc(j,n[(Vm(k)|0)>>2]|0),AOe(se,F5(k)|0),B=n[se>>2]|0,B|0){n[O>>2]=0,n[s>>2]=0,n[l>>2]=0;do kc(We,n[(Vm(n[B+4>>2]|0)|0)>>2]|0),Q=n[s>>2]|0,Q>>>0<(n[c>>2]|0)>>>0?(n[Q>>2]=n[We>>2],n[s>>2]=(n[s>>2]|0)+4):oR(O,We),B=n[B>>2]|0;while((B|0)!=0);fOe(f,j,O),ef(O)}n[Le>>2]=n[j>>2],M=R5(k)|0,n[O>>2]=n[Le>>2],I5(O,M,d),t9(se),m=n[m>>2]|0}while((m|0)!=0)}C=Re}function lOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,vOe(s,l,c,f)}function cOe(s,l,c){s=s|0,l=l|0,c=c|0,BOe(s,l,c)}function Vm(s){return s=s|0,s|0}function uOe(s,l,c){s=s|0,l=l|0,c=c|0,COe(s,l,c)}function F5(s){return s=s|0,s+16|0}function AOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;if(m=C,C=C+16|0,d=m+8|0,c=m,n[s>>2]=0,f=n[l>>2]|0,n[d>>2]=f,n[c>>2]=s,c=yOe(c)|0,f|0){if(f=Gt(12)|0,B=(T5(d)|0)+4|0,s=n[B+4>>2]|0,l=f+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=s,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)s=f;else for(l=f;s=Gt(12)|0,k=(T5(d)|0)+4|0,Q=n[k+4>>2]|0,B=s+4|0,n[B>>2]=n[k>>2],n[B+4>>2]=Q,n[l>>2]=s,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=s;n[s>>2]=n[c>>2],n[c>>2]=f}C=m}function fOe(s,l,c){s=s|0,l=l|0,c=c|0,pOe(s,l,c)}function R5(s){return s=s|0,s+24|0}function pOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+32|0,B=f+24|0,d=f+16|0,Q=f+12|0,m=f,za(d),s=da(s)|0,n[Q>>2]=n[l>>2],lR(m,c),n[B>>2]=n[Q>>2],hOe(s,B,m),ef(m),Xa(d),C=f}function hOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=C,C=C+32|0,B=f+16|0,Q=f+12|0,d=f,m=bl(gOe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=xg(B)|0,n[d>>2]=n[c>>2],B=c+4|0,n[d+4>>2]=n[B>>2],Q=c+8|0,n[d+8>>2]=n[Q>>2],n[Q>>2]=0,n[B>>2]=0,n[c>>2]=0,no(0,m|0,s|0,l|0,uR(d)|0)|0,ef(d),C=f}function gOe(){var s=0;return o[7976]|0||(dOe(10720),s=7976,n[s>>2]=1,n[s+4>>2]=0),10720}function dOe(s){s=s|0,Ql(s,mOe()|0,2)}function mOe(){return 1732}function yOe(s){return s=s|0,n[s>>2]|0}function T5(s){return s=s|0,n[s>>2]|0}function COe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,za(d),s=da(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],N5(s,m,c),Xa(d),C=f}function N5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+4|0,B=f,d=bl(EOe()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=xg(m)|0,no(0,d|0,s|0,l|0,w5(c)|0)|0,C=f}function EOe(){var s=0;return o[7984]|0||(IOe(10732),s=7984,n[s>>2]=1,n[s+4>>2]=0),10732}function IOe(s){s=s|0,Ql(s,wOe()|0,2)}function wOe(){return 1744}function BOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,za(d),s=da(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],N5(s,m,c),Xa(d),C=f}function vOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,Q=d,za(m),s=da(s)|0,n[Q>>2]=n[l>>2],c=o[c>>0]|0,f=o[f>>0]|0,n[B>>2]=n[Q>>2],DOe(s,B,c,f),Xa(m),C=d}function DOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,B=d+4|0,Q=d,m=bl(SOe()|0)|0,n[Q>>2]=n[l>>2],n[B>>2]=n[Q>>2],l=xg(B)|0,c=Jm(c)|0,mc(0,m|0,s|0,l|0,c|0,Jm(f)|0)|0,C=d}function SOe(){var s=0;return o[7992]|0||(xOe(10744),s=7992,n[s>>2]=1,n[s+4>>2]=0),10744}function Jm(s){return s=s|0,POe(s)|0}function POe(s){return s=s|0,s&255|0}function xOe(s){s=s|0,Ql(s,bOe()|0,3)}function bOe(){return 1756}function QOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;switch(se=C,C=C+32|0,Q=se+8|0,k=se+4|0,M=se+20|0,O=se,bF(s,0),f=PUe(l)|0,n[Q>>2]=0,j=Q+4|0,n[j>>2]=0,n[Q+8>>2]=0,f<<24>>24){case 0:{o[M>>0]=0,kOe(k,c,M),zv(s,k)|0,GA(k);break}case 8:{j=dR(l)|0,o[M>>0]=8,kc(O,n[j+4>>2]|0),FOe(k,c,M,O,j+8|0),zv(s,k)|0,GA(k);break}case 9:{if(m=dR(l)|0,l=n[m+4>>2]|0,l|0)for(B=Q+8|0,d=m+12|0;l=l+-1|0,kc(k,n[d>>2]|0),f=n[j>>2]|0,f>>>0<(n[B>>2]|0)>>>0?(n[f>>2]=n[k>>2],n[j>>2]=(n[j>>2]|0)+4):oR(Q,k),l;)d=d+4|0;o[M>>0]=9,kc(O,n[m+8>>2]|0),ROe(k,c,M,O,Q),zv(s,k)|0,GA(k);break}default:j=dR(l)|0,o[M>>0]=f,kc(O,n[j+4>>2]|0),TOe(k,c,M,O),zv(s,k)|0,GA(k)}ef(Q),C=se}function kOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,za(d),l=da(l)|0,KOe(s,l,o[c>>0]|0),Xa(d),C=f}function zv(s,l){s=s|0,l=l|0;var c=0;return c=n[s>>2]|0,c|0&&bA(c|0),n[s>>2]=n[l>>2],n[l>>2]=0,s|0}function FOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0;m=C,C=C+32|0,Q=m+16|0,B=m+8|0,k=m,za(B),l=da(l)|0,c=o[c>>0]|0,n[k>>2]=n[f>>2],d=n[d>>2]|0,n[Q>>2]=n[k>>2],jOe(s,l,c,Q,d),Xa(B),C=m}function ROe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0;m=C,C=C+32|0,k=m+24|0,B=m+16|0,M=m+12|0,Q=m,za(B),l=da(l)|0,c=o[c>>0]|0,n[M>>2]=n[f>>2],lR(Q,d),n[k>>2]=n[M>>2],UOe(s,l,c,k,Q),ef(Q),Xa(B),C=m}function TOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,Q=d,za(m),l=da(l)|0,c=o[c>>0]|0,n[Q>>2]=n[f>>2],n[B>>2]=n[Q>>2],NOe(s,l,c,B),Xa(m),C=d}function NOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,Q=0;d=C,C=C+16|0,m=d+4|0,Q=d,B=bl(LOe()|0)|0,c=Jm(c)|0,n[Q>>2]=n[f>>2],n[m>>2]=n[Q>>2],Xv(s,no(0,B|0,l|0,c|0,xg(m)|0)|0),C=d}function LOe(){var s=0;return o[8e3]|0||(OOe(10756),s=8e3,n[s>>2]=1,n[s+4>>2]=0),10756}function Xv(s,l){s=s|0,l=l|0,bF(s,l)}function OOe(s){s=s|0,Ql(s,MOe()|0,2)}function MOe(){return 1772}function UOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0;m=C,C=C+32|0,k=m+16|0,M=m+12|0,B=m,Q=bl(_Oe()|0)|0,c=Jm(c)|0,n[M>>2]=n[f>>2],n[k>>2]=n[M>>2],f=xg(k)|0,n[B>>2]=n[d>>2],k=d+4|0,n[B+4>>2]=n[k>>2],M=d+8|0,n[B+8>>2]=n[M>>2],n[M>>2]=0,n[k>>2]=0,n[d>>2]=0,Xv(s,mc(0,Q|0,l|0,c|0,f|0,uR(B)|0)|0),ef(B),C=m}function _Oe(){var s=0;return o[8008]|0||(HOe(10768),s=8008,n[s>>2]=1,n[s+4>>2]=0),10768}function HOe(s){s=s|0,Ql(s,qOe()|0,3)}function qOe(){return 1784}function jOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0;m=C,C=C+16|0,Q=m+4|0,k=m,B=bl(GOe()|0)|0,c=Jm(c)|0,n[k>>2]=n[f>>2],n[Q>>2]=n[k>>2],f=xg(Q)|0,Xv(s,mc(0,B|0,l|0,c|0,f|0,cR(d)|0)|0),C=m}function GOe(){var s=0;return o[8016]|0||(WOe(10780),s=8016,n[s>>2]=1,n[s+4>>2]=0),10780}function WOe(s){s=s|0,Ql(s,YOe()|0,3)}function YOe(){return 1800}function KOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=bl(VOe()|0)|0,Xv(s,Dn(0,f|0,l|0,Jm(c)|0)|0)}function VOe(){var s=0;return o[8024]|0||(JOe(10792),s=8024,n[s>>2]=1,n[s+4>>2]=0),10792}function JOe(s){s=s|0,Ql(s,zOe()|0,1)}function zOe(){return 1816}function XOe(){ZOe(),$Oe(),eMe()}function ZOe(){n[2702]=c7(65536)|0}function $Oe(){EMe(10856)}function eMe(){tMe(10816)}function tMe(s){s=s|0,rMe(s,5044),nMe(s)|0}function rMe(s,l){s=s|0,l=l|0;var c=0;c=D5()|0,n[s>>2]=c,hMe(c,l),Pp(n[s>>2]|0)}function nMe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,iMe()|0),s|0}function iMe(){var s=0;return o[8032]|0||(L5(10820),Zt(64,10820,_|0)|0,s=8032,n[s>>2]=1,n[s+4>>2]=0),br(10820)|0||L5(10820),10820}function L5(s){s=s|0,aMe(s),Pg(s,25)}function sMe(s){s=s|0,oMe(s+24|0)}function oMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function aMe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,18,l,AMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function lMe(s,l){s=s|0,l=l|0,cMe(s,l)}function cMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;c=C,C=C+16|0,f=c,d=c+4|0,vg(d,l),n[f>>2]=Dg(d,l)|0,uMe(s,f),C=c}function uMe(s,l){s=s|0,l=l|0,O5(s+4|0,n[l>>2]|0),o[s+8>>0]=1}function O5(s,l){s=s|0,l=l|0,n[s>>2]=l}function AMe(){return 1824}function fMe(s){return s=s|0,pMe(s)|0}function pMe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ja(8)|0,l=f,Q=Gt(4)|0,vg(d,s),O5(Q,Dg(d,s)|0),m=l+4|0,n[m>>2]=Q,s=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],S5(s,m,d),n[f>>2]=s,C=c,l|0}function Ja(s){s=s|0;var l=0,c=0;return s=s+7&-8,s>>>0<=32768&&(l=n[2701]|0,s>>>0<=(65536-l|0)>>>0)?(c=(n[2702]|0)+l|0,n[2701]=l+s,s=c):(s=c7(s+8|0)|0,n[s>>2]=n[2703],n[2703]=s,s=s+8|0),s|0}function hMe(s,l){s=s|0,l=l|0,n[s>>2]=gMe()|0,n[s+4>>2]=dMe()|0,n[s+12>>2]=l,n[s+8>>2]=mMe()|0,n[s+32>>2]=9}function gMe(){return 11744}function dMe(){return 1832}function mMe(){return Vv()|0}function yMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(CMe(c),pt(c)):l|0&&pt(l)}function CMe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function EMe(s){s=s|0,IMe(s,5052),wMe(s)|0,BMe(s,5058,26)|0,vMe(s,5069,1)|0,DMe(s,5077,10)|0,SMe(s,5087,19)|0,PMe(s,5094,27)|0}function IMe(s,l){s=s|0,l=l|0;var c=0;c=CUe()|0,n[s>>2]=c,EUe(c,l),Pp(n[s>>2]|0)}function wMe(s){s=s|0;var l=0;return l=n[s>>2]|0,Sg(l,sUe()|0),s|0}function BMe(s,l,c){return s=s|0,l=l|0,c=c|0,H4e(s,cn(l)|0,c,0),s|0}function vMe(s,l,c){return s=s|0,l=l|0,c=c|0,S4e(s,cn(l)|0,c,0),s|0}function DMe(s,l,c){return s=s|0,l=l|0,c=c|0,i4e(s,cn(l)|0,c,0),s|0}function SMe(s,l,c){return s=s|0,l=l|0,c=c|0,jMe(s,cn(l)|0,c,0),s|0}function M5(s,l){s=s|0,l=l|0;var c=0,f=0;e:for(;;){for(c=n[2703]|0;;){if((c|0)==(l|0))break e;if(f=n[c>>2]|0,n[2703]=f,!c)c=f;else break}pt(c)}n[2701]=s}function PMe(s,l,c){return s=s|0,l=l|0,c=c|0,xMe(s,cn(l)|0,c,0),s|0}function xMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=AR()|0,s=bMe(c)|0,un(m,l,d,s,QMe(c,f)|0,f)}function AR(){var s=0,l=0;if(o[8040]|0||(_5(10860),Zt(65,10860,_|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(br(10860)|0)){s=10860,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));_5(10860)}return 10860}function bMe(s){return s=s|0,s|0}function QMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=AR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(U5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(kMe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function U5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function kMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=FMe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,RMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,U5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,TMe(s,d),NMe(d),C=Q;return}}function FMe(s){return s=s|0,536870911}function RMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function TMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function NMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function _5(s){s=s|0,MMe(s)}function LMe(s){s=s|0,OMe(s+24|0)}function OMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function MMe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,11,l,UMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function UMe(){return 1840}function _Me(s,l,c){s=s|0,l=l|0,c=c|0,qMe(n[(HMe(s)|0)>>2]|0,l,c)}function HMe(s){return s=s|0,(n[(AR()|0)+24>>2]|0)+(s<<3)|0}function qMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+1|0,d=f,vg(m,l),l=Dg(m,l)|0,vg(d,c),c=Dg(d,c)|0,rf[s&31](l,c),C=f}function jMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=fR()|0,s=GMe(c)|0,un(m,l,d,s,WMe(c,f)|0,f)}function fR(){var s=0,l=0;if(o[8048]|0||(q5(10896),Zt(66,10896,_|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(br(10896)|0)){s=10896,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));q5(10896)}return 10896}function GMe(s){return s=s|0,s|0}function WMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=fR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(H5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(YMe(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function H5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function YMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=KMe(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,VMe(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,H5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,JMe(s,d),zMe(d),C=Q;return}}function KMe(s){return s=s|0,536870911}function VMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function JMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function zMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function q5(s){s=s|0,$Me(s)}function XMe(s){s=s|0,ZMe(s+24|0)}function ZMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function $Me(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,11,l,e4e()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function e4e(){return 1852}function t4e(s,l){return s=s|0,l=l|0,n4e(n[(r4e(s)|0)>>2]|0,l)|0}function r4e(s){return s=s|0,(n[(fR()|0)+24>>2]|0)+(s<<3)|0}function n4e(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,vg(f,l),l=Dg(f,l)|0,l=Yv(Fg[s&31](l)|0)|0,C=c,l|0}function i4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=pR()|0,s=s4e(c)|0,un(m,l,d,s,o4e(c,f)|0,f)}function pR(){var s=0,l=0;if(o[8056]|0||(G5(10932),Zt(67,10932,_|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(br(10932)|0)){s=10932,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));G5(10932)}return 10932}function s4e(s){return s=s|0,s|0}function o4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=pR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(j5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(a4e(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function j5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function a4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=l4e(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,c4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,j5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,u4e(s,d),A4e(d),C=Q;return}}function l4e(s){return s=s|0,536870911}function c4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function u4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function A4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function G5(s){s=s|0,h4e(s)}function f4e(s){s=s|0,p4e(s+24|0)}function p4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function h4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,7,l,g4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function g4e(){return 1860}function d4e(s,l,c){return s=s|0,l=l|0,c=c|0,y4e(n[(m4e(s)|0)>>2]|0,l,c)|0}function m4e(s){return s=s|0,(n[(pR()|0)+24>>2]|0)+(s<<3)|0}function y4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0;return f=C,C=C+32|0,B=f+12|0,m=f+8|0,Q=f,k=f+16|0,d=f+4|0,C4e(k,l),E4e(Q,k,l),Bp(d,c),c=vp(d,c)|0,n[B>>2]=n[Q>>2],FI[s&15](m,B,c),c=I4e(m)|0,GA(m),Dp(d),C=f,c|0}function C4e(s,l){s=s|0,l=l|0}function E4e(s,l,c){s=s|0,l=l|0,c=c|0,w4e(s,c)}function I4e(s){return s=s|0,da(s)|0}function w4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+16|0,c=d,f=l,f&1?(B4e(c,0),$n(f|0,c|0)|0,v4e(s,c),D4e(c)):n[s>>2]=n[l>>2],C=d}function B4e(s,l){s=s|0,l=l|0,KG(s,l),n[s+4>>2]=0,o[s+8>>0]=0}function v4e(s,l){s=s|0,l=l|0,n[s>>2]=n[l+4>>2]}function D4e(s){s=s|0,o[s+8>>0]=0}function S4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=hR()|0,s=P4e(c)|0,un(m,l,d,s,x4e(c,f)|0,f)}function hR(){var s=0,l=0;if(o[8064]|0||(Y5(10968),Zt(68,10968,_|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(br(10968)|0)){s=10968,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Y5(10968)}return 10968}function P4e(s){return s=s|0,s|0}function x4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=hR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(W5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(b4e(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function W5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function b4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=Q4e(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,k4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,W5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,F4e(s,d),R4e(d),C=Q;return}}function Q4e(s){return s=s|0,536870911}function k4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function F4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function R4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function Y5(s){s=s|0,L4e(s)}function T4e(s){s=s|0,N4e(s+24|0)}function N4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function L4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,1,l,O4e()|0,5),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function O4e(){return 1872}function M4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,_4e(n[(U4e(s)|0)>>2]|0,l,c,f,d,m)}function U4e(s){return s=s|0,(n[(hR()|0)+24>>2]|0)+(s<<3)|0}function _4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0;B=C,C=C+32|0,Q=B+16|0,k=B+12|0,M=B+8|0,O=B+4|0,j=B,Bp(Q,l),l=vp(Q,l)|0,Bp(k,c),c=vp(k,c)|0,Bp(M,f),f=vp(M,f)|0,Bp(O,d),d=vp(O,d)|0,Bp(j,m),m=vp(j,m)|0,h7[s&1](l,c,f,d,m),Dp(j),Dp(O),Dp(M),Dp(k),Dp(Q),C=B}function H4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=gR()|0,s=q4e(c)|0,un(m,l,d,s,j4e(c,f)|0,f)}function gR(){var s=0,l=0;if(o[8072]|0||(V5(11004),Zt(69,11004,_|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(br(11004)|0)){s=11004,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));V5(11004)}return 11004}function q4e(s){return s=s|0,s|0}function j4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,Q=0,k=0;return Q=C,C=C+16|0,d=Q,m=Q+4|0,n[d>>2]=s,k=gR()|0,B=k+24|0,l=Ar(l,4)|0,n[m>>2]=l,c=k+28|0,f=n[c>>2]|0,f>>>0<(n[k+32>>2]|0)>>>0?(K5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(G4e(B,d,m),l=n[c>>2]|0),C=Q,(l-(n[B>>2]|0)>>3)+-1|0}function K5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function G4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0;if(Q=C,C=C+32|0,d=Q,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=W4e(s)|0,f>>>0<B>>>0)Vr(s);else{k=n[s>>2]|0,O=(n[s+8>>2]|0)-k|0,M=O>>2,Y4e(d,O>>3>>>0<f>>>1>>>0?M>>>0<B>>>0?B:M:f,(n[m>>2]|0)-k>>3,s+8|0),B=d+8|0,K5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,K4e(s,d),V4e(d),C=Q;return}}function W4e(s){return s=s|0,536870911}function Y4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Rt();else{d=Gt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function K4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Er(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function V4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&&pt(s)}function V5(s){s=s|0,X4e(s)}function J4e(s){s=s|0,z4e(s+24|0)}function z4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function X4e(s){s=s|0;var l=0;l=Gr()|0,Wr(s,1,12,l,Z4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Z4e(){return 1896}function $4e(s,l,c){s=s|0,l=l|0,c=c|0,tUe(n[(eUe(s)|0)>>2]|0,l,c)}function eUe(s){return s=s|0,(n[(gR()|0)+24>>2]|0)+(s<<3)|0}function tUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+4|0,d=f,rUe(m,l),l=nUe(m,l)|0,Bp(d,c),c=vp(d,c)|0,rf[s&31](l,c),Dp(d),C=f}function rUe(s,l){s=s|0,l=l|0}function nUe(s,l){return s=s|0,l=l|0,iUe(l)|0}function iUe(s){return s=s|0,s|0}function sUe(){var s=0;return o[8080]|0||(J5(11040),Zt(70,11040,_|0)|0,s=8080,n[s>>2]=1,n[s+4>>2]=0),br(11040)|0||J5(11040),11040}function J5(s){s=s|0,lUe(s),Pg(s,71)}function oUe(s){s=s|0,aUe(s+24|0)}function aUe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),pt(c))}function lUe(s){s=s|0;var l=0;l=Gr()|0,Wr(s,5,7,l,fUe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function cUe(s){s=s|0,uUe(s)}function uUe(s){s=s|0,AUe(s)}function AUe(s){s=s|0,o[s+8>>0]=1}function fUe(){return 1936}function pUe(){return hUe()|0}function hUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ja(8)|0,s=c,m=s+4|0,n[m>>2]=Gt(1)|0,f=Gt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],gUe(f,m,d),n[c>>2]=f,C=l,s|0}function gUe(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Gt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1916,n[c+12>>2]=l,n[s+4>>2]=c}function dUe(s){s=s|0,Zm(s),pt(s)}function mUe(s){s=s|0,s=n[s+12>>2]|0,s|0&&pt(s)}function yUe(s){s=s|0,pt(s)}function CUe(){var s=0;return o[8088]|0||(SUe(11076),Zt(25,11076,_|0)|0,s=8088,n[s>>2]=1,n[s+4>>2]=0),11076}function EUe(s,l){s=s|0,l=l|0,n[s>>2]=IUe()|0,n[s+4>>2]=wUe()|0,n[s+12>>2]=l,n[s+8>>2]=BUe()|0,n[s+32>>2]=10}function IUe(){return 11745}function wUe(){return 1940}function BUe(){return Kv()|0}function vUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(Sp(f,896)|0)==512?c|0&&(DUe(c),pt(c)):l|0&&pt(l)}function DUe(s){s=s|0,s=n[s+4>>2]|0,s|0&&xp(s)}function SUe(s){s=s|0,wp(s)}function kc(s,l){s=s|0,l=l|0,n[s>>2]=l}function dR(s){return s=s|0,n[s>>2]|0}function PUe(s){return s=s|0,o[n[s>>2]>>0]|0}function xUe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,n[f>>2]=n[s>>2],bUe(l,f)|0,C=c}function bUe(s,l){s=s|0,l=l|0;var c=0;return c=QUe(n[s>>2]|0,l)|0,l=s+4|0,n[(n[l>>2]|0)+8>>2]=c,n[(n[l>>2]|0)+8>>2]|0}function QUe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,za(f),s=da(s)|0,l=kUe(s,n[l>>2]|0)|0,Xa(f),C=c,l|0}function za(s){s=s|0,n[s>>2]=n[2701],n[s+4>>2]=n[2703]}function kUe(s,l){s=s|0,l=l|0;var c=0;return c=bl(FUe()|0)|0,Dn(0,c|0,s|0,cR(l)|0)|0}function Xa(s){s=s|0,M5(n[s>>2]|0,n[s+4>>2]|0)}function FUe(){var s=0;return o[8096]|0||(RUe(11120),s=8096,n[s>>2]=1,n[s+4>>2]=0),11120}function RUe(s){s=s|0,Ql(s,TUe()|0,1)}function TUe(){return 1948}function NUe(){LUe()}function LUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0;if(Le=C,C=C+16|0,O=Le+4|0,j=Le,Fi(65536,10804,n[2702]|0,10812),c=C5()|0,l=n[c>>2]|0,s=n[l>>2]|0,s|0)for(f=n[c+8>>2]|0,c=n[c+4>>2]|0;hc(s|0,u[c>>0]|0|0,o[f>>0]|0),l=l+4|0,s=n[l>>2]|0,s;)f=f+1|0,c=c+1|0;if(s=E5()|0,l=n[s>>2]|0,l|0)do du(l|0,n[s+4>>2]|0),s=s+8|0,l=n[s>>2]|0;while((l|0)!=0);du(OUe()|0,5167),M=Km()|0,s=n[M>>2]|0;e:do if(s|0){do MUe(n[s+4>>2]|0),s=n[s>>2]|0;while((s|0)!=0);if(s=n[M>>2]|0,s|0){k=M;do{for(;d=s,s=n[s>>2]|0,d=n[d+4>>2]|0,!!(UUe(d)|0);)if(n[j>>2]=k,n[O>>2]=n[j>>2],_Ue(M,O)|0,!s)break e;if(HUe(d),k=n[k>>2]|0,l=z5(d)|0,m=_i()|0,B=C,C=C+((1*(l<<2)|0)+15&-16)|0,Q=C,C=C+((1*(l<<2)|0)+15&-16)|0,l=n[(F5(d)|0)>>2]|0,l|0)for(c=B,f=Q;n[c>>2]=n[(Vm(n[l+4>>2]|0)|0)>>2],n[f>>2]=n[l+8>>2],l=n[l>>2]|0,l;)c=c+4|0,f=f+4|0;Re=Vm(d)|0,l=qUe(d)|0,c=z5(d)|0,f=jUe(d)|0,mu(Re|0,l|0,B|0,Q|0,c|0,f|0,nR(d)|0),Ui(m|0)}while((s|0)!=0)}}while(0);if(s=n[(iR()|0)>>2]|0,s|0)do Re=s+4|0,M=sR(Re)|0,d=xI(M)|0,m=SI(M)|0,B=(PI(M)|0)+1|0,Q=Zv(M)|0,k=X5(Re)|0,M=br(M)|0,O=Jv(Re)|0,j=mR(Re)|0,Il(0,d|0,m|0,B|0,Q|0,k|0,M|0,O|0,j|0,yR(Re)|0),s=n[s>>2]|0;while((s|0)!=0);s=n[(Km()|0)>>2]|0;e:do if(s|0){t:for(;;){if(l=n[s+4>>2]|0,l|0&&(se=n[(Vm(l)|0)>>2]|0,We=n[(R5(l)|0)>>2]|0,We|0)){c=We;do{l=c+4|0,f=sR(l)|0;r:do if(f|0)switch(br(f)|0){case 0:break t;case 4:case 3:case 2:{Q=xI(f)|0,k=SI(f)|0,M=(PI(f)|0)+1|0,O=Zv(f)|0,j=br(f)|0,Re=Jv(l)|0,Il(se|0,Q|0,k|0,M|0,O|0,0,j|0,Re|0,mR(l)|0,yR(l)|0);break r}case 1:{B=xI(f)|0,Q=SI(f)|0,k=(PI(f)|0)+1|0,M=Zv(f)|0,O=X5(l)|0,j=br(f)|0,Re=Jv(l)|0,Il(se|0,B|0,Q|0,k|0,M|0,O|0,j|0,Re|0,mR(l)|0,yR(l)|0);break r}case 5:{M=xI(f)|0,O=SI(f)|0,j=(PI(f)|0)+1|0,Re=Zv(f)|0,Il(se|0,M|0,O|0,j|0,Re|0,GUe(f)|0,br(f)|0,0,0,0);break r}default:break r}while(0);c=n[c>>2]|0}while((c|0)!=0)}if(s=n[s>>2]|0,!s)break e}Rt()}while(0);Ee(),C=Le}function OUe(){return 11703}function MUe(s){s=s|0,o[s+40>>0]=0}function UUe(s){return s=s|0,(o[s+40>>0]|0)!=0|0}function _Ue(s,l){return s=s|0,l=l|0,l=WUe(l)|0,s=n[l>>2]|0,n[l>>2]=n[s>>2],pt(s),n[l>>2]|0}function HUe(s){s=s|0,o[s+40>>0]=1}function z5(s){return s=s|0,n[s+20>>2]|0}function qUe(s){return s=s|0,n[s+8>>2]|0}function jUe(s){return s=s|0,n[s+32>>2]|0}function Zv(s){return s=s|0,n[s+4>>2]|0}function X5(s){return s=s|0,n[s+4>>2]|0}function mR(s){return s=s|0,n[s+8>>2]|0}function yR(s){return s=s|0,n[s+16>>2]|0}function GUe(s){return s=s|0,n[s+20>>2]|0}function WUe(s){return s=s|0,n[s>>2]|0}function $v(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0;Tt=C,C=C+16|0,se=Tt;do if(s>>>0<245){if(M=s>>>0<11?16:s+11&-8,s=M>>>3,j=n[2783]|0,c=j>>>s,c&3|0)return l=(c&1^1)+s|0,s=11172+(l<<1<<2)|0,c=s+8|0,f=n[c>>2]|0,d=f+8|0,m=n[d>>2]|0,(s|0)==(m|0)?n[2783]=j&~(1<<l):(n[m+12>>2]=s,n[c>>2]=m),Ge=l<<3,n[f+4>>2]=Ge|3,Ge=f+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1,Ge=d,C=Tt,Ge|0;if(O=n[2785]|0,M>>>0>O>>>0){if(c|0)return l=2<<s,l=c<<s&(l|0-l),l=(l&0-l)+-1|0,B=l>>>12&16,l=l>>>B,c=l>>>5&8,l=l>>>c,d=l>>>2&4,l=l>>>d,s=l>>>1&2,l=l>>>s,f=l>>>1&1,f=(c|B|d|s|f)+(l>>>f)|0,l=11172+(f<<1<<2)|0,s=l+8|0,d=n[s>>2]|0,B=d+8|0,c=n[B>>2]|0,(l|0)==(c|0)?(s=j&~(1<<f),n[2783]=s):(n[c+12>>2]=l,n[s>>2]=c,s=j),m=(f<<3)-M|0,n[d+4>>2]=M|3,f=d+M|0,n[f+4>>2]=m|1,n[f+m>>2]=m,O|0&&(d=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=c),n[2785]=m,n[2788]=f,Ge=B,C=Tt,Ge|0;if(Q=n[2784]|0,Q){if(c=(Q&0-Q)+-1|0,B=c>>>12&16,c=c>>>B,m=c>>>5&8,c=c>>>m,k=c>>>2&4,c=c>>>k,f=c>>>1&2,c=c>>>f,s=c>>>1&1,s=n[11436+((m|B|k|f|s)+(c>>>s)<<2)>>2]|0,c=(n[s+4>>2]&-8)-M|0,f=n[s+16+(((n[s+16>>2]|0)==0&1)<<2)>>2]|0,!f)k=s,m=c;else{do B=(n[f+4>>2]&-8)-M|0,k=B>>>0<c>>>0,c=k?B:c,s=k?f:s,f=n[f+16+(((n[f+16>>2]|0)==0&1)<<2)>>2]|0;while((f|0)!=0);k=s,m=c}if(B=k+M|0,k>>>0<B>>>0){d=n[k+24>>2]|0,l=n[k+12>>2]|0;do if((l|0)==(k|0)){if(s=k+20|0,l=n[s>>2]|0,!l&&(s=k+16|0,l=n[s>>2]|0,!l)){c=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0,c=l}else c=n[k+8>>2]|0,n[c+12>>2]=l,n[l+8>>2]=c,c=l;while(0);do if(d|0){if(l=n[k+28>>2]|0,s=11436+(l<<2)|0,(k|0)==(n[s>>2]|0)){if(n[s>>2]=c,!c){n[2784]=Q&~(1<<l);break}}else if(n[d+16+(((n[d+16>>2]|0)!=(k|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=d,l=n[k+16>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),l=n[k+20>>2]|0,l|0&&(n[c+20>>2]=l,n[l+24>>2]=c)}while(0);return m>>>0<16?(Ge=m+M|0,n[k+4>>2]=Ge|3,Ge=k+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1):(n[k+4>>2]=M|3,n[B+4>>2]=m|1,n[B+m>>2]=m,O|0&&(f=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<<l,j&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=j|l,l=c,s=c+8|0),n[s>>2]=f,n[l+12>>2]=f,n[f+8>>2]=l,n[f+12>>2]=c),n[2785]=m,n[2788]=B),Ge=k+8|0,C=Tt,Ge|0}else j=M}else j=M}else j=M}else if(s>>>0<=4294967231)if(s=s+11|0,M=s&-8,k=n[2784]|0,k){f=0-M|0,s=s>>>8,s?M>>>0>16777215?Q=31:(j=(s+1048320|0)>>>16&8,He=s<<j,O=(He+520192|0)>>>16&4,He=He<<O,Q=(He+245760|0)>>>16&2,Q=14-(O|j|Q)+(He<<Q>>>15)|0,Q=M>>>(Q+7|0)&1|Q<<1):Q=0,c=n[11436+(Q<<2)>>2]|0;e:do if(!c)c=0,s=0,He=57;else for(s=0,B=M<<((Q|0)==31?0:25-(Q>>>1)|0),m=0;;){if(d=(n[c+4>>2]&-8)-M|0,d>>>0<f>>>0)if(d)s=c,f=d;else{s=c,f=0,d=c,He=61;break e}if(d=n[c+20>>2]|0,c=n[c+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(c|0)?m:d,d=(c|0)==0,d){c=m,He=57;break}else B=B<<((d^1)&1)}while(0);if((He|0)==57){if((c|0)==0&(s|0)==0){if(s=2<<Q,s=k&(s|0-s),!s){j=M;break}j=(s&0-s)+-1|0,B=j>>>12&16,j=j>>>B,m=j>>>5&8,j=j>>>m,Q=j>>>2&4,j=j>>>Q,O=j>>>1&2,j=j>>>O,c=j>>>1&1,s=0,c=n[11436+((m|B|Q|O|c)+(j>>>c)<<2)>>2]|0}c?(d=c,He=61):(Q=s,B=f)}if((He|0)==61)for(;;)if(He=0,c=(n[d+4>>2]&-8)-M|0,j=c>>>0<f>>>0,c=j?c:f,s=j?d:s,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)f=c,He=61;else{Q=s,B=c;break}if((Q|0)!=0&&B>>>0<((n[2785]|0)-M|0)>>>0){if(m=Q+M|0,Q>>>0>=m>>>0)return Ge=0,C=Tt,Ge|0;d=n[Q+24>>2]|0,l=n[Q+12>>2]|0;do if((l|0)==(Q|0)){if(s=Q+20|0,l=n[s>>2]|0,!l&&(s=Q+16|0,l=n[s>>2]|0,!l)){l=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0}else Ge=n[Q+8>>2]|0,n[Ge+12>>2]=l,n[l+8>>2]=Ge;while(0);do if(d){if(s=n[Q+28>>2]|0,c=11436+(s<<2)|0,(Q|0)==(n[c>>2]|0)){if(n[c>>2]=l,!l){f=k&~(1<<s),n[2784]=f;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(Q|0)&1)<<2)>>2]=l,!l){f=k;break}n[l+24>>2]=d,s=n[Q+16>>2]|0,s|0&&(n[l+16>>2]=s,n[s+24>>2]=l),s=n[Q+20>>2]|0,s&&(n[l+20>>2]=s,n[s+24>>2]=l),f=k}else f=k;while(0);do if(B>>>0>=16){if(n[Q+4>>2]=M|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=c;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,l=(Ge+245760|0)>>>16&2,l=14-(at|He|l)+(Ge<<l>>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,c=11436+(l<<2)|0,n[m+28>>2]=l,s=m+16|0,n[s+4>>2]=0,n[s>>2]=0,s=1<<l,!(f&s)){n[2784]=f|s,n[c>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}for(s=B<<((l|0)==31?0:25-(l>>>1)|0),c=n[c>>2]|0;;){if((n[c+4>>2]&-8|0)==(B|0)){He=97;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=96;break}}if((He|0)==96){n[f>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((He|0)==97){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=m,n[He>>2]=m,n[m+8>>2]=Ge,n[m+12>>2]=c,n[m+24>>2]=0;break}}else Ge=B+M|0,n[Q+4>>2]=Ge|3,Ge=Q+Ge+4|0,n[Ge>>2]=n[Ge>>2]|1;while(0);return Ge=Q+8|0,C=Tt,Ge|0}else j=M}else j=M;else j=-1;while(0);if(c=n[2785]|0,c>>>0>=j>>>0)return l=c-j|0,s=n[2788]|0,l>>>0>15?(Ge=s+j|0,n[2788]=Ge,n[2785]=l,n[Ge+4>>2]=l|1,n[Ge+l>>2]=l,n[s+4>>2]=j|3):(n[2785]=0,n[2788]=0,n[s+4>>2]=c|3,Ge=s+c+4|0,n[Ge>>2]=n[Ge>>2]|1),Ge=s+8|0,C=Tt,Ge|0;if(B=n[2786]|0,B>>>0>j>>>0)return at=B-j|0,n[2786]=at,Ge=n[2789]|0,He=Ge+j|0,n[2789]=He,n[He+4>>2]=at|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,C=Tt,Ge|0;if(n[2901]|0?s=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,s=se&-16^1431655768,n[se>>2]=s,n[2901]=s,s=4096),Q=j+48|0,k=j+47|0,m=s+k|0,d=0-s|0,M=m&d,M>>>0<=j>>>0||(s=n[2893]|0,s|0&&(O=n[2891]|0,se=O+M|0,se>>>0<=O>>>0|se>>>0>s>>>0)))return Ge=0,C=Tt,Ge|0;e:do if(n[2894]&4)l=0,He=133;else{c=n[2789]|0;t:do if(c){for(f=11580;s=n[f>>2]|0,!(s>>>0<=c>>>0&&(Re=f+4|0,(s+(n[Re>>2]|0)|0)>>>0>c>>>0));)if(s=n[f+8>>2]|0,s)f=s;else{He=118;break t}if(l=m-B&d,l>>>0<2147483647)if(s=bp(l|0)|0,(s|0)==((n[f>>2]|0)+(n[Re>>2]|0)|0)){if((s|0)!=-1){B=l,m=s,He=135;break e}}else f=s,He=126;else l=0}else He=118;while(0);do if((He|0)==118)if(c=bp(0)|0,(c|0)!=-1&&(l=c,We=n[2902]|0,Le=We+-1|0,l=((Le&l|0)==0?0:(Le+l&0-We)-l|0)+M|0,We=n[2891]|0,Le=l+We|0,l>>>0>j>>>0&l>>>0<2147483647)){if(Re=n[2893]|0,Re|0&&Le>>>0<=We>>>0|Le>>>0>Re>>>0){l=0;break}if(s=bp(l|0)|0,(s|0)==(c|0)){B=l,m=c,He=135;break e}else f=s,He=126}else l=0;while(0);do if((He|0)==126){if(c=0-l|0,!(Q>>>0>l>>>0&(l>>>0<2147483647&(f|0)!=-1)))if((f|0)==-1){l=0;break}else{B=l,m=f,He=135;break e}if(s=n[2903]|0,s=k-l+s&0-s,s>>>0>=2147483647){B=l,m=f,He=135;break e}if((bp(s|0)|0)==-1){bp(c|0)|0,l=0;break}else{B=s+l|0,m=f,He=135;break e}}while(0);n[2894]=n[2894]|4,He=133}while(0);if((He|0)==133&&M>>>0<2147483647&&(at=bp(M|0)|0,Re=bp(0)|0,et=Re-at|0,Ze=et>>>0>(j+40|0)>>>0,!((at|0)==-1|Ze^1|at>>>0<Re>>>0&((at|0)!=-1&(Re|0)!=-1)^1))&&(B=Ze?et:l,m=at,He=135),(He|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),k=n[2789]|0;do if(k){for(l=11580;;){if(s=n[l>>2]|0,c=l+4|0,f=n[c>>2]|0,(m|0)==(s+f|0)){He=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((He|0)==145&&(n[l+12>>2]&8|0)==0&&k>>>0<m>>>0&k>>>0>=s>>>0){n[c>>2]=f+B,Ge=k+8|0,Ge=(Ge&7|0)==0?0:0-Ge&7,He=k+Ge|0,Ge=(n[2786]|0)+(B-Ge)|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),c=m+B|0,l=11580;;){if((n[l>>2]|0)==(c|0)){He=153;break}if(s=n[l+8>>2]|0,s)l=s;else break}if((He|0)==153&&(n[l+12>>2]&8|0)==0){n[l>>2]=m,O=l+4|0,n[O>>2]=(n[O>>2]|0)+B,O=m+8|0,O=m+((O&7|0)==0?0:0-O&7)|0,l=c+8|0,l=c+((l&7|0)==0?0:0-l&7)|0,M=O+j|0,Q=l-O-j|0,n[O+4>>2]=j|3;do if((l|0)!=(k|0)){if((l|0)==(n[2788]|0)){Ge=(n[2785]|0)+Q|0,n[2785]=Ge,n[2788]=M,n[M+4>>2]=Ge|1,n[M+Ge>>2]=Ge;break}if(s=n[l+4>>2]|0,(s&3|0)==1){B=s&-8,f=s>>>3;e:do if(s>>>0<256)if(s=n[l+8>>2]|0,c=n[l+12>>2]|0,(c|0)==(s|0)){n[2783]=n[2783]&~(1<<f);break}else{n[s+12>>2]=c,n[c+8>>2]=s;break}else{m=n[l+24>>2]|0,s=n[l+12>>2]|0;do if((s|0)==(l|0)){if(f=l+16|0,c=f+4|0,s=n[c>>2]|0,!s)if(s=n[f>>2]|0,s)c=f;else{s=0;break}for(;;){if(f=s+20|0,d=n[f>>2]|0,d|0){s=d,c=f;continue}if(f=s+16|0,d=n[f>>2]|0,d)s=d,c=f;else break}n[c>>2]=0}else Ge=n[l+8>>2]|0,n[Ge+12>>2]=s,n[s+8>>2]=Ge;while(0);if(!m)break;c=n[l+28>>2]|0,f=11436+(c<<2)|0;do if((l|0)!=(n[f>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=s,!s)break e}else{if(n[f>>2]=s,s|0)break;n[2784]=n[2784]&~(1<<c);break e}while(0);if(n[s+24>>2]=m,c=l+16|0,f=n[c>>2]|0,f|0&&(n[s+16>>2]=f,n[f+24>>2]=s),c=n[c+4>>2]|0,!c)break;n[s+20>>2]=c,n[c+24>>2]=s}while(0);l=l+B|0,d=B+Q|0}else d=Q;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[M+4>>2]=d|1,n[M+d>>2]=d,l=d>>>3,d>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=M,n[l+12>>2]=M,n[M+8>>2]=l,n[M+12>>2]=c;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,l=(Ge+245760|0)>>>16&2,l=14-(at|He|l)+(Ge<<l>>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(0);if(f=11436+(l<<2)|0,n[M+28>>2]=l,s=M+16|0,n[s+4>>2]=0,n[s>>2]=0,s=n[2784]|0,c=1<<l,!(s&c)){n[2784]=s|c,n[f>>2]=M,n[M+24>>2]=f,n[M+12>>2]=M,n[M+8>>2]=M;break}for(s=d<<((l|0)==31?0:25-(l>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){He=194;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=193;break}}if((He|0)==193){n[f>>2]=M,n[M+24>>2]=c,n[M+12>>2]=M,n[M+8>>2]=M;break}else if((He|0)==194){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=M,n[He>>2]=M,n[M+8>>2]=Ge,n[M+12>>2]=c,n[M+24>>2]=0;break}}else Ge=(n[2786]|0)+Q|0,n[2786]=Ge,n[2789]=M,n[M+4>>2]=Ge|1;while(0);return Ge=O+8|0,C=Tt,Ge|0}for(l=11580;s=n[l>>2]|0,!(s>>>0<=k>>>0&&(Ge=s+(n[l+4>>2]|0)|0,Ge>>>0>k>>>0));)l=n[l+8>>2]|0;d=Ge+-47|0,s=d+8|0,s=d+((s&7|0)==0?0:0-s&7)|0,d=k+16|0,s=s>>>0<d>>>0?k:s,l=s+8|0,c=m+8|0,c=(c&7|0)==0?0:0-c&7,He=m+c|0,c=B+-40-c|0,n[2789]=He,n[2786]=c,n[He+4>>2]=c|1,n[He+c+4>>2]=40,n[2790]=n[2905],c=s+4|0,n[c>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=s+24|0;do He=l,l=l+4|0,n[l>>2]=7;while((He+8|0)>>>0<Ge>>>0);if((s|0)!=(k|0)){if(m=s-k|0,n[c>>2]=n[c>>2]&-2,n[k+4>>2]=m|1,n[s>>2]=m,l=m>>>3,m>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<<l,s&l?(s=c+8|0,l=n[s>>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=k,n[l+12>>2]=k,n[k+8>>2]=l,n[k+12>>2]=c;break}if(l=m>>>8,l?m>>>0>16777215?c=31:(He=(l+1048320|0)>>>16&8,Ge=l<<He,at=(Ge+520192|0)>>>16&4,Ge=Ge<<at,c=(Ge+245760|0)>>>16&2,c=14-(at|He|c)+(Ge<<c>>>15)|0,c=m>>>(c+7|0)&1|c<<1):c=0,f=11436+(c<<2)|0,n[k+28>>2]=c,n[k+20>>2]=0,n[d>>2]=0,l=n[2784]|0,s=1<<c,!(l&s)){n[2784]=l|s,n[f>>2]=k,n[k+24>>2]=f,n[k+12>>2]=k,n[k+8>>2]=k;break}for(s=m<<((c|0)==31?0:25-(c>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(m|0)){He=216;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{He=215;break}}if((He|0)==215){n[f>>2]=k,n[k+24>>2]=c,n[k+12>>2]=k,n[k+8>>2]=k;break}else if((He|0)==216){He=c+8|0,Ge=n[He>>2]|0,n[Ge+12>>2]=k,n[He>>2]=k,n[k+8>>2]=Ge,n[k+12>>2]=c,n[k+24>>2]=0;break}}}else{Ge=n[2787]|0,(Ge|0)==0|m>>>0<Ge>>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do Ge=11172+(l<<1<<2)|0,n[Ge+12>>2]=Ge,n[Ge+8>>2]=Ge,l=l+1|0;while((l|0)!=32);Ge=m+8|0,Ge=(Ge&7|0)==0?0:0-Ge&7,He=m+Ge|0,Ge=B+-40-Ge|0,n[2789]=He,n[2786]=Ge,n[He+4>>2]=Ge|1,n[He+Ge+4>>2]=40,n[2790]=n[2905]}while(0);if(l=n[2786]|0,l>>>0>j>>>0)return at=l-j|0,n[2786]=at,Ge=n[2789]|0,He=Ge+j|0,n[2789]=He,n[He+4>>2]=at|1,n[Ge+4>>2]=j|3,Ge=Ge+8|0,C=Tt,Ge|0}return n[(zm()|0)>>2]=12,Ge=0,C=Tt,Ge|0}function eD(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,Q=0,k=0;if(!!s){c=s+-8|0,d=n[2787]|0,s=n[s+-4>>2]|0,l=s&-8,k=c+l|0;do if(s&1)Q=c,B=c;else{if(f=n[c>>2]|0,!(s&3)||(B=c+(0-f)|0,m=f+l|0,B>>>0<d>>>0))return;if((B|0)==(n[2788]|0)){if(s=k+4|0,l=n[s>>2]|0,(l&3|0)!=3){Q=B,l=m;break}n[2785]=m,n[s>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(c=f>>>3,f>>>0<256)if(s=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(s|0)){n[2783]=n[2783]&~(1<<c),Q=B,l=m;break}else{n[s+12>>2]=l,n[l+8>>2]=s,Q=B,l=m;break}d=n[B+24>>2]|0,s=n[B+12>>2]|0;do if((s|0)==(B|0)){if(c=B+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{s=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0}else Q=n[B+8>>2]|0,n[Q+12>>2]=s,n[s+8>>2]=Q;while(0);if(d){if(l=n[B+28>>2]|0,c=11436+(l<<2)|0,(B|0)==(n[c>>2]|0)){if(n[c>>2]=s,!s){n[2784]=n[2784]&~(1<<l),Q=B,l=m;break}}else if(n[d+16+(((n[d+16>>2]|0)!=(B|0)&1)<<2)>>2]=s,!s){Q=B,l=m;break}n[s+24>>2]=d,l=B+16|0,c=n[l>>2]|0,c|0&&(n[s+16>>2]=c,n[c+24>>2]=s),l=n[l+4>>2]|0,l?(n[s+20>>2]=l,n[l+24>>2]=s,Q=B,l=m):(Q=B,l=m)}else Q=B,l=m}while(0);if(!(B>>>0>=k>>>0)&&(s=k+4|0,f=n[s>>2]|0,!!(f&1))){if(f&2)n[s>>2]=f&-2,n[Q+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(s=n[2788]|0,(k|0)==(n[2789]|0)){if(k=(n[2786]|0)+l|0,n[2786]=k,n[2789]=Q,n[Q+4>>2]=k|1,(Q|0)!=(s|0))return;n[2788]=0,n[2785]=0;return}if((k|0)==(s|0)){k=(n[2785]|0)+l|0,n[2785]=k,n[2788]=B,n[Q+4>>2]=k|1,n[B+k>>2]=k;return}d=(f&-8)+l|0,c=f>>>3;do if(f>>>0<256)if(l=n[k+8>>2]|0,s=n[k+12>>2]|0,(s|0)==(l|0)){n[2783]=n[2783]&~(1<<c);break}else{n[l+12>>2]=s,n[s+8>>2]=l;break}else{m=n[k+24>>2]|0,s=n[k+12>>2]|0;do if((s|0)==(k|0)){if(c=k+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{c=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0,c=s}else c=n[k+8>>2]|0,n[c+12>>2]=s,n[s+8>>2]=c,c=s;while(0);if(m|0){if(s=n[k+28>>2]|0,l=11436+(s<<2)|0,(k|0)==(n[l>>2]|0)){if(n[l>>2]=c,!c){n[2784]=n[2784]&~(1<<s);break}}else if(n[m+16+(((n[m+16>>2]|0)!=(k|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=m,s=k+16|0,l=n[s>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),s=n[s+4>>2]|0,s|0&&(n[c+20>>2]=s,n[s+24>>2]=c)}}while(0);if(n[Q+4>>2]=d|1,n[B+d>>2]=d,(Q|0)==(n[2788]|0)){n[2785]=d;return}}if(s=d>>>3,d>>>0<256){c=11172+(s<<1<<2)|0,l=n[2783]|0,s=1<<s,l&s?(l=c+8|0,s=n[l>>2]|0):(n[2783]=l|s,s=c,l=c+8|0),n[l>>2]=Q,n[s+12>>2]=Q,n[Q+8>>2]=s,n[Q+12>>2]=c;return}s=d>>>8,s?d>>>0>16777215?s=31:(B=(s+1048320|0)>>>16&8,k=s<<B,m=(k+520192|0)>>>16&4,k=k<<m,s=(k+245760|0)>>>16&2,s=14-(m|B|s)+(k<<s>>>15)|0,s=d>>>(s+7|0)&1|s<<1):s=0,f=11436+(s<<2)|0,n[Q+28>>2]=s,n[Q+20>>2]=0,n[Q+16>>2]=0,l=n[2784]|0,c=1<<s;do if(l&c){for(l=d<<((s|0)==31?0:25-(s>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){s=73;break}if(f=c+16+(l>>>31<<2)|0,s=n[f>>2]|0,s)l=l<<1,c=s;else{s=72;break}}if((s|0)==72){n[f>>2]=Q,n[Q+24>>2]=c,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}else if((s|0)==73){B=c+8|0,k=n[B>>2]|0,n[k+12>>2]=Q,n[B>>2]=Q,n[Q+8>>2]=k,n[Q+12>>2]=c,n[Q+24>>2]=0;break}}else n[2784]=l|c,n[f>>2]=Q,n[Q+24>>2]=f,n[Q+12>>2]=Q,n[Q+8>>2]=Q;while(0);if(k=(n[2791]|0)+-1|0,n[2791]=k,!k)s=11588;else return;for(;s=n[s>>2]|0,s;)s=s+8|0;n[2791]=-1}}}function YUe(){return 11628}function KUe(s){s=s|0;var l=0,c=0;return l=C,C=C+16|0,c=l,n[c>>2]=zUe(n[s+60>>2]|0)|0,s=tD(yc(6,c|0)|0)|0,C=l,s|0}function Z5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0;j=C,C=C+48|0,M=j+16|0,m=j,d=j+32|0,Q=s+28|0,f=n[Q>>2]|0,n[d>>2]=f,k=s+20|0,f=(n[k>>2]|0)-f|0,n[d+4>>2]=f,n[d+8>>2]=l,n[d+12>>2]=c,f=f+c|0,B=s+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=tD(Hi(146,m|0)|0)|0;e:do if((f|0)!=(m|0)){for(l=2;!((m|0)<0);)if(f=f-m|0,We=n[d+4>>2]|0,se=m>>>0>We>>>0,d=se?d+8|0:d,l=(se<<31>>31)+l|0,We=m-(se?We:0)|0,n[d>>2]=(n[d>>2]|0)+We,se=d+4|0,n[se>>2]=(n[se>>2]|0)-We,n[M>>2]=n[B>>2],n[M+4>>2]=d,n[M+8>>2]=l,m=tD(Hi(146,M|0)|0)|0,(f|0)==(m|0)){O=3;break e}n[s+16>>2]=0,n[Q>>2]=0,n[k>>2]=0,n[s>>2]=n[s>>2]|32,(l|0)==2?c=0:c=c-(n[d+4>>2]|0)|0}else O=3;while(0);return(O|0)==3&&(We=n[s+44>>2]|0,n[s+16>>2]=We+(n[s+48>>2]|0),n[Q>>2]=We,n[k>>2]=We),C=j,c|0}function VUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return d=C,C=C+32|0,m=d,f=d+20|0,n[m>>2]=n[s+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=f,n[m+16>>2]=c,(tD(ra(140,m|0)|0)|0)<0?(n[f>>2]=-1,s=-1):s=n[f>>2]|0,C=d,s|0}function tD(s){return s=s|0,s>>>0>4294963200&&(n[(zm()|0)>>2]=0-s,s=-1),s|0}function zm(){return(JUe()|0)+64|0}function JUe(){return CR()|0}function CR(){return 2084}function zUe(s){return s=s|0,s|0}function XUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return d=C,C=C+32|0,f=d,n[s+36>>2]=1,(n[s>>2]&64|0)==0&&(n[f>>2]=n[s+60>>2],n[f+4>>2]=21523,n[f+8>>2]=d+16,yu(54,f|0)|0)&&(o[s+75>>0]=-1),f=Z5(s,l,c)|0,C=d,f|0}function $5(s,l){s=s|0,l=l|0;var c=0,f=0;if(c=o[s>>0]|0,f=o[l>>0]|0,c<<24>>24==0||c<<24>>24!=f<<24>>24)s=f;else{do s=s+1|0,l=l+1|0,c=o[s>>0]|0,f=o[l>>0]|0;while(!(c<<24>>24==0||c<<24>>24!=f<<24>>24));s=f}return(c&255)-(s&255)|0}function ZUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;e:do if(!c)s=0;else{for(;f=o[s>>0]|0,d=o[l>>0]|0,f<<24>>24==d<<24>>24;)if(c=c+-1|0,c)s=s+1|0,l=l+1|0;else{s=0;break e}s=(f&255)-(d&255)|0}while(0);return s|0}function e7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0;Re=C,C=C+224|0,O=Re+120|0,j=Re+80|0,We=Re,Le=Re+136|0,f=j,d=f+40|0;do n[f>>2]=0,f=f+4|0;while((f|0)<(d|0));return n[O>>2]=n[c>>2],(ER(0,l,O,We,j)|0)<0?c=-1:((n[s+76>>2]|0)>-1?se=$Ue(s)|0:se=0,c=n[s>>2]|0,M=c&32,(o[s+74>>0]|0)<1&&(n[s>>2]=c&-33),f=s+48|0,n[f>>2]|0?c=ER(s,l,O,We,j)|0:(d=s+44|0,m=n[d>>2]|0,n[d>>2]=Le,B=s+28|0,n[B>>2]=Le,Q=s+20|0,n[Q>>2]=Le,n[f>>2]=80,k=s+16|0,n[k>>2]=Le+80,c=ER(s,l,O,We,j)|0,m&&(sD[n[s+36>>2]&7](s,0,0)|0,c=(n[Q>>2]|0)==0?-1:c,n[d>>2]=m,n[f>>2]=0,n[k>>2]=0,n[B>>2]=0,n[Q>>2]=0)),f=n[s>>2]|0,n[s>>2]=f|M,se|0&&e3e(s),c=(f&32|0)==0?c:-1),C=Re,c|0}function ER(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Jt=0,Ir=0,Qr=0,rr=0;rr=C,C=C+64|0,ir=rr+16|0,Jt=rr,Tt=rr+24|0,Ir=rr+8|0,Qr=rr+20|0,n[ir>>2]=l,at=(s|0)!=0,He=Tt+40|0,Ge=He,Tt=Tt+39|0,Rr=Ir+4|0,B=0,m=0,O=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(zm()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(0);if(B=o[l>>0]|0,B<<24>>24)Q=l;else{Ze=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=Q,Ze=9;break t}case 0:{B=Q;break t}default:}et=Q+1|0,n[ir>>2]=et,B=o[et>>0]|0,Q=et}t:do if((Ze|0)==9)for(;;){if(Ze=0,(o[Q+1>>0]|0)!=37)break t;if(B=B+1|0,Q=Q+2|0,n[ir>>2]=Q,(o[Q>>0]|0)==37)Ze=9;else break}while(0);if(B=B-l|0,at&&ss(s,l,B),B|0){l=Q;continue}k=Q+1|0,B=(o[k>>0]|0)+-48|0,B>>>0<10?(et=(o[Q+2>>0]|0)==36,Re=et?B:-1,O=et?1:O,k=et?Q+3|0:k):Re=-1,n[ir>>2]=k,B=o[k>>0]|0,Q=(B<<24>>24)+-32|0;t:do if(Q>>>0<32)for(M=0,j=B;;){if(B=1<<Q,!(B&75913)){B=j;break t}if(M=B|M,k=k+1|0,n[ir>>2]=k,B=o[k>>0]|0,Q=(B<<24>>24)+-32|0,Q>>>0>=32)break;j=B}else M=0;while(0);if(B<<24>>24==42){if(Q=k+1|0,B=(o[Q>>0]|0)+-48|0,B>>>0<10&&(o[k+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[f+((o[Q>>0]|0)+-48<<3)>>2]|0,O=1,k=k+3|0;else{if(O|0){m=-1;break}at?(O=(n[c>>2]|0)+(4-1)&~(4-1),B=n[O>>2]|0,n[c>>2]=O+4,O=0,k=Q):(B=0,O=0,k=Q)}n[ir>>2]=k,et=(B|0)<0,B=et?0-B|0:B,M=et?M|8192:M}else{if(B=t7(ir)|0,(B|0)<0){m=-1;break}k=n[ir>>2]|0}do if((o[k>>0]|0)==46){if((o[k+1>>0]|0)!=42){n[ir>>2]=k+1,Q=t7(ir)|0,k=n[ir>>2]|0;break}if(j=k+2|0,Q=(o[j>>0]|0)+-48|0,Q>>>0<10&&(o[k+3>>0]|0)==36){n[d+(Q<<2)>>2]=10,Q=n[f+((o[j>>0]|0)+-48<<3)>>2]|0,k=k+4|0,n[ir>>2]=k;break}if(O|0){m=-1;break e}at?(et=(n[c>>2]|0)+(4-1)&~(4-1),Q=n[et>>2]|0,n[c>>2]=et+4):Q=0,n[ir>>2]=j,k=j}else Q=-1;while(0);for(Le=0;;){if(((o[k>>0]|0)+-65|0)>>>0>57){m=-1;break e}if(et=k+1|0,n[ir>>2]=et,j=o[(o[k>>0]|0)+-65+(5178+(Le*58|0))>>0]|0,se=j&255,(se+-1|0)>>>0<8)Le=se,k=et;else break}if(!(j<<24>>24)){m=-1;break}We=(Re|0)>-1;do if(j<<24>>24==19)if(We){m=-1;break e}else Ze=49;else{if(We){n[d+(Re<<2)>>2]=se,We=f+(Re<<3)|0,Re=n[We+4>>2]|0,Ze=Jt,n[Ze>>2]=n[We>>2],n[Ze+4>>2]=Re,Ze=49;break}if(!at){m=0;break e}r7(Jt,se,c)}while(0);if((Ze|0)==49&&(Ze=0,!at)){B=0,l=et;continue}k=o[k>>0]|0,k=(Le|0)!=0&(k&15|0)==3?k&-33:k,We=M&-65537,Re=(M&8192|0)==0?M:We;t:do switch(k|0){case 110:switch((Le&255)<<24>>24){case 0:{n[n[Jt>>2]>>2]=m,B=0,l=et;continue e}case 1:{n[n[Jt>>2]>>2]=m,B=0,l=et;continue e}case 2:{B=n[Jt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}case 3:{a[n[Jt>>2]>>1]=m,B=0,l=et;continue e}case 4:{o[n[Jt>>2]>>0]=m,B=0,l=et;continue e}case 6:{n[n[Jt>>2]>>2]=m,B=0,l=et;continue e}case 7:{B=n[Jt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=et;continue e}default:{B=0,l=et;continue e}}case 112:{k=120,Q=Q>>>0>8?Q:8,l=Re|8,Ze=61;break}case 88:case 120:{l=Re,Ze=61;break}case 111:{k=Jt,l=n[k>>2]|0,k=n[k+4>>2]|0,se=r3e(l,k,He)|0,We=Ge-se|0,M=0,j=5642,Q=(Re&8|0)==0|(Q|0)>(We|0)?Q:We+1|0,We=Re,Ze=67;break}case 105:case 100:if(k=Jt,l=n[k>>2]|0,k=n[k+4>>2]|0,(k|0)<0){l=rD(0,0,l|0,k|0)|0,k=Ce,M=Jt,n[M>>2]=l,n[M+4>>2]=k,M=1,j=5642,Ze=66;break t}else{M=(Re&2049|0)!=0&1,j=(Re&2048|0)==0?(Re&1|0)==0?5642:5644:5643,Ze=66;break t}case 117:{k=Jt,M=0,j=5642,l=n[k>>2]|0,k=n[k+4>>2]|0,Ze=66;break}case 99:{o[Tt>>0]=n[Jt>>2],l=Tt,M=0,j=5642,se=He,k=1,Q=We;break}case 109:{k=n3e(n[(zm()|0)>>2]|0)|0,Ze=71;break}case 115:{k=n[Jt>>2]|0,k=k|0?k:5652,Ze=71;break}case 67:{n[Ir>>2]=n[Jt>>2],n[Rr>>2]=0,n[Jt>>2]=Ir,se=-1,k=Ir,Ze=75;break}case 83:{l=n[Jt>>2]|0,Q?(se=Q,k=l,Ze=75):(Is(s,32,B,0,Re),l=0,Ze=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=s3e(s,+E[Jt>>3],B,Q,Re,k)|0,l=et;continue e}default:M=0,j=5642,se=He,k=Q,Q=Re}while(0);t:do if((Ze|0)==61)Re=Jt,Le=n[Re>>2]|0,Re=n[Re+4>>2]|0,se=t3e(Le,Re,He,k&32)|0,j=(l&8|0)==0|(Le|0)==0&(Re|0)==0,M=j?0:2,j=j?5642:5642+(k>>4)|0,We=l,l=Le,k=Re,Ze=67;else if((Ze|0)==66)se=Xm(l,k,He)|0,We=Re,Ze=67;else if((Ze|0)==71)Ze=0,Re=i3e(k,0,Q)|0,Le=(Re|0)==0,l=k,M=0,j=5642,se=Le?k+Q|0:Re,k=Le?Q:Re-k|0,Q=We;else if((Ze|0)==75){for(Ze=0,j=k,l=0,Q=0;M=n[j>>2]|0,!(!M||(Q=n7(Qr,M)|0,(Q|0)<0|Q>>>0>(se-l|0)>>>0));)if(l=Q+l|0,se>>>0>l>>>0)j=j+4|0;else break;if((Q|0)<0){m=-1;break e}if(Is(s,32,B,l,Re),!l)l=0,Ze=84;else for(M=0;;){if(Q=n[k>>2]|0,!Q){Ze=84;break t}if(Q=n7(Qr,Q)|0,M=Q+M|0,(M|0)>(l|0)){Ze=84;break t}if(ss(s,Qr,Q),M>>>0>=l>>>0){Ze=84;break}else k=k+4|0}}while(0);if((Ze|0)==67)Ze=0,k=(l|0)!=0|(k|0)!=0,Re=(Q|0)!=0|k,k=((k^1)&1)+(Ge-se)|0,l=Re?se:He,se=He,k=Re?(Q|0)>(k|0)?Q:k:Q,Q=(Q|0)>-1?We&-65537:We;else if((Ze|0)==84){Ze=0,Is(s,32,B,l,Re^8192),B=(B|0)>(l|0)?B:l,l=et;continue}Le=se-l|0,We=(k|0)<(Le|0)?Le:k,Re=We+M|0,B=(B|0)<(Re|0)?Re:B,Is(s,32,B,Re,Q),ss(s,j,M),Is(s,48,B,Re,Q^65536),Is(s,48,We,Le,0),ss(s,l,Le),Is(s,32,B,Re,Q^8192),l=et}e:do if((Ze|0)==87&&!s)if(!O)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(r7(f+(m<<3)|0,l,c),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(0);return C=rr,m|0}function $Ue(s){return s=s|0,0}function e3e(s){s=s|0}function ss(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]&32||h3e(l,c,s)|0}function t7(s){s=s|0;var l=0,c=0,f=0;if(c=n[s>>2]|0,f=(o[c>>0]|0)+-48|0,f>>>0<10){l=0;do l=f+(l*10|0)|0,c=c+1|0,n[s>>2]=c,f=(o[c>>0]|0)+-48|0;while(f>>>0<10)}else l=0;return l|0}function r7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,n[s>>2]=l;break e}case 10:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=0;break e}case 12:{f=(n[c>>2]|0)+(8-1)&~(8-1),l=f,d=n[l>>2]|0,l=n[l+4>>2]|0,n[c>>2]=f+8,f=s,n[f>>2]=d,n[f+4>>2]=l;break e}case 13:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&65535)<<16>>16,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&65535,n[d+4>>2]=0;break e}case 15:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&255)<<24>>24,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&255,n[d+4>>2]=0;break e}case 17:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}case 18:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}default:break e}while(0);while(0)}function t3e(s,l,c,f){if(s=s|0,l=l|0,c=c|0,f=f|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=u[5694+(s&15)>>0]|0|f,s=nD(s|0,l|0,4)|0,l=Ce;while(!((s|0)==0&(l|0)==0));return c|0}function r3e(s,l,c){if(s=s|0,l=l|0,c=c|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=s&7|48,s=nD(s|0,l|0,3)|0,l=Ce;while(!((s|0)==0&(l|0)==0));return c|0}function Xm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if(l>>>0>0|(l|0)==0&s>>>0>4294967295){for(;f=vR(s|0,l|0,10,0)|0,c=c+-1|0,o[c>>0]=f&255|48,f=s,s=BR(s|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&f>>>0>4294967295;)l=Ce;l=s}else l=s;if(l)for(;c=c+-1|0,o[c>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return c|0}function n3e(s){return s=s|0,u3e(s,n[(c3e()|0)+188>>2]|0)|0}function i3e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;m=l&255,f=(c|0)!=0;e:do if(f&(s&3|0)!=0)for(d=l&255;;){if((o[s>>0]|0)==d<<24>>24){B=6;break e}if(s=s+1|0,c=c+-1|0,f=(c|0)!=0,!(f&(s&3|0)!=0)){B=5;break}}else B=5;while(0);(B|0)==5&&(f?B=6:c=0);e:do if((B|0)==6&&(d=l&255,(o[s>>0]|0)!=d<<24>>24)){f=Oe(m,16843009)|0;t:do if(c>>>0>3){for(;m=n[s>>2]^f,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(s=s+4|0,c=c+-4|0,c>>>0<=3){B=11;break t}}else B=11;while(0);if((B|0)==11&&!c){c=0;break}for(;;){if((o[s>>0]|0)==d<<24>>24)break e;if(s=s+1|0,c=c+-1|0,!c){c=0;break}}}while(0);return(c|0?s:0)|0}function Is(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0;if(B=C,C=C+256|0,m=B,(c|0)>(f|0)&(d&73728|0)==0){if(d=c-f|0,$m(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=c-f|0;do ss(s,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}ss(s,m,d)}C=B}function n7(s,l){return s=s|0,l=l|0,s?s=a3e(s,l,0)|0:s=0,s|0}function s3e(s,l,c,f,d,m){s=s|0,l=+l,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0,Re=0,et=0,Ze=0,at=0,He=0,Ge=0,Tt=0,Rr=0,ir=0,Jt=0,Ir=0,Qr=0,rr=0,Bn=0;Bn=C,C=C+560|0,k=Bn+8|0,et=Bn,rr=Bn+524|0,Qr=rr,M=Bn+512|0,n[et>>2]=0,Ir=M+12|0,i7(l)|0,(Ce|0)<0?(l=-l,ir=1,Rr=5659):(ir=(d&2049|0)!=0&1,Rr=(d&2048|0)==0?(d&1|0)==0?5660:5665:5662),i7(l)|0,Jt=Ce&2146435072;do if(Jt>>>0<2146435072|(Jt|0)==2146435072&0<0){if(We=+o3e(l,et)*2,B=We!=0,B&&(n[et>>2]=(n[et>>2]|0)+-1),at=m|32,(at|0)==97){Le=m&32,se=(Le|0)==0?Rr:Rr+9|0,j=ir|2,B=12-f|0;do if(f>>>0>11|(B|0)==0)l=We;else{l=8;do B=B+-1|0,l=l*16;while((B|0)!=0);if((o[se>>0]|0)==45){l=-(l+(-We-l));break}else{l=We+l-l;break}}while(0);Q=n[et>>2]|0,B=(Q|0)<0?0-Q|0:Q,B=Xm(B,((B|0)<0)<<31>>31,Ir)|0,(B|0)==(Ir|0)&&(B=M+11|0,o[B>>0]=48),o[B+-1>>0]=(Q>>31&2)+43,O=B+-2|0,o[O>>0]=m+15,M=(f|0)<1,k=(d&8|0)==0,B=rr;do Jt=~~l,Q=B+1|0,o[B>>0]=u[5694+Jt>>0]|Le,l=(l-+(Jt|0))*16,(Q-Qr|0)==1&&!(k&(M&l==0))?(o[Q>>0]=46,B=B+2|0):B=Q;while(l!=0);Jt=B-Qr|0,Qr=Ir-O|0,Ir=(f|0)!=0&(Jt+-2|0)<(f|0)?f+2|0:Jt,B=Qr+j+Ir|0,Is(s,32,c,B,d),ss(s,se,j),Is(s,48,c,B,d^65536),ss(s,rr,Jt),Is(s,48,Ir-Jt|0,0,0),ss(s,O,Qr),Is(s,32,c,B,d^8192);break}Q=(f|0)<0?6:f,B?(B=(n[et>>2]|0)+-28|0,n[et>>2]=B,l=We*268435456):(l=We,B=n[et>>2]|0),Jt=(B|0)<0?k:k+288|0,k=Jt;do Ge=~~l>>>0,n[k>>2]=Ge,k=k+4|0,l=(l-+(Ge>>>0))*1e9;while(l!=0);if((B|0)>0)for(M=Jt,j=k;;){if(O=(B|0)<29?B:29,B=j+-4|0,B>>>0>=M>>>0){k=0;do He=u7(n[B>>2]|0,0,O|0)|0,He=wR(He|0,Ce|0,k|0,0)|0,Ge=Ce,Ze=vR(He|0,Ge|0,1e9,0)|0,n[B>>2]=Ze,k=BR(He|0,Ge|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=M>>>0);k&&(M=M+-4|0,n[M>>2]=k)}for(k=j;!(k>>>0<=M>>>0);)if(B=k+-4|0,!(n[B>>2]|0))k=B;else break;if(B=(n[et>>2]|0)-O|0,n[et>>2]=B,(B|0)>0)j=k;else break}else M=Jt;if((B|0)<0){f=((Q+25|0)/9|0)+1|0,Re=(at|0)==102;do{if(Le=0-B|0,Le=(Le|0)<9?Le:9,M>>>0<k>>>0){O=(1<<Le)+-1|0,j=1e9>>>Le,se=0,B=M;do Ge=n[B>>2]|0,n[B>>2]=(Ge>>>Le)+se,se=Oe(Ge&O,j)|0,B=B+4|0;while(B>>>0<k>>>0);B=(n[M>>2]|0)==0?M+4|0:M,se?(n[k>>2]=se,M=B,B=k+4|0):(M=B,B=k)}else M=(n[M>>2]|0)==0?M+4|0:M,B=k;k=Re?Jt:M,k=(B-k>>2|0)>(f|0)?k+(f<<2)|0:B,B=(n[et>>2]|0)+Le|0,n[et>>2]=B}while((B|0)<0);B=M,f=k}else B=M,f=k;if(Ge=Jt,B>>>0<f>>>0){if(k=(Ge-B>>2)*9|0,O=n[B>>2]|0,O>>>0>=10){M=10;do M=M*10|0,k=k+1|0;while(O>>>0>=M>>>0)}}else k=0;if(Re=(at|0)==103,Ze=(Q|0)!=0,M=Q-((at|0)!=102?k:0)+((Ze&Re)<<31>>31)|0,(M|0)<(((f-Ge>>2)*9|0)+-9|0)){if(M=M+9216|0,Le=Jt+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(j=n[Le>>2]|0,se=(j>>>0)%(O>>>0)|0,M=(Le+4|0)==(f|0),M&(se|0)==0)M=Le;else if(We=(((j>>>0)/(O>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,He=(O|0)/2|0,l=se>>>0<He>>>0?.5:M&(se|0)==(He|0)?1:1.5,ir&&(He=(o[Rr>>0]|0)==45,l=He?-l:l,We=He?-We:We),M=j-se|0,n[Le>>2]=M,We+l!=We){if(He=M+O|0,n[Le>>2]=He,He>>>0>999999999)for(k=Le;M=k+-4|0,n[k>>2]=0,M>>>0<B>>>0&&(B=B+-4|0,n[B>>2]=0),He=(n[M>>2]|0)+1|0,n[M>>2]=He,He>>>0>999999999;)k=M;else M=Le;if(k=(Ge-B>>2)*9|0,j=n[B>>2]|0,j>>>0>=10){O=10;do O=O*10|0,k=k+1|0;while(j>>>0>=O>>>0)}}else M=Le;M=M+4|0,M=f>>>0>M>>>0?M:f,He=B}else M=f,He=B;for(at=M;;){if(at>>>0<=He>>>0){et=0;break}if(B=at+-4|0,!(n[B>>2]|0))at=B;else{et=1;break}}f=0-k|0;do if(Re)if(B=((Ze^1)&1)+Q|0,(B|0)>(k|0)&(k|0)>-5?(O=m+-1|0,Q=B+-1-k|0):(O=m+-2|0,Q=B+-1|0),B=d&8,B)Le=B;else{if(et&&(Tt=n[at+-4>>2]|0,(Tt|0)!=0))if((Tt>>>0)%10|0)M=0;else{M=0,B=10;do B=B*10|0,M=M+1|0;while(!((Tt>>>0)%(B>>>0)|0|0))}else M=9;if(B=((at-Ge>>2)*9|0)+-9|0,(O|32|0)==102){Le=B-M|0,Le=(Le|0)>0?Le:0,Q=(Q|0)<(Le|0)?Q:Le,Le=0;break}else{Le=B+k-M|0,Le=(Le|0)>0?Le:0,Q=(Q|0)<(Le|0)?Q:Le,Le=0;break}}else O=m,Le=d&8;while(0);if(Re=Q|Le,j=(Re|0)!=0&1,se=(O|32|0)==102,se)Ze=0,B=(k|0)>0?k:0;else{if(B=(k|0)<0?f:k,B=Xm(B,((B|0)<0)<<31>>31,Ir)|0,M=Ir,(M-B|0)<2)do B=B+-1|0,o[B>>0]=48;while((M-B|0)<2);o[B+-1>>0]=(k>>31&2)+43,B=B+-2|0,o[B>>0]=O,Ze=B,B=M-B|0}if(B=ir+1+Q+j+B|0,Is(s,32,c,B,d),ss(s,Rr,ir),Is(s,48,c,B,d^65536),se){O=He>>>0>Jt>>>0?Jt:He,Le=rr+9|0,j=Le,se=rr+8|0,M=O;do{if(k=Xm(n[M>>2]|0,0,Le)|0,(M|0)==(O|0))(k|0)==(Le|0)&&(o[se>>0]=48,k=se);else if(k>>>0>rr>>>0){$m(rr|0,48,k-Qr|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}ss(s,k,j-k|0),M=M+4|0}while(M>>>0<=Jt>>>0);if(Re|0&&ss(s,5710,1),M>>>0<at>>>0&(Q|0)>0)for(;;){if(k=Xm(n[M>>2]|0,0,Le)|0,k>>>0>rr>>>0){$m(rr|0,48,k-Qr|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}if(ss(s,k,(Q|0)<9?Q:9),M=M+4|0,k=Q+-9|0,M>>>0<at>>>0&(Q|0)>9)Q=k;else{Q=k;break}}Is(s,48,Q+9|0,9,0)}else{if(Re=et?at:He+4|0,(Q|0)>-1){et=rr+9|0,Le=(Le|0)==0,f=et,j=0-Qr|0,se=rr+8|0,O=He;do{k=Xm(n[O>>2]|0,0,et)|0,(k|0)==(et|0)&&(o[se>>0]=48,k=se);do if((O|0)==(He|0)){if(M=k+1|0,ss(s,k,1),Le&(Q|0)<1){k=M;break}ss(s,5710,1),k=M}else{if(k>>>0<=rr>>>0)break;$m(rr|0,48,k+j|0)|0;do k=k+-1|0;while(k>>>0>rr>>>0)}while(0);Qr=f-k|0,ss(s,k,(Q|0)>(Qr|0)?Qr:Q),Q=Q-Qr|0,O=O+4|0}while(O>>>0<Re>>>0&(Q|0)>-1)}Is(s,48,Q+18|0,18,0),ss(s,Ze,Ir-Ze|0)}Is(s,32,c,B,d^8192)}else rr=(m&32|0)!=0,B=ir+3|0,Is(s,32,c,B,d&-65537),ss(s,Rr,ir),ss(s,l!=l|!1?rr?5686:5690:rr?5678:5682,3),Is(s,32,c,B,d^8192);while(0);return C=Bn,((B|0)<(c|0)?c:B)|0}function i7(s){s=+s;var l=0;return E[v>>3]=s,l=n[v>>2]|0,Ce=n[v+4>>2]|0,l|0}function o3e(s,l){return s=+s,l=l|0,+ +s7(s,l)}function s7(s,l){s=+s,l=l|0;var c=0,f=0,d=0;switch(E[v>>3]=s,c=n[v>>2]|0,f=n[v+4>>2]|0,d=nD(c|0,f|0,52)|0,d&2047){case 0:{s!=0?(s=+s7(s*18446744073709552e3,l),c=(n[l>>2]|0)+-64|0):c=0,n[l>>2]=c;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[v>>2]=c,n[v+4>>2]=f&-2146435073|1071644672,s=+E[v>>3]}return+s}function a3e(s,l,c){s=s|0,l=l|0,c=c|0;do if(s){if(l>>>0<128){o[s>>0]=l,s=1;break}if(!(n[n[(l3e()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){o[s>>0]=l,s=1;break}else{n[(zm()|0)>>2]=84,s=-1;break}if(l>>>0<2048){o[s>>0]=l>>>6|192,o[s+1>>0]=l&63|128,s=2;break}if(l>>>0<55296|(l&-8192|0)==57344){o[s>>0]=l>>>12|224,o[s+1>>0]=l>>>6&63|128,o[s+2>>0]=l&63|128,s=3;break}if((l+-65536|0)>>>0<1048576){o[s>>0]=l>>>18|240,o[s+1>>0]=l>>>12&63|128,o[s+2>>0]=l>>>6&63|128,o[s+3>>0]=l&63|128,s=4;break}else{n[(zm()|0)>>2]=84,s=-1;break}}else s=1;while(0);return s|0}function l3e(){return CR()|0}function c3e(){return CR()|0}function u3e(s,l){s=s|0,l=l|0;var c=0,f=0;for(f=0;;){if((u[5712+f>>0]|0)==(s|0)){s=2;break}if(c=f+1|0,(c|0)==87){c=5800,f=87,s=5;break}else f=c}if((s|0)==2&&(f?(c=5800,s=5):c=5800),(s|0)==5)for(;;){do s=c,c=c+1|0;while((o[s>>0]|0)!=0);if(f=f+-1|0,f)s=5;else break}return A3e(c,n[l+20>>2]|0)|0}function A3e(s,l){return s=s|0,l=l|0,f3e(s,l)|0}function f3e(s,l){return s=s|0,l=l|0,l?l=p3e(n[l>>2]|0,n[l+4>>2]|0,s)|0:l=0,(l|0?l:s)|0}function p3e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0;se=(n[s>>2]|0)+1794895138|0,m=bg(n[s+8>>2]|0,se)|0,f=bg(n[s+12>>2]|0,se)|0,d=bg(n[s+16>>2]|0,se)|0;e:do if(m>>>0<l>>>2>>>0&&(j=l-(m<<2)|0,f>>>0<j>>>0&d>>>0<j>>>0)&&((d|f)&3|0)==0){for(j=f>>>2,O=d>>>2,M=0;;){if(Q=m>>>1,k=M+Q|0,B=k<<1,d=B+j|0,f=bg(n[s+(d<<2)>>2]|0,se)|0,d=bg(n[s+(d+1<<2)>>2]|0,se)|0,!(d>>>0<l>>>0&f>>>0<(l-d|0)>>>0)){f=0;break e}if(o[s+(d+f)>>0]|0){f=0;break e}if(f=$5(c,s+d|0)|0,!f)break;if(f=(f|0)<0,(m|0)==1){f=0;break e}else M=f?M:k,m=f?Q:m-Q|0}f=B+O|0,d=bg(n[s+(f<<2)>>2]|0,se)|0,f=bg(n[s+(f+1<<2)>>2]|0,se)|0,f>>>0<l>>>0&d>>>0<(l-f|0)>>>0?f=(o[s+(f+d)>>0]|0)==0?s+f|0:0:f=0}else f=0;while(0);return f|0}function bg(s,l){s=s|0,l=l|0;var c=0;return c=p7(s|0)|0,((l|0)==0?s:c)|0}function h3e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,Q=0;f=c+16|0,d=n[f>>2]|0,d?m=5:g3e(c)|0?f=0:(d=n[f>>2]|0,m=5);e:do if((m|0)==5){if(Q=c+20|0,B=n[Q>>2]|0,f=B,(d-B|0)>>>0<l>>>0){f=sD[n[c+36>>2]&7](c,s,l)|0;break}t:do if((o[c+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=s;break t}if(d=B+-1|0,(o[s+d>>0]|0)==10)break;B=d}if(f=sD[n[c+36>>2]&7](c,s,B)|0,f>>>0<B>>>0)break e;m=B,d=s+B|0,l=l-B|0,f=n[Q>>2]|0}else m=0,d=s;while(0);Er(f|0,d|0,l|0)|0,n[Q>>2]=(n[Q>>2]|0)+l,f=m+l|0}while(0);return f|0}function g3e(s){s=s|0;var l=0,c=0;return l=s+74|0,c=o[l>>0]|0,o[l>>0]=c+255|c,l=n[s>>2]|0,l&8?(n[s>>2]=l|32,s=-1):(n[s+8>>2]=0,n[s+4>>2]=0,c=n[s+44>>2]|0,n[s+28>>2]=c,n[s+20>>2]=c,n[s+16>>2]=c+(n[s+48>>2]|0),s=0),s|0}function Nn(s,l){s=y(s),l=y(l);var c=0,f=0;c=o7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=o7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?l:s;break}else{s=s<l?l:s;break}}else s=l;while(0);return y(s)}function o7(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Qg(s,l){s=y(s),l=y(l);var c=0,f=0;c=a7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=a7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?s:l;break}else{s=s<l?s:l;break}}else s=l;while(0);return y(s)}function a7(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function IR(s,l){s=y(s),l=y(l);var c=0,f=0,d=0,m=0,B=0,Q=0,k=0,M=0;m=(h[v>>2]=s,n[v>>2]|0),Q=(h[v>>2]=l,n[v>>2]|0),c=m>>>23&255,B=Q>>>23&255,k=m&-2147483648,d=Q<<1;e:do if((d|0)!=0&&!((c|0)==255|((d3e(l)|0)&2147483647)>>>0>2139095040)){if(f=m<<1,f>>>0<=d>>>0)return l=y(s*y(0)),y((f|0)==(d|0)?l:s);if(c)f=m&8388607|8388608;else{if(c=m<<9,(c|0)>-1){f=c,c=0;do c=c+-1|0,f=f<<1;while((f|0)>-1)}else c=0;f=m<<1-c}if(B)Q=Q&8388607|8388608;else{if(m=Q<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,Q=Q<<1-d}d=f-Q|0,m=(d|0)>-1;t:do if((c|0)>(B|0)){for(;;){if(m)if(d)f=d;else break;if(f=f<<1,c=c+-1|0,d=f-Q|0,m=(d|0)>-1,(c|0)<=(B|0))break t}l=y(s*y(0));break e}while(0);if(m)if(d)f=d;else{l=y(s*y(0));break}if(f>>>0<8388608)do f=f<<1,c=c+-1|0;while(f>>>0<8388608);(c|0)>0?c=f+-8388608|c<<23:c=f>>>(1-c|0),l=(n[v>>2]=c|k,y(h[v>>2]))}else M=3;while(0);return(M|0)==3&&(l=y(s*l),l=y(l/l)),y(l)}function d3e(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function m3e(s,l){return s=s|0,l=l|0,e7(n[582]|0,s,l)|0}function Vr(s){s=s|0,Rt()}function Zm(s){s=s|0}function y3e(s,l){return s=s|0,l=l|0,0}function C3e(s){return s=s|0,(l7(s+4|0)|0)==-1?(tf[n[(n[s>>2]|0)+8>>2]&127](s),s=1):s=0,s|0}function l7(s){s=s|0;var l=0;return l=n[s>>2]|0,n[s>>2]=l+-1,l+-1|0}function xp(s){s=s|0,C3e(s)|0&&E3e(s)}function E3e(s){s=s|0;var l=0;l=s+8|0,(n[l>>2]|0)!=0&&(l7(l)|0)!=-1||tf[n[(n[s>>2]|0)+16>>2]&127](s)}function Gt(s){s=s|0;var l=0;for(l=(s|0)==0?1:s;s=$v(l)|0,!(s|0);){if(s=w3e()|0,!s){s=0;break}B7[s&0]()}return s|0}function c7(s){return s=s|0,Gt(s)|0}function pt(s){s=s|0,eD(s)}function I3e(s){s=s|0,(o[s+11>>0]|0)<0&&pt(n[s>>2]|0)}function w3e(){var s=0;return s=n[2923]|0,n[2923]=s+0,s|0}function B3e(){}function rD(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f=l-f-(c>>>0>s>>>0|0)>>>0,Ce=f,s-c>>>0|0|0}function wR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,c=s+c>>>0,Ce=l+f+(c>>>0<s>>>0|0)>>>0,c|0|0}function $m(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(m=s+c|0,l=l&255,(c|0)>=67){for(;s&3;)o[s>>0]=l,s=s+1|0;for(f=m&-4|0,d=f-64|0,B=l|l<<8|l<<16|l<<24;(s|0)<=(d|0);)n[s>>2]=B,n[s+4>>2]=B,n[s+8>>2]=B,n[s+12>>2]=B,n[s+16>>2]=B,n[s+20>>2]=B,n[s+24>>2]=B,n[s+28>>2]=B,n[s+32>>2]=B,n[s+36>>2]=B,n[s+40>>2]=B,n[s+44>>2]=B,n[s+48>>2]=B,n[s+52>>2]=B,n[s+56>>2]=B,n[s+60>>2]=B,s=s+64|0;for(;(s|0)<(f|0);)n[s>>2]=B,s=s+4|0}for(;(s|0)<(m|0);)o[s>>0]=l,s=s+1|0;return m-c|0}function u7(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ce=l<<c|(s&(1<<c)-1<<32-c)>>>32-c,s<<c):(Ce=s<<c-32,0)}function nD(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ce=l>>>c,s>>>c|(l&(1<<c)-1)<<32-c):(Ce=0,l>>>c-32|0)}function Er(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;if((c|0)>=8192)return gc(s|0,l|0,c|0)|0;if(m=s|0,d=s+c|0,(s&3)==(l&3)){for(;s&3;){if(!c)return m|0;o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0,c=c-1|0}for(c=d&-4|0,f=c-64|0;(s|0)<=(f|0);)n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2],n[s+16>>2]=n[l+16>>2],n[s+20>>2]=n[l+20>>2],n[s+24>>2]=n[l+24>>2],n[s+28>>2]=n[l+28>>2],n[s+32>>2]=n[l+32>>2],n[s+36>>2]=n[l+36>>2],n[s+40>>2]=n[l+40>>2],n[s+44>>2]=n[l+44>>2],n[s+48>>2]=n[l+48>>2],n[s+52>>2]=n[l+52>>2],n[s+56>>2]=n[l+56>>2],n[s+60>>2]=n[l+60>>2],s=s+64|0,l=l+64|0;for(;(s|0)<(c|0);)n[s>>2]=n[l>>2],s=s+4|0,l=l+4|0}else for(c=d-4|0;(s|0)<(c|0);)o[s>>0]=o[l>>0]|0,o[s+1>>0]=o[l+1>>0]|0,o[s+2>>0]=o[l+2>>0]|0,o[s+3>>0]=o[l+3>>0]|0,s=s+4|0,l=l+4|0;for(;(s|0)<(d|0);)o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0;return m|0}function A7(s){s=s|0;var l=0;return l=o[L+(s&255)>>0]|0,(l|0)<8?l|0:(l=o[L+(s>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=o[L+(s>>16&255)>>0]|0,(l|0)<8?l+16|0:(o[L+(s>>>24)>>0]|0)+24|0))}function f7(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,Q=0,k=0,M=0,O=0,j=0,se=0,We=0,Le=0;if(O=s,k=l,M=k,B=c,se=f,Q=se,!M)return m=(d|0)!=0,Q?m?(n[d>>2]=s|0,n[d+4>>2]=l&0,se=0,d=0,Ce=se,d|0):(se=0,d=0,Ce=se,d|0):(m&&(n[d>>2]=(O>>>0)%(B>>>0),n[d+4>>2]=0),se=0,d=(O>>>0)/(B>>>0)>>>0,Ce=se,d|0);m=(Q|0)==0;do if(B){if(!m){if(m=(P(Q|0)|0)-(P(M|0)|0)|0,m>>>0<=31){j=m+1|0,Q=31-m|0,l=m-31>>31,B=j,s=O>>>(j>>>0)&l|M<<Q,l=M>>>(j>>>0)&l,m=0,Q=O<<Q;break}return d?(n[d>>2]=s|0,n[d+4>>2]=k|l&0,se=0,d=0,Ce=se,d|0):(se=0,d=0,Ce=se,d|0)}if(m=B-1|0,m&B|0){Q=(P(B|0)|0)+33-(P(M|0)|0)|0,Le=64-Q|0,j=32-Q|0,k=j>>31,We=Q-32|0,l=We>>31,B=Q,s=j-1>>31&M>>>(We>>>0)|(M<<j|O>>>(Q>>>0))&l,l=l&M>>>(Q>>>0),m=O<<Le&k,Q=(M<<Le|O>>>(We>>>0))&k|O<<j&Q-33>>31;break}return d|0&&(n[d>>2]=m&O,n[d+4>>2]=0),(B|0)==1?(We=k|l&0,Le=s|0|0,Ce=We,Le|0):(Le=A7(B|0)|0,We=M>>>(Le>>>0)|0,Le=M<<32-Le|O>>>(Le>>>0)|0,Ce=We,Le|0)}else{if(m)return d|0&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),We=0,Le=(M>>>0)/(B>>>0)>>>0,Ce=We,Le|0;if(!O)return d|0&&(n[d>>2]=0,n[d+4>>2]=(M>>>0)%(Q>>>0)),We=0,Le=(M>>>0)/(Q>>>0)>>>0,Ce=We,Le|0;if(m=Q-1|0,!(m&Q))return d|0&&(n[d>>2]=s|0,n[d+4>>2]=m&M|l&0),We=0,Le=M>>>((A7(Q|0)|0)>>>0),Ce=We,Le|0;if(m=(P(Q|0)|0)-(P(M|0)|0)|0,m>>>0<=30){l=m+1|0,Q=31-m|0,B=l,s=M<<Q|O>>>(l>>>0),l=M>>>(l>>>0),m=0,Q=O<<Q;break}return d?(n[d>>2]=s|0,n[d+4>>2]=k|l&0,We=0,Le=0,Ce=We,Le|0):(We=0,Le=0,Ce=We,Le|0)}while(0);if(!B)M=Q,k=0,Q=0;else{j=c|0|0,O=se|f&0,M=wR(j|0,O|0,-1,-1)|0,c=Ce,k=Q,Q=0;do f=k,k=m>>>31|k<<1,m=Q|m<<1,f=s<<1|f>>>31|0,se=s>>>31|l<<1|0,rD(M|0,c|0,f|0,se|0)|0,Le=Ce,We=Le>>31|((Le|0)<0?-1:0)<<1,Q=We&1,s=rD(f|0,se|0,We&j|0,(((Le|0)<0?-1:0)>>31|((Le|0)<0?-1:0)<<1)&O|0)|0,l=Ce,B=B-1|0;while((B|0)!=0);M=k,k=0}return B=0,d|0&&(n[d>>2]=s,n[d+4>>2]=l),We=(m|0)>>>31|(M|B)<<1|(B<<1|m>>>31)&0|k,Le=(m<<1|0>>>31)&-2|Q,Ce=We,Le|0}function BR(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f7(s,l,c,f,0)|0}function bp(s){s=s|0;var l=0,c=0;return c=s+15&-16|0,l=n[w>>2]|0,s=l+c|0,(c|0)>0&(s|0)<(l|0)|(s|0)<0?(ie()|0,PA(12),-1):(n[w>>2]=s,(s|0)>($()|0)&&(X()|0)==0?(n[w>>2]=l,PA(12),-1):l|0)}function bI(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if((l|0)<(s|0)&(s|0)<(l+c|0)){for(f=s,l=l+c|0,s=s+c|0;(c|0)>0;)s=s-1|0,l=l-1|0,c=c-1|0,o[s>>0]=o[l>>0]|0;s=f}else Er(s,l,c)|0;return s|0}function vR(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;return m=C,C=C+16|0,d=m|0,f7(s,l,c,f,d)|0,C=m,Ce=n[d+4>>2]|0,n[d>>2]|0|0}function p7(s){return s=s|0,(s&255)<<24|(s>>8&255)<<16|(s>>16&255)<<8|s>>>24|0}function v3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,h7[s&1](l|0,c|0,f|0,d|0,m|0)}function D3e(s,l,c){s=s|0,l=l|0,c=y(c),g7[s&1](l|0,y(c))}function S3e(s,l,c){s=s|0,l=l|0,c=+c,d7[s&31](l|0,+c)}function P3e(s,l,c,f){return s=s|0,l=l|0,c=y(c),f=y(f),y(m7[s&0](l|0,y(c),y(f)))}function x3e(s,l){s=s|0,l=l|0,tf[s&127](l|0)}function b3e(s,l,c){s=s|0,l=l|0,c=c|0,rf[s&31](l|0,c|0)}function Q3e(s,l){return s=s|0,l=l|0,Fg[s&31](l|0)|0}function k3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,y7[s&1](l|0,+c,+f,d|0)}function F3e(s,l,c,f){s=s|0,l=l|0,c=+c,f=+f,f_e[s&1](l|0,+c,+f)}function R3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,sD[s&7](l|0,c|0,f|0)|0}function T3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,+p_e[s&1](l|0,c|0,f|0)}function N3e(s,l){return s=s|0,l=l|0,+C7[s&15](l|0)}function L3e(s,l,c){return s=s|0,l=l|0,c=+c,h_e[s&1](l|0,+c)|0}function O3e(s,l,c){return s=s|0,l=l|0,c=c|0,SR[s&15](l|0,c|0)|0}function M3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=+f,d=+d,m=m|0,g_e[s&1](l|0,c|0,+f,+d,m|0)}function U3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,d_e[s&1](l|0,c|0,f|0,d|0,m|0,B|0)}function _3e(s,l,c){return s=s|0,l=l|0,c=c|0,+E7[s&7](l|0,c|0)}function H3e(s){return s=s|0,oD[s&7]()|0}function q3e(s,l,c,f,d,m){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,I7[s&1](l|0,c|0,f|0,d|0,m|0)|0}function j3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=+d,m_e[s&1](l|0,c|0,f|0,+d)}function G3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,w7[s&1](l|0,c|0,y(f),d|0,y(m),B|0)}function W3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,FI[s&15](l|0,c|0,f|0)}function Y3e(s){s=s|0,B7[s&0]()}function K3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,v7[s&15](l|0,c|0,+f)}function V3e(s,l,c){return s=s|0,l=+l,c=+c,y_e[s&1](+l,+c)|0}function J3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,PR[s&15](l|0,c|0,f|0,d|0)}function z3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(0)}function X3e(s,l){s=s|0,l=y(l),F(1)}function ma(s,l){s=s|0,l=+l,F(2)}function Z3e(s,l,c){return s=s|0,l=y(l),c=y(c),F(3),$e}function hr(s){s=s|0,F(4)}function QI(s,l){s=s|0,l=l|0,F(5)}function Za(s){return s=s|0,F(6),0}function $3e(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,F(7)}function e_e(s,l,c){s=s|0,l=+l,c=+c,F(8)}function t_e(s,l,c){return s=s|0,l=l|0,c=c|0,F(9),0}function r_e(s,l,c){return s=s|0,l=l|0,c=c|0,F(10),0}function kg(s){return s=s|0,F(11),0}function n_e(s,l){return s=s|0,l=+l,F(12),0}function kI(s,l){return s=s|0,l=l|0,F(13),0}function i_e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,F(14)}function s_e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,F(15)}function DR(s,l){return s=s|0,l=l|0,F(16),0}function o_e(){return F(17),0}function a_e(s,l,c,f,d){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,F(18),0}function l_e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,F(19)}function c_e(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,F(20)}function iD(s,l,c){s=s|0,l=l|0,c=c|0,F(21)}function u_e(){F(22)}function ey(s,l,c){s=s|0,l=l|0,c=+c,F(23)}function A_e(s,l){return s=+s,l=+l,F(24),0}function ty(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,F(25)}var h7=[z3e,aOe],g7=[X3e,uo],d7=[ma,EI,II,fF,pF,xl,wI,hF,Gm,Fu,vI,gF,Uv,KA,_v,Wm,Hv,qv,Ym,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma],m7=[Z3e],tf=[hr,Zm,HDe,qDe,jDe,ybe,Cbe,Ebe,LNe,ONe,MNe,VLe,JLe,zLe,dUe,mUe,yUe,ds,Tv,jm,YA,BI,Ove,Mve,kDe,XDe,cSe,PSe,jSe,oPe,BPe,MPe,$Pe,gxe,kxe,Kxe,cbe,Obe,$be,gQe,kQe,KQe,cke,xke,jke,nFe,CFe,Qc,zFe,fRe,kRe,JRe,uTe,kTe,HTe,GTe,aNe,uNe,PNe,_Ne,jNe,oLe,vLe,e9,sMe,LMe,XMe,f4e,T4e,J4e,oUe,cUe,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr,hr],rf=[QI,sF,oF,CI,ku,aF,lF,Ip,cF,uF,AF,Mv,VA,Je,ft,jt,Cr,In,Sr,mF,vve,Kve,Fke,Yke,$Re,lMe,FLe,M5,QI,QI,QI,QI],Fg=[Za,KUe,iF,D,ce,Se,It,Ct,xt,Nr,fi,Ao,Ive,wve,Uve,wFe,hTe,cLe,fMe,Ja,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za],y7=[$3e,_ve],f_e=[e_e,QNe],sD=[t_e,Z5,VUe,XUe,uPe,Hbe,eRe,d4e],p_e=[r_e,Nxe],C7=[kg,Ho,rt,wn,Hve,qve,jve,Gve,Wve,Yve,kg,kg,kg,kg,kg,kg],h_e=[n_e,MTe],SR=[kI,y3e,Bve,NDe,kSe,SPe,HPe,pbe,nQe,aFe,Fv,t4e,kI,kI,kI,kI],g_e=[i_e,pSe],d_e=[s_e,M4e],E7=[DR,ni,Vve,Jve,zve,Xxe,DR,DR],oD=[o_e,Xve,mI,ga,VTe,hNe,KNe,pUe],I7=[a_e,AI],m_e=[l_e,NQe],w7=[c_e,Dve],FI=[iD,T,is,Xr,fo,KSe,rxe,XQe,pke,qm,QOe,_Me,$4e,iD,iD,iD],B7=[u_e],v7=[ey,Nv,Lv,Ov,WA,jv,dF,S,CQe,dRe,TTe,ey,ey,ey,ey,ey],y_e=[A_e,TNe],PR=[ty,Cxe,QFe,NRe,BTe,eNe,ENe,eLe,bLe,yMe,vUe,ty,ty,ty,ty,ty];return{_llvm_bswap_i32:p7,dynCall_idd:V3e,dynCall_i:H3e,_i64Subtract:rD,___udivdi3:BR,dynCall_vif:D3e,setThrew:Eu,dynCall_viii:W3e,_bitshift64Lshr:nD,_bitshift64Shl:u7,dynCall_vi:x3e,dynCall_viiddi:M3e,dynCall_diii:T3e,dynCall_iii:O3e,_memset:$m,_sbrk:bp,_memcpy:Er,__GLOBAL__sub_I_Yoga_cpp:Hm,dynCall_vii:b3e,___uremdi3:vR,dynCall_vid:S3e,stackAlloc:so,_nbind_init:NUe,getTempRet0:Ua,dynCall_di:N3e,dynCall_iid:L3e,setTempRet0:kA,_i64Add:wR,dynCall_fiff:P3e,dynCall_iiii:R3e,_emscripten_get_global_libc:YUe,dynCall_viid:K3e,dynCall_viiid:j3e,dynCall_viififi:G3e,dynCall_ii:Q3e,__GLOBAL__sub_I_Binding_cc:XOe,dynCall_viiii:J3e,dynCall_iiiiii:q3e,stackSave:Bl,dynCall_viiiii:v3e,__GLOBAL__sub_I_nbind_cc:Zve,dynCall_vidd:F3e,_free:eD,runPostSets:B3e,dynCall_viiiiii:U3e,establishStackSpace:qi,_memmove:bI,stackRestore:Cu,_malloc:$v,__GLOBAL__sub_I_common_cc:mLe,dynCall_viddi:k3e,dynCall_dii:_3e,dynCall_v:Y3e}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function t(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=t)},Module.callMain=Module.callMain=function t(e){e=e||[],ensureInitRuntime();var r=e.length+1;function o(){for(var p=0;p<4-1;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];o();for(var n=0;n<r-1;n=n+1)a.push(allocate(intArrayFromString(e[n]),"i8",ALLOC_NORMAL)),o();a.push(0),a=allocate(a,"i32",ALLOC_NORMAL);try{var u=Module._main(r,a,0);exit(u,!0)}catch(p){if(p instanceof ExitStatus)return;if(p=="SimulateInfiniteLoop"){Module.noExitRuntime=!0;return}else{var A=p;p&&typeof p=="object"&&p.stack&&(A=[p,p.stack]),Module.printErr("exception thrown: "+A),Module.quit(1,p)}}finally{calledMain=!0}};function run(t){if(t=t||Module.arguments,preloadStartTime===null&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0)||Module.calledRun)return;function e(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(t),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()}Module.run=Module.run=run;function exit(t,e){e&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=t,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(t)),ENVIRONMENT_IS_NODE&&process.exit(t),Module.quit(t,new ExitStatus(t)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(t){Module.onAbort&&Module.onAbort(t),t!==void 0?(Module.print(t),Module.printErr(t),t=JSON.stringify(t)):t="",ABORT=!0,EXITSTATUS=1;var e=` |
286 | If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+t+") at "+stackTrace()+e;throw abortDecorators&&abortDecorators.forEach(function(o){r=o(r,t)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var om=U((dYt,zEe)=>{"use strict";var Jmt=JEe(),Vmt=VEe(),P6=!1,x6=null;Vmt({},function(t,e){if(!P6){if(P6=!0,t)throw t;x6=e}});if(!P6)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");zEe.exports=Jmt(x6.bind,x6.lib)});var Q6=U((mYt,b6)=>{"use strict";var XEe=t=>Number.isNaN(t)?!1:t>=4352&&(t<=4447||t===9001||t===9002||11904<=t&&t<=12871&&t!==12351||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);b6.exports=XEe;b6.exports.default=XEe});var $Ee=U((yYt,ZEe)=>{"use strict";ZEe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var FQ=U((EYt,k6)=>{"use strict";var zmt=ES(),Xmt=Q6(),Zmt=$Ee(),eCe=t=>{if(typeof t!="string"||t.length===0||(t=zmt(t),t.length===0))return 0;t=t.replace(Zmt()," ");let e=0;for(let r=0;r<t.length;r++){let o=t.codePointAt(r);o<=31||o>=127&&o<=159||o>=768&&o<=879||(o>65535&&r++,e+=Xmt(o)?2:1)}return e};k6.exports=eCe;k6.exports.default=eCe});var R6=U((CYt,F6)=>{"use strict";var $mt=FQ(),tCe=t=>{let e=0;for(let r of t.split(` | 286 | If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+t+") at "+stackTrace()+e;throw abortDecorators&&abortDecorators.forEach(function(o){r=o(r,t)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var cm=U((BYt,rEe)=>{"use strict";var syt=eEe(),oyt=tEe(),x6=!1,b6=null;oyt({},function(t,e){if(!x6){if(x6=!0,t)throw t;b6=e}});if(!x6)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");rEe.exports=syt(b6.bind,b6.lib)});var k6=U((vYt,Q6)=>{"use strict";var nEe=t=>Number.isNaN(t)?!1:t>=4352&&(t<=4447||t===9001||t===9002||11904<=t&&t<=12871&&t!==12351||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);Q6.exports=nEe;Q6.exports.default=nEe});var sEe=U((DYt,iEe)=>{"use strict";iEe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var UQ=U((SYt,F6)=>{"use strict";var ayt=SS(),lyt=k6(),cyt=sEe(),oEe=t=>{if(typeof t!="string"||t.length===0||(t=ayt(t),t.length===0))return 0;t=t.replace(cyt()," ");let e=0;for(let r=0;r<t.length;r++){let o=t.codePointAt(r);o<=31||o>=127&&o<=159||o>=768&&o<=879||(o>65535&&r++,e+=lyt(o)?2:1)}return e};F6.exports=oEe;F6.exports.default=oEe});var T6=U((PYt,R6)=>{"use strict";var uyt=UQ(),aEe=t=>{let e=0;for(let r of t.split(` |
287 | `))e=Math.max(e,$mt(r));return e};F6.exports=tCe;F6.exports.default=tCe});var rCe=U(W2=>{"use strict";var eyt=W2&&W2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(W2,"__esModule",{value:!0});var tyt=eyt(R6()),T6={};W2.default=t=>{if(t.length===0)return{width:0,height:0};if(T6[t])return T6[t];let e=tyt.default(t),r=t.split(` | 287 | `))e=Math.max(e,uyt(r));return e};R6.exports=aEe;R6.exports.default=aEe});var lEe=U(J2=>{"use strict";var Ayt=J2&&J2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(J2,"__esModule",{value:!0});var fyt=Ayt(T6()),N6={};J2.default=t=>{if(t.length===0)return{width:0,height:0};if(N6[t])return N6[t];let e=fyt.default(t),r=t.split(` |
288 | `).length;return T6[t]={width:e,height:r},{width:e,height:r}}});var nCe=U(Y2=>{"use strict";var ryt=Y2&&Y2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Y2,"__esModule",{value:!0});var fn=ryt(om()),nyt=(t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?fn.default.POSITION_TYPE_ABSOLUTE:fn.default.POSITION_TYPE_RELATIVE)},iyt=(t,e)=>{"marginLeft"in e&&t.setMargin(fn.default.EDGE_START,e.marginLeft||0),"marginRight"in e&&t.setMargin(fn.default.EDGE_END,e.marginRight||0),"marginTop"in e&&t.setMargin(fn.default.EDGE_TOP,e.marginTop||0),"marginBottom"in e&&t.setMargin(fn.default.EDGE_BOTTOM,e.marginBottom||0)},syt=(t,e)=>{"paddingLeft"in e&&t.setPadding(fn.default.EDGE_LEFT,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(fn.default.EDGE_RIGHT,e.paddingRight||0),"paddingTop"in e&&t.setPadding(fn.default.EDGE_TOP,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(fn.default.EDGE_BOTTOM,e.paddingBottom||0)},oyt=(t,e)=>{var r;"flexGrow"in e&&t.setFlexGrow((r=e.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_ROW),e.flexDirection==="row-reverse"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_ROW_REVERSE),e.flexDirection==="column"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_COLUMN),e.flexDirection==="column-reverse"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(fn.default.ALIGN_STRETCH),e.alignItems==="flex-start"&&t.setAlignItems(fn.default.ALIGN_FLEX_START),e.alignItems==="center"&&t.setAlignItems(fn.default.ALIGN_CENTER),e.alignItems==="flex-end"&&t.setAlignItems(fn.default.ALIGN_FLEX_END)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(fn.default.ALIGN_AUTO),e.alignSelf==="flex-start"&&t.setAlignSelf(fn.default.ALIGN_FLEX_START),e.alignSelf==="center"&&t.setAlignSelf(fn.default.ALIGN_CENTER),e.alignSelf==="flex-end"&&t.setAlignSelf(fn.default.ALIGN_FLEX_END)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(fn.default.JUSTIFY_FLEX_START),e.justifyContent==="center"&&t.setJustifyContent(fn.default.JUSTIFY_CENTER),e.justifyContent==="flex-end"&&t.setJustifyContent(fn.default.JUSTIFY_FLEX_END),e.justifyContent==="space-between"&&t.setJustifyContent(fn.default.JUSTIFY_SPACE_BETWEEN),e.justifyContent==="space-around"&&t.setJustifyContent(fn.default.JUSTIFY_SPACE_AROUND))},ayt=(t,e)=>{var r,o;"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth((r=e.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight((o=e.minHeight)!==null&&o!==void 0?o:0))},lyt=(t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?fn.default.DISPLAY_FLEX:fn.default.DISPLAY_NONE)},cyt=(t,e)=>{if("borderStyle"in e){let r=typeof e.borderStyle=="string"?1:0;t.setBorder(fn.default.EDGE_TOP,r),t.setBorder(fn.default.EDGE_BOTTOM,r),t.setBorder(fn.default.EDGE_LEFT,r),t.setBorder(fn.default.EDGE_RIGHT,r)}};Y2.default=(t,e={})=>{nyt(t,e),iyt(t,e),syt(t,e),oyt(t,e),ayt(t,e),lyt(t,e),cyt(t,e)}});var oCe=U((BYt,sCe)=>{"use strict";var K2=FQ(),uyt=ES(),Ayt=Aw(),L6=new Set(["\x1B","\x9B"]),fyt=39,iCe=t=>`${L6.values().next().value}[${t}m`,pyt=t=>t.split(" ").map(e=>K2(e)),N6=(t,e,r)=>{let o=[...e],a=!1,n=K2(uyt(t[t.length-1]));for(let[u,A]of o.entries()){let p=K2(A);if(n+p<=r?t[t.length-1]+=A:(t.push(A),n=0),L6.has(A))a=!0;else if(a&&A==="m"){a=!1;continue}a||(n+=p,n===r&&u<o.length-1&&(t.push(""),n=0))}!n&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop())},hyt=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(K2(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},gyt=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let o="",a="",n,u=pyt(t),A=[""];for(let[p,h]of t.split(" ").entries()){r.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let C=K2(A[A.length-1]);if(p!==0&&(C>=e&&(r.wordWrap===!1||r.trim===!1)&&(A.push(""),C=0),(C>0||r.trim===!1)&&(A[A.length-1]+=" ",C++)),r.hard&&u[p]>e){let w=e-C,v=1+Math.floor((u[p]-w-1)/e);Math.floor((u[p]-1)/e)<v&&A.push(""),N6(A,h,e);continue}if(C+u[p]>e&&C>0&&u[p]>0){if(r.wordWrap===!1&&C<e){N6(A,h,e);continue}A.push("")}if(C+u[p]>e&&r.wordWrap===!1){N6(A,h,e);continue}A[A.length-1]+=h}r.trim!==!1&&(A=A.map(hyt)),o=A.join(` | 288 | `).length;return N6[t]={width:e,height:r},{width:e,height:r}}});var cEe=U(z2=>{"use strict";var pyt=z2&&z2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(z2,"__esModule",{value:!0});var fn=pyt(cm()),hyt=(t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?fn.default.POSITION_TYPE_ABSOLUTE:fn.default.POSITION_TYPE_RELATIVE)},gyt=(t,e)=>{"marginLeft"in e&&t.setMargin(fn.default.EDGE_START,e.marginLeft||0),"marginRight"in e&&t.setMargin(fn.default.EDGE_END,e.marginRight||0),"marginTop"in e&&t.setMargin(fn.default.EDGE_TOP,e.marginTop||0),"marginBottom"in e&&t.setMargin(fn.default.EDGE_BOTTOM,e.marginBottom||0)},dyt=(t,e)=>{"paddingLeft"in e&&t.setPadding(fn.default.EDGE_LEFT,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(fn.default.EDGE_RIGHT,e.paddingRight||0),"paddingTop"in e&&t.setPadding(fn.default.EDGE_TOP,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(fn.default.EDGE_BOTTOM,e.paddingBottom||0)},myt=(t,e)=>{var r;"flexGrow"in e&&t.setFlexGrow((r=e.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_ROW),e.flexDirection==="row-reverse"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_ROW_REVERSE),e.flexDirection==="column"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_COLUMN),e.flexDirection==="column-reverse"&&t.setFlexDirection(fn.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(fn.default.ALIGN_STRETCH),e.alignItems==="flex-start"&&t.setAlignItems(fn.default.ALIGN_FLEX_START),e.alignItems==="center"&&t.setAlignItems(fn.default.ALIGN_CENTER),e.alignItems==="flex-end"&&t.setAlignItems(fn.default.ALIGN_FLEX_END)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(fn.default.ALIGN_AUTO),e.alignSelf==="flex-start"&&t.setAlignSelf(fn.default.ALIGN_FLEX_START),e.alignSelf==="center"&&t.setAlignSelf(fn.default.ALIGN_CENTER),e.alignSelf==="flex-end"&&t.setAlignSelf(fn.default.ALIGN_FLEX_END)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(fn.default.JUSTIFY_FLEX_START),e.justifyContent==="center"&&t.setJustifyContent(fn.default.JUSTIFY_CENTER),e.justifyContent==="flex-end"&&t.setJustifyContent(fn.default.JUSTIFY_FLEX_END),e.justifyContent==="space-between"&&t.setJustifyContent(fn.default.JUSTIFY_SPACE_BETWEEN),e.justifyContent==="space-around"&&t.setJustifyContent(fn.default.JUSTIFY_SPACE_AROUND))},yyt=(t,e)=>{var r,o;"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth((r=e.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight((o=e.minHeight)!==null&&o!==void 0?o:0))},Cyt=(t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?fn.default.DISPLAY_FLEX:fn.default.DISPLAY_NONE)},Eyt=(t,e)=>{if("borderStyle"in e){let r=typeof e.borderStyle=="string"?1:0;t.setBorder(fn.default.EDGE_TOP,r),t.setBorder(fn.default.EDGE_BOTTOM,r),t.setBorder(fn.default.EDGE_LEFT,r),t.setBorder(fn.default.EDGE_RIGHT,r)}};z2.default=(t,e={})=>{hyt(t,e),gyt(t,e),dyt(t,e),myt(t,e),yyt(t,e),Cyt(t,e),Eyt(t,e)}});var fEe=U((QYt,AEe)=>{"use strict";var X2=UQ(),Iyt=SS(),wyt=gw(),O6=new Set(["\x1B","\x9B"]),Byt=39,uEe=t=>`${O6.values().next().value}[${t}m`,vyt=t=>t.split(" ").map(e=>X2(e)),L6=(t,e,r)=>{let o=[...e],a=!1,n=X2(Iyt(t[t.length-1]));for(let[u,A]of o.entries()){let p=X2(A);if(n+p<=r?t[t.length-1]+=A:(t.push(A),n=0),O6.has(A))a=!0;else if(a&&A==="m"){a=!1;continue}a||(n+=p,n===r&&u<o.length-1&&(t.push(""),n=0))}!n&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop())},Dyt=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(X2(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},Syt=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let o="",a="",n,u=vyt(t),A=[""];for(let[p,h]of t.split(" ").entries()){r.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let E=X2(A[A.length-1]);if(p!==0&&(E>=e&&(r.wordWrap===!1||r.trim===!1)&&(A.push(""),E=0),(E>0||r.trim===!1)&&(A[A.length-1]+=" ",E++)),r.hard&&u[p]>e){let w=e-E,v=1+Math.floor((u[p]-w-1)/e);Math.floor((u[p]-1)/e)<v&&A.push(""),L6(A,h,e);continue}if(E+u[p]>e&&E>0&&u[p]>0){if(r.wordWrap===!1&&E<e){L6(A,h,e);continue}A.push("")}if(E+u[p]>e&&r.wordWrap===!1){L6(A,h,e);continue}A[A.length-1]+=h}r.trim!==!1&&(A=A.map(Dyt)),o=A.join(` |
289 | `);for(let[p,h]of[...o].entries()){if(a+=h,L6.has(h)){let w=parseFloat(/\d[^m]*/.exec(o.slice(p,p+4)));n=w===fyt?null:w}let C=Ayt.codes.get(Number(n));n&&C&&(o[p+1]===` | 289 | `);for(let[p,h]of[...o].entries()){if(a+=h,O6.has(h)){let w=parseFloat(/\d[^m]*/.exec(o.slice(p,p+4)));n=w===Byt?null:w}let E=wyt.codes.get(Number(n));n&&E&&(o[p+1]===` |
290 | `?a+=iCe(C):h===` | 290 | `?a+=uEe(E):h===` |
291 | `&&(a+=iCe(n)))}return a};sCe.exports=(t,e,r)=>String(t).normalize().replace(/\r\n/g,` | 291 | `&&(a+=uEe(n)))}return a};AEe.exports=(t,e,r)=>String(t).normalize().replace(/\r\n/g,` |
292 | `).split(` | 292 | `).split(` |
293 | `).map(o=>gyt(o,e,r)).join(` | 293 | `).map(o=>Syt(o,e,r)).join(` |
294 | `)});var cCe=U((vYt,lCe)=>{"use strict";var aCe="[\uD800-\uDBFF][\uDC00-\uDFFF]",dyt=t=>t&&t.exact?new RegExp(`^${aCe}$`):new RegExp(aCe,"g");lCe.exports=dyt});var O6=U((DYt,pCe)=>{"use strict";var myt=Q6(),yyt=cCe(),uCe=Aw(),fCe=["\x1B","\x9B"],RQ=t=>`${fCe[0]}[${t}m`,ACe=(t,e,r)=>{let o=[];t=[...t];for(let a of t){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let u=uCe.codes.get(parseInt(a,10));if(u){let A=t.indexOf(u.toString());A>=0?t.splice(A,1):o.push(RQ(e?u:n))}else if(e){o.push(RQ(0));break}else o.push(RQ(n))}if(e&&(o=o.filter((a,n)=>o.indexOf(a)===n),r!==void 0)){let a=RQ(uCe.codes.get(parseInt(r,10)));o=o.reduce((n,u)=>u===a?[u,...n]:[...n,u],[])}return o.join("")};pCe.exports=(t,e,r)=>{let o=[...t.normalize()],a=[];r=typeof r=="number"?r:o.length;let n=!1,u,A=0,p="";for(let[h,C]of o.entries()){let w=!1;if(fCe.includes(C)){let v=/\d[^m]*/.exec(t.slice(h,h+18));u=v&&v.length>0?v[0]:void 0,A<r&&(n=!0,u!==void 0&&a.push(u))}else n&&C==="m"&&(n=!1,w=!0);if(!n&&!w&&++A,!yyt({exact:!0}).test(C)&&myt(C.codePointAt())&&++A,A>e&&A<=r)p+=C;else if(A===e&&!n&&u!==void 0)p=ACe(a);else if(A>=r){p+=ACe(a,!0,u);break}}return p}});var gCe=U((SYt,hCe)=>{"use strict";var gh=O6(),Eyt=FQ();function TQ(t,e,r){if(t.charAt(e)===" ")return e;for(let o=1;o<=3;o++)if(r){if(t.charAt(e+o)===" ")return e+o}else if(t.charAt(e-o)===" ")return e-o;return e}hCe.exports=(t,e,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:o,space:a,preferTruncationOnSpace:n}=r,u="\u2026",A=1;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof e!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof e}`);if(e<1)return"";if(e===1)return u;let p=Eyt(t);if(p<=e)return t;if(o==="start"){if(n){let h=TQ(t,p-e+1,!0);return u+gh(t,h,p).trim()}return a===!0&&(u+=" ",A=2),u+gh(t,p-e+A,p)}if(o==="middle"){a===!0&&(u=" "+u+" ",A=3);let h=Math.floor(e/2);if(n){let C=TQ(t,h),w=TQ(t,p-(e-h)+1,!0);return gh(t,0,C)+u+gh(t,w,p).trim()}return gh(t,0,h)+u+gh(t,p-(e-h)+A,p)}if(o==="end"){if(n){let h=TQ(t,e-1);return gh(t,0,h)+u}return a===!0&&(u=" "+u,A=2),gh(t,0,e-A)+u}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${o}`)}});var U6=U(J2=>{"use strict";var dCe=J2&&J2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(J2,"__esModule",{value:!0});var Cyt=dCe(oCe()),Iyt=dCe(gCe()),M6={};J2.default=(t,e,r)=>{let o=t+String(e)+String(r);if(M6[o])return M6[o];let a=t;if(r==="wrap"&&(a=Cyt.default(t,e,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=Iyt.default(t,e,{position:n})}return M6[o]=a,a}});var H6=U(_6=>{"use strict";Object.defineProperty(_6,"__esModule",{value:!0});var mCe=t=>{let e="";if(t.childNodes.length>0)for(let r of t.childNodes){let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=mCe(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o))),e+=o}return e};_6.default=mCe});var q6=U(ci=>{"use strict";var V2=ci&&ci.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ci,"__esModule",{value:!0});ci.setTextNodeValue=ci.createTextNode=ci.setStyle=ci.setAttribute=ci.removeChildNode=ci.insertBeforeNode=ci.appendChildNode=ci.createNode=ci.TEXT_NAME=void 0;var wyt=V2(om()),yCe=V2(rCe()),Byt=V2(nCe()),vyt=V2(U6()),Dyt=V2(H6());ci.TEXT_NAME="#text";ci.createNode=t=>{var e;let r={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:t==="ink-virtual-text"?void 0:wyt.default.Node.create()};return t==="ink-text"&&((e=r.yogaNode)===null||e===void 0||e.setMeasureFunc(Syt.bind(null,r))),r};ci.appendChildNode=(t,e)=>{var r;e.parentNode&&ci.removeChildNode(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&((r=t.yogaNode)===null||r===void 0||r.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&NQ(t)};ci.insertBeforeNode=(t,e,r)=>{var o,a;e.parentNode&&ci.removeChildNode(e.parentNode,e),e.parentNode=t;let n=t.childNodes.indexOf(r);if(n>=0){t.childNodes.splice(n,0,e),e.yogaNode&&((o=t.yogaNode)===null||o===void 0||o.insertChild(e.yogaNode,n));return}t.childNodes.push(e),e.yogaNode&&((a=t.yogaNode)===null||a===void 0||a.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&NQ(t)};ci.removeChildNode=(t,e)=>{var r,o;e.yogaNode&&((o=(r=e.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||o===void 0||o.removeChild(e.yogaNode)),e.parentNode=null;let a=t.childNodes.indexOf(e);a>=0&&t.childNodes.splice(a,1),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&NQ(t)};ci.setAttribute=(t,e,r)=>{t.attributes[e]=r};ci.setStyle=(t,e)=>{t.style=e,t.yogaNode&&Byt.default(t.yogaNode,e)};ci.createTextNode=t=>{let e={nodeName:"#text",nodeValue:t,yogaNode:void 0,parentNode:null,style:{}};return ci.setTextNodeValue(e,t),e};var Syt=function(t,e){var r,o;let a=t.nodeName==="#text"?t.nodeValue:Dyt.default(t),n=yCe.default(a);if(n.width<=e||n.width>=1&&e>0&&e<1)return n;let u=(o=(r=t.style)===null||r===void 0?void 0:r.textWrap)!==null&&o!==void 0?o:"wrap",A=vyt.default(a,e,u);return yCe.default(A)},ECe=t=>{var e;if(!(!t||!t.parentNode))return(e=t.yogaNode)!==null&&e!==void 0?e:ECe(t.parentNode)},NQ=t=>{let e=ECe(t);e==null||e.markDirty()};ci.setTextNodeValue=(t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue=e,NQ(t)}});var vCe=U(z2=>{"use strict";var BCe=z2&&z2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(z2,"__esModule",{value:!0});var CCe=v6(),Pyt=BCe(qEe()),ICe=BCe(om()),To=q6(),wCe=t=>{t==null||t.unsetMeasureFunc(),t==null||t.freeRecursive()};z2.default=Pyt.default({schedulePassiveEffects:CCe.unstable_scheduleCallback,cancelPassiveEffects:CCe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:t=>{if(t.isStaticDirty){t.isStaticDirty=!1,typeof t.onImmediateRender=="function"&&t.onImmediateRender();return}typeof t.onRender=="function"&&t.onRender()},getChildHostContext:(t,e)=>{let r=t.isInsideText,o=e==="ink-text"||e==="ink-virtual-text";return r===o?t:{isInsideText:o}},shouldSetTextContent:()=>!1,createInstance:(t,e,r,o)=>{if(o.isInsideText&&t==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let a=t==="ink-text"&&o.isInsideText?"ink-virtual-text":t,n=To.createNode(a);for(let[u,A]of Object.entries(e))u!=="children"&&(u==="style"?To.setStyle(n,A):u==="internal_transform"?n.internal_transform=A:u==="internal_static"?n.internal_static=!0:To.setAttribute(n,u,A));return n},createTextInstance:(t,e,r)=>{if(!r.isInsideText)throw new Error(`Text string "${t}" must be rendered inside <Text> component`);return To.createTextNode(t)},resetTextContent:()=>{},hideTextInstance:t=>{To.setTextNodeValue(t,"")},unhideTextInstance:(t,e)=>{To.setTextNodeValue(t,e)},getPublicInstance:t=>t,hideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(ICe.default.DISPLAY_NONE)},unhideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(ICe.default.DISPLAY_FLEX)},appendInitialChild:To.appendChildNode,appendChild:To.appendChildNode,insertBefore:To.insertBeforeNode,finalizeInitialChildren:(t,e,r,o)=>(t.internal_static&&(o.isStaticDirty=!0,o.staticNode=t),!1),supportsMutation:!0,appendChildToContainer:To.appendChildNode,insertInContainerBefore:To.insertBeforeNode,removeChildFromContainer:(t,e)=>{To.removeChildNode(t,e),wCe(e.yogaNode)},prepareUpdate:(t,e,r,o,a)=>{t.internal_static&&(a.isStaticDirty=!0);let n={},u=Object.keys(o);for(let A of u)if(o[A]!==r[A]){if(A==="style"&&typeof o.style=="object"&&typeof r.style=="object"){let h=o.style,C=r.style,w=Object.keys(h);for(let v of w){if(v==="borderStyle"||v==="borderColor"){if(typeof n.style!="object"){let b={};n.style=b}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[v]!==C[v]){if(typeof n.style!="object"){let b={};n.style=b}n.style[v]=h[v]}}continue}n[A]=o[A]}return n},commitUpdate:(t,e)=>{for(let[r,o]of Object.entries(e))r!=="children"&&(r==="style"?To.setStyle(t,o):r==="internal_transform"?t.internal_transform=o:r==="internal_static"?t.internal_static=!0:To.setAttribute(t,r,o))},commitTextUpdate:(t,e,r)=>{To.setTextNodeValue(t,r)},removeChild:(t,e)=>{To.removeChildNode(t,e),wCe(e.yogaNode)}})});var SCe=U((kYt,DCe)=>{"use strict";DCe.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let o=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(o,r.indent.repeat(e))}});var PCe=U(X2=>{"use strict";var xyt=X2&&X2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(X2,"__esModule",{value:!0});var LQ=xyt(om());X2.default=t=>t.getComputedWidth()-t.getComputedPadding(LQ.default.EDGE_LEFT)-t.getComputedPadding(LQ.default.EDGE_RIGHT)-t.getComputedBorder(LQ.default.EDGE_LEFT)-t.getComputedBorder(LQ.default.EDGE_RIGHT)});var xCe=U((RYt,byt)=>{byt.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var QCe=U((TYt,j6)=>{"use strict";var bCe=xCe();j6.exports=bCe;j6.exports.default=bCe});var FCe=U((NYt,kCe)=>{"use strict";var Qyt=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},kyt=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r | 294 | `)});var gEe=U((kYt,hEe)=>{"use strict";var pEe="[\uD800-\uDBFF][\uDC00-\uDFFF]",Pyt=t=>t&&t.exact?new RegExp(`^${pEe}$`):new RegExp(pEe,"g");hEe.exports=Pyt});var M6=U((FYt,CEe)=>{"use strict";var xyt=k6(),byt=gEe(),dEe=gw(),yEe=["\x1B","\x9B"],_Q=t=>`${yEe[0]}[${t}m`,mEe=(t,e,r)=>{let o=[];t=[...t];for(let a of t){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let u=dEe.codes.get(parseInt(a,10));if(u){let A=t.indexOf(u.toString());A>=0?t.splice(A,1):o.push(_Q(e?u:n))}else if(e){o.push(_Q(0));break}else o.push(_Q(n))}if(e&&(o=o.filter((a,n)=>o.indexOf(a)===n),r!==void 0)){let a=_Q(dEe.codes.get(parseInt(r,10)));o=o.reduce((n,u)=>u===a?[u,...n]:[...n,u],[])}return o.join("")};CEe.exports=(t,e,r)=>{let o=[...t.normalize()],a=[];r=typeof r=="number"?r:o.length;let n=!1,u,A=0,p="";for(let[h,E]of o.entries()){let w=!1;if(yEe.includes(E)){let v=/\d[^m]*/.exec(t.slice(h,h+18));u=v&&v.length>0?v[0]:void 0,A<r&&(n=!0,u!==void 0&&a.push(u))}else n&&E==="m"&&(n=!1,w=!0);if(!n&&!w&&++A,!byt({exact:!0}).test(E)&&xyt(E.codePointAt())&&++A,A>e&&A<=r)p+=E;else if(A===e&&!n&&u!==void 0)p=mEe(a);else if(A>=r){p+=mEe(a,!0,u);break}}return p}});var IEe=U((RYt,EEe)=>{"use strict";var dh=M6(),Qyt=UQ();function HQ(t,e,r){if(t.charAt(e)===" ")return e;for(let o=1;o<=3;o++)if(r){if(t.charAt(e+o)===" ")return e+o}else if(t.charAt(e-o)===" ")return e-o;return e}EEe.exports=(t,e,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:o,space:a,preferTruncationOnSpace:n}=r,u="\u2026",A=1;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof e!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof e}`);if(e<1)return"";if(e===1)return u;let p=Qyt(t);if(p<=e)return t;if(o==="start"){if(n){let h=HQ(t,p-e+1,!0);return u+dh(t,h,p).trim()}return a===!0&&(u+=" ",A=2),u+dh(t,p-e+A,p)}if(o==="middle"){a===!0&&(u=" "+u+" ",A=3);let h=Math.floor(e/2);if(n){let E=HQ(t,h),w=HQ(t,p-(e-h)+1,!0);return dh(t,0,E)+u+dh(t,w,p).trim()}return dh(t,0,h)+u+dh(t,p-(e-h)+A,p)}if(o==="end"){if(n){let h=HQ(t,e-1);return dh(t,0,h)+u}return a===!0&&(u=" "+u,A=2),dh(t,0,e-A)+u}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${o}`)}});var _6=U(Z2=>{"use strict";var wEe=Z2&&Z2.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Z2,"__esModule",{value:!0});var kyt=wEe(fEe()),Fyt=wEe(IEe()),U6={};Z2.default=(t,e,r)=>{let o=t+String(e)+String(r);if(U6[o])return U6[o];let a=t;if(r==="wrap"&&(a=kyt.default(t,e,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=Fyt.default(t,e,{position:n})}return U6[o]=a,a}});var q6=U(H6=>{"use strict";Object.defineProperty(H6,"__esModule",{value:!0});var BEe=t=>{let e="";if(t.childNodes.length>0)for(let r of t.childNodes){let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=BEe(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o))),e+=o}return e};H6.default=BEe});var j6=U(ci=>{"use strict";var $2=ci&&ci.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ci,"__esModule",{value:!0});ci.setTextNodeValue=ci.createTextNode=ci.setStyle=ci.setAttribute=ci.removeChildNode=ci.insertBeforeNode=ci.appendChildNode=ci.createNode=ci.TEXT_NAME=void 0;var Ryt=$2(cm()),vEe=$2(lEe()),Tyt=$2(cEe()),Nyt=$2(_6()),Lyt=$2(q6());ci.TEXT_NAME="#text";ci.createNode=t=>{var e;let r={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:t==="ink-virtual-text"?void 0:Ryt.default.Node.create()};return t==="ink-text"&&((e=r.yogaNode)===null||e===void 0||e.setMeasureFunc(Oyt.bind(null,r))),r};ci.appendChildNode=(t,e)=>{var r;e.parentNode&&ci.removeChildNode(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&((r=t.yogaNode)===null||r===void 0||r.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&qQ(t)};ci.insertBeforeNode=(t,e,r)=>{var o,a;e.parentNode&&ci.removeChildNode(e.parentNode,e),e.parentNode=t;let n=t.childNodes.indexOf(r);if(n>=0){t.childNodes.splice(n,0,e),e.yogaNode&&((o=t.yogaNode)===null||o===void 0||o.insertChild(e.yogaNode,n));return}t.childNodes.push(e),e.yogaNode&&((a=t.yogaNode)===null||a===void 0||a.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&qQ(t)};ci.removeChildNode=(t,e)=>{var r,o;e.yogaNode&&((o=(r=e.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||o===void 0||o.removeChild(e.yogaNode)),e.parentNode=null;let a=t.childNodes.indexOf(e);a>=0&&t.childNodes.splice(a,1),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&qQ(t)};ci.setAttribute=(t,e,r)=>{t.attributes[e]=r};ci.setStyle=(t,e)=>{t.style=e,t.yogaNode&&Tyt.default(t.yogaNode,e)};ci.createTextNode=t=>{let e={nodeName:"#text",nodeValue:t,yogaNode:void 0,parentNode:null,style:{}};return ci.setTextNodeValue(e,t),e};var Oyt=function(t,e){var r,o;let a=t.nodeName==="#text"?t.nodeValue:Lyt.default(t),n=vEe.default(a);if(n.width<=e||n.width>=1&&e>0&&e<1)return n;let u=(o=(r=t.style)===null||r===void 0?void 0:r.textWrap)!==null&&o!==void 0?o:"wrap",A=Nyt.default(a,e,u);return vEe.default(A)},DEe=t=>{var e;if(!(!t||!t.parentNode))return(e=t.yogaNode)!==null&&e!==void 0?e:DEe(t.parentNode)},qQ=t=>{let e=DEe(t);e==null||e.markDirty()};ci.setTextNodeValue=(t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue=e,qQ(t)}});var QEe=U(eB=>{"use strict";var bEe=eB&&eB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(eB,"__esModule",{value:!0});var SEe=D6(),Myt=bEe(VCe()),PEe=bEe(cm()),To=j6(),xEe=t=>{t==null||t.unsetMeasureFunc(),t==null||t.freeRecursive()};eB.default=Myt.default({schedulePassiveEffects:SEe.unstable_scheduleCallback,cancelPassiveEffects:SEe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:t=>{if(t.isStaticDirty){t.isStaticDirty=!1,typeof t.onImmediateRender=="function"&&t.onImmediateRender();return}typeof t.onRender=="function"&&t.onRender()},getChildHostContext:(t,e)=>{let r=t.isInsideText,o=e==="ink-text"||e==="ink-virtual-text";return r===o?t:{isInsideText:o}},shouldSetTextContent:()=>!1,createInstance:(t,e,r,o)=>{if(o.isInsideText&&t==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let a=t==="ink-text"&&o.isInsideText?"ink-virtual-text":t,n=To.createNode(a);for(let[u,A]of Object.entries(e))u!=="children"&&(u==="style"?To.setStyle(n,A):u==="internal_transform"?n.internal_transform=A:u==="internal_static"?n.internal_static=!0:To.setAttribute(n,u,A));return n},createTextInstance:(t,e,r)=>{if(!r.isInsideText)throw new Error(`Text string "${t}" must be rendered inside <Text> component`);return To.createTextNode(t)},resetTextContent:()=>{},hideTextInstance:t=>{To.setTextNodeValue(t,"")},unhideTextInstance:(t,e)=>{To.setTextNodeValue(t,e)},getPublicInstance:t=>t,hideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(PEe.default.DISPLAY_NONE)},unhideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(PEe.default.DISPLAY_FLEX)},appendInitialChild:To.appendChildNode,appendChild:To.appendChildNode,insertBefore:To.insertBeforeNode,finalizeInitialChildren:(t,e,r,o)=>(t.internal_static&&(o.isStaticDirty=!0,o.staticNode=t),!1),supportsMutation:!0,appendChildToContainer:To.appendChildNode,insertInContainerBefore:To.insertBeforeNode,removeChildFromContainer:(t,e)=>{To.removeChildNode(t,e),xEe(e.yogaNode)},prepareUpdate:(t,e,r,o,a)=>{t.internal_static&&(a.isStaticDirty=!0);let n={},u=Object.keys(o);for(let A of u)if(o[A]!==r[A]){if(A==="style"&&typeof o.style=="object"&&typeof r.style=="object"){let h=o.style,E=r.style,w=Object.keys(h);for(let v of w){if(v==="borderStyle"||v==="borderColor"){if(typeof n.style!="object"){let b={};n.style=b}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[v]!==E[v]){if(typeof n.style!="object"){let b={};n.style=b}n.style[v]=h[v]}}continue}n[A]=o[A]}return n},commitUpdate:(t,e)=>{for(let[r,o]of Object.entries(e))r!=="children"&&(r==="style"?To.setStyle(t,o):r==="internal_transform"?t.internal_transform=o:r==="internal_static"?t.internal_static=!0:To.setAttribute(t,r,o))},commitTextUpdate:(t,e,r)=>{To.setTextNodeValue(t,r)},removeChild:(t,e)=>{To.removeChildNode(t,e),xEe(e.yogaNode)}})});var FEe=U((MYt,kEe)=>{"use strict";kEe.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let o=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(o,r.indent.repeat(e))}});var REe=U(tB=>{"use strict";var Uyt=tB&&tB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tB,"__esModule",{value:!0});var jQ=Uyt(cm());tB.default=t=>t.getComputedWidth()-t.getComputedPadding(jQ.default.EDGE_LEFT)-t.getComputedPadding(jQ.default.EDGE_RIGHT)-t.getComputedBorder(jQ.default.EDGE_LEFT)-t.getComputedBorder(jQ.default.EDGE_RIGHT)});var TEe=U((_Yt,_yt)=>{_yt.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var LEe=U((HYt,G6)=>{"use strict";var NEe=TEe();G6.exports=NEe;G6.exports.default=NEe});var MEe=U((qYt,OEe)=>{"use strict";var Hyt=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},qyt=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r |
295 | `:` | 295 | `:` |
296 | `)+r,a=o+1,o=t.indexOf(` | 296 | `)+r,a=o+1,o=t.indexOf(` |
297 | `,a)}while(o!==-1);return n+=t.substr(a),n};kCe.exports={stringReplaceAll:Qyt,stringEncaseCRLFWithFirstIndex:kyt}});var OCe=U((LYt,LCe)=>{"use strict";var Fyt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,RCe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Ryt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Tyt=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Nyt=new Map([["n",` | 297 | `,a)}while(o!==-1);return n+=t.substr(a),n};OEe.exports={stringReplaceAll:Hyt,stringEncaseCRLFWithFirstIndex:qyt}});var jEe=U((jYt,qEe)=>{"use strict";var jyt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,UEe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Gyt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Wyt=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Yyt=new Map([["n",` |
298 | `],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function NCe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):Nyt.get(t)||t}function Lyt(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(Ryt))r.push(a[2].replace(Tyt,(A,p,h)=>p?NCe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function Oyt(t){RCe.lastIndex=0;let e=[],r;for(;(r=RCe.exec(t))!==null;){let o=r[1];if(r[2]){let a=Lyt(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function TCe(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}LCe.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(Fyt,(n,u,A,p,h,C)=>{if(u)a.push(NCe(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:TCe(t,r)(w)),r.push({inverse:A,styles:Oyt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(TCe(t,r)(a.join(""))),a=[],r.pop()}else a.push(C)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var HQ=U((OYt,jCe)=>{"use strict";var Z2=Aw(),{stdout:W6,stderr:Y6}=cN(),{stringReplaceAll:Myt,stringEncaseCRLFWithFirstIndex:Uyt}=FCe(),{isArray:OQ}=Array,UCe=["ansi","ansi","ansi256","ansi16m"],QC=Object.create(null),_yt=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=W6?W6.level:0;t.level=e.level===void 0?r:e.level},K6=class{constructor(e){return _Ce(e)}},_Ce=t=>{let e={};return _yt(e,t),e.template=(...r)=>qCe(e.template,...r),Object.setPrototypeOf(e,MQ.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=K6,e.template};function MQ(t){return _Ce(t)}for(let[t,e]of Object.entries(Z2))QC[t]={get(){let r=UQ(this,J6(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};QC.visible={get(){let t=UQ(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var HCe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of HCe)QC[t]={get(){let{level:e}=this;return function(...r){let o=J6(Z2.color[UCe[e]][t](...r),Z2.color.close,this._styler);return UQ(this,o,this._isEmpty)}}};for(let t of HCe){let e="bg"+t[0].toUpperCase()+t.slice(1);QC[e]={get(){let{level:r}=this;return function(...o){let a=J6(Z2.bgColor[UCe[r]][t](...o),Z2.bgColor.close,this._styler);return UQ(this,a,this._isEmpty)}}}}var Hyt=Object.defineProperties(()=>{},{...QC,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),J6=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},UQ=(t,e,r)=>{let o=(...a)=>OQ(a[0])&&OQ(a[0].raw)?MCe(o,qCe(o,...a)):MCe(o,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(o,Hyt),o._generator=t,o._styler=e,o._isEmpty=r,o},MCe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=Myt(e,r.close,r.open),r=r.parent;let n=e.indexOf(` | 298 | `],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function HEe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):Yyt.get(t)||t}function Kyt(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(Gyt))r.push(a[2].replace(Wyt,(A,p,h)=>p?HEe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function Vyt(t){UEe.lastIndex=0;let e=[],r;for(;(r=UEe.exec(t))!==null;){let o=r[1];if(r[2]){let a=Kyt(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function _Ee(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}qEe.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(jyt,(n,u,A,p,h,E)=>{if(u)a.push(HEe(u));else if(p){let w=a.join("");a=[],o.push(r.length===0?w:_Ee(t,r)(w)),r.push({inverse:A,styles:Vyt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(_Ee(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var VQ=U((GYt,JEe)=>{"use strict";var rB=gw(),{stdout:Y6,stderr:K6}=uN(),{stringReplaceAll:Jyt,stringEncaseCRLFWithFirstIndex:zyt}=MEe(),{isArray:GQ}=Array,WEe=["ansi","ansi","ansi256","ansi16m"],NE=Object.create(null),Xyt=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Y6?Y6.level:0;t.level=e.level===void 0?r:e.level},V6=class{constructor(e){return YEe(e)}},YEe=t=>{let e={};return Xyt(e,t),e.template=(...r)=>VEe(e.template,...r),Object.setPrototypeOf(e,WQ.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=V6,e.template};function WQ(t){return YEe(t)}for(let[t,e]of Object.entries(rB))NE[t]={get(){let r=YQ(this,J6(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};NE.visible={get(){let t=YQ(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var KEe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of KEe)NE[t]={get(){let{level:e}=this;return function(...r){let o=J6(rB.color[WEe[e]][t](...r),rB.color.close,this._styler);return YQ(this,o,this._isEmpty)}}};for(let t of KEe){let e="bg"+t[0].toUpperCase()+t.slice(1);NE[e]={get(){let{level:r}=this;return function(...o){let a=J6(rB.bgColor[WEe[r]][t](...o),rB.bgColor.close,this._styler);return YQ(this,a,this._isEmpty)}}}}var Zyt=Object.defineProperties(()=>{},{...NE,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),J6=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},YQ=(t,e,r)=>{let o=(...a)=>GQ(a[0])&&GQ(a[0].raw)?GEe(o,VEe(o,...a)):GEe(o,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(o,Zyt),o._generator=t,o._styler=e,o._isEmpty=r,o},GEe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=Jyt(e,r.close,r.open),r=r.parent;let n=e.indexOf(` |
299 | `);return n!==-1&&(e=Uyt(e,a,o,n)),o+e+a},G6,qCe=(t,...e)=>{let[r]=e;if(!OQ(r)||!OQ(r.raw))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return G6===void 0&&(G6=OCe()),G6(t,a.join(""))};Object.defineProperties(MQ.prototype,QC);var _Q=MQ();_Q.supportsColor=W6;_Q.stderr=MQ({level:Y6?Y6.level:0});_Q.stderr.supportsColor=Y6;jCe.exports=_Q});var V6=U(eB=>{"use strict";var qyt=eB&&eB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(eB,"__esModule",{value:!0});var $2=qyt(HQ()),jyt=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Gyt=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,qQ=(t,e)=>e==="foreground"?t:"bg"+t[0].toUpperCase()+t.slice(1);eB.default=(t,e,r)=>{if(!e)return t;if(e in $2.default){let a=qQ(e,r);return $2.default[a](t)}if(e.startsWith("#")){let a=qQ("hex",r);return $2.default[a](e)(t)}if(e.startsWith("ansi")){let a=Gyt.exec(e);if(!a)return t;let n=qQ(a[1],r),u=Number(a[2]);return $2.default[n](u)(t)}if(e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("hsv")||e.startsWith("hwb")){let a=jyt.exec(e);if(!a)return t;let n=qQ(a[1],r),u=Number(a[2]),A=Number(a[3]),p=Number(a[4]);return $2.default[n](u,A,p)(t)}return t}});var WCe=U(tB=>{"use strict";var GCe=tB&&tB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tB,"__esModule",{value:!0});var Wyt=GCe(QCe()),z6=GCe(V6());tB.default=(t,e,r,o)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),u=r.style.borderColor,A=Wyt.default[r.style.borderStyle],p=z6.default(A.topLeft+A.horizontal.repeat(a-2)+A.topRight,u,"foreground"),h=(z6.default(A.vertical,u,"foreground")+` | 299 | `);return n!==-1&&(e=zyt(e,a,o,n)),o+e+a},W6,VEe=(t,...e)=>{let[r]=e;if(!GQ(r)||!GQ(r.raw))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n<r.length;n++)a.push(String(o[n-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[n]));return W6===void 0&&(W6=jEe()),W6(t,a.join(""))};Object.defineProperties(WQ.prototype,NE);var KQ=WQ();KQ.supportsColor=Y6;KQ.stderr=WQ({level:K6?K6.level:0});KQ.stderr.supportsColor=K6;JEe.exports=KQ});var z6=U(iB=>{"use strict";var $yt=iB&&iB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iB,"__esModule",{value:!0});var nB=$yt(VQ()),eCt=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,tCt=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,JQ=(t,e)=>e==="foreground"?t:"bg"+t[0].toUpperCase()+t.slice(1);iB.default=(t,e,r)=>{if(!e)return t;if(e in nB.default){let a=JQ(e,r);return nB.default[a](t)}if(e.startsWith("#")){let a=JQ("hex",r);return nB.default[a](e)(t)}if(e.startsWith("ansi")){let a=tCt.exec(e);if(!a)return t;let n=JQ(a[1],r),u=Number(a[2]);return nB.default[n](u)(t)}if(e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("hsv")||e.startsWith("hwb")){let a=eCt.exec(e);if(!a)return t;let n=JQ(a[1],r),u=Number(a[2]),A=Number(a[3]),p=Number(a[4]);return nB.default[n](u,A,p)(t)}return t}});var XEe=U(sB=>{"use strict";var zEe=sB&&sB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(sB,"__esModule",{value:!0});var rCt=zEe(LEe()),X6=zEe(z6());sB.default=(t,e,r,o)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),u=r.style.borderColor,A=rCt.default[r.style.borderStyle],p=X6.default(A.topLeft+A.horizontal.repeat(a-2)+A.topRight,u,"foreground"),h=(X6.default(A.vertical,u,"foreground")+` |
300 | `).repeat(n-2),C=z6.default(A.bottomLeft+A.horizontal.repeat(a-2)+A.bottomRight,u,"foreground");o.write(t,e,p,{transformers:[]}),o.write(t,e+1,h,{transformers:[]}),o.write(t+a-1,e+1,h,{transformers:[]}),o.write(t,e+n-1,C,{transformers:[]})}}});var KCe=U(rB=>{"use strict";var am=rB&&rB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(rB,"__esModule",{value:!0});var Yyt=am(om()),Kyt=am(R6()),Jyt=am(SCe()),Vyt=am(U6()),zyt=am(PCe()),Xyt=am(H6()),Zyt=am(WCe()),$yt=(t,e)=>{var r;let o=(r=t.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(o){let a=o.getComputedLeft(),n=o.getComputedTop();e=` | 300 | `).repeat(n-2),E=X6.default(A.bottomLeft+A.horizontal.repeat(a-2)+A.bottomRight,u,"foreground");o.write(t,e,p,{transformers:[]}),o.write(t,e+1,h,{transformers:[]}),o.write(t+a-1,e+1,h,{transformers:[]}),o.write(t,e+n-1,E,{transformers:[]})}}});var $Ee=U(oB=>{"use strict";var um=oB&&oB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(oB,"__esModule",{value:!0});var nCt=um(cm()),iCt=um(T6()),sCt=um(FEe()),oCt=um(_6()),aCt=um(REe()),lCt=um(q6()),cCt=um(XEe()),uCt=(t,e)=>{var r;let o=(r=t.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(o){let a=o.getComputedLeft(),n=o.getComputedTop();e=` |
301 | `.repeat(n)+Jyt.default(e,a)}return e},YCe=(t,e,r)=>{var o;let{offsetX:a=0,offsetY:n=0,transformers:u=[],skipStaticElements:A}=r;if(A&&t.internal_static)return;let{yogaNode:p}=t;if(p){if(p.getDisplay()===Yyt.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),C=n+p.getComputedTop(),w=u;if(typeof t.internal_transform=="function"&&(w=[t.internal_transform,...u]),t.nodeName==="ink-text"){let v=Xyt.default(t);if(v.length>0){let b=Kyt.default(v),E=zyt.default(p);if(b>E){let R=(o=t.style.textWrap)!==null&&o!==void 0?o:"wrap";v=Vyt.default(v,E,R)}v=$yt(t,v),e.write(h,C,v,{transformers:w})}return}if(t.nodeName==="ink-box"&&Zyt.default(h,C,t,e),t.nodeName==="ink-root"||t.nodeName==="ink-box")for(let v of t.childNodes)YCe(v,e,{offsetX:h,offsetY:C,transformers:w,skipStaticElements:A})}};rB.default=YCe});var VCe=U((HYt,JCe)=>{"use strict";JCe.exports=t=>{t=Object.assign({onlyFirst:!1},t);let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t.onlyFirst?void 0:"g")}});var XCe=U((qYt,X6)=>{"use strict";var eEt=VCe(),zCe=t=>typeof t=="string"?t.replace(eEt(),""):t;X6.exports=zCe;X6.exports.default=zCe});var eIe=U((jYt,$Ce)=>{"use strict";var ZCe="[\uD800-\uDBFF][\uDC00-\uDFFF]";$Ce.exports=t=>t&&t.exact?new RegExp(`^${ZCe}$`):new RegExp(ZCe,"g")});var rIe=U((GYt,Z6)=>{"use strict";var tEt=XCe(),rEt=eIe(),tIe=t=>tEt(t).replace(rEt()," ").length;Z6.exports=tIe;Z6.exports.default=tIe});var sIe=U(nB=>{"use strict";var iIe=nB&&nB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(nB,"__esModule",{value:!0});var nIe=iIe(O6()),nEt=iIe(rIe()),$6=class{constructor(e){this.writes=[];let{width:r,height:o}=e;this.width=r,this.height=o}write(e,r,o,a){let{transformers:n}=a;!o||this.writes.push({x:e,y:r,text:o,transformers:n})}get(){let e=[];for(let o=0;o<this.height;o++)e.push(" ".repeat(this.width));for(let o of this.writes){let{x:a,y:n,text:u,transformers:A}=o,p=u.split(` | 301 | `.repeat(n)+sCt.default(e,a)}return e},ZEe=(t,e,r)=>{var o;let{offsetX:a=0,offsetY:n=0,transformers:u=[],skipStaticElements:A}=r;if(A&&t.internal_static)return;let{yogaNode:p}=t;if(p){if(p.getDisplay()===nCt.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),E=n+p.getComputedTop(),w=u;if(typeof t.internal_transform=="function"&&(w=[t.internal_transform,...u]),t.nodeName==="ink-text"){let v=lCt.default(t);if(v.length>0){let b=iCt.default(v),C=aCt.default(p);if(b>C){let R=(o=t.style.textWrap)!==null&&o!==void 0?o:"wrap";v=oCt.default(v,C,R)}v=uCt(t,v),e.write(h,E,v,{transformers:w})}return}if(t.nodeName==="ink-box"&&cCt.default(h,E,t,e),t.nodeName==="ink-root"||t.nodeName==="ink-box")for(let v of t.childNodes)ZEe(v,e,{offsetX:h,offsetY:E,transformers:w,skipStaticElements:A})}};oB.default=ZEe});var tIe=U((VYt,eIe)=>{"use strict";eIe.exports=t=>{t=Object.assign({onlyFirst:!1},t);let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t.onlyFirst?void 0:"g")}});var nIe=U((JYt,Z6)=>{"use strict";var ACt=tIe(),rIe=t=>typeof t=="string"?t.replace(ACt(),""):t;Z6.exports=rIe;Z6.exports.default=rIe});var oIe=U((zYt,sIe)=>{"use strict";var iIe="[\uD800-\uDBFF][\uDC00-\uDFFF]";sIe.exports=t=>t&&t.exact?new RegExp(`^${iIe}$`):new RegExp(iIe,"g")});var lIe=U((XYt,$6)=>{"use strict";var fCt=nIe(),pCt=oIe(),aIe=t=>fCt(t).replace(pCt()," ").length;$6.exports=aIe;$6.exports.default=aIe});var AIe=U(aB=>{"use strict";var uIe=aB&&aB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(aB,"__esModule",{value:!0});var cIe=uIe(M6()),hCt=uIe(lIe()),eq=class{constructor(e){this.writes=[];let{width:r,height:o}=e;this.width=r,this.height=o}write(e,r,o,a){let{transformers:n}=a;!o||this.writes.push({x:e,y:r,text:o,transformers:n})}get(){let e=[];for(let o=0;o<this.height;o++)e.push(" ".repeat(this.width));for(let o of this.writes){let{x:a,y:n,text:u,transformers:A}=o,p=u.split(` |
302 | `),h=0;for(let C of p){let w=e[n+h];if(!w)continue;let v=nEt.default(C);for(let b of A)C=b(C);e[n+h]=nIe.default(w,0,a)+C+nIe.default(w,a+v),h++}}return{output:e.map(o=>o.trimRight()).join(` | 302 | `),h=0;for(let E of p){let w=e[n+h];if(!w)continue;let v=hCt.default(E);for(let b of A)E=b(E);e[n+h]=cIe.default(w,0,a)+E+cIe.default(w,a+v),h++}}return{output:e.map(o=>o.trimRight()).join(` |
303 | `),height:e.length}}};nB.default=$6});var lIe=U(iB=>{"use strict";var eq=iB&&iB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iB,"__esModule",{value:!0});var iEt=eq(om()),oIe=eq(KCe()),aIe=eq(sIe());iB.default=(t,e)=>{var r;if(t.yogaNode.setWidth(e),t.yogaNode){t.yogaNode.calculateLayout(void 0,void 0,iEt.default.DIRECTION_LTR);let o=new aIe.default({width:t.yogaNode.getComputedWidth(),height:t.yogaNode.getComputedHeight()});oIe.default(t,o,{skipStaticElements:!0});let a;!((r=t.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new aIe.default({width:t.staticNode.yogaNode.getComputedWidth(),height:t.staticNode.yogaNode.getComputedHeight()}),oIe.default(t.staticNode,a,{skipStaticElements:!1}));let{output:n,height:u}=o.get();return{output:n,outputHeight:u,staticOutput:a?`${a.get().output} | 303 | `),height:e.length}}};aB.default=eq});var hIe=U(lB=>{"use strict";var tq=lB&&lB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(lB,"__esModule",{value:!0});var gCt=tq(cm()),fIe=tq($Ee()),pIe=tq(AIe());lB.default=(t,e)=>{var r;if(t.yogaNode.setWidth(e),t.yogaNode){t.yogaNode.calculateLayout(void 0,void 0,gCt.default.DIRECTION_LTR);let o=new pIe.default({width:t.yogaNode.getComputedWidth(),height:t.yogaNode.getComputedHeight()});fIe.default(t,o,{skipStaticElements:!0});let a;!((r=t.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new pIe.default({width:t.staticNode.yogaNode.getComputedWidth(),height:t.staticNode.yogaNode.getComputedHeight()}),fIe.default(t.staticNode,a,{skipStaticElements:!1}));let{output:n,height:u}=o.get();return{output:n,outputHeight:u,staticOutput:a?`${a.get().output} |
304 | `:""}}return{output:"",outputHeight:0,staticOutput:""}}});var fIe=U((KYt,AIe)=>{"use strict";var cIe=Ie("stream"),uIe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],tq={},sEt=t=>{let e=new cIe.PassThrough,r=new cIe.PassThrough;e.write=a=>t("stdout",a),r.write=a=>t("stderr",a);let o=new console.Console(e,r);for(let a of uIe)tq[a]=console[a],console[a]=o[a];return()=>{for(let a of uIe)console[a]=tq[a];tq={}}};AIe.exports=sEt});var nq=U(rq=>{"use strict";Object.defineProperty(rq,"__esModule",{value:!0});rq.default=new WeakMap});var sq=U(iq=>{"use strict";Object.defineProperty(iq,"__esModule",{value:!0});var oEt=en(),pIe=oEt.createContext({exit:()=>{}});pIe.displayName="InternalAppContext";iq.default=pIe});var aq=U(oq=>{"use strict";Object.defineProperty(oq,"__esModule",{value:!0});var aEt=en(),hIe=aEt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});hIe.displayName="InternalStdinContext";oq.default=hIe});var cq=U(lq=>{"use strict";Object.defineProperty(lq,"__esModule",{value:!0});var lEt=en(),gIe=lEt.createContext({stdout:void 0,write:()=>{}});gIe.displayName="InternalStdoutContext";lq.default=gIe});var Aq=U(uq=>{"use strict";Object.defineProperty(uq,"__esModule",{value:!0});var cEt=en(),dIe=cEt.createContext({stderr:void 0,write:()=>{}});dIe.displayName="InternalStderrContext";uq.default=dIe});var jQ=U(fq=>{"use strict";Object.defineProperty(fq,"__esModule",{value:!0});var uEt=en(),mIe=uEt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});mIe.displayName="InternalFocusContext";fq.default=mIe});var EIe=U((eKt,yIe)=>{"use strict";var AEt=/[|\\{}()[\]^$+*?.-]/g;yIe.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(AEt,"\\$&")}});var BIe=U((tKt,wIe)=>{"use strict";var fEt=EIe(),pEt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",IIe=[].concat(Ie("module").builtinModules,"bootstrap_node","node").map(t=>new RegExp(`(?:\\((?:node:)?${t}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${t}(?:\\.js)?:\\d+:\\d+$)`));IIe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var sB=class{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=sB.nodeInternals()),"cwd"in e||(e.cwd=pEt),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,hEt(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...IIe]}clean(e,r=0){r=" ".repeat(r),Array.isArray(e)||(e=e.split(` | 304 | `:""}}return{output:"",outputHeight:0,staticOutput:""}}});var yIe=U((eKt,mIe)=>{"use strict";var gIe=Ie("stream"),dIe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],rq={},dCt=t=>{let e=new gIe.PassThrough,r=new gIe.PassThrough;e.write=a=>t("stdout",a),r.write=a=>t("stderr",a);let o=new console.Console(e,r);for(let a of dIe)rq[a]=console[a],console[a]=o[a];return()=>{for(let a of dIe)console[a]=rq[a];rq={}}};mIe.exports=dCt});var iq=U(nq=>{"use strict";Object.defineProperty(nq,"__esModule",{value:!0});nq.default=new WeakMap});var oq=U(sq=>{"use strict";Object.defineProperty(sq,"__esModule",{value:!0});var mCt=en(),CIe=mCt.createContext({exit:()=>{}});CIe.displayName="InternalAppContext";sq.default=CIe});var lq=U(aq=>{"use strict";Object.defineProperty(aq,"__esModule",{value:!0});var yCt=en(),EIe=yCt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});EIe.displayName="InternalStdinContext";aq.default=EIe});var uq=U(cq=>{"use strict";Object.defineProperty(cq,"__esModule",{value:!0});var CCt=en(),IIe=CCt.createContext({stdout:void 0,write:()=>{}});IIe.displayName="InternalStdoutContext";cq.default=IIe});var fq=U(Aq=>{"use strict";Object.defineProperty(Aq,"__esModule",{value:!0});var ECt=en(),wIe=ECt.createContext({stderr:void 0,write:()=>{}});wIe.displayName="InternalStderrContext";Aq.default=wIe});var zQ=U(pq=>{"use strict";Object.defineProperty(pq,"__esModule",{value:!0});var ICt=en(),BIe=ICt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});BIe.displayName="InternalFocusContext";pq.default=BIe});var DIe=U((aKt,vIe)=>{"use strict";var wCt=/[|\\{}()[\]^$+*?.-]/g;vIe.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(wCt,"\\$&")}});var bIe=U((lKt,xIe)=>{"use strict";var BCt=DIe(),vCt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",PIe=[].concat(Ie("module").builtinModules,"bootstrap_node","node").map(t=>new RegExp(`(?:\\((?:node:)?${t}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${t}(?:\\.js)?:\\d+:\\d+$)`));PIe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var cB=class{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=cB.nodeInternals()),"cwd"in e||(e.cwd=vCt),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,DCt(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...PIe]}clean(e,r=0){r=" ".repeat(r),Array.isArray(e)||(e=e.split(` |
305 | `)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let o=!1,a=null,n=[];return e.forEach(u=>{if(u=u.replace(/\\/g,"/"),this._internals.some(p=>p.test(u)))return;let A=/^\s*at /.test(u);o?u=u.trimEnd().replace(/^(\s+)at /,"$1"):(u=u.trim(),A&&(u=u.slice(3))),u=u.replace(`${this._cwd}/`,""),u&&(A?(a&&(n.push(a),a=null),n.push(u)):(o=!0,a=u))}),n.map(u=>`${r}${u} | 305 | `)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let o=!1,a=null,n=[];return e.forEach(u=>{if(u=u.replace(/\\/g,"/"),this._internals.some(p=>p.test(u)))return;let A=/^\s*at /.test(u);o?u=u.trimEnd().replace(/^(\s+)at /,"$1"):(u=u.trim(),A&&(u=u.slice(3))),u=u.replace(`${this._cwd}/`,""),u&&(A?(a&&(n.push(a),a=null),n.push(u)):(o=!0,a=u))}),n.map(u=>`${r}${u} |
306 | `).join("")}captureString(e,r=this.captureString){typeof e=="function"&&(r=e,e=1/0);let{stackTraceLimit:o}=Error;e&&(Error.stackTraceLimit=e);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=o,this.clean(n)}capture(e,r=this.capture){typeof e=="function"&&(r=e,e=1/0);let{prepareStackTrace:o,stackTraceLimit:a}=Error;Error.prepareStackTrace=(A,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,e&&(Error.stackTraceLimit=e);let n={};Error.captureStackTrace(n,r);let{stack:u}=n;return Object.assign(Error,{prepareStackTrace:o,stackTraceLimit:a}),u}at(e=this.at){let[r]=this.capture(1,e);if(!r)return{};let o={line:r.getLineNumber(),column:r.getColumnNumber()};CIe(o,r.getFileName(),this._cwd),r.isConstructor()&&(o.constructor=!0),r.isEval()&&(o.evalOrigin=r.getEvalOrigin()),r.isNative()&&(o.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(o.type=a);let n=r.getFunctionName();n&&(o.function=n);let u=r.getMethodName();return u&&n!==u&&(o.method=u),o}parseLine(e){let r=e&&e.match(gEt);if(!r)return null;let o=r[1]==="new",a=r[2],n=r[3],u=r[4],A=Number(r[5]),p=Number(r[6]),h=r[7],C=r[8],w=r[9],v=r[10]==="native",b=r[11]===")",E,R={};if(C&&(R.line=Number(C)),w&&(R.column=Number(w)),b&&h){let L=0;for(let _=h.length-1;_>0;_--)if(h.charAt(_)===")")L++;else if(h.charAt(_)==="("&&h.charAt(_-1)===" "&&(L--,L===-1&&h.charAt(_-1)===" ")){let J=h.slice(0,_-1);h=h.slice(_+1),a+=` (${J}`;break}}if(a){let L=a.match(dEt);L&&(a=L[1],E=L[2])}return CIe(R,h,this._cwd),o&&(R.constructor=!0),n&&(R.evalOrigin=n,R.evalLine=A,R.evalColumn=p,R.evalFile=u&&u.replace(/\\/g,"/")),v&&(R.native=!0),a&&(R.function=a),E&&a!==E&&(R.method=E),R}};function CIe(t,e,r){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${r}/`)&&(e=e.slice(r.length+1)),t.file=e)}function hEt(t){if(t.length===0)return[];let e=t.map(r=>fEt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var gEt=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),dEt=/^(.*?) \[as (.*?)\]$/;wIe.exports=sB});var DIe=U((rKt,vIe)=>{"use strict";vIe.exports=(t,e)=>t.replace(/^\t+/gm,r=>" ".repeat(r.length*(e||2)))});var PIe=U((nKt,SIe)=>{"use strict";var mEt=DIe(),yEt=(t,e)=>{let r=[],o=t-e,a=t+e;for(let n=o;n<=a;n++)r.push(n);return r};SIe.exports=(t,e,r)=>{if(typeof t!="string")throw new TypeError("Source code is missing.");if(!e||e<1)throw new TypeError("Line number must start from `1`.");if(t=mEt(t).split(/\r?\n/),!(e>t.length))return r={around:3,...r},yEt(e,r.around).filter(o=>t[o-1]!==void 0).map(o=>({line:o,value:t[o-1]}))}});var GQ=U(iu=>{"use strict";var EEt=iu&&iu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),CEt=iu&&iu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),IEt=iu&&iu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&EEt(e,t,r);return CEt(e,t),e},wEt=iu&&iu.__rest||function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a<o.length;a++)e.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(t,o[a])&&(r[o[a]]=t[o[a]]);return r};Object.defineProperty(iu,"__esModule",{value:!0});var xIe=IEt(en()),pq=xIe.forwardRef((t,e)=>{var{children:r}=t,o=wEt(t,["children"]);let a=Object.assign(Object.assign({},o),{marginLeft:o.marginLeft||o.marginX||o.margin||0,marginRight:o.marginRight||o.marginX||o.margin||0,marginTop:o.marginTop||o.marginY||o.margin||0,marginBottom:o.marginBottom||o.marginY||o.margin||0,paddingLeft:o.paddingLeft||o.paddingX||o.padding||0,paddingRight:o.paddingRight||o.paddingX||o.padding||0,paddingTop:o.paddingTop||o.paddingY||o.padding||0,paddingBottom:o.paddingBottom||o.paddingY||o.padding||0});return xIe.default.createElement("ink-box",{ref:e,style:a},r)});pq.displayName="Box";pq.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};iu.default=pq});var dq=U(oB=>{"use strict";var hq=oB&&oB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(oB,"__esModule",{value:!0});var BEt=hq(en()),kC=hq(HQ()),bIe=hq(V6()),gq=({color:t,backgroundColor:e,dimColor:r,bold:o,italic:a,underline:n,strikethrough:u,inverse:A,wrap:p,children:h})=>{if(h==null)return null;let C=w=>(r&&(w=kC.default.dim(w)),t&&(w=bIe.default(w,t,"foreground")),e&&(w=bIe.default(w,e,"background")),o&&(w=kC.default.bold(w)),a&&(w=kC.default.italic(w)),n&&(w=kC.default.underline(w)),u&&(w=kC.default.strikethrough(w)),A&&(w=kC.default.inverse(w)),w);return BEt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:C},h)};gq.displayName="Text";gq.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};oB.default=gq});var RIe=U(su=>{"use strict";var vEt=su&&su.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),DEt=su&&su.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),SEt=su&&su.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&vEt(e,t,r);return DEt(e,t),e},aB=su&&su.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(su,"__esModule",{value:!0});var QIe=SEt(Ie("fs")),hs=aB(en()),kIe=aB(BIe()),PEt=aB(PIe()),Vf=aB(GQ()),gA=aB(dq()),FIe=new kIe.default({cwd:process.cwd(),internals:kIe.default.nodeInternals()}),xEt=({error:t})=>{let e=t.stack?t.stack.split(` | 306 | `).join("")}captureString(e,r=this.captureString){typeof e=="function"&&(r=e,e=1/0);let{stackTraceLimit:o}=Error;e&&(Error.stackTraceLimit=e);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=o,this.clean(n)}capture(e,r=this.capture){typeof e=="function"&&(r=e,e=1/0);let{prepareStackTrace:o,stackTraceLimit:a}=Error;Error.prepareStackTrace=(A,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,e&&(Error.stackTraceLimit=e);let n={};Error.captureStackTrace(n,r);let{stack:u}=n;return Object.assign(Error,{prepareStackTrace:o,stackTraceLimit:a}),u}at(e=this.at){let[r]=this.capture(1,e);if(!r)return{};let o={line:r.getLineNumber(),column:r.getColumnNumber()};SIe(o,r.getFileName(),this._cwd),r.isConstructor()&&(o.constructor=!0),r.isEval()&&(o.evalOrigin=r.getEvalOrigin()),r.isNative()&&(o.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(o.type=a);let n=r.getFunctionName();n&&(o.function=n);let u=r.getMethodName();return u&&n!==u&&(o.method=u),o}parseLine(e){let r=e&&e.match(SCt);if(!r)return null;let o=r[1]==="new",a=r[2],n=r[3],u=r[4],A=Number(r[5]),p=Number(r[6]),h=r[7],E=r[8],w=r[9],v=r[10]==="native",b=r[11]===")",C,R={};if(E&&(R.line=Number(E)),w&&(R.column=Number(w)),b&&h){let L=0;for(let _=h.length-1;_>0;_--)if(h.charAt(_)===")")L++;else if(h.charAt(_)==="("&&h.charAt(_-1)===" "&&(L--,L===-1&&h.charAt(_-1)===" ")){let V=h.slice(0,_-1);h=h.slice(_+1),a+=` (${V}`;break}}if(a){let L=a.match(PCt);L&&(a=L[1],C=L[2])}return SIe(R,h,this._cwd),o&&(R.constructor=!0),n&&(R.evalOrigin=n,R.evalLine=A,R.evalColumn=p,R.evalFile=u&&u.replace(/\\/g,"/")),v&&(R.native=!0),a&&(R.function=a),C&&a!==C&&(R.method=C),R}};function SIe(t,e,r){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${r}/`)&&(e=e.slice(r.length+1)),t.file=e)}function DCt(t){if(t.length===0)return[];let e=t.map(r=>BCt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var SCt=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),PCt=/^(.*?) \[as (.*?)\]$/;xIe.exports=cB});var kIe=U((cKt,QIe)=>{"use strict";QIe.exports=(t,e)=>t.replace(/^\t+/gm,r=>" ".repeat(r.length*(e||2)))});var RIe=U((uKt,FIe)=>{"use strict";var xCt=kIe(),bCt=(t,e)=>{let r=[],o=t-e,a=t+e;for(let n=o;n<=a;n++)r.push(n);return r};FIe.exports=(t,e,r)=>{if(typeof t!="string")throw new TypeError("Source code is missing.");if(!e||e<1)throw new TypeError("Line number must start from `1`.");if(t=xCt(t).split(/\r?\n/),!(e>t.length))return r={around:3,...r},bCt(e,r.around).filter(o=>t[o-1]!==void 0).map(o=>({line:o,value:t[o-1]}))}});var XQ=U(ou=>{"use strict";var QCt=ou&&ou.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),kCt=ou&&ou.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),FCt=ou&&ou.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&QCt(e,t,r);return kCt(e,t),e},RCt=ou&&ou.__rest||function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a<o.length;a++)e.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(t,o[a])&&(r[o[a]]=t[o[a]]);return r};Object.defineProperty(ou,"__esModule",{value:!0});var TIe=FCt(en()),hq=TIe.forwardRef((t,e)=>{var{children:r}=t,o=RCt(t,["children"]);let a=Object.assign(Object.assign({},o),{marginLeft:o.marginLeft||o.marginX||o.margin||0,marginRight:o.marginRight||o.marginX||o.margin||0,marginTop:o.marginTop||o.marginY||o.margin||0,marginBottom:o.marginBottom||o.marginY||o.margin||0,paddingLeft:o.paddingLeft||o.paddingX||o.padding||0,paddingRight:o.paddingRight||o.paddingX||o.padding||0,paddingTop:o.paddingTop||o.paddingY||o.padding||0,paddingBottom:o.paddingBottom||o.paddingY||o.padding||0});return TIe.default.createElement("ink-box",{ref:e,style:a},r)});hq.displayName="Box";hq.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};ou.default=hq});var mq=U(uB=>{"use strict";var gq=uB&&uB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uB,"__esModule",{value:!0});var TCt=gq(en()),LE=gq(VQ()),NIe=gq(z6()),dq=({color:t,backgroundColor:e,dimColor:r,bold:o,italic:a,underline:n,strikethrough:u,inverse:A,wrap:p,children:h})=>{if(h==null)return null;let E=w=>(r&&(w=LE.default.dim(w)),t&&(w=NIe.default(w,t,"foreground")),e&&(w=NIe.default(w,e,"background")),o&&(w=LE.default.bold(w)),a&&(w=LE.default.italic(w)),n&&(w=LE.default.underline(w)),u&&(w=LE.default.strikethrough(w)),A&&(w=LE.default.inverse(w)),w);return TCt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:E},h)};dq.displayName="Text";dq.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};uB.default=dq});var UIe=U(au=>{"use strict";var NCt=au&&au.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),LCt=au&&au.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),OCt=au&&au.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&NCt(e,t,r);return LCt(e,t),e},AB=au&&au.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(au,"__esModule",{value:!0});var LIe=OCt(Ie("fs")),hs=AB(en()),OIe=AB(bIe()),MCt=AB(RIe()),Xf=AB(XQ()),dA=AB(mq()),MIe=new OIe.default({cwd:process.cwd(),internals:OIe.default.nodeInternals()}),UCt=({error:t})=>{let e=t.stack?t.stack.split(` |
307 | `).slice(1):void 0,r=e?FIe.parseLine(e[0]):void 0,o,a=0;if((r==null?void 0:r.file)&&(r==null?void 0:r.line)&&QIe.existsSync(r.file)){let n=QIe.readFileSync(r.file,"utf8");if(o=PEt.default(n,r.line),o)for(let{line:u}of o)a=Math.max(a,String(u).length)}return hs.default.createElement(Vf.default,{flexDirection:"column",padding:1},hs.default.createElement(Vf.default,null,hs.default.createElement(gA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),hs.default.createElement(gA.default,null," ",t.message)),r&&hs.default.createElement(Vf.default,{marginTop:1},hs.default.createElement(gA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&o&&hs.default.createElement(Vf.default,{marginTop:1,flexDirection:"column"},o.map(({line:n,value:u})=>hs.default.createElement(Vf.default,{key:n},hs.default.createElement(Vf.default,{width:a+1},hs.default.createElement(gA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),hs.default.createElement(gA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+u)))),t.stack&&hs.default.createElement(Vf.default,{marginTop:1,flexDirection:"column"},t.stack.split(` | 307 | `).slice(1):void 0,r=e?MIe.parseLine(e[0]):void 0,o,a=0;if((r==null?void 0:r.file)&&(r==null?void 0:r.line)&&LIe.existsSync(r.file)){let n=LIe.readFileSync(r.file,"utf8");if(o=MCt.default(n,r.line),o)for(let{line:u}of o)a=Math.max(a,String(u).length)}return hs.default.createElement(Xf.default,{flexDirection:"column",padding:1},hs.default.createElement(Xf.default,null,hs.default.createElement(dA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),hs.default.createElement(dA.default,null," ",t.message)),r&&hs.default.createElement(Xf.default,{marginTop:1},hs.default.createElement(dA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&o&&hs.default.createElement(Xf.default,{marginTop:1,flexDirection:"column"},o.map(({line:n,value:u})=>hs.default.createElement(Xf.default,{key:n},hs.default.createElement(Xf.default,{width:a+1},hs.default.createElement(dA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),hs.default.createElement(dA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+u)))),t.stack&&hs.default.createElement(Xf.default,{marginTop:1,flexDirection:"column"},t.stack.split(` |
308 | `).slice(1).map(n=>{let u=FIe.parseLine(n);return u?hs.default.createElement(Vf.default,{key:n},hs.default.createElement(gA.default,{dimColor:!0},"- "),hs.default.createElement(gA.default,{dimColor:!0,bold:!0},u.function),hs.default.createElement(gA.default,{dimColor:!0,color:"gray"}," ","(",u.file,":",u.line,":",u.column,")")):hs.default.createElement(Vf.default,{key:n},hs.default.createElement(gA.default,{dimColor:!0},"- "),hs.default.createElement(gA.default,{dimColor:!0,bold:!0},n))})))};su.default=xEt});var NIe=U(ou=>{"use strict";var bEt=ou&&ou.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),QEt=ou&&ou.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),kEt=ou&&ou.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&bEt(e,t,r);return QEt(e,t),e},cm=ou&&ou.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ou,"__esModule",{value:!0});var lm=kEt(en()),TIe=cm(p6()),FEt=cm(sq()),REt=cm(aq()),TEt=cm(cq()),NEt=cm(Aq()),LEt=cm(jQ()),OEt=cm(RIe()),MEt=" ",UEt="\x1B[Z",_Et="\x1B",WQ=class extends lm.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. | 308 | `).slice(1).map(n=>{let u=MIe.parseLine(n);return u?hs.default.createElement(Xf.default,{key:n},hs.default.createElement(dA.default,{dimColor:!0},"- "),hs.default.createElement(dA.default,{dimColor:!0,bold:!0},u.function),hs.default.createElement(dA.default,{dimColor:!0,color:"gray"}," ","(",u.file,":",u.line,":",u.column,")")):hs.default.createElement(Xf.default,{key:n},hs.default.createElement(dA.default,{dimColor:!0},"- "),hs.default.createElement(dA.default,{dimColor:!0,bold:!0},n))})))};au.default=UCt});var HIe=U(lu=>{"use strict";var _Ct=lu&&lu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),HCt=lu&&lu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),qCt=lu&&lu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&_Ct(e,t,r);return HCt(e,t),e},fm=lu&&lu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(lu,"__esModule",{value:!0});var Am=qCt(en()),_Ie=fm(h6()),jCt=fm(oq()),GCt=fm(lq()),WCt=fm(uq()),YCt=fm(fq()),KCt=fm(zQ()),VCt=fm(UIe()),JCt=" ",zCt="\x1B[Z",XCt="\x1B",ZQ=class extends Am.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. |
309 | Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. | 309 | Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. |
310 | Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit(),e===_Et&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(e===MEt&&this.focusNext(),e===UEt&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(e=>{let r=e.focusables[0].id;return{activeFocusId:this.findNextFocusable(e)||r}})},this.focusPrevious=()=>{this.setState(e=>{let r=e.focusables[e.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(e)||r}})},this.addFocusable=(e,{autoFocus:r})=>{this.setState(o=>{let a=o.activeFocusId;return!a&&r&&(a=e),{activeFocusId:a,focusables:[...o.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.filter(o=>o.id!==e)}))},this.activateFocusable=e=>{this.setState(r=>({focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r+1;o<e.focusables.length;o++)if(e.focusables[o].isActive)return e.focusables[o].id},this.findPreviousFocusable=e=>{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r-1;o>=0;o--)if(e.focusables[o].isActive)return e.focusables[o].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return lm.default.createElement(FEt.default.Provider,{value:{exit:this.handleExit}},lm.default.createElement(REt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},lm.default.createElement(TEt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},lm.default.createElement(NEt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},lm.default.createElement(LEt.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?lm.default.createElement(OEt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){TIe.default.hide(this.props.stdout)}componentWillUnmount(){TIe.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}};ou.default=WQ;WQ.displayName="InternalApp"});var MIe=U(au=>{"use strict";var HEt=au&&au.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),qEt=au&&au.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),jEt=au&&au.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&HEt(e,t,r);return qEt(e,t),e},lu=au&&au.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(au,"__esModule",{value:!0});var GEt=lu(en()),LIe=dM(),WEt=lu(BEe()),YEt=lu(l6()),KEt=lu(bEe()),JEt=lu(kEe()),mq=lu(vCe()),VEt=lu(lIe()),zEt=lu(f6()),XEt=lu(fIe()),ZEt=jEt(q6()),$Et=lu(nq()),eCt=lu(NIe()),FC=process.env.CI==="false"?!1:KEt.default,OIe=()=>{},yq=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:o,staticOutput:a}=VEt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==` | 310 | Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit(),e===XCt&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(e===JCt&&this.focusNext(),e===zCt&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(e=>{let r=e.focusables[0].id;return{activeFocusId:this.findNextFocusable(e)||r}})},this.focusPrevious=()=>{this.setState(e=>{let r=e.focusables[e.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(e)||r}})},this.addFocusable=(e,{autoFocus:r})=>{this.setState(o=>{let a=o.activeFocusId;return!a&&r&&(a=e),{activeFocusId:a,focusables:[...o.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.filter(o=>o.id!==e)}))},this.activateFocusable=e=>{this.setState(r=>({focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r+1;o<e.focusables.length;o++)if(e.focusables[o].isActive)return e.focusables[o].id},this.findPreviousFocusable=e=>{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r-1;o>=0;o--)if(e.focusables[o].isActive)return e.focusables[o].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return Am.default.createElement(jCt.default.Provider,{value:{exit:this.handleExit}},Am.default.createElement(GCt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},Am.default.createElement(WCt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},Am.default.createElement(YCt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},Am.default.createElement(KCt.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?Am.default.createElement(VCt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){_Ie.default.hide(this.props.stdout)}componentWillUnmount(){_Ie.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}};lu.default=ZQ;ZQ.displayName="InternalApp"});var GIe=U(cu=>{"use strict";var ZCt=cu&&cu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),$Ct=cu&&cu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),eEt=cu&&cu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&ZCt(e,t,r);return $Ct(e,t),e},uu=cu&&cu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(cu,"__esModule",{value:!0});var tEt=uu(en()),qIe=mM(),rEt=uu(bCe()),nEt=uu(c6()),iEt=uu(NCe()),sEt=uu(OCe()),yq=uu(QEe()),oEt=uu(hIe()),aEt=uu(p6()),lEt=uu(yIe()),cEt=eEt(j6()),uEt=uu(iq()),AEt=uu(HIe()),OE=process.env.CI==="false"?!1:iEt.default,jIe=()=>{},Cq=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:o,staticOutput:a}=oEt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==` |
311 | `;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(FC){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),o>=this.options.stdout.rows){this.options.stdout.write(YEt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},JEt.default(this),this.options=e,this.rootNode=ZEt.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:LIe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=WEt.default.create(e.stdout),this.throttledLog=e.debug?this.log:LIe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=mq.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=zEt.default(this.unmount,{alwaysLast:!1}),e.patchConsole&&this.patchConsole(),FC||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){let r=GEt.default.createElement(eCt.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},e);mq.default.updateContainer(r,this.container,null,OIe)}writeToStdout(e){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput);return}if(FC){this.options.stdout.write(e);return}this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)}}writeToStderr(e){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(e),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(FC){this.options.stderr.write(e);return}this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)}}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),FC?this.options.stdout.write(this.lastOutput+` | 311 | `;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(OE){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),o>=this.options.stdout.rows){this.options.stdout.write(nEt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},sEt.default(this),this.options=e,this.rootNode=cEt.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:qIe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=rEt.default.create(e.stdout),this.throttledLog=e.debug?this.log:qIe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=yq.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=aEt.default(this.unmount,{alwaysLast:!1}),e.patchConsole&&this.patchConsole(),OE||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){let r=tEt.default.createElement(AEt.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},e);yq.default.updateContainer(r,this.container,null,jIe)}writeToStdout(e){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput);return}if(OE){this.options.stdout.write(e);return}this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)}}writeToStderr(e){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(e),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(OE){this.options.stderr.write(e);return}this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)}}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),OE?this.options.stdout.write(this.lastOutput+` |
312 | `):this.options.debug||this.log.done(),this.isUnmounted=!0,mq.default.updateContainer(null,this.container,null,OIe),$Et.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,r)=>{this.resolveExitPromise=e,this.rejectExitPromise=r})),this.exitPromise}clear(){!FC&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=XEt.default((e,r)=>{e==="stdout"&&this.writeToStdout(r),e==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};au.default=yq});var _Ie=U(lB=>{"use strict";var UIe=lB&&lB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(lB,"__esModule",{value:!0});var tCt=UIe(MIe()),YQ=UIe(nq()),rCt=Ie("stream"),nCt=(t,e)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},iCt(e)),o=sCt(r.stdout,()=>new tCt.default(r));return o.render(t),{rerender:o.render,unmount:()=>o.unmount(),waitUntilExit:o.waitUntilExit,cleanup:()=>YQ.default.delete(r.stdout),clear:o.clear}};lB.default=nCt;var iCt=(t={})=>t instanceof rCt.Stream?{stdout:t,stdin:process.stdin}:t,sCt=(t,e)=>{let r;return YQ.default.has(t)?r=YQ.default.get(t):(r=e(),YQ.default.set(t,r)),r}});var qIe=U(zf=>{"use strict";var oCt=zf&&zf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),aCt=zf&&zf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),lCt=zf&&zf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&oCt(e,t,r);return aCt(e,t),e};Object.defineProperty(zf,"__esModule",{value:!0});var cB=lCt(en()),HIe=t=>{let{items:e,children:r,style:o}=t,[a,n]=cB.useState(0),u=cB.useMemo(()=>e.slice(a),[e,a]);cB.useLayoutEffect(()=>{n(e.length)},[e.length]);let A=u.map((h,C)=>r(h,a+C)),p=cB.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},o),[o]);return cB.default.createElement("ink-box",{internal_static:!0,style:p},A)};HIe.displayName="Static";zf.default=HIe});var GIe=U(uB=>{"use strict";var cCt=uB&&uB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uB,"__esModule",{value:!0});var uCt=cCt(en()),jIe=({children:t,transform:e})=>t==null?null:uCt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:e},t);jIe.displayName="Transform";uB.default=jIe});var YIe=U(AB=>{"use strict";var ACt=AB&&AB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(AB,"__esModule",{value:!0});var fCt=ACt(en()),WIe=({count:t=1})=>fCt.default.createElement("ink-text",null,` | 312 | `):this.options.debug||this.log.done(),this.isUnmounted=!0,yq.default.updateContainer(null,this.container,null,jIe),uEt.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,r)=>{this.resolveExitPromise=e,this.rejectExitPromise=r})),this.exitPromise}clear(){!OE&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=lEt.default((e,r)=>{e==="stdout"&&this.writeToStdout(r),e==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};cu.default=Cq});var YIe=U(fB=>{"use strict";var WIe=fB&&fB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fB,"__esModule",{value:!0});var fEt=WIe(GIe()),$Q=WIe(iq()),pEt=Ie("stream"),hEt=(t,e)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},gEt(e)),o=dEt(r.stdout,()=>new fEt.default(r));return o.render(t),{rerender:o.render,unmount:()=>o.unmount(),waitUntilExit:o.waitUntilExit,cleanup:()=>$Q.default.delete(r.stdout),clear:o.clear}};fB.default=hEt;var gEt=(t={})=>t instanceof pEt.Stream?{stdout:t,stdin:process.stdin}:t,dEt=(t,e)=>{let r;return $Q.default.has(t)?r=$Q.default.get(t):(r=e(),$Q.default.set(t,r)),r}});var VIe=U(Zf=>{"use strict";var mEt=Zf&&Zf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),yEt=Zf&&Zf.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),CEt=Zf&&Zf.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&mEt(e,t,r);return yEt(e,t),e};Object.defineProperty(Zf,"__esModule",{value:!0});var pB=CEt(en()),KIe=t=>{let{items:e,children:r,style:o}=t,[a,n]=pB.useState(0),u=pB.useMemo(()=>e.slice(a),[e,a]);pB.useLayoutEffect(()=>{n(e.length)},[e.length]);let A=u.map((h,E)=>r(h,a+E)),p=pB.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},o),[o]);return pB.default.createElement("ink-box",{internal_static:!0,style:p},A)};KIe.displayName="Static";Zf.default=KIe});var zIe=U(hB=>{"use strict";var EEt=hB&&hB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hB,"__esModule",{value:!0});var IEt=EEt(en()),JIe=({children:t,transform:e})=>t==null?null:IEt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:e},t);JIe.displayName="Transform";hB.default=JIe});var ZIe=U(gB=>{"use strict";var wEt=gB&&gB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gB,"__esModule",{value:!0});var BEt=wEt(en()),XIe=({count:t=1})=>BEt.default.createElement("ink-text",null,` |
313 | `.repeat(t));WIe.displayName="Newline";AB.default=WIe});var VIe=U(fB=>{"use strict";var KIe=fB&&fB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fB,"__esModule",{value:!0});var pCt=KIe(en()),hCt=KIe(GQ()),JIe=()=>pCt.default.createElement(hCt.default,{flexGrow:1});JIe.displayName="Spacer";fB.default=JIe});var KQ=U(pB=>{"use strict";var gCt=pB&&pB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pB,"__esModule",{value:!0});var dCt=en(),mCt=gCt(aq()),yCt=()=>dCt.useContext(mCt.default);pB.default=yCt});var XIe=U(hB=>{"use strict";var ECt=hB&&hB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hB,"__esModule",{value:!0});var zIe=en(),CCt=ECt(KQ()),ICt=(t,e={})=>{let{stdin:r,setRawMode:o,internal_exitOnCtrlC:a}=CCt.default();zIe.useEffect(()=>{if(e.isActive!==!1)return o(!0),()=>{o(!1)}},[e.isActive,o]),zIe.useEffect(()=>{if(e.isActive===!1)return;let n=u=>{let A=String(u),p={upArrow:A==="\x1B[A",downArrow:A==="\x1B[B",leftArrow:A==="\x1B[D",rightArrow:A==="\x1B[C",pageDown:A==="\x1B[6~",pageUp:A==="\x1B[5~",return:A==="\r",escape:A==="\x1B",ctrl:!1,shift:!1,tab:A===" "||A==="\x1B[Z",backspace:A==="\b",delete:A==="\x7F"||A==="\x1B[3~",meta:!1};A<=""&&!p.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),p.ctrl=!0),A.startsWith("\x1B")&&(A=A.slice(1),p.meta=!0);let h=A>="A"&&A<="Z",C=A>="\u0410"&&A<="\u042F";A.length===1&&(h||C)&&(p.shift=!0),p.tab&&A==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(A=""),(!(A==="c"&&p.ctrl)||!a)&&t(A,p)};return r==null||r.on("data",n),()=>{r==null||r.off("data",n)}},[e.isActive,r,a,t])};hB.default=ICt});var ZIe=U(gB=>{"use strict";var wCt=gB&&gB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gB,"__esModule",{value:!0});var BCt=en(),vCt=wCt(sq()),DCt=()=>BCt.useContext(vCt.default);gB.default=DCt});var $Ie=U(dB=>{"use strict";var SCt=dB&&dB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dB,"__esModule",{value:!0});var PCt=en(),xCt=SCt(cq()),bCt=()=>PCt.useContext(xCt.default);dB.default=bCt});var ewe=U(mB=>{"use strict";var QCt=mB&&mB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mB,"__esModule",{value:!0});var kCt=en(),FCt=QCt(Aq()),RCt=()=>kCt.useContext(FCt.default);mB.default=RCt});var rwe=U(EB=>{"use strict";var twe=EB&&EB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(EB,"__esModule",{value:!0});var yB=en(),TCt=twe(jQ()),NCt=twe(KQ()),LCt=({isActive:t=!0,autoFocus:e=!1}={})=>{let{isRawModeSupported:r,setRawMode:o}=NCt.default(),{activeId:a,add:n,remove:u,activate:A,deactivate:p}=yB.useContext(TCt.default),h=yB.useMemo(()=>Math.random().toString().slice(2,7),[]);return yB.useEffect(()=>(n(h,{autoFocus:e}),()=>{u(h)}),[h,e]),yB.useEffect(()=>{t?A(h):p(h)},[t,h]),yB.useEffect(()=>{if(!(!r||!t))return o(!0),()=>{o(!1)}},[t]),{isFocused:Boolean(h)&&a===h}};EB.default=LCt});var nwe=U(CB=>{"use strict";var OCt=CB&&CB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CB,"__esModule",{value:!0});var MCt=en(),UCt=OCt(jQ()),_Ct=()=>{let t=MCt.useContext(UCt.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious}};CB.default=_Ct});var iwe=U(Eq=>{"use strict";Object.defineProperty(Eq,"__esModule",{value:!0});Eq.default=t=>{var e,r,o,a;return{width:(r=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(o=t.yogaNode)===null||o===void 0?void 0:o.getComputedHeight())!==null&&a!==void 0?a:0}}});var oc=U($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var HCt=_Ie();Object.defineProperty($s,"render",{enumerable:!0,get:function(){return HCt.default}});var qCt=GQ();Object.defineProperty($s,"Box",{enumerable:!0,get:function(){return qCt.default}});var jCt=dq();Object.defineProperty($s,"Text",{enumerable:!0,get:function(){return jCt.default}});var GCt=qIe();Object.defineProperty($s,"Static",{enumerable:!0,get:function(){return GCt.default}});var WCt=GIe();Object.defineProperty($s,"Transform",{enumerable:!0,get:function(){return WCt.default}});var YCt=YIe();Object.defineProperty($s,"Newline",{enumerable:!0,get:function(){return YCt.default}});var KCt=VIe();Object.defineProperty($s,"Spacer",{enumerable:!0,get:function(){return KCt.default}});var JCt=XIe();Object.defineProperty($s,"useInput",{enumerable:!0,get:function(){return JCt.default}});var VCt=ZIe();Object.defineProperty($s,"useApp",{enumerable:!0,get:function(){return VCt.default}});var zCt=KQ();Object.defineProperty($s,"useStdin",{enumerable:!0,get:function(){return zCt.default}});var XCt=$Ie();Object.defineProperty($s,"useStdout",{enumerable:!0,get:function(){return XCt.default}});var ZCt=ewe();Object.defineProperty($s,"useStderr",{enumerable:!0,get:function(){return ZCt.default}});var $Ct=rwe();Object.defineProperty($s,"useFocus",{enumerable:!0,get:function(){return $Ct.default}});var eIt=nwe();Object.defineProperty($s,"useFocusManager",{enumerable:!0,get:function(){return eIt.default}});var tIt=iwe();Object.defineProperty($s,"measureElement",{enumerable:!0,get:function(){return tIt.default}})});var Iq={};Yt(Iq,{Gem:()=>Cq});var swe,um,Cq,JQ=dt(()=>{swe=tt(oc()),um=tt(en()),Cq=(0,um.memo)(({active:t})=>{let e=(0,um.useMemo)(()=>t?"\u25C9":"\u25EF",[t]),r=(0,um.useMemo)(()=>t?"green":"yellow",[t]);return um.default.createElement(swe.Text,{color:r},e)})});var awe={};Yt(awe,{useKeypress:()=>Am});function Am({active:t},e,r){let{stdin:o}=(0,owe.useStdin)(),a=(0,VQ.useCallback)((n,u)=>e(n,u),r);(0,VQ.useEffect)(()=>{if(!(!t||!o))return o.on("keypress",a),()=>{o.off("keypress",a)}},[t,a,o])}var owe,VQ,IB=dt(()=>{owe=tt(oc()),VQ=tt(en())});var cwe={};Yt(cwe,{FocusRequest:()=>lwe,useFocusRequest:()=>wq});var lwe,wq,Bq=dt(()=>{IB();lwe=(r=>(r.BEFORE="before",r.AFTER="after",r))(lwe||{}),wq=function({active:t},e,r){Am({active:t},(o,a)=>{a.name==="tab"&&(a.shift?e("before"):e("after"))},r)}});var uwe={};Yt(uwe,{useListInput:()=>wB});var wB,zQ=dt(()=>{IB();wB=function(t,e,{active:r,minus:o,plus:a,set:n,loop:u=!0}){Am({active:r},(A,p)=>{let h=e.indexOf(t);switch(p.name){case o:{let C=h-1;if(u){n(e[(e.length+C)%e.length]);return}if(C<0)return;n(e[C])}break;case a:{let C=h+1;if(u){n(e[C%e.length]);return}if(C>=e.length)return;n(e[C])}break}},[e,t,a,n,u])}});var XQ={};Yt(XQ,{ScrollableItems:()=>rIt});var dh,Na,rIt,ZQ=dt(()=>{dh=tt(oc()),Na=tt(en());Bq();zQ();rIt=({active:t=!0,children:e=[],radius:r=10,size:o=1,loop:a=!0,onFocusRequest:n,willReachEnd:u})=>{let A=L=>{if(L.key===null)throw new Error("Expected all children to have a key");return L.key},p=Na.default.Children.map(e,L=>A(L)),h=p[0],[C,w]=(0,Na.useState)(h),v=p.indexOf(C);(0,Na.useEffect)(()=>{p.includes(C)||w(h)},[e]),(0,Na.useEffect)(()=>{u&&v>=p.length-2&&u()},[v]),wq({active:t&&!!n},L=>{n==null||n(L)},[n]),wB(C,p,{active:t,minus:"up",plus:"down",set:w,loop:a});let b=v-r,E=v+r;E>p.length&&(b-=E-p.length,E=p.length),b<0&&(E+=-b,b=0),E>=p.length&&(E=p.length-1);let R=[];for(let L=b;L<=E;++L){let _=p[L],J=t&&_===C;R.push(Na.default.createElement(dh.Box,{key:_,height:o},Na.default.createElement(dh.Box,{marginLeft:1,marginRight:1},Na.default.createElement(dh.Text,null,J?Na.default.createElement(dh.Text,{color:"cyan",bold:!0},">"):" ")),Na.default.createElement(dh.Box,null,Na.default.cloneElement(e[L],{active:J}))))}return Na.default.createElement(dh.Box,{flexDirection:"column",width:"100%"},R)}});var Awe,Xf,fwe,vq,pwe,Dq=dt(()=>{Awe=tt(oc()),Xf=tt(en()),fwe=Ie("readline"),vq=Xf.default.createContext(null),pwe=({children:t})=>{let{stdin:e,setRawMode:r}=(0,Awe.useStdin)();(0,Xf.useEffect)(()=>{r&&r(!0),e&&(0,fwe.emitKeypressEvents)(e)},[e,r]);let[o,a]=(0,Xf.useState)(new Map),n=(0,Xf.useMemo)(()=>({getAll:()=>o,get:u=>o.get(u),set:(u,A)=>a(new Map([...o,[u,A]]))}),[o,a]);return Xf.default.createElement(vq.Provider,{value:n,children:t})}});var Sq={};Yt(Sq,{useMinistore:()=>nIt});function nIt(t,e){let r=(0,$Q.useContext)(vq);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof t>"u")return r.getAll();let o=(0,$Q.useCallback)(n=>{r.set(t,n)},[t,r.set]),a=r.get(t);return typeof a>"u"&&(a=e),[a,o]}var $Q,Pq=dt(()=>{$Q=tt(en());Dq()});var tk={};Yt(tk,{renderForm:()=>iIt});async function iIt(t,e,{stdin:r,stdout:o,stderr:a}){let n,u=p=>{let{exit:h}=(0,ek.useApp)();Am({active:!0},(C,w)=>{w.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:A}=(0,ek.render)(xq.default.createElement(pwe,null,xq.default.createElement(t,{...e,useSubmit:u})),{stdin:r,stdout:o,stderr:a});return await A(),n}var ek,xq,rk=dt(()=>{ek=tt(oc()),xq=tt(en());Dq();IB()});var mwe=U(BB=>{"use strict";Object.defineProperty(BB,"__esModule",{value:!0});BB.UncontrolledTextInput=void 0;var gwe=en(),bq=en(),hwe=oc(),fm=HQ(),dwe=({value:t,placeholder:e="",focus:r=!0,mask:o,highlightPastedText:a=!1,showCursor:n=!0,onChange:u,onSubmit:A})=>{let[{cursorOffset:p,cursorWidth:h},C]=bq.useState({cursorOffset:(t||"").length,cursorWidth:0});bq.useEffect(()=>{C(R=>{if(!r||!n)return R;let L=t||"";return R.cursorOffset>L.length-1?{cursorOffset:L.length,cursorWidth:0}:R})},[t,r,n]);let w=a?h:0,v=o?o.repeat(t.length):t,b=v,E=e?fm.grey(e):void 0;if(n&&r){E=e.length>0?fm.inverse(e[0])+fm.grey(e.slice(1)):fm.inverse(" "),b=v.length>0?"":fm.inverse(" ");let R=0;for(let L of v)R>=p-w&&R<=p?b+=fm.inverse(L):b+=L,R++;v.length>0&&p===v.length&&(b+=fm.inverse(" "))}return hwe.useInput((R,L)=>{if(L.upArrow||L.downArrow||L.ctrl&&R==="c"||L.tab||L.shift&&L.tab)return;if(L.return){A&&A(t);return}let _=p,J=t,re=0;L.leftArrow?n&&_--:L.rightArrow?n&&_++:L.backspace||L.delete?p>0&&(J=t.slice(0,p-1)+t.slice(p,t.length),_--):(J=t.slice(0,p)+R+t.slice(p,t.length),_+=R.length,R.length>1&&(re=R.length)),p<0&&(_=0),p>t.length&&(_=t.length),C({cursorOffset:_,cursorWidth:re}),J!==t&&u(J)},{isActive:r}),gwe.createElement(hwe.Text,null,e?v.length>0?b:E:b)};BB.default=dwe;BB.UncontrolledTextInput=t=>{let[e,r]=bq.useState("");return gwe.createElement(dwe,Object.assign({},t,{value:e,onChange:r}))}});var Cwe={};Yt(Cwe,{Pad:()=>Qq});var ywe,Ewe,Qq,kq=dt(()=>{ywe=tt(oc()),Ewe=tt(en()),Qq=({length:t,active:e})=>{if(t===0)return null;let r=t>1?` ${"-".repeat(t-1)}`:" ";return Ewe.default.createElement(ywe.Text,{dimColor:!e},r)}});var Iwe={};Yt(Iwe,{ItemOptions:()=>sIt});var DB,yh,sIt,wwe=dt(()=>{DB=tt(oc()),yh=tt(en());zQ();JQ();kq();sIt=function({active:t,skewer:e,options:r,value:o,onChange:a,sizes:n=[]}){let u=r.filter(({label:p})=>!!p).map(({value:p})=>p),A=r.findIndex(p=>p.value===o&&p.label!="");return wB(o,u,{active:t,minus:"left",plus:"right",set:a}),yh.default.createElement(yh.default.Fragment,null,r.map(({label:p},h)=>{let C=h===A,w=n[h]-1||0,v=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),b=Math.max(0,w-v.length-2);return p?yh.default.createElement(DB.Box,{key:p,width:w,marginLeft:1},yh.default.createElement(DB.Text,{wrap:"truncate"},yh.default.createElement(Cq,{active:C})," ",p),e?yh.default.createElement(Qq,{active:t,length:b}):null):yh.default.createElement(DB.Box,{key:`spacer-${h}`,width:w,marginLeft:1})}))}});var Mwe=U((WJt,Owe)=>{var _q;Owe.exports=()=>(typeof _q>"u"&&(_q=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),_q)});var c1e=U((jVt,l1e)=>{var Jq;l1e.exports=()=>(typeof Jq>"u"&&(Jq=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Jq)});var d1e=U((ej,tj)=>{(function(t){ej&&typeof ej=="object"&&typeof tj<"u"?tj.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window<"u"?window.isWindows=t():typeof global<"u"?global.isWindows=t():typeof self<"u"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var C1e=U((jzt,E1e)=>{"use strict";rj.ifExists=ewt;var NC=Ie("util"),ac=Ie("path"),m1e=d1e(),XIt=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,ZIt={createPwshFile:!0,createCmdFile:m1e(),fs:Ie("fs")},$It=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function y1e(t){let e={...ZIt,...t},r=e.fs;return e.fs_={chmod:r.chmod?NC.promisify(r.chmod):async()=>{},mkdir:NC.promisify(r.mkdir),readFile:NC.promisify(r.readFile),stat:NC.promisify(r.stat),unlink:NC.promisify(r.unlink),writeFile:NC.promisify(r.writeFile)},e}async function rj(t,e,r){let o=y1e(r);await o.fs_.stat(t),await rwt(t,e,o)}function ewt(t,e,r){return rj(t,e,r).catch(()=>{})}function twt(t,e){return e.fs_.unlink(t).catch(()=>{})}async function rwt(t,e,r){let o=await awt(t,r);return await nwt(e,r),iwt(t,e,o,r)}function nwt(t,e){return e.fs_.mkdir(ac.dirname(t),{recursive:!0})}function iwt(t,e,r,o){let a=y1e(o),n=[{generator:uwt,extension:""}];return a.createCmdFile&&n.push({generator:cwt,extension:".cmd"}),a.createPwshFile&&n.push({generator:Awt,extension:".ps1"}),Promise.all(n.map(u=>lwt(t,e+u.extension,r,u.generator,a)))}function swt(t,e){return twt(t,e)}function owt(t,e){return fwt(t,e)}async function awt(t,e){let a=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(XIt);if(!a){let n=ac.extname(t).toLowerCase();return{program:$It.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function lwt(t,e,r,o,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",u=[r.additionalArgs,n].filter(A=>A).join(" ");return a=Object.assign({},a,{prog:r.program,args:u}),await swt(e,a),await a.fs_.writeFile(e,o(t,e,a),"utf8"),owt(e,a)}function cwt(t,e,r){let a=ac.relative(ac.dirname(e),t).split("/").join("\\"),n=ac.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,u,A=r.prog,p=r.args||"",h=nj(r.nodePath).win32;A?(u=`"%~dp0\\${A}.exe"`,a=n):(A=n,p="",a="");let C=r.progArgs?`${r.progArgs.join(" ")} `:"",w=h?`@SET NODE_PATH=${h}\r | 313 | `.repeat(t));XIe.displayName="Newline";gB.default=XIe});var twe=U(dB=>{"use strict";var $Ie=dB&&dB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dB,"__esModule",{value:!0});var vEt=$Ie(en()),DEt=$Ie(XQ()),ewe=()=>vEt.default.createElement(DEt.default,{flexGrow:1});ewe.displayName="Spacer";dB.default=ewe});var ek=U(mB=>{"use strict";var SEt=mB&&mB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(mB,"__esModule",{value:!0});var PEt=en(),xEt=SEt(lq()),bEt=()=>PEt.useContext(xEt.default);mB.default=bEt});var nwe=U(yB=>{"use strict";var QEt=yB&&yB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(yB,"__esModule",{value:!0});var rwe=en(),kEt=QEt(ek()),FEt=(t,e={})=>{let{stdin:r,setRawMode:o,internal_exitOnCtrlC:a}=kEt.default();rwe.useEffect(()=>{if(e.isActive!==!1)return o(!0),()=>{o(!1)}},[e.isActive,o]),rwe.useEffect(()=>{if(e.isActive===!1)return;let n=u=>{let A=String(u),p={upArrow:A==="\x1B[A",downArrow:A==="\x1B[B",leftArrow:A==="\x1B[D",rightArrow:A==="\x1B[C",pageDown:A==="\x1B[6~",pageUp:A==="\x1B[5~",return:A==="\r",escape:A==="\x1B",ctrl:!1,shift:!1,tab:A===" "||A==="\x1B[Z",backspace:A==="\b",delete:A==="\x7F"||A==="\x1B[3~",meta:!1};A<=""&&!p.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),p.ctrl=!0),A.startsWith("\x1B")&&(A=A.slice(1),p.meta=!0);let h=A>="A"&&A<="Z",E=A>="\u0410"&&A<="\u042F";A.length===1&&(h||E)&&(p.shift=!0),p.tab&&A==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(A=""),(!(A==="c"&&p.ctrl)||!a)&&t(A,p)};return r==null||r.on("data",n),()=>{r==null||r.off("data",n)}},[e.isActive,r,a,t])};yB.default=FEt});var iwe=U(CB=>{"use strict";var REt=CB&&CB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CB,"__esModule",{value:!0});var TEt=en(),NEt=REt(oq()),LEt=()=>TEt.useContext(NEt.default);CB.default=LEt});var swe=U(EB=>{"use strict";var OEt=EB&&EB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(EB,"__esModule",{value:!0});var MEt=en(),UEt=OEt(uq()),_Et=()=>MEt.useContext(UEt.default);EB.default=_Et});var owe=U(IB=>{"use strict";var HEt=IB&&IB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(IB,"__esModule",{value:!0});var qEt=en(),jEt=HEt(fq()),GEt=()=>qEt.useContext(jEt.default);IB.default=GEt});var lwe=U(BB=>{"use strict";var awe=BB&&BB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(BB,"__esModule",{value:!0});var wB=en(),WEt=awe(zQ()),YEt=awe(ek()),KEt=({isActive:t=!0,autoFocus:e=!1}={})=>{let{isRawModeSupported:r,setRawMode:o}=YEt.default(),{activeId:a,add:n,remove:u,activate:A,deactivate:p}=wB.useContext(WEt.default),h=wB.useMemo(()=>Math.random().toString().slice(2,7),[]);return wB.useEffect(()=>(n(h,{autoFocus:e}),()=>{u(h)}),[h,e]),wB.useEffect(()=>{t?A(h):p(h)},[t,h]),wB.useEffect(()=>{if(!(!r||!t))return o(!0),()=>{o(!1)}},[t]),{isFocused:Boolean(h)&&a===h}};BB.default=KEt});var cwe=U(vB=>{"use strict";var VEt=vB&&vB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vB,"__esModule",{value:!0});var JEt=en(),zEt=VEt(zQ()),XEt=()=>{let t=JEt.useContext(zEt.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious}};vB.default=XEt});var uwe=U(Eq=>{"use strict";Object.defineProperty(Eq,"__esModule",{value:!0});Eq.default=t=>{var e,r,o,a;return{width:(r=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(o=t.yogaNode)===null||o===void 0?void 0:o.getComputedHeight())!==null&&a!==void 0?a:0}}});var cc=U($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var ZEt=YIe();Object.defineProperty($s,"render",{enumerable:!0,get:function(){return ZEt.default}});var $Et=XQ();Object.defineProperty($s,"Box",{enumerable:!0,get:function(){return $Et.default}});var eIt=mq();Object.defineProperty($s,"Text",{enumerable:!0,get:function(){return eIt.default}});var tIt=VIe();Object.defineProperty($s,"Static",{enumerable:!0,get:function(){return tIt.default}});var rIt=zIe();Object.defineProperty($s,"Transform",{enumerable:!0,get:function(){return rIt.default}});var nIt=ZIe();Object.defineProperty($s,"Newline",{enumerable:!0,get:function(){return nIt.default}});var iIt=twe();Object.defineProperty($s,"Spacer",{enumerable:!0,get:function(){return iIt.default}});var sIt=nwe();Object.defineProperty($s,"useInput",{enumerable:!0,get:function(){return sIt.default}});var oIt=iwe();Object.defineProperty($s,"useApp",{enumerable:!0,get:function(){return oIt.default}});var aIt=ek();Object.defineProperty($s,"useStdin",{enumerable:!0,get:function(){return aIt.default}});var lIt=swe();Object.defineProperty($s,"useStdout",{enumerable:!0,get:function(){return lIt.default}});var cIt=owe();Object.defineProperty($s,"useStderr",{enumerable:!0,get:function(){return cIt.default}});var uIt=lwe();Object.defineProperty($s,"useFocus",{enumerable:!0,get:function(){return uIt.default}});var AIt=cwe();Object.defineProperty($s,"useFocusManager",{enumerable:!0,get:function(){return AIt.default}});var fIt=uwe();Object.defineProperty($s,"measureElement",{enumerable:!0,get:function(){return fIt.default}})});var wq={};Yt(wq,{Gem:()=>Iq});var Awe,pm,Iq,tk=dt(()=>{Awe=tt(cc()),pm=tt(en()),Iq=(0,pm.memo)(({active:t})=>{let e=(0,pm.useMemo)(()=>t?"\u25C9":"\u25EF",[t]),r=(0,pm.useMemo)(()=>t?"green":"yellow",[t]);return pm.default.createElement(Awe.Text,{color:r},e)})});var pwe={};Yt(pwe,{useKeypress:()=>hm});function hm({active:t},e,r){let{stdin:o}=(0,fwe.useStdin)(),a=(0,rk.useCallback)((n,u)=>e(n,u),r);(0,rk.useEffect)(()=>{if(!(!t||!o))return o.on("keypress",a),()=>{o.off("keypress",a)}},[t,a,o])}var fwe,rk,DB=dt(()=>{fwe=tt(cc()),rk=tt(en())});var gwe={};Yt(gwe,{FocusRequest:()=>hwe,useFocusRequest:()=>Bq});var hwe,Bq,vq=dt(()=>{DB();hwe=(r=>(r.BEFORE="before",r.AFTER="after",r))(hwe||{}),Bq=function({active:t},e,r){hm({active:t},(o,a)=>{a.name==="tab"&&(a.shift?e("before"):e("after"))},r)}});var dwe={};Yt(dwe,{useListInput:()=>SB});var SB,nk=dt(()=>{DB();SB=function(t,e,{active:r,minus:o,plus:a,set:n,loop:u=!0}){hm({active:r},(A,p)=>{let h=e.indexOf(t);switch(p.name){case o:{let E=h-1;if(u){n(e[(e.length+E)%e.length]);return}if(E<0)return;n(e[E])}break;case a:{let E=h+1;if(u){n(e[E%e.length]);return}if(E>=e.length)return;n(e[E])}break}},[e,t,a,n,u])}});var ik={};Yt(ik,{ScrollableItems:()=>pIt});var mh,La,pIt,sk=dt(()=>{mh=tt(cc()),La=tt(en());vq();nk();pIt=({active:t=!0,children:e=[],radius:r=10,size:o=1,loop:a=!0,onFocusRequest:n,willReachEnd:u})=>{let A=L=>{if(L.key===null)throw new Error("Expected all children to have a key");return L.key},p=La.default.Children.map(e,L=>A(L)),h=p[0],[E,w]=(0,La.useState)(h),v=p.indexOf(E);(0,La.useEffect)(()=>{p.includes(E)||w(h)},[e]),(0,La.useEffect)(()=>{u&&v>=p.length-2&&u()},[v]),Bq({active:t&&!!n},L=>{n==null||n(L)},[n]),SB(E,p,{active:t,minus:"up",plus:"down",set:w,loop:a});let b=v-r,C=v+r;C>p.length&&(b-=C-p.length,C=p.length),b<0&&(C+=-b,b=0),C>=p.length&&(C=p.length-1);let R=[];for(let L=b;L<=C;++L){let _=p[L],V=t&&_===E;R.push(La.default.createElement(mh.Box,{key:_,height:o},La.default.createElement(mh.Box,{marginLeft:1,marginRight:1},La.default.createElement(mh.Text,null,V?La.default.createElement(mh.Text,{color:"cyan",bold:!0},">"):" ")),La.default.createElement(mh.Box,null,La.default.cloneElement(e[L],{active:V}))))}return La.default.createElement(mh.Box,{flexDirection:"column",width:"100%"},R)}});var mwe,$f,ywe,Dq,Cwe,Sq=dt(()=>{mwe=tt(cc()),$f=tt(en()),ywe=Ie("readline"),Dq=$f.default.createContext(null),Cwe=({children:t})=>{let{stdin:e,setRawMode:r}=(0,mwe.useStdin)();(0,$f.useEffect)(()=>{r&&r(!0),e&&(0,ywe.emitKeypressEvents)(e)},[e,r]);let[o,a]=(0,$f.useState)(new Map),n=(0,$f.useMemo)(()=>({getAll:()=>o,get:u=>o.get(u),set:(u,A)=>a(new Map([...o,[u,A]]))}),[o,a]);return $f.default.createElement(Dq.Provider,{value:n,children:t})}});var Pq={};Yt(Pq,{useMinistore:()=>hIt});function hIt(t,e){let r=(0,ok.useContext)(Dq);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof t>"u")return r.getAll();let o=(0,ok.useCallback)(n=>{r.set(t,n)},[t,r.set]),a=r.get(t);return typeof a>"u"&&(a=e),[a,o]}var ok,xq=dt(()=>{ok=tt(en());Sq()});var lk={};Yt(lk,{renderForm:()=>gIt});async function gIt(t,e,{stdin:r,stdout:o,stderr:a}){let n,u=p=>{let{exit:h}=(0,ak.useApp)();hm({active:!0},(E,w)=>{w.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:A}=(0,ak.render)(bq.default.createElement(Cwe,null,bq.default.createElement(t,{...e,useSubmit:u})),{stdin:r,stdout:o,stderr:a});return await A(),n}var ak,bq,ck=dt(()=>{ak=tt(cc()),bq=tt(en());Sq();DB()});var Bwe=U(PB=>{"use strict";Object.defineProperty(PB,"__esModule",{value:!0});PB.UncontrolledTextInput=void 0;var Iwe=en(),Qq=en(),Ewe=cc(),gm=VQ(),wwe=({value:t,placeholder:e="",focus:r=!0,mask:o,highlightPastedText:a=!1,showCursor:n=!0,onChange:u,onSubmit:A})=>{let[{cursorOffset:p,cursorWidth:h},E]=Qq.useState({cursorOffset:(t||"").length,cursorWidth:0});Qq.useEffect(()=>{E(R=>{if(!r||!n)return R;let L=t||"";return R.cursorOffset>L.length-1?{cursorOffset:L.length,cursorWidth:0}:R})},[t,r,n]);let w=a?h:0,v=o?o.repeat(t.length):t,b=v,C=e?gm.grey(e):void 0;if(n&&r){C=e.length>0?gm.inverse(e[0])+gm.grey(e.slice(1)):gm.inverse(" "),b=v.length>0?"":gm.inverse(" ");let R=0;for(let L of v)R>=p-w&&R<=p?b+=gm.inverse(L):b+=L,R++;v.length>0&&p===v.length&&(b+=gm.inverse(" "))}return Ewe.useInput((R,L)=>{if(L.upArrow||L.downArrow||L.ctrl&&R==="c"||L.tab||L.shift&&L.tab)return;if(L.return){A&&A(t);return}let _=p,V=t,re=0;L.leftArrow?n&&_--:L.rightArrow?n&&_++:L.backspace||L.delete?p>0&&(V=t.slice(0,p-1)+t.slice(p,t.length),_--):(V=t.slice(0,p)+R+t.slice(p,t.length),_+=R.length,R.length>1&&(re=R.length)),p<0&&(_=0),p>t.length&&(_=t.length),E({cursorOffset:_,cursorWidth:re}),V!==t&&u(V)},{isActive:r}),Iwe.createElement(Ewe.Text,null,e?v.length>0?b:C:b)};PB.default=wwe;PB.UncontrolledTextInput=t=>{let[e,r]=Qq.useState("");return Iwe.createElement(wwe,Object.assign({},t,{value:e,onChange:r}))}});var Swe={};Yt(Swe,{Pad:()=>kq});var vwe,Dwe,kq,Fq=dt(()=>{vwe=tt(cc()),Dwe=tt(en()),kq=({length:t,active:e})=>{if(t===0)return null;let r=t>1?` ${"-".repeat(t-1)}`:" ";return Dwe.default.createElement(vwe.Text,{dimColor:!e},r)}});var Pwe={};Yt(Pwe,{ItemOptions:()=>dIt});var bB,Ch,dIt,xwe=dt(()=>{bB=tt(cc()),Ch=tt(en());nk();tk();Fq();dIt=function({active:t,skewer:e,options:r,value:o,onChange:a,sizes:n=[]}){let u=r.filter(({label:p})=>!!p).map(({value:p})=>p),A=r.findIndex(p=>p.value===o&&p.label!="");return SB(o,u,{active:t,minus:"left",plus:"right",set:a}),Ch.default.createElement(Ch.default.Fragment,null,r.map(({label:p},h)=>{let E=h===A,w=n[h]-1||0,v=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),b=Math.max(0,w-v.length-2);return p?Ch.default.createElement(bB.Box,{key:p,width:w,marginLeft:1},Ch.default.createElement(bB.Text,{wrap:"truncate"},Ch.default.createElement(Iq,{active:E})," ",p),e?Ch.default.createElement(kq,{active:t,length:b}):null):Ch.default.createElement(bB.Box,{key:`spacer-${h}`,width:w,marginLeft:1})}))}});var Gwe=U((ZVt,jwe)=>{var Hq;jwe.exports=()=>(typeof Hq>"u"&&(Hq=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Hq)});var A1e=U((BJt,u1e)=>{var zq=Symbol("arg flag"),Oa=class extends Error{constructor(e,r){super(e),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,Oa.prototype)}};function WB(t,{argv:e=process.argv.slice(2),permissive:r=!1,stopAtPositional:o=!1}={}){if(!t)throw new Oa("argument specification object is required","ARG_CONFIG_NO_SPEC");let a={_:[]},n={},u={};for(let A of Object.keys(t)){if(!A)throw new Oa("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(A[0]!=="-")throw new Oa(`argument key must start with '-' but found: '${A}'`,"ARG_CONFIG_NONOPT_KEY");if(A.length===1)throw new Oa(`argument key must have a name; singular '-' keys are not allowed: ${A}`,"ARG_CONFIG_NONAME_KEY");if(typeof t[A]=="string"){n[A]=t[A];continue}let p=t[A],h=!1;if(Array.isArray(p)&&p.length===1&&typeof p[0]=="function"){let[E]=p;p=(w,v,b=[])=>(b.push(E(w,v,b[b.length-1])),b),h=E===Boolean||E[zq]===!0}else if(typeof p=="function")h=p===Boolean||p[zq]===!0;else throw new Oa(`type missing or not a function or valid array type: ${A}`,"ARG_CONFIG_VAD_TYPE");if(A[1]!=="-"&&A.length>2)throw new Oa(`short argument keys (with a single hyphen) must have only one character: ${A}`,"ARG_CONFIG_SHORTOPT_TOOLONG");u[A]=[p,h]}for(let A=0,p=e.length;A<p;A++){let h=e[A];if(o&&a._.length>0){a._=a._.concat(e.slice(A));break}if(h==="--"){a._=a._.concat(e.slice(A+1));break}if(h.length>1&&h[0]==="-"){let E=h[1]==="-"||h.length===2?[h]:h.slice(1).split("").map(w=>`-${w}`);for(let w=0;w<E.length;w++){let v=E[w],[b,C]=v[1]==="-"?v.split(/=(.*)/,2):[v,void 0],R=b;for(;R in n;)R=n[R];if(!(R in u))if(r){a._.push(v);continue}else throw new Oa(`unknown or unexpected option: ${b}`,"ARG_UNKNOWN_OPTION");let[L,_]=u[R];if(!_&&w+1<E.length)throw new Oa(`option requires argument (but was followed by another short argument): ${b}`,"ARG_MISSING_REQUIRED_SHORTARG");if(_)a[R]=L(!0,R,a[R]);else if(C===void 0){if(e.length<A+2||e[A+1].length>1&&e[A+1][0]==="-"&&!(e[A+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(L===Number||typeof BigInt<"u"&&L===BigInt))){let V=b===R?"":` (alias for ${R})`;throw new Oa(`option requires argument: ${b}${V}`,"ARG_MISSING_REQUIRED_LONGARG")}a[R]=L(e[A+1],R,a[R]),++A}else a[R]=L(C,R,a[R])}}else a._.push(h)}return a}WB.flag=t=>(t[zq]=!0,t);WB.COUNT=WB.flag((t,e,r)=>(r||0)+1);WB.ArgError=Oa;u1e.exports=WB});var E1e=U((XJt,C1e)=>{var ej;C1e.exports=()=>(typeof ej>"u"&&(ej=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),ej)});var P1e=U((oj,aj)=>{(function(t){oj&&typeof oj=="object"&&typeof aj<"u"?aj.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window<"u"?window.isWindows=t():typeof global<"u"?global.isWindows=t():typeof self<"u"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var k1e=U((Jzt,Q1e)=>{"use strict";lj.ifExists=hwt;var UE=Ie("util"),uc=Ie("path"),x1e=P1e(),Awt=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,fwt={createPwshFile:!0,createCmdFile:x1e(),fs:Ie("fs")},pwt=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function b1e(t){let e={...fwt,...t},r=e.fs;return e.fs_={chmod:r.chmod?UE.promisify(r.chmod):async()=>{},mkdir:UE.promisify(r.mkdir),readFile:UE.promisify(r.readFile),stat:UE.promisify(r.stat),unlink:UE.promisify(r.unlink),writeFile:UE.promisify(r.writeFile)},e}async function lj(t,e,r){let o=b1e(r);await o.fs_.stat(t),await dwt(t,e,o)}function hwt(t,e,r){return lj(t,e,r).catch(()=>{})}function gwt(t,e){return e.fs_.unlink(t).catch(()=>{})}async function dwt(t,e,r){let o=await Iwt(t,r);return await mwt(e,r),ywt(t,e,o,r)}function mwt(t,e){return e.fs_.mkdir(uc.dirname(t),{recursive:!0})}function ywt(t,e,r,o){let a=b1e(o),n=[{generator:vwt,extension:""}];return a.createCmdFile&&n.push({generator:Bwt,extension:".cmd"}),a.createPwshFile&&n.push({generator:Dwt,extension:".ps1"}),Promise.all(n.map(u=>wwt(t,e+u.extension,r,u.generator,a)))}function Cwt(t,e){return gwt(t,e)}function Ewt(t,e){return Swt(t,e)}async function Iwt(t,e){let a=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(Awt);if(!a){let n=uc.extname(t).toLowerCase();return{program:pwt.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function wwt(t,e,r,o,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",u=[r.additionalArgs,n].filter(A=>A).join(" ");return a=Object.assign({},a,{prog:r.program,args:u}),await Cwt(e,a),await a.fs_.writeFile(e,o(t,e,a),"utf8"),Ewt(e,a)}function Bwt(t,e,r){let a=uc.relative(uc.dirname(e),t).split("/").join("\\"),n=uc.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,u,A=r.prog,p=r.args||"",h=cj(r.nodePath).win32;A?(u=`"%~dp0\\${A}.exe"`,a=n):(A=n,p="",a="");let E=r.progArgs?`${r.progArgs.join(" ")} `:"",w=h?`@SET NODE_PATH=${h}\r |
314 | `:"";return u?w+=`@IF EXIST ${u} (\r | 314 | `:"";return u?w+=`@IF EXIST ${u} (\r |
315 | ${u} ${p} ${a} ${C}%*\r | 315 | ${u} ${p} ${a} ${E}%*\r |
316 | ) ELSE (\r | 316 | ) ELSE (\r |
317 | @SETLOCAL\r | 317 | @SETLOCAL\r |
318 | @SET PATHEXT=%PATHEXT:;.JS;=;%\r | 318 | @SET PATHEXT=%PATHEXT:;.JS;=;%\r |
319 | ${A} ${p} ${a} ${C}%*\r | 319 | ${A} ${p} ${a} ${E}%*\r |
320 | )\r | 320 | )\r |
321 | `:w+=`@${A} ${p} ${a} ${C}%*\r | 321 | `:w+=`@${A} ${p} ${a} ${E}%*\r |
322 | `,w}function uwt(t,e,r){let o=ac.relative(ac.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n;o=o.split("\\").join("/");let u=ac.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,A=r.args||"",p=nj(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,o=u):(a=u,A="",o="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",C=`#!/bin/sh | 322 | `,w}function vwt(t,e,r){let o=uc.relative(uc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n;o=o.split("\\").join("/");let u=uc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,A=r.args||"",p=cj(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,o=u):(a=u,A="",o="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",E=`#!/bin/sh |
323 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") | 323 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") |
324 | 324 | ||
325 | case \`uname\` in | 325 | case \`uname\` in |
@@ -327,19 +327,19 @@ case \`uname\` in | |||
327 | esac | 327 | esac |
328 | 328 | ||
329 | `,w=r.nodePath?`export NODE_PATH="${p}" | 329 | `,w=r.nodePath?`export NODE_PATH="${p}" |
330 | `:"";return n?C+=`${w}if [ -x ${n} ]; then | 330 | `:"";return n?E+=`${w}if [ -x ${n} ]; then |
331 | exec ${n} ${A} ${o} ${h}"$@" | 331 | exec ${n} ${A} ${o} ${h}"$@" |
332 | else | 332 | else |
333 | exec ${a} ${A} ${o} ${h}"$@" | 333 | exec ${a} ${A} ${o} ${h}"$@" |
334 | fi | 334 | fi |
335 | `:C+=`${w}${a} ${A} ${o} ${h}"$@" | 335 | `:E+=`${w}${a} ${A} ${o} ${h}"$@" |
336 | exit $? | 336 | exit $? |
337 | `,C}function Awt(t,e,r){let o=ac.relative(ac.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,u;o=o.split("\\").join("/");let A=ac.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,p=r.args||"",h=nj(r.nodePath),C=h.win32,w=h.posix;n?(u=`"$basedir/${r.prog}$exe"`,o=A):(n=A,p="",o="");let v=r.progArgs?`${r.progArgs.join(" ")} `:"",b=`#!/usr/bin/env pwsh | 337 | `,E}function Dwt(t,e,r){let o=uc.relative(uc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,u;o=o.split("\\").join("/");let A=uc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,p=r.args||"",h=cj(r.nodePath),E=h.win32,w=h.posix;n?(u=`"$basedir/${r.prog}$exe"`,o=A):(n=A,p="",o="");let v=r.progArgs?`${r.progArgs.join(" ")} `:"",b=`#!/usr/bin/env pwsh |
338 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent | 338 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent |
339 | 339 | ||
340 | $exe="" | 340 | $exe="" |
341 | ${r.nodePath?`$env_node_path=$env:NODE_PATH | 341 | ${r.nodePath?`$env_node_path=$env:NODE_PATH |
342 | $env:NODE_PATH="${C}" | 342 | $env:NODE_PATH="${E}" |
343 | `:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { | 343 | `:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { |
344 | # Fix case when both the Windows and Linux builds of Node | 344 | # Fix case when both the Windows and Linux builds of Node |
345 | # are installed in the same directory | 345 | # are installed in the same directory |
@@ -376,45 +376,45 @@ if ($MyInvocation.ExpectingInput) { | |||
376 | } | 376 | } |
377 | ${r.nodePath?`$env:NODE_PATH=$env_node_path | 377 | ${r.nodePath?`$env:NODE_PATH=$env_node_path |
378 | `:""}exit $LASTEXITCODE | 378 | `:""}exit $LASTEXITCODE |
379 | `,b}function fwt(t,e){return e.fs_.chmod(t,493)}function nj(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(ac.delimiter):Array.from(t),r={};for(let o=0;o<e.length;o++){let a=e[o].split("/").join("\\"),n=m1e()?e[o].split("\\").join("/").replace(/^([^:\\/]*):/,(u,A)=>`/mnt/${A.toLowerCase()}`):e[o];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[o]={win32:a,posix:n}}return r}E1e.exports=rj});var dj=U((sZt,_1e)=>{_1e.exports=Ie("stream")});var G1e=U((oZt,j1e)=>{"use strict";function H1e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function Fwt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?H1e(Object(r),!0).forEach(function(o){Rwt(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):H1e(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}function Rwt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Twt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function q1e(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function Nwt(t,e,r){return e&&q1e(t.prototype,e),r&&q1e(t,r),t}var Lwt=Ie("buffer"),Ek=Lwt.Buffer,Owt=Ie("util"),mj=Owt.inspect,Mwt=mj&&mj.custom||"inspect";function Uwt(t,e,r){Ek.prototype.copy.call(t,e,r)}j1e.exports=function(){function t(){Twt(this,t),this.head=null,this.tail=null,this.length=0}return Nwt(t,[{key:"push",value:function(r){var o={data:r,next:null};this.length>0?this.tail.next=o:this.head=o,this.tail=o,++this.length}},{key:"unshift",value:function(r){var o={data:r,next:this.head};this.length===0&&(this.tail=o),this.head=o,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var o=this.head,a=""+o.data;o=o.next;)a+=r+o.data;return a}},{key:"concat",value:function(r){if(this.length===0)return Ek.alloc(0);for(var o=Ek.allocUnsafe(r>>>0),a=this.head,n=0;a;)Uwt(a.data,o,n),n+=a.data.length,a=a.next;return o}},{key:"consume",value:function(r,o){var a;return r<this.head.data.length?(a=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?a=this.shift():a=o?this._getString(r):this._getBuffer(r),a}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(r){var o=this.head,a=1,n=o.data;for(r-=n.length;o=o.next;){var u=o.data,A=r>u.length?u.length:r;if(A===u.length?n+=u:n+=u.slice(0,r),r-=A,r===0){A===u.length?(++a,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(A));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var o=Ek.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(o),r-=a.data.length;a=a.next;){var u=a.data,A=r>u.length?u.length:r;if(u.copy(o,o.length-r,0,A),r-=A,r===0){A===u.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=u.slice(A));break}++n}return this.length-=n,o}},{key:Mwt,value:function(r,o){return mj(this,Fwt({},o,{depth:0,customInspect:!1}))}}]),t}()});var Ej=U((aZt,Y1e)=>{"use strict";function _wt(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(yj,this,t)):process.nextTick(yj,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(n){!e&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(Ck,r):(r._writableState.errorEmitted=!0,process.nextTick(W1e,r,n)):process.nextTick(W1e,r,n):e?(process.nextTick(Ck,r),e(n)):process.nextTick(Ck,r)}),this)}function W1e(t,e){yj(t,e),Ck(t)}function Ck(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function Hwt(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function yj(t,e){t.emit("error",e)}function qwt(t,e){var r=t._readableState,o=t._writableState;r&&r.autoDestroy||o&&o.autoDestroy?t.destroy(e):t.emit("error",e)}Y1e.exports={destroy:_wt,undestroy:Hwt,errorOrDestroy:qwt}});var Dh=U((lZt,V1e)=>{"use strict";var J1e={};function lc(t,e,r){r||(r=Error);function o(n,u,A){return typeof e=="string"?e:e(n,u,A)}class a extends r{constructor(u,A,p){super(o(u,A,p))}}a.prototype.name=r.name,a.prototype.code=t,J1e[t]=a}function K1e(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(o=>String(o)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function jwt(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function Gwt(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function Wwt(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}lc("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);lc("ERR_INVALID_ARG_TYPE",function(t,e,r){let o;typeof e=="string"&&jwt(e,"not ")?(o="must not be",e=e.replace(/^not /,"")):o="must be";let a;if(Gwt(t," argument"))a=`The ${t} ${o} ${K1e(e,"type")}`;else{let n=Wwt(t,".")?"property":"argument";a=`The "${t}" ${n} ${o} ${K1e(e,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);lc("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");lc("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});lc("ERR_STREAM_PREMATURE_CLOSE","Premature close");lc("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});lc("ERR_MULTIPLE_CALLBACK","Callback called multiple times");lc("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");lc("ERR_STREAM_WRITE_AFTER_END","write after end");lc("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);lc("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);lc("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");V1e.exports.codes=J1e});var Cj=U((cZt,z1e)=>{"use strict";var Ywt=Dh().codes.ERR_INVALID_OPT_VALUE;function Kwt(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function Jwt(t,e,r,o){var a=Kwt(e,o,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=o?r:"highWaterMark";throw new Ywt(n,a)}return Math.floor(a)}return t.objectMode?16:16*1024}z1e.exports={getHighWaterMark:Jwt}});var X1e=U((uZt,Ij)=>{typeof Object.create=="function"?Ij.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Ij.exports=function(e,r){if(r){e.super_=r;var o=function(){};o.prototype=r.prototype,e.prototype=new o,e.prototype.constructor=e}}});var Sh=U((AZt,Bj)=>{try{if(wj=Ie("util"),typeof wj.inherits!="function")throw"";Bj.exports=wj.inherits}catch{Bj.exports=X1e()}var wj});var $1e=U((fZt,Z1e)=>{Z1e.exports=Ie("util").deprecate});var Sj=U((pZt,s2e)=>{"use strict";s2e.exports=Qi;function t2e(t){var e=this;this.next=null,this.entry=null,this.finish=function(){I1t(e,t)}}var MC;Qi.WritableState=zB;var Vwt={deprecate:$1e()},r2e=dj(),wk=Ie("buffer").Buffer,zwt=global.Uint8Array||function(){};function Xwt(t){return wk.from(t)}function Zwt(t){return wk.isBuffer(t)||t instanceof zwt}var Dj=Ej(),$wt=Cj(),e1t=$wt.getHighWaterMark,Ph=Dh().codes,t1t=Ph.ERR_INVALID_ARG_TYPE,r1t=Ph.ERR_METHOD_NOT_IMPLEMENTED,n1t=Ph.ERR_MULTIPLE_CALLBACK,i1t=Ph.ERR_STREAM_CANNOT_PIPE,s1t=Ph.ERR_STREAM_DESTROYED,o1t=Ph.ERR_STREAM_NULL_VALUES,a1t=Ph.ERR_STREAM_WRITE_AFTER_END,l1t=Ph.ERR_UNKNOWN_ENCODING,UC=Dj.errorOrDestroy;Sh()(Qi,r2e);function c1t(){}function zB(t,e,r){MC=MC||mm(),t=t||{},typeof r!="boolean"&&(r=e instanceof MC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=e1t(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=t.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){d1t(e,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new t2e(this)}zB.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(zB.prototype,"buffer",{get:Vwt.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var Ik;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(Ik=Function.prototype[Symbol.hasInstance],Object.defineProperty(Qi,Symbol.hasInstance,{value:function(e){return Ik.call(this,e)?!0:this!==Qi?!1:e&&e._writableState instanceof zB}})):Ik=function(e){return e instanceof this};function Qi(t){MC=MC||mm();var e=this instanceof MC;if(!e&&!Ik.call(Qi,this))return new Qi(t);this._writableState=new zB(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),r2e.call(this)}Qi.prototype.pipe=function(){UC(this,new i1t)};function u1t(t,e){var r=new a1t;UC(t,r),process.nextTick(e,r)}function A1t(t,e,r,o){var a;return r===null?a=new o1t:typeof r!="string"&&!e.objectMode&&(a=new t1t("chunk",["string","Buffer"],r)),a?(UC(t,a),process.nextTick(o,a),!1):!0}Qi.prototype.write=function(t,e,r){var o=this._writableState,a=!1,n=!o.objectMode&&Zwt(t);return n&&!wk.isBuffer(t)&&(t=Xwt(t)),typeof e=="function"&&(r=e,e=null),n?e="buffer":e||(e=o.defaultEncoding),typeof r!="function"&&(r=c1t),o.ending?u1t(this,r):(n||A1t(this,o,t,r))&&(o.pendingcb++,a=p1t(this,o,n,t,e,r)),a};Qi.prototype.cork=function(){this._writableState.corked++};Qi.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&n2e(this,t))};Qi.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new l1t(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Qi.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function f1t(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=wk.from(e,r)),e}Object.defineProperty(Qi.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function p1t(t,e,r,o,a,n){if(!r){var u=f1t(e,o,a);o!==u&&(r=!0,a="buffer",o=u)}var A=e.objectMode?1:o.length;e.length+=A;var p=e.length<e.highWaterMark;if(p||(e.needDrain=!0),e.writing||e.corked){var h=e.lastBufferedRequest;e.lastBufferedRequest={chunk:o,encoding:a,isBuf:r,callback:n,next:null},h?h.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else vj(t,e,!1,A,o,a,n);return p}function vj(t,e,r,o,a,n,u){e.writelen=o,e.writecb=u,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new s1t("write")):r?t._writev(a,e.onwrite):t._write(a,n,e.onwrite),e.sync=!1}function h1t(t,e,r,o,a){--e.pendingcb,r?(process.nextTick(a,o),process.nextTick(VB,t,e),t._writableState.errorEmitted=!0,UC(t,o)):(a(o),t._writableState.errorEmitted=!0,UC(t,o),VB(t,e))}function g1t(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}function d1t(t,e){var r=t._writableState,o=r.sync,a=r.writecb;if(typeof a!="function")throw new n1t;if(g1t(r),e)h1t(t,r,o,e,a);else{var n=i2e(r)||t.destroyed;!n&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&n2e(t,r),o?process.nextTick(e2e,t,r,n,a):e2e(t,r,n,a)}}function e2e(t,e,r,o){r||m1t(t,e),e.pendingcb--,o(),VB(t,e)}function m1t(t,e){e.length===0&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}function n2e(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var o=e.bufferedRequestCount,a=new Array(o),n=e.corkedRequestsFree;n.entry=r;for(var u=0,A=!0;r;)a[u]=r,r.isBuf||(A=!1),r=r.next,u+=1;a.allBuffers=A,vj(t,e,!0,e.length,a,"",n.finish),e.pendingcb++,e.lastBufferedRequest=null,n.next?(e.corkedRequestsFree=n.next,n.next=null):e.corkedRequestsFree=new t2e(e),e.bufferedRequestCount=0}else{for(;r;){var p=r.chunk,h=r.encoding,C=r.callback,w=e.objectMode?1:p.length;if(vj(t,e,!1,w,p,h,C),r=r.next,e.bufferedRequestCount--,e.writing)break}r===null&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}Qi.prototype._write=function(t,e,r){r(new r1t("_write()"))};Qi.prototype._writev=null;Qi.prototype.end=function(t,e,r){var o=this._writableState;return typeof t=="function"?(r=t,t=null,e=null):typeof e=="function"&&(r=e,e=null),t!=null&&this.write(t,e),o.corked&&(o.corked=1,this.uncork()),o.ending||C1t(this,o,r),this};Object.defineProperty(Qi.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function i2e(t){return t.ending&&t.length===0&&t.bufferedRequest===null&&!t.finished&&!t.writing}function y1t(t,e){t._final(function(r){e.pendingcb--,r&&UC(t,r),e.prefinished=!0,t.emit("prefinish"),VB(t,e)})}function E1t(t,e){!e.prefinished&&!e.finalCalled&&(typeof t._final=="function"&&!e.destroyed?(e.pendingcb++,e.finalCalled=!0,process.nextTick(y1t,t,e)):(e.prefinished=!0,t.emit("prefinish")))}function VB(t,e){var r=i2e(e);if(r&&(E1t(t,e),e.pendingcb===0&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var o=t._readableState;(!o||o.autoDestroy&&o.endEmitted)&&t.destroy()}return r}function C1t(t,e,r){e.ending=!0,VB(t,e),r&&(e.finished?process.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}function I1t(t,e,r){var o=t.entry;for(t.entry=null;o;){var a=o.callback;e.pendingcb--,a(r),o=o.next}e.corkedRequestsFree.next=t}Object.defineProperty(Qi.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(e){!this._writableState||(this._writableState.destroyed=e)}});Qi.prototype.destroy=Dj.destroy;Qi.prototype._undestroy=Dj.undestroy;Qi.prototype._destroy=function(t,e){e(t)}});var mm=U((hZt,a2e)=>{"use strict";var w1t=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};a2e.exports=EA;var o2e=bj(),xj=Sj();Sh()(EA,o2e);for(Pj=w1t(xj.prototype),Bk=0;Bk<Pj.length;Bk++)vk=Pj[Bk],EA.prototype[vk]||(EA.prototype[vk]=xj.prototype[vk]);var Pj,vk,Bk;function EA(t){if(!(this instanceof EA))return new EA(t);o2e.call(this,t),xj.call(this,t),this.allowHalfOpen=!0,t&&(t.readable===!1&&(this.readable=!1),t.writable===!1&&(this.writable=!1),t.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",B1t)))}Object.defineProperty(EA.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(EA.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(EA.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function B1t(){this._writableState.ended||process.nextTick(v1t,this)}function v1t(t){t.end()}Object.defineProperty(EA.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(e){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=e,this._writableState.destroyed=e)}})});var u2e=U((Qj,c2e)=>{var Dk=Ie("buffer"),np=Dk.Buffer;function l2e(t,e){for(var r in t)e[r]=t[r]}np.from&&np.alloc&&np.allocUnsafe&&np.allocUnsafeSlow?c2e.exports=Dk:(l2e(Dk,Qj),Qj.Buffer=_C);function _C(t,e,r){return np(t,e,r)}l2e(np,_C);_C.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return np(t,e,r)};_C.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var o=np(t);return e!==void 0?typeof r=="string"?o.fill(e,r):o.fill(e):o.fill(0),o};_C.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return np(t)};_C.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Dk.SlowBuffer(t)}});var Rj=U(f2e=>{"use strict";var Fj=u2e().Buffer,A2e=Fj.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function D1t(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function S1t(t){var e=D1t(t);if(typeof e!="string"&&(Fj.isEncoding===A2e||!A2e(t)))throw new Error("Unknown encoding: "+t);return e||t}f2e.StringDecoder=XB;function XB(t){this.encoding=S1t(t);var e;switch(this.encoding){case"utf16le":this.text=F1t,this.end=R1t,e=4;break;case"utf8":this.fillLast=b1t,e=4;break;case"base64":this.text=T1t,this.end=N1t,e=3;break;default:this.write=L1t,this.end=O1t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Fj.allocUnsafe(e)}XB.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""};XB.prototype.end=k1t;XB.prototype.text=Q1t;XB.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};function kj(t){return t<=127?0:t>>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function P1t(t,e,r){var o=e.length-1;if(o<r)return 0;var a=kj(e[o]);return a>=0?(a>0&&(t.lastNeed=a-1),a):--o<r||a===-2?0:(a=kj(e[o]),a>=0?(a>0&&(t.lastNeed=a-2),a):--o<r||a===-2?0:(a=kj(e[o]),a>=0?(a>0&&(a===2?a=0:t.lastNeed=a-3),a):0))}function x1t(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}function b1t(t){var e=this.lastTotal-this.lastNeed,r=x1t(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function Q1t(t,e){var r=P1t(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var o=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,o),t.toString("utf8",e,o)}function k1t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function F1t(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var o=r.charCodeAt(r.length-1);if(o>=55296&&o<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function R1t(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function T1t(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function N1t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function L1t(t){return t.toString(this.encoding)}function O1t(t){return t&&t.length?this.write(t):""}});var Sk=U((dZt,g2e)=>{"use strict";var p2e=Dh().codes.ERR_STREAM_PREMATURE_CLOSE;function M1t(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];t.apply(this,o)}}}function U1t(){}function _1t(t){return t.setHeader&&typeof t.abort=="function"}function h2e(t,e,r){if(typeof e=="function")return h2e(t,null,e);e||(e={}),r=M1t(r||U1t);var o=e.readable||e.readable!==!1&&t.readable,a=e.writable||e.writable!==!1&&t.writable,n=function(){t.writable||A()},u=t._writableState&&t._writableState.finished,A=function(){a=!1,u=!0,o||r.call(t)},p=t._readableState&&t._readableState.endEmitted,h=function(){o=!1,p=!0,a||r.call(t)},C=function(E){r.call(t,E)},w=function(){var E;if(o&&!p)return(!t._readableState||!t._readableState.ended)&&(E=new p2e),r.call(t,E);if(a&&!u)return(!t._writableState||!t._writableState.ended)&&(E=new p2e),r.call(t,E)},v=function(){t.req.on("finish",A)};return _1t(t)?(t.on("complete",A),t.on("abort",w),t.req?v():t.on("request",v)):a&&!t._writableState&&(t.on("end",n),t.on("close",n)),t.on("end",h),t.on("finish",A),e.error!==!1&&t.on("error",C),t.on("close",w),function(){t.removeListener("complete",A),t.removeListener("abort",w),t.removeListener("request",v),t.req&&t.req.removeListener("finish",A),t.removeListener("end",n),t.removeListener("close",n),t.removeListener("finish",A),t.removeListener("end",h),t.removeListener("error",C),t.removeListener("close",w)}}g2e.exports=h2e});var m2e=U((mZt,d2e)=>{"use strict";var Pk;function xh(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var H1t=Sk(),bh=Symbol("lastResolve"),ym=Symbol("lastReject"),ZB=Symbol("error"),xk=Symbol("ended"),Em=Symbol("lastPromise"),Tj=Symbol("handlePromise"),Cm=Symbol("stream");function Qh(t,e){return{value:t,done:e}}function q1t(t){var e=t[bh];if(e!==null){var r=t[Cm].read();r!==null&&(t[Em]=null,t[bh]=null,t[ym]=null,e(Qh(r,!1)))}}function j1t(t){process.nextTick(q1t,t)}function G1t(t,e){return function(r,o){t.then(function(){if(e[xk]){r(Qh(void 0,!0));return}e[Tj](r,o)},o)}}var W1t=Object.getPrototypeOf(function(){}),Y1t=Object.setPrototypeOf((Pk={get stream(){return this[Cm]},next:function(){var e=this,r=this[ZB];if(r!==null)return Promise.reject(r);if(this[xk])return Promise.resolve(Qh(void 0,!0));if(this[Cm].destroyed)return new Promise(function(u,A){process.nextTick(function(){e[ZB]?A(e[ZB]):u(Qh(void 0,!0))})});var o=this[Em],a;if(o)a=new Promise(G1t(o,this));else{var n=this[Cm].read();if(n!==null)return Promise.resolve(Qh(n,!1));a=new Promise(this[Tj])}return this[Em]=a,a}},xh(Pk,Symbol.asyncIterator,function(){return this}),xh(Pk,"return",function(){var e=this;return new Promise(function(r,o){e[Cm].destroy(null,function(a){if(a){o(a);return}r(Qh(void 0,!0))})})}),Pk),W1t),K1t=function(e){var r,o=Object.create(Y1t,(r={},xh(r,Cm,{value:e,writable:!0}),xh(r,bh,{value:null,writable:!0}),xh(r,ym,{value:null,writable:!0}),xh(r,ZB,{value:null,writable:!0}),xh(r,xk,{value:e._readableState.endEmitted,writable:!0}),xh(r,Tj,{value:function(n,u){var A=o[Cm].read();A?(o[Em]=null,o[bh]=null,o[ym]=null,n(Qh(A,!1))):(o[bh]=n,o[ym]=u)},writable:!0}),r));return o[Em]=null,H1t(e,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=o[ym];n!==null&&(o[Em]=null,o[bh]=null,o[ym]=null,n(a)),o[ZB]=a;return}var u=o[bh];u!==null&&(o[Em]=null,o[bh]=null,o[ym]=null,u(Qh(void 0,!0))),o[xk]=!0}),e.on("readable",j1t.bind(null,o)),o};d2e.exports=K1t});var I2e=U((yZt,C2e)=>{"use strict";function y2e(t,e,r,o,a,n,u){try{var A=t[n](u),p=A.value}catch(h){r(h);return}A.done?e(p):Promise.resolve(p).then(o,a)}function J1t(t){return function(){var e=this,r=arguments;return new Promise(function(o,a){var n=t.apply(e,r);function u(p){y2e(n,o,a,u,A,"next",p)}function A(p){y2e(n,o,a,u,A,"throw",p)}u(void 0)})}}function E2e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function V1t(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?E2e(Object(r),!0).forEach(function(o){z1t(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):E2e(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}function z1t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var X1t=Dh().codes.ERR_INVALID_ARG_TYPE;function Z1t(t,e,r){var o;if(e&&typeof e.next=="function")o=e;else if(e&&e[Symbol.asyncIterator])o=e[Symbol.asyncIterator]();else if(e&&e[Symbol.iterator])o=e[Symbol.iterator]();else throw new X1t("iterable",["Iterable"],e);var a=new t(V1t({objectMode:!0},r)),n=!1;a._read=function(){n||(n=!0,u())};function u(){return A.apply(this,arguments)}function A(){return A=J1t(function*(){try{var p=yield o.next(),h=p.value,C=p.done;C?a.push(null):a.push(yield h)?u():n=!1}catch(w){a.destroy(w)}}),A.apply(this,arguments)}return a}C2e.exports=Z1t});var bj=U((CZt,k2e)=>{"use strict";k2e.exports=pn;var HC;pn.ReadableState=D2e;var EZt=Ie("events").EventEmitter,v2e=function(e,r){return e.listeners(r).length},ev=dj(),bk=Ie("buffer").Buffer,$1t=global.Uint8Array||function(){};function e2t(t){return bk.from(t)}function t2t(t){return bk.isBuffer(t)||t instanceof $1t}var Nj=Ie("util"),zr;Nj&&Nj.debuglog?zr=Nj.debuglog("stream"):zr=function(){};var r2t=G1e(),qj=Ej(),n2t=Cj(),i2t=n2t.getHighWaterMark,Qk=Dh().codes,s2t=Qk.ERR_INVALID_ARG_TYPE,o2t=Qk.ERR_STREAM_PUSH_AFTER_EOF,a2t=Qk.ERR_METHOD_NOT_IMPLEMENTED,l2t=Qk.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,qC,Lj,Oj;Sh()(pn,ev);var $B=qj.errorOrDestroy,Mj=["error","close","destroy","pause","resume"];function c2t(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function D2e(t,e,r){HC=HC||mm(),t=t||{},typeof r!="boolean"&&(r=e instanceof HC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=i2t(this,t,"readableHighWaterMark",r),this.buffer=new r2t,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(qC||(qC=Rj().StringDecoder),this.decoder=new qC(t.encoding),this.encoding=t.encoding)}function pn(t){if(HC=HC||mm(),!(this instanceof pn))return new pn(t);var e=this instanceof HC;this._readableState=new D2e(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),ev.call(this)}Object.defineProperty(pn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});pn.prototype.destroy=qj.destroy;pn.prototype._undestroy=qj.undestroy;pn.prototype._destroy=function(t,e){e(t)};pn.prototype.push=function(t,e){var r=this._readableState,o;return r.objectMode?o=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=bk.from(t,e),e=""),o=!0),S2e(this,t,e,!1,o)};pn.prototype.unshift=function(t){return S2e(this,t,null,!0,!1)};function S2e(t,e,r,o,a){zr("readableAddChunk",e);var n=t._readableState;if(e===null)n.reading=!1,f2t(t,n);else{var u;if(a||(u=u2t(n,e)),u)$B(t,u);else if(n.objectMode||e&&e.length>0)if(typeof e!="string"&&!n.objectMode&&Object.getPrototypeOf(e)!==bk.prototype&&(e=e2t(e)),o)n.endEmitted?$B(t,new l2t):Uj(t,n,e,!0);else if(n.ended)$B(t,new o2t);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(e=n.decoder.write(e),n.objectMode||e.length!==0?Uj(t,n,e,!1):Hj(t,n)):Uj(t,n,e,!1)}else o||(n.reading=!1,Hj(t,n))}return!n.ended&&(n.length<n.highWaterMark||n.length===0)}function Uj(t,e,r,o){e.flowing&&e.length===0&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,o?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&kk(t)),Hj(t,e)}function u2t(t,e){var r;return!t2t(e)&&typeof e!="string"&&e!==void 0&&!t.objectMode&&(r=new s2t("chunk",["string","Buffer","Uint8Array"],e)),r}pn.prototype.isPaused=function(){return this._readableState.flowing===!1};pn.prototype.setEncoding=function(t){qC||(qC=Rj().StringDecoder);var e=new qC(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,o="";r!==null;)o+=e.write(r.data),r=r.next;return this._readableState.buffer.clear(),o!==""&&this._readableState.buffer.push(o),this._readableState.length=o.length,this};var w2e=1073741824;function A2t(t){return t>=w2e?t=w2e:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function B2e(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=A2t(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}pn.prototype.read=function(t){zr("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return zr("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?_j(this):kk(this),null;if(t=B2e(t,e),t===0&&e.ended)return e.length===0&&_j(this),null;var o=e.needReadable;zr("need readable",o),(e.length===0||e.length-t<e.highWaterMark)&&(o=!0,zr("length less than watermark",o)),e.ended||e.reading?(o=!1,zr("reading or ended",o)):o&&(zr("do read"),e.reading=!0,e.sync=!0,e.length===0&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=B2e(r,e)));var a;return t>0?a=b2e(t,e):a=null,a===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&_j(this)),a!==null&&this.emit("data",a),a};function f2t(t,e){if(zr("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?kk(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,P2e(t)))}}function kk(t){var e=t._readableState;zr("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(zr("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(P2e,t))}function P2e(t){var e=t._readableState;zr("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,jj(t)}function Hj(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(p2t,t,e))}function p2t(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&e.length===0);){var r=e.length;if(zr("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}pn.prototype._read=function(t){$B(this,new a2t("_read()"))};pn.prototype.pipe=function(t,e){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t);break}o.pipesCount+=1,zr("pipe count=%d opts=%j",o.pipesCount,e);var a=(!e||e.end!==!1)&&t!==process.stdout&&t!==process.stderr,n=a?A:R;o.endEmitted?process.nextTick(n):r.once("end",n),t.on("unpipe",u);function u(L,_){zr("onunpipe"),L===r&&_&&_.hasUnpiped===!1&&(_.hasUnpiped=!0,C())}function A(){zr("onend"),t.end()}var p=h2t(r);t.on("drain",p);var h=!1;function C(){zr("cleanup"),t.removeListener("close",b),t.removeListener("finish",E),t.removeListener("drain",p),t.removeListener("error",v),t.removeListener("unpipe",u),r.removeListener("end",A),r.removeListener("end",R),r.removeListener("data",w),h=!0,o.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&p()}r.on("data",w);function w(L){zr("ondata");var _=t.write(L);zr("dest.write",_),_===!1&&((o.pipesCount===1&&o.pipes===t||o.pipesCount>1&&Q2e(o.pipes,t)!==-1)&&!h&&(zr("false write response, pause",o.awaitDrain),o.awaitDrain++),r.pause())}function v(L){zr("onerror",L),R(),t.removeListener("error",v),v2e(t,"error")===0&&$B(t,L)}c2t(t,"error",v);function b(){t.removeListener("finish",E),R()}t.once("close",b);function E(){zr("onfinish"),t.removeListener("close",b),R()}t.once("finish",E);function R(){zr("unpipe"),r.unpipe(t)}return t.emit("pipe",r),o.flowing||(zr("pipe resume"),r.resume()),t};function h2t(t){return function(){var r=t._readableState;zr("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&v2e(t,"data")&&(r.flowing=!0,jj(t))}}pn.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var o=e.pipes,a=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var n=0;n<a;n++)o[n].emit("unpipe",this,{hasUnpiped:!1});return this}var u=Q2e(e.pipes,t);return u===-1?this:(e.pipes.splice(u,1),e.pipesCount-=1,e.pipesCount===1&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r),this)};pn.prototype.on=function(t,e){var r=ev.prototype.on.call(this,t,e),o=this._readableState;return t==="data"?(o.readableListening=this.listenerCount("readable")>0,o.flowing!==!1&&this.resume()):t==="readable"&&!o.endEmitted&&!o.readableListening&&(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,zr("on readable",o.length,o.reading),o.length?kk(this):o.reading||process.nextTick(g2t,this)),r};pn.prototype.addListener=pn.prototype.on;pn.prototype.removeListener=function(t,e){var r=ev.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(x2e,this),r};pn.prototype.removeAllListeners=function(t){var e=ev.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(x2e,this),e};function x2e(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function g2t(t){zr("readable nexttick read 0"),t.read(0)}pn.prototype.resume=function(){var t=this._readableState;return t.flowing||(zr("resume"),t.flowing=!t.readableListening,d2t(this,t)),t.paused=!1,this};function d2t(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(m2t,t,e))}function m2t(t,e){zr("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),jj(t),e.flowing&&!e.reading&&t.read(0)}pn.prototype.pause=function(){return zr("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(zr("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function jj(t){var e=t._readableState;for(zr("flow",e.flowing);e.flowing&&t.read()!==null;);}pn.prototype.wrap=function(t){var e=this,r=this._readableState,o=!1;t.on("end",function(){if(zr("wrapped end"),r.decoder&&!r.ended){var u=r.decoder.end();u&&u.length&&e.push(u)}e.push(null)}),t.on("data",function(u){if(zr("wrapped data"),r.decoder&&(u=r.decoder.write(u)),!(r.objectMode&&u==null)&&!(!r.objectMode&&(!u||!u.length))){var A=e.push(u);A||(o=!0,t.pause())}});for(var a in t)this[a]===void 0&&typeof t[a]=="function"&&(this[a]=function(A){return function(){return t[A].apply(t,arguments)}}(a));for(var n=0;n<Mj.length;n++)t.on(Mj[n],this.emit.bind(this,Mj[n]));return this._read=function(u){zr("wrapped _read",u),o&&(o=!1,t.resume())},this};typeof Symbol=="function"&&(pn.prototype[Symbol.asyncIterator]=function(){return Lj===void 0&&(Lj=m2e()),Lj(this)});Object.defineProperty(pn.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(pn.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(pn.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});pn._fromList=b2e;Object.defineProperty(pn.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function b2e(t,e){if(e.length===0)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function _j(t){var e=t._readableState;zr("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(y2t,e,t))}function y2t(t,e){if(zr("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(pn.from=function(t,e){return Oj===void 0&&(Oj=I2e()),Oj(pn,t,e)});function Q2e(t,e){for(var r=0,o=t.length;r<o;r++)if(t[r]===e)return r;return-1}});var Gj=U((IZt,R2e)=>{"use strict";R2e.exports=ip;var Fk=Dh().codes,E2t=Fk.ERR_METHOD_NOT_IMPLEMENTED,C2t=Fk.ERR_MULTIPLE_CALLBACK,I2t=Fk.ERR_TRANSFORM_ALREADY_TRANSFORMING,w2t=Fk.ERR_TRANSFORM_WITH_LENGTH_0,Rk=mm();Sh()(ip,Rk);function B2t(t,e){var r=this._transformState;r.transforming=!1;var o=r.writecb;if(o===null)return this.emit("error",new C2t);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),o(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}function ip(t){if(!(this instanceof ip))return new ip(t);Rk.call(this,t),this._transformState={afterTransform:B2t.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&(typeof t.transform=="function"&&(this._transform=t.transform),typeof t.flush=="function"&&(this._flush=t.flush)),this.on("prefinish",v2t)}function v2t(){var t=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(e,r){F2e(t,e,r)}):F2e(this,null,null)}ip.prototype.push=function(t,e){return this._transformState.needTransform=!1,Rk.prototype.push.call(this,t,e)};ip.prototype._transform=function(t,e,r){r(new E2t("_transform()"))};ip.prototype._write=function(t,e,r){var o=this._transformState;if(o.writecb=r,o.writechunk=t,o.writeencoding=e,!o.transforming){var a=this._readableState;(o.needTransform||a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}};ip.prototype._read=function(t){var e=this._transformState;e.writechunk!==null&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0};ip.prototype._destroy=function(t,e){Rk.prototype._destroy.call(this,t,function(r){e(r)})};function F2e(t,e,r){if(e)return t.emit("error",e);if(r!=null&&t.push(r),t._writableState.length)throw new w2t;if(t._transformState.transforming)throw new I2t;return t.push(null)}});var L2e=U((wZt,N2e)=>{"use strict";N2e.exports=tv;var T2e=Gj();Sh()(tv,T2e);function tv(t){if(!(this instanceof tv))return new tv(t);T2e.call(this,t)}tv.prototype._transform=function(t,e,r){r(null,t)}});var H2e=U((BZt,_2e)=>{"use strict";var Wj;function D2t(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var U2e=Dh().codes,S2t=U2e.ERR_MISSING_ARGS,P2t=U2e.ERR_STREAM_DESTROYED;function O2e(t){if(t)throw t}function x2t(t){return t.setHeader&&typeof t.abort=="function"}function b2t(t,e,r,o){o=D2t(o);var a=!1;t.on("close",function(){a=!0}),Wj===void 0&&(Wj=Sk()),Wj(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,x2t(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();o(u||new P2t("pipe"))}}}function M2e(t){t()}function Q2t(t,e){return t.pipe(e)}function k2t(t){return!t.length||typeof t[t.length-1]!="function"?O2e:t.pop()}function F2t(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var o=k2t(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new S2t("streams");var a,n=e.map(function(u,A){var p=A<e.length-1,h=A>0;return b2t(u,p,h,function(C){a||(a=C),C&&n.forEach(M2e),!p&&(n.forEach(M2e),o(a))})});return e.reduce(Q2t)}_2e.exports=F2t});var jC=U((cc,nv)=>{var rv=Ie("stream");process.env.READABLE_STREAM==="disable"&&rv?(nv.exports=rv.Readable,Object.assign(nv.exports,rv),nv.exports.Stream=rv):(cc=nv.exports=bj(),cc.Stream=rv||cc,cc.Readable=cc,cc.Writable=Sj(),cc.Duplex=mm(),cc.Transform=Gj(),cc.PassThrough=L2e(),cc.finished=Sk(),cc.pipeline=H2e())});var G2e=U((vZt,j2e)=>{"use strict";var{Buffer:pu}=Ie("buffer"),q2e=Symbol.for("BufferList");function Xn(t){if(!(this instanceof Xn))return new Xn(t);Xn._init.call(this,t)}Xn._init=function(e){Object.defineProperty(this,q2e,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Xn.prototype._new=function(e){return new Xn(e)};Xn.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let o=0;o<this._bufs.length;o++){let a=r+this._bufs[o].length;if(e<a||o===this._bufs.length-1)return[o,e-r];r=a}};Xn.prototype._reverseOffset=function(t){let e=t[0],r=t[1];for(let o=0;o<e;o++)r+=this._bufs[o].length;return r};Xn.prototype.get=function(e){if(e>this.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Xn.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Xn.prototype.copy=function(e,r,o,a){if((typeof o!="number"||o<0)&&(o=0),(typeof a!="number"||a>this.length)&&(a=this.length),o>=this.length||a<=0)return e||pu.alloc(0);let n=!!e,u=this._offset(o),A=a-o,p=A,h=n&&r||0,C=u[1];if(o===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:pu.concat(this._bufs,this.length);for(let w=0;w<this._bufs.length;w++)this._bufs[w].copy(e,h),h+=this._bufs[w].length;return e}if(p<=this._bufs[u[0]].length-C)return n?this._bufs[u[0]].copy(e,r,C,C+p):this._bufs[u[0]].slice(C,C+p);n||(e=pu.allocUnsafe(A));for(let w=u[0];w<this._bufs.length;w++){let v=this._bufs[w].length-C;if(p>v)this._bufs[w].copy(e,h,C),h+=v;else{this._bufs[w].copy(e,h,C,C+p),h+=v;break}p-=v,C&&(C=0)}return e.length>h?e.slice(0,h):e};Xn.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let o=this._offset(e),a=this._offset(r),n=this._bufs.slice(o[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),o[1]!==0&&(n[0]=n[0].slice(o[1])),this._new(n)};Xn.prototype.toString=function(e,r,o){return this.slice(r,o).toString(e)};Xn.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Xn.prototype.duplicate=function(){let e=this._new();for(let r=0;r<this._bufs.length;r++)e.append(this._bufs[r]);return e};Xn.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(pu.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let r=0;r<e.length;r++)this.append(e[r]);else if(this._isBufferList(e))for(let r=0;r<e._bufs.length;r++)this.append(e._bufs[r]);else typeof e=="number"&&(e=e.toString()),this._appendBuffer(pu.from(e));return this};Xn.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};Xn.prototype.indexOf=function(t,e,r){if(r===void 0&&typeof e=="string"&&(r=e,e=void 0),typeof t=="function"||Array.isArray(t))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof t=="number"?t=pu.from([t]):typeof t=="string"?t=pu.from(t,r):this._isBufferList(t)?t=t.slice():Array.isArray(t.buffer)?t=pu.from(t.buffer,t.byteOffset,t.byteLength):pu.isBuffer(t)||(t=pu.from(t)),e=Number(e||0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=this._offset(e),a=o[0],n=o[1];for(;a<this._bufs.length;a++){let u=this._bufs[a];for(;n<u.length;)if(u.length-n>=t.length){let p=u.indexOf(t,n);if(p!==-1)return this._reverseOffset([a,p]);n=u.length-t.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,t))return p;n++}n=0}return-1};Xn.prototype._match=function(t,e){if(this.length-t<e.length)return!1;for(let r=0;r<e.length;r++)if(this.get(t+r)!==e[r])return!1;return!0};(function(){let t={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in t)(function(r){t[r]===null?Xn.prototype[r]=function(o,a){return this.slice(o,o+a)[r](0,a)}:Xn.prototype[r]=function(o=0){return this.slice(o,o+t[r])[r](0)}})(e)})();Xn.prototype._isBufferList=function(e){return e instanceof Xn||Xn.isBufferList(e)};Xn.isBufferList=function(e){return e!=null&&e[q2e]};j2e.exports=Xn});var W2e=U((DZt,Tk)=>{"use strict";var Yj=jC().Duplex,R2t=Sh(),iv=G2e();function No(t){if(!(this instanceof No))return new No(t);if(typeof t=="function"){this._callback=t;let e=function(o){this._callback&&(this._callback(o),this._callback=null)}.bind(this);this.on("pipe",function(o){o.on("error",e)}),this.on("unpipe",function(o){o.removeListener("error",e)}),t=null}iv._init.call(this,t),Yj.call(this)}R2t(No,Yj);Object.assign(No.prototype,iv.prototype);No.prototype._new=function(e){return new No(e)};No.prototype._write=function(e,r,o){this._appendBuffer(e),typeof o=="function"&&o()};No.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};No.prototype.end=function(e){Yj.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};No.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};No.prototype._isBufferList=function(e){return e instanceof No||e instanceof iv||No.isBufferList(e)};No.isBufferList=iv.isBufferList;Tk.exports=No;Tk.exports.BufferListStream=No;Tk.exports.BufferList=iv});var Vj=U(WC=>{var T2t=Buffer.alloc,N2t="0000000000000000000",L2t="7777777777777777777",Y2e="0".charCodeAt(0),K2e=Buffer.from("ustar\0","binary"),O2t=Buffer.from("00","binary"),M2t=Buffer.from("ustar ","binary"),U2t=Buffer.from(" \0","binary"),_2t=parseInt("7777",8),sv=257,Jj=263,H2t=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},q2t=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},j2t=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},J2e=function(t,e,r,o){for(;r<o;r++)if(t[r]===e)return r;return o},V2e=function(t){for(var e=256,r=0;r<148;r++)e+=t[r];for(var o=156;o<512;o++)e+=t[o];return e},kh=function(t,e){return t=t.toString(8),t.length>e?L2t.slice(0,e)+" ":N2t.slice(0,e-t.length)+t+" "};function G2t(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],o=t.length-1;o>0;o--){var a=t[o];e?r.push(a):r.push(255-a)}var n=0,u=r.length;for(o=0;o<u;o++)n+=r[o]*Math.pow(256,o);return e?n:-1*n}var Fh=function(t,e,r){if(t=t.slice(e,e+r),e=0,t[e]&128)return G2t(t);for(;e<t.length&&t[e]===32;)e++;for(var o=H2t(J2e(t,32,e,t.length),t.length,t.length);e<o&&t[e]===0;)e++;return o===e?0:parseInt(t.slice(e,o).toString(),8)},GC=function(t,e,r,o){return t.slice(e,J2e(t,0,e,e+r)).toString(o)},Kj=function(t){var e=Buffer.byteLength(t),r=Math.floor(Math.log(e)/Math.log(10))+1;return e+r>=Math.pow(10,r)&&r++,e+r+t};WC.decodeLongPath=function(t,e){return GC(t,0,t.length,e)};WC.encodePax=function(t){var e="";t.name&&(e+=Kj(" path="+t.name+` | 379 | `,b}function Swt(t,e){return e.fs_.chmod(t,493)}function cj(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(uc.delimiter):Array.from(t),r={};for(let o=0;o<e.length;o++){let a=e[o].split("/").join("\\"),n=x1e()?e[o].split("\\").join("/").replace(/^([^:\\/]*):/,(u,A)=>`/mnt/${A.toLowerCase()}`):e[o];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[o]={win32:a,posix:n}}return r}Q1e.exports=lj});var wj=U((AZt,X1e)=>{X1e.exports=Ie("stream")});var t2e=U((fZt,e2e)=>{"use strict";function Z1e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function Ywt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Z1e(Object(r),!0).forEach(function(o){Kwt(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Z1e(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}function Kwt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Vwt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function $1e(t,e){for(var r=0;r<e.length;r++){var o=e[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function Jwt(t,e,r){return e&&$1e(t.prototype,e),r&&$1e(t,r),t}var zwt=Ie("buffer"),Ik=zwt.Buffer,Xwt=Ie("util"),Bj=Xwt.inspect,Zwt=Bj&&Bj.custom||"inspect";function $wt(t,e,r){Ik.prototype.copy.call(t,e,r)}e2e.exports=function(){function t(){Vwt(this,t),this.head=null,this.tail=null,this.length=0}return Jwt(t,[{key:"push",value:function(r){var o={data:r,next:null};this.length>0?this.tail.next=o:this.head=o,this.tail=o,++this.length}},{key:"unshift",value:function(r){var o={data:r,next:this.head};this.length===0&&(this.tail=o),this.head=o,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var o=this.head,a=""+o.data;o=o.next;)a+=r+o.data;return a}},{key:"concat",value:function(r){if(this.length===0)return Ik.alloc(0);for(var o=Ik.allocUnsafe(r>>>0),a=this.head,n=0;a;)$wt(a.data,o,n),n+=a.data.length,a=a.next;return o}},{key:"consume",value:function(r,o){var a;return r<this.head.data.length?(a=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?a=this.shift():a=o?this._getString(r):this._getBuffer(r),a}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(r){var o=this.head,a=1,n=o.data;for(r-=n.length;o=o.next;){var u=o.data,A=r>u.length?u.length:r;if(A===u.length?n+=u:n+=u.slice(0,r),r-=A,r===0){A===u.length?(++a,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(A));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var o=Ik.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(o),r-=a.data.length;a=a.next;){var u=a.data,A=r>u.length?u.length:r;if(u.copy(o,o.length-r,0,A),r-=A,r===0){A===u.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=u.slice(A));break}++n}return this.length-=n,o}},{key:Zwt,value:function(r,o){return Bj(this,Ywt({},o,{depth:0,customInspect:!1}))}}]),t}()});var Dj=U((pZt,n2e)=>{"use strict";function e1t(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(vj,this,t)):process.nextTick(vj,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(n){!e&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(wk,r):(r._writableState.errorEmitted=!0,process.nextTick(r2e,r,n)):process.nextTick(r2e,r,n):e?(process.nextTick(wk,r),e(n)):process.nextTick(wk,r)}),this)}function r2e(t,e){vj(t,e),wk(t)}function wk(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function t1t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function vj(t,e){t.emit("error",e)}function r1t(t,e){var r=t._readableState,o=t._writableState;r&&r.autoDestroy||o&&o.autoDestroy?t.destroy(e):t.emit("error",e)}n2e.exports={destroy:e1t,undestroy:t1t,errorOrDestroy:r1t}});var xh=U((hZt,o2e)=>{"use strict";var s2e={};function Ac(t,e,r){r||(r=Error);function o(n,u,A){return typeof e=="string"?e:e(n,u,A)}class a extends r{constructor(u,A,p){super(o(u,A,p))}}a.prototype.name=r.name,a.prototype.code=t,s2e[t]=a}function i2e(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(o=>String(o)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function n1t(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function i1t(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function s1t(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Ac("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Ac("ERR_INVALID_ARG_TYPE",function(t,e,r){let o;typeof e=="string"&&n1t(e,"not ")?(o="must not be",e=e.replace(/^not /,"")):o="must be";let a;if(i1t(t," argument"))a=`The ${t} ${o} ${i2e(e,"type")}`;else{let n=s1t(t,".")?"property":"argument";a=`The "${t}" ${n} ${o} ${i2e(e,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);Ac("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ac("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Ac("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ac("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Ac("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ac("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ac("ERR_STREAM_WRITE_AFTER_END","write after end");Ac("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ac("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Ac("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");o2e.exports.codes=s2e});var Sj=U((gZt,a2e)=>{"use strict";var o1t=xh().codes.ERR_INVALID_OPT_VALUE;function a1t(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function l1t(t,e,r,o){var a=a1t(e,o,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=o?r:"highWaterMark";throw new o1t(n,a)}return Math.floor(a)}return t.objectMode?16:16*1024}a2e.exports={getHighWaterMark:l1t}});var l2e=U((dZt,Pj)=>{typeof Object.create=="function"?Pj.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Pj.exports=function(e,r){if(r){e.super_=r;var o=function(){};o.prototype=r.prototype,e.prototype=new o,e.prototype.constructor=e}}});var bh=U((mZt,bj)=>{try{if(xj=Ie("util"),typeof xj.inherits!="function")throw"";bj.exports=xj.inherits}catch{bj.exports=l2e()}var xj});var u2e=U((yZt,c2e)=>{c2e.exports=Ie("util").deprecate});var Fj=U((CZt,d2e)=>{"use strict";d2e.exports=Qi;function f2e(t){var e=this;this.next=null,this.entry=null,this.finish=function(){N1t(e,t)}}var qE;Qi.WritableState=nv;var c1t={deprecate:u2e()},p2e=wj(),vk=Ie("buffer").Buffer,u1t=global.Uint8Array||function(){};function A1t(t){return vk.from(t)}function f1t(t){return vk.isBuffer(t)||t instanceof u1t}var kj=Dj(),p1t=Sj(),h1t=p1t.getHighWaterMark,Qh=xh().codes,g1t=Qh.ERR_INVALID_ARG_TYPE,d1t=Qh.ERR_METHOD_NOT_IMPLEMENTED,m1t=Qh.ERR_MULTIPLE_CALLBACK,y1t=Qh.ERR_STREAM_CANNOT_PIPE,C1t=Qh.ERR_STREAM_DESTROYED,E1t=Qh.ERR_STREAM_NULL_VALUES,I1t=Qh.ERR_STREAM_WRITE_AFTER_END,w1t=Qh.ERR_UNKNOWN_ENCODING,jE=kj.errorOrDestroy;bh()(Qi,p2e);function B1t(){}function nv(t,e,r){qE=qE||Im(),t=t||{},typeof r!="boolean"&&(r=e instanceof qE),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=h1t(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=t.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){Q1t(e,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new f2e(this)}nv.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(nv.prototype,"buffer",{get:c1t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var Bk;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(Bk=Function.prototype[Symbol.hasInstance],Object.defineProperty(Qi,Symbol.hasInstance,{value:function(e){return Bk.call(this,e)?!0:this!==Qi?!1:e&&e._writableState instanceof nv}})):Bk=function(e){return e instanceof this};function Qi(t){qE=qE||Im();var e=this instanceof qE;if(!e&&!Bk.call(Qi,this))return new Qi(t);this._writableState=new nv(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),p2e.call(this)}Qi.prototype.pipe=function(){jE(this,new y1t)};function v1t(t,e){var r=new I1t;jE(t,r),process.nextTick(e,r)}function D1t(t,e,r,o){var a;return r===null?a=new E1t:typeof r!="string"&&!e.objectMode&&(a=new g1t("chunk",["string","Buffer"],r)),a?(jE(t,a),process.nextTick(o,a),!1):!0}Qi.prototype.write=function(t,e,r){var o=this._writableState,a=!1,n=!o.objectMode&&f1t(t);return n&&!vk.isBuffer(t)&&(t=A1t(t)),typeof e=="function"&&(r=e,e=null),n?e="buffer":e||(e=o.defaultEncoding),typeof r!="function"&&(r=B1t),o.ending?v1t(this,r):(n||D1t(this,o,t,r))&&(o.pendingcb++,a=P1t(this,o,n,t,e,r)),a};Qi.prototype.cork=function(){this._writableState.corked++};Qi.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&h2e(this,t))};Qi.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new w1t(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Qi.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function S1t(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=vk.from(e,r)),e}Object.defineProperty(Qi.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function P1t(t,e,r,o,a,n){if(!r){var u=S1t(e,o,a);o!==u&&(r=!0,a="buffer",o=u)}var A=e.objectMode?1:o.length;e.length+=A;var p=e.length<e.highWaterMark;if(p||(e.needDrain=!0),e.writing||e.corked){var h=e.lastBufferedRequest;e.lastBufferedRequest={chunk:o,encoding:a,isBuf:r,callback:n,next:null},h?h.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else Qj(t,e,!1,A,o,a,n);return p}function Qj(t,e,r,o,a,n,u){e.writelen=o,e.writecb=u,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new C1t("write")):r?t._writev(a,e.onwrite):t._write(a,n,e.onwrite),e.sync=!1}function x1t(t,e,r,o,a){--e.pendingcb,r?(process.nextTick(a,o),process.nextTick(rv,t,e),t._writableState.errorEmitted=!0,jE(t,o)):(a(o),t._writableState.errorEmitted=!0,jE(t,o),rv(t,e))}function b1t(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}function Q1t(t,e){var r=t._writableState,o=r.sync,a=r.writecb;if(typeof a!="function")throw new m1t;if(b1t(r),e)x1t(t,r,o,e,a);else{var n=g2e(r)||t.destroyed;!n&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&h2e(t,r),o?process.nextTick(A2e,t,r,n,a):A2e(t,r,n,a)}}function A2e(t,e,r,o){r||k1t(t,e),e.pendingcb--,o(),rv(t,e)}function k1t(t,e){e.length===0&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}function h2e(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var o=e.bufferedRequestCount,a=new Array(o),n=e.corkedRequestsFree;n.entry=r;for(var u=0,A=!0;r;)a[u]=r,r.isBuf||(A=!1),r=r.next,u+=1;a.allBuffers=A,Qj(t,e,!0,e.length,a,"",n.finish),e.pendingcb++,e.lastBufferedRequest=null,n.next?(e.corkedRequestsFree=n.next,n.next=null):e.corkedRequestsFree=new f2e(e),e.bufferedRequestCount=0}else{for(;r;){var p=r.chunk,h=r.encoding,E=r.callback,w=e.objectMode?1:p.length;if(Qj(t,e,!1,w,p,h,E),r=r.next,e.bufferedRequestCount--,e.writing)break}r===null&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}Qi.prototype._write=function(t,e,r){r(new d1t("_write()"))};Qi.prototype._writev=null;Qi.prototype.end=function(t,e,r){var o=this._writableState;return typeof t=="function"?(r=t,t=null,e=null):typeof e=="function"&&(r=e,e=null),t!=null&&this.write(t,e),o.corked&&(o.corked=1,this.uncork()),o.ending||T1t(this,o,r),this};Object.defineProperty(Qi.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function g2e(t){return t.ending&&t.length===0&&t.bufferedRequest===null&&!t.finished&&!t.writing}function F1t(t,e){t._final(function(r){e.pendingcb--,r&&jE(t,r),e.prefinished=!0,t.emit("prefinish"),rv(t,e)})}function R1t(t,e){!e.prefinished&&!e.finalCalled&&(typeof t._final=="function"&&!e.destroyed?(e.pendingcb++,e.finalCalled=!0,process.nextTick(F1t,t,e)):(e.prefinished=!0,t.emit("prefinish")))}function rv(t,e){var r=g2e(e);if(r&&(R1t(t,e),e.pendingcb===0&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var o=t._readableState;(!o||o.autoDestroy&&o.endEmitted)&&t.destroy()}return r}function T1t(t,e,r){e.ending=!0,rv(t,e),r&&(e.finished?process.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}function N1t(t,e,r){var o=t.entry;for(t.entry=null;o;){var a=o.callback;e.pendingcb--,a(r),o=o.next}e.corkedRequestsFree.next=t}Object.defineProperty(Qi.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(e){!this._writableState||(this._writableState.destroyed=e)}});Qi.prototype.destroy=kj.destroy;Qi.prototype._undestroy=kj.undestroy;Qi.prototype._destroy=function(t,e){e(t)}});var Im=U((EZt,y2e)=>{"use strict";var L1t=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};y2e.exports=IA;var m2e=Nj(),Tj=Fj();bh()(IA,m2e);for(Rj=L1t(Tj.prototype),Dk=0;Dk<Rj.length;Dk++)Sk=Rj[Dk],IA.prototype[Sk]||(IA.prototype[Sk]=Tj.prototype[Sk]);var Rj,Sk,Dk;function IA(t){if(!(this instanceof IA))return new IA(t);m2e.call(this,t),Tj.call(this,t),this.allowHalfOpen=!0,t&&(t.readable===!1&&(this.readable=!1),t.writable===!1&&(this.writable=!1),t.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",O1t)))}Object.defineProperty(IA.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(IA.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(IA.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function O1t(){this._writableState.ended||process.nextTick(M1t,this)}function M1t(t){t.end()}Object.defineProperty(IA.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(e){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=e,this._writableState.destroyed=e)}})});var I2e=U((Lj,E2e)=>{var Pk=Ie("buffer"),ip=Pk.Buffer;function C2e(t,e){for(var r in t)e[r]=t[r]}ip.from&&ip.alloc&&ip.allocUnsafe&&ip.allocUnsafeSlow?E2e.exports=Pk:(C2e(Pk,Lj),Lj.Buffer=GE);function GE(t,e,r){return ip(t,e,r)}C2e(ip,GE);GE.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return ip(t,e,r)};GE.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var o=ip(t);return e!==void 0?typeof r=="string"?o.fill(e,r):o.fill(e):o.fill(0),o};GE.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return ip(t)};GE.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Pk.SlowBuffer(t)}});var Uj=U(B2e=>{"use strict";var Mj=I2e().Buffer,w2e=Mj.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function U1t(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function _1t(t){var e=U1t(t);if(typeof e!="string"&&(Mj.isEncoding===w2e||!w2e(t)))throw new Error("Unknown encoding: "+t);return e||t}B2e.StringDecoder=iv;function iv(t){this.encoding=_1t(t);var e;switch(this.encoding){case"utf16le":this.text=Y1t,this.end=K1t,e=4;break;case"utf8":this.fillLast=j1t,e=4;break;case"base64":this.text=V1t,this.end=J1t,e=3;break;default:this.write=z1t,this.end=X1t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Mj.allocUnsafe(e)}iv.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""};iv.prototype.end=W1t;iv.prototype.text=G1t;iv.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};function Oj(t){return t<=127?0:t>>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function H1t(t,e,r){var o=e.length-1;if(o<r)return 0;var a=Oj(e[o]);return a>=0?(a>0&&(t.lastNeed=a-1),a):--o<r||a===-2?0:(a=Oj(e[o]),a>=0?(a>0&&(t.lastNeed=a-2),a):--o<r||a===-2?0:(a=Oj(e[o]),a>=0?(a>0&&(a===2?a=0:t.lastNeed=a-3),a):0))}function q1t(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}function j1t(t){var e=this.lastTotal-this.lastNeed,r=q1t(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function G1t(t,e){var r=H1t(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var o=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,o),t.toString("utf8",e,o)}function W1t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function Y1t(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var o=r.charCodeAt(r.length-1);if(o>=55296&&o<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function K1t(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function V1t(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function J1t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function z1t(t){return t.toString(this.encoding)}function X1t(t){return t&&t.length?this.write(t):""}});var xk=U((wZt,S2e)=>{"use strict";var v2e=xh().codes.ERR_STREAM_PREMATURE_CLOSE;function Z1t(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];t.apply(this,o)}}}function $1t(){}function e2t(t){return t.setHeader&&typeof t.abort=="function"}function D2e(t,e,r){if(typeof e=="function")return D2e(t,null,e);e||(e={}),r=Z1t(r||$1t);var o=e.readable||e.readable!==!1&&t.readable,a=e.writable||e.writable!==!1&&t.writable,n=function(){t.writable||A()},u=t._writableState&&t._writableState.finished,A=function(){a=!1,u=!0,o||r.call(t)},p=t._readableState&&t._readableState.endEmitted,h=function(){o=!1,p=!0,a||r.call(t)},E=function(C){r.call(t,C)},w=function(){var C;if(o&&!p)return(!t._readableState||!t._readableState.ended)&&(C=new v2e),r.call(t,C);if(a&&!u)return(!t._writableState||!t._writableState.ended)&&(C=new v2e),r.call(t,C)},v=function(){t.req.on("finish",A)};return e2t(t)?(t.on("complete",A),t.on("abort",w),t.req?v():t.on("request",v)):a&&!t._writableState&&(t.on("end",n),t.on("close",n)),t.on("end",h),t.on("finish",A),e.error!==!1&&t.on("error",E),t.on("close",w),function(){t.removeListener("complete",A),t.removeListener("abort",w),t.removeListener("request",v),t.req&&t.req.removeListener("finish",A),t.removeListener("end",n),t.removeListener("close",n),t.removeListener("finish",A),t.removeListener("end",h),t.removeListener("error",E),t.removeListener("close",w)}}S2e.exports=D2e});var x2e=U((BZt,P2e)=>{"use strict";var bk;function kh(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var t2t=xk(),Fh=Symbol("lastResolve"),wm=Symbol("lastReject"),sv=Symbol("error"),Qk=Symbol("ended"),Bm=Symbol("lastPromise"),_j=Symbol("handlePromise"),vm=Symbol("stream");function Rh(t,e){return{value:t,done:e}}function r2t(t){var e=t[Fh];if(e!==null){var r=t[vm].read();r!==null&&(t[Bm]=null,t[Fh]=null,t[wm]=null,e(Rh(r,!1)))}}function n2t(t){process.nextTick(r2t,t)}function i2t(t,e){return function(r,o){t.then(function(){if(e[Qk]){r(Rh(void 0,!0));return}e[_j](r,o)},o)}}var s2t=Object.getPrototypeOf(function(){}),o2t=Object.setPrototypeOf((bk={get stream(){return this[vm]},next:function(){var e=this,r=this[sv];if(r!==null)return Promise.reject(r);if(this[Qk])return Promise.resolve(Rh(void 0,!0));if(this[vm].destroyed)return new Promise(function(u,A){process.nextTick(function(){e[sv]?A(e[sv]):u(Rh(void 0,!0))})});var o=this[Bm],a;if(o)a=new Promise(i2t(o,this));else{var n=this[vm].read();if(n!==null)return Promise.resolve(Rh(n,!1));a=new Promise(this[_j])}return this[Bm]=a,a}},kh(bk,Symbol.asyncIterator,function(){return this}),kh(bk,"return",function(){var e=this;return new Promise(function(r,o){e[vm].destroy(null,function(a){if(a){o(a);return}r(Rh(void 0,!0))})})}),bk),s2t),a2t=function(e){var r,o=Object.create(o2t,(r={},kh(r,vm,{value:e,writable:!0}),kh(r,Fh,{value:null,writable:!0}),kh(r,wm,{value:null,writable:!0}),kh(r,sv,{value:null,writable:!0}),kh(r,Qk,{value:e._readableState.endEmitted,writable:!0}),kh(r,_j,{value:function(n,u){var A=o[vm].read();A?(o[Bm]=null,o[Fh]=null,o[wm]=null,n(Rh(A,!1))):(o[Fh]=n,o[wm]=u)},writable:!0}),r));return o[Bm]=null,t2t(e,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=o[wm];n!==null&&(o[Bm]=null,o[Fh]=null,o[wm]=null,n(a)),o[sv]=a;return}var u=o[Fh];u!==null&&(o[Bm]=null,o[Fh]=null,o[wm]=null,u(Rh(void 0,!0))),o[Qk]=!0}),e.on("readable",n2t.bind(null,o)),o};P2e.exports=a2t});var F2e=U((vZt,k2e)=>{"use strict";function b2e(t,e,r,o,a,n,u){try{var A=t[n](u),p=A.value}catch(h){r(h);return}A.done?e(p):Promise.resolve(p).then(o,a)}function l2t(t){return function(){var e=this,r=arguments;return new Promise(function(o,a){var n=t.apply(e,r);function u(p){b2e(n,o,a,u,A,"next",p)}function A(p){b2e(n,o,a,u,A,"throw",p)}u(void 0)})}}function Q2e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function c2t(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Q2e(Object(r),!0).forEach(function(o){u2t(t,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Q2e(Object(r)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(r,o))})}return t}function u2t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var A2t=xh().codes.ERR_INVALID_ARG_TYPE;function f2t(t,e,r){var o;if(e&&typeof e.next=="function")o=e;else if(e&&e[Symbol.asyncIterator])o=e[Symbol.asyncIterator]();else if(e&&e[Symbol.iterator])o=e[Symbol.iterator]();else throw new A2t("iterable",["Iterable"],e);var a=new t(c2t({objectMode:!0},r)),n=!1;a._read=function(){n||(n=!0,u())};function u(){return A.apply(this,arguments)}function A(){return A=l2t(function*(){try{var p=yield o.next(),h=p.value,E=p.done;E?a.push(null):a.push(yield h)?u():n=!1}catch(w){a.destroy(w)}}),A.apply(this,arguments)}return a}k2e.exports=f2t});var Nj=U((SZt,q2e)=>{"use strict";q2e.exports=pn;var WE;pn.ReadableState=L2e;var DZt=Ie("events").EventEmitter,N2e=function(e,r){return e.listeners(r).length},av=wj(),kk=Ie("buffer").Buffer,p2t=global.Uint8Array||function(){};function h2t(t){return kk.from(t)}function g2t(t){return kk.isBuffer(t)||t instanceof p2t}var Hj=Ie("util"),zr;Hj&&Hj.debuglog?zr=Hj.debuglog("stream"):zr=function(){};var d2t=t2e(),Vj=Dj(),m2t=Sj(),y2t=m2t.getHighWaterMark,Fk=xh().codes,C2t=Fk.ERR_INVALID_ARG_TYPE,E2t=Fk.ERR_STREAM_PUSH_AFTER_EOF,I2t=Fk.ERR_METHOD_NOT_IMPLEMENTED,w2t=Fk.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,YE,qj,jj;bh()(pn,av);var ov=Vj.errorOrDestroy,Gj=["error","close","destroy","pause","resume"];function B2t(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function L2e(t,e,r){WE=WE||Im(),t=t||{},typeof r!="boolean"&&(r=e instanceof WE),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=y2t(this,t,"readableHighWaterMark",r),this.buffer=new d2t,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(YE||(YE=Uj().StringDecoder),this.decoder=new YE(t.encoding),this.encoding=t.encoding)}function pn(t){if(WE=WE||Im(),!(this instanceof pn))return new pn(t);var e=this instanceof WE;this._readableState=new L2e(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),av.call(this)}Object.defineProperty(pn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});pn.prototype.destroy=Vj.destroy;pn.prototype._undestroy=Vj.undestroy;pn.prototype._destroy=function(t,e){e(t)};pn.prototype.push=function(t,e){var r=this._readableState,o;return r.objectMode?o=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=kk.from(t,e),e=""),o=!0),O2e(this,t,e,!1,o)};pn.prototype.unshift=function(t){return O2e(this,t,null,!0,!1)};function O2e(t,e,r,o,a){zr("readableAddChunk",e);var n=t._readableState;if(e===null)n.reading=!1,S2t(t,n);else{var u;if(a||(u=v2t(n,e)),u)ov(t,u);else if(n.objectMode||e&&e.length>0)if(typeof e!="string"&&!n.objectMode&&Object.getPrototypeOf(e)!==kk.prototype&&(e=h2t(e)),o)n.endEmitted?ov(t,new w2t):Wj(t,n,e,!0);else if(n.ended)ov(t,new E2t);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(e=n.decoder.write(e),n.objectMode||e.length!==0?Wj(t,n,e,!1):Kj(t,n)):Wj(t,n,e,!1)}else o||(n.reading=!1,Kj(t,n))}return!n.ended&&(n.length<n.highWaterMark||n.length===0)}function Wj(t,e,r,o){e.flowing&&e.length===0&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,o?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&Rk(t)),Kj(t,e)}function v2t(t,e){var r;return!g2t(e)&&typeof e!="string"&&e!==void 0&&!t.objectMode&&(r=new C2t("chunk",["string","Buffer","Uint8Array"],e)),r}pn.prototype.isPaused=function(){return this._readableState.flowing===!1};pn.prototype.setEncoding=function(t){YE||(YE=Uj().StringDecoder);var e=new YE(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,o="";r!==null;)o+=e.write(r.data),r=r.next;return this._readableState.buffer.clear(),o!==""&&this._readableState.buffer.push(o),this._readableState.length=o.length,this};var R2e=1073741824;function D2t(t){return t>=R2e?t=R2e:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function T2e(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=D2t(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}pn.prototype.read=function(t){zr("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return zr("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?Yj(this):Rk(this),null;if(t=T2e(t,e),t===0&&e.ended)return e.length===0&&Yj(this),null;var o=e.needReadable;zr("need readable",o),(e.length===0||e.length-t<e.highWaterMark)&&(o=!0,zr("length less than watermark",o)),e.ended||e.reading?(o=!1,zr("reading or ended",o)):o&&(zr("do read"),e.reading=!0,e.sync=!0,e.length===0&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=T2e(r,e)));var a;return t>0?a=_2e(t,e):a=null,a===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Yj(this)),a!==null&&this.emit("data",a),a};function S2t(t,e){if(zr("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?Rk(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,M2e(t)))}}function Rk(t){var e=t._readableState;zr("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(zr("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(M2e,t))}function M2e(t){var e=t._readableState;zr("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,Jj(t)}function Kj(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(P2t,t,e))}function P2t(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&e.length===0);){var r=e.length;if(zr("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}pn.prototype._read=function(t){ov(this,new I2t("_read()"))};pn.prototype.pipe=function(t,e){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t);break}o.pipesCount+=1,zr("pipe count=%d opts=%j",o.pipesCount,e);var a=(!e||e.end!==!1)&&t!==process.stdout&&t!==process.stderr,n=a?A:R;o.endEmitted?process.nextTick(n):r.once("end",n),t.on("unpipe",u);function u(L,_){zr("onunpipe"),L===r&&_&&_.hasUnpiped===!1&&(_.hasUnpiped=!0,E())}function A(){zr("onend"),t.end()}var p=x2t(r);t.on("drain",p);var h=!1;function E(){zr("cleanup"),t.removeListener("close",b),t.removeListener("finish",C),t.removeListener("drain",p),t.removeListener("error",v),t.removeListener("unpipe",u),r.removeListener("end",A),r.removeListener("end",R),r.removeListener("data",w),h=!0,o.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&p()}r.on("data",w);function w(L){zr("ondata");var _=t.write(L);zr("dest.write",_),_===!1&&((o.pipesCount===1&&o.pipes===t||o.pipesCount>1&&H2e(o.pipes,t)!==-1)&&!h&&(zr("false write response, pause",o.awaitDrain),o.awaitDrain++),r.pause())}function v(L){zr("onerror",L),R(),t.removeListener("error",v),N2e(t,"error")===0&&ov(t,L)}B2t(t,"error",v);function b(){t.removeListener("finish",C),R()}t.once("close",b);function C(){zr("onfinish"),t.removeListener("close",b),R()}t.once("finish",C);function R(){zr("unpipe"),r.unpipe(t)}return t.emit("pipe",r),o.flowing||(zr("pipe resume"),r.resume()),t};function x2t(t){return function(){var r=t._readableState;zr("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&N2e(t,"data")&&(r.flowing=!0,Jj(t))}}pn.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var o=e.pipes,a=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var n=0;n<a;n++)o[n].emit("unpipe",this,{hasUnpiped:!1});return this}var u=H2e(e.pipes,t);return u===-1?this:(e.pipes.splice(u,1),e.pipesCount-=1,e.pipesCount===1&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r),this)};pn.prototype.on=function(t,e){var r=av.prototype.on.call(this,t,e),o=this._readableState;return t==="data"?(o.readableListening=this.listenerCount("readable")>0,o.flowing!==!1&&this.resume()):t==="readable"&&!o.endEmitted&&!o.readableListening&&(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,zr("on readable",o.length,o.reading),o.length?Rk(this):o.reading||process.nextTick(b2t,this)),r};pn.prototype.addListener=pn.prototype.on;pn.prototype.removeListener=function(t,e){var r=av.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(U2e,this),r};pn.prototype.removeAllListeners=function(t){var e=av.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(U2e,this),e};function U2e(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function b2t(t){zr("readable nexttick read 0"),t.read(0)}pn.prototype.resume=function(){var t=this._readableState;return t.flowing||(zr("resume"),t.flowing=!t.readableListening,Q2t(this,t)),t.paused=!1,this};function Q2t(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(k2t,t,e))}function k2t(t,e){zr("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),Jj(t),e.flowing&&!e.reading&&t.read(0)}pn.prototype.pause=function(){return zr("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(zr("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Jj(t){var e=t._readableState;for(zr("flow",e.flowing);e.flowing&&t.read()!==null;);}pn.prototype.wrap=function(t){var e=this,r=this._readableState,o=!1;t.on("end",function(){if(zr("wrapped end"),r.decoder&&!r.ended){var u=r.decoder.end();u&&u.length&&e.push(u)}e.push(null)}),t.on("data",function(u){if(zr("wrapped data"),r.decoder&&(u=r.decoder.write(u)),!(r.objectMode&&u==null)&&!(!r.objectMode&&(!u||!u.length))){var A=e.push(u);A||(o=!0,t.pause())}});for(var a in t)this[a]===void 0&&typeof t[a]=="function"&&(this[a]=function(A){return function(){return t[A].apply(t,arguments)}}(a));for(var n=0;n<Gj.length;n++)t.on(Gj[n],this.emit.bind(this,Gj[n]));return this._read=function(u){zr("wrapped _read",u),o&&(o=!1,t.resume())},this};typeof Symbol=="function"&&(pn.prototype[Symbol.asyncIterator]=function(){return qj===void 0&&(qj=x2e()),qj(this)});Object.defineProperty(pn.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(pn.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(pn.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});pn._fromList=_2e;Object.defineProperty(pn.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function _2e(t,e){if(e.length===0)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function Yj(t){var e=t._readableState;zr("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(F2t,e,t))}function F2t(t,e){if(zr("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(pn.from=function(t,e){return jj===void 0&&(jj=F2e()),jj(pn,t,e)});function H2e(t,e){for(var r=0,o=t.length;r<o;r++)if(t[r]===e)return r;return-1}});var zj=U((PZt,G2e)=>{"use strict";G2e.exports=sp;var Tk=xh().codes,R2t=Tk.ERR_METHOD_NOT_IMPLEMENTED,T2t=Tk.ERR_MULTIPLE_CALLBACK,N2t=Tk.ERR_TRANSFORM_ALREADY_TRANSFORMING,L2t=Tk.ERR_TRANSFORM_WITH_LENGTH_0,Nk=Im();bh()(sp,Nk);function O2t(t,e){var r=this._transformState;r.transforming=!1;var o=r.writecb;if(o===null)return this.emit("error",new T2t);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),o(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}function sp(t){if(!(this instanceof sp))return new sp(t);Nk.call(this,t),this._transformState={afterTransform:O2t.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&(typeof t.transform=="function"&&(this._transform=t.transform),typeof t.flush=="function"&&(this._flush=t.flush)),this.on("prefinish",M2t)}function M2t(){var t=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(e,r){j2e(t,e,r)}):j2e(this,null,null)}sp.prototype.push=function(t,e){return this._transformState.needTransform=!1,Nk.prototype.push.call(this,t,e)};sp.prototype._transform=function(t,e,r){r(new R2t("_transform()"))};sp.prototype._write=function(t,e,r){var o=this._transformState;if(o.writecb=r,o.writechunk=t,o.writeencoding=e,!o.transforming){var a=this._readableState;(o.needTransform||a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}};sp.prototype._read=function(t){var e=this._transformState;e.writechunk!==null&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0};sp.prototype._destroy=function(t,e){Nk.prototype._destroy.call(this,t,function(r){e(r)})};function j2e(t,e,r){if(e)return t.emit("error",e);if(r!=null&&t.push(r),t._writableState.length)throw new L2t;if(t._transformState.transforming)throw new N2t;return t.push(null)}});var K2e=U((xZt,Y2e)=>{"use strict";Y2e.exports=lv;var W2e=zj();bh()(lv,W2e);function lv(t){if(!(this instanceof lv))return new lv(t);W2e.call(this,t)}lv.prototype._transform=function(t,e,r){r(null,t)}});var Z2e=U((bZt,X2e)=>{"use strict";var Xj;function U2t(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var z2e=xh().codes,_2t=z2e.ERR_MISSING_ARGS,H2t=z2e.ERR_STREAM_DESTROYED;function V2e(t){if(t)throw t}function q2t(t){return t.setHeader&&typeof t.abort=="function"}function j2t(t,e,r,o){o=U2t(o);var a=!1;t.on("close",function(){a=!0}),Xj===void 0&&(Xj=xk()),Xj(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,q2t(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();o(u||new H2t("pipe"))}}}function J2e(t){t()}function G2t(t,e){return t.pipe(e)}function W2t(t){return!t.length||typeof t[t.length-1]!="function"?V2e:t.pop()}function Y2t(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var o=W2t(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new _2t("streams");var a,n=e.map(function(u,A){var p=A<e.length-1,h=A>0;return j2t(u,p,h,function(E){a||(a=E),E&&n.forEach(J2e),!p&&(n.forEach(J2e),o(a))})});return e.reduce(G2t)}X2e.exports=Y2t});var KE=U((fc,uv)=>{var cv=Ie("stream");process.env.READABLE_STREAM==="disable"&&cv?(uv.exports=cv.Readable,Object.assign(uv.exports,cv),uv.exports.Stream=cv):(fc=uv.exports=Nj(),fc.Stream=cv||fc,fc.Readable=fc,fc.Writable=Fj(),fc.Duplex=Im(),fc.Transform=zj(),fc.PassThrough=K2e(),fc.finished=xk(),fc.pipeline=Z2e())});var tBe=U((QZt,eBe)=>{"use strict";var{Buffer:hu}=Ie("buffer"),$2e=Symbol.for("BufferList");function Zn(t){if(!(this instanceof Zn))return new Zn(t);Zn._init.call(this,t)}Zn._init=function(e){Object.defineProperty(this,$2e,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Zn.prototype._new=function(e){return new Zn(e)};Zn.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let o=0;o<this._bufs.length;o++){let a=r+this._bufs[o].length;if(e<a||o===this._bufs.length-1)return[o,e-r];r=a}};Zn.prototype._reverseOffset=function(t){let e=t[0],r=t[1];for(let o=0;o<e;o++)r+=this._bufs[o].length;return r};Zn.prototype.get=function(e){if(e>this.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Zn.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Zn.prototype.copy=function(e,r,o,a){if((typeof o!="number"||o<0)&&(o=0),(typeof a!="number"||a>this.length)&&(a=this.length),o>=this.length||a<=0)return e||hu.alloc(0);let n=!!e,u=this._offset(o),A=a-o,p=A,h=n&&r||0,E=u[1];if(o===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:hu.concat(this._bufs,this.length);for(let w=0;w<this._bufs.length;w++)this._bufs[w].copy(e,h),h+=this._bufs[w].length;return e}if(p<=this._bufs[u[0]].length-E)return n?this._bufs[u[0]].copy(e,r,E,E+p):this._bufs[u[0]].slice(E,E+p);n||(e=hu.allocUnsafe(A));for(let w=u[0];w<this._bufs.length;w++){let v=this._bufs[w].length-E;if(p>v)this._bufs[w].copy(e,h,E),h+=v;else{this._bufs[w].copy(e,h,E,E+p),h+=v;break}p-=v,E&&(E=0)}return e.length>h?e.slice(0,h):e};Zn.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let o=this._offset(e),a=this._offset(r),n=this._bufs.slice(o[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),o[1]!==0&&(n[0]=n[0].slice(o[1])),this._new(n)};Zn.prototype.toString=function(e,r,o){return this.slice(r,o).toString(e)};Zn.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Zn.prototype.duplicate=function(){let e=this._new();for(let r=0;r<this._bufs.length;r++)e.append(this._bufs[r]);return e};Zn.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(hu.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let r=0;r<e.length;r++)this.append(e[r]);else if(this._isBufferList(e))for(let r=0;r<e._bufs.length;r++)this.append(e._bufs[r]);else typeof e=="number"&&(e=e.toString()),this._appendBuffer(hu.from(e));return this};Zn.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};Zn.prototype.indexOf=function(t,e,r){if(r===void 0&&typeof e=="string"&&(r=e,e=void 0),typeof t=="function"||Array.isArray(t))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof t=="number"?t=hu.from([t]):typeof t=="string"?t=hu.from(t,r):this._isBufferList(t)?t=t.slice():Array.isArray(t.buffer)?t=hu.from(t.buffer,t.byteOffset,t.byteLength):hu.isBuffer(t)||(t=hu.from(t)),e=Number(e||0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=this._offset(e),a=o[0],n=o[1];for(;a<this._bufs.length;a++){let u=this._bufs[a];for(;n<u.length;)if(u.length-n>=t.length){let p=u.indexOf(t,n);if(p!==-1)return this._reverseOffset([a,p]);n=u.length-t.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,t))return p;n++}n=0}return-1};Zn.prototype._match=function(t,e){if(this.length-t<e.length)return!1;for(let r=0;r<e.length;r++)if(this.get(t+r)!==e[r])return!1;return!0};(function(){let t={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in t)(function(r){t[r]===null?Zn.prototype[r]=function(o,a){return this.slice(o,o+a)[r](0,a)}:Zn.prototype[r]=function(o=0){return this.slice(o,o+t[r])[r](0)}})(e)})();Zn.prototype._isBufferList=function(e){return e instanceof Zn||Zn.isBufferList(e)};Zn.isBufferList=function(e){return e!=null&&e[$2e]};eBe.exports=Zn});var rBe=U((kZt,Lk)=>{"use strict";var Zj=KE().Duplex,K2t=bh(),Av=tBe();function Lo(t){if(!(this instanceof Lo))return new Lo(t);if(typeof t=="function"){this._callback=t;let e=function(o){this._callback&&(this._callback(o),this._callback=null)}.bind(this);this.on("pipe",function(o){o.on("error",e)}),this.on("unpipe",function(o){o.removeListener("error",e)}),t=null}Av._init.call(this,t),Zj.call(this)}K2t(Lo,Zj);Object.assign(Lo.prototype,Av.prototype);Lo.prototype._new=function(e){return new Lo(e)};Lo.prototype._write=function(e,r,o){this._appendBuffer(e),typeof o=="function"&&o()};Lo.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Lo.prototype.end=function(e){Zj.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Lo.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Lo.prototype._isBufferList=function(e){return e instanceof Lo||e instanceof Av||Lo.isBufferList(e)};Lo.isBufferList=Av.isBufferList;Lk.exports=Lo;Lk.exports.BufferListStream=Lo;Lk.exports.BufferList=Av});var tG=U(JE=>{var V2t=Buffer.alloc,J2t="0000000000000000000",z2t="7777777777777777777",nBe="0".charCodeAt(0),iBe=Buffer.from("ustar\0","binary"),X2t=Buffer.from("00","binary"),Z2t=Buffer.from("ustar ","binary"),$2t=Buffer.from(" \0","binary"),eBt=parseInt("7777",8),fv=257,eG=263,tBt=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},rBt=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},nBt=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},sBe=function(t,e,r,o){for(;r<o;r++)if(t[r]===e)return r;return o},oBe=function(t){for(var e=256,r=0;r<148;r++)e+=t[r];for(var o=156;o<512;o++)e+=t[o];return e},Th=function(t,e){return t=t.toString(8),t.length>e?z2t.slice(0,e)+" ":J2t.slice(0,e-t.length)+t+" "};function iBt(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],o=t.length-1;o>0;o--){var a=t[o];e?r.push(a):r.push(255-a)}var n=0,u=r.length;for(o=0;o<u;o++)n+=r[o]*Math.pow(256,o);return e?n:-1*n}var Nh=function(t,e,r){if(t=t.slice(e,e+r),e=0,t[e]&128)return iBt(t);for(;e<t.length&&t[e]===32;)e++;for(var o=tBt(sBe(t,32,e,t.length),t.length,t.length);e<o&&t[e]===0;)e++;return o===e?0:parseInt(t.slice(e,o).toString(),8)},VE=function(t,e,r,o){return t.slice(e,sBe(t,0,e,e+r)).toString(o)},$j=function(t){var e=Buffer.byteLength(t),r=Math.floor(Math.log(e)/Math.log(10))+1;return e+r>=Math.pow(10,r)&&r++,e+r+t};JE.decodeLongPath=function(t,e){return VE(t,0,t.length,e)};JE.encodePax=function(t){var e="";t.name&&(e+=$j(" path="+t.name+` |
380 | `)),t.linkname&&(e+=Kj(" linkpath="+t.linkname+` | 380 | `)),t.linkname&&(e+=$j(" linkpath="+t.linkname+` |
381 | `));var r=t.pax;if(r)for(var o in r)e+=Kj(" "+o+"="+r[o]+` | 381 | `));var r=t.pax;if(r)for(var o in r)e+=$j(" "+o+"="+r[o]+` |
382 | `);return Buffer.from(e)};WC.decodePax=function(t){for(var e={};t.length;){for(var r=0;r<t.length&&t[r]!==32;)r++;var o=parseInt(t.slice(0,r).toString(),10);if(!o)return e;var a=t.slice(r+1,o-1).toString(),n=a.indexOf("=");if(n===-1)return e;e[a.slice(0,n)]=a.slice(n+1),t=t.slice(o)}return e};WC.encode=function(t){var e=T2t(512),r=t.name,o="";if(t.typeflag===5&&r[r.length-1]!=="/"&&(r+="/"),Buffer.byteLength(r)!==r.length)return null;for(;Buffer.byteLength(r)>100;){var a=r.indexOf("/");if(a===-1)return null;o+=o?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(o)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(kh(t.mode&_2t,6),100),e.write(kh(t.uid,6),108),e.write(kh(t.gid,6),116),e.write(kh(t.size,11),124),e.write(kh(t.mtime.getTime()/1e3|0,11),136),e[156]=Y2e+j2t(t.type),t.linkname&&e.write(t.linkname,157),K2e.copy(e,sv),O2t.copy(e,Jj),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(kh(t.devmajor||0,6),329),e.write(kh(t.devminor||0,6),337),o&&e.write(o,345),e.write(kh(V2e(e),6),148),e)};WC.decode=function(t,e,r){var o=t[156]===0?0:t[156]-Y2e,a=GC(t,0,100,e),n=Fh(t,100,8),u=Fh(t,108,8),A=Fh(t,116,8),p=Fh(t,124,12),h=Fh(t,136,12),C=q2t(o),w=t[157]===0?null:GC(t,157,100,e),v=GC(t,265,32),b=GC(t,297,32),E=Fh(t,329,8),R=Fh(t,337,8),L=V2e(t);if(L===8*32)return null;if(L!==Fh(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(K2e.compare(t,sv,sv+6)===0)t[345]&&(a=GC(t,345,155,e)+"/"+a);else if(!(M2t.compare(t,sv,sv+6)===0&&U2t.compare(t,Jj,Jj+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return o===0&&a&&a[a.length-1]==="/"&&(o=5),{name:a,mode:n,uid:u,gid:A,size:p,mtime:new Date(1e3*h),type:C,linkname:w,uname:v,gname:b,devmajor:E,devminor:R}}});var rBe=U((PZt,tBe)=>{var X2e=Ie("util"),W2t=W2e(),ov=Vj(),Z2e=jC().Writable,$2e=jC().PassThrough,eBe=function(){},z2e=function(t){return t&=511,t&&512-t},Y2t=function(t,e){var r=new Nk(t,e);return r.end(),r},K2t=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},Nk=function(t,e){this._parent=t,this.offset=e,$2e.call(this,{autoDestroy:!1})};X2e.inherits(Nk,$2e);Nk.prototype.destroy=function(t){this._parent.destroy(t)};var sp=function(t){if(!(this instanceof sp))return new sp(t);Z2e.call(this,t),t=t||{},this._offset=0,this._buffer=W2t(),this._missing=0,this._partial=!1,this._onparse=eBe,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,o=function(){e._continue()},a=function(v){if(e._locked=!1,v)return e.destroy(v);e._stream||o()},n=function(){e._stream=null;var v=z2e(e._header.size);v?e._parse(v,u):e._parse(512,w),e._locked||o()},u=function(){e._buffer.consume(z2e(e._header.size)),e._parse(512,w),o()},A=function(){var v=e._header.size;e._paxGlobal=ov.decodePax(r.slice(0,v)),r.consume(v),n()},p=function(){var v=e._header.size;e._pax=ov.decodePax(r.slice(0,v)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(v),n()},h=function(){var v=e._header.size;this._gnuLongPath=ov.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},C=function(){var v=e._header.size;this._gnuLongLinkPath=ov.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},w=function(){var v=e._offset,b;try{b=e._header=ov.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(E){e.emit("error",E)}if(r.consume(512),!b){e._parse(512,w),o();return}if(b.type==="gnu-long-path"){e._parse(b.size,h),o();return}if(b.type==="gnu-long-link-path"){e._parse(b.size,C),o();return}if(b.type==="pax-global-header"){e._parse(b.size,A),o();return}if(b.type==="pax-header"){e._parse(b.size,p),o();return}if(e._gnuLongPath&&(b.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(b.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=b=K2t(b,e._pax),e._pax=null),e._locked=!0,!b.size||b.type==="directory"){e._parse(512,w),e.emit("entry",b,Y2t(e,v),a);return}e._stream=new Nk(e,v),e.emit("entry",b,e._stream,a),e._parse(b.size,n),o()};this._onheader=w,this._parse(512,w)};X2e.inherits(sp,Z2e);sp.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};sp.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};sp.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=eBe,this._overflow?this._write(this._overflow,void 0,t):t()}};sp.prototype._write=function(t,e,r){if(!this._destroyed){var o=this._stream,a=this._buffer,n=this._missing;if(t.length&&(this._partial=!0),t.length<n)return this._missing-=t.length,this._overflow=null,o?o.write(t,r):(a.append(t),r());this._cb=r,this._missing=0;var u=null;t.length>n&&(u=t.slice(n),t=t.slice(0,n)),o?o.end(t):a.append(t),this._overflow=u,this._onparse()}};sp.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};tBe.exports=sp});var iBe=U((xZt,nBe)=>{nBe.exports=Ie("fs").constants||Ie("constants")});var cBe=U((bZt,lBe)=>{var YC=iBe(),sBe=GM(),Ok=Sh(),J2t=Buffer.alloc,oBe=jC().Readable,KC=jC().Writable,V2t=Ie("string_decoder").StringDecoder,Lk=Vj(),z2t=parseInt("755",8),X2t=parseInt("644",8),aBe=J2t(1024),Xj=function(){},zj=function(t,e){e&=511,e&&t.push(aBe.slice(0,512-e))};function Z2t(t){switch(t&YC.S_IFMT){case YC.S_IFBLK:return"block-device";case YC.S_IFCHR:return"character-device";case YC.S_IFDIR:return"directory";case YC.S_IFIFO:return"fifo";case YC.S_IFLNK:return"symlink"}return"file"}var Mk=function(t){KC.call(this),this.written=0,this._to=t,this._destroyed=!1};Ok(Mk,KC);Mk.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};Mk.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Uk=function(){KC.call(this),this.linkname="",this._decoder=new V2t("utf-8"),this._destroyed=!1};Ok(Uk,KC);Uk.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};Uk.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var av=function(){KC.call(this),this._destroyed=!1};Ok(av,KC);av.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};av.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var CA=function(t){if(!(this instanceof CA))return new CA(t);oBe.call(this,t),this._drain=Xj,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Ok(CA,oBe);CA.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=Xj);var o=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=Z2t(t.mode)),t.mode||(t.mode=t.type==="directory"?z2t:X2t),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var a=this.push(e);return zj(o,t.size),a?process.nextTick(r):this._drain=r,new av}if(t.type==="symlink"&&!t.linkname){var n=new Uk;return sBe(n,function(A){if(A)return o.destroy(),r(A);t.linkname=n.linkname,o._encode(t),r()}),n}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new av;var u=new Mk(this);return this._stream=u,sBe(u,function(A){if(o._stream=null,A)return o.destroy(),r(A);if(u.written!==t.size)return o.destroy(),r(new Error("size mismatch"));zj(o,t.size),o._finalizing&&o.finalize(),r()}),u}};CA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(aBe),this.push(null))};CA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};CA.prototype._encode=function(t){if(!t.pax){var e=Lk.encode(t);if(e){this.push(e);return}}this._encodePax(t)};CA.prototype._encodePax=function(t){var e=Lk.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(Lk.encode(r)),this.push(e),zj(this,e.length),r.size=t.size,r.type=t.type,this.push(Lk.encode(r))};CA.prototype._read=function(t){var e=this._drain;this._drain=Xj,e()};lBe.exports=CA});var uBe=U(Zj=>{Zj.extract=rBe();Zj.pack=cBe()});var wBe=U((XZt,IBe)=>{"use strict";var Im=class{constructor(e,r,o){this.__specs=e||{},Object.keys(this.__specs).forEach(a=>{if(typeof this.__specs[a]=="string"){let n=this.__specs[a],u=this.__specs[n];if(u){let A=u.aliases||[];A.push(a,n),u.aliases=[...new Set(A)],this.__specs[a]=u}else throw new Error(`Alias refers to invalid key: ${n} -> ${a}`)}}),this.__opts=r||{},this.__providers=EBe(o.filter(a=>a!=null&&typeof a=="object")),this.__isFiggyPudding=!0}get(e){return i9(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[o,a]of this.entries())e.call(r,a,o,this)}toJSON(){let e={};return this.forEach((r,o)=>{e[o]=r}),e}*entries(e){for(let o of Object.keys(this.__specs))yield[o,this.get(o)];let r=e||this.__opts.other;if(r){let o=new Set;for(let a of this.__providers){let n=a.entries?a.entries(r):pBt(a);for(let[u,A]of n)r(u)&&!o.has(u)&&(o.add(u),yield[u,A])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Im(this.__specs,this.__opts,EBe(this.__providers).concat(e)),CBe)}};try{let t=Ie("util");Im.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch{}function ABt(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function i9(t,e,r){let o=t.__specs[e];if(r&&!o&&(!t.__opts.other||!t.__opts.other(e)))ABt(e);else{o||(o={});let a;for(let n of t.__providers){if(a=yBe(e,n),a===void 0&&o.aliases&&o.aliases.length){for(let u of o.aliases)if(u!==e&&(a=yBe(u,n),a!==void 0))break}if(a!==void 0)break}return a===void 0&&o.default!==void 0?typeof o.default=="function"?o.default(t):o.default:a}}function yBe(t,e){let r;return e.__isFiggyPudding?r=i9(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var CBe={has(t,e){return e in t.__specs&&i9(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Im.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};IBe.exports=fBt;function fBt(t,e){function r(...o){return new Proxy(new Im(t,e,o),CBe)}return r}function EBe(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function pBt(t){return Object.keys(t).map(e=>[e,t[e]])}});var DBe=U((ZZt,BA)=>{"use strict";var cv=Ie("crypto"),hBt=wBe(),gBt=Ie("stream").Transform,BBe=["sha256","sha384","sha512"],dBt=/^[a-z0-9+/]+(?:=?=?)$/i,mBt=/^([^-]+)-([^?]+)([?\S*]*)$/,yBt=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,EBt=/^[\x21-\x7E]+$/,ea=hBt({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>PBt},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Th=class{get isHash(){return!0}constructor(e,r){r=ea(r);let o=!!r.strict;this.source=e.trim();let a=this.source.match(o?yBt:mBt);if(!a||o&&!BBe.some(u=>u===a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=ea(e),e.strict&&!(BBe.some(o=>o===this.algorithm)&&this.digest.match(dBt)&&(this.options||[]).every(o=>o.match(EBt))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},wm=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=ea(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(o=>this[o].map(a=>Th.prototype.toString.call(a,e)).filter(a=>a.length).join(r)).filter(o=>o.length).join(r)}concat(e,r){r=ea(r);let o=typeof e=="string"?e:lv(e,r);return wA(`${this.toString(r)} ${o}`,r)}hexDigest(){return wA(this,{single:!0}).hexDigest()}match(e,r){r=ea(r);let o=wA(e,r),a=o.pickAlgorithm(r);return this[a]&&o[a]&&this[a].find(n=>o[a].find(u=>n.digest===u.digest))||!1}pickAlgorithm(e){e=ea(e);let r=e.pickAlgorithm,o=Object.keys(this);if(!o.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return o.reduce((a,n)=>r(a,n)||a)}};BA.exports.parse=wA;function wA(t,e){if(e=ea(e),typeof t=="string")return s9(t,e);if(t.algorithm&&t.digest){let r=new wm;return r[t.algorithm]=[t],s9(lv(r,e),e)}else return s9(lv(t,e),e)}function s9(t,e){return e.single?new Th(t,e):t.trim().split(/\s+/).reduce((r,o)=>{let a=new Th(o,e);if(a.algorithm&&a.digest){let n=a.algorithm;r[n]||(r[n]=[]),r[n].push(a)}return r},new wm)}BA.exports.stringify=lv;function lv(t,e){return e=ea(e),t.algorithm&&t.digest?Th.prototype.toString.call(t,e):typeof t=="string"?lv(wA(t,e),e):wm.prototype.toString.call(t,e)}BA.exports.fromHex=CBt;function CBt(t,e,r){r=ea(r);let o=r.options&&r.options.length?`?${r.options.join("?")}`:"";return wA(`${e}-${Buffer.from(t,"hex").toString("base64")}${o}`,r)}BA.exports.fromData=IBt;function IBt(t,e){e=ea(e);let r=e.algorithms,o=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((a,n)=>{let u=cv.createHash(n).update(t).digest("base64"),A=new Th(`${n}-${u}${o}`,e);if(A.algorithm&&A.digest){let p=A.algorithm;a[p]||(a[p]=[]),a[p].push(A)}return a},new wm)}BA.exports.fromStream=wBt;function wBt(t,e){e=ea(e);let r=e.Promise||Promise,o=o9(e);return new r((a,n)=>{t.pipe(o),t.on("error",n),o.on("error",n);let u;o.on("integrity",A=>{u=A}),o.on("end",()=>a(u)),o.on("data",()=>{})})}BA.exports.checkData=BBt;function BBt(t,e,r){if(r=ea(r),e=wA(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let o=e.pickAlgorithm(r),a=cv.createHash(o).update(t).digest("base64"),n=wA({algorithm:o,digest:a}),u=n.match(e,r);if(u||!r.error)return u;if(typeof r.size=="number"&&t.length!==r.size){let A=new Error(`data size mismatch when checking ${e}. | 382 | `);return Buffer.from(e)};JE.decodePax=function(t){for(var e={};t.length;){for(var r=0;r<t.length&&t[r]!==32;)r++;var o=parseInt(t.slice(0,r).toString(),10);if(!o)return e;var a=t.slice(r+1,o-1).toString(),n=a.indexOf("=");if(n===-1)return e;e[a.slice(0,n)]=a.slice(n+1),t=t.slice(o)}return e};JE.encode=function(t){var e=V2t(512),r=t.name,o="";if(t.typeflag===5&&r[r.length-1]!=="/"&&(r+="/"),Buffer.byteLength(r)!==r.length)return null;for(;Buffer.byteLength(r)>100;){var a=r.indexOf("/");if(a===-1)return null;o+=o?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(o)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(Th(t.mode&eBt,6),100),e.write(Th(t.uid,6),108),e.write(Th(t.gid,6),116),e.write(Th(t.size,11),124),e.write(Th(t.mtime.getTime()/1e3|0,11),136),e[156]=nBe+nBt(t.type),t.linkname&&e.write(t.linkname,157),iBe.copy(e,fv),X2t.copy(e,eG),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(Th(t.devmajor||0,6),329),e.write(Th(t.devminor||0,6),337),o&&e.write(o,345),e.write(Th(oBe(e),6),148),e)};JE.decode=function(t,e,r){var o=t[156]===0?0:t[156]-nBe,a=VE(t,0,100,e),n=Nh(t,100,8),u=Nh(t,108,8),A=Nh(t,116,8),p=Nh(t,124,12),h=Nh(t,136,12),E=rBt(o),w=t[157]===0?null:VE(t,157,100,e),v=VE(t,265,32),b=VE(t,297,32),C=Nh(t,329,8),R=Nh(t,337,8),L=oBe(t);if(L===8*32)return null;if(L!==Nh(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(iBe.compare(t,fv,fv+6)===0)t[345]&&(a=VE(t,345,155,e)+"/"+a);else if(!(Z2t.compare(t,fv,fv+6)===0&&$2t.compare(t,eG,eG+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return o===0&&a&&a[a.length-1]==="/"&&(o=5),{name:a,mode:n,uid:u,gid:A,size:p,mtime:new Date(1e3*h),type:E,linkname:w,uname:v,gname:b,devmajor:C,devminor:R}}});var pBe=U((RZt,fBe)=>{var lBe=Ie("util"),sBt=rBe(),pv=tG(),cBe=KE().Writable,uBe=KE().PassThrough,ABe=function(){},aBe=function(t){return t&=511,t&&512-t},oBt=function(t,e){var r=new Ok(t,e);return r.end(),r},aBt=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},Ok=function(t,e){this._parent=t,this.offset=e,uBe.call(this,{autoDestroy:!1})};lBe.inherits(Ok,uBe);Ok.prototype.destroy=function(t){this._parent.destroy(t)};var op=function(t){if(!(this instanceof op))return new op(t);cBe.call(this,t),t=t||{},this._offset=0,this._buffer=sBt(),this._missing=0,this._partial=!1,this._onparse=ABe,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,o=function(){e._continue()},a=function(v){if(e._locked=!1,v)return e.destroy(v);e._stream||o()},n=function(){e._stream=null;var v=aBe(e._header.size);v?e._parse(v,u):e._parse(512,w),e._locked||o()},u=function(){e._buffer.consume(aBe(e._header.size)),e._parse(512,w),o()},A=function(){var v=e._header.size;e._paxGlobal=pv.decodePax(r.slice(0,v)),r.consume(v),n()},p=function(){var v=e._header.size;e._pax=pv.decodePax(r.slice(0,v)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(v),n()},h=function(){var v=e._header.size;this._gnuLongPath=pv.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},E=function(){var v=e._header.size;this._gnuLongLinkPath=pv.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},w=function(){var v=e._offset,b;try{b=e._header=pv.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(C){e.emit("error",C)}if(r.consume(512),!b){e._parse(512,w),o();return}if(b.type==="gnu-long-path"){e._parse(b.size,h),o();return}if(b.type==="gnu-long-link-path"){e._parse(b.size,E),o();return}if(b.type==="pax-global-header"){e._parse(b.size,A),o();return}if(b.type==="pax-header"){e._parse(b.size,p),o();return}if(e._gnuLongPath&&(b.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(b.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=b=aBt(b,e._pax),e._pax=null),e._locked=!0,!b.size||b.type==="directory"){e._parse(512,w),e.emit("entry",b,oBt(e,v),a);return}e._stream=new Ok(e,v),e.emit("entry",b,e._stream,a),e._parse(b.size,n),o()};this._onheader=w,this._parse(512,w)};lBe.inherits(op,cBe);op.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};op.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};op.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=ABe,this._overflow?this._write(this._overflow,void 0,t):t()}};op.prototype._write=function(t,e,r){if(!this._destroyed){var o=this._stream,a=this._buffer,n=this._missing;if(t.length&&(this._partial=!0),t.length<n)return this._missing-=t.length,this._overflow=null,o?o.write(t,r):(a.append(t),r());this._cb=r,this._missing=0;var u=null;t.length>n&&(u=t.slice(n),t=t.slice(0,n)),o?o.end(t):a.append(t),this._overflow=u,this._onparse()}};op.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};fBe.exports=op});var gBe=U((TZt,hBe)=>{hBe.exports=Ie("fs").constants||Ie("constants")});var EBe=U((NZt,CBe)=>{var zE=gBe(),dBe=WM(),Uk=bh(),lBt=Buffer.alloc,mBe=KE().Readable,XE=KE().Writable,cBt=Ie("string_decoder").StringDecoder,Mk=tG(),uBt=parseInt("755",8),ABt=parseInt("644",8),yBe=lBt(1024),nG=function(){},rG=function(t,e){e&=511,e&&t.push(yBe.slice(0,512-e))};function fBt(t){switch(t&zE.S_IFMT){case zE.S_IFBLK:return"block-device";case zE.S_IFCHR:return"character-device";case zE.S_IFDIR:return"directory";case zE.S_IFIFO:return"fifo";case zE.S_IFLNK:return"symlink"}return"file"}var _k=function(t){XE.call(this),this.written=0,this._to=t,this._destroyed=!1};Uk(_k,XE);_k.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};_k.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Hk=function(){XE.call(this),this.linkname="",this._decoder=new cBt("utf-8"),this._destroyed=!1};Uk(Hk,XE);Hk.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};Hk.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var hv=function(){XE.call(this),this._destroyed=!1};Uk(hv,XE);hv.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};hv.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var wA=function(t){if(!(this instanceof wA))return new wA(t);mBe.call(this,t),this._drain=nG,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Uk(wA,mBe);wA.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=nG);var o=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=fBt(t.mode)),t.mode||(t.mode=t.type==="directory"?uBt:ABt),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var a=this.push(e);return rG(o,t.size),a?process.nextTick(r):this._drain=r,new hv}if(t.type==="symlink"&&!t.linkname){var n=new Hk;return dBe(n,function(A){if(A)return o.destroy(),r(A);t.linkname=n.linkname,o._encode(t),r()}),n}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new hv;var u=new _k(this);return this._stream=u,dBe(u,function(A){if(o._stream=null,A)return o.destroy(),r(A);if(u.written!==t.size)return o.destroy(),r(new Error("size mismatch"));rG(o,t.size),o._finalizing&&o.finalize(),r()}),u}};wA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(yBe),this.push(null))};wA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};wA.prototype._encode=function(t){if(!t.pax){var e=Mk.encode(t);if(e){this.push(e);return}}this._encodePax(t)};wA.prototype._encodePax=function(t){var e=Mk.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(Mk.encode(r)),this.push(e),rG(this,e.length),r.size=t.size,r.type=t.type,this.push(Mk.encode(r))};wA.prototype._read=function(t){var e=this._drain;this._drain=nG,e()};CBe.exports=wA});var IBe=U(iG=>{iG.extract=pBe();iG.pack=EBe()});var RBe=U((r$t,FBe)=>{"use strict";var Dm=class{constructor(e,r,o){this.__specs=e||{},Object.keys(this.__specs).forEach(a=>{if(typeof this.__specs[a]=="string"){let n=this.__specs[a],u=this.__specs[n];if(u){let A=u.aliases||[];A.push(a,n),u.aliases=[...new Set(A)],this.__specs[a]=u}else throw new Error(`Alias refers to invalid key: ${n} -> ${a}`)}}),this.__opts=r||{},this.__providers=QBe(o.filter(a=>a!=null&&typeof a=="object")),this.__isFiggyPudding=!0}get(e){return uG(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[o,a]of this.entries())e.call(r,a,o,this)}toJSON(){let e={};return this.forEach((r,o)=>{e[o]=r}),e}*entries(e){for(let o of Object.keys(this.__specs))yield[o,this.get(o)];let r=e||this.__opts.other;if(r){let o=new Set;for(let a of this.__providers){let n=a.entries?a.entries(r):PBt(a);for(let[u,A]of n)r(u)&&!o.has(u)&&(o.add(u),yield[u,A])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Dm(this.__specs,this.__opts,QBe(this.__providers).concat(e)),kBe)}};try{let t=Ie("util");Dm.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch{}function DBt(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function uG(t,e,r){let o=t.__specs[e];if(r&&!o&&(!t.__opts.other||!t.__opts.other(e)))DBt(e);else{o||(o={});let a;for(let n of t.__providers){if(a=bBe(e,n),a===void 0&&o.aliases&&o.aliases.length){for(let u of o.aliases)if(u!==e&&(a=bBe(u,n),a!==void 0))break}if(a!==void 0)break}return a===void 0&&o.default!==void 0?typeof o.default=="function"?o.default(t):o.default:a}}function bBe(t,e){let r;return e.__isFiggyPudding?r=uG(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var kBe={has(t,e){return e in t.__specs&&uG(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Dm.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};FBe.exports=SBt;function SBt(t,e){function r(...o){return new Proxy(new Dm(t,e,o),kBe)}return r}function QBe(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function PBt(t){return Object.keys(t).map(e=>[e,t[e]])}});var LBe=U((n$t,DA)=>{"use strict";var dv=Ie("crypto"),xBt=RBe(),bBt=Ie("stream").Transform,TBe=["sha256","sha384","sha512"],QBt=/^[a-z0-9+/]+(?:=?=?)$/i,kBt=/^([^-]+)-([^?]+)([?\S*]*)$/,FBt=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,RBt=/^[\x21-\x7E]+$/,ta=xBt({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>HBt},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Oh=class{get isHash(){return!0}constructor(e,r){r=ta(r);let o=!!r.strict;this.source=e.trim();let a=this.source.match(o?FBt:kBt);if(!a||o&&!TBe.some(u=>u===a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=ta(e),e.strict&&!(TBe.some(o=>o===this.algorithm)&&this.digest.match(QBt)&&(this.options||[]).every(o=>o.match(RBt))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},Sm=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=ta(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(o=>this[o].map(a=>Oh.prototype.toString.call(a,e)).filter(a=>a.length).join(r)).filter(o=>o.length).join(r)}concat(e,r){r=ta(r);let o=typeof e=="string"?e:gv(e,r);return vA(`${this.toString(r)} ${o}`,r)}hexDigest(){return vA(this,{single:!0}).hexDigest()}match(e,r){r=ta(r);let o=vA(e,r),a=o.pickAlgorithm(r);return this[a]&&o[a]&&this[a].find(n=>o[a].find(u=>n.digest===u.digest))||!1}pickAlgorithm(e){e=ta(e);let r=e.pickAlgorithm,o=Object.keys(this);if(!o.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return o.reduce((a,n)=>r(a,n)||a)}};DA.exports.parse=vA;function vA(t,e){if(e=ta(e),typeof t=="string")return AG(t,e);if(t.algorithm&&t.digest){let r=new Sm;return r[t.algorithm]=[t],AG(gv(r,e),e)}else return AG(gv(t,e),e)}function AG(t,e){return e.single?new Oh(t,e):t.trim().split(/\s+/).reduce((r,o)=>{let a=new Oh(o,e);if(a.algorithm&&a.digest){let n=a.algorithm;r[n]||(r[n]=[]),r[n].push(a)}return r},new Sm)}DA.exports.stringify=gv;function gv(t,e){return e=ta(e),t.algorithm&&t.digest?Oh.prototype.toString.call(t,e):typeof t=="string"?gv(vA(t,e),e):Sm.prototype.toString.call(t,e)}DA.exports.fromHex=TBt;function TBt(t,e,r){r=ta(r);let o=r.options&&r.options.length?`?${r.options.join("?")}`:"";return vA(`${e}-${Buffer.from(t,"hex").toString("base64")}${o}`,r)}DA.exports.fromData=NBt;function NBt(t,e){e=ta(e);let r=e.algorithms,o=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((a,n)=>{let u=dv.createHash(n).update(t).digest("base64"),A=new Oh(`${n}-${u}${o}`,e);if(A.algorithm&&A.digest){let p=A.algorithm;a[p]||(a[p]=[]),a[p].push(A)}return a},new Sm)}DA.exports.fromStream=LBt;function LBt(t,e){e=ta(e);let r=e.Promise||Promise,o=fG(e);return new r((a,n)=>{t.pipe(o),t.on("error",n),o.on("error",n);let u;o.on("integrity",A=>{u=A}),o.on("end",()=>a(u)),o.on("data",()=>{})})}DA.exports.checkData=OBt;function OBt(t,e,r){if(r=ta(r),e=vA(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let o=e.pickAlgorithm(r),a=dv.createHash(o).update(t).digest("base64"),n=vA({algorithm:o,digest:a}),u=n.match(e,r);if(u||!r.error)return u;if(typeof r.size=="number"&&t.length!==r.size){let A=new Error(`data size mismatch when checking ${e}. |
383 | Wanted: ${r.size} | 383 | Wanted: ${r.size} |
384 | Found: ${t.length}`);throw A.code="EBADSIZE",A.found=t.length,A.expected=r.size,A.sri=e,A}else{let A=new Error(`Integrity checksum failed when using ${o}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw A.code="EINTEGRITY",A.found=n,A.expected=e,A.algorithm=o,A.sri=e,A}}BA.exports.checkStream=vBt;function vBt(t,e,r){r=ea(r);let o=r.Promise||Promise,a=o9(r.concat({integrity:e}));return new o((n,u)=>{t.pipe(a),t.on("error",u),a.on("error",u);let A;a.on("verified",p=>{A=p}),a.on("end",()=>n(A)),a.on("data",()=>{})})}BA.exports.integrityStream=o9;function o9(t){t=ea(t);let e=t.integrity&&wA(t.integrity,t),r=e&&Object.keys(e).length,o=r&&e.pickAlgorithm(t),a=r&&e[o],n=Array.from(new Set(t.algorithms.concat(o?[o]:[]))),u=n.map(cv.createHash),A=0,p=new gBt({transform(h,C,w){A+=h.length,u.forEach(v=>v.update(h,C)),w(null,h,C)}}).on("end",()=>{let h=t.options&&t.options.length?`?${t.options.join("?")}`:"",C=wA(u.map((v,b)=>`${n[b]}-${v.digest("base64")}${h}`).join(" "),t),w=r&&C.match(e,t);if(typeof t.size=="number"&&A!==t.size){let v=new Error(`stream size mismatch when checking ${e}. | 384 | Found: ${t.length}`);throw A.code="EBADSIZE",A.found=t.length,A.expected=r.size,A.sri=e,A}else{let A=new Error(`Integrity checksum failed when using ${o}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw A.code="EINTEGRITY",A.found=n,A.expected=e,A.algorithm=o,A.sri=e,A}}DA.exports.checkStream=MBt;function MBt(t,e,r){r=ta(r);let o=r.Promise||Promise,a=fG(r.concat({integrity:e}));return new o((n,u)=>{t.pipe(a),t.on("error",u),a.on("error",u);let A;a.on("verified",p=>{A=p}),a.on("end",()=>n(A)),a.on("data",()=>{})})}DA.exports.integrityStream=fG;function fG(t){t=ta(t);let e=t.integrity&&vA(t.integrity,t),r=e&&Object.keys(e).length,o=r&&e.pickAlgorithm(t),a=r&&e[o],n=Array.from(new Set(t.algorithms.concat(o?[o]:[]))),u=n.map(dv.createHash),A=0,p=new bBt({transform(h,E,w){A+=h.length,u.forEach(v=>v.update(h,E)),w(null,h,E)}}).on("end",()=>{let h=t.options&&t.options.length?`?${t.options.join("?")}`:"",E=vA(u.map((v,b)=>`${n[b]}-${v.digest("base64")}${h}`).join(" "),t),w=r&&E.match(e,t);if(typeof t.size=="number"&&A!==t.size){let v=new Error(`stream size mismatch when checking ${e}. |
385 | Wanted: ${t.size} | 385 | Wanted: ${t.size} |
386 | Found: ${A}`);v.code="EBADSIZE",v.found=A,v.expected=t.size,v.sri=e,p.emit("error",v)}else if(t.integrity&&!w){let v=new Error(`${e} integrity checksum failed when using ${o}: wanted ${a} but got ${C}. (${A} bytes)`);v.code="EINTEGRITY",v.found=C,v.expected=a,v.algorithm=o,v.sri=e,p.emit("error",v)}else p.emit("size",A),p.emit("integrity",C),w&&p.emit("verified",w)});return p}BA.exports.create=DBt;function DBt(t){t=ea(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",o=e.map(cv.createHash);return{update:function(a,n){return o.forEach(u=>u.update(a,n)),this},digest:function(a){return e.reduce((u,A)=>{let p=o.shift().digest("base64"),h=new Th(`${A}-${p}${r}`,t);if(h.algorithm&&h.digest){let C=h.algorithm;u[C]||(u[C]=[]),u[C].push(h)}return u},new wm)}}}var SBt=new Set(cv.getHashes()),vBe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>SBt.has(t));function PBt(t,e){return vBe.indexOf(t.toLowerCase())>=vBe.indexOf(e.toLowerCase())?t:e}});var nve=U((enr,rve)=>{var bvt=tL();function Qvt(t){return bvt(t)?void 0:t}rve.exports=Qvt});var sve=U((tnr,ive)=>{var kvt=Dx(),Fvt=S8(),Rvt=Q8(),Tvt=qd(),Nvt=fd(),Lvt=nve(),Ovt=C_(),Mvt=D8(),Uvt=1,_vt=2,Hvt=4,qvt=Ovt(function(t,e){var r={};if(t==null)return r;var o=!1;e=kvt(e,function(n){return n=Tvt(n,t),o||(o=n.length>1),n}),Nvt(t,Mvt(t),r),o&&(r=Fvt(r,Uvt|_vt|Hvt,Lvt));for(var a=e.length;a--;)Rvt(r,e[a]);return r});ive.exports=qvt});Ke();Ke();bt();var P_=Ie("child_process"),h0e=tt(Jg());_t();var x_=Ie("fs");var nC=new Map([]);function _ut(t){let e=Ae.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,P_.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,P_.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}async function Hb({binaryVersion:t,pluginConfiguration:e}){async function r(){let a=new vo({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await o(a)}catch(n){process.stdout.write(a.error(n)),process.exitCode=1}}async function o(a){var R,L,_,J;let n=process.versions.node,u=">=14.15.0";if(!Ye.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!Tr.satisfiesWithPrereleases(n,u))throw new ot(`This tool requires a Node version compatible with ${u} (got ${n}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let p=await Xe.find(Ae.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),h=p.get("yarnPath"),C=p.get("ignorePath"),w=p.get("ignoreCwd"),v=Ae.toPortablePath(Ae.resolve(process.argv[1])),b=re=>ae.readFilePromise(re).catch(()=>Buffer.of());if(!C&&!w&&await(async()=>h&&(h===v||Buffer.compare(...await Promise.all([b(h),b(v)]))===0))()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await o(a);return}else if(h!==null&&!C)if(!ae.existsSync(h))process.stdout.write(a.error(new Error(`The "yarn-path" option has been set (in ${p.sources.get("yarnPath")}), but the specified location doesn't exist (${h}).`))),process.exitCode=1;else try{_ut(h)}catch(re){process.exitCode=re.code||1}else{C&&delete process.env.YARN_IGNORE_PATH,p.get("enableTelemetry")&&!h0e.isCI&&process.stdout.isTTY&&(Xe.telemetry=new rC(p,"puba9cdc10ec5790a2cf4969dd413a47270")),(R=Xe.telemetry)==null||R.reportVersion(t);for(let[ve,ge]of p.plugins.entries()){nC.has(((L=ve.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:L[1])??"")&&((_=Xe.telemetry)==null||_.reportPluginName(ve));for(let le of ge.commands||[])a.register(le)}let oe={cwd:Ae.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr},pe=a.process(process.argv.slice(2),oe);pe.help||(J=Xe.telemetry)==null||J.reportCommandName(pe.path.join(" "));let he=pe.cwd;if(typeof he<"u"&&!w){let ve=(0,x_.realpathSync)(process.cwd()),ge=(0,x_.realpathSync)(he);if(ve!==ge){process.chdir(he),await r();return}}await a.runExit(pe,oe)}}return r().catch(a=>{process.stdout.write(a.stack||a.message),process.exitCode=1}).finally(()=>ae.rmtempPromise())}var H1={};Yt(H1,{BaseCommand:()=>ct,WorkspaceRequiredError:()=>er,getDynamicLibs:()=>g0e,getPluginConfiguration:()=>qb,main:()=>Hb,openWorkspace:()=>iC,pluginCommands:()=>nC});_t();var ct=class extends it{constructor(){super(...arguments);this.cwd=fe.String("--cwd",{hidden:!0})}};Ke();bt();_t();var er=class extends ot{constructor(e,r){let o=V.relative(e,r),a=V.join(e,Nt.fileName);super(`This command can only be run from within a workspace of your project (${o} isn't a workspace of ${a}).`)}};Ke();bt();Oc();Ol();g1();_t();var Hut=tt(ii());$a();var g0e=()=>new Map([["@yarnpkg/cli",H1],["@yarnpkg/core",_1],["@yarnpkg/fslib",TI],["@yarnpkg/libzip",LI],["@yarnpkg/parsers",GI],["@yarnpkg/shell",E1],["clipanion",$I],["semver",Hut],["typanion",Go]]);Ke();async function iC(t,e){let{project:r,workspace:o}=await St.find(t,e);if(!o)throw new er(r.cwd,e);return o}Ke();bt();Oc();Ol();g1();_t();var Xvt=tt(ii());$a();var X8={};Yt(X8,{AddCommand:()=>S0,BinCommand:()=>P0,CacheCleanCommand:()=>x0,ClipanionCommand:()=>Yd,ConfigCommand:()=>F0,ConfigGetCommand:()=>b0,ConfigSetCommand:()=>Q0,ConfigUnsetCommand:()=>k0,DedupeCommand:()=>R0,EntryCommand:()=>lC,ExecCommand:()=>T0,ExplainCommand:()=>O0,ExplainPeerRequirementsCommand:()=>N0,HelpCommand:()=>Kd,InfoCommand:()=>M0,LinkCommand:()=>_0,NodeCommand:()=>H0,PluginCheckCommand:()=>q0,PluginImportCommand:()=>W0,PluginImportSourcesCommand:()=>Y0,PluginListCommand:()=>j0,PluginRemoveCommand:()=>K0,PluginRuntimeCommand:()=>J0,RebuildCommand:()=>V0,RemoveCommand:()=>z0,RunCommand:()=>X0,RunIndexCommand:()=>zd,SetResolutionCommand:()=>Z0,SetVersionCommand:()=>L0,SetVersionSourcesCommand:()=>G0,UnlinkCommand:()=>$0,UpCommand:()=>Yf,VersionCommand:()=>Jd,WhyCommand:()=>eh,WorkspaceCommand:()=>nh,WorkspacesListCommand:()=>rh,YarnCommand:()=>U0,dedupeUtils:()=>Xb,default:()=>Qht,suggestUtils:()=>Zc});var Kde=tt(Jg());Ke();Ke();Ke();_t();var rge=tt(Y1());$a();var Zc={};Yt(Zc,{Modifier:()=>C8,Strategy:()=>Vb,Target:()=>K1,WorkspaceModifier:()=>Xhe,applyModifier:()=>aft,extractDescriptorFromPath:()=>I8,extractRangeModifier:()=>Zhe,fetchDescriptorFrom:()=>w8,findProjectDescriptors:()=>tge,getModifier:()=>J1,getSuggestedDescriptors:()=>V1,makeWorkspaceDescriptor:()=>ege,toWorkspaceModifier:()=>$he});Ke();Ke();bt();var E8=tt(ii()),sft="workspace:",K1=(o=>(o.REGULAR="dependencies",o.DEVELOPMENT="devDependencies",o.PEER="peerDependencies",o))(K1||{}),C8=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="",o))(C8||{}),Xhe=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="*",o))(Xhe||{}),Vb=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(Vb||{});function J1(t,e){return t.exact?"":t.caret?"^":t.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var oft=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function Zhe(t,{project:e}){let r=t.match(oft);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function aft(t,e){let{protocol:r,source:o,params:a,selector:n}=Y.parseRange(t.range);return E8.default.valid(n)&&(n=`${e}${t.range}`),Y.makeDescriptor(t,Y.makeRange({protocol:r,source:o,params:a,selector:n}))}function $he(t){switch(t){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function ege(t,e){return Y.makeDescriptor(t.anchoredDescriptor,`${sft}${$he(e)}`)}async function tge(t,{project:e,target:r}){let o=new Map,a=n=>{let u=o.get(n.descriptorHash);return u||o.set(n.descriptorHash,u={descriptor:n,locators:[]}),u};for(let n of e.workspaces)if(r==="peerDependencies"){let u=n.manifest.peerDependencies.get(t.identHash);u!==void 0&&a(u).locators.push(n.anchoredLocator)}else{let u=n.manifest.dependencies.get(t.identHash),A=n.manifest.devDependencies.get(t.identHash);r==="devDependencies"?A!==void 0?a(A).locators.push(n.anchoredLocator):u!==void 0&&a(u).locators.push(n.anchoredLocator):u!==void 0?a(u).locators.push(n.anchoredLocator):A!==void 0&&a(A).locators.push(n.anchoredLocator)}return o}async function I8(t,{cwd:e,workspace:r}){return await lft(async o=>{V.isAbsolute(t)||(t=V.relative(r.cwd,V.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:a}=r,n=await w8(Y.makeIdent(null,"archive"),t,{project:r.project,cache:o,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let u=new xi,A=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:o,fetcher:p,report:u,resolver:A},C=A.bindDescriptor(n,r.anchoredLocator,h),w=Y.convertDescriptorToLocator(C),v=await p.fetch(w,h),b=await Nt.find(v.prefixPath,{baseFs:v.packageFs});if(!b.name)throw new Error("Target path doesn't have a name");return Y.makeDescriptor(b.name,t)})}async function V1(t,{project:e,workspace:r,cache:o,target:a,fixed:n,modifier:u,strategies:A,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let[h,C]=t.range!=="unknown"?n||Tr.validRange(t.range)||!t.range.match(/^[a-z0-9._-]+$/i)?[t.range,"latest"]:["unknown",t.range]:["unknown","latest"];if(h!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${Y.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let w=typeof r<"u"&&r!==null&&r.manifest[a].get(t.identHash)||null,v=[],b=[],E=async R=>{try{await R()}catch(L){b.push(L)}};for(let R of A){if(v.length>=p)break;switch(R){case"keep":await E(async()=>{w&&v.push({descriptor:w,name:`Keep ${Y.prettyDescriptor(e.configuration,w)}`,reason:"(no changes)"})});break;case"reuse":await E(async()=>{for(let{descriptor:L,locators:_}of(await tge(t,{project:e,target:a})).values()){if(_.length===1&&_[0].locatorHash===r.anchoredLocator.locatorHash&&A.includes("keep"))continue;let J=`(originally used by ${Y.prettyLocator(e.configuration,_[0])}`;J+=_.length>1?` and ${_.length-1} other${_.length>2?"s":""})`:")",v.push({descriptor:L,name:`Reuse ${Y.prettyDescriptor(e.configuration,L)}`,reason:J})}});break;case"cache":await E(async()=>{for(let L of e.storedDescriptors.values())L.identHash===t.identHash&&v.push({descriptor:L,name:`Reuse ${Y.prettyDescriptor(e.configuration,L)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await E(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let L=e.tryWorkspaceByIdent(t);if(L===null)return;let _=ege(L,u);v.push({descriptor:_,name:`Attach ${Y.prettyDescriptor(e.configuration,_)}`,reason:`(local workspace at ${ye.pretty(e.configuration,L.relativeCwd,ye.Type.PATH)})`})});break;case"latest":await E(async()=>{if(a==="peerDependencies")v.push({descriptor:Y.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))v.push({descriptor:null,name:"Resolve from latest",reason:ye.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let L=await w8(t,C,{project:e,cache:o,workspace:r,modifier:u});L&&v.push({descriptor:L,name:`Use ${Y.prettyDescriptor(e.configuration,L)}`,reason:"(resolved from latest)"})}});break}}return{suggestions:v.slice(0,p),rejections:b.slice(0,p)}}async function w8(t,e,{project:r,cache:o,workspace:a,preserveModifier:n=!0,modifier:u}){let A=r.configuration.normalizeDependency(Y.makeDescriptor(t,e)),p=new xi,h=r.configuration.makeFetcher(),C=r.configuration.makeResolver(),w={project:r,fetcher:h,cache:o,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},v={...w,resolver:C,fetchOptions:w},b=C.bindDescriptor(A,a.anchoredLocator,v),E=await C.getCandidates(b,{},v);if(E.length===0)return null;let R=E[0],{protocol:L,source:_,params:J,selector:re}=Y.parseRange(Y.convertToManifestRange(R.reference));if(L===r.configuration.get("defaultProtocol")&&(L=null),E8.default.valid(re)){let oe=re;if(typeof u<"u")re=u+re;else if(n!==!1){let ve=typeof n=="string"?n:A.range;re=Zhe(ve,{project:r})+re}let pe=Y.makeDescriptor(R,Y.makeRange({protocol:L,source:_,params:J,selector:re}));(await C.getCandidates(r.configuration.normalizeDependency(pe),{},v)).length!==1&&(re=oe)}return Y.makeDescriptor(R,Y.makeRange({protocol:L,source:_,params:J,selector:re}))}async function lft(t){return await ae.mktempPromise(async e=>{let r=Xe.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Ur(e,{configuration:r,check:!1,immutable:!1}))})}var S0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=fe.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=fe.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=fe.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=fe.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=fe.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=fe.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=fe.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=fe.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=fe.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=fe.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(fl)});this.silent=fe.Boolean("--silent",{hidden:!0});this.packages=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=A||r.get("preferReuse"),h=J1(this,o),C=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(J=>typeof J<"u"),w=A?1/0:1,v=await Promise.all(this.packages.map(async J=>{let re=J.match(/^\.{0,2}\//)?await I8(J,{cwd:this.context.cwd,workspace:a}):Y.tryParseDescriptor(J),oe=J.match(/^(https?:|git@github)/);if(oe)throw new ot(`It seems you are trying to add a package using a ${ye.pretty(r,`${oe[0]}...`,ye.Type.RANGE)} url; we now require package names to be explicitly specified. | 386 | Found: ${A}`);v.code="EBADSIZE",v.found=A,v.expected=t.size,v.sri=e,p.emit("error",v)}else if(t.integrity&&!w){let v=new Error(`${e} integrity checksum failed when using ${o}: wanted ${a} but got ${E}. (${A} bytes)`);v.code="EINTEGRITY",v.found=E,v.expected=a,v.algorithm=o,v.sri=e,p.emit("error",v)}else p.emit("size",A),p.emit("integrity",E),w&&p.emit("verified",w)});return p}DA.exports.create=UBt;function UBt(t){t=ta(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",o=e.map(dv.createHash);return{update:function(a,n){return o.forEach(u=>u.update(a,n)),this},digest:function(a){return e.reduce((u,A)=>{let p=o.shift().digest("base64"),h=new Oh(`${A}-${p}${r}`,t);if(h.algorithm&&h.digest){let E=h.algorithm;u[E]||(u[E]=[]),u[E].push(h)}return u},new Sm)}}}var _Bt=new Set(dv.getHashes()),NBe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>_Bt.has(t));function HBt(t,e){return NBe.indexOf(t.toLowerCase())>=NBe.indexOf(e.toLowerCase())?t:e}});var hve=U((tnr,pve)=>{var jvt=rL();function Gvt(t){return jvt(t)?void 0:t}pve.exports=Gvt});var dve=U((rnr,gve)=>{var Wvt=Fx(),Yvt=P8(),Kvt=k8(),Vvt=Wd(),Jvt=gd(),zvt=hve(),Xvt=I_(),Zvt=S8(),$vt=1,eDt=2,tDt=4,rDt=Xvt(function(t,e){var r={};if(t==null)return r;var o=!1;e=Wvt(e,function(n){return n=Vvt(n,t),o||(o=n.length>1),n}),Jvt(t,Zvt(t),r),o&&(r=Yvt(r,$vt|eDt|tDt,zvt));for(var a=e.length;a--;)Kvt(r,e[a]);return r});gve.exports=rDt});Ke();Ke();bt();var x_=Ie("child_process"),E0e=tt(Xg());_t();var b_=Ie("fs");var lE=new Map([]);function Xut(t){let e=ue.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,x_.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,x_.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}async function Vb({binaryVersion:t,pluginConfiguration:e}){async function r(){let a=new vo({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await o(a)}catch(n){process.stdout.write(a.error(n)),process.exitCode=1}}async function o(a){var R,L,_,V;let n=process.versions.node,u=">=14.15.0";if(!Ye.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!Tr.satisfiesWithPrereleases(n,u))throw new ot(`This tool requires a Node version compatible with ${u} (got ${n}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let p=await Xe.find(ue.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),h=p.get("yarnPath"),E=p.get("ignorePath"),w=p.get("ignoreCwd"),v=ue.toPortablePath(ue.resolve(process.argv[1])),b=re=>ae.readFilePromise(re).catch(()=>Buffer.of());if(!E&&!w&&await(async()=>h&&(h===v||Buffer.compare(...await Promise.all([b(h),b(v)]))===0))()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await o(a);return}else if(h!==null&&!E)if(!ae.existsSync(h))process.stdout.write(a.error(new Error(`The "yarn-path" option has been set (in ${p.sources.get("yarnPath")}), but the specified location doesn't exist (${h}).`))),process.exitCode=1;else try{Xut(h)}catch(re){process.exitCode=re.code||1}else{E&&delete process.env.YARN_IGNORE_PATH,p.get("enableTelemetry")&&!E0e.isCI&&process.stdout.isTTY&&(Xe.telemetry=new aE(p,"puba9cdc10ec5790a2cf4969dd413a47270")),(R=Xe.telemetry)==null||R.reportVersion(t);for(let[ve,ge]of p.plugins.entries()){lE.has(((L=ve.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:L[1])??"")&&((_=Xe.telemetry)==null||_.reportPluginName(ve));for(let le of ge.commands||[])a.register(le)}let oe={cwd:ue.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr},pe=a.process(process.argv.slice(2),oe);pe.help||(V=Xe.telemetry)==null||V.reportCommandName(pe.path.join(" "));let he=pe.cwd;if(typeof he<"u"&&!w){let ve=(0,b_.realpathSync)(process.cwd()),ge=(0,b_.realpathSync)(he);if(ve!==ge){process.chdir(he),await r();return}}await a.runExit(pe,oe)}}return r().catch(a=>{process.stdout.write(a.stack||a.message),process.exitCode=1}).finally(()=>ae.rmtempPromise())}var W1={};Yt(W1,{BaseCommand:()=>ct,WorkspaceRequiredError:()=>er,getDynamicLibs:()=>I0e,getPluginConfiguration:()=>Jb,main:()=>Vb,openWorkspace:()=>cE,pluginCommands:()=>lE});_t();var ct=class extends it{constructor(){super(...arguments);this.cwd=fe.String("--cwd",{hidden:!0})}};Ke();bt();_t();var er=class extends ot{constructor(e,r){let o=z.relative(e,r),a=z.join(e,Nt.fileName);super(`This command can only be run from within a workspace of your project (${o} isn't a workspace of ${a}).`)}};Ke();bt();_c();_l();C1();_t();var Zut=tt(si());tl();var I0e=()=>new Map([["@yarnpkg/cli",W1],["@yarnpkg/core",G1],["@yarnpkg/fslib",MI],["@yarnpkg/libzip",_I],["@yarnpkg/parsers",VI],["@yarnpkg/shell",B1],["clipanion",nw],["semver",Zut],["typanion",Wo]]);Ke();async function cE(t,e){let{project:r,workspace:o}=await St.find(t,e);if(!o)throw new er(r.cwd,e);return o}Ke();bt();_c();_l();C1();_t();var ADt=tt(si());tl();var Z8={};Yt(Z8,{AddCommand:()=>P0,BinCommand:()=>x0,CacheCleanCommand:()=>b0,ClipanionCommand:()=>Jd,ConfigCommand:()=>R0,ConfigGetCommand:()=>Q0,ConfigSetCommand:()=>k0,ConfigUnsetCommand:()=>F0,DedupeCommand:()=>T0,EntryCommand:()=>pE,ExecCommand:()=>N0,ExplainCommand:()=>M0,ExplainPeerRequirementsCommand:()=>L0,HelpCommand:()=>zd,InfoCommand:()=>U0,LinkCommand:()=>H0,NodeCommand:()=>q0,PluginCheckCommand:()=>j0,PluginImportCommand:()=>Y0,PluginImportSourcesCommand:()=>K0,PluginListCommand:()=>G0,PluginRemoveCommand:()=>V0,PluginRuntimeCommand:()=>J0,RebuildCommand:()=>z0,RemoveCommand:()=>X0,RunCommand:()=>Z0,RunIndexCommand:()=>$d,SetResolutionCommand:()=>$0,SetVersionCommand:()=>O0,SetVersionSourcesCommand:()=>W0,UnlinkCommand:()=>eh,UpCommand:()=>Vf,VersionCommand:()=>Xd,WhyCommand:()=>th,WorkspaceCommand:()=>ih,WorkspacesListCommand:()=>nh,YarnCommand:()=>_0,dedupeUtils:()=>iQ,default:()=>Hht,suggestUtils:()=>eu});var $de=tt(Xg());Ke();Ke();Ke();_t();var lge=tt(z1());tl();var eu={};Yt(eu,{Modifier:()=>I8,Strategy:()=>rQ,Target:()=>X1,WorkspaceModifier:()=>nge,applyModifier:()=>yft,extractDescriptorFromPath:()=>w8,extractRangeModifier:()=>ige,fetchDescriptorFrom:()=>B8,findProjectDescriptors:()=>age,getModifier:()=>Z1,getSuggestedDescriptors:()=>$1,makeWorkspaceDescriptor:()=>oge,toWorkspaceModifier:()=>sge});Ke();Ke();bt();var E8=tt(si()),dft="workspace:",X1=(o=>(o.REGULAR="dependencies",o.DEVELOPMENT="devDependencies",o.PEER="peerDependencies",o))(X1||{}),I8=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="",o))(I8||{}),nge=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="*",o))(nge||{}),rQ=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(rQ||{});function Z1(t,e){return t.exact?"":t.caret?"^":t.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var mft=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function ige(t,{project:e}){let r=t.match(mft);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function yft(t,e){let{protocol:r,source:o,params:a,selector:n}=Y.parseRange(t.range);return E8.default.valid(n)&&(n=`${e}${t.range}`),Y.makeDescriptor(t,Y.makeRange({protocol:r,source:o,params:a,selector:n}))}function sge(t){switch(t){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function oge(t,e){return Y.makeDescriptor(t.anchoredDescriptor,`${dft}${sge(e)}`)}async function age(t,{project:e,target:r}){let o=new Map,a=n=>{let u=o.get(n.descriptorHash);return u||o.set(n.descriptorHash,u={descriptor:n,locators:[]}),u};for(let n of e.workspaces)if(r==="peerDependencies"){let u=n.manifest.peerDependencies.get(t.identHash);u!==void 0&&a(u).locators.push(n.anchoredLocator)}else{let u=n.manifest.dependencies.get(t.identHash),A=n.manifest.devDependencies.get(t.identHash);r==="devDependencies"?A!==void 0?a(A).locators.push(n.anchoredLocator):u!==void 0&&a(u).locators.push(n.anchoredLocator):u!==void 0?a(u).locators.push(n.anchoredLocator):A!==void 0&&a(A).locators.push(n.anchoredLocator)}return o}async function w8(t,{cwd:e,workspace:r}){return await Cft(async o=>{z.isAbsolute(t)||(t=z.relative(r.cwd,z.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:a}=r,n=await B8(Y.makeIdent(null,"archive"),t,{project:r.project,cache:o,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let u=new xi,A=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:o,fetcher:p,report:u,resolver:A},E=A.bindDescriptor(n,r.anchoredLocator,h),w=Y.convertDescriptorToLocator(E),v=await p.fetch(w,h),b=await Nt.find(v.prefixPath,{baseFs:v.packageFs});if(!b.name)throw new Error("Target path doesn't have a name");return Y.makeDescriptor(b.name,t)})}async function $1(t,{project:e,workspace:r,cache:o,target:a,fixed:n,modifier:u,strategies:A,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let[h,E]=t.range!=="unknown"?n||Tr.validRange(t.range)||!t.range.match(/^[a-z0-9._-]+$/i)?[t.range,"latest"]:["unknown",t.range]:["unknown","latest"];if(h!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${Y.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let w=typeof r<"u"&&r!==null&&r.manifest[a].get(t.identHash)||null,v=[],b=[],C=async R=>{try{await R()}catch(L){b.push(L)}};for(let R of A){if(v.length>=p)break;switch(R){case"keep":await C(async()=>{w&&v.push({descriptor:w,name:`Keep ${Y.prettyDescriptor(e.configuration,w)}`,reason:"(no changes)"})});break;case"reuse":await C(async()=>{for(let{descriptor:L,locators:_}of(await age(t,{project:e,target:a})).values()){if(_.length===1&&_[0].locatorHash===r.anchoredLocator.locatorHash&&A.includes("keep"))continue;let V=`(originally used by ${Y.prettyLocator(e.configuration,_[0])}`;V+=_.length>1?` and ${_.length-1} other${_.length>2?"s":""})`:")",v.push({descriptor:L,name:`Reuse ${Y.prettyDescriptor(e.configuration,L)}`,reason:V})}});break;case"cache":await C(async()=>{for(let L of e.storedDescriptors.values())L.identHash===t.identHash&&v.push({descriptor:L,name:`Reuse ${Y.prettyDescriptor(e.configuration,L)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await C(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let L=e.tryWorkspaceByIdent(t);if(L===null)return;let _=oge(L,u);v.push({descriptor:_,name:`Attach ${Y.prettyDescriptor(e.configuration,_)}`,reason:`(local workspace at ${ye.pretty(e.configuration,L.relativeCwd,ye.Type.PATH)})`})});break;case"latest":await C(async()=>{if(a==="peerDependencies")v.push({descriptor:Y.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))v.push({descriptor:null,name:"Resolve from latest",reason:ye.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let L=await B8(t,E,{project:e,cache:o,workspace:r,modifier:u});L&&v.push({descriptor:L,name:`Use ${Y.prettyDescriptor(e.configuration,L)}`,reason:"(resolved from latest)"})}});break}}return{suggestions:v.slice(0,p),rejections:b.slice(0,p)}}async function B8(t,e,{project:r,cache:o,workspace:a,preserveModifier:n=!0,modifier:u}){let A=r.configuration.normalizeDependency(Y.makeDescriptor(t,e)),p=new xi,h=r.configuration.makeFetcher(),E=r.configuration.makeResolver(),w={project:r,fetcher:h,cache:o,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},v={...w,resolver:E,fetchOptions:w},b=E.bindDescriptor(A,a.anchoredLocator,v),C=await E.getCandidates(b,{},v);if(C.length===0)return null;let R=C[0],{protocol:L,source:_,params:V,selector:re}=Y.parseRange(Y.convertToManifestRange(R.reference));if(L===r.configuration.get("defaultProtocol")&&(L=null),E8.default.valid(re)){let oe=re;if(typeof u<"u")re=u+re;else if(n!==!1){let ve=typeof n=="string"?n:A.range;re=ige(ve,{project:r})+re}let pe=Y.makeDescriptor(R,Y.makeRange({protocol:L,source:_,params:V,selector:re}));(await E.getCandidates(r.configuration.normalizeDependency(pe),{},v)).length!==1&&(re=oe)}return Y.makeDescriptor(R,Y.makeRange({protocol:L,source:_,params:V,selector:re}))}async function Cft(t){return await ae.mktempPromise(async e=>{let r=Xe.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Ur(e,{configuration:r,check:!1,immutable:!1}))})}var P0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=fe.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=fe.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=fe.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=fe.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=fe.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=fe.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=fe.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=fe.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=fe.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=fe.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(gl)});this.silent=fe.Boolean("--silent",{hidden:!0});this.packages=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=A||r.get("preferReuse"),h=Z1(this,o),E=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(V=>typeof V<"u"),w=A?1/0:1,v=await Promise.all(this.packages.map(async V=>{let re=V.match(/^\.{0,2}\//)?await w8(V,{cwd:this.context.cwd,workspace:a}):Y.tryParseDescriptor(V),oe=V.match(/^(https?:|git@github)/);if(oe)throw new ot(`It seems you are trying to add a package using a ${ye.pretty(r,`${oe[0]}...`,ye.Type.RANGE)} url; we now require package names to be explicitly specified. |
387 | Try running the command again with the package name prefixed: ${ye.pretty(r,"yarn add",ye.Type.CODE)} ${ye.pretty(r,Y.makeDescriptor(Y.makeIdent(null,"my-package"),`${oe[0]}...`),ye.Type.DESCRIPTOR)}`);if(!re)throw new ot(`The ${ye.pretty(r,J,ye.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let pe=cft(a,re,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(pe.map(async ve=>{let ge=await V1(re,{project:o,workspace:a,cache:n,fixed:u,target:ve,modifier:h,strategies:C,maxResults:w});return{request:re,suggestedDescriptors:ge,target:ve}}))})).then(J=>J.flat()),b=await fA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async J=>{for(let{request:re,suggestedDescriptors:{suggestions:oe,rejections:pe}}of v)if(oe.filter(ve=>ve.descriptor!==null).length===0){let[ve]=pe;if(typeof ve>"u")throw new Error("Assertion failed: Expected an error to have been set");o.configuration.get("enableNetwork")?J.reportError(27,`${Y.prettyDescriptor(r,re)} can't be resolved to a satisfying range`):J.reportError(27,`${Y.prettyDescriptor(r,re)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),J.reportSeparator(),J.reportExceptionOnce(ve)}});if(b.hasErrors())return b.exitCode();let E=!1,R=[],L=[];for(let{suggestedDescriptors:{suggestions:J},target:re}of v){let oe,pe=J.filter(le=>le.descriptor!==null),he=pe[0].descriptor,ve=pe.every(le=>Y.areDescriptorsEqual(le.descriptor,he));pe.length===1||ve?oe=he:(E=!0,{answer:oe}=await(0,rge.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:J.map(({descriptor:le,name:Pe,reason:g})=>le?{name:Pe,hint:g,descriptor:le}:{name:Pe,hint:g,disabled:!0}),onCancel:()=>process.exit(130),result(le){return this.find(le,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let ge=a.manifest[re].get(oe.identHash);(typeof ge>"u"||ge.descriptorHash!==oe.descriptorHash)&&(a.manifest[re].set(oe.identHash,oe),this.optional&&(re==="dependencies"?a.manifest.ensureDependencyMeta({...oe,range:"unknown"}).optional=!0:re==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...oe,range:"unknown"}).optional=!0)),typeof ge>"u"?R.push([a,re,oe,C]):L.push([a,re,ge,oe]))}return await r.triggerMultipleHooks(J=>J.afterWorkspaceDependencyAddition,R),await r.triggerMultipleHooks(J=>J.afterWorkspaceDependencyReplacement,L),E&&this.context.stdout.write(` | 387 | Try running the command again with the package name prefixed: ${ye.pretty(r,"yarn add",ye.Type.CODE)} ${ye.pretty(r,Y.makeDescriptor(Y.makeIdent(null,"my-package"),`${oe[0]}...`),ye.Type.DESCRIPTOR)}`);if(!re)throw new ot(`The ${ye.pretty(r,V,ye.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let pe=Eft(a,re,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(pe.map(async ve=>{let ge=await $1(re,{project:o,workspace:a,cache:n,fixed:u,target:ve,modifier:h,strategies:E,maxResults:w});return{request:re,suggestedDescriptors:ge,target:ve}}))})).then(V=>V.flat()),b=await pA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async V=>{for(let{request:re,suggestedDescriptors:{suggestions:oe,rejections:pe}}of v)if(oe.filter(ve=>ve.descriptor!==null).length===0){let[ve]=pe;if(typeof ve>"u")throw new Error("Assertion failed: Expected an error to have been set");o.configuration.get("enableNetwork")?V.reportError(27,`${Y.prettyDescriptor(r,re)} can't be resolved to a satisfying range`):V.reportError(27,`${Y.prettyDescriptor(r,re)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),V.reportSeparator(),V.reportExceptionOnce(ve)}});if(b.hasErrors())return b.exitCode();let C=!1,R=[],L=[];for(let{suggestedDescriptors:{suggestions:V},target:re}of v){let oe,pe=V.filter(le=>le.descriptor!==null),he=pe[0].descriptor,ve=pe.every(le=>Y.areDescriptorsEqual(le.descriptor,he));pe.length===1||ve?oe=he:(C=!0,{answer:oe}=await(0,lge.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:V.map(({descriptor:le,name:Pe,reason:g})=>le?{name:Pe,hint:g,descriptor:le}:{name:Pe,hint:g,disabled:!0}),onCancel:()=>process.exit(130),result(le){return this.find(le,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let ge=a.manifest[re].get(oe.identHash);(typeof ge>"u"||ge.descriptorHash!==oe.descriptorHash)&&(a.manifest[re].set(oe.identHash,oe),this.optional&&(re==="dependencies"?a.manifest.ensureDependencyMeta({...oe,range:"unknown"}).optional=!0:re==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...oe,range:"unknown"}).optional=!0)),typeof ge>"u"?R.push([a,re,oe,E]):L.push([a,re,ge,oe]))}return await r.triggerMultipleHooks(V=>V.afterWorkspaceDependencyAddition,R),await r.triggerMultipleHooks(V=>V.afterWorkspaceDependencyReplacement,L),C&&this.context.stdout.write(` |
388 | `),(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async J=>{await o.install({cache:n,report:J,mode:this.mode})})).exitCode()}};S0.paths=[["add"]],S0.usage=it.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"<package>\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function cft(t,e,{dev:r,peer:o,preferDev:a,optional:n}){let u=t.manifest["dependencies"].has(e.identHash),A=t.manifest["devDependencies"].has(e.identHash),p=t.manifest["peerDependencies"].has(e.identHash);if((r||o)&&u)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!o&&p)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&A)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!o&&p)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return o&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:A?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}Ke();Ke();_t();var P0=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=fe.String({required:!1})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);if(await o.restoreInstallState(),this.name){let A=(await sn.getPackageAccessibleBinaries(a,{project:o})).get(this.name);if(!A)throw new ot(`Couldn't find a binary named "${this.name}" for package "${Y.prettyLocator(r,a)}"`);let[,p]=A;return this.context.stdout.write(`${p} | 388 | `),(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async V=>{await o.install({cache:n,report:V,mode:this.mode})})).exitCode()}};P0.paths=[["add"]],P0.usage=it.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"<package>\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function Eft(t,e,{dev:r,peer:o,preferDev:a,optional:n}){let u=t.manifest["dependencies"].has(e.identHash),A=t.manifest["devDependencies"].has(e.identHash),p=t.manifest["peerDependencies"].has(e.identHash);if((r||o)&&u)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!o&&p)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&A)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!o&&p)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new ot(`Package "${Y.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return o&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:A?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}Ke();Ke();_t();var x0=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=fe.String({required:!1})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);if(await o.restoreInstallState(),this.name){let A=(await sn.getPackageAccessibleBinaries(a,{project:o})).get(this.name);if(!A)throw new ot(`Couldn't find a binary named "${this.name}" for package "${Y.prettyLocator(r,a)}"`);let[,p]=A;return this.context.stdout.write(`${p} |
389 | `),0}return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async u=>{let A=await sn.getPackageAccessibleBinaries(a,{project:o}),h=Array.from(A.keys()).reduce((C,w)=>Math.max(C,w.length),0);for(let[C,[w,v]]of A)u.reportJson({name:C,source:Y.stringifyIdent(w),path:v});if(this.verbose)for(let[C,[w]]of A)u.reportInfo(null,`${C.padEnd(h," ")} ${Y.prettyLocator(r,w)}`);else for(let C of A.keys())u.reportInfo(null,C)})).exitCode()}};P0.paths=[["bin"]],P0.usage=it.Usage({description:"get the path to a binary script",details:` | 389 | `),0}return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async u=>{let A=await sn.getPackageAccessibleBinaries(a,{project:o}),h=Array.from(A.keys()).reduce((E,w)=>Math.max(E,w.length),0);for(let[E,[w,v]]of A)u.reportJson({name:E,source:Y.stringifyIdent(w),path:v});if(this.verbose)for(let[E,[w]]of A)u.reportInfo(null,`${E.padEnd(h," ")} ${Y.prettyLocator(r,w)}`);else for(let E of A.keys())u.reportInfo(null,E)})).exitCode()}};x0.paths=[["bin"]],x0.usage=it.Usage({description:"get the path to a binary script",details:` |
390 | When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. | 390 | When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. |
391 | 391 | ||
392 | When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. | 392 | When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. |
393 | `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});Ke();bt();_t();var x0=class extends ct{constructor(){super(...arguments);this.mirror=fe.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=fe.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Ur.find(r);return(await Ct.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&o.mirrorCwd!==null,u=!this.mirror;n&&(await ae.removePromise(o.mirrorCwd),await r.triggerHook(A=>A.cleanGlobalArtifacts,r)),u&&await ae.removePromise(o.cwd)})).exitCode()}};x0.paths=[["cache","clean"],["cache","clear"]],x0.usage=it.Usage({description:"remove the shared cache files",details:` | 393 | `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});Ke();bt();_t();var b0=class extends ct{constructor(){super(...arguments);this.mirror=fe.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=fe.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Ur.find(r);return(await Et.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&o.mirrorCwd!==null,u=!this.mirror;n&&(await ae.removePromise(o.mirrorCwd),await r.triggerHook(A=>A.cleanGlobalArtifacts,r)),u&&await ae.removePromise(o.cwd)})).exitCode()}};b0.paths=[["cache","clean"],["cache","clear"]],b0.usage=it.Usage({description:"remove the shared cache files",details:` |
394 | This command will remove all the files from the cache. | 394 | This command will remove all the files from the cache. |
395 | `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});Ke();_t();var ige=tt(z1()),B8=Ie("util"),b0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=fe.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(o)>"u")throw new ot(`Couldn't find a configuration settings named "${o}"`);let u=r.getSpecial(o,{hideSecrets:!this.unsafe,getNativePaths:!0}),A=Ye.convertMapsToIndexableObjects(u),p=a?(0,ige.default)(A,a):A,h=await Ct.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p} | 395 | `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});Ke();_t();var uge=tt(e2()),v8=Ie("util"),Q0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=fe.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(o)>"u")throw new ot(`Couldn't find a configuration settings named "${o}"`);let u=r.getSpecial(o,{hideSecrets:!this.unsafe,getNativePaths:!0}),A=Ye.convertMapsToIndexableObjects(u),p=a?(0,uge.default)(A,a):A,h=await Et.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async E=>{E.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p} |
396 | `),h.exitCode();B8.inspect.styles.name="cyan",this.context.stdout.write(`${(0,B8.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})} | 396 | `),h.exitCode();v8.inspect.styles.name="cyan",this.context.stdout.write(`${(0,v8.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})} |
397 | `)}return h.exitCode()}};b0.paths=[["config","get"]],b0.usage=it.Usage({description:"read a configuration settings",details:` | 397 | `)}return h.exitCode()}};Q0.paths=[["config","get"]],Q0.usage=it.Usage({description:"read a configuration settings",details:` |
398 | This command will print a configuration setting. | 398 | This command will print a configuration setting. |
399 | 399 | ||
400 | Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. | 400 | Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. |
401 | `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});Ke();_t();var Jge=tt(P8()),Vge=tt(z1()),zge=tt(x8()),b8=Ie("util"),Q0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=fe.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=fe.String();this.value=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new ot("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new ot(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new ot("This setting only affects the file it's in, and thus cannot be set from the CLI");let A=this.json?JSON.parse(this.value):this.value;await(this.home?E=>Xe.updateHomeConfiguration(E):E=>Xe.updateConfiguration(o(),E))(E=>{if(n){let R=(0,Jge.default)(E);return(0,zge.default)(R,this.name,A),R}else return{...E,[a]:A}});let C=(await Xe.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),w=Ye.convertMapsToIndexableObjects(C),v=n?(0,Vge.default)(w,n):w;return(await Ct.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async E=>{b8.inspect.styles.name="cyan",E.reportInfo(0,`Successfully set ${this.name} to ${(0,b8.inspect)(v,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};Q0.paths=[["config","set"]],Q0.usage=it.Usage({description:"change a configuration settings",details:` | 401 | `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});Ke();_t();var ede=tt(x8()),tde=tt(e2()),rde=tt(b8()),Q8=Ie("util"),k0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=fe.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=fe.String();this.value=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new ot("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new ot(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new ot("This setting only affects the file it's in, and thus cannot be set from the CLI");let A=this.json?JSON.parse(this.value):this.value;await(this.home?C=>Xe.updateHomeConfiguration(C):C=>Xe.updateConfiguration(o(),C))(C=>{if(n){let R=(0,ede.default)(C);return(0,rde.default)(R,this.name,A),R}else return{...C,[a]:A}});let E=(await Xe.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),w=Ye.convertMapsToIndexableObjects(E),v=n?(0,tde.default)(w,n):w;return(await Et.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async C=>{Q8.inspect.styles.name="cyan",C.reportInfo(0,`Successfully set ${this.name} to ${(0,Q8.inspect)(v,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};k0.paths=[["config","set"]],k0.usage=it.Usage({description:"change a configuration settings",details:` |
402 | This command will set a configuration setting. | 402 | This command will set a configuration setting. |
403 | 403 | ||
404 | When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). | 404 | When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). |
405 | 405 | ||
406 | When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. | 406 | When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. |
407 | `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});Ke();_t();var ade=tt(P8()),lde=tt(ede()),cde=tt(k8()),k0=class extends ct{constructor(){super(...arguments);this.home=fe.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new ot("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new ot(`Couldn't find a configuration settings named "${a}"`);let A=this.home?h=>Xe.updateHomeConfiguration(h):h=>Xe.updateConfiguration(o(),h);return(await Ct.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let C=!1;await A(w=>{if(!(0,lde.default)(w,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),C=!0,w;let v=n?(0,ade.default)(w):{...w};return(0,cde.default)(v,this.name),v}),C||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};k0.paths=[["config","unset"]],k0.usage=it.Usage({description:"unset a configuration setting",details:` | 407 | `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});Ke();_t();var pde=tt(x8()),hde=tt(ode()),gde=tt(F8()),F0=class extends ct{constructor(){super(...arguments);this.home=fe.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new ot("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new ot(`Couldn't find a configuration settings named "${a}"`);let A=this.home?h=>Xe.updateHomeConfiguration(h):h=>Xe.updateConfiguration(o(),h);return(await Et.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let E=!1;await A(w=>{if(!(0,hde.default)(w,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),E=!0,w;let v=n?(0,pde.default)(w):{...w};return(0,gde.default)(v,this.name),v}),E||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};F0.paths=[["config","unset"]],F0.usage=it.Usage({description:"unset a configuration setting",details:` |
408 | This command will unset a configuration setting. | 408 | This command will unset a configuration setting. |
409 | `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});Ke();Ke();_t();var F8=Ie("util"),F0=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=fe.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{if(r.invalid.size>0&&!this.json){for(let[n,u]of r.invalid)a.reportError(34,`Invalid configuration key "${n}" in ${u}`);a.reportSeparator()}if(this.json){let n=Ye.sortMap(r.settings.keys(),u=>u);for(let u of n){let A=r.settings.get(u),p=r.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),h=r.sources.get(u);this.verbose?a.reportJson({key:u,effective:p,source:h}):a.reportJson({key:u,effective:p,source:h,...A})}}else{let n=Ye.sortMap(r.settings.keys(),p=>p),u=n.reduce((p,h)=>Math.max(p,h.length),0),A={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let p=n.map(C=>{let w=r.settings.get(C);if(!w)throw new Error(`Assertion failed: This settings ("${C}") should have been registered`);let v=this.why?r.sources.get(C)||"<default>":w.description;return[C,v]}),h=p.reduce((C,[,w])=>Math.max(C,w.length),0);for(let[C,w]of p)a.reportInfo(null,`${C.padEnd(u," ")} ${w.padEnd(h," ")} ${(0,F8.inspect)(r.getSpecial(C,{hideSecrets:!0,getNativePaths:!0}),A)}`)}else for(let p of n)a.reportInfo(null,`${p.padEnd(u," ")} ${(0,F8.inspect)(r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),A)}`)}})).exitCode()}};F0.paths=[["config"]],F0.usage=it.Usage({description:"display the current configuration",details:` | 409 | `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});Ke();Ke();_t();var R8=Ie("util"),R0=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=fe.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{if(r.invalid.size>0&&!this.json){for(let[n,u]of r.invalid)a.reportError(34,`Invalid configuration key "${n}" in ${u}`);a.reportSeparator()}if(this.json){let n=Ye.sortMap(r.settings.keys(),u=>u);for(let u of n){let A=r.settings.get(u),p=r.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),h=r.sources.get(u);this.verbose?a.reportJson({key:u,effective:p,source:h}):a.reportJson({key:u,effective:p,source:h,...A})}}else{let n=Ye.sortMap(r.settings.keys(),p=>p),u=n.reduce((p,h)=>Math.max(p,h.length),0),A={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let p=n.map(E=>{let w=r.settings.get(E);if(!w)throw new Error(`Assertion failed: This settings ("${E}") should have been registered`);let v=this.why?r.sources.get(E)||"<default>":w.description;return[E,v]}),h=p.reduce((E,[,w])=>Math.max(E,w.length),0);for(let[E,w]of p)a.reportInfo(null,`${E.padEnd(u," ")} ${w.padEnd(h," ")} ${(0,R8.inspect)(r.getSpecial(E,{hideSecrets:!0,getNativePaths:!0}),A)}`)}else for(let p of n)a.reportInfo(null,`${p.padEnd(u," ")} ${(0,R8.inspect)(r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),A)}`)}})).exitCode()}};R0.paths=[["config"]],R0.usage=it.Usage({description:"display the current configuration",details:` |
410 | This command prints the current active configuration settings. | 410 | This command prints the current active configuration settings. |
411 | `,examples:[["Print the active configuration settings","$0 config"]]});Ke();_t();$a();var Xb={};Yt(Xb,{Strategy:()=>X1,acceptedStrategies:()=>W0t,dedupe:()=>R8});Ke();Ke();var ude=tt(Jo()),X1=(e=>(e.HIGHEST="highest",e))(X1||{}),W0t=new Set(Object.values(X1)),Y0t={highest:async(t,e,{resolver:r,fetcher:o,resolveOptions:a,fetchOptions:n})=>{let u=new Map;for(let[p,h]of t.storedResolutions){let C=t.storedDescriptors.get(p);if(typeof C>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);Ye.getSetWithDefault(u,C.identHash).add(h)}let A=new Map(Ye.mapAndFilter(t.storedDescriptors.values(),p=>Y.isVirtualDescriptor(p)?Ye.mapAndFilter.skip:[p.descriptorHash,Ye.makeDeferred()]));for(let p of t.storedDescriptors.values()){let h=A.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let C=t.storedResolutions.get(p.descriptorHash);if(typeof C>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let w=t.originalPackages.get(C);if(typeof w>"u")throw new Error(`Assertion failed: The package (${C}) should have been registered`);Promise.resolve().then(async()=>{var re;let v=r.getResolutionDependencies(p,a),b=Object.fromEntries(await Ye.allSettledSafe(Object.entries(v).map(async([oe,pe])=>{let he=A.get(pe.descriptorHash);if(typeof he>"u")throw new Error(`Assertion failed: The descriptor (${pe.descriptorHash}) should have been registered`);let ve=await he.promise;if(!ve)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[oe,ve.updatedPackage]})));if(e.length&&!ude.default.isMatch(Y.stringifyIdent(p),e)||!r.shouldPersistResolution(w,a))return w;let E=u.get(p.identHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(E.size===1)return w;let R=[...E].map(oe=>{let pe=t.originalPackages.get(oe);if(typeof pe>"u")throw new Error(`Assertion failed: The package (${oe}) should have been registered`);return pe}),L=await r.getSatisfying(p,b,R,a),_=(re=L.locators)==null?void 0:re[0];if(typeof _>"u"||!L.sorted)return w;let J=t.originalPackages.get(_.locatorHash);if(typeof J>"u")throw new Error(`Assertion failed: The package (${_.locatorHash}) should have been registered`);return J}).then(async v=>{let b=await t.preparePackage(v,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:w,updatedPackage:v,resolvedPackage:b})}).catch(v=>{h.reject(v)})}return[...A.values()].map(p=>p.promise)}};async function R8(t,{strategy:e,patterns:r,cache:o,report:a}){let{configuration:n}=t,u=new xi,A=n.makeResolver(),p=n.makeFetcher(),h={cache:o,checksums:t.storedChecksums,fetcher:p,project:t,report:u,cacheOptions:{skipIntegrityCheck:!0}},C={project:t,resolver:A,report:u,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let w=Y0t[e],v=await w(t,r,{resolver:A,resolveOptions:C,fetcher:p,fetchOptions:h}),b=Vs.progressViaCounter(v.length);await a.reportProgress(b);let E=0;await Promise.all(v.map(_=>_.then(J=>{if(J===null||J.currentPackage.locatorHash===J.updatedPackage.locatorHash)return;E++;let{descriptor:re,currentPackage:oe,updatedPackage:pe}=J;a.reportInfo(0,`${Y.prettyDescriptor(n,re)} can be deduped from ${Y.prettyLocator(n,oe)} to ${Y.prettyLocator(n,pe)}`),a.reportJson({descriptor:Y.stringifyDescriptor(re),currentResolution:Y.stringifyLocator(oe),updatedResolution:Y.stringifyLocator(pe)}),t.storedResolutions.set(re.descriptorHash,pe.locatorHash)}).finally(()=>b.tick())));let R;switch(E){case 0:R="No packages";break;case 1:R="One package";break;default:R=`${E} packages`}let L=ye.pretty(n,e,ye.Type.CODE);return a.reportInfo(0,`${R} can be deduped using the ${L} strategy`),E})}var R0=class extends ct{constructor(){super(...arguments);this.strategy=fe.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Gs(X1)});this.check=fe.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(fl)});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=await Ur.find(r);await o.restoreInstallState({restoreResolutions:!1});let n=0,u=await Ct.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async A=>{n=await R8(o,{strategy:this.strategy,patterns:this.patterns,cache:a,report:A})});return u.hasErrors()?u.exitCode():this.check?n?1:0:(await Ct.start({configuration:r,stdout:this.context.stdout,json:this.json},async p=>{await o.install({cache:a,report:p,mode:this.mode})})).exitCode()}};R0.paths=[["dedupe"]],R0.usage=it.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});Ke();_t();var Yd=class extends ct{async execute(){let{plugins:e}=await Xe.find(this.context.cwd,this.context.plugins),r=[];for(let u of e){let{commands:A}=u[1];if(A){let h=vo.from(A).definitions();r.push([u[0],h])}}let o=this.cli.definitions(),a=(u,A)=>u.split(" ").slice(1).join()===A.split(" ").slice(1).join(),n=Ade()["@yarnpkg/builder"].bundles.standard;for(let u of r){let A=u[1];for(let p of A)o.find(h=>a(h.path,p.path)).plugin={name:u[0],isDefault:n.includes(u[0])}}this.context.stdout.write(`${JSON.stringify(o,null,2)} | 411 | `,examples:[["Print the active configuration settings","$0 config"]]});Ke();_t();tl();var iQ={};Yt(iQ,{Strategy:()=>t2,acceptedStrategies:()=>rht,dedupe:()=>T8});Ke();Ke();var dde=tt(Jo()),t2=(e=>(e.HIGHEST="highest",e))(t2||{}),rht=new Set(Object.values(t2)),nht={highest:async(t,e,{resolver:r,fetcher:o,resolveOptions:a,fetchOptions:n})=>{let u=new Map;for(let[p,h]of t.storedResolutions){let E=t.storedDescriptors.get(p);if(typeof E>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);Ye.getSetWithDefault(u,E.identHash).add(h)}let A=new Map(Ye.mapAndFilter(t.storedDescriptors.values(),p=>Y.isVirtualDescriptor(p)?Ye.mapAndFilter.skip:[p.descriptorHash,Ye.makeDeferred()]));for(let p of t.storedDescriptors.values()){let h=A.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let E=t.storedResolutions.get(p.descriptorHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let w=t.originalPackages.get(E);if(typeof w>"u")throw new Error(`Assertion failed: The package (${E}) should have been registered`);Promise.resolve().then(async()=>{var re;let v=r.getResolutionDependencies(p,a),b=Object.fromEntries(await Ye.allSettledSafe(Object.entries(v).map(async([oe,pe])=>{let he=A.get(pe.descriptorHash);if(typeof he>"u")throw new Error(`Assertion failed: The descriptor (${pe.descriptorHash}) should have been registered`);let ve=await he.promise;if(!ve)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[oe,ve.updatedPackage]})));if(e.length&&!dde.default.isMatch(Y.stringifyIdent(p),e)||!r.shouldPersistResolution(w,a))return w;let C=u.get(p.identHash);if(typeof C>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(C.size===1)return w;let R=[...C].map(oe=>{let pe=t.originalPackages.get(oe);if(typeof pe>"u")throw new Error(`Assertion failed: The package (${oe}) should have been registered`);return pe}),L=await r.getSatisfying(p,b,R,a),_=(re=L.locators)==null?void 0:re[0];if(typeof _>"u"||!L.sorted)return w;let V=t.originalPackages.get(_.locatorHash);if(typeof V>"u")throw new Error(`Assertion failed: The package (${_.locatorHash}) should have been registered`);return V}).then(async v=>{let b=await t.preparePackage(v,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:w,updatedPackage:v,resolvedPackage:b})}).catch(v=>{h.reject(v)})}return[...A.values()].map(p=>p.promise)}};async function T8(t,{strategy:e,patterns:r,cache:o,report:a}){let{configuration:n}=t,u=new xi,A=n.makeResolver(),p=n.makeFetcher(),h={cache:o,checksums:t.storedChecksums,fetcher:p,project:t,report:u,cacheOptions:{skipIntegrityCheck:!0}},E={project:t,resolver:A,report:u,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let w=nht[e],v=await w(t,r,{resolver:A,resolveOptions:E,fetcher:p,fetchOptions:h}),b=Js.progressViaCounter(v.length);await a.reportProgress(b);let C=0;await Promise.all(v.map(_=>_.then(V=>{if(V===null||V.currentPackage.locatorHash===V.updatedPackage.locatorHash)return;C++;let{descriptor:re,currentPackage:oe,updatedPackage:pe}=V;a.reportInfo(0,`${Y.prettyDescriptor(n,re)} can be deduped from ${Y.prettyLocator(n,oe)} to ${Y.prettyLocator(n,pe)}`),a.reportJson({descriptor:Y.stringifyDescriptor(re),currentResolution:Y.stringifyLocator(oe),updatedResolution:Y.stringifyLocator(pe)}),t.storedResolutions.set(re.descriptorHash,pe.locatorHash)}).finally(()=>b.tick())));let R;switch(C){case 0:R="No packages";break;case 1:R="One package";break;default:R=`${C} packages`}let L=ye.pretty(n,e,ye.Type.CODE);return a.reportInfo(0,`${R} can be deduped using the ${L} strategy`),C})}var T0=class extends ct{constructor(){super(...arguments);this.strategy=fe.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Gs(t2)});this.check=fe.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(gl)});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=await Ur.find(r);await o.restoreInstallState({restoreResolutions:!1});let n=0,u=await Et.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async A=>{n=await T8(o,{strategy:this.strategy,patterns:this.patterns,cache:a,report:A})});return u.hasErrors()?u.exitCode():this.check?n?1:0:(await Et.start({configuration:r,stdout:this.context.stdout,json:this.json},async p=>{await o.install({cache:a,report:p,mode:this.mode})})).exitCode()}};T0.paths=[["dedupe"]],T0.usage=it.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});Ke();_t();var Jd=class extends ct{async execute(){let{plugins:e}=await Xe.find(this.context.cwd,this.context.plugins),r=[];for(let u of e){let{commands:A}=u[1];if(A){let h=vo.from(A).definitions();r.push([u[0],h])}}let o=this.cli.definitions(),a=(u,A)=>u.split(" ").slice(1).join()===A.split(" ").slice(1).join(),n=mde()["@yarnpkg/builder"].bundles.standard;for(let u of r){let A=u[1];for(let p of A)o.find(h=>a(h.path,p.path)).plugin={name:u[0],isDefault:n.includes(u[0])}}this.context.stdout.write(`${JSON.stringify(o,null,2)} |
412 | `)}};Yd.paths=[["--clipanion=definitions"]];var Kd=class extends ct{async execute(){this.context.stdout.write(this.cli.usage(null))}};Kd.paths=[["help"],["--help"],["-h"]];Ke();bt();_t();var lC=class extends ct{constructor(){super(...arguments);this.leadingArgument=fe.String();this.args=fe.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!Y.tryParseIdent(this.leadingArgument)){let r=V.resolve(this.context.cwd,Ae.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};Ke();var Jd=class extends ct{async execute(){this.context.stdout.write(`${On||"<unknown>"} | 412 | `)}};Jd.paths=[["--clipanion=definitions"]];var zd=class extends ct{async execute(){this.context.stdout.write(this.cli.usage(null))}};zd.paths=[["help"],["--help"],["-h"]];Ke();bt();_t();var pE=class extends ct{constructor(){super(...arguments);this.leadingArgument=fe.String();this.args=fe.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!Y.tryParseIdent(this.leadingArgument)){let r=z.resolve(this.context.cwd,ue.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};Ke();var Xd=class extends ct{async execute(){this.context.stdout.write(`${On||"<unknown>"} |
413 | `)}};Jd.paths=[["-v"],["--version"]];Ke();Ke();_t();var T0=class extends ct{constructor(){super(...arguments);this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);return await o.restoreInstallState(),await sn.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:o})}};T0.paths=[["exec"]],T0.usage=it.Usage({description:"execute a shell script",details:` | 413 | `)}};Xd.paths=[["-v"],["--version"]];Ke();Ke();_t();var N0=class extends ct{constructor(){super(...arguments);this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);return await o.restoreInstallState(),await sn.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:o})}};N0.paths=[["exec"]],N0.usage=it.Usage({description:"execute a shell script",details:` |
414 | This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. | 414 | This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. |
415 | 415 | ||
416 | It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). | 416 | It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). |
417 | `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});Ke();_t();$a();var N0=class extends ct{constructor(){super(...arguments);this.hash=fe.String({required:!1,validator:Xg(JI(),[VI(/^p[0-9a-f]{5}$/)])})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),await o.applyLightResolution(),typeof this.hash<"u"?await J0t(this.hash,o,{stdout:this.context.stdout}):(await Ct.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=[([,A])=>Y.stringifyLocator(o.storedPackages.get(A.subject)),([,A])=>Y.stringifyIdent(A.requested)];for(let[A,p]of Ye.sortMap(o.peerRequirements,u)){let h=o.storedPackages.get(p.subject);if(typeof h>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let C=o.storedPackages.get(p.rootRequester);if(typeof C>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let w=h.dependencies.get(p.requested.identHash)??null,v=ye.pretty(r,A,ye.Type.CODE),b=Y.prettyLocator(r,h),E=Y.prettyIdent(r,p.requested),R=Y.prettyIdent(r,C),L=p.allRequesters.length-1,_=`descendant${L===1?"":"s"}`,J=L>0?` and ${L} ${_}`:"",re=w!==null?"provides":"doesn't provide";n.reportInfo(null,`${v} \u2192 ${b} ${re} ${E} to ${R}${J}`)}})).exitCode()}};N0.paths=[["explain","peer-requirements"]],N0.usage=it.Usage({description:"explain a set of peer requirements",details:` | 417 | `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});Ke();_t();tl();var L0=class extends ct{constructor(){super(...arguments);this.hash=fe.String({required:!1,validator:ed(ZI(),[$I(/^p[0-9a-f]{5}$/)])})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),await o.applyLightResolution(),typeof this.hash<"u"?await sht(this.hash,o,{stdout:this.context.stdout}):(await Et.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=[([,A])=>Y.stringifyLocator(o.storedPackages.get(A.subject)),([,A])=>Y.stringifyIdent(A.requested)];for(let[A,p]of Ye.sortMap(o.peerRequirements,u)){let h=o.storedPackages.get(p.subject);if(typeof h>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let E=o.storedPackages.get(p.rootRequester);if(typeof E>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let w=h.dependencies.get(p.requested.identHash)??null,v=ye.pretty(r,A,ye.Type.CODE),b=Y.prettyLocator(r,h),C=Y.prettyIdent(r,p.requested),R=Y.prettyIdent(r,E),L=p.allRequesters.length-1,_=`descendant${L===1?"":"s"}`,V=L>0?` and ${L} ${_}`:"",re=w!==null?"provides":"doesn't provide";n.reportInfo(null,`${v} \u2192 ${b} ${re} ${C} to ${R}${V}`)}})).exitCode()}};L0.paths=[["explain","peer-requirements"]],L0.usage=it.Usage({description:"explain a set of peer requirements",details:` |
418 | A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. | 418 | A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. |
419 | 419 | ||
420 | When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. | 420 | When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. |
@@ -422,9 +422,9 @@ Try running the command again with the package name prefixed: ${ye.pretty(r,"yar | |||
422 | When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. | 422 | When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. |
423 | 423 | ||
424 | **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). | 424 | **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). |
425 | `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function J0t(t,e,r){let{configuration:o}=e,a=e.peerRequirements.get(t);if(typeof a>"u")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Ct.start({configuration:o,stdout:r.stdout,includeFooter:!1},async u=>{let A=e.storedPackages.get(a.subject);if(typeof A>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let p=e.storedPackages.get(a.rootRequester);if(typeof p>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let h=A.dependencies.get(a.requested.identHash)??null,C=h!==null?e.storedResolutions.get(h.descriptorHash):null;if(typeof C>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let w=C!==null?e.storedPackages.get(C):null;if(typeof w>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let v=[...a.allRequesters.values()].map(_=>{let J=e.storedPackages.get(_);if(typeof J>"u")throw new Error("Assertion failed: Expected the package to be registered");let re=Y.devirtualizeLocator(J),oe=e.storedPackages.get(re.locatorHash);if(typeof oe>"u")throw new Error("Assertion failed: Expected the package to be registered");let pe=oe.peerDependencies.get(a.requested.identHash);if(typeof pe>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:J,peerDependency:pe}});if(w!==null){let _=v.every(({peerDependency:J})=>Tr.satisfiesWithPrereleases(w.version,J.range));u.reportInfo(0,`${Y.prettyLocator(o,A)} provides ${Y.prettyLocator(o,w)} with version ${Y.prettyReference(o,w.version??"<missing>")}, which ${_?"satisfies":"doesn't satisfy"} the following requirements:`)}else u.reportInfo(0,`${Y.prettyLocator(o,A)} doesn't provide ${Y.prettyIdent(o,a.requested)}, breaking the following requirements:`);u.reportSeparator();let b=ye.mark(o),E=[];for(let{pkg:_,peerDependency:J}of Ye.sortMap(v,re=>Y.stringifyLocator(re.pkg))){let oe=(w!==null?Tr.satisfiesWithPrereleases(w.version,J.range):!1)?b.Check:b.Cross;E.push({stringifiedLocator:Y.stringifyLocator(_),prettyLocator:Y.prettyLocator(o,_),prettyRange:Y.prettyRange(o,J.range),mark:oe})}let R=Math.max(...E.map(({stringifiedLocator:_})=>_.length)),L=Math.max(...E.map(({prettyRange:_})=>_.length));for(let{stringifiedLocator:_,prettyLocator:J,prettyRange:re,mark:oe}of Ye.sortMap(E,({stringifiedLocator:pe})=>pe))u.reportInfo(null,`${J.padEnd(R+(J.length-_.length)," ")} \u2192 ${re.padEnd(L," ")} ${oe}`);E.length>1&&(u.reportSeparator(),u.reportInfo(0,`Note: these requirements start with ${Y.prettyLocator(e.configuration,p)}`))})).exitCode()}Ke();_t();$a();Ke();Ke();bt();_t();var fde=tt(ii()),L0=class extends ct{constructor(){super(...arguments);this.useYarnPath=fe.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=fe.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let A=r.sources.get("yarnPath");if(!A)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(V.contains(p,A))return 0}let o=()=>{if(typeof On>"u")throw new ot("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(A,p)=>({version:p,url:A.replace(/\{\}/g,p)});if(this.version==="self")a={url:o(),version:On??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await Z1(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await Z1(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||Ae.isAbsolute(this.version))a={url:`file://${V.resolve(Ae.toPortablePath(this.version))}`,version:"file"};else if(Tr.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(Tr.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(Tr.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await V0t(r,this.version));else throw new ot(`Invalid version descriptor "${this.version}"`);return(await Ct.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async A=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(A.reportInfo(0,`Retrieving ${ye.pretty(r,a.url,ye.Type.PATH)}`),await ae.readFilePromise(a.url.slice(h.length))):(A.reportInfo(0,`Downloading ${ye.pretty(r,a.url,ye.Type.URL)}`),await ln.get(a.url,{configuration:r}))};await T8(r,a.version,p,{report:A,useYarnPath:this.useYarnPath})})).exitCode()}};L0.paths=[["set","version"]],L0.usage=it.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function V0t(t,e){let o=(await ln.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(a=>Tr.satisfiesWithPrereleases(a,e));if(o.length===0)throw new ot(`No matching release found for range ${ye.pretty(t,e,ye.Type.RANGE)}.`);return o[0]}async function Z1(t,e){let r=await ln.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new ot(`Tag ${ye.pretty(t,e,ye.Type.RANGE)} not found`);return r.latest[e]}async function T8(t,e,r,{report:o,useYarnPath:a}){let n,u=async()=>(typeof n>"u"&&(n=await r()),n);if(e===null){let re=await u();await ae.mktempPromise(async oe=>{let pe=V.join(oe,"yarn.cjs");await ae.writeFilePromise(pe,re);let{stdout:he}=await Mr.execvp(process.execPath,[Ae.fromPortablePath(pe),"--version"],{cwd:oe,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(e=he.trim(),!fde.default.valid(e))throw new Error(`Invalid semver version. ${ye.pretty(t,"yarn --version",ye.Type.CODE)} returned: | 425 | `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function sht(t,e,r){let{configuration:o}=e,a=e.peerRequirements.get(t);if(typeof a>"u")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Et.start({configuration:o,stdout:r.stdout,includeFooter:!1},async u=>{let A=e.storedPackages.get(a.subject);if(typeof A>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let p=e.storedPackages.get(a.rootRequester);if(typeof p>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let h=A.dependencies.get(a.requested.identHash)??null,E=h!==null?e.storedResolutions.get(h.descriptorHash):null;if(typeof E>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let w=E!==null?e.storedPackages.get(E):null;if(typeof w>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let v=[...a.allRequesters.values()].map(_=>{let V=e.storedPackages.get(_);if(typeof V>"u")throw new Error("Assertion failed: Expected the package to be registered");let re=Y.devirtualizeLocator(V),oe=e.storedPackages.get(re.locatorHash);if(typeof oe>"u")throw new Error("Assertion failed: Expected the package to be registered");let pe=oe.peerDependencies.get(a.requested.identHash);if(typeof pe>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:V,peerDependency:pe}});if(w!==null){let _=v.every(({peerDependency:V})=>Tr.satisfiesWithPrereleases(w.version,V.range));u.reportInfo(0,`${Y.prettyLocator(o,A)} provides ${Y.prettyLocator(o,w)} with version ${Y.prettyReference(o,w.version??"<missing>")}, which ${_?"satisfies":"doesn't satisfy"} the following requirements:`)}else u.reportInfo(0,`${Y.prettyLocator(o,A)} doesn't provide ${Y.prettyIdent(o,a.requested)}, breaking the following requirements:`);u.reportSeparator();let b=ye.mark(o),C=[];for(let{pkg:_,peerDependency:V}of Ye.sortMap(v,re=>Y.stringifyLocator(re.pkg))){let oe=(w!==null?Tr.satisfiesWithPrereleases(w.version,V.range):!1)?b.Check:b.Cross;C.push({stringifiedLocator:Y.stringifyLocator(_),prettyLocator:Y.prettyLocator(o,_),prettyRange:Y.prettyRange(o,V.range),mark:oe})}let R=Math.max(...C.map(({stringifiedLocator:_})=>_.length)),L=Math.max(...C.map(({prettyRange:_})=>_.length));for(let{stringifiedLocator:_,prettyLocator:V,prettyRange:re,mark:oe}of Ye.sortMap(C,({stringifiedLocator:pe})=>pe))u.reportInfo(null,`${V.padEnd(R+(V.length-_.length)," ")} \u2192 ${re.padEnd(L," ")} ${oe}`);C.length>1&&(u.reportSeparator(),u.reportInfo(0,`Note: these requirements start with ${Y.prettyLocator(e.configuration,p)}`))})).exitCode()}Ke();_t();tl();Ke();Ke();bt();_t();var yde=tt(si()),O0=class extends ct{constructor(){super(...arguments);this.useYarnPath=fe.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=fe.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let A=r.sources.get("yarnPath");if(!A)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(z.contains(p,A))return 0}let o=()=>{if(typeof On>"u")throw new ot("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(A,p)=>({version:p,url:A.replace(/\{\}/g,p)});if(this.version==="self")a={url:o(),version:On??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await r2(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await r2(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.version))a={url:`file://${z.resolve(ue.toPortablePath(this.version))}`,version:"file"};else if(Tr.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(Tr.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(Tr.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await oht(r,this.version));else throw new ot(`Invalid version descriptor "${this.version}"`);return(await Et.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async A=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(A.reportInfo(0,`Retrieving ${ye.pretty(r,a.url,ye.Type.PATH)}`),await ae.readFilePromise(a.url.slice(h.length))):(A.reportInfo(0,`Downloading ${ye.pretty(r,a.url,ye.Type.URL)}`),await ln.get(a.url,{configuration:r}))};await N8(r,a.version,p,{report:A,useYarnPath:this.useYarnPath})})).exitCode()}};O0.paths=[["set","version"]],O0.usage=it.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function oht(t,e){let o=(await ln.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(a=>Tr.satisfiesWithPrereleases(a,e));if(o.length===0)throw new ot(`No matching release found for range ${ye.pretty(t,e,ye.Type.RANGE)}.`);return o[0]}async function r2(t,e){let r=await ln.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new ot(`Tag ${ye.pretty(t,e,ye.Type.RANGE)} not found`);return r.latest[e]}async function N8(t,e,r,{report:o,useYarnPath:a}){let n,u=async()=>(typeof n>"u"&&(n=await r()),n);if(e===null){let re=await u();await ae.mktempPromise(async oe=>{let pe=z.join(oe,"yarn.cjs");await ae.writeFilePromise(pe,re);let{stdout:he}=await Mr.execvp(process.execPath,[ue.fromPortablePath(pe),"--version"],{cwd:oe,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(e=he.trim(),!yde.default.valid(e))throw new Error(`Invalid semver version. ${ye.pretty(t,"yarn --version",ye.Type.CODE)} returned: |
426 | ${e}`)})}let A=t.projectCwd??t.startingCwd,p=V.resolve(A,".yarn/releases"),h=V.resolve(p,`yarn-${e}.cjs`),C=V.relative(t.startingCwd,h),w=Ye.isTaggedYarnVersion(e),v=t.get("yarnPath"),b=!w,E=b||!!v||!!a;if(a===!1){if(b)throw new Jt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");E=!1}else!E&&!process.env.COREPACK_ROOT&&(o.reportWarning(0,`You don't seem to have ${ye.applyHyperlink(t,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${ye.applyHyperlink(t,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),E=!0);if(E){let re=await u();o.reportInfo(0,`Saving the new release in ${ye.pretty(t,C,"magenta")}`),await ae.removePromise(V.dirname(h)),await ae.mkdirPromise(V.dirname(h),{recursive:!0}),await ae.writeFilePromise(h,re,{mode:493}),await Xe.updateConfiguration(A,{yarnPath:V.relative(A,h)})}else await ae.removePromise(V.dirname(h)),await Xe.updateConfiguration(A,{yarnPath:Xe.deleteProperty});let R=await Nt.tryFind(A)||new Nt;R.packageManager=`yarn@${w?e:await Z1(t,"stable")}`;let L={};R.exportTo(L);let _=V.join(A,Nt.fileName),J=`${JSON.stringify(L,null,R.indent)} | 426 | ${e}`)})}let A=t.projectCwd??t.startingCwd,p=z.resolve(A,".yarn/releases"),h=z.resolve(p,`yarn-${e}.cjs`),E=z.relative(t.startingCwd,h),w=Ye.isTaggedYarnVersion(e),v=t.get("yarnPath"),b=!w,C=b||!!v||!!a;if(a===!1){if(b)throw new Vt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");C=!1}else!C&&!process.env.COREPACK_ROOT&&(o.reportWarning(0,`You don't seem to have ${ye.applyHyperlink(t,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${ye.applyHyperlink(t,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),C=!0);if(C){let re=await u();o.reportInfo(0,`Saving the new release in ${ye.pretty(t,E,"magenta")}`),await ae.removePromise(z.dirname(h)),await ae.mkdirPromise(z.dirname(h),{recursive:!0}),await ae.writeFilePromise(h,re,{mode:493}),await Xe.updateConfiguration(A,{yarnPath:z.relative(A,h)})}else await ae.removePromise(z.dirname(h)),await Xe.updateConfiguration(A,{yarnPath:Xe.deleteProperty});let R=await Nt.tryFind(A)||new Nt;R.packageManager=`yarn@${w?e:await r2(t,"stable")}`;let L={};R.exportTo(L);let _=z.join(A,Nt.fileName),V=`${JSON.stringify(L,null,R.indent)} |
427 | `;return await ae.changeFilePromise(_,J,{automaticNewlines:!0}),{bundleVersion:e}}function pde(t){return dr[YD(t)]}var z0t=/## (?<code>YN[0-9]{4}) - `(?<name>[A-Z_]+)`\n\n(?<details>(?:.(?!##))+)/gs;async function X0t(t){let r=`https://repo.yarnpkg.com/${Ye.isTaggedYarnVersion(On)?On:await Z1(t,"canary")}/packages/gatsby/content/advanced/error-codes.md`,o=await ln.get(r,{configuration:t});return new Map(Array.from(o.toString().matchAll(z0t),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=pde(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var O0=class extends ct{constructor(){super(...arguments);this.code=fe.String({required:!1,validator:Xg(JI(),[VI(/^YN[0-9]{4}$/)])});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let o=pde(this.code),a=ye.pretty(r,o,ye.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),A=(await X0t(r)).get(this.code),p=typeof A<"u"?ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.MARKDOWN,{text:A,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. | 427 | `;return await ae.changeFilePromise(_,V,{automaticNewlines:!0}),{bundleVersion:e}}function Cde(t){return dr[$D(t)]}var aht=/## (?<code>YN[0-9]{4}) - `(?<name>[A-Z_]+)`\n\n(?<details>(?:.(?!##))+)/gs;async function lht(t){let r=`https://repo.yarnpkg.com/${Ye.isTaggedYarnVersion(On)?On:await r2(t,"canary")}/packages/gatsby/content/advanced/error-codes.md`,o=await ln.get(r,{configuration:t});return new Map(Array.from(o.toString().matchAll(aht),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=Cde(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var M0=class extends ct{constructor(){super(...arguments);this.code=fe.String({required:!1,validator:ed(ZI(),[$I(/^YN[0-9]{4}$/)])});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let o=Cde(this.code),a=ye.pretty(r,o,ye.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),A=(await lht(r)).get(this.code),p=typeof A<"u"?ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.MARKDOWN,{text:A,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. |
428 | 428 | ||
429 | You can help us by editing this page on GitHub \u{1F642}: | 429 | You can help us by editing this page on GitHub \u{1F642}: |
430 | ${ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} | 430 | ${ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} |
@@ -432,25 +432,25 @@ ${ye.jsonOrPretty(this.json,r,ye.tuple(ye.Type.URL,"https://github.com/yarnpkg/b | |||
432 | `):this.context.stdout.write(`${n} | 432 | `):this.context.stdout.write(`${n} |
433 | 433 | ||
434 | ${p} | 434 | ${p} |
435 | `)}else{let o={children:Ye.mapAndFilter(Object.entries(dr),([a,n])=>Number.isNaN(Number(a))?Ye.mapAndFilter.skip:{label:Ku(Number(a)),value:ye.tuple(ye.Type.CODE,n)})};Xo.emitTree(o,{configuration:r,stdout:this.context.stdout,json:this.json})}}};O0.paths=[["explain"]],O0.usage=it.Usage({description:"explain an error code",details:` | 435 | `)}else{let o={children:Ye.mapAndFilter(Object.entries(dr),([a,n])=>Number.isNaN(Number(a))?Ye.mapAndFilter.skip:{label:Vu(Number(a)),value:ye.tuple(ye.Type.CODE,n)})};Zo.emitTree(o,{configuration:r,stdout:this.context.stdout,json:this.json})}}};M0.paths=[["explain"]],M0.usage=it.Usage({description:"explain an error code",details:` |
436 | When the code argument is specified, this command prints its name and its details. | 436 | When the code argument is specified, this command prints its name and its details. |
437 | 437 | ||
438 | When used without arguments, this command lists all error codes and their names. | 438 | When used without arguments, this command lists all error codes and their names. |
439 | `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});Ke();bt();_t();var hde=tt(Jo()),M0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=fe.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=fe.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=fe.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=fe.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=fe.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=fe.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a&&!this.all)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let u=new Set(this.extra);this.cache&&u.add("cache"),this.dependents&&u.add("dependents"),this.manifest&&u.add("manifest");let A=(oe,{recursive:pe})=>{let he=oe.anchoredLocator.locatorHash,ve=new Map,ge=[he];for(;ge.length>0;){let le=ge.shift();if(ve.has(le))continue;let Pe=o.storedPackages.get(le);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the package to be registered");if(ve.set(le,Pe),Y.isVirtualLocator(Pe)&&ge.push(Y.devirtualizeLocator(Pe).locatorHash),!(!pe&&le!==he))for(let g of Pe.dependencies.values()){let De=o.storedResolutions.get(g.descriptorHash);if(typeof De>"u")throw new Error("Assertion failed: Expected the resolution to be registered");ge.push(De)}}return ve.values()},p=({recursive:oe})=>{let pe=new Map;for(let he of o.workspaces)for(let ve of A(he,{recursive:oe}))pe.set(ve.locatorHash,ve);return pe.values()},h=({all:oe,recursive:pe})=>oe&&pe?o.storedPackages.values():oe?p({recursive:pe}):A(a,{recursive:pe}),C=({all:oe,recursive:pe})=>{let he=h({all:oe,recursive:pe}),ve=this.patterns.map(Pe=>{let g=Y.parseLocator(Pe),De=hde.default.makeRe(Y.stringifyIdent(g)),Ee=Y.isVirtualLocator(g),de=Ee?Y.devirtualizeLocator(g):g;return ne=>{let Z=Y.stringifyIdent(ne);if(!De.test(Z))return!1;if(g.reference==="unknown")return!0;let me=Y.isVirtualLocator(ne),be=me?Y.devirtualizeLocator(ne):ne;return!(Ee&&me&&g.reference!==ne.reference||de.reference!==be.reference)}}),ge=Ye.sortMap([...he],Pe=>Y.stringifyLocator(Pe));return{selection:ge.filter(Pe=>ve.length===0||ve.some(g=>g(Pe))),sortedLookup:ge}},{selection:w,sortedLookup:v}=C({all:this.all,recursive:this.recursive});if(w.length===0)throw new ot("No package matched your request");let b=new Map;if(this.dependents)for(let oe of v)for(let pe of oe.dependencies.values()){let he=o.storedResolutions.get(pe.descriptorHash);if(typeof he>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ye.getArrayWithDefault(b,he).push(oe)}let E=new Map;for(let oe of v){if(!Y.isVirtualLocator(oe))continue;let pe=Y.devirtualizeLocator(oe);Ye.getArrayWithDefault(E,pe.locatorHash).push(oe)}let R={},L={children:R},_=r.makeFetcher(),J={project:o,fetcher:_,cache:n,checksums:o.storedChecksums,report:new xi,cacheOptions:{skipIntegrityCheck:!0}},re=[async(oe,pe,he)=>{var le;if(!pe.has("manifest"))return;let ve=await _.fetch(oe,J),ge;try{ge=await Nt.find(ve.prefixPath,{baseFs:ve.packageFs})}finally{(le=ve.releaseFs)==null||le.call(ve)}he("Manifest",{License:ye.tuple(ye.Type.NO_HINT,ge.license),Homepage:ye.tuple(ye.Type.URL,ge.raw.homepage??null)})},async(oe,pe,he)=>{if(!pe.has("cache"))return;let ve={mockedPackages:o.disabledLocators,unstablePackages:o.conditionalLocators},ge=o.storedChecksums.get(oe.locatorHash)??null,le=n.getLocatorPath(oe,ge,ve),Pe;if(le!==null)try{Pe=ae.statSync(le)}catch{}let g=typeof Pe<"u"?[Pe.size,ye.Type.SIZE]:void 0;he("Cache",{Checksum:ye.tuple(ye.Type.NO_HINT,ge),Path:ye.tuple(ye.Type.PATH,le),Size:g})}];for(let oe of w){let pe=Y.isVirtualLocator(oe);if(!this.virtuals&&pe)continue;let he={},ve={value:[oe,ye.Type.LOCATOR],children:he};if(R[Y.stringifyLocator(oe)]=ve,this.nameOnly){delete ve.children;continue}let ge=E.get(oe.locatorHash);typeof ge<"u"&&(he.Instances={label:"Instances",value:ye.tuple(ye.Type.NUMBER,ge.length)}),he.Version={label:"Version",value:ye.tuple(ye.Type.NO_HINT,oe.version)};let le=(g,De)=>{let Ee={};if(he[g]=Ee,Array.isArray(De))Ee.children=De.map(de=>({value:de}));else{let de={};Ee.children=de;for(let[ne,Z]of Object.entries(De))typeof Z>"u"||(de[ne]={label:ne,value:Z})}};if(!pe){for(let g of re)await g(oe,u,le);await r.triggerHook(g=>g.fetchPackageInfo,oe,u,le)}oe.bin.size>0&&!pe&&le("Exported Binaries",[...oe.bin.keys()].map(g=>ye.tuple(ye.Type.PATH,g)));let Pe=b.get(oe.locatorHash);typeof Pe<"u"&&Pe.length>0&&le("Dependents",Pe.map(g=>ye.tuple(ye.Type.LOCATOR,g))),oe.dependencies.size>0&&!pe&&le("Dependencies",[...oe.dependencies.values()].map(g=>{let De=o.storedResolutions.get(g.descriptorHash),Ee=typeof De<"u"?o.storedPackages.get(De)??null:null;return ye.tuple(ye.Type.RESOLUTION,{descriptor:g,locator:Ee})})),oe.peerDependencies.size>0&&pe&&le("Peer dependencies",[...oe.peerDependencies.values()].map(g=>{let De=oe.dependencies.get(g.identHash),Ee=typeof De<"u"?o.storedResolutions.get(De.descriptorHash)??null:null,de=Ee!==null?o.storedPackages.get(Ee)??null:null;return ye.tuple(ye.Type.RESOLUTION,{descriptor:g,locator:de})}))}Xo.emitTree(L,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};M0.paths=[["info"]],M0.usage=it.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});Ke();bt();Ol();var Zb=tt(Jg());_t();$a();var U0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=fe.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=fe.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=fe.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=fe.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=fe.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=fe.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(fl)});this.cacheFolder=fe.String("--cache-folder",{hidden:!0});this.frozenLockfile=fe.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=fe.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=fe.Boolean("--non-interactive",{hidden:!0});this.preferOffline=fe.Boolean("--prefer-offline",{hidden:!0});this.production=fe.Boolean("--production",{hidden:!0});this.registry=fe.String("--registry",{hidden:!0});this.silent=fe.Boolean("--silent",{hidden:!0});this.networkTimeout=fe.String("--network-timeout",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("<cli>",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let o=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=async(E,{error:R})=>{let L=await Ct.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async _=>{R?_.reportError(50,E):_.reportWarning(50,E)});return L.hasErrors()?L.exitCode():null};if(typeof this.ignoreEngines<"u"){let E=await a("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!Zb.default.VERCEL});if(E!==null)return E}if(typeof this.registry<"u"){let E=await a("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(E!==null)return E}if(typeof this.preferOffline<"u"){let E=await a("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!Zb.default.VERCEL});if(E!==null)return E}if(typeof this.production<"u"){let E=await a("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(E!==null)return E}if(typeof this.nonInteractive<"u"){let E=await a("The --non-interactive option is deprecated",{error:!o});if(E!==null)return E}if(typeof this.frozenLockfile<"u"&&(await a("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<"u"){let E=await a("The cache-folder option has been deprecated; use rc settings instead",{error:!Zb.default.NETLIFY});if(E!==null)return E}let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new ot(`${ye.pretty(r,"--immutable",ye.Type.CODE)} and ${ye.pretty(r,"--immutable-cache",ye.Type.CODE)} cannot be used with ${ye.pretty(r,"--mode=update-lockfile",ye.Type.CODE)}`);let u=(this.immutable??r.get("enableImmutableInstalls"))&&!n,A=this.immutableCache&&!n;if(r.projectCwd!==null){let E=await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{await $0t(r,u)&&(R.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),R.reportSeparator())});if(E.hasErrors())return E.exitCode()}if(r.projectCwd!==null&&typeof r.sources.get("nodeLinker")>"u"){let E=r.projectCwd,R;try{R=await ae.readFilePromise(V.join(E,Lr.lockfile),"utf8")}catch{}if(R!=null&&R.includes("yarn lockfile v1")){let L=await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async _=>{_.reportInfo(70,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),_.reportSeparator(),r.use("<compat>",{nodeLinker:"node-modules"},E,{overwrite:!0}),await Xe.updateConfiguration(E,{nodeLinker:"node-modules"})});if(L.hasErrors())return L.exitCode()}}if(r.projectCwd!==null){let E=await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{var L;(L=Xe.telemetry)!=null&&L.isNew&&(R.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),R.reportInfo(65,`Run ${ye.pretty(r,"yarn config set --home enableTelemetry 0",ye.Type.CODE)} to disable`),R.reportSeparator())});if(E.hasErrors())return E.exitCode()}let{project:p,workspace:h}=await St.find(r,this.context.cwd),C=await Ur.find(r,{immutable:A,check:this.checkCache});if(!h)throw new er(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let w=r.get("enableHardenedMode");(this.refreshLockfile??w)&&(p.lockfileNeedsRefresh=!0);let v=this.checkResolutions??w;return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!0},async E=>{await p.install({cache:C,report:E,immutable:u,checkResolutions:v,mode:this.mode})})).exitCode()}};U0.paths=[["install"],it.Default],U0.usage=it.Usage({description:"install the project dependencies",details:"\n This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where the cache files are stored).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePatterns` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var Z0t="<<<<<<<";async function $0t(t,e){if(!t.projectCwd)return!1;let r=V.join(t.projectCwd,t.get("lockfileFilename"));if(!await ae.existsPromise(r)||!(await ae.readFilePromise(r,"utf8")).includes(Z0t))return!1;if(e)throw new Jt(47,"Cannot autofix a lockfile when running an immutable install");let a=await Mr.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:t.projectCwd});if(a.code!==0&&(a=await Mr.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0&&(a=await Mr.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0)throw new Jt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async A=>{let p=await Mr.execvp("git",["show",`${A}:./${Lr.lockfile}`],{cwd:t.projectCwd});if(p.code!==0)throw new Jt(83,`Git returned an error when trying to access the lockfile content in ${A}`);try{return Yi(p.stdout)}catch{throw new Jt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(A=>!!A.__metadata);for(let A of n)if(A.__metadata.version<7)for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=Y.parseDescriptor(p,!0),C=t.normalizeDependency(h),w=Y.stringifyDescriptor(C);w!==p&&(A[w]=A[p],delete A[p])}let u=Object.assign({},...n);u.__metadata.version=Math.min(0,...n.map(A=>A.__metadata.version??1/0)),u.__metadata.cacheKey=Math.min(0,...n.map(A=>A.__metadata.cacheKey??0));for(let[A,p]of Object.entries(u))typeof p=="string"&&delete u[A];return await ae.changeFilePromise(r,Ia(u),{automaticNewlines:!0}),!0}Ke();bt();_t();var _0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=fe.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=fe.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=o.topLevelWorkspace,A=[];for(let h of this.destinations){let C=V.resolve(this.context.cwd,Ae.toPortablePath(h)),w=await Xe.find(C,this.context.plugins,{useRc:!1,strict:!1}),{project:v,workspace:b}=await St.find(w,C);if(o.cwd===v.cwd)throw new ot(`Invalid destination '${h}'; Can't link the project to itself`);if(!b)throw new er(v.cwd,C);if(this.all){let E=!1;for(let R of v.workspaces)R.manifest.name&&(!R.manifest.private||this.private)&&(A.push(R),E=!0);if(!E)throw new ot(`No workspace found to be linked in the target project: ${h}`)}else{if(!b.manifest.name)throw new ot(`The target workspace at '${h}' doesn't have a name and thus cannot be linked`);if(b.manifest.private&&!this.private)throw new ot(`The target workspace at '${h}' is marked private - use the --private flag to link it anyway`);A.push(b)}}for(let h of A){let C=Y.stringifyIdent(h.locator),w=this.relative?V.relative(o.cwd,h.cwd):h.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:C}},reference:`portal:${w}`})}return(await Ct.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};_0.paths=[["link"]],_0.usage=it.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});_t();var H0=class extends ct{constructor(){super(...arguments);this.args=fe.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};H0.paths=[["node"]],H0.usage=it.Usage({description:"run node with the hook already setup",details:` | 439 | `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});Ke();bt();_t();var Ede=tt(Jo()),U0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=fe.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=fe.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=fe.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=fe.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=fe.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=fe.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a&&!this.all)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let u=new Set(this.extra);this.cache&&u.add("cache"),this.dependents&&u.add("dependents"),this.manifest&&u.add("manifest");let A=(oe,{recursive:pe})=>{let he=oe.anchoredLocator.locatorHash,ve=new Map,ge=[he];for(;ge.length>0;){let le=ge.shift();if(ve.has(le))continue;let Pe=o.storedPackages.get(le);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the package to be registered");if(ve.set(le,Pe),Y.isVirtualLocator(Pe)&&ge.push(Y.devirtualizeLocator(Pe).locatorHash),!(!pe&&le!==he))for(let g of Pe.dependencies.values()){let De=o.storedResolutions.get(g.descriptorHash);if(typeof De>"u")throw new Error("Assertion failed: Expected the resolution to be registered");ge.push(De)}}return ve.values()},p=({recursive:oe})=>{let pe=new Map;for(let he of o.workspaces)for(let ve of A(he,{recursive:oe}))pe.set(ve.locatorHash,ve);return pe.values()},h=({all:oe,recursive:pe})=>oe&&pe?o.storedPackages.values():oe?p({recursive:pe}):A(a,{recursive:pe}),E=({all:oe,recursive:pe})=>{let he=h({all:oe,recursive:pe}),ve=this.patterns.map(Pe=>{let g=Y.parseLocator(Pe),De=Ede.default.makeRe(Y.stringifyIdent(g)),Ce=Y.isVirtualLocator(g),de=Ce?Y.devirtualizeLocator(g):g;return ne=>{let Z=Y.stringifyIdent(ne);if(!De.test(Z))return!1;if(g.reference==="unknown")return!0;let me=Y.isVirtualLocator(ne),be=me?Y.devirtualizeLocator(ne):ne;return!(Ce&&me&&g.reference!==ne.reference||de.reference!==be.reference)}}),ge=Ye.sortMap([...he],Pe=>Y.stringifyLocator(Pe));return{selection:ge.filter(Pe=>ve.length===0||ve.some(g=>g(Pe))),sortedLookup:ge}},{selection:w,sortedLookup:v}=E({all:this.all,recursive:this.recursive});if(w.length===0)throw new ot("No package matched your request");let b=new Map;if(this.dependents)for(let oe of v)for(let pe of oe.dependencies.values()){let he=o.storedResolutions.get(pe.descriptorHash);if(typeof he>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ye.getArrayWithDefault(b,he).push(oe)}let C=new Map;for(let oe of v){if(!Y.isVirtualLocator(oe))continue;let pe=Y.devirtualizeLocator(oe);Ye.getArrayWithDefault(C,pe.locatorHash).push(oe)}let R={},L={children:R},_=r.makeFetcher(),V={project:o,fetcher:_,cache:n,checksums:o.storedChecksums,report:new xi,cacheOptions:{skipIntegrityCheck:!0}},re=[async(oe,pe,he)=>{var le;if(!pe.has("manifest"))return;let ve=await _.fetch(oe,V),ge;try{ge=await Nt.find(ve.prefixPath,{baseFs:ve.packageFs})}finally{(le=ve.releaseFs)==null||le.call(ve)}he("Manifest",{License:ye.tuple(ye.Type.NO_HINT,ge.license),Homepage:ye.tuple(ye.Type.URL,ge.raw.homepage??null)})},async(oe,pe,he)=>{if(!pe.has("cache"))return;let ve={mockedPackages:o.disabledLocators,unstablePackages:o.conditionalLocators},ge=o.storedChecksums.get(oe.locatorHash)??null,le=n.getLocatorPath(oe,ge,ve),Pe;if(le!==null)try{Pe=ae.statSync(le)}catch{}let g=typeof Pe<"u"?[Pe.size,ye.Type.SIZE]:void 0;he("Cache",{Checksum:ye.tuple(ye.Type.NO_HINT,ge),Path:ye.tuple(ye.Type.PATH,le),Size:g})}];for(let oe of w){let pe=Y.isVirtualLocator(oe);if(!this.virtuals&&pe)continue;let he={},ve={value:[oe,ye.Type.LOCATOR],children:he};if(R[Y.stringifyLocator(oe)]=ve,this.nameOnly){delete ve.children;continue}let ge=C.get(oe.locatorHash);typeof ge<"u"&&(he.Instances={label:"Instances",value:ye.tuple(ye.Type.NUMBER,ge.length)}),he.Version={label:"Version",value:ye.tuple(ye.Type.NO_HINT,oe.version)};let le=(g,De)=>{let Ce={};if(he[g]=Ce,Array.isArray(De))Ce.children=De.map(de=>({value:de}));else{let de={};Ce.children=de;for(let[ne,Z]of Object.entries(De))typeof Z>"u"||(de[ne]={label:ne,value:Z})}};if(!pe){for(let g of re)await g(oe,u,le);await r.triggerHook(g=>g.fetchPackageInfo,oe,u,le)}oe.bin.size>0&&!pe&&le("Exported Binaries",[...oe.bin.keys()].map(g=>ye.tuple(ye.Type.PATH,g)));let Pe=b.get(oe.locatorHash);typeof Pe<"u"&&Pe.length>0&&le("Dependents",Pe.map(g=>ye.tuple(ye.Type.LOCATOR,g))),oe.dependencies.size>0&&!pe&&le("Dependencies",[...oe.dependencies.values()].map(g=>{let De=o.storedResolutions.get(g.descriptorHash),Ce=typeof De<"u"?o.storedPackages.get(De)??null:null;return ye.tuple(ye.Type.RESOLUTION,{descriptor:g,locator:Ce})})),oe.peerDependencies.size>0&&pe&&le("Peer dependencies",[...oe.peerDependencies.values()].map(g=>{let De=oe.dependencies.get(g.identHash),Ce=typeof De<"u"?o.storedResolutions.get(De.descriptorHash)??null:null,de=Ce!==null?o.storedPackages.get(Ce)??null:null;return ye.tuple(ye.Type.RESOLUTION,{descriptor:g,locator:de})}))}Zo.emitTree(L,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};U0.paths=[["info"]],U0.usage=it.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});Ke();bt();_l();var sQ=tt(Xg());_t();tl();var _0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=fe.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=fe.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=fe.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=fe.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=fe.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=fe.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(gl)});this.cacheFolder=fe.String("--cache-folder",{hidden:!0});this.frozenLockfile=fe.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=fe.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=fe.Boolean("--non-interactive",{hidden:!0});this.preferOffline=fe.Boolean("--prefer-offline",{hidden:!0});this.production=fe.Boolean("--production",{hidden:!0});this.registry=fe.String("--registry",{hidden:!0});this.silent=fe.Boolean("--silent",{hidden:!0});this.networkTimeout=fe.String("--network-timeout",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("<cli>",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let o=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=async(C,{error:R})=>{let L=await Et.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async _=>{R?_.reportError(50,C):_.reportWarning(50,C)});return L.hasErrors()?L.exitCode():null};if(typeof this.ignoreEngines<"u"){let C=await a("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!sQ.default.VERCEL});if(C!==null)return C}if(typeof this.registry<"u"){let C=await a("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(C!==null)return C}if(typeof this.preferOffline<"u"){let C=await a("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!sQ.default.VERCEL});if(C!==null)return C}if(typeof this.production<"u"){let C=await a("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(C!==null)return C}if(typeof this.nonInteractive<"u"){let C=await a("The --non-interactive option is deprecated",{error:!o});if(C!==null)return C}if(typeof this.frozenLockfile<"u"&&(await a("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<"u"){let C=await a("The cache-folder option has been deprecated; use rc settings instead",{error:!sQ.default.NETLIFY});if(C!==null)return C}let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new ot(`${ye.pretty(r,"--immutable",ye.Type.CODE)} and ${ye.pretty(r,"--immutable-cache",ye.Type.CODE)} cannot be used with ${ye.pretty(r,"--mode=update-lockfile",ye.Type.CODE)}`);let u=(this.immutable??r.get("enableImmutableInstalls"))&&!n,A=this.immutableCache&&!n;if(r.projectCwd!==null){let C=await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{await uht(r,u)&&(R.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),R.reportSeparator())});if(C.hasErrors())return C.exitCode()}if(r.projectCwd!==null&&typeof r.sources.get("nodeLinker")>"u"){let C=r.projectCwd,R;try{R=await ae.readFilePromise(z.join(C,Lr.lockfile),"utf8")}catch{}if(R!=null&&R.includes("yarn lockfile v1")){let L=await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async _=>{_.reportInfo(70,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),_.reportSeparator(),r.use("<compat>",{nodeLinker:"node-modules"},C,{overwrite:!0}),await Xe.updateConfiguration(C,{nodeLinker:"node-modules"})});if(L.hasErrors())return L.exitCode()}}if(r.projectCwd!==null){let C=await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async R=>{var L;(L=Xe.telemetry)!=null&&L.isNew&&(R.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),R.reportInfo(65,`Run ${ye.pretty(r,"yarn config set --home enableTelemetry 0",ye.Type.CODE)} to disable`),R.reportSeparator())});if(C.hasErrors())return C.exitCode()}let{project:p,workspace:h}=await St.find(r,this.context.cwd),E=await Ur.find(r,{immutable:A,check:this.checkCache});if(!h)throw new er(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let w=r.get("enableHardenedMode");(this.refreshLockfile??w)&&(p.lockfileNeedsRefresh=!0);let v=this.checkResolutions??w;return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!0},async C=>{await p.install({cache:E,report:C,immutable:u,checkResolutions:v,mode:this.mode})})).exitCode()}};_0.paths=[["install"],it.Default],_0.usage=it.Usage({description:"install the project dependencies",details:"\n This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where the cache files are stored).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePatterns` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var cht="<<<<<<<";async function uht(t,e){if(!t.projectCwd)return!1;let r=z.join(t.projectCwd,t.get("lockfileFilename"));if(!await ae.existsPromise(r)||!(await ae.readFilePromise(r,"utf8")).includes(cht))return!1;if(e)throw new Vt(47,"Cannot autofix a lockfile when running an immutable install");let a=await Mr.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:t.projectCwd});if(a.code!==0&&(a=await Mr.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0&&(a=await Mr.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0)throw new Vt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async A=>{let p=await Mr.execvp("git",["show",`${A}:./${Lr.lockfile}`],{cwd:t.projectCwd});if(p.code!==0)throw new Vt(83,`Git returned an error when trying to access the lockfile content in ${A}`);try{return Yi(p.stdout)}catch{throw new Vt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(A=>!!A.__metadata);for(let A of n)if(A.__metadata.version<7)for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=Y.parseDescriptor(p,!0),E=t.normalizeDependency(h),w=Y.stringifyDescriptor(E);w!==p&&(A[w]=A[p],delete A[p])}let u=Object.assign({},...n);u.__metadata.version=Math.min(0,...n.map(A=>A.__metadata.version??1/0)),u.__metadata.cacheKey=Math.min(0,...n.map(A=>A.__metadata.cacheKey??0));for(let[A,p]of Object.entries(u))typeof p=="string"&&delete u[A];return await ae.changeFilePromise(r,wa(u),{automaticNewlines:!0}),!0}Ke();bt();_t();var H0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=fe.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=fe.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=o.topLevelWorkspace,A=[];for(let h of this.destinations){let E=z.resolve(this.context.cwd,ue.toPortablePath(h)),w=await Xe.find(E,this.context.plugins,{useRc:!1,strict:!1}),{project:v,workspace:b}=await St.find(w,E);if(o.cwd===v.cwd)throw new ot(`Invalid destination '${h}'; Can't link the project to itself`);if(!b)throw new er(v.cwd,E);if(this.all){let C=!1;for(let R of v.workspaces)R.manifest.name&&(!R.manifest.private||this.private)&&(A.push(R),C=!0);if(!C)throw new ot(`No workspace found to be linked in the target project: ${h}`)}else{if(!b.manifest.name)throw new ot(`The target workspace at '${h}' doesn't have a name and thus cannot be linked`);if(b.manifest.private&&!this.private)throw new ot(`The target workspace at '${h}' is marked private - use the --private flag to link it anyway`);A.push(b)}}for(let h of A){let E=Y.stringifyIdent(h.locator),w=this.relative?z.relative(o.cwd,h.cwd):h.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:E}},reference:`portal:${w}`})}return(await Et.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};H0.paths=[["link"]],H0.usage=it.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});_t();var q0=class extends ct{constructor(){super(...arguments);this.args=fe.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};q0.paths=[["node"]],q0.usage=it.Usage({description:"run node with the hook already setup",details:` |
440 | This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). | 440 | This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). |
441 | 441 | ||
442 | The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. | 442 | The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. |
443 | `,examples:[["Run a Node script","$0 node ./my-script.js"]]});Ke();_t();var q0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Xe.findRcFiles(this.context.cwd);return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{var u;for(let A of o)if(!!((u=A.data)!=null&&u.plugins))for(let p of A.data.plugins){if(!p.checksum||!p.spec.match(/^https?:/))continue;let h=await ln.get(p.spec,{configuration:r}),C=bn.makeHash(h);if(p.checksum===C)continue;let w=ye.pretty(r,p.path,ye.Type.PATH),v=ye.pretty(r,p.spec,ye.Type.URL),b=`${w} is different from the file provided by ${v}`;n.reportJson({...p,newChecksum:C}),n.reportError(0,b)}})).exitCode()}};q0.paths=[["plugin","check"]],q0.usage=it.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:` | 443 | `,examples:[["Run a Node script","$0 node ./my-script.js"]]});Ke();_t();var j0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Xe.findRcFiles(this.context.cwd);return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{var u;for(let A of o)if(!!((u=A.data)!=null&&u.plugins))for(let p of A.data.plugins){if(!p.checksum||!p.spec.match(/^https?:/))continue;let h=await ln.get(p.spec,{configuration:r}),E=bn.makeHash(h);if(p.checksum===E)continue;let w=ye.pretty(r,p.path,ye.Type.PATH),v=ye.pretty(r,p.spec,ye.Type.URL),b=`${w} is different from the file provided by ${v}`;n.reportJson({...p,newChecksum:E}),n.reportError(0,b)}})).exitCode()}};j0.paths=[["plugin","check"]],j0.usage=it.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:` |
444 | Check only the plugins from https. | 444 | Check only the plugins from https. |
445 | 445 | ||
446 | If this command detects any plugin differences in the CI environment, it will throw an error. | 446 | If this command detects any plugin differences in the CI environment, it will throw an error. |
447 | `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]});Ke();Ke();bt();_t();var Cde=Ie("os");Ke();bt();_t();var gde=Ie("os");Ke();Ol();_t();var eht="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Vd(t,e){let r=await ln.get(eht,{configuration:t}),o=Yi(r.toString());return Object.fromEntries(Object.entries(o).filter(([a,n])=>!e||Tr.satisfiesWithPrereleases(e,n.range??"<4.0.0-rc.1")))}var j0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await Vd(r,On);for(let[u,{experimental:A,...p}]of Object.entries(n)){let h=u;A&&(h+=" [experimental]"),a.reportJson({name:u,experimental:A,...p}),a.reportInfo(null,h)}})).exitCode()}};j0.paths=[["plugin","list"]],j0.usage=it.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var tht=/^[0-9]+$/;function dde(t){return tht.test(t)?`pull/${t}/head`:t}var rht=({repository:t,branch:e},r)=>[["git","init",Ae.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",dde(e)],["git","reset","--hard","FETCH_HEAD"]],nht=({branch:t})=>[["git","fetch","origin","--depth=1",dde(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],iht=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(o=>["--plugin",V.resolve(r,o)])),...e?["--no-minify"]:[],"|"]],G0=class extends ct{constructor(){super(...arguments);this.installPath=fe.String("--path",{description:"The path where the repository should be cloned to"});this.repository=fe.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=fe.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=fe.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=fe.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=fe.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=fe.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.installPath<"u"?V.resolve(this.context.cwd,Ae.toPortablePath(this.installPath)):V.resolve(Ae.toPortablePath((0,gde.tmpdir)()),"yarnpkg-sources",bn.makeHash(this.repository).slice(0,6));return(await Ct.start({configuration:r,stdout:this.context.stdout},async u=>{await N8(this,{configuration:r,report:u,target:a}),u.reportSeparator(),u.reportInfo(0,"Building a fresh bundle"),u.reportSeparator(),await $1(iht(this,a),{configuration:r,context:this.context,target:a}),u.reportSeparator();let A=V.resolve(a,"packages/yarnpkg-cli/bundles/yarn.js"),p=await ae.readFilePromise(A),{bundleVersion:h}=await T8(r,null,async()=>p,{report:u});this.skipPlugins||await sht(this,h,{project:o,report:u,target:a})})).exitCode()}};G0.paths=[["set","version","from","sources"]],G0.usage=it.Usage({description:"build Yarn from master",details:` | 447 | `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]});Ke();Ke();bt();_t();var Sde=Ie("os");Ke();bt();_t();var Ide=Ie("os");Ke();_l();_t();var Aht="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Zd(t,e){let r=await ln.get(Aht,{configuration:t}),o=Yi(r.toString());return Object.fromEntries(Object.entries(o).filter(([a,n])=>!e||Tr.satisfiesWithPrereleases(e,n.range??"<4.0.0-rc.1")))}var G0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await Zd(r,On);for(let[u,{experimental:A,...p}]of Object.entries(n)){let h=u;A&&(h+=" [experimental]"),a.reportJson({name:u,experimental:A,...p}),a.reportInfo(null,h)}})).exitCode()}};G0.paths=[["plugin","list"]],G0.usage=it.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var fht=/^[0-9]+$/;function wde(t){return fht.test(t)?`pull/${t}/head`:t}var pht=({repository:t,branch:e},r)=>[["git","init",ue.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",wde(e)],["git","reset","--hard","FETCH_HEAD"]],hht=({branch:t})=>[["git","fetch","origin","--depth=1",wde(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],ght=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(o=>["--plugin",z.resolve(r,o)])),...e?["--no-minify"]:[],"|"]],W0=class extends ct{constructor(){super(...arguments);this.installPath=fe.String("--path",{description:"The path where the repository should be cloned to"});this.repository=fe.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=fe.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=fe.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=fe.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=fe.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=fe.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.installPath<"u"?z.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):z.resolve(ue.toPortablePath((0,Ide.tmpdir)()),"yarnpkg-sources",bn.makeHash(this.repository).slice(0,6));return(await Et.start({configuration:r,stdout:this.context.stdout},async u=>{await L8(this,{configuration:r,report:u,target:a}),u.reportSeparator(),u.reportInfo(0,"Building a fresh bundle"),u.reportSeparator(),await n2(ght(this,a),{configuration:r,context:this.context,target:a}),u.reportSeparator();let A=z.resolve(a,"packages/yarnpkg-cli/bundles/yarn.js"),p=await ae.readFilePromise(A),{bundleVersion:h}=await N8(r,null,async()=>p,{report:u});this.skipPlugins||await dht(this,h,{project:o,report:u,target:a})})).exitCode()}};W0.paths=[["set","version","from","sources"]],W0.usage=it.Usage({description:"build Yarn from master",details:` |
448 | This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. | 448 | This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. |
449 | 449 | ||
450 | By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. | 450 | By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. |
451 | `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function $1(t,{configuration:e,context:r,target:o}){for(let[a,...n]of t){let u=n[n.length-1]==="|";if(u&&n.pop(),u)await Mr.pipevp(a,n,{cwd:o,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ye.pretty(e,` $ ${[a,...n].join(" ")}`,"grey")} | 451 | `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function n2(t,{configuration:e,context:r,target:o}){for(let[a,...n]of t){let u=n[n.length-1]==="|";if(u&&n.pop(),u)await Mr.pipevp(a,n,{cwd:o,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ye.pretty(e,` $ ${[a,...n].join(" ")}`,"grey")} |
452 | `);try{await Mr.execvp(a,n,{cwd:o,strict:!0})}catch(A){throw r.stdout.write(A.stdout||A.stack),A}}}}async function N8(t,{configuration:e,report:r,target:o}){let a=!1;if(!t.force&&ae.existsSync(V.join(o,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await $1(nht(t),{configuration:e,context:t.context,target:o}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await ae.removePromise(o),await ae.mkdirPromise(o,{recursive:!0}),await $1(rht(t,o),{configuration:e,context:t.context,target:o}))}async function sht(t,e,{project:r,report:o,target:a}){let n=await Vd(r.configuration,e),u=new Set(Object.keys(n));for(let A of r.configuration.plugins.keys())!u.has(A)||await L8(A,t,{project:r,report:o,target:a})}Ke();Ke();bt();_t();var mde=tt(ii()),yde=Ie("url"),Ede=Ie("vm");var W0=class extends ct{constructor(){super(...arguments);this.name=fe.String();this.checksum=fe.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Ct.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await St.find(r,this.context.cwd),u,A;if(this.name.match(/^\.{0,2}[\\/]/)||Ae.isAbsolute(this.name)){let p=V.resolve(this.context.cwd,Ae.toPortablePath(this.name));a.reportInfo(0,`Reading ${ye.pretty(r,p,ye.Type.PATH)}`),u=V.relative(n.cwd,p),A=await ae.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new yde.URL(this.name)}catch{throw new Jt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}u=this.name,p=this.name}else{let h=Y.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!mde.default.valid(h.reference))throw new Jt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let C=Y.stringifyIdent(h),w=await Vd(r,On);if(!Object.prototype.hasOwnProperty.call(w,C)){let v=`Couldn't find a plugin named ${Y.prettyIdent(r,h)} on the remote registry. | 452 | `);try{await Mr.execvp(a,n,{cwd:o,strict:!0})}catch(A){throw r.stdout.write(A.stdout||A.stack),A}}}}async function L8(t,{configuration:e,report:r,target:o}){let a=!1;if(!t.force&&ae.existsSync(z.join(o,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await n2(hht(t),{configuration:e,context:t.context,target:o}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await ae.removePromise(o),await ae.mkdirPromise(o,{recursive:!0}),await n2(pht(t,o),{configuration:e,context:t.context,target:o}))}async function dht(t,e,{project:r,report:o,target:a}){let n=await Zd(r.configuration,e),u=new Set(Object.keys(n));for(let A of r.configuration.plugins.keys())!u.has(A)||await O8(A,t,{project:r,report:o,target:a})}Ke();Ke();bt();_t();var Bde=tt(si()),vde=Ie("url"),Dde=Ie("vm");var Y0=class extends ct{constructor(){super(...arguments);this.name=fe.String();this.checksum=fe.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Et.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await St.find(r,this.context.cwd),u,A;if(this.name.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.name)){let p=z.resolve(this.context.cwd,ue.toPortablePath(this.name));a.reportInfo(0,`Reading ${ye.pretty(r,p,ye.Type.PATH)}`),u=z.relative(n.cwd,p),A=await ae.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new vde.URL(this.name)}catch{throw new Vt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}u=this.name,p=this.name}else{let h=Y.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!Bde.default.valid(h.reference))throw new Vt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let E=Y.stringifyIdent(h),w=await Zd(r,On);if(!Object.prototype.hasOwnProperty.call(w,E)){let v=`Couldn't find a plugin named ${Y.prettyIdent(r,h)} on the remote registry. |
453 | `;throw r.plugins.has(C)?v+=`A plugin named ${Y.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:v+=`Note that only the plugins referenced on our website (${ye.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",ye.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${ye.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",ye.Type.URL)}).`,new Jt(51,v)}u=C,p=w[C].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${C}/${h.reference}/`):On!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${On}/`))}a.reportInfo(0,`Downloading ${ye.pretty(r,p,"green")}`),A=await ln.get(p,{configuration:r})}await O8(u,A,{checksum:this.checksum,project:n,report:a})})).exitCode()}};W0.paths=[["plugin","import"]],W0.usage=it.Usage({category:"Plugin-related commands",description:"download a plugin",details:` | 453 | `;throw r.plugins.has(E)?v+=`A plugin named ${Y.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:v+=`Note that only the plugins referenced on our website (${ye.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",ye.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${ye.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",ye.Type.URL)}).`,new Vt(51,v)}u=E,p=w[E].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${E}/${h.reference}/`):On!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${On}/`))}a.reportInfo(0,`Downloading ${ye.pretty(r,p,"green")}`),A=await ln.get(p,{configuration:r})}await M8(u,A,{checksum:this.checksum,project:n,report:a})})).exitCode()}};Y0.paths=[["plugin","import"]],Y0.usage=it.Usage({category:"Plugin-related commands",description:"download a plugin",details:` |
454 | This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. | 454 | This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. |
455 | 455 | ||
456 | Three types of plugin references are accepted: | 456 | Three types of plugin references are accepted: |
@@ -462,23 +462,23 @@ ${p} | |||
462 | If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified. | 462 | If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified. |
463 | 463 | ||
464 | Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). | 464 | Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). |
465 | `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function O8(t,e,{checksum:r=!0,project:o,report:a}){let{configuration:n}=o,u={},A={exports:u};(0,Ede.runInNewContext)(e.toString(),{module:A,exports:u});let h=`.yarn/plugins/${A.exports.name}.cjs`,C=V.resolve(o.cwd,h);a.reportInfo(0,`Saving the new plugin in ${ye.pretty(n,h,"magenta")}`),await ae.mkdirPromise(V.dirname(C),{recursive:!0}),await ae.writeFilePromise(C,e);let w={path:h,spec:t};r&&(w.checksum=bn.makeHash(e)),await Xe.addPlugin(o.cwd,[w])}var oht=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Y0=class extends ct{constructor(){super(...arguments);this.installPath=fe.String("--path",{description:"The path where the repository should be cloned to"});this.repository=fe.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=fe.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=fe.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=fe.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=typeof this.installPath<"u"?V.resolve(this.context.cwd,Ae.toPortablePath(this.installPath)):V.resolve(Ae.toPortablePath((0,Cde.tmpdir)()),"yarnpkg-sources",bn.makeHash(this.repository).slice(0,6));return(await Ct.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:u}=await St.find(r,this.context.cwd),A=Y.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=Y.stringifyIdent(A),h=await Vd(r,On);if(!Object.prototype.hasOwnProperty.call(h,p))throw new Jt(51,`Couldn't find a plugin named "${p}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let C=p;await N8(this,{configuration:r,report:n,target:o}),await L8(C,this,{project:u,report:n,target:o})})).exitCode()}};Y0.paths=[["plugin","import","from","sources"]],Y0.usage=it.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` | 465 | `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function M8(t,e,{checksum:r=!0,project:o,report:a}){let{configuration:n}=o,u={},A={exports:u};(0,Dde.runInNewContext)(e.toString(),{module:A,exports:u});let h=`.yarn/plugins/${A.exports.name}.cjs`,E=z.resolve(o.cwd,h);a.reportInfo(0,`Saving the new plugin in ${ye.pretty(n,h,"magenta")}`),await ae.mkdirPromise(z.dirname(E),{recursive:!0}),await ae.writeFilePromise(E,e);let w={path:h,spec:t};r&&(w.checksum=bn.makeHash(e)),await Xe.addPlugin(o.cwd,[w])}var mht=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],K0=class extends ct{constructor(){super(...arguments);this.installPath=fe.String("--path",{description:"The path where the repository should be cloned to"});this.repository=fe.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=fe.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=fe.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=fe.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=typeof this.installPath<"u"?z.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):z.resolve(ue.toPortablePath((0,Sde.tmpdir)()),"yarnpkg-sources",bn.makeHash(this.repository).slice(0,6));return(await Et.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:u}=await St.find(r,this.context.cwd),A=Y.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=Y.stringifyIdent(A),h=await Zd(r,On);if(!Object.prototype.hasOwnProperty.call(h,p))throw new Vt(51,`Couldn't find a plugin named "${p}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let E=p;await L8(this,{configuration:r,report:n,target:o}),await O8(E,this,{project:u,report:n,target:o})})).exitCode()}};K0.paths=[["plugin","import","from","sources"]],K0.usage=it.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` |
466 | This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. | 466 | This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. |
467 | 467 | ||
468 | The plugins can be referenced by their short name if sourced from the official Yarn repository. | 468 | The plugins can be referenced by their short name if sourced from the official Yarn repository. |
469 | `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function L8(t,{context:e,noMinify:r},{project:o,report:a,target:n}){let u=t.replace(/@yarnpkg\//,""),{configuration:A}=o;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${u}`),a.reportSeparator(),await $1(oht({pluginName:u,noMinify:r},n),{configuration:A,context:e,target:n}),a.reportSeparator();let p=V.resolve(n,`packages/${u}/bundles/${t}.js`),h=await ae.readFilePromise(p);await O8(t,h,{project:o,report:a})}Ke();bt();_t();var K0=class extends ct{constructor(){super(...arguments);this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Ct.start({configuration:r,stdout:this.context.stdout},async n=>{let u=this.name,A=Y.parseIdent(u);if(!r.plugins.has(u))throw new ot(`${Y.prettyIdent(r,A)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${u}.cjs`,h=V.resolve(o.cwd,p);ae.existsSync(h)&&(n.reportInfo(0,`Removing ${ye.pretty(r,p,ye.Type.PATH)}...`),await ae.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await Xe.updateConfiguration(o.cwd,C=>{if(!Array.isArray(C.plugins))return C;let w=C.plugins.filter(v=>v.path!==p);return C.plugins.length===w.length?C:{...C,plugins:w}})})).exitCode()}};K0.paths=[["plugin","remove"]],K0.usage=it.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` | 469 | `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function O8(t,{context:e,noMinify:r},{project:o,report:a,target:n}){let u=t.replace(/@yarnpkg\//,""),{configuration:A}=o;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${u}`),a.reportSeparator(),await n2(mht({pluginName:u,noMinify:r},n),{configuration:A,context:e,target:n}),a.reportSeparator();let p=z.resolve(n,`packages/${u}/bundles/${t}.js`),h=await ae.readFilePromise(p);await M8(t,h,{project:o,report:a})}Ke();bt();_t();var V0=class extends ct{constructor(){super(...arguments);this.name=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Et.start({configuration:r,stdout:this.context.stdout},async n=>{let u=this.name,A=Y.parseIdent(u);if(!r.plugins.has(u))throw new ot(`${Y.prettyIdent(r,A)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${u}.cjs`,h=z.resolve(o.cwd,p);ae.existsSync(h)&&(n.reportInfo(0,`Removing ${ye.pretty(r,p,ye.Type.PATH)}...`),await ae.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await Xe.updateConfiguration(o.cwd,E=>{if(!Array.isArray(E.plugins))return E;let w=E.plugins.filter(v=>v.path!==p);return E.plugins.length===w.length?E:{...E,plugins:w}})})).exitCode()}};V0.paths=[["plugin","remove"]],V0.usage=it.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` |
470 | This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. | 470 | This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. |
471 | 471 | ||
472 | **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. | 472 | **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. |
473 | `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});Ke();_t();var J0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let u=this.context.plugins.plugins.has(n),A=n;u&&(A+=" [builtin]"),a.reportJson({name:n,builtin:u}),a.reportInfo(null,`${A}`)}})).exitCode()}};J0.paths=[["plugin","runtime"]],J0.usage=it.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` | 473 | `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});Ke();_t();var J0=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins);return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let u=this.context.plugins.plugins.has(n),A=n;u&&(A+=" [builtin]"),a.reportJson({name:n,builtin:u}),a.reportInfo(null,`${A}`)}})).exitCode()}};J0.paths=[["plugin","runtime"]],J0.usage=it.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` |
474 | This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. | 474 | This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. |
475 | `,examples:[["List the currently active plugins","$0 plugin runtime"]]});Ke();Ke();_t();var V0=class extends ct{constructor(){super(...arguments);this.idents=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);let u=new Set;for(let p of this.idents)u.add(Y.parseIdent(p).identHash);if(await o.restoreInstallState({restoreResolutions:!1}),await o.resolveEverything({cache:n,report:new xi}),u.size>0)for(let p of o.storedPackages.values())u.has(p.identHash)&&o.storedBuildState.delete(p.locatorHash);else o.storedBuildState.clear();return(await Ct.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async p=>{await o.install({cache:n,report:p})})).exitCode()}};V0.paths=[["rebuild"]],V0.usage=it.Usage({description:"rebuild the project's native packages",details:` | 475 | `,examples:[["List the currently active plugins","$0 plugin runtime"]]});Ke();Ke();_t();var z0=class extends ct{constructor(){super(...arguments);this.idents=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);let u=new Set;for(let p of this.idents)u.add(Y.parseIdent(p).identHash);if(await o.restoreInstallState({restoreResolutions:!1}),await o.resolveEverything({cache:n,report:new xi}),u.size>0)for(let p of o.storedPackages.values())u.has(p.identHash)&&o.storedBuildState.delete(p.locatorHash);else o.storedBuildState.clear();return(await Et.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async p=>{await o.install({cache:n,report:p})})).exitCode()}};z0.paths=[["rebuild"]],z0.usage=it.Usage({description:"rebuild the project's native packages",details:` |
476 | This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. | 476 | This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. |
477 | 477 | ||
478 | Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). | 478 | Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). |
479 | 479 | ||
480 | By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. | 480 | By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. |
481 | `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});Ke();Ke();Ke();_t();var M8=tt(Jo());$a();var z0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(fl)});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.all?o.workspaces:[a],A=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,C=[];for(let E of this.patterns){let R=!1,L=Y.parseIdent(E);for(let _ of u){let J=[..._.manifest.peerDependenciesMeta.keys()];for(let re of(0,M8.default)(J,E))_.manifest.peerDependenciesMeta.delete(re),h=!0,R=!0;for(let re of A){let oe=_.manifest.getForScope(re),pe=[...oe.values()].map(he=>Y.stringifyIdent(he));for(let he of(0,M8.default)(pe,Y.stringifyIdent(L))){let{identHash:ve}=Y.parseIdent(he),ge=oe.get(ve);if(typeof ge>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");_.manifest[re].delete(ve),C.push([_,re,ge]),h=!0,R=!0}}}R||p.push(E)}let w=p.length>1?"Patterns":"Pattern",v=p.length>1?"don't":"doesn't",b=this.all?"any":"this";if(p.length>0)throw new ot(`${w} ${ye.prettyList(r,p,ye.Type.CODE)} ${v} match any packages referenced by ${b} workspace`);return h?(await r.triggerMultipleHooks(R=>R.afterWorkspaceDependencyRemoval,C),(await Ct.start({configuration:r,stdout:this.context.stdout},async R=>{await o.install({cache:n,report:R,mode:this.mode})})).exitCode()):0}};z0.paths=[["remove"]],z0.usage=it.Usage({description:"remove dependencies from the project",details:` | 481 | `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});Ke();Ke();Ke();_t();var U8=tt(Jo());tl();var X0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(gl)});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.all?o.workspaces:[a],A=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,E=[];for(let C of this.patterns){let R=!1,L=Y.parseIdent(C);for(let _ of u){let V=[..._.manifest.peerDependenciesMeta.keys()];for(let re of(0,U8.default)(V,C))_.manifest.peerDependenciesMeta.delete(re),h=!0,R=!0;for(let re of A){let oe=_.manifest.getForScope(re),pe=[...oe.values()].map(he=>Y.stringifyIdent(he));for(let he of(0,U8.default)(pe,Y.stringifyIdent(L))){let{identHash:ve}=Y.parseIdent(he),ge=oe.get(ve);if(typeof ge>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");_.manifest[re].delete(ve),E.push([_,re,ge]),h=!0,R=!0}}}R||p.push(C)}let w=p.length>1?"Patterns":"Pattern",v=p.length>1?"don't":"doesn't",b=this.all?"any":"this";if(p.length>0)throw new ot(`${w} ${ye.prettyList(r,p,ye.Type.CODE)} ${v} match any packages referenced by ${b} workspace`);return h?(await r.triggerMultipleHooks(R=>R.afterWorkspaceDependencyRemoval,E),(await Et.start({configuration:r,stdout:this.context.stdout},async R=>{await o.install({cache:n,report:R,mode:this.mode})})).exitCode()):0}};X0.paths=[["remove"]],X0.usage=it.Usage({description:"remove dependencies from the project",details:` |
482 | This command will remove the packages matching the specified patterns from the current workspace. | 482 | This command will remove the packages matching the specified patterns from the current workspace. |
483 | 483 | ||
484 | If the \`--mode=<mode>\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: | 484 | If the \`--mode=<mode>\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: |
@@ -488,7 +488,7 @@ ${p} | |||
488 | - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. | 488 | - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. |
489 | 489 | ||
490 | This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. | 490 | This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. |
491 | `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});Ke();Ke();var Ide=Ie("util"),zd=class extends ct{async execute(){let e=await Xe.find(this.context.cwd,this.context.plugins),{project:r,workspace:o}=await St.find(e,this.context.cwd);if(!o)throw new er(r.cwd,this.context.cwd);return(await Ct.start({configuration:e,stdout:this.context.stdout},async n=>{let u=o.manifest.scripts,A=Ye.sortMap(u.keys(),C=>C),p={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},h=A.reduce((C,w)=>Math.max(C,w.length),0);for(let[C,w]of u.entries())n.reportInfo(null,`${C.padEnd(h," ")} ${(0,Ide.inspect)(w,p)}`)})).exitCode()}};zd.paths=[["run"]];Ke();Ke();_t();var X0=class extends ct{constructor(){super(...arguments);this.inspect=fe.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=fe.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=fe.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=fe.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=fe.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=fe.Boolean("--silent",{hidden:!0});this.scriptName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a,locator:n}=await St.find(r,this.context.cwd);await o.restoreInstallState();let u=this.topLevel?o.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await sn.hasPackageScript(u,this.scriptName,{project:o}))return await sn.executePackageScript(u,this.scriptName,this.args,{project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let A=await sn.getPackageAccessibleBinaries(u,{project:o});if(A.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await sn.executePackageAccessibleBinary(u,this.scriptName,this.args,{cwd:this.context.cwd,project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:A})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let C=(await Promise.all(o.workspaces.map(async w=>w.manifest.scripts.has(this.scriptName)?w:null))).filter(w=>w!==null);if(C.length===1)return await sn.executeWorkspaceScript(C[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new ot(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${Y.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new ot(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${Y.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new ot("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[C,w]of nC)for(let v of w)if(h.length>=v.length&&JSON.stringify(h.slice(0,v.length))===JSON.stringify(v))throw new ot(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${C} plugin. You can install it with "yarn plugin import ${C}".`);throw new ot(`Couldn't find a script named "${this.scriptName}".`)}}};X0.paths=[["run"]],X0.usage=it.Usage({description:"run a script defined in the package.json",details:` | 491 | `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});Ke();Ke();var Pde=Ie("util"),$d=class extends ct{async execute(){let e=await Xe.find(this.context.cwd,this.context.plugins),{project:r,workspace:o}=await St.find(e,this.context.cwd);if(!o)throw new er(r.cwd,this.context.cwd);return(await Et.start({configuration:e,stdout:this.context.stdout},async n=>{let u=o.manifest.scripts,A=Ye.sortMap(u.keys(),E=>E),p={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},h=A.reduce((E,w)=>Math.max(E,w.length),0);for(let[E,w]of u.entries())n.reportInfo(null,`${E.padEnd(h," ")} ${(0,Pde.inspect)(w,p)}`)})).exitCode()}};$d.paths=[["run"]];Ke();Ke();_t();var Z0=class extends ct{constructor(){super(...arguments);this.inspect=fe.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=fe.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=fe.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=fe.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=fe.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=fe.Boolean("--silent",{hidden:!0});this.scriptName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a,locator:n}=await St.find(r,this.context.cwd);await o.restoreInstallState();let u=this.topLevel?o.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await sn.hasPackageScript(u,this.scriptName,{project:o}))return await sn.executePackageScript(u,this.scriptName,this.args,{project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let A=await sn.getPackageAccessibleBinaries(u,{project:o});if(A.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await sn.executePackageAccessibleBinary(u,this.scriptName,this.args,{cwd:this.context.cwd,project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:A})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let E=(await Promise.all(o.workspaces.map(async w=>w.manifest.scripts.has(this.scriptName)?w:null))).filter(w=>w!==null);if(E.length===1)return await sn.executeWorkspaceScript(E[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new ot(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${Y.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new ot(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${Y.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new ot("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[E,w]of lE)for(let v of w)if(h.length>=v.length&&JSON.stringify(h.slice(0,v.length))===JSON.stringify(v))throw new ot(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${E} plugin. You can install it with "yarn plugin import ${E}".`);throw new ot(`Couldn't find a script named "${this.scriptName}".`)}}};Z0.paths=[["run"]],Z0.usage=it.Usage({description:"run a script defined in the package.json",details:` |
492 | This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: | 492 | This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: |
493 | 493 | ||
494 | - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. | 494 | - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. |
@@ -498,32 +498,32 @@ ${p} | |||
498 | - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. | 498 | - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. |
499 | 499 | ||
500 | Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). | 500 | Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). |
501 | `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});Ke();Ke();_t();var Z0=class extends ct{constructor(){super(...arguments);this.save=fe.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=fe.String();this.resolution=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(await o.restoreInstallState({restoreResolutions:!1}),!a)throw new er(o.cwd,this.context.cwd);let u=Y.parseDescriptor(this.descriptor,!0),A=Y.makeDescriptor(u,this.resolution);return o.storedDescriptors.set(u.descriptorHash,u),o.storedDescriptors.set(A.descriptorHash,A),o.resolutionAliases.set(u.descriptorHash,A.descriptorHash),(await Ct.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};Z0.paths=[["set","resolution"]],Z0.usage=it.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});Ke();bt();_t();var wde=tt(Jo()),$0=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);let u=o.topLevelWorkspace,A=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:h,reference:C}of u.manifest.resolutions)C.startsWith("portal:")&&A.add(h.descriptor.fullName);if(this.leadingArguments.length>0)for(let h of this.leadingArguments){let C=V.resolve(this.context.cwd,Ae.toPortablePath(h));if(Ye.isPathLike(h)){let w=await Xe.find(C,this.context.plugins,{useRc:!1,strict:!1}),{project:v,workspace:b}=await St.find(w,C);if(!b)throw new er(v.cwd,C);if(this.all){for(let E of v.workspaces)E.manifest.name&&A.add(Y.stringifyIdent(E.locator));if(A.size===0)throw new ot("No workspace found to be unlinked in the target project")}else{if(!b.manifest.name)throw new ot("The target workspace doesn't have a name and thus cannot be unlinked");A.add(Y.stringifyIdent(b.locator))}}else{let w=[...u.manifest.resolutions.map(({pattern:v})=>v.descriptor.fullName)];for(let v of(0,wde.default)(w,h))A.add(v)}}return u.manifest.resolutions=u.manifest.resolutions.filter(({pattern:h})=>!A.has(h.descriptor.fullName)),(await Ct.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};$0.paths=[["unlink"]],$0.usage=it.Usage({description:"disconnect the local project from another one",details:` | 501 | `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});Ke();Ke();_t();var $0=class extends ct{constructor(){super(...arguments);this.save=fe.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=fe.String();this.resolution=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(await o.restoreInstallState({restoreResolutions:!1}),!a)throw new er(o.cwd,this.context.cwd);let u=Y.parseDescriptor(this.descriptor,!0),A=Y.makeDescriptor(u,this.resolution);return o.storedDescriptors.set(u.descriptorHash,u),o.storedDescriptors.set(A.descriptorHash,A),o.resolutionAliases.set(u.descriptorHash,A.descriptorHash),(await Et.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};$0.paths=[["set","resolution"]],$0.usage=it.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});Ke();bt();_t();var xde=tt(Jo()),eh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);let u=o.topLevelWorkspace,A=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:h,reference:E}of u.manifest.resolutions)E.startsWith("portal:")&&A.add(h.descriptor.fullName);if(this.leadingArguments.length>0)for(let h of this.leadingArguments){let E=z.resolve(this.context.cwd,ue.toPortablePath(h));if(Ye.isPathLike(h)){let w=await Xe.find(E,this.context.plugins,{useRc:!1,strict:!1}),{project:v,workspace:b}=await St.find(w,E);if(!b)throw new er(v.cwd,E);if(this.all){for(let C of v.workspaces)C.manifest.name&&A.add(Y.stringifyIdent(C.locator));if(A.size===0)throw new ot("No workspace found to be unlinked in the target project")}else{if(!b.manifest.name)throw new ot("The target workspace doesn't have a name and thus cannot be unlinked");A.add(Y.stringifyIdent(b.locator))}}else{let w=[...u.manifest.resolutions.map(({pattern:v})=>v.descriptor.fullName)];for(let v of(0,xde.default)(w,h))A.add(v)}}return u.manifest.resolutions=u.manifest.resolutions.filter(({pattern:h})=>!A.has(h.descriptor.fullName)),(await Et.start({configuration:r,stdout:this.context.stdout},async h=>{await o.install({cache:n,report:h})})).exitCode()}};eh.paths=[["unlink"]],eh.usage=it.Usage({description:"disconnect the local project from another one",details:` |
502 | This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. | 502 | This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. |
503 | `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});Ke();Ke();Ke();_t();var Bde=tt(Y1()),U8=tt(Jo());$a();var Yf=class extends ct{constructor(){super(...arguments);this.interactive=fe.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=fe.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=fe.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=fe.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=fe.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(fl)});this.patterns=fe.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=[...o.storedDescriptors.values()],A=u.map(w=>Y.stringifyIdent(w)),p=new Set;for(let w of this.patterns){if(Y.parseDescriptor(w).range!=="unknown")throw new ot("Ranges aren't allowed when using --recursive");for(let v of(0,U8.default)(A,w)){let b=Y.parseIdent(v);p.add(b.identHash)}}let h=u.filter(w=>p.has(w.identHash));for(let w of h)o.storedDescriptors.delete(w.descriptorHash),o.storedResolutions.delete(w.descriptorHash);return(await Ct.start({configuration:r,stdout:this.context.stdout},async w=>{await o.install({cache:n,report:w})})).exitCode()}async executeUpClassic(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=J1(this,o),h=A?["keep","reuse","project","latest"]:["project","latest"],C=[],w=[];for(let _ of this.patterns){let J=!1,re=Y.parseDescriptor(_);for(let oe of o.workspaces)for(let pe of["dependencies","devDependencies"]){let ve=[...oe.manifest.getForScope(pe).values()].map(ge=>Y.stringifyIdent(ge));for(let ge of(0,U8.default)(ve,Y.stringifyIdent(re))){let le=Y.parseIdent(ge),Pe=oe.manifest[pe].get(le.identHash);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let g=Y.makeDescriptor(le,re.range);C.push(Promise.resolve().then(async()=>[oe,pe,Pe,await V1(g,{project:o,workspace:oe,cache:n,target:pe,fixed:u,modifier:p,strategies:h})])),J=!0}}J||w.push(_)}if(w.length>1)throw new ot(`Patterns ${ye.prettyList(r,w,ye.Type.CODE)} don't match any packages referenced by any workspace`);if(w.length>0)throw new ot(`Pattern ${ye.prettyList(r,w,ye.Type.CODE)} doesn't match any packages referenced by any workspace`);let v=await Promise.all(C),b=await fA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async _=>{for(let[,,J,{suggestions:re,rejections:oe}]of v){let pe=re.filter(he=>he.descriptor!==null);if(pe.length===0){let[he]=oe;if(typeof he>"u")throw new Error("Assertion failed: Expected an error to have been set");let ve=this.cli.error(he);o.configuration.get("enableNetwork")?_.reportError(27,`${Y.prettyDescriptor(r,J)} can't be resolved to a satisfying range | 503 | `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});Ke();Ke();Ke();_t();var bde=tt(z1()),_8=tt(Jo());tl();var Vf=class extends ct{constructor(){super(...arguments);this.interactive=fe.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=fe.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=fe.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=fe.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=fe.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=fe.String("--mode",{description:"Change what artifacts installs generate",validator:Gs(gl)});this.patterns=fe.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=[...o.storedDescriptors.values()],A=u.map(w=>Y.stringifyIdent(w)),p=new Set;for(let w of this.patterns){if(Y.parseDescriptor(w).range!=="unknown")throw new ot("Ranges aren't allowed when using --recursive");for(let v of(0,_8.default)(A,w)){let b=Y.parseIdent(v);p.add(b.identHash)}}let h=u.filter(w=>p.has(w.identHash));for(let w of h)o.storedDescriptors.delete(w.descriptorHash),o.storedResolutions.delete(w.descriptorHash);return(await Et.start({configuration:r,stdout:this.context.stdout},async w=>{await o.install({cache:n,report:w})})).exitCode()}async executeUpClassic(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=Z1(this,o),h=A?["keep","reuse","project","latest"]:["project","latest"],E=[],w=[];for(let _ of this.patterns){let V=!1,re=Y.parseDescriptor(_);for(let oe of o.workspaces)for(let pe of["dependencies","devDependencies"]){let ve=[...oe.manifest.getForScope(pe).values()].map(ge=>Y.stringifyIdent(ge));for(let ge of(0,_8.default)(ve,Y.stringifyIdent(re))){let le=Y.parseIdent(ge),Pe=oe.manifest[pe].get(le.identHash);if(typeof Pe>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let g=Y.makeDescriptor(le,re.range);E.push(Promise.resolve().then(async()=>[oe,pe,Pe,await $1(g,{project:o,workspace:oe,cache:n,target:pe,fixed:u,modifier:p,strategies:h})])),V=!0}}V||w.push(_)}if(w.length>1)throw new ot(`Patterns ${ye.prettyList(r,w,ye.Type.CODE)} don't match any packages referenced by any workspace`);if(w.length>0)throw new ot(`Pattern ${ye.prettyList(r,w,ye.Type.CODE)} doesn't match any packages referenced by any workspace`);let v=await Promise.all(E),b=await pA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async _=>{for(let[,,V,{suggestions:re,rejections:oe}]of v){let pe=re.filter(he=>he.descriptor!==null);if(pe.length===0){let[he]=oe;if(typeof he>"u")throw new Error("Assertion failed: Expected an error to have been set");let ve=this.cli.error(he);o.configuration.get("enableNetwork")?_.reportError(27,`${Y.prettyDescriptor(r,V)} can't be resolved to a satisfying range |
504 | 504 | ||
505 | ${ve}`):_.reportError(27,`${Y.prettyDescriptor(r,J)} can't be resolved to a satisfying range (note: network resolution has been disabled) | 505 | ${ve}`):_.reportError(27,`${Y.prettyDescriptor(r,V)} can't be resolved to a satisfying range (note: network resolution has been disabled) |
506 | 506 | ||
507 | ${ve}`)}else pe.length>1&&!A&&_.reportError(27,`${Y.prettyDescriptor(r,J)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(b.hasErrors())return b.exitCode();let E=!1,R=[];for(let[_,J,,{suggestions:re}]of v){let oe,pe=re.filter(le=>le.descriptor!==null),he=pe[0].descriptor,ve=pe.every(le=>Y.areDescriptorsEqual(le.descriptor,he));pe.length===1||ve?oe=he:(E=!0,{answer:oe}=await(0,Bde.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${Y.prettyWorkspace(r,_)} \u276F ${J}?`,choices:re.map(({descriptor:le,name:Pe,reason:g})=>le?{name:Pe,hint:g,descriptor:le}:{name:Pe,hint:g,disabled:!0}),onCancel:()=>process.exit(130),result(le){return this.find(le,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let ge=_.manifest[J].get(oe.identHash);if(typeof ge>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(ge.descriptorHash!==oe.descriptorHash)_.manifest[J].set(oe.identHash,oe),R.push([_,J,ge,oe]);else{let le=r.makeResolver(),Pe={project:o,resolver:le},g=r.normalizeDependency(ge),De=le.bindDescriptor(g,_.anchoredLocator,Pe);o.forgetResolution(De)}}return await r.triggerMultipleHooks(_=>_.afterWorkspaceDependencyReplacement,R),E&&this.context.stdout.write(` | 507 | ${ve}`)}else pe.length>1&&!A&&_.reportError(27,`${Y.prettyDescriptor(r,V)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(b.hasErrors())return b.exitCode();let C=!1,R=[];for(let[_,V,,{suggestions:re}]of v){let oe,pe=re.filter(le=>le.descriptor!==null),he=pe[0].descriptor,ve=pe.every(le=>Y.areDescriptorsEqual(le.descriptor,he));pe.length===1||ve?oe=he:(C=!0,{answer:oe}=await(0,bde.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${Y.prettyWorkspace(r,_)} \u276F ${V}?`,choices:re.map(({descriptor:le,name:Pe,reason:g})=>le?{name:Pe,hint:g,descriptor:le}:{name:Pe,hint:g,disabled:!0}),onCancel:()=>process.exit(130),result(le){return this.find(le,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let ge=_.manifest[V].get(oe.identHash);if(typeof ge>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(ge.descriptorHash!==oe.descriptorHash)_.manifest[V].set(oe.identHash,oe),R.push([_,V,ge,oe]);else{let le=r.makeResolver(),Pe={project:o,resolver:le},g=r.normalizeDependency(ge),De=le.bindDescriptor(g,_.anchoredLocator,Pe);o.forgetResolution(De)}}return await r.triggerMultipleHooks(_=>_.afterWorkspaceDependencyReplacement,R),C&&this.context.stdout.write(` |
508 | `),(await Ct.start({configuration:r,stdout:this.context.stdout},async _=>{await o.install({cache:n,report:_,mode:this.mode})})).exitCode()}};Yf.paths=[["up"]],Yf.usage=it.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Yf.schema=[MT("recursive",Vg.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];Ke();Ke();Ke();_t();var eh=class extends ct{constructor(){super(...arguments);this.recursive=fe.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=fe.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=Y.parseIdent(this.package).identHash,u=this.recursive?lht(o,n,{configuration:r,peers:this.peers}):aht(o,n,{configuration:r,peers:this.peers});Xo.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};eh.paths=[["why"]],eh.usage=it.Usage({description:"display the reason why a package is needed",details:` | 508 | `),(await Et.start({configuration:r,stdout:this.context.stdout},async _=>{await o.install({cache:n,report:_,mode:this.mode})})).exitCode()}};Vf.paths=[["up"]],Vf.usage=it.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=<mode>` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Vf.schema=[UT("recursive",Zg.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];Ke();Ke();Ke();_t();var th=class extends ct{constructor(){super(...arguments);this.recursive=fe.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=fe.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=Y.parseIdent(this.package).identHash,u=this.recursive?Cht(o,n,{configuration:r,peers:this.peers}):yht(o,n,{configuration:r,peers:this.peers});Zo.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};th.paths=[["why"]],th.usage=it.Usage({description:"display the reason why a package is needed",details:` |
509 | This command prints the exact reasons why a package appears in the dependency tree. | 509 | This command prints the exact reasons why a package appears in the dependency tree. |
510 | 510 | ||
511 | If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. | 511 | If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. |
512 | `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function aht(t,e,{configuration:r,peers:o}){let a=Ye.sortMap(t.storedPackages.values(),A=>Y.stringifyLocator(A)),n={},u={children:n};for(let A of a){let p={};for(let C of A.dependencies.values()){if(!o&&A.peerDependencies.has(C.identHash))continue;let w=t.storedResolutions.get(C.descriptorHash);if(!w)throw new Error("Assertion failed: The resolution should have been registered");let v=t.storedPackages.get(w);if(!v)throw new Error("Assertion failed: The package should have been registered");if(v.identHash!==e)continue;{let E=Y.stringifyLocator(A);n[E]={value:[A,ye.Type.LOCATOR],children:p}}let b=Y.stringifyLocator(v);p[b]={value:[{descriptor:C,locator:v},ye.Type.DEPENDENT]}}}return u}function lht(t,e,{configuration:r,peers:o}){let a=Ye.sortMap(t.workspaces,v=>Y.stringifyLocator(v.anchoredLocator)),n=new Set,u=new Set,A=v=>{if(n.has(v.locatorHash))return u.has(v.locatorHash);if(n.add(v.locatorHash),v.identHash===e)return u.add(v.locatorHash),!0;let b=!1;v.identHash===e&&(b=!0);for(let E of v.dependencies.values()){if(!o&&v.peerDependencies.has(E.identHash))continue;let R=t.storedResolutions.get(E.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let L=t.storedPackages.get(R);if(!L)throw new Error("Assertion failed: The package should have been registered");A(L)&&(b=!0)}return b&&u.add(v.locatorHash),b};for(let v of a)A(v.anchoredPackage);let p=new Set,h={},C={children:h},w=(v,b,E)=>{if(!u.has(v.locatorHash))return;let R=E!==null?ye.tuple(ye.Type.DEPENDENT,{locator:v,descriptor:E}):ye.tuple(ye.Type.LOCATOR,v),L={},_={value:R,children:L},J=Y.stringifyLocator(v);if(b[J]=_,!p.has(v.locatorHash)&&(p.add(v.locatorHash),!(E!==null&&t.tryWorkspaceByLocator(v))))for(let re of v.dependencies.values()){if(!o&&v.peerDependencies.has(re.identHash))continue;let oe=t.storedResolutions.get(re.descriptorHash);if(!oe)throw new Error("Assertion failed: The resolution should have been registered");let pe=t.storedPackages.get(oe);if(!pe)throw new Error("Assertion failed: The package should have been registered");w(pe,L,re)}};for(let v of a)w(v.anchoredPackage,h,null);return C}Ke();var z8={};Yt(z8,{GitFetcher:()=>t2,GitResolver:()=>r2,default:()=>xht,gitUtils:()=>Zo});Ke();bt();var Zo={};Yt(Zo,{TreeishProtocols:()=>e2,clone:()=>V8,fetchBase:()=>Wde,fetchChangedFiles:()=>Yde,fetchChangedWorkspaces:()=>Sht,fetchRoot:()=>Gde,isGitUrl:()=>uC,lsRemote:()=>jde,normalizeLocator:()=>Y8,normalizeRepoUrl:()=>$b,resolveUrl:()=>J8,splitRepoUrl:()=>th,validateRepoUrl:()=>K8});Ke();bt();_t();var _de=tt(Ode()),Hde=tt(EU()),cC=tt(Ie("querystring")),G8=tt(ii());function j8(t,e,r){let o=t.indexOf(r);return t.lastIndexOf(e,o>-1?o:1/0)}function Mde(t){try{return new URL(t)}catch{return}}function vht(t){let e=j8(t,"@","#"),r=j8(t,":","#");return r>e&&(t=`${t.slice(0,r)}/${t.slice(r+1)}`),j8(t,":","#")===-1&&t.indexOf("//")===-1&&(t=`ssh://${t}`),t}function Ude(t){return Mde(t)||Mde(vht(t))}function qde(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var Dht=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],e2=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(e2||{});function uC(t){return t?Dht.some(e=>!!t.match(e)):!1}function th(t){t=$b(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=t.slice(0,e),o=t.slice(e+1);if(o.match(/^[a-z]+=/)){let a=cC.default.parse(o);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(e2).find(p=>Object.prototype.hasOwnProperty.call(a,p)),[u,A]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(e2))delete a[p];return{repo:r,treeish:{protocol:u,request:A},extra:a}}else{let a=o.indexOf(":"),[n,u]=a===-1?[null,o]:[o.slice(0,a),o.slice(a+1)];return{repo:r,treeish:{protocol:n,request:u},extra:{}}}}function $b(t,{git:e=!1}={}){if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let r=Ude(t);r&&(t=r.href),t=t.replace(/^git\+([^:]+):/,"$1:")}return t}function Y8(t){return Y.makeLocator(t,$b(t.reference))}function K8(t,{configuration:e}){let r=$b(t,{git:!0});if(!ln.getNetworkSettings(`https://${(0,_de.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Jt(80,`Request to '${r}' has been blocked because of your configuration settings`);return r}async function jde(t,e){let r=K8(t,{configuration:e}),o=await W8("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:qde()},{configuration:e,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,u;for(;(u=n.exec(o.stdout))!==null;)a.set(u[2],u[1]);return a}async function J8(t,e){let{repo:r,treeish:{protocol:o,request:a},extra:n}=th(t),u=await jde(r,e),A=(h,C)=>{switch(h){case"commit":{if(!C.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return cC.default.stringify({...n,commit:C})}case"head":{let w=u.get(C==="HEAD"?C:`refs/heads/${C}`);if(typeof w>"u")throw new Error(`Unknown head ("${C}")`);return cC.default.stringify({...n,commit:w})}case"tag":{let w=u.get(`refs/tags/${C}`);if(typeof w>"u")throw new Error(`Unknown tag ("${C}")`);return cC.default.stringify({...n,commit:w})}case"semver":{let w=Tr.validRange(C);if(!w)throw new Error(`Invalid range ("${C}")`);let v=new Map([...u.entries()].filter(([E])=>E.startsWith("refs/tags/")).map(([E,R])=>[G8.default.parse(E.slice(10)),R]).filter(E=>E[0]!==null)),b=G8.default.maxSatisfying([...v.keys()],w);if(b===null)throw new Error(`No matching range ("${C}")`);return cC.default.stringify({...n,commit:v.get(b)})}case null:{let w;if((w=p("commit",C))!==null||(w=p("tag",C))!==null||(w=p("head",C))!==null)return w;throw C.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${C}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${C}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,C)=>{try{return A(h,C)}catch{return null}};return`${r}#${A(o,a)}`}async function V8(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:o,request:a}}=th(t);if(o!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=K8(r,{configuration:e}),u=await ae.mktempPromise(),A={cwd:u,env:qde()};return await W8("cloning the repository",["clone","-c core.autocrlf=false",n,Ae.fromPortablePath(u)],A,{configuration:e,normalizedRepoUrl:n}),await W8("switching branch",["checkout",`${a}`],A,{configuration:e,normalizedRepoUrl:n}),u})}async function Gde(t){let e,r=t;do{if(e=r,await ae.existsPromise(V.join(e,".git")))return e;r=V.dirname(e)}while(r!==e);return null}async function Wde(t,{baseRefs:e}){if(e.length===0)throw new ot("Can't run this command with zero base refs specified.");let r=[];for(let A of e){let{code:p}=await Mr.execvp("git",["merge-base",A,"HEAD"],{cwd:t});p===0&&r.push(A)}if(r.length===0)throw new ot(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:o}=await Mr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),a=o.trim(),{stdout:n}=await Mr.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:t,strict:!0}),u=n.trim();return{hash:a,title:u}}async function Yde(t,{base:e,project:r}){let o=Ye.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await Mr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>V.resolve(t,Ae.toPortablePath(h))),{stdout:u}=await Mr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),A=u.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>V.resolve(t,Ae.toPortablePath(h))),p=[...new Set([...n,...A].sort())];return o?p.filter(h=>!V.relative(r.cwd,h).match(o)):p}async function Sht({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new ot("This command can only be run from within a Yarn project");let r=[V.resolve(e.cwd,e.configuration.get("cacheFolder")),V.resolve(e.cwd,e.configuration.get("installStatePath")),V.resolve(e.cwd,e.configuration.get("lockfileFilename")),V.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(u=>u.populateYarnPaths,e,u=>{u!=null&&r.push(u)});let o=await Gde(e.configuration.projectCwd);if(o==null)throw new ot("This command can only be run on Git repositories");let a=await Wde(o,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),n=await Yde(o,{base:a.hash,project:e});return new Set(Ye.mapAndFilter(n,u=>{let A=e.tryWorkspaceByFilePath(u);return A===null?Ye.mapAndFilter.skip:r.some(p=>u.startsWith(p))?Ye.mapAndFilter.skip:A}))}async function W8(t,e,r,{configuration:o,normalizedRepoUrl:a}){try{return await Mr.execvp("git",e,{...r,strict:!0})}catch(n){if(!(n instanceof Mr.ExecError))throw n;let u=n.reportExtra,A=n.stderr.toString();throw new Jt(1,`Failed ${t}`,p=>{p.reportError(1,` ${ye.prettyField(o,{label:"Repository URL",value:ye.tuple(ye.Type.URL,a)})}`);for(let h of A.matchAll(/^(.+?): (.*)$/gm)){let[,C,w]=h;C=C.toLowerCase();let v=C==="error"?"Error":`${(0,Hde.default)(C)} Error`;p.reportError(1,` ${ye.prettyField(o,{label:v,value:ye.tuple(ye.Type.NO_HINT,w)})}`)}u==null||u(p)})}}var t2=class{supports(e,r){return uC(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,a=Y8(e),n=new Map(r.checksums);n.set(a.locatorHash,o);let u={...r,checksums:n},A=await this.downloadHosted(a,u);if(A!==null)return A;let[p,h,C]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(a,u),...r.cacheOptions});return{packageFs:p,releaseFs:h,prefixPath:Y.getIdentVendorPath(e),checksum:C}}async downloadHosted(e,r){return r.project.configuration.reduceHook(o=>o.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let o=await V8(e.reference,r.project.configuration),a=th(e.reference),n=V.join(o,"package.tgz");await sn.prepareExternalProject(o,n,{configuration:r.project.configuration,report:r.report,workspace:a.extra.workspace,locator:e});let u=await ae.readFilePromise(n);return await Ye.releaseAfterUseAsync(async()=>await Vi.convertToZip(u,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1}))}};Ke();Ke();var r2=class{supportsDescriptor(e,r){return uC(e.range)}supportsLocator(e,r){return uC(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=await J8(e.range,o.project.configuration);return[Y.makeLocator(e,a)]}async getSatisfying(e,r,o,a){let n=th(e.range);return{locators:o.filter(A=>{if(A.identHash!==e.identHash)return!1;let p=th(A.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Pht={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[t2],resolvers:[r2]};var xht=Pht;_t();var rh=class extends ct{constructor(){super(...arguments);this.since=fe.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=fe.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let u=this.since?await Zo.fetchChangedWorkspaces({ref:this.since,project:o}):o.workspaces,A=new Set(u);if(this.recursive)for(let p of[...u].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)A.add(h);for(let p of A){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let C;if(this.verbose){let w=new Set,v=new Set;for(let b of Nt.hardDependencies)for(let[E,R]of h.getForScope(b)){let L=o.tryWorkspaceByDescriptor(R);L===null?o.workspacesByIdent.has(E)&&v.add(R):w.add(L)}C={workspaceDependencies:Array.from(w).map(b=>b.relativeCwd),mismatchedWorkspaceDependencies:Array.from(v).map(b=>Y.stringifyDescriptor(b))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?Y.stringifyIdent(h.name):null,...C})}})).exitCode()}};rh.paths=[["workspaces","list"]],rh.usage=it.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});Ke();Ke();_t();var nh=class extends ct{constructor(){super(...arguments);this.workspaceName=fe.String();this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=o.workspaces,u=new Map(n.map(p=>[Y.stringifyIdent(p.locator),p])),A=u.get(this.workspaceName);if(A===void 0){let p=Array.from(u.keys()).sort();throw new ot(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: | 512 | `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function yht(t,e,{configuration:r,peers:o}){let a=Ye.sortMap(t.storedPackages.values(),A=>Y.stringifyLocator(A)),n={},u={children:n};for(let A of a){let p={};for(let E of A.dependencies.values()){if(!o&&A.peerDependencies.has(E.identHash))continue;let w=t.storedResolutions.get(E.descriptorHash);if(!w)throw new Error("Assertion failed: The resolution should have been registered");let v=t.storedPackages.get(w);if(!v)throw new Error("Assertion failed: The package should have been registered");if(v.identHash!==e)continue;{let C=Y.stringifyLocator(A);n[C]={value:[A,ye.Type.LOCATOR],children:p}}let b=Y.stringifyLocator(v);p[b]={value:[{descriptor:E,locator:v},ye.Type.DEPENDENT]}}}return u}function Cht(t,e,{configuration:r,peers:o}){let a=Ye.sortMap(t.workspaces,v=>Y.stringifyLocator(v.anchoredLocator)),n=new Set,u=new Set,A=v=>{if(n.has(v.locatorHash))return u.has(v.locatorHash);if(n.add(v.locatorHash),v.identHash===e)return u.add(v.locatorHash),!0;let b=!1;v.identHash===e&&(b=!0);for(let C of v.dependencies.values()){if(!o&&v.peerDependencies.has(C.identHash))continue;let R=t.storedResolutions.get(C.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let L=t.storedPackages.get(R);if(!L)throw new Error("Assertion failed: The package should have been registered");A(L)&&(b=!0)}return b&&u.add(v.locatorHash),b};for(let v of a)A(v.anchoredPackage);let p=new Set,h={},E={children:h},w=(v,b,C)=>{if(!u.has(v.locatorHash))return;let R=C!==null?ye.tuple(ye.Type.DEPENDENT,{locator:v,descriptor:C}):ye.tuple(ye.Type.LOCATOR,v),L={},_={value:R,children:L},V=Y.stringifyLocator(v);if(b[V]=_,!p.has(v.locatorHash)&&(p.add(v.locatorHash),!(C!==null&&t.tryWorkspaceByLocator(v))))for(let re of v.dependencies.values()){if(!o&&v.peerDependencies.has(re.identHash))continue;let oe=t.storedResolutions.get(re.descriptorHash);if(!oe)throw new Error("Assertion failed: The resolution should have been registered");let pe=t.storedPackages.get(oe);if(!pe)throw new Error("Assertion failed: The package should have been registered");w(pe,L,re)}};for(let v of a)w(v.anchoredPackage,h,null);return E}Ke();var X8={};Yt(X8,{GitFetcher:()=>s2,GitResolver:()=>o2,default:()=>Uht,gitUtils:()=>$o});Ke();bt();var $o={};Yt($o,{TreeishProtocols:()=>i2,clone:()=>z8,fetchBase:()=>Xde,fetchChangedFiles:()=>Zde,fetchChangedWorkspaces:()=>Oht,fetchRoot:()=>zde,isGitUrl:()=>gE,lsRemote:()=>Jde,normalizeLocator:()=>K8,normalizeRepoUrl:()=>oQ,resolveUrl:()=>J8,splitRepoUrl:()=>rh,validateRepoUrl:()=>V8});Ke();bt();_t();var Yde=tt(jde()),Kde=tt(EU()),hE=tt(Ie("querystring")),W8=tt(si());function G8(t,e,r){let o=t.indexOf(r);return t.lastIndexOf(e,o>-1?o:1/0)}function Gde(t){try{return new URL(t)}catch{return}}function Nht(t){let e=G8(t,"@","#"),r=G8(t,":","#");return r>e&&(t=`${t.slice(0,r)}/${t.slice(r+1)}`),G8(t,":","#")===-1&&t.indexOf("//")===-1&&(t=`ssh://${t}`),t}function Wde(t){return Gde(t)||Gde(Nht(t))}function Vde(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var Lht=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],i2=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(i2||{});function gE(t){return t?Lht.some(e=>!!t.match(e)):!1}function rh(t){t=oQ(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=t.slice(0,e),o=t.slice(e+1);if(o.match(/^[a-z]+=/)){let a=hE.default.parse(o);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(i2).find(p=>Object.prototype.hasOwnProperty.call(a,p)),[u,A]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(i2))delete a[p];return{repo:r,treeish:{protocol:u,request:A},extra:a}}else{let a=o.indexOf(":"),[n,u]=a===-1?[null,o]:[o.slice(0,a),o.slice(a+1)];return{repo:r,treeish:{protocol:n,request:u},extra:{}}}}function oQ(t,{git:e=!1}={}){if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let r=Wde(t);r&&(t=r.href),t=t.replace(/^git\+([^:]+):/,"$1:")}return t}function K8(t){return Y.makeLocator(t,oQ(t.reference))}function V8(t,{configuration:e}){let r=oQ(t,{git:!0});if(!ln.getNetworkSettings(`https://${(0,Yde.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Vt(80,`Request to '${r}' has been blocked because of your configuration settings`);return r}async function Jde(t,e){let r=V8(t,{configuration:e}),o=await Y8("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:Vde()},{configuration:e,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,u;for(;(u=n.exec(o.stdout))!==null;)a.set(u[2],u[1]);return a}async function J8(t,e){let{repo:r,treeish:{protocol:o,request:a},extra:n}=rh(t),u=await Jde(r,e),A=(h,E)=>{switch(h){case"commit":{if(!E.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return hE.default.stringify({...n,commit:E})}case"head":{let w=u.get(E==="HEAD"?E:`refs/heads/${E}`);if(typeof w>"u")throw new Error(`Unknown head ("${E}")`);return hE.default.stringify({...n,commit:w})}case"tag":{let w=u.get(`refs/tags/${E}`);if(typeof w>"u")throw new Error(`Unknown tag ("${E}")`);return hE.default.stringify({...n,commit:w})}case"semver":{let w=Tr.validRange(E);if(!w)throw new Error(`Invalid range ("${E}")`);let v=new Map([...u.entries()].filter(([C])=>C.startsWith("refs/tags/")).map(([C,R])=>[W8.default.parse(C.slice(10)),R]).filter(C=>C[0]!==null)),b=W8.default.maxSatisfying([...v.keys()],w);if(b===null)throw new Error(`No matching range ("${E}")`);return hE.default.stringify({...n,commit:v.get(b)})}case null:{let w;if((w=p("commit",E))!==null||(w=p("tag",E))!==null||(w=p("head",E))!==null)return w;throw E.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,E)=>{try{return A(h,E)}catch{return null}};return`${r}#${A(o,a)}`}async function z8(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:o,request:a}}=rh(t);if(o!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=V8(r,{configuration:e}),u=await ae.mktempPromise(),A={cwd:u,env:Vde()};return await Y8("cloning the repository",["clone","-c core.autocrlf=false",n,ue.fromPortablePath(u)],A,{configuration:e,normalizedRepoUrl:n}),await Y8("switching branch",["checkout",`${a}`],A,{configuration:e,normalizedRepoUrl:n}),u})}async function zde(t){let e,r=t;do{if(e=r,await ae.existsPromise(z.join(e,".git")))return e;r=z.dirname(e)}while(r!==e);return null}async function Xde(t,{baseRefs:e}){if(e.length===0)throw new ot("Can't run this command with zero base refs specified.");let r=[];for(let A of e){let{code:p}=await Mr.execvp("git",["merge-base",A,"HEAD"],{cwd:t});p===0&&r.push(A)}if(r.length===0)throw new ot(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:o}=await Mr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),a=o.trim(),{stdout:n}=await Mr.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:t,strict:!0}),u=n.trim();return{hash:a,title:u}}async function Zde(t,{base:e,project:r}){let o=Ye.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await Mr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>z.resolve(t,ue.toPortablePath(h))),{stdout:u}=await Mr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),A=u.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>z.resolve(t,ue.toPortablePath(h))),p=[...new Set([...n,...A].sort())];return o?p.filter(h=>!z.relative(r.cwd,h).match(o)):p}async function Oht({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new ot("This command can only be run from within a Yarn project");let r=[z.resolve(e.cwd,e.configuration.get("cacheFolder")),z.resolve(e.cwd,e.configuration.get("installStatePath")),z.resolve(e.cwd,e.configuration.get("lockfileFilename")),z.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(u=>u.populateYarnPaths,e,u=>{u!=null&&r.push(u)});let o=await zde(e.configuration.projectCwd);if(o==null)throw new ot("This command can only be run on Git repositories");let a=await Xde(o,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),n=await Zde(o,{base:a.hash,project:e});return new Set(Ye.mapAndFilter(n,u=>{let A=e.tryWorkspaceByFilePath(u);return A===null?Ye.mapAndFilter.skip:r.some(p=>u.startsWith(p))?Ye.mapAndFilter.skip:A}))}async function Y8(t,e,r,{configuration:o,normalizedRepoUrl:a}){try{return await Mr.execvp("git",e,{...r,strict:!0})}catch(n){if(!(n instanceof Mr.ExecError))throw n;let u=n.reportExtra,A=n.stderr.toString();throw new Vt(1,`Failed ${t}`,p=>{p.reportError(1,` ${ye.prettyField(o,{label:"Repository URL",value:ye.tuple(ye.Type.URL,a)})}`);for(let h of A.matchAll(/^(.+?): (.*)$/gm)){let[,E,w]=h;E=E.toLowerCase();let v=E==="error"?"Error":`${(0,Kde.default)(E)} Error`;p.reportError(1,` ${ye.prettyField(o,{label:v,value:ye.tuple(ye.Type.NO_HINT,w)})}`)}u==null||u(p)})}}var s2=class{supports(e,r){return gE(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,a=K8(e),n=new Map(r.checksums);n.set(a.locatorHash,o);let u={...r,checksums:n},A=await this.downloadHosted(a,u);if(A!==null)return A;let[p,h,E]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(a,u),...r.cacheOptions});return{packageFs:p,releaseFs:h,prefixPath:Y.getIdentVendorPath(e),checksum:E}}async downloadHosted(e,r){return r.project.configuration.reduceHook(o=>o.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let o=await z8(e.reference,r.project.configuration),a=rh(e.reference),n=z.join(o,"package.tgz");await sn.prepareExternalProject(o,n,{configuration:r.project.configuration,report:r.report,workspace:a.extra.workspace,locator:e});let u=await ae.readFilePromise(n);return await Ye.releaseAfterUseAsync(async()=>await Ji.convertToZip(u,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1}))}};Ke();Ke();var o2=class{supportsDescriptor(e,r){return gE(e.range)}supportsLocator(e,r){return gE(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=await J8(e.range,o.project.configuration);return[Y.makeLocator(e,a)]}async getSatisfying(e,r,o,a){let n=rh(e.range);return{locators:o.filter(A=>{if(A.identHash!==e.identHash)return!1;let p=rh(A.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Mht={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[s2],resolvers:[o2]};var Uht=Mht;_t();var nh=class extends ct{constructor(){super(...arguments);this.since=fe.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=fe.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let u=this.since?await $o.fetchChangedWorkspaces({ref:this.since,project:o}):o.workspaces,A=new Set(u);if(this.recursive)for(let p of[...u].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)A.add(h);for(let p of A){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let E;if(this.verbose){let w=new Set,v=new Set;for(let b of Nt.hardDependencies)for(let[C,R]of h.getForScope(b)){let L=o.tryWorkspaceByDescriptor(R);L===null?o.workspacesByIdent.has(C)&&v.add(R):w.add(L)}E={workspaceDependencies:Array.from(w).map(b=>b.relativeCwd),mismatchedWorkspaceDependencies:Array.from(v).map(b=>Y.stringifyDescriptor(b))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?Y.stringifyIdent(h.name):null,...E})}})).exitCode()}};nh.paths=[["workspaces","list"]],nh.usage=it.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});Ke();Ke();_t();var ih=class extends ct{constructor(){super(...arguments);this.workspaceName=fe.String();this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=o.workspaces,u=new Map(n.map(p=>[Y.stringifyIdent(p.locator),p])),A=u.get(this.workspaceName);if(A===void 0){let p=Array.from(u.keys()).sort();throw new ot(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: |
513 | - ${p.join(` | 513 | - ${p.join(` |
514 | - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:A.cwd})}};nh.paths=[["workspace"]],nh.usage=it.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` | 514 | - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:A.cwd})}};ih.paths=[["workspace"]],ih.usage=it.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` |
515 | This command will run a given sub-command on a single workspace. | 515 | This command will run a given sub-command on a single workspace. |
516 | `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var bht={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:Kde.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[x0,b0,Q0,k0,Z0,G0,L0,rh,Yd,Kd,lC,Jd,S0,P0,F0,R0,T0,N0,O0,M0,U0,_0,$0,H0,q0,Y0,W0,K0,j0,J0,V0,z0,zd,X0,Yf,eh,nh]},Qht=bht;var rH={};Yt(rH,{default:()=>Fht});Ke();var Qt={optional:!0},Z8=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Qt}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Qt,["postcss-jsx"]:Qt,["postcss-less"]:Qt,["postcss-markdown"]:Qt,["postcss-scss"]:Qt}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Qt}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Qt}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Qt,"vue-template-compiler":Qt}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Qt,"utf-8-validate":Qt}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt,"vuetify-loader":Qt}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Qt}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Qt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Qt}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Qt,tinyliquid:Qt,"liquid-node":Qt,jade:Qt,"then-jade":Qt,dust:Qt,"dustjs-helpers":Qt,"dustjs-linkedin":Qt,swig:Qt,"swig-templates":Qt,"razor-tmpl":Qt,atpl:Qt,liquor:Qt,twig:Qt,ejs:Qt,eco:Qt,jazz:Qt,jqtpl:Qt,hamljs:Qt,hamlet:Qt,whiskers:Qt,"haml-coffee":Qt,"hogan.js":Qt,templayed:Qt,handlebars:Qt,underscore:Qt,lodash:Qt,pug:Qt,"then-pug":Qt,qejs:Qt,walrus:Qt,mustache:Qt,just:Qt,ect:Qt,mote:Qt,toffee:Qt,dot:Qt,"bracket-template":Qt,ractive:Qt,nunjucks:Qt,htmling:Qt,"babel-core":Qt,plates:Qt,"react-dom":Qt,react:Qt,"arc-templates":Qt,vash:Qt,slm:Qt,marko:Qt,teacup:Qt,"coffee-script":Qt,squirrelly:Qt,twing:Qt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt,vue:Qt}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Qt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Qt}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Qt,"webpack-command":Qt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Qt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Qt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Qt,jimp:Qt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Qt,"eslint-import-resolver-typescript":Qt,"eslint-import-resolver-webpack":Qt,"@typescript-eslint/parser":Qt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Qt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Qt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Qt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Qt}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Qt}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Qt}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Qt}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Qt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Qt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}]];var $8;function Jde(){return typeof $8>"u"&&($8=Ie("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),$8}var eH;function Vde(){return typeof eH>"u"&&(eH=Ie("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),eH}var tH;function zde(){return typeof tH>"u"&&(tH=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),tH}var Xde=new Map([[Y.makeIdent(null,"fsevents").identHash,Jde],[Y.makeIdent(null,"resolve").identHash,Vde],[Y.makeIdent(null,"typescript").identHash,zde]]),kht={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,o]of Z8)e(Y.parseDescriptor(r,!0),o)},getBuiltinPatch:async(t,e)=>{var n;let r="compat/";if(!e.startsWith(r))return;let o=Y.parseIdent(e.slice(r.length)),a=(n=Xde.get(o.identHash))==null?void 0:n();return typeof a<"u"?a:null},reduceDependency:async(t,e,r,o)=>typeof Xde.get(t.identHash)>"u"?t:Y.makeDescriptor(t,Y.makeRange({protocol:"patch:",source:Y.stringifyDescriptor(t),selector:`optional!builtin<compat/${Y.stringifyIdent(t)}>`,params:null}))}},Fht=kht;var EH={};Yt(EH,{ConstraintsCheckCommand:()=>uh,ConstraintsQueryCommand:()=>lh,ConstraintsSourceCommand:()=>ch,default:()=>sgt});Ke();Ke();s2();var AC=class{constructor(e){this.project=e}createEnvironment(){let e=new n2(["cwd","ident"]),r=new n2(["type","ident"]),o={manifestUpdates:new Map,reportedErrors:new Map};for(let a of this.project.workspaces){let n=Y.stringifyIdent(a.anchoredLocator),u=a.manifest.exportTo({}),A=(C,w,{caller:v=As.getCaller()}={})=>{let b=i2(C),E=Ye.getMapWithDefault(o.manifestUpdates,a.cwd),R=Ye.getMapWithDefault(E,b),L=Ye.getSetWithDefault(R,w);v!==null&&L.add(v)},p=C=>A(C,void 0,{caller:As.getCaller()}),h=e.insert({cwd:a.cwd,ident:n,manifest:u,set:A,unset:p});for(let C of Nt.allDependencies)for(let w of a.manifest[C].values()){let v=Y.stringifyIdent(w),b=()=>{A([C,v],void 0,{caller:As.getCaller()})},E=L=>{A([C,v],L,{caller:As.getCaller()})},R=L=>{Ye.getArrayWithDefault(o.reportedErrors,a.cwd).push(L)};r.insert({workspace:h,ident:v,range:w.range,type:C,update:E,delete:b,error:R})}}return{workspaces:e,dependencies:r,result:o}}async process(){let e=this.createEnvironment(),r={Yarn:{workspace:a=>e.workspaces.find(a)[0]??null,workspaces:a=>e.workspaces.find(a),dependencies:a=>e.dependencies.find(a)}},o=await this.project.loadUserConfig();return o!=null&&o.constraints?(o.constraints(r),e.result):null}};Ke();Ke();_t();var lh=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=fe.String()}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(u2(),c2)),o=await Xe.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a),u=this.query;return u.endsWith(".")||(u=`${u}.`),(await Ct.start({configuration:o,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(u)){let C=Array.from(Object.entries(h)),w=C.length,v=C.reduce((b,[E])=>Math.max(b,E.length),0);for(let b=0;b<w;b++){let[E,R]=C[b];p.reportInfo(null,`${ngt(b,w)}${E.padEnd(v," ")} = ${rgt(R)}`)}p.reportJson(h)}})).exitCode()}};lh.paths=[["constraints","query"]],lh.usage=it.Usage({category:"Constraints-related commands",description:"query the constraints fact database",details:` | 516 | `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var _ht={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:$de.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[b0,Q0,k0,F0,$0,W0,O0,nh,Jd,zd,pE,Xd,P0,x0,R0,T0,N0,L0,M0,U0,_0,H0,eh,q0,j0,K0,Y0,V0,G0,J0,z0,X0,$d,Z0,Vf,th,ih]},Hht=_ht;var nH={};Yt(nH,{default:()=>jht});Ke();var Qt={optional:!0},$8=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Qt,zenObservable:Qt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Qt}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Qt,["postcss-jsx"]:Qt,["postcss-less"]:Qt,["postcss-markdown"]:Qt,["postcss-scss"]:Qt}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Qt}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Qt}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Qt,"vue-template-compiler":Qt}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Qt,"utf-8-validate":Qt}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt,"vuetify-loader":Qt}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Qt}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Qt}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Qt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Qt}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Qt,tinyliquid:Qt,"liquid-node":Qt,jade:Qt,"then-jade":Qt,dust:Qt,"dustjs-helpers":Qt,"dustjs-linkedin":Qt,swig:Qt,"swig-templates":Qt,"razor-tmpl":Qt,atpl:Qt,liquor:Qt,twig:Qt,ejs:Qt,eco:Qt,jazz:Qt,jqtpl:Qt,hamljs:Qt,hamlet:Qt,whiskers:Qt,"haml-coffee":Qt,"hogan.js":Qt,templayed:Qt,handlebars:Qt,underscore:Qt,lodash:Qt,pug:Qt,"then-pug":Qt,qejs:Qt,walrus:Qt,mustache:Qt,just:Qt,ect:Qt,mote:Qt,toffee:Qt,dot:Qt,"bracket-template":Qt,ractive:Qt,nunjucks:Qt,htmling:Qt,"babel-core":Qt,plates:Qt,"react-dom":Qt,react:Qt,"arc-templates":Qt,vash:Qt,slm:Qt,marko:Qt,teacup:Qt,"coffee-script":Qt,squirrelly:Qt,twing:Qt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Qt,vue:Qt}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Qt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Qt}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Qt,"webpack-command":Qt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Qt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Qt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Qt,jimp:Qt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Qt,"eslint-import-resolver-typescript":Qt,"eslint-import-resolver-webpack":Qt,"@typescript-eslint/parser":Qt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Qt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Qt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Qt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Qt}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Qt}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Qt}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Qt}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Qt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Qt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}]];var eH;function eme(){return typeof eH>"u"&&(eH=Ie("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),eH}var tH;function tme(){return typeof tH>"u"&&(tH=Ie("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),tH}var rH;function rme(){return typeof rH>"u"&&(rH=Ie("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),rH}var nme=new Map([[Y.makeIdent(null,"fsevents").identHash,eme],[Y.makeIdent(null,"resolve").identHash,tme],[Y.makeIdent(null,"typescript").identHash,rme]]),qht={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,o]of $8)e(Y.parseDescriptor(r,!0),o)},getBuiltinPatch:async(t,e)=>{var n;let r="compat/";if(!e.startsWith(r))return;let o=Y.parseIdent(e.slice(r.length)),a=(n=nme.get(o.identHash))==null?void 0:n();return typeof a<"u"?a:null},reduceDependency:async(t,e,r,o)=>typeof nme.get(t.identHash)>"u"?t:Y.makeDescriptor(t,Y.makeRange({protocol:"patch:",source:Y.stringifyDescriptor(t),selector:`optional!builtin<compat/${Y.stringifyIdent(t)}>`,params:null}))}},jht=qht;var EH={};Yt(EH,{ConstraintsCheckCommand:()=>Ah,ConstraintsQueryCommand:()=>ch,ConstraintsSourceCommand:()=>uh,default:()=>dgt});Ke();Ke();c2();var dE=class{constructor(e){this.project=e}createEnvironment(){let e=new a2(["cwd","ident"]),r=new a2(["type","ident"]),o={manifestUpdates:new Map,reportedErrors:new Map};for(let a of this.project.workspaces){let n=Y.stringifyIdent(a.anchoredLocator),u=a.manifest.exportTo({}),A=(w,v,{caller:b=As.getCaller()}={})=>{let C=l2(w),R=Ye.getMapWithDefault(o.manifestUpdates,a.cwd),L=Ye.getMapWithDefault(R,C),_=Ye.getSetWithDefault(L,v);b!==null&&_.add(b)},p=w=>A(w,void 0,{caller:As.getCaller()}),h=w=>{Ye.getArrayWithDefault(o.reportedErrors,a.cwd).push(w)},E=e.insert({cwd:a.cwd,ident:n,manifest:u,set:A,unset:p,error:h});for(let w of Nt.allDependencies)for(let v of a.manifest[w].values()){let b=Y.stringifyIdent(v),C=()=>{A([w,b],void 0,{caller:As.getCaller()})},R=L=>{A([w,b],L,{caller:As.getCaller()})};r.insert({workspace:E,ident:b,range:v.range,type:w,update:R,delete:C,error:h})}}return{workspaces:e,dependencies:r,result:o}}async process(){let e=this.createEnvironment(),r={Yarn:{workspace:a=>e.workspaces.find(a)[0]??null,workspaces:a=>e.workspaces.find(a),dependencies:a=>e.dependencies.find(a)}},o=await this.project.loadUserConfig();return o!=null&&o.constraints?(await o.constraints(r),e.result):null}};Ke();Ke();_t();var ch=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=fe.String()}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(h2(),p2)),o=await Xe.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a),u=this.query;return u.endsWith(".")||(u=`${u}.`),(await Et.start({configuration:o,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(u)){let E=Array.from(Object.entries(h)),w=E.length,v=E.reduce((b,[C])=>Math.max(b,C.length),0);for(let b=0;b<w;b++){let[C,R]=E[b];p.reportInfo(null,`${hgt(b,w)}${C.padEnd(v," ")} = ${pgt(R)}`)}p.reportJson(h)}})).exitCode()}};ch.paths=[["constraints","query"]],ch.usage=it.Usage({category:"Constraints-related commands",description:"query the constraints fact database",details:` |
517 | This command will output all matches to the given prolog query. | 517 | This command will output all matches to the given prolog query. |
518 | `,examples:[["List all dependencies throughout the workspace","yarn constraints query 'workspace_has_dependency(_, DependencyName, _, _).'"]]});function rgt(t){return typeof t!="string"?`${t}`:t.match(/^[a-zA-Z][a-zA-Z0-9_]+$/)?t:`'${t}'`}function ngt(t,e){let r=t===0,o=t===e-1;return r&&o?"":r?"\u250C ":o?"\u2514 ":"\u2502 "}Ke();_t();var ch=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Also print the fact database automatically compiled from the workspace manifests"})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(u2(),c2)),o=await Xe.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};ch.paths=[["constraints","source"]],ch.usage=it.Usage({category:"Constraints-related commands",description:"print the source code for the constraints",details:"\n This command will print the Prolog source code used by the constraints engine. Adding the `-v,--verbose` flag will print the *full* source code, including the fact database automatically compiled from the workspace manifests.\n ",examples:[["Prints the source code","yarn constraints source"],["Print the source code and the fact database","yarn constraints source -v"]]});Ke();Ke();_t();s2();var uh=class extends ct{constructor(){super(...arguments);this.fix=fe.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=await o.loadUserConfig(),n;if(a!=null&&a.constraints)n=new AC(o);else{let{Constraints:h}=await Promise.resolve().then(()=>(u2(),c2));n=await h.find(o)}let u={children:[]},A=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let C=await n.process();if(!C)break;let{changedWorkspaces:w,remainingErrors:v}=eQ(o,C,{fix:this.fix}),b=[];for(let[E,R]of w){let L=E.manifest.indent;E.manifest=new Nt,E.manifest.indent=L,E.manifest.load(R),b.push(E.persistManifest())}if(!(w.size>0&&h>1)){A=!1,p=!0;for(let[E,R]of v){let L=[];for(let J of R){let re=J.text.split(/\n/);J.fixable?(re[0]=`${ye.pretty(r,"\u2699","gray")} ${re[0]}`,A=!0):p=!1,L.push({value:ye.tuple(ye.Type.NO_HINT,re[0]),children:re.slice(1).map(oe=>({value:ye.tuple(ye.Type.NO_HINT,oe)}))})}let _={value:ye.tuple(ye.Type.LOCATOR,E.anchoredLocator),children:Ye.sortMap(L,J=>J.value[1])};u.children.push(_)}}}if(u.children.length===0)return 0;if(A){let h=p?`Those errors can all be fixed by running ${ye.pretty(r,"yarn constraints --fix",ye.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${ye.pretty(r,"yarn constraints --fix",ye.Type.CODE)}`;await Ct.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async C=>{C.reportInfo(0,h),C.reportSeparator()})}return u.children=Ye.sortMap(u.children,h=>h.value[1]),Xo.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};uh.paths=[["constraints"]],uh.usage=it.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` | 518 | `,examples:[["List all dependencies throughout the workspace","yarn constraints query 'workspace_has_dependency(_, DependencyName, _, _).'"]]});function pgt(t){return typeof t!="string"?`${t}`:t.match(/^[a-zA-Z][a-zA-Z0-9_]+$/)?t:`'${t}'`}function hgt(t,e){let r=t===0,o=t===e-1;return r&&o?"":r?"\u250C ":o?"\u2514 ":"\u2502 "}Ke();_t();var uh=class extends ct{constructor(){super(...arguments);this.verbose=fe.Boolean("-v,--verbose",!1,{description:"Also print the fact database automatically compiled from the workspace manifests"})}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(h2(),p2)),o=await Xe.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};uh.paths=[["constraints","source"]],uh.usage=it.Usage({category:"Constraints-related commands",description:"print the source code for the constraints",details:"\n This command will print the Prolog source code used by the constraints engine. Adding the `-v,--verbose` flag will print the *full* source code, including the fact database automatically compiled from the workspace manifests.\n ",examples:[["Prints the source code","yarn constraints source"],["Print the source code and the fact database","yarn constraints source -v"]]});Ke();Ke();_t();c2();var Ah=class extends ct{constructor(){super(...arguments);this.fix=fe.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=await o.loadUserConfig(),n;if(a!=null&&a.constraints)n=new dE(o);else{let{Constraints:h}=await Promise.resolve().then(()=>(h2(),p2));n=await h.find(o)}let u={children:[]},A=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let E=await n.process();if(!E)break;let{changedWorkspaces:w,remainingErrors:v}=aQ(o,E,{fix:this.fix}),b=[];for(let[C,R]of w){let L=C.manifest.indent;C.manifest=new Nt,C.manifest.indent=L,C.manifest.load(R),b.push(C.persistManifest())}if(!(w.size>0&&h>1)){A=!1,p=!0;for(let[C,R]of v){let L=[];for(let V of R){let re=V.text.split(/\n/);V.fixable?(re[0]=`${ye.pretty(r,"\u2699","gray")} ${re[0]}`,A=!0):p=!1,L.push({value:ye.tuple(ye.Type.NO_HINT,re[0]),children:re.slice(1).map(oe=>({value:ye.tuple(ye.Type.NO_HINT,oe)}))})}let _={value:ye.tuple(ye.Type.LOCATOR,C.anchoredLocator),children:Ye.sortMap(L,V=>V.value[1])};u.children.push(_)}}}if(u.children.length===0)return 0;if(A){let h=p?`Those errors can all be fixed by running ${ye.pretty(r,"yarn constraints --fix",ye.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${ye.pretty(r,"yarn constraints --fix",ye.Type.CODE)}`;await Et.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async E=>{E.reportInfo(0,h),E.reportSeparator()})}return u.children=Ye.sortMap(u.children,h=>h.value[1]),Zo.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};Ah.paths=[["constraints"]],Ah.usage=it.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` |
519 | This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. | 519 | This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. |
520 | 520 | ||
521 | If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. | 521 | If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. |
522 | 522 | ||
523 | For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. | 523 | For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. |
524 | `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]});s2();var igt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[lh,ch,uh],hooks:{async validateProject(t,{reportError:e}){if(!t.configuration.get("enableConstraintsChecks"))return;let r=await t.loadUserConfig(),o;if(r!=null&&r.constraints)o=new AC(t);else{let{Constraints:u}=await Promise.resolve().then(()=>(u2(),c2));o=await u.find(t)}let a=await o.process();if(!a)return;let{remainingErrors:n}=eQ(t,a);n.size!==0&&e(84,`Constraint check failed; run ${ye.pretty(t.configuration,"yarn constraints",ye.Type.CODE)} for more details`)}}},sgt=igt;var CH={};Yt(CH,{CreateCommand:()=>em,DlxCommand:()=>Ah,default:()=>agt});Ke();_t();var em=class extends ct{constructor(){super(...arguments);this.pkg=fe.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=fe.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=fe.String();this.args=fe.Proxy()}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let o=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=Y.parseDescriptor(o),n=a.name.match(/^create(-|$)/)?a:a.scope?Y.makeIdent(a.scope,`create-${a.name}`):Y.makeIdent(null,`create-${a.name}`),u=Y.stringifyIdent(n);return a.range!=="unknown"&&(u+=`@${a.range}`),this.cli.run(["dlx",...r,u,...this.args])}};em.paths=[["create"]];Ke();Ke();bt();_t();var Ah=class extends ct{constructor(){super(...arguments);this.packages=fe.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=fe.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=fe.String();this.args=fe.Proxy()}async execute(){return Xe.telemetry=null,await ae.mktempPromise(async r=>{let o=V.join(r,`dlx-${process.pid}`);await ae.mkdirPromise(o),await ae.writeFilePromise(V.join(o,"package.json"),`{} | 524 | `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]});c2();var ggt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[ch,uh,Ah],hooks:{async validateProjectAfterInstall(t,{reportError:e}){if(!t.configuration.get("enableConstraintsChecks"))return;let r=await t.loadUserConfig(),o;if(r!=null&&r.constraints)o=new dE(t);else{let{Constraints:u}=await Promise.resolve().then(()=>(h2(),p2));o=await u.find(t)}let a=await o.process();if(!a)return;let{remainingErrors:n}=aQ(t,a);n.size!==0&&e(84,`Constraint check failed; run ${ye.pretty(t.configuration,"yarn constraints",ye.Type.CODE)} for more details`)}}},dgt=ggt;var IH={};Yt(IH,{CreateCommand:()=>nm,DlxCommand:()=>fh,default:()=>ygt});Ke();_t();var nm=class extends ct{constructor(){super(...arguments);this.pkg=fe.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=fe.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=fe.String();this.args=fe.Proxy()}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let o=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=Y.parseDescriptor(o),n=a.name.match(/^create(-|$)/)?a:a.scope?Y.makeIdent(a.scope,`create-${a.name}`):Y.makeIdent(null,`create-${a.name}`),u=Y.stringifyIdent(n);return a.range!=="unknown"&&(u+=`@${a.range}`),this.cli.run(["dlx",...r,u,...this.args])}};nm.paths=[["create"]];Ke();Ke();bt();_t();var fh=class extends ct{constructor(){super(...arguments);this.packages=fe.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=fe.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=fe.String();this.args=fe.Proxy()}async execute(){return Xe.telemetry=null,await ae.mktempPromise(async r=>{let o=z.join(r,`dlx-${process.pid}`);await ae.mkdirPromise(o),await ae.writeFilePromise(z.join(o,"package.json"),`{} |
525 | `),await ae.writeFilePromise(V.join(o,"yarn.lock"),"");let a=V.join(o,".yarnrc.yml"),n=await Xe.findProjectCwd(this.context.cwd,Lr.lockfile),A={enableGlobalCache:!(await Xe.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Ku(68),level:ye.LogLevel.Discard}]},p=n!==null?V.join(n,".yarnrc.yml"):null;p!==null&&ae.existsSync(p)?(await ae.copyFilePromise(p,a),await Xe.updateConfiguration(o,L=>{let _=Ye.toMerged(L,A);return Array.isArray(L.plugins)&&(_.plugins=L.plugins.map(J=>{let re=typeof J=="string"?J:J.path,oe=Ae.isAbsolute(re)?re:Ae.resolve(Ae.fromPortablePath(n),re);return typeof J=="string"?oe:{path:oe,spec:J.spec}})),_})):await ae.writeJsonPromise(a,A);let h=this.packages??[this.command],C=Y.parseDescriptor(this.command).name,w=await this.cli.run(["add","--fixed","--",...h],{cwd:o,quiet:this.quiet});if(w!==0)return w;this.quiet||this.context.stdout.write(` | 525 | `),await ae.writeFilePromise(z.join(o,"yarn.lock"),"");let a=z.join(o,".yarnrc.yml"),n=await Xe.findProjectCwd(this.context.cwd,Lr.lockfile),A={enableGlobalCache:!(await Xe.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Vu(68),level:ye.LogLevel.Discard}]},p=n!==null?z.join(n,".yarnrc.yml"):null;p!==null&&ae.existsSync(p)?(await ae.copyFilePromise(p,a),await Xe.updateConfiguration(o,L=>{let _=Ye.toMerged(L,A);return Array.isArray(L.plugins)&&(_.plugins=L.plugins.map(V=>{let re=typeof V=="string"?V:V.path,oe=ue.isAbsolute(re)?re:ue.resolve(ue.fromPortablePath(n),re);return typeof V=="string"?oe:{path:oe,spec:V.spec}})),_})):await ae.writeJsonPromise(a,A);let h=this.packages??[this.command],E=Y.parseDescriptor(this.command).name,w=await this.cli.run(["add","--fixed","--",...h],{cwd:o,quiet:this.quiet});if(w!==0)return w;this.quiet||this.context.stdout.write(` |
526 | `);let v=await Xe.find(o,this.context.plugins),{project:b,workspace:E}=await St.find(v,o);if(E===null)throw new er(b.cwd,o);await b.restoreInstallState();let R=await sn.getWorkspaceAccessibleBinaries(E);return R.has(C)===!1&&R.size===1&&typeof this.packages>"u"&&(C=Array.from(R)[0][0]),await sn.executeWorkspaceAccessibleBinary(E,C,this.args,{packageAccessibleBinaries:R,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Ah.paths=[["dlx"]],Ah.usage=it.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var ogt={commands:[em,Ah]},agt=ogt;var BH={};Yt(BH,{ExecFetcher:()=>f2,ExecResolver:()=>p2,default:()=>ugt,execUtils:()=>iQ});Ke();Ke();bt();var pA="exec:";var iQ={};Yt(iQ,{loadGeneratorFile:()=>A2,makeLocator:()=>wH,makeSpec:()=>bme,parseSpec:()=>IH});Ke();bt();function IH(t){let{params:e,selector:r}=Y.parseRange(t),o=Ae.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?Y.parseLocator(e.locator):null,path:o}}function bme({parentLocator:t,path:e,generatorHash:r,protocol:o}){let a=t!==null?{locator:Y.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return Y.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function wH(t,{parentLocator:e,path:r,generatorHash:o,protocol:a}){return Y.makeLocator(t,bme({parentLocator:e,path:r,generatorHash:o,protocol:a}))}async function A2(t,e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(t,{protocol:e}),n=V.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,n.localPath)}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=V.join(u.prefixPath,a);return await A.readFilePromise(p,"utf8")}var f2=class{supports(e,r){return!!e.reference.startsWith(pA)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:pA});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){let o=await A2(e.reference,pA,r);return ae.mktempPromise(async a=>{let n=V.join(a,"generator.js");return await ae.writeFilePromise(n,o),ae.mktempPromise(async u=>{if(await this.generatePackage(u,e,n,r),!ae.existsSync(V.join(u,"build")))throw new Error("The script should have generated a build directory");return await Vi.makeArchiveFromDirectory(V.join(u,"build"),{prefixPath:Y.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(e,r,o,a){return await ae.mktempPromise(async n=>{let u=await sn.makeScriptEnv({project:a.project,binFolder:n}),A=V.join(e,"runtime.js");return await ae.mktempPromise(async p=>{let h=V.join(p,"buildfile.log"),C=V.join(e,"generator"),w=V.join(e,"build");await ae.mkdirPromise(C),await ae.mkdirPromise(w);let v={tempDir:Ae.fromPortablePath(C),buildDir:Ae.fromPortablePath(w),locator:Y.stringifyLocator(r)};await ae.writeFilePromise(A,` | 526 | `);let v=await Xe.find(o,this.context.plugins),{project:b,workspace:C}=await St.find(v,o);if(C===null)throw new er(b.cwd,o);await b.restoreInstallState();let R=await sn.getWorkspaceAccessibleBinaries(C);return R.has(E)===!1&&R.size===1&&typeof this.packages>"u"&&(E=Array.from(R)[0][0]),await sn.executeWorkspaceAccessibleBinary(C,E,this.args,{packageAccessibleBinaries:R,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};fh.paths=[["dlx"]],fh.usage=it.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var mgt={commands:[nm,fh]},ygt=mgt;var vH={};Yt(vH,{ExecFetcher:()=>d2,ExecResolver:()=>m2,default:()=>Igt,execUtils:()=>AQ});Ke();Ke();bt();var hA="exec:";var AQ={};Yt(AQ,{loadGeneratorFile:()=>g2,makeLocator:()=>BH,makeSpec:()=>Nme,parseSpec:()=>wH});Ke();bt();function wH(t){let{params:e,selector:r}=Y.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?Y.parseLocator(e.locator):null,path:o}}function Nme({parentLocator:t,path:e,generatorHash:r,protocol:o}){let a=t!==null?{locator:Y.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return Y.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function BH(t,{parentLocator:e,path:r,generatorHash:o,protocol:a}){return Y.makeLocator(t,Nme({parentLocator:e,path:r,generatorHash:o,protocol:a}))}async function g2(t,e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(t,{protocol:e}),n=z.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,n.localPath)}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.join(u.prefixPath,a);return await A.readFilePromise(p,"utf8")}var d2=class{supports(e,r){return!!e.reference.startsWith(hA)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:hA});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){let o=await g2(e.reference,hA,r);return ae.mktempPromise(async a=>{let n=z.join(a,"generator.js");return await ae.writeFilePromise(n,o),ae.mktempPromise(async u=>{if(await this.generatePackage(u,e,n,r),!ae.existsSync(z.join(u,"build")))throw new Error("The script should have generated a build directory");return await Ji.makeArchiveFromDirectory(z.join(u,"build"),{prefixPath:Y.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(e,r,o,a){return await ae.mktempPromise(async n=>{let u=await sn.makeScriptEnv({project:a.project,binFolder:n}),A=z.join(e,"runtime.js");return await ae.mktempPromise(async p=>{let h=z.join(p,"buildfile.log"),E=z.join(e,"generator"),w=z.join(e,"build");await ae.mkdirPromise(E),await ae.mkdirPromise(w);let v={tempDir:ue.fromPortablePath(E),buildDir:ue.fromPortablePath(w),locator:Y.stringifyLocator(r)};await ae.writeFilePromise(A,` |
527 | // Expose 'Module' as a global variable | 527 | // Expose 'Module' as a global variable |
528 | Object.defineProperty(global, 'Module', { | 528 | Object.defineProperty(global, 'Module', { |
529 | get: () => require('module'), | 529 | get: () => require('module'), |
@@ -547,127 +547,129 @@ ${ve}`)}else pe.length>1&&!A&&_.reportError(27,`${Y.prettyDescriptor(r,J)} has m | |||
547 | }, | 547 | }, |
548 | enumerable: true, | 548 | enumerable: true, |
549 | }); | 549 | }); |
550 | `);let b=u.NODE_OPTIONS||"",E=/\s*--require\s+\S*\.pnp\.c?js\s*/g;b=b.replace(E," ").trim(),u.NODE_OPTIONS=b;let{stdout:R,stderr:L}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${Y.stringifyLocator(r)}) | 550 | `);let b=u.NODE_OPTIONS||"",C=/\s*--require\s+\S*\.pnp\.c?js\s*/g;b=b.replace(C," ").trim(),u.NODE_OPTIONS=b;let{stdout:R,stderr:L}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${Y.stringifyLocator(r)}) |
551 | `,prefix:Y.prettyLocator(a.project.configuration,r),report:a.report}),{code:_}=await Mr.pipevp(process.execPath,["--require",Ae.fromPortablePath(A),Ae.fromPortablePath(o),Y.stringifyIdent(r)],{cwd:e,env:u,stdin:null,stdout:R,stderr:L});if(_!==0)throw ae.detachTemp(p),new Error(`Package generation failed (exit code ${_}, logs can be found here: ${ye.pretty(a.project.configuration,h,ye.Type.PATH)})`)})})}};Ke();Ke();var lgt=2,p2=class{supportsDescriptor(e,r){return!!e.range.startsWith(pA)}supportsLocator(e,r){return!!e.reference.startsWith(pA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=IH(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await A2(Y.makeRange({protocol:pA,source:a,selector:a,params:{locator:Y.stringifyLocator(n)}}),pA,o.fetchOptions),A=bn.makeHash(`${lgt}`,u).slice(0,6);return[wH(e,{parentLocator:n,path:a,generatorHash:A,protocol:pA})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var cgt={fetchers:[f2],resolvers:[p2]},ugt=cgt;var DH={};Yt(DH,{FileFetcher:()=>m2,FileResolver:()=>y2,TarballFileFetcher:()=>E2,TarballFileResolver:()=>C2,default:()=>pgt,fileUtils:()=>tm});Ke();bt();var gC=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,h2=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Mi="file:";var tm={};Yt(tm,{fetchArchiveFromLocator:()=>d2,makeArchiveFromLocator:()=>sQ,makeBufferFromLocator:()=>vH,makeLocator:()=>dC,makeSpec:()=>Qme,parseSpec:()=>g2});Ke();bt();function g2(t){let{params:e,selector:r}=Y.parseRange(t),o=Ae.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?Y.parseLocator(e.locator):null,path:o}}function Qme({parentLocator:t,path:e,hash:r,protocol:o}){let a=t!==null?{locator:Y.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return Y.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function dC(t,{parentLocator:e,path:r,hash:o,protocol:a}){return Y.makeLocator(t,Qme({parentLocator:e,path:r,hash:o,protocol:a}))}async function d2(t,e){let{parentLocator:r,path:o}=Y.parseFileStyleRange(t.reference,{protocol:Mi}),a=V.isAbsolute(o)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await e.fetcher.fetch(r,e),n=a.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let u=n.packageFs,A=V.join(n.prefixPath,o);return await Ye.releaseAfterUseAsync(async()=>await u.readFilePromise(A),n.releaseFs)}async function sQ(t,{protocol:e,fetchOptions:r,inMemory:o=!1}){let{parentLocator:a,path:n}=Y.parseFileStyleRange(t.reference,{protocol:e}),u=V.isAbsolute(n)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(a,r),A=u.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,u.localPath)}:u;u!==A&&u.releaseFs&&u.releaseFs();let p=A.packageFs,h=V.join(A.prefixPath,n);return await Ye.releaseAfterUseAsync(async()=>await Vi.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:Y.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:o}),A.releaseFs)}async function vH(t,{protocol:e,fetchOptions:r}){return(await sQ(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var m2=class{supports(e,r){return!!e.reference.startsWith(Mi)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:Mi});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){return sQ(e,{protocol:Mi,fetchOptions:r})}};Ke();Ke();var Agt=2,y2=class{supportsDescriptor(e,r){return e.range.match(gC)?!0:!!e.range.startsWith(Mi)}supportsLocator(e,r){return!!e.reference.startsWith(Mi)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return gC.test(e.range)&&(e=Y.makeDescriptor(e,`${Mi}${e.range}`)),Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=g2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await vH(Y.makeLocator(e,Y.makeRange({protocol:Mi,source:a,selector:a,params:{locator:Y.stringifyLocator(n)}})),{protocol:Mi,fetchOptions:o.fetchOptions}),A=bn.makeHash(`${Agt}`,u).slice(0,6);return[dC(e,{parentLocator:n,path:a,hash:A,protocol:Mi})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};Ke();var E2=class{supports(e,r){return h2.test(e.reference)?!!e.reference.startsWith(Mi):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromDisk(e,r){let o=await d2(e,r);return await Vi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();Ke();Ke();var C2=class{supportsDescriptor(e,r){return h2.test(e.range)?!!(e.range.startsWith(Mi)||gC.test(e.range)):!1}supportsLocator(e,r){return h2.test(e.reference)?!!e.reference.startsWith(Mi):!1}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return gC.test(e.range)&&(e=Y.makeDescriptor(e,`${Mi}${e.range}`)),Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=g2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=dC(e,{parentLocator:n,path:a,hash:"",protocol:Mi}),A=await d2(u,o.fetchOptions),p=bn.makeHash(A).slice(0,6);return[dC(e,{parentLocator:n,path:a,hash:p,protocol:Mi})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var fgt={fetchers:[E2,m2],resolvers:[C2,y2]},pgt=fgt;var xH={};Yt(xH,{GithubFetcher:()=>I2,default:()=>ggt,githubUtils:()=>oQ});Ke();bt();var oQ={};Yt(oQ,{invalidGithubUrlMessage:()=>Rme,isGithubUrl:()=>SH,parseGithubUrl:()=>PH});var kme=tt(Ie("querystring")),Fme=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function SH(t){return t?Fme.some(e=>!!t.match(e)):!1}function PH(t){let e;for(let A of Fme)if(e=t.match(A),e)break;if(!e)throw new Error(Rme(t));let[,r,o,a,n="master"]=e,{commit:u}=kme.default.parse(n);return n=u||n.replace(/[^:]*:/,""),{auth:r,username:o,reponame:a,treeish:n}}function Rme(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var I2=class{supports(e,r){return!!SH(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await ln.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await ae.mktempPromise(async a=>{let n=new An(a);await Vi.extractArchiveTo(o,n,{stripComponents:1});let u=Zo.splitRepoUrl(e.reference),A=V.join(a,"package.tgz");await sn.prepareExternalProject(a,A,{configuration:r.project.configuration,report:r.report,workspace:u.extra.workspace,locator:e});let p=await ae.readFilePromise(A);return await Vi.convertToZip(p,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:o,username:a,reponame:n,treeish:u}=PH(e.reference);return`https://${o?`${o}@`:""}github.com/${a}/${n}/archive/${u}.tar.gz`}};var hgt={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let o=new I2;if(!o.supports(e,r))return null;try{return await o.fetch(e,r)}catch{return null}}}},ggt=hgt;var bH={};Yt(bH,{TarballHttpFetcher:()=>v2,TarballHttpResolver:()=>D2,default:()=>mgt});Ke();var w2=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,B2=/^https?:/;var v2=class{supports(e,r){return w2.test(e.reference)?!!B2.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await ln.get(e.reference,{configuration:r.project.configuration});return await Vi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();Ke();var D2=class{supportsDescriptor(e,r){return w2.test(e.range)?!!B2.test(e.range):!1}supportsLocator(e,r){return w2.test(e.reference)?!!B2.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[Y.convertDescriptorToLocator(e)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var dgt={fetchers:[v2],resolvers:[D2]},mgt=dgt;var QH={};Yt(QH,{InitCommand:()=>fh,default:()=>Egt});Ke();Ke();bt();_t();var fh=class extends ct{constructor(){super(...arguments);this.private=fe.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=fe.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=fe.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=fe.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=fe.Boolean("-2",!1,{hidden:!0});this.yes=fe.Boolean("-y,--yes",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return o!==null?await this.executeProxy(r,o):await this.executeRegular(r)}async executeProxy(r,o){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new ot("Cannot use the --install flag from within a project subdirectory");ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=V.join(this.context.cwd,r.get("lockfileFilename"));ae.existsSync(a)||await ae.writeFilePromise(a,"");let n=await this.cli.run(["set","version",o],{quiet:!0});if(n!==0)return n;let u=[];return this.private&&u.push("-p"),this.workspace&&u.push("-w"),this.name&&u.push(`-n=${this.name}`),this.yes&&u.push("-y"),await ae.mktempPromise(async A=>{let{code:p}=await Mr.pipevp("yarn",["init",...u],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await sn.makeScriptEnv({binFolder:A})});return p})}async executeRegular(r){let o=null;try{o=(await St.find(r,this.context.cwd)).project}catch{o=null}ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=await Nt.tryFind(this.context.cwd),n=a??new Nt,u=Object.fromEntries(r.get("initFields").entries());n.load(u),n.name=n.name??Y.makeIdent(r.get("initScope"),this.name??V.basename(this.context.cwd)),n.packageManager=On&&Ye.isTaggedYarnVersion(On)?`yarn@${On}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await ae.mkdirPromise(V.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let A={};n.exportTo(A);let p=V.join(this.context.cwd,Nt.fileName);await ae.changeFilePromise(p,`${JSON.stringify(A,null,2)} | 551 | `,prefix:Y.prettyLocator(a.project.configuration,r),report:a.report}),{code:_}=await Mr.pipevp(process.execPath,["--require",ue.fromPortablePath(A),ue.fromPortablePath(o),Y.stringifyIdent(r)],{cwd:e,env:u,stdin:null,stdout:R,stderr:L});if(_!==0)throw ae.detachTemp(p),new Error(`Package generation failed (exit code ${_}, logs can be found here: ${ye.pretty(a.project.configuration,h,ye.Type.PATH)})`)})})}};Ke();Ke();var Cgt=2,m2=class{supportsDescriptor(e,r){return!!e.range.startsWith(hA)}supportsLocator(e,r){return!!e.reference.startsWith(hA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=wH(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await g2(Y.makeRange({protocol:hA,source:a,selector:a,params:{locator:Y.stringifyLocator(n)}}),hA,o.fetchOptions),A=bn.makeHash(`${Cgt}`,u).slice(0,6);return[BH(e,{parentLocator:n,path:a,generatorHash:A,protocol:hA})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Egt={fetchers:[d2],resolvers:[m2]},Igt=Egt;var SH={};Yt(SH,{FileFetcher:()=>I2,FileResolver:()=>w2,TarballFileFetcher:()=>B2,TarballFileResolver:()=>v2,default:()=>vgt,fileUtils:()=>im});Ke();bt();var EE=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,y2=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Mi="file:";var im={};Yt(im,{fetchArchiveFromLocator:()=>E2,makeArchiveFromLocator:()=>fQ,makeBufferFromLocator:()=>DH,makeLocator:()=>IE,makeSpec:()=>Lme,parseSpec:()=>C2});Ke();bt();function C2(t){let{params:e,selector:r}=Y.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?Y.parseLocator(e.locator):null,path:o}}function Lme({parentLocator:t,path:e,hash:r,protocol:o}){let a=t!==null?{locator:Y.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return Y.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function IE(t,{parentLocator:e,path:r,hash:o,protocol:a}){return Y.makeLocator(t,Lme({parentLocator:e,path:r,hash:o,protocol:a}))}async function E2(t,e){let{parentLocator:r,path:o}=Y.parseFileStyleRange(t.reference,{protocol:Mi}),a=z.isAbsolute(o)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await e.fetcher.fetch(r,e),n=a.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let u=n.packageFs,A=z.join(n.prefixPath,o);return await Ye.releaseAfterUseAsync(async()=>await u.readFilePromise(A),n.releaseFs)}async function fQ(t,{protocol:e,fetchOptions:r,inMemory:o=!1}){let{parentLocator:a,path:n}=Y.parseFileStyleRange(t.reference,{protocol:e}),u=z.isAbsolute(n)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(a,r),A=u.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,u.localPath)}:u;u!==A&&u.releaseFs&&u.releaseFs();let p=A.packageFs,h=z.join(A.prefixPath,n);return await Ye.releaseAfterUseAsync(async()=>await Ji.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:Y.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:o}),A.releaseFs)}async function DH(t,{protocol:e,fetchOptions:r}){return(await fQ(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var I2=class{supports(e,r){return!!e.reference.startsWith(Mi)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:Mi});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){return fQ(e,{protocol:Mi,fetchOptions:r})}};Ke();Ke();var wgt=2,w2=class{supportsDescriptor(e,r){return e.range.match(EE)?!0:!!e.range.startsWith(Mi)}supportsLocator(e,r){return!!e.reference.startsWith(Mi)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return EE.test(e.range)&&(e=Y.makeDescriptor(e,`${Mi}${e.range}`)),Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=C2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await DH(Y.makeLocator(e,Y.makeRange({protocol:Mi,source:a,selector:a,params:{locator:Y.stringifyLocator(n)}})),{protocol:Mi,fetchOptions:o.fetchOptions}),A=bn.makeHash(`${wgt}`,u).slice(0,6);return[IE(e,{parentLocator:n,path:a,hash:A,protocol:Mi})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};Ke();var B2=class{supports(e,r){return y2.test(e.reference)?!!e.reference.startsWith(Mi):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromDisk(e,r){let o=await E2(e,r);return await Ji.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();Ke();Ke();var v2=class{supportsDescriptor(e,r){return y2.test(e.range)?!!(e.range.startsWith(Mi)||EE.test(e.range)):!1}supportsLocator(e,r){return y2.test(e.reference)?!!e.reference.startsWith(Mi):!1}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return EE.test(e.range)&&(e=Y.makeDescriptor(e,`${Mi}${e.range}`)),Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=C2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=IE(e,{parentLocator:n,path:a,hash:"",protocol:Mi}),A=await E2(u,o.fetchOptions),p=bn.makeHash(A).slice(0,6);return[IE(e,{parentLocator:n,path:a,hash:p,protocol:Mi})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Bgt={fetchers:[B2,I2],resolvers:[v2,w2]},vgt=Bgt;var bH={};Yt(bH,{GithubFetcher:()=>D2,default:()=>Sgt,githubUtils:()=>pQ});Ke();bt();var pQ={};Yt(pQ,{invalidGithubUrlMessage:()=>Ume,isGithubUrl:()=>PH,parseGithubUrl:()=>xH});var Ome=tt(Ie("querystring")),Mme=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function PH(t){return t?Mme.some(e=>!!t.match(e)):!1}function xH(t){let e;for(let A of Mme)if(e=t.match(A),e)break;if(!e)throw new Error(Ume(t));let[,r,o,a,n="master"]=e,{commit:u}=Ome.default.parse(n);return n=u||n.replace(/[^:]*:/,""),{auth:r,username:o,reponame:a,treeish:n}}function Ume(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var D2=class{supports(e,r){return!!PH(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await ln.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await ae.mktempPromise(async a=>{let n=new An(a);await Ji.extractArchiveTo(o,n,{stripComponents:1});let u=$o.splitRepoUrl(e.reference),A=z.join(a,"package.tgz");await sn.prepareExternalProject(a,A,{configuration:r.project.configuration,report:r.report,workspace:u.extra.workspace,locator:e});let p=await ae.readFilePromise(A);return await Ji.convertToZip(p,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:o,username:a,reponame:n,treeish:u}=xH(e.reference);return`https://${o?`${o}@`:""}github.com/${a}/${n}/archive/${u}.tar.gz`}};var Dgt={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let o=new D2;if(!o.supports(e,r))return null;try{return await o.fetch(e,r)}catch{return null}}}},Sgt=Dgt;var QH={};Yt(QH,{TarballHttpFetcher:()=>x2,TarballHttpResolver:()=>b2,default:()=>xgt});Ke();var S2=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,P2=/^https?:/;var x2=class{supports(e,r){return S2.test(e.reference)?!!P2.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await ln.get(e.reference,{configuration:r.project.configuration});return await Ji.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();Ke();var b2=class{supportsDescriptor(e,r){return S2.test(e.range)?!!P2.test(e.range):!1}supportsLocator(e,r){return S2.test(e.reference)?!!P2.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[Y.convertDescriptorToLocator(e)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Pgt={fetchers:[x2],resolvers:[b2]},xgt=Pgt;var kH={};Yt(kH,{InitCommand:()=>ph,default:()=>Qgt});Ke();Ke();bt();_t();var ph=class extends ct{constructor(){super(...arguments);this.private=fe.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=fe.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=fe.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=fe.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=fe.Boolean("-2",!1,{hidden:!0});this.yes=fe.Boolean("-y,--yes",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return o!==null?await this.executeProxy(r,o):await this.executeRegular(r)}async executeProxy(r,o){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new ot("Cannot use the --install flag from within a project subdirectory");ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=z.join(this.context.cwd,r.get("lockfileFilename"));ae.existsSync(a)||await ae.writeFilePromise(a,"");let n=await this.cli.run(["set","version",o],{quiet:!0});if(n!==0)return n;let u=[];return this.private&&u.push("-p"),this.workspace&&u.push("-w"),this.name&&u.push(`-n=${this.name}`),this.yes&&u.push("-y"),await ae.mktempPromise(async A=>{let{code:p}=await Mr.pipevp("yarn",["init",...u],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await sn.makeScriptEnv({binFolder:A})});return p})}async executeRegular(r){let o=null;try{o=(await St.find(r,this.context.cwd)).project}catch{o=null}ae.existsSync(this.context.cwd)||await ae.mkdirPromise(this.context.cwd,{recursive:!0});let a=await Nt.tryFind(this.context.cwd),n=a??new Nt,u=Object.fromEntries(r.get("initFields").entries());n.load(u),n.name=n.name??Y.makeIdent(r.get("initScope"),this.name??z.basename(this.context.cwd)),n.packageManager=On&&Ye.isTaggedYarnVersion(On)?`yarn@${On}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await ae.mkdirPromise(z.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let A={};n.exportTo(A);let p=z.join(this.context.cwd,Nt.fileName);await ae.changeFilePromise(p,`${JSON.stringify(A,null,2)} |
552 | `,{automaticNewlines:!0});let h=[p],C=V.join(this.context.cwd,"README.md");if(ae.existsSync(C)||(await ae.writeFilePromise(C,`# ${Y.stringifyIdent(n.name)} | 552 | `,{automaticNewlines:!0});let h=[p],E=z.join(this.context.cwd,"README.md");if(ae.existsSync(E)||(await ae.writeFilePromise(E,`# ${Y.stringifyIdent(n.name)} |
553 | `),h.push(C)),!o||o.cwd===this.context.cwd){let w=V.join(this.context.cwd,Lr.lockfile);ae.existsSync(w)||(await ae.writeFilePromise(w,""),h.push(w));let b=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/zero-installs","","#!.yarn/cache",".pnp.*"].map(pe=>`${pe} | 553 | `),h.push(E)),!o||o.cwd===this.context.cwd){let w=z.join(this.context.cwd,Lr.lockfile);ae.existsSync(w)||(await ae.writeFilePromise(w,""),h.push(w));let b=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/zero-installs","","#!.yarn/cache",".pnp.*"].map(pe=>`${pe} |
554 | `).join(""),E=V.join(this.context.cwd,".gitignore");ae.existsSync(E)||(await ae.writeFilePromise(E,b),h.push(E));let L=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(pe=>`${pe} | 554 | `).join(""),C=z.join(this.context.cwd,".gitignore");ae.existsSync(C)||(await ae.writeFilePromise(C,b),h.push(C));let L=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(pe=>`${pe} |
555 | `).join(""),_=V.join(this.context.cwd,".gitattributes");ae.existsSync(_)||(await ae.writeFilePromise(_,L),h.push(_));let J={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};Ye.mergeIntoTarget(J,r.get("initEditorConfig"));let re=`root = true | 555 | `).join(""),_=z.join(this.context.cwd,".gitattributes");ae.existsSync(_)||(await ae.writeFilePromise(_,L),h.push(_));let V={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};Ye.mergeIntoTarget(V,r.get("initEditorConfig"));let re=`root = true |
556 | `;for(let[pe,he]of Object.entries(J)){re+=` | 556 | `;for(let[pe,he]of Object.entries(V)){re+=` |
557 | [${pe}] | 557 | [${pe}] |
558 | `;for(let[ve,ge]of Object.entries(he)){let le=ve.replace(/[A-Z]/g,Pe=>`_${Pe.toLowerCase()}`);re+=`${le} = ${ge} | 558 | `;for(let[ve,ge]of Object.entries(he)){let le=ve.replace(/[A-Z]/g,Pe=>`_${Pe.toLowerCase()}`);re+=`${le} = ${ge} |
559 | `}}let oe=V.join(this.context.cwd,".editorconfig");ae.existsSync(oe)||(await ae.writeFilePromise(oe,re),h.push(oe)),await this.cli.run(["install"],{quiet:!0}),ae.existsSync(V.join(this.context.cwd,".git"))||(await Mr.execvp("git",["init"],{cwd:this.context.cwd}),await Mr.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await Mr.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};fh.paths=[["init"]],fh.usage=it.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var ygt={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[fh]},Egt=ygt;var Fq={};Yt(Fq,{SearchCommand:()=>mh,UpgradeInteractiveCommand:()=>Eh,default:()=>aIt});Ke();var Tme=tt(Ie("os"));function mC({stdout:t}){if(Tme.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!t.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}_t();var Yye=tt(JH()),VH={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},dmt=(0,Yye.default)(VH.appId,VH.apiKey).initIndex(VH.indexName),zH=async(t,e=0)=>await dmt.search(t,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:e,hitsPerPage:10});var vB=["regular","dev","peer"],mh=class extends ct{async execute(){mC(this.context);let{Gem:e}=await Promise.resolve().then(()=>(JQ(),Iq)),{ScrollableItems:r}=await Promise.resolve().then(()=>(ZQ(),XQ)),{useKeypress:o}=await Promise.resolve().then(()=>(IB(),awe)),{useMinistore:a}=await Promise.resolve().then(()=>(Pq(),Sq)),{renderForm:n}=await Promise.resolve().then(()=>(rk(),tk)),{default:u}=await Promise.resolve().then(()=>tt(mwe())),{Box:A,Text:p}=await Promise.resolve().then(()=>tt(oc())),{default:h,useEffect:C,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),b=()=>h.createElement(A,{flexDirection:"row"},h.createElement(A,{flexDirection:"column",width:48},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to move between packages.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," to select a package.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," again to change the target."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to install the selected packages.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),E=()=>h.createElement(h.Fragment,null,h.createElement(A,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(A,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(A,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),R=()=>h.createElement(A,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),L=({hit:ge,active:le})=>{let[Pe,g]=a(ge.name,null);o({active:le},(de,ne)=>{if(ne.name!=="space")return;if(!Pe){g(vB[0]);return}let Z=vB.indexOf(Pe)+1;Z===vB.length?g(null):g(vB[Z])},[Pe,g]);let De=Y.parseIdent(ge.name),Ee=Y.prettyIdent(v,De);return h.createElement(A,null,h.createElement(A,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},Ee)),h.createElement(A,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},ge.owner.name)),h.createElement(A,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},ge.version)),h.createElement(A,{width:16,marginLeft:1},h.createElement(p,null,ge.humanDownloadsLast30Days)))},_=({name:ge,active:le})=>{let[Pe]=a(ge,null),g=Y.parseIdent(ge);return h.createElement(A,null,h.createElement(A,{width:47},h.createElement(p,{bold:!0}," - ",Y.prettyIdent(v,g))),vB.map(De=>h.createElement(A,{key:De,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(e,{active:Pe===De})," ",h.createElement(p,{bold:!0},De)))))},J=()=>h.createElement(A,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),oe=await n(({useSubmit:ge})=>{let le=a();ge(le);let Pe=Array.from(le.keys()).filter(H=>le.get(H)!==null),[g,De]=w(""),[Ee,de]=w(0),[ne,Z]=w([]),me=H=>{H.match(/\t| /)||De(H)},be=async()=>{de(0);let H=await zH(g);H.query===g&&Z(H.hits)},ut=async()=>{let H=await zH(g,Ee+1);H.query===g&&H.page-1===Ee&&(de(H.page),Z([...ne,...H.hits]))};return C(()=>{g?be():Z([])},[g]),h.createElement(A,{flexDirection:"column"},h.createElement(b,null),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(A,{width:41},h.createElement(u,{value:g,onChange:me,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(E,null)),ne.length?h.createElement(r,{radius:2,loop:!1,children:ne.map(H=>h.createElement(L,{key:H.name,hit:H,active:!1})),willReachEnd:ut}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(A,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(R,null)),Pe.length?Pe.map(H=>h.createElement(_,{key:H,name:H,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(J,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof oe>"u")return 1;let pe=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="regular"),he=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="dev"),ve=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="peer");return pe.length&&await this.cli.run(["add",...pe]),he.length&&await this.cli.run(["add","--dev",...he]),ve&&await this.cli.run(["add","--peer",...ve]),0}};mh.paths=[["search"]],mh.usage=it.Usage({category:"Interactive commands",description:"open the search interface",details:` | 559 | `}}let oe=z.join(this.context.cwd,".editorconfig");ae.existsSync(oe)||(await ae.writeFilePromise(oe,re),h.push(oe)),await this.cli.run(["install"],{quiet:!0}),ae.existsSync(z.join(this.context.cwd,".git"))||(await Mr.execvp("git",["init"],{cwd:this.context.cwd}),await Mr.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await Mr.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};ph.paths=[["init"]],ph.usage=it.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var bgt={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[ph]},Qgt=bgt;var Rq={};Yt(Rq,{SearchCommand:()=>yh,UpgradeInteractiveCommand:()=>Eh,default:()=>yIt});Ke();var _me=tt(Ie("os"));function wE({stdout:t}){if(_me.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!t.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}_t();var Zye=tt(JH()),zH={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},Pmt=(0,Zye.default)(zH.appId,zH.apiKey).initIndex(zH.indexName),XH=async(t,e=0)=>await Pmt.search(t,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:e,hitsPerPage:10});var xB=["regular","dev","peer"],yh=class extends ct{async execute(){wE(this.context);let{Gem:e}=await Promise.resolve().then(()=>(tk(),wq)),{ScrollableItems:r}=await Promise.resolve().then(()=>(sk(),ik)),{useKeypress:o}=await Promise.resolve().then(()=>(DB(),pwe)),{useMinistore:a}=await Promise.resolve().then(()=>(xq(),Pq)),{renderForm:n}=await Promise.resolve().then(()=>(ck(),lk)),{default:u}=await Promise.resolve().then(()=>tt(Bwe())),{Box:A,Text:p}=await Promise.resolve().then(()=>tt(cc())),{default:h,useEffect:E,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),b=()=>h.createElement(A,{flexDirection:"row"},h.createElement(A,{flexDirection:"column",width:48},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to move between packages.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," to select a package.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<space>")," again to change the target."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to install the selected packages.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),C=()=>h.createElement(h.Fragment,null,h.createElement(A,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(A,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(A,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),R=()=>h.createElement(A,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),L=({hit:ge,active:le})=>{let[Pe,g]=a(ge.name,null);o({active:le},(de,ne)=>{if(ne.name!=="space")return;if(!Pe){g(xB[0]);return}let Z=xB.indexOf(Pe)+1;Z===xB.length?g(null):g(xB[Z])},[Pe,g]);let De=Y.parseIdent(ge.name),Ce=Y.prettyIdent(v,De);return h.createElement(A,null,h.createElement(A,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},Ce)),h.createElement(A,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},ge.owner.name)),h.createElement(A,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},ge.version)),h.createElement(A,{width:16,marginLeft:1},h.createElement(p,null,ge.humanDownloadsLast30Days)))},_=({name:ge,active:le})=>{let[Pe]=a(ge,null),g=Y.parseIdent(ge);return h.createElement(A,null,h.createElement(A,{width:47},h.createElement(p,{bold:!0}," - ",Y.prettyIdent(v,g))),xB.map(De=>h.createElement(A,{key:De,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(e,{active:Pe===De})," ",h.createElement(p,{bold:!0},De)))))},V=()=>h.createElement(A,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),oe=await n(({useSubmit:ge})=>{let le=a();ge(le);let Pe=Array.from(le.keys()).filter(H=>le.get(H)!==null),[g,De]=w(""),[Ce,de]=w(0),[ne,Z]=w([]),me=H=>{H.match(/\t| /)||De(H)},be=async()=>{de(0);let H=await XH(g);H.query===g&&Z(H.hits)},ut=async()=>{let H=await XH(g,Ce+1);H.query===g&&H.page-1===Ce&&(de(H.page),Z([...ne,...H.hits]))};return E(()=>{g?be():Z([])},[g]),h.createElement(A,{flexDirection:"column"},h.createElement(b,null),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(A,{width:41},h.createElement(u,{value:g,onChange:me,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(C,null)),ne.length?h.createElement(r,{radius:2,loop:!1,children:ne.map(H=>h.createElement(L,{key:H.name,hit:H,active:!1})),willReachEnd:ut}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(A,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(R,null)),Pe.length?Pe.map(H=>h.createElement(_,{key:H,name:H,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(V,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof oe>"u")return 1;let pe=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="regular"),he=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="dev"),ve=Array.from(oe.keys()).filter(ge=>oe.get(ge)==="peer");return pe.length&&await this.cli.run(["add",...pe]),he.length&&await this.cli.run(["add","--dev",...he]),ve&&await this.cli.run(["add","--peer",...ve]),0}};yh.paths=[["search"]],yh.usage=it.Usage({category:"Interactive commands",description:"open the search interface",details:` |
560 | This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. | 560 | This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. |
561 | `,examples:[["Open the search window","yarn search"]]});Ke();_t();g_();var vwe=tt(ii()),Bwe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,Dwe=(t,e)=>t.length>0?[t.slice(0,e)].concat(Dwe(t.slice(e),e)):[],Eh=class extends ct{async execute(){mC(this.context);let{ItemOptions:e}=await Promise.resolve().then(()=>(wwe(),Iwe)),{Pad:r}=await Promise.resolve().then(()=>(kq(),Cwe)),{ScrollableItems:o}=await Promise.resolve().then(()=>(ZQ(),XQ)),{useMinistore:a}=await Promise.resolve().then(()=>(Pq(),Sq)),{renderForm:n}=await Promise.resolve().then(()=>(rk(),tk)),{Box:u,Text:A}=await Promise.resolve().then(()=>tt(oc())),{default:p,useEffect:h,useRef:C,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),{project:b,workspace:E}=await St.find(v,this.context.cwd),R=await Ur.find(v);if(!E)throw new er(b.cwd,this.context.cwd);await b.restoreInstallState({restoreResolutions:!1});let L=this.context.stdout.rows-7,_=(Ee,de)=>{let ne=Bpe(Ee,de),Z="";for(let me of ne)me.added?Z+=ye.pretty(v,me.value,"green"):me.removed||(Z+=me.value);return Z},J=(Ee,de)=>{if(Ee===de)return de;let ne=Y.parseRange(Ee),Z=Y.parseRange(de),me=ne.selector.match(Bwe),be=Z.selector.match(Bwe);if(!me||!be)return _(Ee,de);let ut=["gray","red","yellow","green","magenta"],H=null,yt="";for(let Me=1;Me<ut.length;++Me)H!==null||me[Me]!==be[Me]?(H===null&&(H=ut[Me-1]),yt+=ye.pretty(v,be[Me],H)):yt+=be[Me];return yt},re=async(Ee,de,ne)=>{let Z=await Zc.fetchDescriptorFrom(Ee,ne,{project:b,cache:R,preserveModifier:de,workspace:E});return Z!==null?Z.range:Ee.range},oe=async Ee=>{let de=vwe.default.valid(Ee.range)?`^${Ee.range}`:Ee.range,[ne,Z]=await Promise.all([re(Ee,Ee.range,de).catch(()=>null),re(Ee,Ee.range,"latest").catch(()=>null)]),me=[{value:null,label:Ee.range}];return ne&&ne!==Ee.range?me.push({value:ne,label:J(Ee.range,ne)}):me.push({value:null,label:""}),Z&&Z!==ne&&Z!==Ee.range?me.push({value:Z,label:J(Ee.range,Z)}):me.push({value:null,label:""}),me},pe=()=>p.createElement(u,{flexDirection:"row"},p.createElement(u,{flexDirection:"column",width:49},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<up>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<down>")," to select packages.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<left>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<right>")," to select versions."))),p.createElement(u,{flexDirection:"column"},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<enter>")," to install.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),he=()=>p.createElement(u,{flexDirection:"row",paddingTop:1,paddingBottom:1},p.createElement(u,{width:50},p.createElement(A,{bold:!0},p.createElement(A,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Current")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Range")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Latest"))),ve=({active:Ee,descriptor:de,suggestions:ne})=>{let[Z,me]=a(de.descriptorHash,null),be=Y.stringifyIdent(de),ut=Math.max(0,45-be.length);return p.createElement(p.Fragment,null,p.createElement(u,null,p.createElement(u,{width:45},p.createElement(A,{bold:!0},Y.prettyIdent(v,de)),p.createElement(r,{active:Ee,length:ut})),p.createElement(e,{active:Ee,options:ne,value:Z,skewer:!0,onChange:me,sizes:[17,17,17]})))},ge=({dependencies:Ee})=>{let[de,ne]=w(Ee.map(()=>null)),Z=C(!0),me=async be=>{let ut=await oe(be);return ut.filter(H=>H.label!=="").length<=1?null:{descriptor:be,suggestions:ut}};return h(()=>()=>{Z.current=!1},[]),h(()=>{let be=Math.trunc(L*1.75),ut=Ee.slice(0,be),H=Ee.slice(be),yt=Dwe(H,L),Me=ut.map(me).reduce(async(Te,Qe)=>{await Te;let Ue=await Qe;Ue!==null&&(!Z.current||ne(je=>{let At=je.findIndex(x=>x===null),Le=[...je];return Le[At]=Ue,Le}))},Promise.resolve());yt.reduce((Te,Qe)=>Promise.all(Qe.map(Ue=>Promise.resolve().then(()=>me(Ue)))).then(async Ue=>{Ue=Ue.filter(je=>je!==null),await Te,Z.current&&ne(je=>{let At=je.findIndex(Le=>Le===null);return je.slice(0,At).concat(Ue).concat(je.slice(At+Ue.length))})}),Me).then(()=>{Z.current&&ne(Te=>Te.filter(Qe=>Qe!==null))})},[]),de.length?p.createElement(o,{radius:L>>1,children:de.map((be,ut)=>be!==null?p.createElement(ve,{key:ut,active:!1,descriptor:be.descriptor,suggestions:be.suggestions}):p.createElement(A,{key:ut},"Loading..."))}):p.createElement(A,null,"No upgrades found")},Pe=await n(({useSubmit:Ee})=>{Ee(a());let de=new Map;for(let Z of b.workspaces)for(let me of["dependencies","devDependencies"])for(let be of Z.manifest[me].values())b.tryWorkspaceByDescriptor(be)===null&&de.set(be.descriptorHash,be);let ne=Ye.sortMap(de.values(),Z=>Y.stringifyDescriptor(Z));return p.createElement(u,{flexDirection:"column"},p.createElement(pe,null),p.createElement(he,null),p.createElement(ge,{dependencies:ne}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof Pe>"u")return 1;let g=!1;for(let Ee of b.workspaces)for(let de of["dependencies","devDependencies"]){let ne=Ee.manifest[de];for(let Z of ne.values()){let me=Pe.get(Z.descriptorHash);typeof me<"u"&&me!==null&&(ne.set(Z.identHash,Y.makeDescriptor(Z,me)),g=!0)}}return g?(await Ct.start({configuration:v,stdout:this.context.stdout,includeLogs:!this.context.quiet},async Ee=>{await b.install({cache:R,report:Ee})})).exitCode():0}};Eh.paths=[["upgrade-interactive"]],Eh.usage=it.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` | 561 | `,examples:[["Open the search window","yarn search"]]});Ke();_t();d_();var Qwe=tt(si()),bwe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,kwe=(t,e)=>t.length>0?[t.slice(0,e)].concat(kwe(t.slice(e),e)):[],Eh=class extends ct{async execute(){wE(this.context);let{ItemOptions:e}=await Promise.resolve().then(()=>(xwe(),Pwe)),{Pad:r}=await Promise.resolve().then(()=>(Fq(),Swe)),{ScrollableItems:o}=await Promise.resolve().then(()=>(sk(),ik)),{useMinistore:a}=await Promise.resolve().then(()=>(xq(),Pq)),{renderForm:n}=await Promise.resolve().then(()=>(ck(),lk)),{Box:u,Text:A}=await Promise.resolve().then(()=>tt(cc())),{default:p,useEffect:h,useRef:E,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),{project:b,workspace:C}=await St.find(v,this.context.cwd),R=await Ur.find(v);if(!C)throw new er(b.cwd,this.context.cwd);await b.restoreInstallState({restoreResolutions:!1});let L=this.context.stdout.rows-7,_=(Ce,de)=>{let ne=bpe(Ce,de),Z="";for(let me of ne)me.added?Z+=ye.pretty(v,me.value,"green"):me.removed||(Z+=me.value);return Z},V=(Ce,de)=>{if(Ce===de)return de;let ne=Y.parseRange(Ce),Z=Y.parseRange(de),me=ne.selector.match(bwe),be=Z.selector.match(bwe);if(!me||!be)return _(Ce,de);let ut=["gray","red","yellow","green","magenta"],H=null,yt="";for(let Me=1;Me<ut.length;++Me)H!==null||me[Me]!==be[Me]?(H===null&&(H=ut[Me-1]),yt+=ye.pretty(v,be[Me],H)):yt+=be[Me];return yt},re=async(Ce,de,ne)=>{let Z=await eu.fetchDescriptorFrom(Ce,ne,{project:b,cache:R,preserveModifier:de,workspace:C});return Z!==null?Z.range:Ce.range},oe=async Ce=>{let de=Qwe.default.valid(Ce.range)?`^${Ce.range}`:Ce.range,[ne,Z]=await Promise.all([re(Ce,Ce.range,de).catch(()=>null),re(Ce,Ce.range,"latest").catch(()=>null)]),me=[{value:null,label:Ce.range}];return ne&&ne!==Ce.range?me.push({value:ne,label:V(Ce.range,ne)}):me.push({value:null,label:""}),Z&&Z!==ne&&Z!==Ce.range?me.push({value:Z,label:V(Ce.range,Z)}):me.push({value:null,label:""}),me},pe=()=>p.createElement(u,{flexDirection:"row"},p.createElement(u,{flexDirection:"column",width:49},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<up>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<down>")," to select packages.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<left>"),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"<right>")," to select versions."))),p.createElement(u,{flexDirection:"column"},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<enter>")," to install.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),he=()=>p.createElement(u,{flexDirection:"row",paddingTop:1,paddingBottom:1},p.createElement(u,{width:50},p.createElement(A,{bold:!0},p.createElement(A,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Current")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Range")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Latest"))),ve=({active:Ce,descriptor:de,suggestions:ne})=>{let[Z,me]=a(de.descriptorHash,null),be=Y.stringifyIdent(de),ut=Math.max(0,45-be.length);return p.createElement(p.Fragment,null,p.createElement(u,null,p.createElement(u,{width:45},p.createElement(A,{bold:!0},Y.prettyIdent(v,de)),p.createElement(r,{active:Ce,length:ut})),p.createElement(e,{active:Ce,options:ne,value:Z,skewer:!0,onChange:me,sizes:[17,17,17]})))},ge=({dependencies:Ce})=>{let[de,ne]=w(Ce.map(()=>null)),Z=E(!0),me=async be=>{let ut=await oe(be);return ut.filter(H=>H.label!=="").length<=1?null:{descriptor:be,suggestions:ut}};return h(()=>()=>{Z.current=!1},[]),h(()=>{let be=Math.trunc(L*1.75),ut=Ce.slice(0,be),H=Ce.slice(be),yt=kwe(H,L),Me=ut.map(me).reduce(async(Te,Qe)=>{await Te;let _e=await Qe;_e!==null&&(!Z.current||ne(qe=>{let At=qe.findIndex(x=>x===null),Oe=[...qe];return Oe[At]=_e,Oe}))},Promise.resolve());yt.reduce((Te,Qe)=>Promise.all(Qe.map(_e=>Promise.resolve().then(()=>me(_e)))).then(async _e=>{_e=_e.filter(qe=>qe!==null),await Te,Z.current&&ne(qe=>{let At=qe.findIndex(Oe=>Oe===null);return qe.slice(0,At).concat(_e).concat(qe.slice(At+_e.length))})}),Me).then(()=>{Z.current&&ne(Te=>Te.filter(Qe=>Qe!==null))})},[]),de.length?p.createElement(o,{radius:L>>1,children:de.map((be,ut)=>be!==null?p.createElement(ve,{key:ut,active:!1,descriptor:be.descriptor,suggestions:be.suggestions}):p.createElement(A,{key:ut},"Loading..."))}):p.createElement(A,null,"No upgrades found")},Pe=await n(({useSubmit:Ce})=>{Ce(a());let de=new Map;for(let Z of b.workspaces)for(let me of["dependencies","devDependencies"])for(let be of Z.manifest[me].values())b.tryWorkspaceByDescriptor(be)===null&&de.set(be.descriptorHash,be);let ne=Ye.sortMap(de.values(),Z=>Y.stringifyDescriptor(Z));return p.createElement(u,{flexDirection:"column"},p.createElement(pe,null),p.createElement(he,null),p.createElement(ge,{dependencies:ne}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof Pe>"u")return 1;let g=!1;for(let Ce of b.workspaces)for(let de of["dependencies","devDependencies"]){let ne=Ce.manifest[de];for(let Z of ne.values()){let me=Pe.get(Z.descriptorHash);typeof me<"u"&&me!==null&&(ne.set(Z.identHash,Y.makeDescriptor(Z,me)),g=!0)}}return g?(await Et.start({configuration:v,stdout:this.context.stdout,includeLogs:!this.context.quiet},async Ce=>{await b.install({cache:R,report:Ce})})).exitCode():0}};Eh.paths=[["upgrade-interactive"]],Eh.usage=it.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` |
562 | This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. | 562 | This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. |
563 | `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var oIt={commands:[mh,Eh]},aIt=oIt;var Rq={};Yt(Rq,{LinkFetcher:()=>SB,LinkResolver:()=>PB,PortalFetcher:()=>xB,PortalResolver:()=>bB,default:()=>cIt});Ke();bt();var Zf="portal:",$f="link:";var SB=class{supports(e,r){return!!e.reference.startsWith($f)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:$f});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:$f}),n=V.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,n.localPath),localPath:wt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=V.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new An(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new ju(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,discardFromLookup:!0}}};Ke();bt();var PB=class{supportsDescriptor(e,r){return!!e.range.startsWith($f)}supportsLocator(e,r){return!!e.reference.startsWith($f)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice($f.length);return[Y.makeLocator(e,`${$f}${Ae.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){return{...e,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};Ke();bt();var xB=class{supports(e,r){return!!e.reference.startsWith(Zf)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:Zf});if(V.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:V.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:Zf}),n=V.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,n.localPath),localPath:wt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=V.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new An(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,localPath:p}:{packageFs:new ju(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot}}};Ke();Ke();bt();var bB=class{supportsDescriptor(e,r){return!!e.range.startsWith(Zf)}supportsLocator(e,r){return!!e.reference.startsWith(Zf)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(Zf.length);return[Y.makeLocator(e,`${Zf}${Ae.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var lIt={fetchers:[SB,xB],resolvers:[PB,bB]},cIt=lIt;var Aj={};Yt(Aj,{NodeModulesLinker:()=>qB,NodeModulesMode:()=>aj,PnpLooseLinker:()=>jB,default:()=>Bwt});bt();Ke();bt();bt();var Nq=(t,e)=>`${t}@${e}`,Swe=(t,e)=>{let r=e.indexOf("#"),o=r>=0?e.substring(r+1):e;return Nq(t,o)};var bwe=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),o=e.check||r>=9,a=e.hoistingLimits||new Map,n={check:o,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},u;n.debugLevel>=0&&(u=Date.now());let A=dIt(t,n),p=!1,h=0;do p=Lq(A,[A],new Set([A.locator]),new Map,n).anotherRoundNeeded,n.fastLookupPossible=!1,h++;while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-u}ms, rounds: ${h}`),n.debugLevel>=1){let C=QB(A);if(Lq(A,[A],new Set([A.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: | 563 | `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var mIt={commands:[yh,Eh]},yIt=mIt;var Tq={};Yt(Tq,{LinkFetcher:()=>QB,LinkResolver:()=>kB,PortalFetcher:()=>FB,PortalResolver:()=>RB,default:()=>EIt});Ke();bt();var ep="portal:",tp="link:";var QB=class{supports(e,r){return!!e.reference.startsWith(tp)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:tp});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:tp}),n=z.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,n.localPath),localPath:wt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new An(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new Gu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,discardFromLookup:!0}}};Ke();bt();var kB=class{supportsDescriptor(e,r){return!!e.range.startsWith(tp)}supportsLocator(e,r){return!!e.reference.startsWith(tp)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(tp.length);return[Y.makeLocator(e,`${tp}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){return{...e,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};Ke();bt();var FB=class{supports(e,r){return!!e.reference.startsWith(ep)}getLocalPath(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:ep});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=Y.parseFileStyleRange(e.reference,{protocol:ep}),n=z.isAbsolute(a)?{packageFs:new An(wt.root),prefixPath:wt.dot,localPath:wt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,n.localPath),localPath:wt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new An(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot,localPath:p}:{packageFs:new Gu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:wt.dot}}};Ke();Ke();bt();var RB=class{supportsDescriptor(e,r){return!!e.range.startsWith(ep)}supportsLocator(e,r){return!!e.reference.startsWith(ep)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(ep.length);return[Y.makeLocator(e,`${ep}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await Ye.releaseAfterUseAsync(async()=>await Nt.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var CIt={fetchers:[QB,FB],resolvers:[kB,RB]},EIt=CIt;var mj={};Yt(mj,{NodeModulesLinker:()=>JB,NodeModulesMode:()=>pj,PnpLooseLinker:()=>zB,default:()=>Owt});bt();Ke();bt();bt();var Lq=(t,e)=>`${t}@${e}`,Fwe=(t,e)=>{let r=e.indexOf("#"),o=r>=0?e.substring(r+1):e;return Lq(t,o)};var Nwe=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),o=e.check||r>=9,a=e.hoistingLimits||new Map,n={check:o,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},u;n.debugLevel>=0&&(u=Date.now());let A=PIt(t,n),p=!1,h=0;do p=Oq(A,[A],new Set([A.locator]),new Map,n).anotherRoundNeeded,n.fastLookupPossible=!1,h++;while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-u}ms, rounds: ${h}`),n.debugLevel>=1){let E=TB(A);if(Oq(A,[A],new Set([A.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: |
564 | ${C}, next tree: | 564 | ${E}, next tree: |
565 | ${QB(A)}`);let v=Qwe(A);if(v)throw new Error(`${v}, after hoisting finished: | 565 | ${TB(A)}`);let v=Lwe(A);if(v)throw new Error(`${v}, after hoisting finished: |
566 | ${QB(A)}`)}return n.debugLevel>=2&&console.log(QB(A)),mIt(A)},uIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=n=>{if(!o.has(n)){o.add(n);for(let u of n.hoistedDependencies.values())r.set(u.name,u);for(let u of n.dependencies.values())n.peerNames.has(u.name)||a(u)}};return a(e),r},AIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=new Set,n=(u,A)=>{if(o.has(u))return;o.add(u);for(let h of u.hoistedDependencies.values())if(!A.has(h.name)){let C;for(let w of t)C=w.dependencies.get(h.name),C&&r.set(C.name,C)}let p=new Set;for(let h of u.dependencies.values())p.add(h.name);for(let h of u.dependencies.values())u.peerNames.has(h.name)||n(h,p)};return n(e,a),r},Pwe=(t,e)=>{if(e.decoupled)return e;let{name:r,references:o,ident:a,locator:n,dependencies:u,originalDependencies:A,hoistedDependencies:p,peerNames:h,reasons:C,isHoistBorder:w,hoistPriority:v,dependencyKind:b,hoistedFrom:E,hoistedTo:R}=e,L={name:r,references:new Set(o),ident:a,locator:n,dependencies:new Map(u),originalDependencies:new Map(A),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(C),decoupled:!0,isHoistBorder:w,hoistPriority:v,dependencyKind:b,hoistedFrom:new Map(E),hoistedTo:new Map(R)},_=L.dependencies.get(r);return _&&_.ident==L.ident&&L.dependencies.set(r,L),t.dependencies.set(L.name,L),L},fIt=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let a of t.dependencies.values())t.peerNames.has(a.name)||r.set(a.name,[a.ident]);let o=Array.from(e.keys());o.sort((a,n)=>{let u=e.get(a),A=e.get(n);return A.hoistPriority!==u.hoistPriority?A.hoistPriority-u.hoistPriority:A.peerDependents.size!==u.peerDependents.size?A.peerDependents.size-u.peerDependents.size:A.dependents.size-u.dependents.size});for(let a of o){let n=a.substring(0,a.indexOf("@",1)),u=a.substring(n.length+1);if(!t.peerNames.has(n)){let A=r.get(n);A||(A=[],r.set(n,A)),A.indexOf(u)<0&&A.push(u)}}return r},Tq=t=>{let e=new Set,r=(o,a=new Set)=>{if(!a.has(o)){a.add(o);for(let n of o.peerNames)if(!t.peerNames.has(n)){let u=t.dependencies.get(n);u&&!e.has(u)&&r(u,a)}e.add(o)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||r(o);return e},Lq=(t,e,r,o,a,n=new Set)=>{let u=e[e.length-1];if(n.has(u))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(u);let A=yIt(u),p=fIt(u,A),h=t==u?new Map:a.fastLookupPossible?uIt(e):AIt(e),C,w=!1,v=!1,b=new Map(Array.from(p.entries()).map(([R,L])=>[R,L[0]])),E=new Map;do{let R=gIt(t,e,r,h,b,p,o,E,a);R.isGraphChanged&&(v=!0),R.anotherRoundNeeded&&(w=!0),C=!1;for(let[L,_]of p)_.length>1&&!u.dependencies.has(L)&&(b.delete(L),_.shift(),b.set(L,_[0]),C=!0)}while(C);for(let R of u.dependencies.values())if(!u.peerNames.has(R.name)&&!r.has(R.locator)){r.add(R.locator);let L=Lq(t,[...e,R],r,E,a);L.isGraphChanged&&(v=!0),L.anotherRoundNeeded&&(w=!0),r.delete(R.locator)}return{anotherRoundNeeded:w,isGraphChanged:v}},pIt=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},hIt=(t,e,r,o,a,n,u,A,{outputReason:p,fastLookupPossible:h})=>{let C,w=null,v=new Set;p&&(C=`${Array.from(e).map(L=>eo(L)).join("\u2192")}`);let b=r[r.length-1],R=!(o.ident===b.ident);if(p&&!R&&(w="- self-reference"),R&&(R=o.dependencyKind!==1,p&&!R&&(w="- workspace")),R&&o.dependencyKind===2&&(R=!pIt(o),p&&!R&&(w="- external soft link with unhoisted dependencies")),R&&(R=b.dependencyKind!==1||b.hoistedFrom.has(o.name)||e.size===1,p&&!R&&(w=b.reasons.get(o.name))),R&&(R=!t.peerNames.has(o.name),p&&!R&&(w=`- cannot shadow peer: ${eo(t.originalDependencies.get(o.name).locator)} at ${C}`)),R){let L=!1,_=a.get(o.name);if(L=!_||_.ident===o.ident,p&&!L&&(w=`- filled by: ${eo(_.locator)} at ${C}`),L)for(let J=r.length-1;J>=1;J--){let oe=r[J].dependencies.get(o.name);if(oe&&oe.ident!==o.ident){L=!1;let pe=A.get(b);pe||(pe=new Set,A.set(b,pe)),pe.add(o.name),p&&(w=`- filled by ${eo(oe.locator)} at ${r.slice(0,J).map(he=>eo(he.locator)).join("\u2192")}`);break}}R=L}if(R&&(R=n.get(o.name)===o.ident,p&&!R&&(w=`- filled by: ${eo(u.get(o.name)[0])} at ${C}`)),R){let L=!0,_=new Set(o.peerNames);for(let J=r.length-1;J>=1;J--){let re=r[J];for(let oe of _){if(re.peerNames.has(oe)&&re.originalDependencies.has(oe))continue;let pe=re.dependencies.get(oe);pe&&t.dependencies.get(oe)!==pe&&(J===r.length-1?v.add(pe):(v=null,L=!1,p&&(w=`- peer dependency ${eo(pe.locator)} from parent ${eo(re.locator)} was not hoisted to ${C}`))),_.delete(oe)}if(!L)break}R=L}if(R&&!h)for(let L of o.hoistedDependencies.values()){let _=a.get(L.name)||t.dependencies.get(L.name);if(!_||L.ident!==_.ident){R=!1,p&&(w=`- previously hoisted dependency mismatch, needed: ${eo(L.locator)}, available: ${eo(_==null?void 0:_.locator)}`);break}}return v!==null&&v.size>0?{isHoistable:2,dependsOn:v,reason:w}:{isHoistable:R?0:1,reason:w}},nk=t=>`${t.name}@${t.locator}`,gIt=(t,e,r,o,a,n,u,A,p)=>{let h=e[e.length-1],C=new Set,w=!1,v=!1,b=(_,J,re,oe,pe)=>{if(C.has(oe))return;let he=[...J,nk(oe)],ve=[...re,nk(oe)],ge=new Map,le=new Map;for(let de of Tq(oe)){let ne=hIt(h,r,[h,..._,oe],de,o,a,n,A,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(le.set(de,ne),ne.isHoistable===2)for(let Z of ne.dependsOn){let me=ge.get(Z.name)||new Set;me.add(de.name),ge.set(Z.name,me)}}let Pe=new Set,g=(de,ne,Z)=>{if(!Pe.has(de)){Pe.add(de),le.set(de,{isHoistable:1,reason:Z});for(let me of ge.get(de.name)||[])g(oe.dependencies.get(me),ne,p.debugLevel>=2?`- peer dependency ${eo(de.locator)} from parent ${eo(oe.locator)} was not hoisted`:"")}};for(let[de,ne]of le)ne.isHoistable===1&&g(de,ne,ne.reason);let De=!1;for(let de of le.keys())if(!Pe.has(de)){v=!0;let ne=u.get(oe);ne&&ne.has(de.name)&&(w=!0),De=!0,oe.dependencies.delete(de.name),oe.hoistedDependencies.set(de.name,de),oe.reasons.delete(de.name);let Z=h.dependencies.get(de.name);if(p.debugLevel>=2){let me=Array.from(J).concat([oe.locator]).map(ut=>eo(ut)).join("\u2192"),be=h.hoistedFrom.get(de.name);be||(be=[],h.hoistedFrom.set(de.name,be)),be.push(me),oe.hoistedTo.set(de.name,Array.from(e).map(ut=>eo(ut.locator)).join("\u2192"))}if(!Z)h.ident!==de.ident&&(h.dependencies.set(de.name,de),pe.add(de));else for(let me of de.references)Z.references.add(me)}if(oe.dependencyKind===2&&De&&(w=!0),p.check){let de=Qwe(t);if(de)throw new Error(`${de}, after hoisting dependencies of ${[h,..._,oe].map(ne=>eo(ne.locator)).join("\u2192")}: | 566 | ${TB(A)}`)}return n.debugLevel>=2&&console.log(TB(A)),xIt(A)},IIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=n=>{if(!o.has(n)){o.add(n);for(let u of n.hoistedDependencies.values())r.set(u.name,u);for(let u of n.dependencies.values())n.peerNames.has(u.name)||a(u)}};return a(e),r},wIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=new Set,n=(u,A)=>{if(o.has(u))return;o.add(u);for(let h of u.hoistedDependencies.values())if(!A.has(h.name)){let E;for(let w of t)E=w.dependencies.get(h.name),E&&r.set(E.name,E)}let p=new Set;for(let h of u.dependencies.values())p.add(h.name);for(let h of u.dependencies.values())u.peerNames.has(h.name)||n(h,p)};return n(e,a),r},Rwe=(t,e)=>{if(e.decoupled)return e;let{name:r,references:o,ident:a,locator:n,dependencies:u,originalDependencies:A,hoistedDependencies:p,peerNames:h,reasons:E,isHoistBorder:w,hoistPriority:v,dependencyKind:b,hoistedFrom:C,hoistedTo:R}=e,L={name:r,references:new Set(o),ident:a,locator:n,dependencies:new Map(u),originalDependencies:new Map(A),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(E),decoupled:!0,isHoistBorder:w,hoistPriority:v,dependencyKind:b,hoistedFrom:new Map(C),hoistedTo:new Map(R)},_=L.dependencies.get(r);return _&&_.ident==L.ident&&L.dependencies.set(r,L),t.dependencies.set(L.name,L),L},BIt=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let a of t.dependencies.values())t.peerNames.has(a.name)||r.set(a.name,[a.ident]);let o=Array.from(e.keys());o.sort((a,n)=>{let u=e.get(a),A=e.get(n);return A.hoistPriority!==u.hoistPriority?A.hoistPriority-u.hoistPriority:A.peerDependents.size!==u.peerDependents.size?A.peerDependents.size-u.peerDependents.size:A.dependents.size-u.dependents.size});for(let a of o){let n=a.substring(0,a.indexOf("@",1)),u=a.substring(n.length+1);if(!t.peerNames.has(n)){let A=r.get(n);A||(A=[],r.set(n,A)),A.indexOf(u)<0&&A.push(u)}}return r},Nq=t=>{let e=new Set,r=(o,a=new Set)=>{if(!a.has(o)){a.add(o);for(let n of o.peerNames)if(!t.peerNames.has(n)){let u=t.dependencies.get(n);u&&!e.has(u)&&r(u,a)}e.add(o)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||r(o);return e},Oq=(t,e,r,o,a,n=new Set)=>{let u=e[e.length-1];if(n.has(u))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(u);let A=bIt(u),p=BIt(u,A),h=t==u?new Map:a.fastLookupPossible?IIt(e):wIt(e),E,w=!1,v=!1,b=new Map(Array.from(p.entries()).map(([R,L])=>[R,L[0]])),C=new Map;do{let R=SIt(t,e,r,h,b,p,o,C,a);R.isGraphChanged&&(v=!0),R.anotherRoundNeeded&&(w=!0),E=!1;for(let[L,_]of p)_.length>1&&!u.dependencies.has(L)&&(b.delete(L),_.shift(),b.set(L,_[0]),E=!0)}while(E);for(let R of u.dependencies.values())if(!u.peerNames.has(R.name)&&!r.has(R.locator)){r.add(R.locator);let L=Oq(t,[...e,R],r,C,a);L.isGraphChanged&&(v=!0),L.anotherRoundNeeded&&(w=!0),r.delete(R.locator)}return{anotherRoundNeeded:w,isGraphChanged:v}},vIt=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},DIt=(t,e,r,o,a,n,u,A,{outputReason:p,fastLookupPossible:h})=>{let E,w=null,v=new Set;p&&(E=`${Array.from(e).map(L=>eo(L)).join("\u2192")}`);let b=r[r.length-1],R=!(o.ident===b.ident);if(p&&!R&&(w="- self-reference"),R&&(R=o.dependencyKind!==1,p&&!R&&(w="- workspace")),R&&o.dependencyKind===2&&(R=!vIt(o),p&&!R&&(w="- external soft link with unhoisted dependencies")),R&&(R=b.dependencyKind!==1||b.hoistedFrom.has(o.name)||e.size===1,p&&!R&&(w=b.reasons.get(o.name))),R&&(R=!t.peerNames.has(o.name),p&&!R&&(w=`- cannot shadow peer: ${eo(t.originalDependencies.get(o.name).locator)} at ${E}`)),R){let L=!1,_=a.get(o.name);if(L=!_||_.ident===o.ident,p&&!L&&(w=`- filled by: ${eo(_.locator)} at ${E}`),L)for(let V=r.length-1;V>=1;V--){let oe=r[V].dependencies.get(o.name);if(oe&&oe.ident!==o.ident){L=!1;let pe=A.get(b);pe||(pe=new Set,A.set(b,pe)),pe.add(o.name),p&&(w=`- filled by ${eo(oe.locator)} at ${r.slice(0,V).map(he=>eo(he.locator)).join("\u2192")}`);break}}R=L}if(R&&(R=n.get(o.name)===o.ident,p&&!R&&(w=`- filled by: ${eo(u.get(o.name)[0])} at ${E}`)),R){let L=!0,_=new Set(o.peerNames);for(let V=r.length-1;V>=1;V--){let re=r[V];for(let oe of _){if(re.peerNames.has(oe)&&re.originalDependencies.has(oe))continue;let pe=re.dependencies.get(oe);pe&&t.dependencies.get(oe)!==pe&&(V===r.length-1?v.add(pe):(v=null,L=!1,p&&(w=`- peer dependency ${eo(pe.locator)} from parent ${eo(re.locator)} was not hoisted to ${E}`))),_.delete(oe)}if(!L)break}R=L}if(R&&!h)for(let L of o.hoistedDependencies.values()){let _=a.get(L.name)||t.dependencies.get(L.name);if(!_||L.ident!==_.ident){R=!1,p&&(w=`- previously hoisted dependency mismatch, needed: ${eo(L.locator)}, available: ${eo(_==null?void 0:_.locator)}`);break}}return v!==null&&v.size>0?{isHoistable:2,dependsOn:v,reason:w}:{isHoistable:R?0:1,reason:w}},uk=t=>`${t.name}@${t.locator}`,SIt=(t,e,r,o,a,n,u,A,p)=>{let h=e[e.length-1],E=new Set,w=!1,v=!1,b=(_,V,re,oe,pe)=>{if(E.has(oe))return;let he=[...V,uk(oe)],ve=[...re,uk(oe)],ge=new Map,le=new Map;for(let de of Nq(oe)){let ne=DIt(h,r,[h,..._,oe],de,o,a,n,A,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(le.set(de,ne),ne.isHoistable===2)for(let Z of ne.dependsOn){let me=ge.get(Z.name)||new Set;me.add(de.name),ge.set(Z.name,me)}}let Pe=new Set,g=(de,ne,Z)=>{if(!Pe.has(de)){Pe.add(de),le.set(de,{isHoistable:1,reason:Z});for(let me of ge.get(de.name)||[])g(oe.dependencies.get(me),ne,p.debugLevel>=2?`- peer dependency ${eo(de.locator)} from parent ${eo(oe.locator)} was not hoisted`:"")}};for(let[de,ne]of le)ne.isHoistable===1&&g(de,ne,ne.reason);let De=!1;for(let de of le.keys())if(!Pe.has(de)){v=!0;let ne=u.get(oe);ne&&ne.has(de.name)&&(w=!0),De=!0,oe.dependencies.delete(de.name),oe.hoistedDependencies.set(de.name,de),oe.reasons.delete(de.name);let Z=h.dependencies.get(de.name);if(p.debugLevel>=2){let me=Array.from(V).concat([oe.locator]).map(ut=>eo(ut)).join("\u2192"),be=h.hoistedFrom.get(de.name);be||(be=[],h.hoistedFrom.set(de.name,be)),be.push(me),oe.hoistedTo.set(de.name,Array.from(e).map(ut=>eo(ut.locator)).join("\u2192"))}if(!Z)h.ident!==de.ident&&(h.dependencies.set(de.name,de),pe.add(de));else for(let me of de.references)Z.references.add(me)}if(oe.dependencyKind===2&&De&&(w=!0),p.check){let de=Lwe(t);if(de)throw new Error(`${de}, after hoisting dependencies of ${[h,..._,oe].map(ne=>eo(ne.locator)).join("\u2192")}: |
567 | ${QB(t)}`)}let Ee=Tq(oe);for(let de of Ee)if(Pe.has(de)){let ne=le.get(de);if((a.get(de.name)===de.ident||!oe.reasons.has(de.name))&&ne.isHoistable!==0&&oe.reasons.set(de.name,ne.reason),!de.isHoistBorder&&ve.indexOf(nk(de))<0){C.add(oe);let me=Pwe(oe,de);b([..._,oe],he,ve,me,R),C.delete(oe)}}},E,R=new Set(Tq(h)),L=Array.from(e).map(_=>nk(_));do{E=R,R=new Set;for(let _ of E){if(_.locator===h.locator||_.isHoistBorder)continue;let J=Pwe(h,_);b([],Array.from(r),L,J,R)}}while(R.size>0);return{anotherRoundNeeded:w,isGraphChanged:v}},Qwe=t=>{let e=[],r=new Set,o=new Set,a=(n,u,A)=>{if(r.has(n)||(r.add(n),o.has(n)))return;let p=new Map(u);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let C=p.get(h.name),w=()=>`${Array.from(o).concat([n]).map(v=>eo(v.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let v=u.get(h.name);(v!==C||!v||v.ident!==h.ident)&&e.push(`${w()} - broken peer promise: expected ${h.ident} but found ${v&&v.ident}`)}else{let v=A.hoistedFrom.get(n.name),b=n.hoistedTo.get(h.name),E=`${v?` hoisted from ${v.join(", ")}`:""}`,R=`${b?` hoisted to ${b}`:""}`,L=`${w()}${E}`;C?C.ident!==h.ident&&e.push(`${L} - broken require promise for ${h.name}${R}: expected ${h.ident}, but found: ${C.ident}`):e.push(`${L} - broken require promise: no required dependency ${h.name}${R} found`)}}o.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);o.delete(n)};return a(t,t.dependencies,t),e.join(` | 567 | ${TB(t)}`)}let Ce=Nq(oe);for(let de of Ce)if(Pe.has(de)){let ne=le.get(de);if((a.get(de.name)===de.ident||!oe.reasons.has(de.name))&&ne.isHoistable!==0&&oe.reasons.set(de.name,ne.reason),!de.isHoistBorder&&ve.indexOf(uk(de))<0){E.add(oe);let me=Rwe(oe,de);b([..._,oe],he,ve,me,R),E.delete(oe)}}},C,R=new Set(Nq(h)),L=Array.from(e).map(_=>uk(_));do{C=R,R=new Set;for(let _ of C){if(_.locator===h.locator||_.isHoistBorder)continue;let V=Rwe(h,_);b([],Array.from(r),L,V,R)}}while(R.size>0);return{anotherRoundNeeded:w,isGraphChanged:v}},Lwe=t=>{let e=[],r=new Set,o=new Set,a=(n,u,A)=>{if(r.has(n)||(r.add(n),o.has(n)))return;let p=new Map(u);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let E=p.get(h.name),w=()=>`${Array.from(o).concat([n]).map(v=>eo(v.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let v=u.get(h.name);(v!==E||!v||v.ident!==h.ident)&&e.push(`${w()} - broken peer promise: expected ${h.ident} but found ${v&&v.ident}`)}else{let v=A.hoistedFrom.get(n.name),b=n.hoistedTo.get(h.name),C=`${v?` hoisted from ${v.join(", ")}`:""}`,R=`${b?` hoisted to ${b}`:""}`,L=`${w()}${C}`;E?E.ident!==h.ident&&e.push(`${L} - broken require promise for ${h.name}${R}: expected ${h.ident}, but found: ${E.ident}`):e.push(`${L} - broken require promise: no required dependency ${h.name}${R} found`)}}o.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);o.delete(n)};return a(t,t.dependencies,t),e.join(` |
568 | `)},dIt=(t,e)=>{let{identName:r,name:o,reference:a,peerNames:n}=t,u={name:o,references:new Set([a]),locator:Nq(r,a),ident:Swe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},A=new Map([[t,u]]),p=(h,C)=>{let w=A.get(h),v=!!w;if(!w){let{name:b,identName:E,reference:R,peerNames:L,hoistPriority:_,dependencyKind:J}=h,re=e.hoistingLimits.get(C.locator);w={name:b,references:new Set([R]),locator:Nq(E,R),ident:Swe(E,R),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(L),reasons:new Map,decoupled:!0,isHoistBorder:re?re.has(b):!1,hoistPriority:_||0,dependencyKind:J||0,hoistedFrom:new Map,hoistedTo:new Map},A.set(h,w)}if(C.dependencies.set(h.name,w),C.originalDependencies.set(h.name,w),v){let b=new Set,E=R=>{if(!b.has(R)){b.add(R),R.decoupled=!1;for(let L of R.dependencies.values())R.peerNames.has(L.name)||E(L)}};E(w)}else for(let b of h.dependencies)p(b,w)};for(let h of t.dependencies)p(h,u);return u},Oq=t=>t.substring(0,t.indexOf("@",1)),mIt=t=>{let e={name:t.name,identName:Oq(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),o=(a,n,u)=>{let A=r.has(a),p;if(n===a)p=u;else{let{name:h,references:C,locator:w}=a;p={name:h,identName:Oq(w),references:C,dependencies:new Set}}if(u.dependencies.add(p),!A){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||o(h,a,p);r.delete(a)}};for(let a of t.dependencies.values())o(a,t,e);return e},yIt=t=>{let e=new Map,r=new Set([t]),o=u=>`${u.name}@${u.ident}`,a=u=>{let A=o(u),p=e.get(A);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(A,p)),p},n=(u,A)=>{let p=!!r.has(A);if(a(A).dependents.add(u.ident),!p){r.add(A);for(let C of A.dependencies.values()){let w=a(C);w.hoistPriority=Math.max(w.hoistPriority,C.hoistPriority),A.peerNames.has(C.name)?w.peerDependents.add(A.ident):n(A,C)}}};for(let u of t.dependencies.values())t.peerNames.has(u.name)||n(t,u);return e},eo=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let o=t.substring(e+1);if(o==="workspace:.")return".";if(o){let a=(o.indexOf("#")>0?o.split("#")[1]:o).replace("npm:","");return o.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`},xwe=5e4,QB=t=>{let e=0,r=(a,n,u="")=>{if(e>xwe||n.has(a))return"";e++;let A=Array.from(a.dependencies.values()).sort((h,C)=>h.name===C.name?0:h.name>C.name?1:-1),p="";n.add(a);for(let h=0;h<A.length;h++){let C=A[h];if(!a.peerNames.has(C.name)&&C!==a){let w=a.reasons.get(C.name),v=Oq(C.locator);p+=`${u}${h<A.length-1?"\u251C\u2500":"\u2514\u2500"}${(n.has(C)?">":"")+(v!==C.name?`a:${C.name}:`:"")+eo(C.locator)+(w?` ${w}`:"")} | 568 | `)},PIt=(t,e)=>{let{identName:r,name:o,reference:a,peerNames:n}=t,u={name:o,references:new Set([a]),locator:Lq(r,a),ident:Fwe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},A=new Map([[t,u]]),p=(h,E)=>{let w=A.get(h),v=!!w;if(!w){let{name:b,identName:C,reference:R,peerNames:L,hoistPriority:_,dependencyKind:V}=h,re=e.hoistingLimits.get(E.locator);w={name:b,references:new Set([R]),locator:Lq(C,R),ident:Fwe(C,R),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(L),reasons:new Map,decoupled:!0,isHoistBorder:re?re.has(b):!1,hoistPriority:_||0,dependencyKind:V||0,hoistedFrom:new Map,hoistedTo:new Map},A.set(h,w)}if(E.dependencies.set(h.name,w),E.originalDependencies.set(h.name,w),v){let b=new Set,C=R=>{if(!b.has(R)){b.add(R),R.decoupled=!1;for(let L of R.dependencies.values())R.peerNames.has(L.name)||C(L)}};C(w)}else for(let b of h.dependencies)p(b,w)};for(let h of t.dependencies)p(h,u);return u},Mq=t=>t.substring(0,t.indexOf("@",1)),xIt=t=>{let e={name:t.name,identName:Mq(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),o=(a,n,u)=>{let A=r.has(a),p;if(n===a)p=u;else{let{name:h,references:E,locator:w}=a;p={name:h,identName:Mq(w),references:E,dependencies:new Set}}if(u.dependencies.add(p),!A){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||o(h,a,p);r.delete(a)}};for(let a of t.dependencies.values())o(a,t,e);return e},bIt=t=>{let e=new Map,r=new Set([t]),o=u=>`${u.name}@${u.ident}`,a=u=>{let A=o(u),p=e.get(A);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(A,p)),p},n=(u,A)=>{let p=!!r.has(A);if(a(A).dependents.add(u.ident),!p){r.add(A);for(let E of A.dependencies.values()){let w=a(E);w.hoistPriority=Math.max(w.hoistPriority,E.hoistPriority),A.peerNames.has(E.name)?w.peerDependents.add(A.ident):n(A,E)}}};for(let u of t.dependencies.values())t.peerNames.has(u.name)||n(t,u);return e},eo=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let o=t.substring(e+1);if(o==="workspace:.")return".";if(o){let a=(o.indexOf("#")>0?o.split("#")[1]:o).replace("npm:","");return o.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`},Twe=5e4,TB=t=>{let e=0,r=(a,n,u="")=>{if(e>Twe||n.has(a))return"";e++;let A=Array.from(a.dependencies.values()).sort((h,E)=>h.name===E.name?0:h.name>E.name?1:-1),p="";n.add(a);for(let h=0;h<A.length;h++){let E=A[h];if(!a.peerNames.has(E.name)&&E!==a){let w=a.reasons.get(E.name),v=Mq(E.locator);p+=`${u}${h<A.length-1?"\u251C\u2500":"\u2514\u2500"}${(n.has(E)?">":"")+(v!==E.name?`a:${E.name}:`:"")+eo(E.locator)+(w?` ${w}`:"")} |
569 | `,p+=r(C,n,`${u}${h<A.length-1?"\u2502 ":" "}`)}}return n.delete(a),p};return r(t,new Set)+(e>xwe?` | 569 | `,p+=r(E,n,`${u}${h<A.length-1?"\u2502 ":" "}`)}}return n.delete(a),p};return r(t,new Set)+(e>Twe?` |
570 | Tree is too large, part of the tree has been dunped | 570 | Tree is too large, part of the tree has been dunped |
571 | `:"")};var kB=(o=>(o.WORKSPACES="workspaces",o.DEPENDENCIES="dependencies",o.NONE="none",o))(kB||{}),kwe="node_modules",pm="$wsroot$";var FB=(t,e)=>{let{packageTree:r,hoistingLimits:o,errors:a,preserveSymlinksRequired:n}=CIt(t,e),u=null;if(a.length===0){let A=bwe(r,{hoistingLimits:o});u=wIt(t,A,e)}return{tree:u,errors:a,preserveSymlinksRequired:n}},dA=t=>`${t.name}@${t.reference}`,Uq=t=>{let e=new Map;for(let[r,o]of t.entries())if(!o.dirList){let a=e.get(o.locator);a||(a={target:o.target,linkType:o.linkType,locations:[],aliases:o.aliases},e.set(o.locator,a)),a.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((o,a)=>{let n=o.split(V.delimiter).length,u=a.split(V.delimiter).length;return a===o?0:n!==u?u-n:a>o?1:-1});return e},Fwe=(t,e)=>{let r=Y.isVirtualLocator(t)?Y.devirtualizeLocator(t):t,o=Y.isVirtualLocator(e)?Y.devirtualizeLocator(e):e;return Y.areLocatorsEqual(r,o)},Mq=(t,e,r,o)=>{if(t.linkType!=="SOFT")return!1;let a=Ae.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return V.contains(o,a)===null},EIt=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let o=Ae.toPortablePath(e.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},u=t.getDependencyTreeRoots(),A=new Map,p=new Set,h=(v,b)=>{let E=dA(v);if(p.has(E))return;p.add(E);let R=t.getPackageInformation(v);if(R){let L=b?dA(b):"";if(dA(v)!==L&&R.linkType==="SOFT"&&!Mq(R,v,t,o)){let _=Rwe(R,v,t);(!A.get(_)||v.reference.startsWith("workspace:"))&&A.set(_,v)}for(let[_,J]of R.packageDependencies)J!==null&&(R.packagePeers.has(_)||h(t.getLocator(_,J),v))}};for(let v of u)h(v,null);let C=o.split(V.sep);for(let v of A.values()){let b=t.getPackageInformation(v),R=Ae.toPortablePath(b.packageLocation.slice(0,-1)).split(V.sep).slice(C.length),L=n;for(let _ of R){let J=L.children.get(_);J||(J={children:new Map},L.children.set(_,J)),L=J}L.workspaceLocator=v}let w=(v,b)=>{if(v.workspaceLocator){let E=dA(b),R=a.get(E);R||(R=new Set,a.set(E,R)),R.add(v.workspaceLocator)}for(let E of v.children.values())w(E,v.workspaceLocator||b)};for(let v of n.children.values())w(v,n.workspaceLocator);return a},CIt=(t,e)=>{let r=[],o=!1,a=new Map,n=EIt(t),u=t.getPackageInformation(t.topLevel);if(u===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let A=t.findPackageLocator(u.packageLocation);if(A===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=Ae.toPortablePath(u.packageLocation.slice(0,-1)),h={name:A.name,identName:A.name,reference:A.reference,peerNames:u.packagePeers,dependencies:new Set,dependencyKind:1},C=new Map,w=(b,E)=>`${dA(E)}:${b}`,v=(b,E,R,L,_,J,re,oe)=>{var de,ne;let pe=w(b,R),he=C.get(pe),ve=!!he;!ve&&R.name===A.name&&R.reference===A.reference&&(he=h,C.set(pe,h));let ge=Mq(E,R,t,p);if(!he){let Z=0;ge?Z=2:E.linkType==="SOFT"&&R.name.endsWith(pm)&&(Z=1),he={name:b,identName:R.name,reference:R.reference,dependencies:new Set,peerNames:Z===1?new Set:E.packagePeers,dependencyKind:Z},C.set(pe,he)}let le;if(ge?le=2:_.linkType==="SOFT"?le=1:le=0,he.hoistPriority=Math.max(he.hoistPriority||0,le),oe&&!ge){let Z=dA({name:L.identName,reference:L.reference}),me=a.get(Z)||new Set;a.set(Z,me),me.add(he.name)}let Pe=new Map(E.packageDependencies);if(e.project){let Z=e.project.workspacesByCwd.get(Ae.toPortablePath(E.packageLocation.slice(0,-1)));if(Z){let me=new Set([...Array.from(Z.manifest.peerDependencies.values(),be=>Y.stringifyIdent(be)),...Array.from(Z.manifest.peerDependenciesMeta.keys())]);for(let be of me)Pe.has(be)||(Pe.set(be,J.get(be)||null),he.peerNames.add(be))}}let g=dA({name:R.name.replace(pm,""),reference:R.reference}),De=n.get(g);if(De)for(let Z of De)Pe.set(`${Z.name}${pm}`,Z.reference);(E!==_||E.linkType!=="SOFT"||!ge&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(re)))&&L.dependencies.add(he);let Ee=R!==A&&E.linkType==="SOFT"&&!R.name.endsWith(pm)&&!ge;if(!ve&&!Ee){let Z=new Map;for(let[me,be]of Pe)if(be!==null){let ut=t.getLocator(me,be),H=t.getLocator(me.replace(pm,""),be),yt=t.getPackageInformation(H);if(yt===null)throw new Error("Assertion failed: Expected the package to have been registered");let Me=Mq(yt,ut,t,p);if(e.validateExternalSoftLinks&&e.project&&Me){yt.packageDependencies.size>0&&(o=!0);for(let[At,Le]of yt.packageDependencies)if(Le!==null){let x=Y.parseLocator(Array.isArray(Le)?`${Le[0]}@${Le[1]}`:`${At}@${Le}`);if(dA(x)!==dA(ut)){let I=Pe.get(At);if(I){let P=Y.parseLocator(Array.isArray(I)?`${I[0]}@${I[1]}`:`${At}@${I}`);Fwe(P,x)||r.push({messageName:71,text:`Cannot link ${Y.prettyIdent(e.project.configuration,Y.parseIdent(ut.name))} into ${Y.prettyLocator(e.project.configuration,Y.parseLocator(`${R.name}@${R.reference}`))} dependency ${Y.prettyLocator(e.project.configuration,x)} conflicts with parent dependency ${Y.prettyLocator(e.project.configuration,P)}`})}else{let P=Z.get(At);if(P){let y=P.target,F=Y.parseLocator(Array.isArray(y)?`${y[0]}@${y[1]}`:`${At}@${y}`);Fwe(F,x)||r.push({messageName:71,text:`Cannot link ${Y.prettyIdent(e.project.configuration,Y.parseIdent(ut.name))} into ${Y.prettyLocator(e.project.configuration,Y.parseLocator(`${R.name}@${R.reference}`))} dependency ${Y.prettyLocator(e.project.configuration,x)} conflicts with dependency ${Y.prettyLocator(e.project.configuration,F)} from sibling portal ${Y.prettyIdent(e.project.configuration,Y.parseIdent(P.portal.name))}`})}else Z.set(At,{target:x.reference,portal:ut})}}}}let Te=(de=e.hoistingLimitsByCwd)==null?void 0:de.get(re),Qe=Me?re:V.relative(p,Ae.toPortablePath(yt.packageLocation))||wt.dot,Ue=(ne=e.hoistingLimitsByCwd)==null?void 0:ne.get(Qe);v(me,yt,ut,he,E,Pe,Qe,Te==="dependencies"||Ue==="dependencies"||Ue==="workspaces")}}};return v(A.name,u,A,h,u,u.packageDependencies,wt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:o}};function Rwe(t,e,r){let o=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return Ae.toPortablePath(o||t.packageLocation)}function IIt(t,e,r){let o=e.getLocator(t.name.replace(pm,""),t.reference),a=e.getPackageInformation(o);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:Ae.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:Rwe(a,t,e)}}var wIt=(t,e,r)=>{let o=new Map,a=(C,w,v)=>{let{linkType:b,target:E}=IIt(C,t,r);return{locator:dA(C),nodePath:w,target:E,linkType:b,aliases:v}},n=C=>{let[w,v]=C.split("/");return v?{scope:Li(w),name:Li(v)}:{scope:null,name:Li(w)}},u=new Set,A=(C,w,v)=>{if(u.has(C))return;u.add(C);let b=Array.from(C.references).sort().join("#");for(let E of C.dependencies){let R=Array.from(E.references).sort().join("#");if(E.identName===C.identName&&R===b)continue;let L=Array.from(E.references).sort(),_={name:E.identName,reference:L[0]},{name:J,scope:re}=n(E.name),oe=re?[re,J]:[J],pe=V.join(w,kwe),he=V.join(pe,...oe),ve=`${v}/${_.name}`,ge=a(_,v,L.slice(1)),le=!1;if(ge.linkType==="SOFT"&&r.project){let g=r.project.workspacesByCwd.get(ge.target.slice(0,-1));le=!!(g&&!g.manifest.name)}let Pe=ge.linkType==="SOFT"&&he.startsWith(ge.target);if(!E.name.endsWith(pm)&&!le&&!Pe){let g=o.get(he);if(g){if(g.dirList)throw new Error(`Assertion failed: ${he} cannot merge dir node with leaf node`);{let de=Y.parseLocator(g.locator),ne=Y.parseLocator(ge.locator);if(g.linkType!==ge.linkType)throw new Error(`Assertion failed: ${he} cannot merge nodes with different link types ${g.nodePath}/${Y.stringifyLocator(de)} and ${v}/${Y.stringifyLocator(ne)}`);if(de.identHash!==ne.identHash)throw new Error(`Assertion failed: ${he} cannot merge nodes with different idents ${g.nodePath}/${Y.stringifyLocator(de)} and ${v}/s${Y.stringifyLocator(ne)}`);ge.aliases=[...ge.aliases,...g.aliases,Y.parseLocator(g.locator).reference]}}o.set(he,ge);let De=he.split("/"),Ee=De.indexOf(kwe);for(let de=De.length-1;Ee>=0&&de>Ee;de--){let ne=Ae.toPortablePath(De.slice(0,de).join(V.sep)),Z=Li(De[de]),me=o.get(ne);if(!me)o.set(ne,{dirList:new Set([Z])});else if(me.dirList){if(me.dirList.has(Z))break;me.dirList.add(Z)}}}A(E,ge.linkType==="SOFT"?ge.target:he,ve)}},p=a({name:e.name,reference:Array.from(e.references)[0]},"",[]),h=p.target;return o.set(h,p),A(e,h,""),o};Ke();Ke();bt();bt();Oc();Ol();var $q={};Yt($q,{PnpInstaller:()=>dm,PnpLinker:()=>Ch,UnplugCommand:()=>wh,default:()=>zIt,getPnpPath:()=>Ih,jsInstallUtils:()=>mA,pnpUtils:()=>HB,quotePathIfNeeded:()=>g1e});bt();var p1e=tt(ii()),h1e=Ie("url");Ke();Ke();bt();bt();var Twe={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function BIt(t,e,r){let o="";o+="[";for(let a=0,n=t.length;a<n;++a)o+=ik(String(a),t[a],e,r).replace(/^ +/g,""),a+1<n&&(o+=", ");return o+="]",o}function vIt(t,e,r){let o=`${r} `,a="";a+=r,a+=`[ | 571 | `:"")};var NB=(o=>(o.WORKSPACES="workspaces",o.DEPENDENCIES="dependencies",o.NONE="none",o))(NB||{}),Owe="node_modules",dm="$wsroot$";var LB=(t,e)=>{let{packageTree:r,hoistingLimits:o,errors:a,preserveSymlinksRequired:n}=kIt(t,e),u=null;if(a.length===0){let A=Nwe(r,{hoistingLimits:o});u=RIt(t,A,e)}return{tree:u,errors:a,preserveSymlinksRequired:n}},mA=t=>`${t.name}@${t.reference}`,_q=t=>{let e=new Map;for(let[r,o]of t.entries())if(!o.dirList){let a=e.get(o.locator);a||(a={target:o.target,linkType:o.linkType,locations:[],aliases:o.aliases},e.set(o.locator,a)),a.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((o,a)=>{let n=o.split(z.delimiter).length,u=a.split(z.delimiter).length;return a===o?0:n!==u?u-n:a>o?1:-1});return e},Mwe=(t,e)=>{let r=Y.isVirtualLocator(t)?Y.devirtualizeLocator(t):t,o=Y.isVirtualLocator(e)?Y.devirtualizeLocator(e):e;return Y.areLocatorsEqual(r,o)},Uq=(t,e,r,o)=>{if(t.linkType!=="SOFT")return!1;let a=ue.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return z.contains(o,a)===null},QIt=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let o=ue.toPortablePath(e.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},u=t.getDependencyTreeRoots(),A=new Map,p=new Set,h=(v,b)=>{let C=mA(v);if(p.has(C))return;p.add(C);let R=t.getPackageInformation(v);if(R){let L=b?mA(b):"";if(mA(v)!==L&&R.linkType==="SOFT"&&!Uq(R,v,t,o)){let _=Uwe(R,v,t);(!A.get(_)||v.reference.startsWith("workspace:"))&&A.set(_,v)}for(let[_,V]of R.packageDependencies)V!==null&&(R.packagePeers.has(_)||h(t.getLocator(_,V),v))}};for(let v of u)h(v,null);let E=o.split(z.sep);for(let v of A.values()){let b=t.getPackageInformation(v),R=ue.toPortablePath(b.packageLocation.slice(0,-1)).split(z.sep).slice(E.length),L=n;for(let _ of R){let V=L.children.get(_);V||(V={children:new Map},L.children.set(_,V)),L=V}L.workspaceLocator=v}let w=(v,b)=>{if(v.workspaceLocator){let C=mA(b),R=a.get(C);R||(R=new Set,a.set(C,R)),R.add(v.workspaceLocator)}for(let C of v.children.values())w(C,v.workspaceLocator||b)};for(let v of n.children.values())w(v,n.workspaceLocator);return a},kIt=(t,e)=>{let r=[],o=!1,a=new Map,n=QIt(t),u=t.getPackageInformation(t.topLevel);if(u===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let A=t.findPackageLocator(u.packageLocation);if(A===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=ue.toPortablePath(u.packageLocation.slice(0,-1)),h={name:A.name,identName:A.name,reference:A.reference,peerNames:u.packagePeers,dependencies:new Set,dependencyKind:1},E=new Map,w=(b,C)=>`${mA(C)}:${b}`,v=(b,C,R,L,_,V,re,oe)=>{var de,ne;let pe=w(b,R),he=E.get(pe),ve=!!he;!ve&&R.name===A.name&&R.reference===A.reference&&(he=h,E.set(pe,h));let ge=Uq(C,R,t,p);if(!he){let Z=0;ge?Z=2:C.linkType==="SOFT"&&R.name.endsWith(dm)&&(Z=1),he={name:b,identName:R.name,reference:R.reference,dependencies:new Set,peerNames:Z===1?new Set:C.packagePeers,dependencyKind:Z},E.set(pe,he)}let le;if(ge?le=2:_.linkType==="SOFT"?le=1:le=0,he.hoistPriority=Math.max(he.hoistPriority||0,le),oe&&!ge){let Z=mA({name:L.identName,reference:L.reference}),me=a.get(Z)||new Set;a.set(Z,me),me.add(he.name)}let Pe=new Map(C.packageDependencies);if(e.project){let Z=e.project.workspacesByCwd.get(ue.toPortablePath(C.packageLocation.slice(0,-1)));if(Z){let me=new Set([...Array.from(Z.manifest.peerDependencies.values(),be=>Y.stringifyIdent(be)),...Array.from(Z.manifest.peerDependenciesMeta.keys())]);for(let be of me)Pe.has(be)||(Pe.set(be,V.get(be)||null),he.peerNames.add(be))}}let g=mA({name:R.name.replace(dm,""),reference:R.reference}),De=n.get(g);if(De)for(let Z of De)Pe.set(`${Z.name}${dm}`,Z.reference);(C!==_||C.linkType!=="SOFT"||!ge&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(re)))&&L.dependencies.add(he);let Ce=R!==A&&C.linkType==="SOFT"&&!R.name.endsWith(dm)&&!ge;if(!ve&&!Ce){let Z=new Map;for(let[me,be]of Pe)if(be!==null){let ut=t.getLocator(me,be),H=t.getLocator(me.replace(dm,""),be),yt=t.getPackageInformation(H);if(yt===null)throw new Error("Assertion failed: Expected the package to have been registered");let Me=Uq(yt,ut,t,p);if(e.validateExternalSoftLinks&&e.project&&Me){yt.packageDependencies.size>0&&(o=!0);for(let[At,Oe]of yt.packageDependencies)if(Oe!==null){let x=Y.parseLocator(Array.isArray(Oe)?`${Oe[0]}@${Oe[1]}`:`${At}@${Oe}`);if(mA(x)!==mA(ut)){let I=Pe.get(At);if(I){let P=Y.parseLocator(Array.isArray(I)?`${I[0]}@${I[1]}`:`${At}@${I}`);Mwe(P,x)||r.push({messageName:71,text:`Cannot link ${Y.prettyIdent(e.project.configuration,Y.parseIdent(ut.name))} into ${Y.prettyLocator(e.project.configuration,Y.parseLocator(`${R.name}@${R.reference}`))} dependency ${Y.prettyLocator(e.project.configuration,x)} conflicts with parent dependency ${Y.prettyLocator(e.project.configuration,P)}`})}else{let P=Z.get(At);if(P){let y=P.target,F=Y.parseLocator(Array.isArray(y)?`${y[0]}@${y[1]}`:`${At}@${y}`);Mwe(F,x)||r.push({messageName:71,text:`Cannot link ${Y.prettyIdent(e.project.configuration,Y.parseIdent(ut.name))} into ${Y.prettyLocator(e.project.configuration,Y.parseLocator(`${R.name}@${R.reference}`))} dependency ${Y.prettyLocator(e.project.configuration,x)} conflicts with dependency ${Y.prettyLocator(e.project.configuration,F)} from sibling portal ${Y.prettyIdent(e.project.configuration,Y.parseIdent(P.portal.name))}`})}else Z.set(At,{target:x.reference,portal:ut})}}}}let Te=(de=e.hoistingLimitsByCwd)==null?void 0:de.get(re),Qe=Me?re:z.relative(p,ue.toPortablePath(yt.packageLocation))||wt.dot,_e=(ne=e.hoistingLimitsByCwd)==null?void 0:ne.get(Qe);v(me,yt,ut,he,C,Pe,Qe,Te==="dependencies"||_e==="dependencies"||_e==="workspaces")}}};return v(A.name,u,A,h,u,u.packageDependencies,wt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:o}};function Uwe(t,e,r){let o=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return ue.toPortablePath(o||t.packageLocation)}function FIt(t,e,r){let o=e.getLocator(t.name.replace(dm,""),t.reference),a=e.getPackageInformation(o);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:ue.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:Uwe(a,t,e)}}var RIt=(t,e,r)=>{let o=new Map,a=(E,w,v)=>{let{linkType:b,target:C}=FIt(E,t,r);return{locator:mA(E),nodePath:w,target:C,linkType:b,aliases:v}},n=E=>{let[w,v]=E.split("/");return v?{scope:Li(w),name:Li(v)}:{scope:null,name:Li(w)}},u=new Set,A=(E,w,v)=>{if(u.has(E))return;u.add(E);let b=Array.from(E.references).sort().join("#");for(let C of E.dependencies){let R=Array.from(C.references).sort().join("#");if(C.identName===E.identName&&R===b)continue;let L=Array.from(C.references).sort(),_={name:C.identName,reference:L[0]},{name:V,scope:re}=n(C.name),oe=re?[re,V]:[V],pe=z.join(w,Owe),he=z.join(pe,...oe),ve=`${v}/${_.name}`,ge=a(_,v,L.slice(1)),le=!1;if(ge.linkType==="SOFT"&&r.project){let g=r.project.workspacesByCwd.get(ge.target.slice(0,-1));le=!!(g&&!g.manifest.name)}let Pe=ge.linkType==="SOFT"&&he.startsWith(ge.target);if(!C.name.endsWith(dm)&&!le&&!Pe){let g=o.get(he);if(g){if(g.dirList)throw new Error(`Assertion failed: ${he} cannot merge dir node with leaf node`);{let de=Y.parseLocator(g.locator),ne=Y.parseLocator(ge.locator);if(g.linkType!==ge.linkType)throw new Error(`Assertion failed: ${he} cannot merge nodes with different link types ${g.nodePath}/${Y.stringifyLocator(de)} and ${v}/${Y.stringifyLocator(ne)}`);if(de.identHash!==ne.identHash)throw new Error(`Assertion failed: ${he} cannot merge nodes with different idents ${g.nodePath}/${Y.stringifyLocator(de)} and ${v}/s${Y.stringifyLocator(ne)}`);ge.aliases=[...ge.aliases,...g.aliases,Y.parseLocator(g.locator).reference]}}o.set(he,ge);let De=he.split("/"),Ce=De.indexOf(Owe);for(let de=De.length-1;Ce>=0&&de>Ce;de--){let ne=ue.toPortablePath(De.slice(0,de).join(z.sep)),Z=Li(De[de]),me=o.get(ne);if(!me)o.set(ne,{dirList:new Set([Z])});else if(me.dirList){if(me.dirList.has(Z))break;me.dirList.add(Z)}}}A(C,ge.linkType==="SOFT"?ge.target:he,ve)}},p=a({name:e.name,reference:Array.from(e.references)[0]},"",[]),h=p.target;return o.set(h,p),A(e,h,""),o};Ke();Ke();bt();bt();_c();_l();var sj={};Yt(sj,{PnpInstaller:()=>Em,PnpLinker:()=>Bh,UnplugCommand:()=>Dh,default:()=>uwt,getPnpPath:()=>vh,jsInstallUtils:()=>CA,pnpUtils:()=>VB,quotePathIfNeeded:()=>S1e});bt();var v1e=tt(si()),D1e=Ie("url");Ke();Ke();bt();bt();var _we={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function TIt(t,e,r){let o="";o+="[";for(let a=0,n=t.length;a<n;++a)o+=Ak(String(a),t[a],e,r).replace(/^ +/g,""),a+1<n&&(o+=", ");return o+="]",o}function NIt(t,e,r){let o=`${r} `,a="";a+=r,a+=`[ |
572 | `;for(let n=0,u=t.length;n<u;++n)a+=o+ik(String(n),t[n],e,o).replace(/^ +/,""),n+1<u&&(a+=","),a+=` | 572 | `;for(let n=0,u=t.length;n<u;++n)a+=o+Ak(String(n),t[n],e,o).replace(/^ +/,""),n+1<u&&(a+=","),a+=` |
573 | `;return a+=r,a+="]",a}function DIt(t,e,r){let o=Object.keys(t),a="";a+="{";for(let n=0,u=o.length,A=0;n<u;++n){let p=o[n],h=t[p];typeof h>"u"||(A!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=ik(p,h,e,r).replace(/^ +/g,""),A+=1)}return a+="}",a}function SIt(t,e,r){let o=Object.keys(t),a=`${r} `,n="";n+=r,n+=`{ | 573 | `;return a+=r,a+="]",a}function LIt(t,e,r){let o=Object.keys(t),a="";a+="{";for(let n=0,u=o.length,A=0;n<u;++n){let p=o[n],h=t[p];typeof h>"u"||(A!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=Ak(p,h,e,r).replace(/^ +/g,""),A+=1)}return a+="}",a}function OIt(t,e,r){let o=Object.keys(t),a=`${r} `,n="";n+=r,n+=`{ |
574 | `;let u=0;for(let A=0,p=o.length;A<p;++A){let h=o[A],C=t[h];typeof C>"u"||(u!==0&&(n+=",",n+=` | 574 | `;let u=0;for(let A=0,p=o.length;A<p;++A){let h=o[A],E=t[h];typeof E>"u"||(u!==0&&(n+=",",n+=` |
575 | `),n+=a,n+=JSON.stringify(h),n+=": ",n+=ik(h,C,e,a).replace(/^ +/g,""),u+=1)}return u!==0&&(n+=` | 575 | `),n+=a,n+=JSON.stringify(h),n+=": ",n+=Ak(h,E,e,a).replace(/^ +/g,""),u+=1)}return u!==0&&(n+=` |
576 | `),n+=r,n+="}",n}function ik(t,e,r,o){let{next:a}=Twe[r],n=a[t]||a["*"];return Nwe(e,n,o)}function Nwe(t,e,r){let{collapsed:o}=Twe[e];return Array.isArray(t)?o?BIt(t,e,r):vIt(t,e,r):typeof t=="object"&&t!==null?o?DIt(t,e,r):SIt(t,e,r):JSON.stringify(t)}function Lwe(t){return Nwe(t,"TOP_LEVEL","")}function RB(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function PIt(t){let e=new Map,r=RB(t.fallbackExclusionList||[],[({name:o,reference:a})=>o,({name:o,reference:a})=>a]);for(let{name:o,reference:a}of r){let n=e.get(o);typeof n>"u"&&e.set(o,n=new Set),n.add(a)}return Array.from(e).map(([o,a])=>[o,Array.from(a)])}function xIt(t){return RB(t.fallbackPool||[],([e])=>e)}function bIt(t){let e=[];for(let[r,o]of RB(t.packageRegistry,([a])=>a===null?"0":`1${a}`)){let a=[];e.push([r,a]);for(let[n,{packageLocation:u,packageDependencies:A,packagePeers:p,linkType:h,discardFromLookup:C}]of RB(o,([w])=>w===null?"0":`1${w}`)){let w=[];r!==null&&n!==null&&!A.has(r)&&w.push([r,n]);for(let[E,R]of RB(A.entries(),([L])=>L))w.push([E,R]);let v=p&&p.size>0?Array.from(p):void 0,b=C||void 0;a.push([n,{packageLocation:u,packageDependencies:w,packagePeers:v,linkType:h,discardFromLookup:b}])}}return e}function TB(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:PIt(t),fallbackPool:xIt(t),packageRegistryData:bIt(t)}}var Uwe=tt(Mwe());function _we(t,e){return[t?`${t} | 576 | `),n+=r,n+="}",n}function Ak(t,e,r,o){let{next:a}=_we[r],n=a[t]||a["*"];return Hwe(e,n,o)}function Hwe(t,e,r){let{collapsed:o}=_we[e];return Array.isArray(t)?o?TIt(t,e,r):NIt(t,e,r):typeof t=="object"&&t!==null?o?LIt(t,e,r):OIt(t,e,r):JSON.stringify(t)}function qwe(t){return Hwe(t,"TOP_LEVEL","")}function OB(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]<A[u]?-1:A[n]>A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function MIt(t){let e=new Map,r=OB(t.fallbackExclusionList||[],[({name:o,reference:a})=>o,({name:o,reference:a})=>a]);for(let{name:o,reference:a}of r){let n=e.get(o);typeof n>"u"&&e.set(o,n=new Set),n.add(a)}return Array.from(e).map(([o,a])=>[o,Array.from(a)])}function UIt(t){return OB(t.fallbackPool||[],([e])=>e)}function _It(t){let e=[];for(let[r,o]of OB(t.packageRegistry,([a])=>a===null?"0":`1${a}`)){let a=[];e.push([r,a]);for(let[n,{packageLocation:u,packageDependencies:A,packagePeers:p,linkType:h,discardFromLookup:E}]of OB(o,([w])=>w===null?"0":`1${w}`)){let w=[];r!==null&&n!==null&&!A.has(r)&&w.push([r,n]);for(let[C,R]of OB(A.entries(),([L])=>L))w.push([C,R]);let v=p&&p.size>0?Array.from(p):void 0,b=E||void 0;a.push([n,{packageLocation:u,packageDependencies:w,packagePeers:v,linkType:h,discardFromLookup:b}])}}return e}function MB(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:MIt(t),fallbackPool:UIt(t),packageRegistryData:_It(t)}}var Wwe=tt(Gwe());function Ywe(t,e){return[t?`${t} |
577 | `:"",`/* eslint-disable */ | 577 | `:"",`/* eslint-disable */ |
578 | `,`"use strict"; | 578 | `,`"use strict"; |
579 | `,` | 579 | `,` |
580 | `,e,` | 580 | `,e,` |
581 | `,(0,Uwe.default)()].join("")}function QIt(t){return JSON.stringify(t,null,2)}function kIt(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ | 581 | `,(0,Wwe.default)()].join("")}function HIt(t){return JSON.stringify(t,null,2)}function qIt(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ |
582 | `)}'`}function FIt(t){return[`const RAW_RUNTIME_STATE = | 582 | `)}'`}function jIt(t){return[`const RAW_RUNTIME_STATE = |
583 | `,`${kIt(Lwe(t))}; | 583 | `,`${qIt(qwe(t))}; |
584 | 584 | ||
585 | `,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { | 585 | `,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { |
586 | `,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); | 586 | `,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); |
587 | `,`} | 587 | `,`} |
588 | `].join("")}function RIt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) { | 588 | `].join("")}function GIt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) { |
589 | `,` return hydrateRuntimeState(require(${JSON.stringify(`./${Lr.pnpData}`)}), {basePath: basePath || __dirname}); | 589 | `,` return hydrateRuntimeState(require(${JSON.stringify(`./${Lr.pnpData}`)}), {basePath: basePath || __dirname}); |
590 | `,`} | 590 | `,`} |
591 | `].join("")}function Hwe(t){let e=TB(t),r=FIt(e);return _we(t.shebang,r)}function qwe(t){let e=TB(t),r=RIt(),o=_we(t.shebang,r);return{dataFile:QIt(e),loaderFile:o}}bt();function Hq(t,{basePath:e}){let r=Ae.toPortablePath(e),o=V.resolve(r),a=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,n=new Map,u=new Map(t.packageRegistryData.map(([w,v])=>[w,new Map(v.map(([b,E])=>{if(w===null!=(b===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let R=E.discardFromLookup??!1,L={name:w,reference:b},_=n.get(E.packageLocation);_?(_.discardFromLookup=_.discardFromLookup&&R,R||(_.locator=L)):n.set(E.packageLocation,{locator:L,discardFromLookup:R});let J=null;return[b,{packageDependencies:new Map(E.packageDependencies),packagePeers:new Set(E.packagePeers),linkType:E.linkType,discardFromLookup:R,get packageLocation(){return J||(J=V.join(o,E.packageLocation))}}]}))])),A=new Map(t.fallbackExclusionList.map(([w,v])=>[w,new Set(v)])),p=new Map(t.fallbackPool),h=t.dependencyTreeRoots,C=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:C,fallbackExclusionList:A,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:u}}bt();bt();var UB=Ie("module");function RC(t,e){if(typeof t=="string")return t;if(t){let r,o;if(Array.isArray(t)){for(r=0;r<t.length;r++)if(o=RC(t[r],e))return o}else for(r in t)if(e.has(r))return RC(t[r],e)}}function hm(t,e,r){throw new Error(r?`No known conditions for "${e}" entry in "${t}" package`:`Missing "${e}" export in "${t}" package`)}function TIt(t,e){return e===t?".":e[0]==="."?e:e.replace(new RegExp("^"+t+"/"),"./")}function jwe(t,e=".",r={}){let{name:o,exports:a}=t;if(a){let{browser:n,require:u,unsafe:A,conditions:p=[]}=r,h=TIt(o,e);if(h[0]!=="."&&(h="./"+h),typeof a=="string")return h==="."?a:hm(o,h);let C=new Set(["default",...p]);A||C.add(u?"require":"import"),A||C.add(n?"browser":"node");let w,v,b=!1;for(w in a){b=w[0]!==".";break}if(b)return h==="."?RC(a,C)||hm(o,h,1):hm(o,h);if(v=a[h])return RC(v,C)||hm(o,h,1);for(w in a){if(v=w[w.length-1],v==="/"&&h.startsWith(w))return(v=RC(a[w],C))?v+h.substring(w.length):hm(o,h,1);if(v==="*"&&h.startsWith(w.slice(0,-1))&&h.substring(w.length-1).length>0)return(v=RC(a[w],C))?v.replace("*",h.substring(w.length-1)):hm(o,h,1)}return hm(o,h)}}var fk=Ie("url"),Yq=Ie("util");var cu=Ie("url");var zwe=tt(Ie("assert"));var Gwe=Array.isArray,NB=JSON.stringify,qq=Object.getOwnPropertyNames,TC=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),jq=(t,e)=>RegExp.prototype.exec.call(t,e),Gq=(t,...e)=>RegExp.prototype[Symbol.replace].apply(t,e),LB=(t,...e)=>String.prototype.endsWith.apply(t,e),Wwe=(t,...e)=>String.prototype.includes.apply(t,e),Ywe=(t,...e)=>String.prototype.lastIndexOf.apply(t,e),sk=(t,...e)=>String.prototype.indexOf.apply(t,e),Kwe=(t,...e)=>String.prototype.replace.apply(t,e),OB=(t,...e)=>String.prototype.slice.apply(t,e),ep=(t,...e)=>String.prototype.startsWith.apply(t,e),Jwe=Map,Vwe=JSON.parse;function ok(t,e,r){return class extends r{constructor(...o){super(e(...o)),this.code=t,this.name=`${r.name} [${t}]`}}}var Xwe=ok("ERR_PACKAGE_IMPORT_NOT_DEFINED",(t,e,r)=>`Package import specifier "${t}" is not defined${e?` in package ${e}package.json`:""} imported from ${r}`,TypeError),Wq=ok("ERR_INVALID_MODULE_SPECIFIER",(t,e,r=void 0)=>`Invalid module "${t}" ${e}${r?` imported from ${r}`:""}`,TypeError),Zwe=ok("ERR_INVALID_PACKAGE_TARGET",(t,e,r,o=!1,a=void 0)=>{let n=typeof r=="string"&&!o&&r.length&&!ep(r,"./");return e==="."?((0,zwe.default)(o===!1),`Invalid "exports" main target ${NB(r)} defined in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${o?"imports":"exports"}" target ${NB(r)} defined for '${e}' in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),ak=ok("ERR_INVALID_PACKAGE_CONFIG",(t,e,r)=>`Invalid package config ${t}${e?` while importing ${e}`:""}${r?`. ${r}`:""}`,Error);var ck=Ie("url");function $we(t,e){let r=Object.create(null);for(let o=0;o<e.length;o++){let a=e[o];TC(t,a)&&(r[a]=t[a])}return r}var lk=new Jwe;function NIt(t,e,r,o){let a=lk.get(t);if(a!==void 0)return a;let n=o(t);if(n===void 0){let b={pjsonPath:t,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return lk.set(t,b),b}let u;try{u=Vwe(n)}catch(b){throw new ak(t,(r?`"${e}" from `:"")+(0,ck.fileURLToPath)(r||e),b.message)}let{imports:A,main:p,name:h,type:C}=$we(u,["imports","main","name","type"]),w=TC(u,"exports")?u.exports:void 0;(typeof A!="object"||A===null)&&(A=void 0),typeof p!="string"&&(p=void 0),typeof h!="string"&&(h=void 0),C!=="module"&&C!=="commonjs"&&(C="none");let v={pjsonPath:t,exists:!0,main:p,name:h,type:C,exports:w,imports:A};return lk.set(t,v),v}function e1e(t,e){let r=new URL("./package.json",t);for(;;){let n=r.pathname;if(LB(n,"node_modules/package.json"))break;let u=NIt((0,ck.fileURLToPath)(r),t,void 0,e);if(u.exists)return u;let A=r;if(r=new URL("../package.json",r),r.pathname===A.pathname)break}let o=(0,ck.fileURLToPath)(r),a={pjsonPath:o,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return lk.set(o,a),a}function LIt(t,e,r){throw new Xwe(t,e&&(0,cu.fileURLToPath)(new URL(".",e)),(0,cu.fileURLToPath)(r))}function OIt(t,e,r,o){let a=`request is not a valid subpath for the "${r?"imports":"exports"}" resolution of ${(0,cu.fileURLToPath)(e)}`;throw new Wq(t,a,o&&(0,cu.fileURLToPath)(o))}function MB(t,e,r,o,a){throw typeof e=="object"&&e!==null?e=NB(e,null,""):e=`${e}`,new Zwe((0,cu.fileURLToPath)(new URL(".",r)),t,e,o,a&&(0,cu.fileURLToPath)(a))}var t1e=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i,r1e=/\*/g;function MIt(t,e,r,o,a,n,u,A){if(e!==""&&!n&&t[t.length-1]!=="/"&&MB(r,t,o,u,a),!ep(t,"./")){if(u&&!ep(t,"../")&&!ep(t,"/")){let w=!1;try{new URL(t),w=!0}catch{}if(!w)return n?Gq(r1e,t,()=>e):t+e}MB(r,t,o,u,a)}jq(t1e,OB(t,2))!==null&&MB(r,t,o,u,a);let p=new URL(t,o),h=p.pathname,C=new URL(".",o).pathname;if(ep(h,C)||MB(r,t,o,u,a),e==="")return p;if(jq(t1e,e)!==null){let w=n?Kwe(r,"*",()=>e):r+e;OIt(w,o,u,a)}return n?new URL(Gq(r1e,p.href,()=>e)):new URL(e,p)}function UIt(t){let e=+t;return`${e}`!==t?!1:e>=0&&e<4294967295}function uk(t,e,r,o,a,n,u,A){if(typeof e=="string")return MIt(e,r,o,t,a,n,u,A);if(Gwe(e)){if(e.length===0)return null;let p;for(let h=0;h<e.length;h++){let C=e[h],w;try{w=uk(t,C,r,o,a,n,u,A)}catch(v){if(p=v,v.code==="ERR_INVALID_PACKAGE_TARGET")continue;throw v}if(w!==void 0){if(w===null){p=null;continue}return w}}if(p==null)return p;throw p}else if(typeof e=="object"&&e!==null){let p=qq(e);for(let h=0;h<p.length;h++){let C=p[h];if(UIt(C))throw new ak((0,cu.fileURLToPath)(t),a,'"exports" cannot contain numeric property keys.')}for(let h=0;h<p.length;h++){let C=p[h];if(C==="default"||A.has(C)){let w=e[C],v=uk(t,w,r,o,a,n,u,A);if(v===void 0)continue;return v}}return}else if(e===null)return null;MB(o,e,t,u,a)}function _It(t,e){let r=sk(t,"*"),o=sk(e,"*"),a=r===-1?t.length:r+1,n=o===-1?e.length:o+1;return a>n?-1:n>a||r===-1?1:o===-1||t.length>e.length?-1:e.length>t.length?1:0}function n1e({name:t,base:e,conditions:r,readFileSyncFn:o}){if(t==="#"||ep(t,"#/")||LB(t,"/")){let u="is not a valid internal imports specifier name";throw new Wq(t,u,(0,cu.fileURLToPath)(e))}let a,n=e1e(e,o);if(n.exists){a=(0,cu.pathToFileURL)(n.pjsonPath);let u=n.imports;if(u)if(TC(u,t)&&!Wwe(t,"*")){let A=uk(a,u[t],"",t,e,!1,!0,r);if(A!=null)return A}else{let A="",p,h=qq(u);for(let C=0;C<h.length;C++){let w=h[C],v=sk(w,"*");if(v!==-1&&ep(t,OB(w,0,v))){let b=OB(w,v+1);t.length>=w.length&&LB(t,b)&&_It(A,w)===1&&Ywe(w,"*")===v&&(A=w,p=OB(t,v,t.length-b.length))}}if(A){let C=u[A],w=uk(a,C,p,A,e,!0,!0,r);if(w!=null)return w}}}LIt(t,a,e)}bt();var HIt=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function Xi(t,e,r={},o){o??(o=HIt.has(t)?"MODULE_NOT_FOUND":t);let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...a,value:o},pnpCode:{...a,value:t},data:{...a,value:r}})}function uu(t){return Ae.normalize(Ae.fromPortablePath(t))}bt();var s1e=Ie("module");var[Au,gm]=process.versions.node.split(".").map(t=>parseInt(t,10)),mVt=Au>16||Au===16&&gm>=12,yVt=Au>17||Au===17&&gm>=5||Au===16&&gm>=15,EVt=Au>17||Au===17&&gm>=1||Au===16&&gm>14,i1e=Au>19||Au===19&&gm>=2||Au===18&&gm>=13;var qIt=new Set(s1e.Module.builtinModules||Object.keys(process.binding("natives"))),Ak=t=>t.startsWith("node:")||qIt.has(t);function o1e(t){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(t=t.map(e=>Ae.fromPortablePath(pi.resolveVirtual(Ae.toPortablePath(e)))),i1e)process.send({"watch:require":t});else for(let e of t)process.send({"watch:require":e})}function Kq(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,o=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,u=/\/$/,A=/^\.{0,2}\//,p={name:null,reference:null},h=[],C=new Set;if(t.enableTopLevelFallback===!0&&h.push(p),e.compatibilityMode!==!1)for(let Me of["react-scripts","gatsby"]){let Te=t.packageRegistry.get(Me);if(Te)for(let Qe of Te.keys()){if(Qe===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Me,reference:Qe})}}let{ignorePattern:w,packageRegistry:v,packageLocatorsByLocations:b}=t;function E(Me,Te){return{fn:Me,args:Te,error:null,result:null}}function R(Me){var At,Le,x,I;let Te=((Le=(At=process.stderr)==null?void 0:At.hasColors)==null?void 0:Le.call(At))??process.stdout.isTTY,Qe=(P,y)=>`\x1B[${P}m${y}\x1B[0m`,Ue=Me.error;console.error(Ue?Qe("31;1",`\u2716 ${(x=Me.error)==null?void 0:x.message.replace(/\n.*/s,"")}`):Qe("33;1","\u203C Resolution")),Me.args.length>0&&console.error();for(let P of Me.args)console.error(` ${Qe("37;1","In \u2190")} ${(0,Yq.inspect)(P,{colors:Te,compact:!0})}`);Me.result&&(console.error(),console.error(` ${Qe("37;1","Out \u2192")} ${(0,Yq.inspect)(Me.result,{colors:Te,compact:!0})}`));let je=((I=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:I.slice(2))??[];if(je.length>0){console.error();for(let P of je)console.error(` ${Qe("38;5;244",P)}`)}console.error()}function L(Me,Te){if(e.allowDebug===!1)return Te;if(Number.isFinite(o)){if(o>=2)return(...Qe)=>{let Ue=E(Me,Qe);try{return Ue.result=Te(...Qe)}catch(je){throw Ue.error=je}finally{R(Ue)}};if(o>=1)return(...Qe)=>{try{return Te(...Qe)}catch(Ue){let je=E(Me,Qe);throw je.error=Ue,R(je),Ue}}}return Te}function _(Me){let Te=g(Me);if(!Te)throw Xi("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return Te}function J(Me){if(Me.name===null)return!0;for(let Te of t.dependencyTreeRoots)if(Te.name===Me.name&&Te.reference===Me.reference)return!0;return!1}let re=new Set(["default","node","require"]);function oe(Me,Te=re){let Qe=de(V.join(Me,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(Qe===null)throw Xi("INTERNAL",`The locator that owns the "${Me}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Ue}=_(Qe),je=V.join(Ue,Lr.manifest);if(!e.fakeFs.existsSync(je))return null;let At=JSON.parse(e.fakeFs.readFileSync(je,"utf8")),Le=V.contains(Ue,Me);if(Le===null)throw Xi("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");A.test(Le)||(Le=`./${Le}`);let x;try{x=jwe(At,V.normalize(Le),{conditions:Te,unsafe:!0})}catch(I){throw Xi("EXPORTS_RESOLUTION_FAILED",I.message,{unqualifiedPath:uu(Me),locator:Qe,pkgJson:At,subpath:uu(Le),conditions:Te},"ERR_PACKAGE_PATH_NOT_EXPORTED")}return typeof x=="string"?V.join(Ue,x):null}function pe(Me,Te,{extensions:Qe}){let Ue;try{Te.push(Me),Ue=e.fakeFs.statSync(Me)}catch{}if(Ue&&!Ue.isDirectory())return e.fakeFs.realpathSync(Me);if(Ue&&Ue.isDirectory()){let je;try{je=JSON.parse(e.fakeFs.readFileSync(V.join(Me,Lr.manifest),"utf8"))}catch{}let At;if(je&&je.main&&(At=V.resolve(Me,je.main)),At&&At!==Me){let Le=pe(At,Te,{extensions:Qe});if(Le!==null)return Le}}for(let je=0,At=Qe.length;je<At;je++){let Le=`${Me}${Qe[je]}`;if(Te.push(Le),e.fakeFs.existsSync(Le))return Le}if(Ue&&Ue.isDirectory())for(let je=0,At=Qe.length;je<At;je++){let Le=V.format({dir:Me,name:"index",ext:Qe[je]});if(Te.push(Le),e.fakeFs.existsSync(Le))return Le}return null}function he(Me){let Te=new UB.Module(Me,null);return Te.filename=Me,Te.paths=UB.Module._nodeModulePaths(Me),Te}function ve(Me,Te){return Te.endsWith("/")&&(Te=V.join(Te,"internal.js")),UB.Module._resolveFilename(Ae.fromPortablePath(Me),he(Ae.fromPortablePath(Te)),!1,{plugnplay:!1})}function ge(Me){if(w===null)return!1;let Te=V.contains(t.basePath,Me);return Te===null?!1:!!w.test(Te.replace(/\/$/,""))}let le={std:3,resolveVirtual:1,getAllLocators:1},Pe=p;function g({name:Me,reference:Te}){let Qe=v.get(Me);if(!Qe)return null;let Ue=Qe.get(Te);return Ue||null}function De({name:Me,reference:Te}){let Qe=[];for(let[Ue,je]of v)if(Ue!==null)for(let[At,Le]of je)At===null||Le.packageDependencies.get(Me)!==Te||Ue===Me&&At===Te||Qe.push({name:Ue,reference:At});return Qe}function Ee(Me,Te){let Qe=new Map,Ue=new Set,je=Le=>{let x=JSON.stringify(Le.name);if(Ue.has(x))return;Ue.add(x);let I=De(Le);for(let P of I)if(_(P).packagePeers.has(Me))je(P);else{let F=Qe.get(P.name);typeof F>"u"&&Qe.set(P.name,F=new Set),F.add(P.reference)}};je(Te);let At=[];for(let Le of[...Qe.keys()].sort())for(let x of[...Qe.get(Le)].sort())At.push({name:Le,reference:x});return At}function de(Me,{resolveIgnored:Te=!1,includeDiscardFromLookup:Qe=!1}={}){if(ge(Me)&&!Te)return null;let Ue=V.relative(t.basePath,Me);Ue.match(n)||(Ue=`./${Ue}`),Ue.endsWith("/")||(Ue=`${Ue}/`);do{let je=b.get(Ue);if(typeof je>"u"||je.discardFromLookup&&!Qe){Ue=Ue.substring(0,Ue.lastIndexOf("/",Ue.length-2)+1);continue}return je.locator}while(Ue!=="");return null}function ne(Me){try{return e.fakeFs.readFileSync(Ae.toPortablePath(Me),"utf8")}catch(Te){if(Te.code==="ENOENT")return;throw Te}}function Z(Me,Te,{considerBuiltins:Qe=!0}={}){if(Me.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Me==="pnpapi")return Ae.toPortablePath(e.pnpapiResolution);if(Qe&&Ak(Me))return null;let Ue=uu(Me),je=Te&&uu(Te);if(Te&&ge(Te)&&(!V.isAbsolute(Me)||de(Me)===null)){let x=ve(Me,Te);if(x===!1)throw Xi("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) | 591 | `].join("")}function Kwe(t){let e=MB(t),r=jIt(e);return Ywe(t.shebang,r)}function Vwe(t){let e=MB(t),r=GIt(),o=Ywe(t.shebang,r);return{dataFile:HIt(e),loaderFile:o}}bt();function qq(t,{basePath:e}){let r=ue.toPortablePath(e),o=z.resolve(r),a=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,n=new Map,u=new Map(t.packageRegistryData.map(([w,v])=>[w,new Map(v.map(([b,C])=>{if(w===null!=(b===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let R=C.discardFromLookup??!1,L={name:w,reference:b},_=n.get(C.packageLocation);_?(_.discardFromLookup=_.discardFromLookup&&R,R||(_.locator=L)):n.set(C.packageLocation,{locator:L,discardFromLookup:R});let V=null;return[b,{packageDependencies:new Map(C.packageDependencies),packagePeers:new Set(C.packagePeers),linkType:C.linkType,discardFromLookup:R,get packageLocation(){return V||(V=z.join(o,C.packageLocation))}}]}))])),A=new Map(t.fallbackExclusionList.map(([w,v])=>[w,new Set(v)])),p=new Map(t.fallbackPool),h=t.dependencyTreeRoots,E=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:E,fallbackExclusionList:A,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:u}}bt();bt();var YB=Ie("module"),Cm=Ie("url"),Zq=Ie("util");var No=Ie("url");var Zwe=tt(Ie("assert"));var jq=Array.isArray,UB=JSON.stringify,_B=Object.getOwnPropertyNames,mm=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Gq=(t,e)=>RegExp.prototype.exec.call(t,e),Wq=(t,...e)=>RegExp.prototype[Symbol.replace].apply(t,e),Ih=(t,...e)=>String.prototype.endsWith.apply(t,e),Yq=(t,...e)=>String.prototype.includes.apply(t,e),Kq=(t,...e)=>String.prototype.lastIndexOf.apply(t,e),HB=(t,...e)=>String.prototype.indexOf.apply(t,e),Jwe=(t,...e)=>String.prototype.replace.apply(t,e),wh=(t,...e)=>String.prototype.slice.apply(t,e),yA=(t,...e)=>String.prototype.startsWith.apply(t,e),zwe=Map,Xwe=JSON.parse;function qB(t,e,r){return class extends r{constructor(...o){super(e(...o)),this.code=t,this.name=`${r.name} [${t}]`}}}var $we=qB("ERR_PACKAGE_IMPORT_NOT_DEFINED",(t,e,r)=>`Package import specifier "${t}" is not defined${e?` in package ${e}package.json`:""} imported from ${r}`,TypeError),Vq=qB("ERR_INVALID_MODULE_SPECIFIER",(t,e,r=void 0)=>`Invalid module "${t}" ${e}${r?` imported from ${r}`:""}`,TypeError),e1e=qB("ERR_INVALID_PACKAGE_TARGET",(t,e,r,o=!1,a=void 0)=>{let n=typeof r=="string"&&!o&&r.length&&!yA(r,"./");return e==="."?((0,Zwe.default)(o===!1),`Invalid "exports" main target ${UB(r)} defined in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${o?"imports":"exports"}" target ${UB(r)} defined for '${e}' in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),jB=qB("ERR_INVALID_PACKAGE_CONFIG",(t,e,r)=>`Invalid package config ${t}${e?` while importing ${e}`:""}${r?`. ${r}`:""}`,Error),t1e=qB("ERR_PACKAGE_PATH_NOT_EXPORTED",(t,e,r=void 0)=>e==="."?`No "exports" main defined in ${t}package.json${r?` imported from ${r}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${t}package.json${r?` imported from ${r}`:""}`,Error);var pk=Ie("url");function r1e(t,e){let r=Object.create(null);for(let o=0;o<e.length;o++){let a=e[o];mm(t,a)&&(r[a]=t[a])}return r}var fk=new zwe;function WIt(t,e,r,o){let a=fk.get(t);if(a!==void 0)return a;let n=o(t);if(n===void 0){let b={pjsonPath:t,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return fk.set(t,b),b}let u;try{u=Xwe(n)}catch(b){throw new jB(t,(r?`"${e}" from `:"")+(0,pk.fileURLToPath)(r||e),b.message)}let{imports:A,main:p,name:h,type:E}=r1e(u,["imports","main","name","type"]),w=mm(u,"exports")?u.exports:void 0;(typeof A!="object"||A===null)&&(A=void 0),typeof p!="string"&&(p=void 0),typeof h!="string"&&(h=void 0),E!=="module"&&E!=="commonjs"&&(E="none");let v={pjsonPath:t,exists:!0,main:p,name:h,type:E,exports:w,imports:A};return fk.set(t,v),v}function n1e(t,e){let r=new URL("./package.json",t);for(;;){let n=r.pathname;if(Ih(n,"node_modules/package.json"))break;let u=WIt((0,pk.fileURLToPath)(r),t,void 0,e);if(u.exists)return u;let A=r;if(r=new URL("../package.json",r),r.pathname===A.pathname)break}let o=(0,pk.fileURLToPath)(r),a={pjsonPath:o,exists:!1,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};return fk.set(o,a),a}function YIt(t,e,r){throw new $we(t,e&&(0,No.fileURLToPath)(new URL(".",e)),(0,No.fileURLToPath)(r))}function KIt(t,e,r,o){let a=`request is not a valid subpath for the "${r?"imports":"exports"}" resolution of ${(0,No.fileURLToPath)(e)}`;throw new Vq(t,a,o&&(0,No.fileURLToPath)(o))}function GB(t,e,r,o,a){throw typeof e=="object"&&e!==null?e=UB(e,null,""):e=`${e}`,new e1e((0,No.fileURLToPath)(new URL(".",r)),t,e,o,a&&(0,No.fileURLToPath)(a))}var i1e=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i,s1e=/\*/g;function VIt(t,e,r,o,a,n,u,A){if(e!==""&&!n&&t[t.length-1]!=="/"&&GB(r,t,o,u,a),!yA(t,"./")){if(u&&!yA(t,"../")&&!yA(t,"/")){let w=!1;try{new URL(t),w=!0}catch{}if(!w)return n?Wq(s1e,t,()=>e):t+e}GB(r,t,o,u,a)}Gq(i1e,wh(t,2))!==null&&GB(r,t,o,u,a);let p=new URL(t,o),h=p.pathname,E=new URL(".",o).pathname;if(yA(h,E)||GB(r,t,o,u,a),e==="")return p;if(Gq(i1e,e)!==null){let w=n?Jwe(r,"*",()=>e):r+e;KIt(w,o,u,a)}return n?new URL(Wq(s1e,p.href,()=>e)):new URL(e,p)}function JIt(t){let e=+t;return`${e}`!==t?!1:e>=0&&e<4294967295}function ME(t,e,r,o,a,n,u,A){if(typeof e=="string")return VIt(e,r,o,t,a,n,u,A);if(jq(e)){if(e.length===0)return null;let p;for(let h=0;h<e.length;h++){let E=e[h],w;try{w=ME(t,E,r,o,a,n,u,A)}catch(v){if(p=v,v.code==="ERR_INVALID_PACKAGE_TARGET")continue;throw v}if(w!==void 0){if(w===null){p=null;continue}return w}}if(p==null)return p;throw p}else if(typeof e=="object"&&e!==null){let p=_B(e);for(let h=0;h<p.length;h++){let E=p[h];if(JIt(E))throw new jB((0,No.fileURLToPath)(t),a,'"exports" cannot contain numeric property keys.')}for(let h=0;h<p.length;h++){let E=p[h];if(E==="default"||A.has(E)){let w=e[E],v=ME(t,w,r,o,a,n,u,A);if(v===void 0)continue;return v}}return}else if(e===null)return null;GB(o,e,t,u,a)}function a1e(t,e){let r=HB(t,"*"),o=HB(e,"*"),a=r===-1?t.length:r+1,n=o===-1?e.length:o+1;return a>n?-1:n>a||r===-1?1:o===-1||t.length>e.length?-1:e.length>t.length?1:0}function zIt(t,e,r){if(typeof t=="string"||jq(t))return!0;if(typeof t!="object"||t===null)return!1;let o=_B(t),a=!1,n=0;for(let u=0;u<o.length;u++){let A=o[u],p=A===""||A[0]!==".";if(n++===0)a=p;else if(a!==p)throw new jB((0,No.fileURLToPath)(e),r,`"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.`)}return a}function Jq(t,e,r){throw new t1e((0,No.fileURLToPath)(new URL(".",e)),t,r&&(0,No.fileURLToPath)(r))}var o1e=new Set;function XIt(t,e,r){let o=(0,No.fileURLToPath)(e);o1e.has(o+"|"+t)||(o1e.add(o+"|"+t),process.emitWarning(`Use of deprecated trailing slash pattern mapping "${t}" in the "exports" field module resolution of the package at ${o}${r?` imported from ${(0,No.fileURLToPath)(r)}`:""}. Mapping specifiers ending in "/" is no longer supported.`,"DeprecationWarning","DEP0155"))}function l1e({packageJSONUrl:t,packageSubpath:e,exports:r,base:o,conditions:a}){if(zIt(r,t,o)&&(r={".":r}),mm(r,e)&&!Yq(e,"*")&&!Ih(e,"/")){let p=r[e],h=ME(t,p,"",e,o,!1,!1,a);return h==null&&Jq(e,t,o),h}let n="",u,A=_B(r);for(let p=0;p<A.length;p++){let h=A[p],E=HB(h,"*");if(E!==-1&&yA(e,wh(h,0,E))){Ih(e,"/")&&XIt(e,t,o);let w=wh(h,E+1);e.length>=h.length&&Ih(e,w)&&a1e(n,h)===1&&Kq(h,"*")===E&&(n=h,u=wh(e,E,e.length-w.length))}}if(n){let p=r[n],h=ME(t,p,u,n,o,!0,!1,a);return h==null&&Jq(e,t,o),h}Jq(e,t,o)}function c1e({name:t,base:e,conditions:r,readFileSyncFn:o}){if(t==="#"||yA(t,"#/")||Ih(t,"/")){let u="is not a valid internal imports specifier name";throw new Vq(t,u,(0,No.fileURLToPath)(e))}let a,n=n1e(e,o);if(n.exists){a=(0,No.pathToFileURL)(n.pjsonPath);let u=n.imports;if(u)if(mm(u,t)&&!Yq(t,"*")){let A=ME(a,u[t],"",t,e,!1,!0,r);if(A!=null)return A}else{let A="",p,h=_B(u);for(let E=0;E<h.length;E++){let w=h[E],v=HB(w,"*");if(v!==-1&&yA(t,wh(w,0,v))){let b=wh(w,v+1);t.length>=w.length&&Ih(t,b)&&a1e(A,w)===1&&Kq(w,"*")===v&&(A=w,p=wh(t,v,t.length-b.length))}}if(A){let E=u[A],w=ME(a,E,p,A,e,!0,!0,r);if(w!=null)return w}}}YIt(t,a,e)}bt();var ZIt=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function Xi(t,e,r={},o){o??(o=ZIt.has(t)?"MODULE_NOT_FOUND":t);let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...a,value:o},pnpCode:{...a,value:t},data:{...a,value:r}})}function Au(t){return ue.normalize(ue.fromPortablePath(t))}var p1e=tt(A1e());function h1e(t){return $It(),Xq[t]}var Xq;function $It(){Xq||(Xq={"--conditions":[],...f1e(ewt()),...f1e(process.execArgv)})}function f1e(t){return(0,p1e.default)({"--conditions":[String],"-C":"--conditions"},{argv:t,permissive:!0})}function ewt(){let t=[],e=twt(process.env.NODE_OPTIONS||"",t);return t.length,e}function twt(t,e){let r=[],o=!1,a=!0;for(let n=0;n<t.length;++n){let u=t[n];if(u==="\\"&&o){if(n+1===t.length)return e.push(`invalid value for NODE_OPTIONS (invalid escape) |
592 | `),r;u=t[++n]}else if(u===" "&&!o){a=!0;continue}else if(u==='"'){o=!o;continue}a?(r.push(u),a=!1):r[r.length-1]+=u}return o&&e.push(`invalid value for NODE_OPTIONS (unterminated string) | ||
593 | `),r}bt();var d1e=Ie("module");var[fu,ym]=process.versions.node.split(".").map(t=>parseInt(t,10)),DJt=fu>16||fu===16&&ym>=12,SJt=fu>17||fu===17&&ym>=5||fu===16&&ym>=15,PJt=fu>17||fu===17&&ym>=1||fu===16&&ym>14,g1e=fu>19||fu===19&&ym>=2||fu===18&&ym>=13;var rwt=new Set(d1e.Module.builtinModules||Object.keys(process.binding("natives"))),hk=t=>t.startsWith("node:")||rwt.has(t);function m1e(t){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(t=t.map(e=>ue.fromPortablePath(pi.resolveVirtual(ue.toPortablePath(e)))),g1e)process.send({"watch:require":t});else for(let e of t)process.send({"watch:require":e})}function $q(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,o=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,u=/\/$/,A=/^\.{0,2}\//,p={name:null,reference:null},h=[],E=new Set;if(t.enableTopLevelFallback===!0&&h.push(p),e.compatibilityMode!==!1)for(let Me of["react-scripts","gatsby"]){let Te=t.packageRegistry.get(Me);if(Te)for(let Qe of Te.keys()){if(Qe===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Me,reference:Qe})}}let{ignorePattern:w,packageRegistry:v,packageLocatorsByLocations:b}=t;function C(Me,Te){return{fn:Me,args:Te,error:null,result:null}}function R(Me){var At,Oe,x,I;let Te=((Oe=(At=process.stderr)==null?void 0:At.hasColors)==null?void 0:Oe.call(At))??process.stdout.isTTY,Qe=(P,y)=>`\x1B[${P}m${y}\x1B[0m`,_e=Me.error;console.error(_e?Qe("31;1",`\u2716 ${(x=Me.error)==null?void 0:x.message.replace(/\n.*/s,"")}`):Qe("33;1","\u203C Resolution")),Me.args.length>0&&console.error();for(let P of Me.args)console.error(` ${Qe("37;1","In \u2190")} ${(0,Zq.inspect)(P,{colors:Te,compact:!0})}`);Me.result&&(console.error(),console.error(` ${Qe("37;1","Out \u2192")} ${(0,Zq.inspect)(Me.result,{colors:Te,compact:!0})}`));let qe=((I=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:I.slice(2))??[];if(qe.length>0){console.error();for(let P of qe)console.error(` ${Qe("38;5;244",P)}`)}console.error()}function L(Me,Te){if(e.allowDebug===!1)return Te;if(Number.isFinite(o)){if(o>=2)return(...Qe)=>{let _e=C(Me,Qe);try{return _e.result=Te(...Qe)}catch(qe){throw _e.error=qe}finally{R(_e)}};if(o>=1)return(...Qe)=>{try{return Te(...Qe)}catch(_e){let qe=C(Me,Qe);throw qe.error=_e,R(qe),_e}}}return Te}function _(Me){let Te=g(Me);if(!Te)throw Xi("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return Te}function V(Me){if(Me.name===null)return!0;for(let Te of t.dependencyTreeRoots)if(Te.name===Me.name&&Te.reference===Me.reference)return!0;return!1}let re=new Set(["node","require",...h1e("--conditions")]);function oe(Me,Te=re,Qe){let _e=de(z.join(Me,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(_e===null)throw Xi("INTERNAL",`The locator that owns the "${Me}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:qe}=_(_e),At=z.join(qe,Lr.manifest);if(!e.fakeFs.existsSync(At))return null;let Oe=JSON.parse(e.fakeFs.readFileSync(At,"utf8"));if(Oe.exports==null)return null;let x=z.contains(qe,Me);if(x===null)throw Xi("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");x!=="."&&!A.test(x)&&(x=`./${x}`);try{let I=l1e({packageJSONUrl:(0,Cm.pathToFileURL)(ue.fromPortablePath(At)),packageSubpath:x,exports:Oe.exports,base:Qe?(0,Cm.pathToFileURL)(ue.fromPortablePath(Qe)):null,conditions:Te});return ue.toPortablePath((0,Cm.fileURLToPath)(I))}catch(I){throw Xi("EXPORTS_RESOLUTION_FAILED",I.message,{unqualifiedPath:Au(Me),locator:_e,pkgJson:Oe,subpath:Au(x),conditions:Te},I.code)}}function pe(Me,Te,{extensions:Qe}){let _e;try{Te.push(Me),_e=e.fakeFs.statSync(Me)}catch{}if(_e&&!_e.isDirectory())return e.fakeFs.realpathSync(Me);if(_e&&_e.isDirectory()){let qe;try{qe=JSON.parse(e.fakeFs.readFileSync(z.join(Me,Lr.manifest),"utf8"))}catch{}let At;if(qe&&qe.main&&(At=z.resolve(Me,qe.main)),At&&At!==Me){let Oe=pe(At,Te,{extensions:Qe});if(Oe!==null)return Oe}}for(let qe=0,At=Qe.length;qe<At;qe++){let Oe=`${Me}${Qe[qe]}`;if(Te.push(Oe),e.fakeFs.existsSync(Oe))return Oe}if(_e&&_e.isDirectory())for(let qe=0,At=Qe.length;qe<At;qe++){let Oe=z.format({dir:Me,name:"index",ext:Qe[qe]});if(Te.push(Oe),e.fakeFs.existsSync(Oe))return Oe}return null}function he(Me){let Te=new YB.Module(Me,null);return Te.filename=Me,Te.paths=YB.Module._nodeModulePaths(Me),Te}function ve(Me,Te){return Te.endsWith("/")&&(Te=z.join(Te,"internal.js")),YB.Module._resolveFilename(ue.fromPortablePath(Me),he(ue.fromPortablePath(Te)),!1,{plugnplay:!1})}function ge(Me){if(w===null)return!1;let Te=z.contains(t.basePath,Me);return Te===null?!1:!!w.test(Te.replace(/\/$/,""))}let le={std:3,resolveVirtual:1,getAllLocators:1},Pe=p;function g({name:Me,reference:Te}){let Qe=v.get(Me);if(!Qe)return null;let _e=Qe.get(Te);return _e||null}function De({name:Me,reference:Te}){let Qe=[];for(let[_e,qe]of v)if(_e!==null)for(let[At,Oe]of qe)At===null||Oe.packageDependencies.get(Me)!==Te||_e===Me&&At===Te||Qe.push({name:_e,reference:At});return Qe}function Ce(Me,Te){let Qe=new Map,_e=new Set,qe=Oe=>{let x=JSON.stringify(Oe.name);if(_e.has(x))return;_e.add(x);let I=De(Oe);for(let P of I)if(_(P).packagePeers.has(Me))qe(P);else{let F=Qe.get(P.name);typeof F>"u"&&Qe.set(P.name,F=new Set),F.add(P.reference)}};qe(Te);let At=[];for(let Oe of[...Qe.keys()].sort())for(let x of[...Qe.get(Oe)].sort())At.push({name:Oe,reference:x});return At}function de(Me,{resolveIgnored:Te=!1,includeDiscardFromLookup:Qe=!1}={}){if(ge(Me)&&!Te)return null;let _e=z.relative(t.basePath,Me);_e.match(n)||(_e=`./${_e}`),_e.endsWith("/")||(_e=`${_e}/`);do{let qe=b.get(_e);if(typeof qe>"u"||qe.discardFromLookup&&!Qe){_e=_e.substring(0,_e.lastIndexOf("/",_e.length-2)+1);continue}return qe.locator}while(_e!=="");return null}function ne(Me){try{return e.fakeFs.readFileSync(ue.toPortablePath(Me),"utf8")}catch(Te){if(Te.code==="ENOENT")return;throw Te}}function Z(Me,Te,{considerBuiltins:Qe=!0}={}){if(Me.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Me==="pnpapi")return ue.toPortablePath(e.pnpapiResolution);if(Qe&&hk(Me))return null;let _e=Au(Me),qe=Te&&Au(Te);if(Te&&ge(Te)&&(!z.isAbsolute(Me)||de(Me)===null)){let x=ve(Me,Te);if(x===!1)throw Xi("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) | ||
592 | 594 | ||
593 | Require request: "${Ue}" | 595 | Require request: "${_e}" |
594 | Required by: ${je} | 596 | Required by: ${qe} |
595 | `,{request:Ue,issuer:je});return Ae.toPortablePath(x)}let At,Le=Me.match(a);if(Le){if(!Te)throw Xi("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ue,issuer:je});let[,x,I]=Le,P=de(Te);if(!P){let Ne=ve(Me,Te);if(Ne===!1)throw Xi("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). | 597 | `,{request:_e,issuer:qe});return ue.toPortablePath(x)}let At,Oe=Me.match(a);if(Oe){if(!Te)throw Xi("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:_e,issuer:qe});let[,x,I]=Oe,P=de(Te);if(!P){let Ne=ve(Me,Te);if(Ne===!1)throw Xi("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). |
596 | 598 | ||
597 | Require path: "${Ue}" | 599 | Require path: "${_e}" |
598 | Required by: ${je} | 600 | Required by: ${qe} |
599 | `,{request:Ue,issuer:je});return Ae.toPortablePath(Ne)}let F=_(P).packageDependencies.get(x),z=null;if(F==null&&P.name!==null){let Ne=t.fallbackExclusionList.get(P.name);if(!Ne||!Ne.has(P.reference)){for(let ht=0,Ut=h.length;ht<Ut;++ht){let Pt=_(h[ht]).packageDependencies.get(x);if(Pt!=null){r?z=Pt:F=Pt;break}}if(t.enableTopLevelFallback&&F==null&&z===null){let ht=t.fallbackPool.get(x);ht!=null&&(z=ht)}}}let X=null;if(F===null)if(J(P))X=Xi("MISSING_PEER_DEPENDENCY",`Your application tried to access ${x} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. | 601 | `,{request:_e,issuer:qe});return ue.toPortablePath(Ne)}let F=_(P).packageDependencies.get(x),J=null;if(F==null&&P.name!==null){let Ne=t.fallbackExclusionList.get(P.name);if(!Ne||!Ne.has(P.reference)){for(let ht=0,Ut=h.length;ht<Ut;++ht){let Pt=_(h[ht]).packageDependencies.get(x);if(Pt!=null){r?J=Pt:F=Pt;break}}if(t.enableTopLevelFallback&&F==null&&J===null){let ht=t.fallbackPool.get(x);ht!=null&&(J=ht)}}}let X=null;if(F===null)if(V(P))X=Xi("MISSING_PEER_DEPENDENCY",`Your application tried to access ${x} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. |
600 | 602 | ||
601 | Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} | 603 | Required package: ${x}${x!==_e?` (via "${_e}")`:""} |
602 | Required by: ${je} | 604 | Required by: ${qe} |
603 | `,{request:Ue,issuer:je,dependencyName:x});else{let Ne=Ee(x,P);Ne.every(st=>J(st))?X=Xi("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. | 605 | `,{request:_e,issuer:qe,dependencyName:x});else{let Ne=Ce(x,P);Ne.every(st=>V(st))?X=Xi("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. |
604 | 606 | ||
605 | Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} | 607 | Required package: ${x}${x!==_e?` (via "${_e}")`:""} |
606 | Required by: ${P.name}@${P.reference} (via ${je}) | 608 | Required by: ${P.name}@${P.reference} (via ${qe}) |
607 | ${Ne.map(st=>`Ancestor breaking the chain: ${st.name}@${st.reference} | 609 | ${Ne.map(st=>`Ancestor breaking the chain: ${st.name}@${st.reference} |
608 | `).join("")} | 610 | `).join("")} |
609 | `,{request:Ue,issuer:je,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Ne}):X=Xi("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. | 611 | `,{request:_e,issuer:qe,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Ne}):X=Xi("MISSING_PEER_DEPENDENCY",`${P.name} tried to access ${x} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. |
610 | 612 | ||
611 | Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} | 613 | Required package: ${x}${x!==_e?` (via "${_e}")`:""} |
612 | Required by: ${P.name}@${P.reference} (via ${je}) | 614 | Required by: ${P.name}@${P.reference} (via ${qe}) |
613 | 615 | ||
614 | ${Ne.map(st=>`Ancestor breaking the chain: ${st.name}@${st.reference} | 616 | ${Ne.map(st=>`Ancestor breaking the chain: ${st.name}@${st.reference} |
615 | `).join("")} | 617 | `).join("")} |
616 | `,{request:Ue,issuer:je,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Ne})}else F===void 0&&(!Qe&&Ak(Me)?J(P)?X=Xi("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. | 618 | `,{request:_e,issuer:qe,issuerLocator:Object.assign({},P),dependencyName:x,brokenAncestors:Ne})}else F===void 0&&(!Qe&&hk(Me)?V(P)?X=Xi("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. |
617 | 619 | ||
618 | Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} | 620 | Required package: ${x}${x!==_e?` (via "${_e}")`:""} |
619 | Required by: ${je} | 621 | Required by: ${qe} |
620 | `,{request:Ue,issuer:je,dependencyName:x}):X=Xi("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in ${P.name}'s dependencies, this makes the require call ambiguous and unsound. | 622 | `,{request:_e,issuer:qe,dependencyName:x}):X=Xi("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${x} isn't otherwise declared in ${P.name}'s dependencies, this makes the require call ambiguous and unsound. |
621 | 623 | ||
622 | Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} | 624 | Required package: ${x}${x!==_e?` (via "${_e}")`:""} |
623 | Required by: ${je} | 625 | Required by: ${qe} |
624 | `,{request:Ue,issuer:je,issuerLocator:Object.assign({},P),dependencyName:x}):J(P)?X=Xi("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. | 626 | `,{request:_e,issuer:qe,issuerLocator:Object.assign({},P),dependencyName:x}):V(P)?X=Xi("UNDECLARED_DEPENDENCY",`Your application tried to access ${x}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. |
625 | 627 | ||
626 | Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} | 628 | Required package: ${x}${x!==_e?` (via "${_e}")`:""} |
627 | Required by: ${je} | 629 | Required by: ${qe} |
628 | `,{request:Ue,issuer:je,dependencyName:x}):X=Xi("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. | 630 | `,{request:_e,issuer:qe,dependencyName:x}):X=Xi("UNDECLARED_DEPENDENCY",`${P.name} tried to access ${x}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. |
629 | 631 | ||
630 | Required package: ${x}${x!==Ue?` (via "${Ue}")`:""} | 632 | Required package: ${x}${x!==_e?` (via "${_e}")`:""} |
631 | Required by: ${P.name}@${P.reference} (via ${je}) | 633 | Required by: ${P.name}@${P.reference} (via ${qe}) |
632 | `,{request:Ue,issuer:je,issuerLocator:Object.assign({},P),dependencyName:x}));if(F==null){if(z===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");F=z;let Ne=X.message.replace(/\n.*/g,"");X.message=Ne,!C.has(Ne)&&o!==0&&(C.add(Ne),process.emitWarning(X))}let $=Array.isArray(F)?{name:F[0],reference:F[1]}:{name:x,reference:F},ie=_($);if(!ie.packageLocation)throw Xi("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. | 634 | `,{request:_e,issuer:qe,issuerLocator:Object.assign({},P),dependencyName:x}));if(F==null){if(J===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");F=J;let Ne=X.message.replace(/\n.*/g,"");X.message=Ne,!E.has(Ne)&&o!==0&&(E.add(Ne),process.emitWarning(X))}let $=Array.isArray(F)?{name:F[0],reference:F[1]}:{name:x,reference:F},ie=_($);if(!ie.packageLocation)throw Xi("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. |
633 | 635 | ||
634 | Required package: ${$.name}@${$.reference}${$.name!==Ue?` (via "${Ue}")`:""} | 636 | Required package: ${$.name}@${$.reference}${$.name!==_e?` (via "${_e}")`:""} |
635 | Required by: ${P.name}@${P.reference} (via ${je}) | 637 | Required by: ${P.name}@${P.reference} (via ${qe}) |
636 | `,{request:Ue,issuer:je,dependencyLocator:Object.assign({},$)});let ke=ie.packageLocation;I?At=V.join(ke,I):At=ke}else if(V.isAbsolute(Me))At=V.normalize(Me);else{if(!Te)throw Xi("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ue,issuer:je});let x=V.resolve(Te);Te.match(u)?At=V.normalize(V.join(x,Me)):At=V.normalize(V.join(V.dirname(x),Me))}return V.normalize(At)}function me(Me,Te,Qe=re){if(n.test(Me))return Te;let Ue=oe(Te,Qe);return Ue?V.normalize(Ue):Te}function be(Me,{extensions:Te=Object.keys(UB.Module._extensions)}={}){let Qe=[],Ue=pe(Me,Qe,{extensions:Te});if(Ue)return V.normalize(Ue);{o1e(Qe.map(Le=>Ae.fromPortablePath(Le)));let je=uu(Me),At=de(Me);if(At){let{packageLocation:Le}=_(At),x=!0;try{e.fakeFs.accessSync(Le)}catch(I){if((I==null?void 0:I.code)==="ENOENT")x=!1;else{let P=((I==null?void 0:I.message)??I??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${P}). | 638 | `,{request:_e,issuer:qe,dependencyLocator:Object.assign({},$)});let ke=ie.packageLocation;I?At=z.join(ke,I):At=ke}else if(z.isAbsolute(Me))At=z.normalize(Me);else{if(!Te)throw Xi("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:_e,issuer:qe});let x=z.resolve(Te);Te.match(u)?At=z.normalize(z.join(x,Me)):At=z.normalize(z.join(z.dirname(x),Me))}return z.normalize(At)}function me(Me,Te,Qe=re,_e){if(n.test(Me))return Te;let qe=oe(Te,Qe,_e);return qe?z.normalize(qe):Te}function be(Me,{extensions:Te=Object.keys(YB.Module._extensions)}={}){let Qe=[],_e=pe(Me,Qe,{extensions:Te});if(_e)return z.normalize(_e);{m1e(Qe.map(Oe=>ue.fromPortablePath(Oe)));let qe=Au(Me),At=de(Me);if(At){let{packageLocation:Oe}=_(At),x=!0;try{e.fakeFs.accessSync(Oe)}catch(I){if((I==null?void 0:I.code)==="ENOENT")x=!1;else{let P=((I==null?void 0:I.message)??I??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${P}). |
637 | 639 | ||
638 | Missing package: ${At.name}@${At.reference} | 640 | Missing package: ${At.name}@${At.reference} |
639 | Expected package location: ${uu(Le)} | 641 | Expected package location: ${Au(Oe)} |
640 | `,{unqualifiedPath:je,extensions:Te})}}if(!x){let I=Le.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`${I} | 642 | `,{unqualifiedPath:qe,extensions:Te})}}if(!x){let I=Oe.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`${I} |
641 | 643 | ||
642 | Missing package: ${At.name}@${At.reference} | 644 | Missing package: ${At.name}@${At.reference} |
643 | Expected package location: ${uu(Le)} | 645 | Expected package location: ${Au(Oe)} |
644 | `,{unqualifiedPath:je,extensions:Te})}}throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. | 646 | `,{unqualifiedPath:qe,extensions:Te})}}throw Xi("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. |
645 | 647 | ||
646 | Source path: ${je} | 648 | Source path: ${qe} |
647 | ${Qe.map(Le=>`Not found: ${uu(Le)} | 649 | ${Qe.map(Oe=>`Not found: ${Au(Oe)} |
648 | `).join("")}`,{unqualifiedPath:je,extensions:Te})}}function ut(Me,Te,Qe){if(!Te)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let Ue=n1e({name:Me,base:(0,fk.pathToFileURL)(Ae.fromPortablePath(Te)),conditions:Qe.conditions??re,readFileSyncFn:ne});if(Ue instanceof URL)return be(Ae.toPortablePath((0,fk.fileURLToPath)(Ue)),{extensions:Qe.extensions});if(Ue.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return H(Ue,Te,Qe)}function H(Me,Te,Qe={}){try{if(Me.startsWith("#"))return ut(Me,Te,Qe);let{considerBuiltins:Ue,extensions:je,conditions:At}=Qe,Le=Z(Me,Te,{considerBuiltins:Ue});if(Me==="pnpapi")return Le;if(Le===null)return null;let x=()=>Te!==null?ge(Te):!1,I=(!Ue||!Ak(Me))&&!x()?me(Me,Le,At):Le;return be(I,{extensions:je})}catch(Ue){throw Object.prototype.hasOwnProperty.call(Ue,"pnpCode")&&Object.assign(Ue.data,{request:uu(Me),issuer:Te&&uu(Te)}),Ue}}function yt(Me){let Te=V.normalize(Me),Qe=pi.resolveVirtual(Te);return Qe!==Te?Qe:null}return{VERSIONS:le,topLevel:Pe,getLocator:(Me,Te)=>Array.isArray(Te)?{name:Te[0],reference:Te[1]}:{name:Me,reference:Te},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let Me=[];for(let[Te,Qe]of v)for(let Ue of Qe.keys())Te!==null&&Ue!==null&&Me.push({name:Te,reference:Ue});return Me},getPackageInformation:Me=>{let Te=g(Me);if(Te===null)return null;let Qe=Ae.fromPortablePath(Te.packageLocation);return{...Te,packageLocation:Qe}},findPackageLocator:Me=>de(Ae.toPortablePath(Me)),resolveToUnqualified:L("resolveToUnqualified",(Me,Te,Qe)=>{let Ue=Te!==null?Ae.toPortablePath(Te):null,je=Z(Ae.toPortablePath(Me),Ue,Qe);return je===null?null:Ae.fromPortablePath(je)}),resolveUnqualified:L("resolveUnqualified",(Me,Te)=>Ae.fromPortablePath(be(Ae.toPortablePath(Me),Te))),resolveRequest:L("resolveRequest",(Me,Te,Qe)=>{let Ue=Te!==null?Ae.toPortablePath(Te):null,je=H(Ae.toPortablePath(Me),Ue,Qe);return je===null?null:Ae.fromPortablePath(je)}),resolveVirtual:L("resolveVirtual",Me=>{let Te=yt(Ae.toPortablePath(Me));return Te!==null?Ae.fromPortablePath(Te):null})}}bt();var a1e=(t,e,r)=>{let o=TB(t),a=Hq(o,{basePath:e}),n=Ae.join(e,Lr.pnpCjs);return Kq(a,{fakeFs:r,pnpapiResolution:n})};var Vq=tt(c1e());_t();var mA={};Yt(mA,{checkAndReportManifestCompatibility:()=>A1e,checkManifestCompatibility:()=>u1e,extractBuildScripts:()=>pk,getExtractHint:()=>zq,hasBindingGyp:()=>Xq});Ke();bt();function u1e(t){return Y.isPackageCompatible(t,As.getArchitectureSet())}function A1e(t,e,{configuration:r,report:o}){return u1e(t)?!0:(o==null||o.reportWarningOnce(76,`${Y.prettyLocator(r,t)} The ${As.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function pk(t,e,r,{configuration:o,report:a}){let n=[];for(let A of["preinstall","install","postinstall"])e.manifest.scripts.has(A)&&n.push([0,A]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&n.push([1,"node-gyp rebuild"]),n.length===0?[]:t.linkType!=="HARD"?(a==null||a.reportWarningOnce(6,`${Y.prettyLocator(o,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(a==null||a.reportInfoOnce(5,`${Y.prettyLocator(o,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!o.get("enableScripts")&&!r.built?(a==null||a.reportWarningOnce(4,`${Y.prettyLocator(o,t)} lists build scripts, but all build scripts have been disabled.`),[]):A1e(t,"build",{configuration:o,report:a})?n:[]}var GIt=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function zq(t){return t.packageFs.getExtractHint({relevantExtensions:GIt})}function Xq(t){let e=V.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var HB={};Yt(HB,{getUnpluggedPath:()=>_B});Ke();bt();function _B(t,{configuration:e}){return V.resolve(e.get("pnpUnpluggedFolder"),Y.slugifyLocator(t))}var WIt=new Set([Y.makeIdent(null,"open").identHash,Y.makeIdent(null,"opn").identHash]),Ch=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let o=Ih(r.project).cjs;if(!ae.existsSync(o))throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=Ye.getFactoryWithDefault(this.pnpCache,o,()=>Ye.dynamicRequire(o,{cachingStrategy:Ye.CachingStrategy.FsTime})),n={name:Y.stringifyIdent(e),reference:e.reference},u=a.getPackageInformation(n);if(!u)throw new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return Ae.toPortablePath(u.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=Ih(r.project).cjs;if(!ae.existsSync(o))return null;let n=Ye.getFactoryWithDefault(this.pnpCache,o,()=>Ye.dynamicRequire(o,{cachingStrategy:Ye.CachingStrategy.FsTime})).findPackageLocator(Ae.fromPortablePath(e));return n?Y.makeLocator(Y.parseIdent(n.name),n.reference):null}makeInstaller(e){return new dm(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},dm=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Ye.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}attachCustomData(e){this.customData=e}async installPackage(e,r,o){let a=Y.stringifyIdent(e),n=e.reference,u=!!this.opts.project.tryWorkspaceByLocator(e),A=Y.isVirtualLocator(e),p=e.peerDependencies.size>0&&!A,h=!p&&!u,C=!p&&e.linkType!=="SOFT",w,v;if(h||C){let re=A?Y.devirtualizeLocator(e):e;w=this.customData.store.get(re.locatorHash),typeof w>"u"&&(w=await YIt(r),e.linkType==="HARD"&&this.customData.store.set(re.locatorHash,w)),w.manifest.type==="module"&&(this.isESMLoaderRequired=!0),v=this.opts.project.getDependencyMeta(re,e.version)}let b=h?pk(e,w,v,{configuration:this.opts.project.configuration,report:this.opts.report}):[],E=C?await this.unplugPackageIfNeeded(e,w,r,v,o):r.packageFs;if(V.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let R=V.resolve(E.getRealPath(),r.prefixPath),L=Zq(this.opts.project.cwd,R),_=new Map,J=new Set;if(A){for(let re of e.peerDependencies.values())_.set(Y.stringifyIdent(re),null),J.add(Y.stringifyIdent(re));if(!u){let re=Y.devirtualizeLocator(e);this.virtualTemplates.set(re.locatorHash,{location:Zq(this.opts.project.cwd,pi.resolveVirtual(R)),locator:re})}}return Ye.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:L,packageDependencies:_,packagePeers:J,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:R,buildDirective:b.length>0?b:null}}async attachInternalDependencies(e,r){let o=this.getPackageInformation(e);for(let[a,n]of r){let u=Y.areIdentsEqual(a,n)?n.reference:[Y.stringifyIdent(n),n.reference];o.packageDependencies.set(Y.stringifyIdent(a),u)}}async attachExternalDependents(e,r){for(let o of r)this.getDiskInformation(o).packageDependencies.set(Y.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Ih(this.opts.project);if(this.isEsmEnabled()||await ae.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await ae.removePromise(e.cjs),await ae.removePromise(e.data),await ae.removePromise(e.esmLoader),await ae.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:C,location:w}of this.virtualTemplates.values())Ye.getMapWithDefault(this.packageRegistry,Y.stringifyIdent(C)).set(C.reference,{packageLocation:w,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),o=this.opts.project.workspaces.map(({anchoredLocator:C})=>({name:Y.stringifyIdent(C),reference:C.reference})),a=r!=="none",n=[],u=new Map,A=Ye.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let C of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(C)&&n.push({name:Y.stringifyIdent(C),reference:C.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:o,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:u,ignorePattern:A,packageRegistry:p,shebang:h}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=Ih(this.opts.project),o=await this.locateNodeModules(e.ignorePattern);if(o.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let n of o)await ae.removePromise(n)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let n=Hwe(e);await ae.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await ae.removePromise(r.data)}else{let{dataFile:n,loaderFile:u}=qwe(e);await ae.changeFilePromise(r.cjs,u,{automaticNewlines:!0,mode:493}),await ae.changeFilePromise(r.data,n,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await ae.changeFilePromise(r.esmLoader,(0,Vq.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await ae.removePromise(a);else for(let n of await ae.readdirPromise(a)){let u=V.resolve(a,n);this.unpluggedPaths.has(u)||await ae.removePromise(u)}}async locateNodeModules(e){let r=[],o=e?new RegExp(e):null;for(let a of this.opts.project.workspaces){let n=V.join(a.cwd,"node_modules");if(o&&o.test(V.relative(this.opts.project.cwd,a.cwd))||!ae.existsSync(n))continue;let u=await ae.readdirPromise(n,{withFileTypes:!0}),A=u.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(A.length===u.length)r.push(n);else for(let p of A)r.push(V.join(n,p.name))}return r}async unplugPackageIfNeeded(e,r,o,a,n){return this.shouldBeUnplugged(e,r,a)?this.unplugPackage(e,o,n):o.packageFs}shouldBeUnplugged(e,r,o){return typeof o.unplugged<"u"?o.unplugged:WIt.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(pk(e,r,o,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r,o){let a=_B(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new qu(a,{baseFs:r.packageFs,pathUtils:V}):(this.unpluggedPaths.add(a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let n=V.join(a,r.prefixPath,".ready");await ae.existsPromise(n)||(this.opts.project.storedBuildState.delete(e.locatorHash),await ae.mkdirPromise(a,{recursive:!0}),await ae.copyPromise(a,wt.dot,{baseFs:r.packageFs,overwrite:!1}),await ae.writeFilePromise(n,""))})),new An(a))}getPackageInformation(e){let r=Y.stringifyIdent(e),o=e.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${Y.prettyIdent(this.opts.project.configuration,e)})`);let n=a.get(o);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${Y.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){let r=Ye.getMapWithDefault(this.packageRegistry,"@@disk"),o=Zq(this.opts.project.cwd,e);return Ye.getFactoryWithDefault(r,o,()=>({packageLocation:o,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function Zq(t,e){let r=V.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function YIt(t){let e=await Nt.tryFind(t.prefixPath,{baseFs:t.packageFs})??new Nt,r=new Set(["preinstall","install","postinstall"]);for(let o of e.scripts.keys())r.has(o)||e.scripts.delete(o);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:zq(t),hasBindingGyp:Xq(t)}}}Ke();Ke();_t();var f1e=tt(Jo());var wh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new ot("This command can only be used if the `nodeLinker` option is set to `pnp`");await o.restoreInstallState();let u=new Set(this.patterns),A=this.patterns.map(b=>{let E=Y.parseDescriptor(b),R=E.range!=="unknown"?E:Y.makeDescriptor(E,"*");if(!Tr.validRange(R.range))throw new ot(`The range of the descriptor patterns must be a valid semver range (${Y.prettyDescriptor(r,R)})`);return L=>{let _=Y.stringifyIdent(L);return!f1e.default.isMatch(_,Y.stringifyIdent(R))||L.version&&!Tr.satisfiesWithPrereleases(L.version,R.range)?!1:(u.delete(b),!0)}}),p=()=>{let b=[];for(let E of o.storedPackages.values())!o.tryWorkspaceByLocator(E)&&!Y.isVirtualLocator(E)&&A.some(R=>R(E))&&b.push(E);return b},h=b=>{let E=new Set,R=[],L=(_,J)=>{if(!E.has(_.locatorHash)&&(E.add(_.locatorHash),!o.tryWorkspaceByLocator(_)&&A.some(re=>re(_))&&R.push(_),!(J>0&&!this.recursive)))for(let re of _.dependencies.values()){let oe=o.storedResolutions.get(re.descriptorHash);if(!oe)throw new Error("Assertion failed: The resolution should have been registered");let pe=o.storedPackages.get(oe);if(!pe)throw new Error("Assertion failed: The package should have been registered");L(pe,J+1)}};for(let _ of b)L(_.anchoredPackage,0);return R},C,w;if(this.all&&this.recursive?(C=p(),w="the project"):this.all?(C=h(o.workspaces),w="any workspace"):(C=h([a]),w="this workspace"),u.size>1)throw new ot(`Patterns ${ye.prettyList(r,u,ye.Type.CODE)} don't match any packages referenced by ${w}`);if(u.size>0)throw new ot(`Pattern ${ye.prettyList(r,u,ye.Type.CODE)} doesn't match any packages referenced by ${w}`);return C=Ye.sortMap(C,b=>Y.stringifyLocator(b)),(await Ct.start({configuration:r,stdout:this.context.stdout,json:this.json},async b=>{for(let E of C){let R=E.version??"unknown",L=o.topLevelWorkspace.manifest.ensureDependencyMeta(Y.makeDescriptor(E,R));L.unplugged=!0,b.reportInfo(0,`Will unpack ${Y.prettyLocator(r,E)} to ${ye.pretty(r,_B(E,{configuration:r}),ye.Type.PATH)}`),b.reportJson({locator:Y.stringifyLocator(E),version:R})}await o.topLevelWorkspace.persistManifest(),b.reportSeparator(),await o.install({cache:n,report:b})})).exitCode()}};wh.paths=[["unplug"]],wh.usage=it.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Ih=t=>({cjs:V.join(t.cwd,Lr.pnpCjs),data:V.join(t.cwd,Lr.pnpData),esmLoader:V.join(t.cwd,Lr.pnpEsmLoader)}),g1e=t=>/\s/.test(t)?JSON.stringify(t):t;async function KIt(t,e,r){let o=Ih(t),a=`--require ${g1e(Ae.fromPortablePath(o.cjs))}`;if(ae.existsSync(o.esmLoader)&&(a=`${a} --experimental-loader ${(0,h1e.pathToFileURL)(Ae.fromPortablePath(o.esmLoader)).href}`),o.cjs.includes(" ")&&p1e.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(ae.existsSync(o.cjs)){let n=e.NODE_OPTIONS||"",u=/\s*--require\s+\S*\.pnp\.c?js\s*/g,A=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;n=n.replace(u," ").replace(A," ").trim(),n=n?`${a} ${n}`:a,e.NODE_OPTIONS=n}}async function JIt(t,e){let r=Ih(t);e(r.cjs),e(r.data),e(r.esmLoader),e(t.configuration.get("pnpUnpluggedFolder"))}var VIt={hooks:{populateYarnPaths:JIt,setupScriptEnvironment:KIt},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:"STRING",default:"pnp"},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"}},linkers:[Ch],commands:[wh]},zIt=VIt;var B1e=tt(C1e());_t();var oj=tt(Ie("crypto")),v1e=tt(Ie("fs")),D1e=1,vi="node_modules",hk=".bin",S1e=".yarn-state.yml",pwt=1e3,aj=(o=>(o.CLASSIC="classic",o.HARDLINKS_LOCAL="hardlinks-local",o.HARDLINKS_GLOBAL="hardlinks-global",o))(aj||{}),qB=class{constructor(){this.installStateCache=new Map}getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let o=r.project.tryWorkspaceByLocator(e);if(o)return o.cwd;let a=await Ye.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await sj(r.project,{unrollAliases:!0}));if(a===null)throw new ot("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(Y.stringifyLocator(e));if(!n){let p=new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let u=n.locations.sort((p,h)=>p.split(V.sep).length-h.split(V.sep).length),A=V.join(r.project.configuration.startingCwd,vi);return u.find(p=>V.contains(A,p))||n.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=await Ye.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await sj(r.project,{unrollAliases:!0}));if(o===null)return null;let{locationRoot:a,segments:n}=gk(V.resolve(e),{skipPrefix:r.project.cwd}),u=o.locationTree.get(a);if(!u)return null;let A=u.locator;for(let p of n){if(u=u.children.get(p),!u)break;A=u.locator||A}return Y.parseLocator(A)}makeInstaller(e){return new ij(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},ij=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(e){this.customData=e}async installPackage(e,r){let o=V.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(e.locatorHash);if(typeof a>"u"&&(a=await hwt(e,r),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,a)),!Y.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let n=new Map,u=new Set;n.has(Y.stringifyIdent(e))||n.set(Y.stringifyIdent(e),e.reference);let A=e;if(Y.isVirtualLocator(e)){A=Y.devirtualizeLocator(e);for(let C of e.peerDependencies.values())n.set(Y.stringifyIdent(C),null),u.add(Y.stringifyIdent(C))}let p={packageLocation:`${Ae.fromPortablePath(o)}/`,packageDependencies:n,packagePeers:u,linkType:e.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(A.locatorHash,h),{packageLocation:o,buildDirective:null}}async attachInternalDependencies(e,r){let o=this.localStore.get(e.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let u=Y.areIdentsEqual(a,n)?n.reference:[Y.stringifyIdent(n),n.reference];o.pnpNode.packageDependencies.set(Y.stringifyIdent(a),u)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new pi({baseFs:new Ll({maxOpenFiles:80,readOnlyArchives:!0})}),r=await sj(this.opts.project),o=this.opts.project.configuration.get("nmMode");(r===null||o!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:o,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(v=>{var E;let b=this.opts.project.configuration.get("nmHoistingLimits");try{b=Ye.validateEnum(kB,((E=v.manifest.installConfig)==null?void 0:E.hoistingLimits)??b)}catch{let L=Y.prettyWorkspace(this.opts.project.configuration,v);this.opts.report.reportWarning(57,`${L}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(kB).join(", ")}, using default: "${b}"`)}return[v.relativeCwd,b]})),n=new Map(this.opts.project.workspaces.map(v=>{var E;let b=this.opts.project.configuration.get("nmSelfReferences");return b=((E=v.manifest.installConfig)==null?void 0:E.selfReferences)??b,[v.relativeCwd,b]})),u={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(v,b)=>Array.isArray(b)?{name:b[0],reference:b[1]}:{name:v,reference:b},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(v=>{let b=v.anchoredLocator;return{name:Y.stringifyIdent(v.locator),reference:b.reference}}),getPackageInformation:v=>{let b=v.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:Y.makeLocator(Y.parseIdent(v.name),v.reference),E=this.localStore.get(b.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return E.pnpNode},findPackageLocator:v=>{let b=this.opts.project.tryWorkspaceByCwd(Ae.toPortablePath(v));if(b!==null){let E=b.anchoredLocator;return{name:Y.stringifyIdent(E),reference:E.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:v=>Ae.fromPortablePath(pi.resolveVirtual(Ae.toPortablePath(v)))},{tree:A,errors:p,preserveSymlinksRequired:h}=FB(u,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!A){for(let{messageName:v,text:b}of p)this.opts.report.reportError(v,b);return}let C=Uq(A);await Cwt(r,C,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async v=>{let b=Y.parseLocator(v),E=this.localStore.get(b.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: Expected the slot to exist");return E.customPackageData.manifest}});let w=[];for(let[v,b]of C.entries()){if(Q1e(v))continue;let E=Y.parseLocator(v),R=this.localStore.get(E.locatorHash);if(typeof R>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(R.pkg))continue;let L=mA.extractBuildScripts(R.pkg,R.customPackageData,R.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});L.length!==0&&w.push({buildLocations:b.locations,locatorHash:E.locatorHash,buildDirective:L})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ye.pretty(this.opts.project.configuration,"--preserve-symlinks",ye.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:w}}};async function hwt(t,e){let r=await Nt.tryFind(e.prefixPath,{baseFs:e.packageFs})??new Nt,o=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())o.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:mA.hasBindingGyp(e)}}}async function gwt(t,e,r,o,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will | 650 | `).join("")}`,{unqualifiedPath:qe,extensions:Te})}}function ut(Me,Te,Qe){if(!Te)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let _e=c1e({name:Me,base:(0,Cm.pathToFileURL)(ue.fromPortablePath(Te)),conditions:Qe.conditions??re,readFileSyncFn:ne});if(_e instanceof URL)return be(ue.toPortablePath((0,Cm.fileURLToPath)(_e)),{extensions:Qe.extensions});if(_e.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return H(_e,Te,Qe)}function H(Me,Te,Qe={}){try{if(Me.startsWith("#"))return ut(Me,Te,Qe);let{considerBuiltins:_e,extensions:qe,conditions:At}=Qe,Oe=Z(Me,Te,{considerBuiltins:_e});if(Me==="pnpapi")return Oe;if(Oe===null)return null;let x=()=>Te!==null?ge(Te):!1,I=(!_e||!hk(Me))&&!x()?me(Me,Oe,At,Te):Oe;return be(I,{extensions:qe})}catch(_e){throw Object.prototype.hasOwnProperty.call(_e,"pnpCode")&&Object.assign(_e.data,{request:Au(Me),issuer:Te&&Au(Te)}),_e}}function yt(Me){let Te=z.normalize(Me),Qe=pi.resolveVirtual(Te);return Qe!==Te?Qe:null}return{VERSIONS:le,topLevel:Pe,getLocator:(Me,Te)=>Array.isArray(Te)?{name:Te[0],reference:Te[1]}:{name:Me,reference:Te},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let Me=[];for(let[Te,Qe]of v)for(let _e of Qe.keys())Te!==null&&_e!==null&&Me.push({name:Te,reference:_e});return Me},getPackageInformation:Me=>{let Te=g(Me);if(Te===null)return null;let Qe=ue.fromPortablePath(Te.packageLocation);return{...Te,packageLocation:Qe}},findPackageLocator:Me=>de(ue.toPortablePath(Me)),resolveToUnqualified:L("resolveToUnqualified",(Me,Te,Qe)=>{let _e=Te!==null?ue.toPortablePath(Te):null,qe=Z(ue.toPortablePath(Me),_e,Qe);return qe===null?null:ue.fromPortablePath(qe)}),resolveUnqualified:L("resolveUnqualified",(Me,Te)=>ue.fromPortablePath(be(ue.toPortablePath(Me),Te))),resolveRequest:L("resolveRequest",(Me,Te,Qe)=>{let _e=Te!==null?ue.toPortablePath(Te):null,qe=H(ue.toPortablePath(Me),_e,Qe);return qe===null?null:ue.fromPortablePath(qe)}),resolveVirtual:L("resolveVirtual",Me=>{let Te=yt(ue.toPortablePath(Me));return Te!==null?ue.fromPortablePath(Te):null})}}bt();var y1e=(t,e,r)=>{let o=MB(t),a=qq(o,{basePath:e}),n=ue.join(e,Lr.pnpCjs);return $q(a,{fakeFs:r,pnpapiResolution:n})};var tj=tt(E1e());_t();var CA={};Yt(CA,{checkAndReportManifestCompatibility:()=>w1e,checkManifestCompatibility:()=>I1e,extractBuildScripts:()=>gk,getExtractHint:()=>rj,hasBindingGyp:()=>nj});Ke();bt();function I1e(t){return Y.isPackageCompatible(t,As.getArchitectureSet())}function w1e(t,e,{configuration:r,report:o}){return I1e(t)?!0:(o==null||o.reportWarningOnce(76,`${Y.prettyLocator(r,t)} The ${As.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function gk(t,e,r,{configuration:o,report:a}){let n=[];for(let A of["preinstall","install","postinstall"])e.manifest.scripts.has(A)&&n.push([0,A]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&n.push([1,"node-gyp rebuild"]),n.length===0?[]:t.linkType!=="HARD"?(a==null||a.reportWarningOnce(6,`${Y.prettyLocator(o,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(a==null||a.reportInfoOnce(5,`${Y.prettyLocator(o,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!o.get("enableScripts")&&!r.built?(a==null||a.reportWarningOnce(4,`${Y.prettyLocator(o,t)} lists build scripts, but all build scripts have been disabled.`),[]):w1e(t,"build",{configuration:o,report:a})?n:[]}var iwt=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function rj(t){return t.packageFs.getExtractHint({relevantExtensions:iwt})}function nj(t){let e=z.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var VB={};Yt(VB,{getUnpluggedPath:()=>KB});Ke();bt();function KB(t,{configuration:e}){return z.resolve(e.get("pnpUnpluggedFolder"),Y.slugifyLocator(t))}var swt=new Set([Y.makeIdent(null,"open").identHash,Y.makeIdent(null,"opn").identHash]),Bh=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let o=vh(r.project).cjs;if(!ae.existsSync(o))throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=Ye.getFactoryWithDefault(this.pnpCache,o,()=>Ye.dynamicRequire(o,{cachingStrategy:Ye.CachingStrategy.FsTime})),n={name:Y.stringifyIdent(e),reference:e.reference},u=a.getPackageInformation(n);if(!u)throw new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return ue.toPortablePath(u.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=vh(r.project).cjs;if(!ae.existsSync(o))return null;let n=Ye.getFactoryWithDefault(this.pnpCache,o,()=>Ye.dynamicRequire(o,{cachingStrategy:Ye.CachingStrategy.FsTime})).findPackageLocator(ue.fromPortablePath(e));return n?Y.makeLocator(Y.parseIdent(n.name),n.reference):null}makeInstaller(e){return new Em(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},Em=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Ye.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}attachCustomData(e){this.customData=e}async installPackage(e,r,o){let a=Y.stringifyIdent(e),n=e.reference,u=!!this.opts.project.tryWorkspaceByLocator(e),A=Y.isVirtualLocator(e),p=e.peerDependencies.size>0&&!A,h=!p&&!u,E=!p&&e.linkType!=="SOFT",w,v;if(h||E){let re=A?Y.devirtualizeLocator(e):e;w=this.customData.store.get(re.locatorHash),typeof w>"u"&&(w=await owt(r),e.linkType==="HARD"&&this.customData.store.set(re.locatorHash,w)),w.manifest.type==="module"&&(this.isESMLoaderRequired=!0),v=this.opts.project.getDependencyMeta(re,e.version)}let b=h?gk(e,w,v,{configuration:this.opts.project.configuration,report:this.opts.report}):[],C=E?await this.unplugPackageIfNeeded(e,w,r,v,o):r.packageFs;if(z.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let R=z.resolve(C.getRealPath(),r.prefixPath),L=ij(this.opts.project.cwd,R),_=new Map,V=new Set;if(A){for(let re of e.peerDependencies.values())_.set(Y.stringifyIdent(re),null),V.add(Y.stringifyIdent(re));if(!u){let re=Y.devirtualizeLocator(e);this.virtualTemplates.set(re.locatorHash,{location:ij(this.opts.project.cwd,pi.resolveVirtual(R)),locator:re})}}return Ye.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:L,packageDependencies:_,packagePeers:V,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:R,buildDirective:b.length>0?b:null}}async attachInternalDependencies(e,r){let o=this.getPackageInformation(e);for(let[a,n]of r){let u=Y.areIdentsEqual(a,n)?n.reference:[Y.stringifyIdent(n),n.reference];o.packageDependencies.set(Y.stringifyIdent(a),u)}}async attachExternalDependents(e,r){for(let o of r)this.getDiskInformation(o).packageDependencies.set(Y.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=vh(this.opts.project);if(this.isEsmEnabled()||await ae.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await ae.removePromise(e.cjs),await ae.removePromise(e.data),await ae.removePromise(e.esmLoader),await ae.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:E,location:w}of this.virtualTemplates.values())Ye.getMapWithDefault(this.packageRegistry,Y.stringifyIdent(E)).set(E.reference,{packageLocation:w,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),o=this.opts.project.workspaces.map(({anchoredLocator:E})=>({name:Y.stringifyIdent(E),reference:E.reference})),a=r!=="none",n=[],u=new Map,A=Ye.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let E of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(E)&&n.push({name:Y.stringifyIdent(E),reference:E.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:o,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:u,ignorePattern:A,packageRegistry:p,shebang:h}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=vh(this.opts.project),o=await this.locateNodeModules(e.ignorePattern);if(o.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let n of o)await ae.removePromise(n)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let n=Kwe(e);await ae.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await ae.removePromise(r.data)}else{let{dataFile:n,loaderFile:u}=Vwe(e);await ae.changeFilePromise(r.cjs,u,{automaticNewlines:!0,mode:493}),await ae.changeFilePromise(r.data,n,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await ae.changeFilePromise(r.esmLoader,(0,tj.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await ae.removePromise(a);else for(let n of await ae.readdirPromise(a)){let u=z.resolve(a,n);this.unpluggedPaths.has(u)||await ae.removePromise(u)}}async locateNodeModules(e){let r=[],o=e?new RegExp(e):null;for(let a of this.opts.project.workspaces){let n=z.join(a.cwd,"node_modules");if(o&&o.test(z.relative(this.opts.project.cwd,a.cwd))||!ae.existsSync(n))continue;let u=await ae.readdirPromise(n,{withFileTypes:!0}),A=u.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(A.length===u.length)r.push(n);else for(let p of A)r.push(z.join(n,p.name))}return r}async unplugPackageIfNeeded(e,r,o,a,n){return this.shouldBeUnplugged(e,r,a)?this.unplugPackage(e,o,n):o.packageFs}shouldBeUnplugged(e,r,o){return typeof o.unplugged<"u"?o.unplugged:swt.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(gk(e,r,o,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r,o){let a=KB(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new ju(a,{baseFs:r.packageFs,pathUtils:z}):(this.unpluggedPaths.add(a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let n=z.join(a,r.prefixPath,".ready");await ae.existsPromise(n)||(this.opts.project.storedBuildState.delete(e.locatorHash),await ae.mkdirPromise(a,{recursive:!0}),await ae.copyPromise(a,wt.dot,{baseFs:r.packageFs,overwrite:!1}),await ae.writeFilePromise(n,""))})),new An(a))}getPackageInformation(e){let r=Y.stringifyIdent(e),o=e.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${Y.prettyIdent(this.opts.project.configuration,e)})`);let n=a.get(o);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${Y.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){let r=Ye.getMapWithDefault(this.packageRegistry,"@@disk"),o=ij(this.opts.project.cwd,e);return Ye.getFactoryWithDefault(r,o,()=>({packageLocation:o,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function ij(t,e){let r=z.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function owt(t){let e=await Nt.tryFind(t.prefixPath,{baseFs:t.packageFs})??new Nt,r=new Set(["preinstall","install","postinstall"]);for(let o of e.scripts.keys())r.has(o)||e.scripts.delete(o);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:rj(t),hasBindingGyp:nj(t)}}}Ke();Ke();_t();var B1e=tt(Jo());var Dh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new ot("This command can only be used if the `nodeLinker` option is set to `pnp`");await o.restoreInstallState();let u=new Set(this.patterns),A=this.patterns.map(b=>{let C=Y.parseDescriptor(b),R=C.range!=="unknown"?C:Y.makeDescriptor(C,"*");if(!Tr.validRange(R.range))throw new ot(`The range of the descriptor patterns must be a valid semver range (${Y.prettyDescriptor(r,R)})`);return L=>{let _=Y.stringifyIdent(L);return!B1e.default.isMatch(_,Y.stringifyIdent(R))||L.version&&!Tr.satisfiesWithPrereleases(L.version,R.range)?!1:(u.delete(b),!0)}}),p=()=>{let b=[];for(let C of o.storedPackages.values())!o.tryWorkspaceByLocator(C)&&!Y.isVirtualLocator(C)&&A.some(R=>R(C))&&b.push(C);return b},h=b=>{let C=new Set,R=[],L=(_,V)=>{if(!C.has(_.locatorHash)&&(C.add(_.locatorHash),!o.tryWorkspaceByLocator(_)&&A.some(re=>re(_))&&R.push(_),!(V>0&&!this.recursive)))for(let re of _.dependencies.values()){let oe=o.storedResolutions.get(re.descriptorHash);if(!oe)throw new Error("Assertion failed: The resolution should have been registered");let pe=o.storedPackages.get(oe);if(!pe)throw new Error("Assertion failed: The package should have been registered");L(pe,V+1)}};for(let _ of b)L(_.anchoredPackage,0);return R},E,w;if(this.all&&this.recursive?(E=p(),w="the project"):this.all?(E=h(o.workspaces),w="any workspace"):(E=h([a]),w="this workspace"),u.size>1)throw new ot(`Patterns ${ye.prettyList(r,u,ye.Type.CODE)} don't match any packages referenced by ${w}`);if(u.size>0)throw new ot(`Pattern ${ye.prettyList(r,u,ye.Type.CODE)} doesn't match any packages referenced by ${w}`);return E=Ye.sortMap(E,b=>Y.stringifyLocator(b)),(await Et.start({configuration:r,stdout:this.context.stdout,json:this.json},async b=>{for(let C of E){let R=C.version??"unknown",L=o.topLevelWorkspace.manifest.ensureDependencyMeta(Y.makeDescriptor(C,R));L.unplugged=!0,b.reportInfo(0,`Will unpack ${Y.prettyLocator(r,C)} to ${ye.pretty(r,KB(C,{configuration:r}),ye.Type.PATH)}`),b.reportJson({locator:Y.stringifyLocator(C),version:R})}await o.topLevelWorkspace.persistManifest(),b.reportSeparator(),await o.install({cache:n,report:b})})).exitCode()}};Dh.paths=[["unplug"]],Dh.usage=it.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var vh=t=>({cjs:z.join(t.cwd,Lr.pnpCjs),data:z.join(t.cwd,Lr.pnpData),esmLoader:z.join(t.cwd,Lr.pnpEsmLoader)}),S1e=t=>/\s/.test(t)?JSON.stringify(t):t;async function awt(t,e,r){let o=vh(t),a=`--require ${S1e(ue.fromPortablePath(o.cjs))}`;if(ae.existsSync(o.esmLoader)&&(a=`${a} --experimental-loader ${(0,D1e.pathToFileURL)(ue.fromPortablePath(o.esmLoader)).href}`),o.cjs.includes(" ")&&v1e.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(ae.existsSync(o.cjs)){let n=e.NODE_OPTIONS||"",u=/\s*--require\s+\S*\.pnp\.c?js\s*/g,A=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;n=n.replace(u," ").replace(A," ").trim(),n=n?`${a} ${n}`:a,e.NODE_OPTIONS=n}}async function lwt(t,e){let r=vh(t);e(r.cjs),e(r.data),e(r.esmLoader),e(t.configuration.get("pnpUnpluggedFolder"))}var cwt={hooks:{populateYarnPaths:lwt,setupScriptEnvironment:awt},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:"STRING",default:"pnp"},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"}},linkers:[Bh],commands:[Dh]},uwt=cwt;var T1e=tt(k1e());_t();var fj=tt(Ie("crypto")),N1e=tt(Ie("fs")),L1e=1,vi="node_modules",dk=".bin",O1e=".yarn-state.yml",Pwt=1e3,pj=(o=>(o.CLASSIC="classic",o.HARDLINKS_LOCAL="hardlinks-local",o.HARDLINKS_GLOBAL="hardlinks-global",o))(pj||{}),JB=class{constructor(){this.installStateCache=new Map}getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let o=r.project.tryWorkspaceByLocator(e);if(o)return o.cwd;let a=await Ye.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await Aj(r.project,{unrollAliases:!0}));if(a===null)throw new ot("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(Y.stringifyLocator(e));if(!n){let p=new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let u=n.locations.sort((p,h)=>p.split(z.sep).length-h.split(z.sep).length),A=z.join(r.project.configuration.startingCwd,vi);return u.find(p=>z.contains(A,p))||n.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=await Ye.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await Aj(r.project,{unrollAliases:!0}));if(o===null)return null;let{locationRoot:a,segments:n}=mk(z.resolve(e),{skipPrefix:r.project.cwd}),u=o.locationTree.get(a);if(!u)return null;let A=u.locator;for(let p of n){if(u=u.children.get(p),!u)break;A=u.locator||A}return Y.parseLocator(A)}makeInstaller(e){return new uj(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},uj=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(e){this.customData=e}async installPackage(e,r){let o=z.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(e.locatorHash);if(typeof a>"u"&&(a=await xwt(e,r),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,a)),!Y.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let n=new Map,u=new Set;n.has(Y.stringifyIdent(e))||n.set(Y.stringifyIdent(e),e.reference);let A=e;if(Y.isVirtualLocator(e)){A=Y.devirtualizeLocator(e);for(let E of e.peerDependencies.values())n.set(Y.stringifyIdent(E),null),u.add(Y.stringifyIdent(E))}let p={packageLocation:`${ue.fromPortablePath(o)}/`,packageDependencies:n,packagePeers:u,linkType:e.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(A.locatorHash,h),{packageLocation:o,buildDirective:null}}async attachInternalDependencies(e,r){let o=this.localStore.get(e.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let u=Y.areIdentsEqual(a,n)?n.reference:[Y.stringifyIdent(n),n.reference];o.pnpNode.packageDependencies.set(Y.stringifyIdent(a),u)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new pi({baseFs:new Ul({maxOpenFiles:80,readOnlyArchives:!0})}),r=await Aj(this.opts.project),o=this.opts.project.configuration.get("nmMode");(r===null||o!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:o,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(v=>{var C;let b=this.opts.project.configuration.get("nmHoistingLimits");try{b=Ye.validateEnum(NB,((C=v.manifest.installConfig)==null?void 0:C.hoistingLimits)??b)}catch{let L=Y.prettyWorkspace(this.opts.project.configuration,v);this.opts.report.reportWarning(57,`${L}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(NB).join(", ")}, using default: "${b}"`)}return[v.relativeCwd,b]})),n=new Map(this.opts.project.workspaces.map(v=>{var C;let b=this.opts.project.configuration.get("nmSelfReferences");return b=((C=v.manifest.installConfig)==null?void 0:C.selfReferences)??b,[v.relativeCwd,b]})),u={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(v,b)=>Array.isArray(b)?{name:b[0],reference:b[1]}:{name:v,reference:b},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(v=>{let b=v.anchoredLocator;return{name:Y.stringifyIdent(v.locator),reference:b.reference}}),getPackageInformation:v=>{let b=v.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:Y.makeLocator(Y.parseIdent(v.name),v.reference),C=this.localStore.get(b.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return C.pnpNode},findPackageLocator:v=>{let b=this.opts.project.tryWorkspaceByCwd(ue.toPortablePath(v));if(b!==null){let C=b.anchoredLocator;return{name:Y.stringifyIdent(C),reference:C.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:v=>ue.fromPortablePath(pi.resolveVirtual(ue.toPortablePath(v)))},{tree:A,errors:p,preserveSymlinksRequired:h}=LB(u,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!A){for(let{messageName:v,text:b}of p)this.opts.report.reportError(v,b);return}let E=_q(A);await Twt(r,E,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async v=>{let b=Y.parseLocator(v),C=this.localStore.get(b.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");return C.customPackageData.manifest}});let w=[];for(let[v,b]of E.entries()){if(H1e(v))continue;let C=Y.parseLocator(v),R=this.localStore.get(C.locatorHash);if(typeof R>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(R.pkg))continue;let L=CA.extractBuildScripts(R.pkg,R.customPackageData,R.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});L.length!==0&&w.push({buildLocations:b.locations,locatorHash:C.locatorHash,buildDirective:L})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ye.pretty(this.opts.project.configuration,"--preserve-symlinks",ye.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:w}}};async function xwt(t,e){let r=await Nt.tryFind(e.prefixPath,{baseFs:e.packageFs})??new Nt,o=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())o.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:CA.hasBindingGyp(e)}}}async function bwt(t,e,r,o,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will |
649 | `,n+=`# cause your node_modules installation to become invalidated. | 651 | `,n+=`# cause your node_modules installation to become invalidated. |
650 | `,n+=` | 652 | `,n+=` |
651 | `,n+=`__metadata: | 653 | `,n+=`__metadata: |
652 | `,n+=` version: ${D1e} | 654 | `,n+=` version: ${L1e} |
653 | `,n+=` nmMode: ${o.value} | 655 | `,n+=` nmMode: ${o.value} |
654 | `;let u=Array.from(e.keys()).sort(),A=Y.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let C of u){let w=e.get(C);n+=` | 656 | `;let u=Array.from(e.keys()).sort(),A=Y.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let E of u){let w=e.get(E);n+=` |
655 | `,n+=`${JSON.stringify(C)}: | 657 | `,n+=`${JSON.stringify(E)}: |
656 | `,n+=` locations: | 658 | `,n+=` locations: |
657 | `;for(let v of w.locations){let b=V.contains(t.cwd,v);if(b===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` - ${JSON.stringify(b)} | 659 | `;for(let v of w.locations){let b=z.contains(t.cwd,v);if(b===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` - ${JSON.stringify(b)} |
658 | `}if(w.aliases.length>0){n+=` aliases: | 660 | `}if(w.aliases.length>0){n+=` aliases: |
659 | `;for(let v of w.aliases)n+=` - ${JSON.stringify(v)} | 661 | `;for(let v of w.aliases)n+=` - ${JSON.stringify(v)} |
660 | `}if(C===A&&r.size>0){n+=` bin: | 662 | `}if(E===A&&r.size>0){n+=` bin: |
661 | `;for(let[v,b]of r){let E=V.contains(t.cwd,v);if(E===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` ${JSON.stringify(E)}: | 663 | `;for(let[v,b]of r){let C=z.contains(t.cwd,v);if(C===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` ${JSON.stringify(C)}: |
662 | `;for(let[R,L]of b){let _=V.relative(V.join(v,vi),L);n+=` ${JSON.stringify(R)}: ${JSON.stringify(_)} | 664 | `;for(let[R,L]of b){let _=z.relative(z.join(v,vi),L);n+=` ${JSON.stringify(R)}: ${JSON.stringify(_)} |
663 | `}}}}let p=t.cwd,h=V.join(p,vi,S1e);a&&await ae.removePromise(h),await ae.changeFilePromise(h,n,{automaticNewlines:!0})}async function sj(t,{unrollAliases:e=!1}={}){let r=t.cwd,o=V.join(r,vi,S1e),a;try{a=await ae.statPromise(o)}catch{}if(!a)return null;let n=Yi(await ae.readFilePromise(o,"utf8"));if(n.__metadata.version>D1e)return null;let u=n.__metadata.nmMode||"classic",A=new Map,p=new Map;delete n.__metadata;for(let[h,C]of Object.entries(n)){let w=C.locations.map(b=>V.join(r,b)),v=C.bin;if(v)for(let[b,E]of Object.entries(v)){let R=V.join(r,Ae.toPortablePath(b)),L=Ye.getMapWithDefault(p,R);for(let[_,J]of Object.entries(E))L.set(Li(_),Ae.toPortablePath([R,vi,J].join(V.sep)))}if(A.set(h,{target:wt.dot,linkType:"HARD",locations:w,aliases:C.aliases||[]}),e&&C.aliases)for(let b of C.aliases){let{scope:E,name:R}=Y.parseLocator(h),L=Y.makeLocator(Y.makeIdent(E,R),b),_=Y.stringifyLocator(L);A.set(_,{target:wt.dot,linkType:"HARD",locations:w,aliases:[]})}}return{locatorMap:A,binSymlinks:p,locationTree:P1e(A,{skipPrefix:t.cwd}),nmMode:u,mtimeMs:a.mtimeMs}}var LC=async(t,e)=>{if(t.split(V.sep).indexOf(vi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop){let o=e.allowSymlink?await ae.statPromise(t):await ae.lstatPromise(t);if(e.allowSymlink&&!o.isDirectory()||!e.allowSymlink&&o.isSymbolicLink()){await ae.unlinkPromise(t);return}}let r=await ae.readdirPromise(t,{withFileTypes:!0});for(let o of r){let a=V.join(t,Li(o.name));o.isDirectory()?(o.name!==vi||e&&e.innerLoop)&&await LC(a,{innerLoop:!0,contentsOnly:!1}):await ae.unlinkPromise(a)}e.contentsOnly||await ae.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},I1e=4,gk=(t,{skipPrefix:e})=>{let r=V.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let o=r.split(V.sep).filter(p=>p!==""),a=o.indexOf(vi),n=o.slice(0,a).join(V.sep),u=V.join(e,n),A=o.slice(a);return{locationRoot:u,segments:A}},P1e=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let o=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of t.entries()){if(n.linkType==="SOFT"&&V.contains(e,n.target)!==null){let A=Ye.getFactoryWithDefault(r,n.target,o);A.locator=a,A.linkType=n.linkType}for(let u of n.locations){let{locationRoot:A,segments:p}=gk(u,{skipPrefix:e}),h=Ye.getFactoryWithDefault(r,A,o);for(let C=0;C<p.length;++C){let w=p[C];if(w!=="."){let v=Ye.getFactoryWithDefault(h.children,w,o);h.children.set(w,v),h=v}C===p.length-1&&(h.locator=a,h.linkType=n.linkType)}}}return r},lj=async(t,e,r)=>{if(process.platform==="win32"&&r==="junctions"){let o;try{o=await ae.lstatPromise(t)}catch{}if(!o||o.isDirectory()){await ae.symlinkPromise(t,e,"junction");return}}await ae.symlinkPromise(V.relative(V.dirname(e),t),e)};async function x1e(t,e,r){let o=V.join(t,Li(`${oj.default.randomBytes(16).toString("hex")}.tmp`));try{await ae.writeFilePromise(o,r);try{await ae.linkPromise(o,e)}catch{}}finally{await ae.unlinkPromise(o)}}async function dwt({srcPath:t,dstPath:e,entry:r,globalHardlinksStore:o,baseFs:a,nmMode:n}){if(r.kind===b1e.FILE){if(n.value==="hardlinks-global"&&o&&r.digest){let A=V.join(o,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await ae.statPromise(A);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs<r.mtimeMs-pwt))if(await bn.checksumFile(A,{baseFs:ae,algorithm:"sha1"})!==r.digest){let w=V.join(o,Li(`${oj.default.randomBytes(16).toString("hex")}.tmp`));await ae.renamePromise(A,w);let v=await a.readFilePromise(t);await ae.writeFilePromise(w,v);try{await ae.linkPromise(w,A),r.mtimeMs=new Date().getTime(),await ae.unlinkPromise(w)}catch{}}else r.mtimeMs||(r.mtimeMs=Math.ceil(h.mtimeMs));await ae.linkPromise(A,e),p=!0}catch{p=!1}if(!p){let h=await a.readFilePromise(t);await x1e(o,A,h),r.mtimeMs=new Date().getTime();try{await ae.linkPromise(A,e)}catch(C){C&&C.code&&C.code=="EXDEV"&&(n.value="hardlinks-local",await a.copyFilePromise(t,e))}}}else await a.copyFilePromise(t,e);let u=r.mode&511;u!==420&&await ae.chmodPromise(e,u)}}var b1e=(o=>(o.FILE="file",o.DIRECTORY="directory",o.SYMLINK="symlink",o))(b1e||{}),mwt=async(t,e,{baseFs:r,globalHardlinksStore:o,nmMode:a,windowsLinkType:n,packageChecksum:u})=>{await ae.mkdirPromise(t,{recursive:!0});let A=async(C=wt.dot)=>{let w=V.join(e,C),v=await r.readdirPromise(w,{withFileTypes:!0}),b=new Map;for(let E of v){let R=V.join(C,E.name),L,_=V.join(w,E.name);if(E.isFile()){if(L={kind:"file",mode:(await r.lstatPromise(_)).mode},a.value==="hardlinks-global"){let J=await bn.checksumFile(_,{baseFs:r,algorithm:"sha1"});L.digest=J}}else if(E.isDirectory())L={kind:"directory"};else if(E.isSymbolicLink())L={kind:"symlink",symlinkTo:await r.readlinkPromise(_)};else throw new Error(`Unsupported file type (file: ${_}, mode: 0o${await r.statSync(_).mode.toString(8).padStart(6,"0")})`);if(b.set(R,L),E.isDirectory()&&R!==vi){let J=await A(R);for(let[re,oe]of J)b.set(re,oe)}}return b},p;if(a.value==="hardlinks-global"&&o&&u){let C=V.join(o,u.substring(0,2),`${u.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await ae.readFilePromise(C,"utf8"))))}catch{p=await A()}}else p=await A();let h=!1;for(let[C,w]of p){let v=V.join(e,C),b=V.join(t,C);if(w.kind==="directory")await ae.mkdirPromise(b,{recursive:!0});else if(w.kind==="file"){let E=w.mtimeMs;await dwt({srcPath:v,dstPath:b,entry:w,nmMode:a,baseFs:r,globalHardlinksStore:o}),w.mtimeMs!==E&&(h=!0)}else w.kind==="symlink"&&await lj(V.resolve(V.dirname(b),w.symlinkTo),b,n)}if(a.value==="hardlinks-global"&&o&&h&&u){let C=V.join(o,u.substring(0,2),`${u.substring(2)}.json`);await ae.removePromise(C),await x1e(o,C,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function ywt(t,e,r,o){let a=new Map,n=new Map,u=new Map,A=!1,p=(h,C,w,v,b)=>{let E=!0,R=V.join(h,C),L=new Set;if(C===vi||C.startsWith("@")){let J;try{J=ae.statSync(R)}catch{}E=!!J,J?J.mtimeMs>r?(A=!0,L=new Set(ae.readdirSync(R))):L=new Set(w.children.get(C).children.keys()):A=!0;let re=e.get(h);if(re){let oe=V.join(h,vi,hk),pe;try{pe=ae.statSync(oe)}catch{}if(!pe)A=!0;else if(pe.mtimeMs>r){A=!0;let he=new Set(ae.readdirSync(oe)),ve=new Map;n.set(h,ve);for(let[ge,le]of re)he.has(ge)&&ve.set(ge,le)}else n.set(h,re)}}else E=b.has(C);let _=w.children.get(C);if(E){let{linkType:J,locator:re}=_,oe={children:new Map,linkType:J,locator:re};if(v.children.set(C,oe),re){let pe=Ye.getSetWithDefault(u,re);pe.add(R),u.set(re,pe)}for(let pe of _.children.keys())p(R,pe,_,oe,L)}else _.locator&&o.storedBuildState.delete(Y.parseLocator(_.locator).locatorHash)};for(let[h,C]of t){let{linkType:w,locator:v}=C,b={children:new Map,linkType:w,locator:v};if(a.set(h,b),v){let E=Ye.getSetWithDefault(u,C.locator);E.add(h),u.set(C.locator,E)}C.children.has(vi)&&p(h,vi,C,b,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:u,installChangedByUser:A}}function Q1e(t){let e=Y.parseDescriptor(t);return Y.isVirtualDescriptor(e)&&(e=Y.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Ewt(t,e,r,{loadManifest:o}){let a=new Map;for(let[A,{locations:p}]of t){let h=Q1e(A)?null:await o(A,p[0]),C=new Map;if(h)for(let[w,v]of h.bin){let b=V.join(p[0],v);v!==""&&ae.existsSync(b)&&C.set(w,v)}a.set(A,C)}let n=new Map,u=(A,p,h)=>{let C=new Map,w=V.contains(r,A);if(h.locator&&w!==null){let v=a.get(h.locator);for(let[b,E]of v){let R=V.join(A,Ae.toPortablePath(E));C.set(Li(b),R)}for(let[b,E]of h.children){let R=V.join(A,b),L=u(R,R,E);L.size>0&&n.set(A,new Map([...n.get(A)||new Map,...L]))}}else for(let[v,b]of h.children){let E=u(V.join(A,v),p,b);for(let[R,L]of E)C.set(R,L)}return C};for(let[A,p]of e){let h=u(A,A,p);h.size>0&&n.set(A,new Map([...n.get(A)||new Map,...h]))}return n}var w1e=(t,e)=>{if(!t||!e)return t===e;let r=Y.parseLocator(t);Y.isVirtualLocator(r)&&(r=Y.devirtualizeLocator(r));let o=Y.parseLocator(e);return Y.isVirtualLocator(o)&&(o=Y.devirtualizeLocator(o)),Y.areLocatorsEqual(r,o)};function cj(t){return V.join(t.get("globalFolder"),"store")}async function Cwt(t,e,{baseFs:r,project:o,report:a,loadManifest:n,realLocatorChecksums:u}){let A=V.join(o.cwd,vi),{locationTree:p,binSymlinks:h,locatorLocations:C,installChangedByUser:w}=ywt(t.locationTree,t.binSymlinks,t.mtimeMs,o),v=P1e(e,{skipPrefix:o.cwd}),b=[],E=async({srcDir:le,dstDir:Pe,linkType:g,globalHardlinksStore:De,nmMode:Ee,windowsLinkType:de,packageChecksum:ne})=>{let Z=(async()=>{try{g==="SOFT"?(await ae.mkdirPromise(V.dirname(Pe),{recursive:!0}),await lj(V.resolve(le),Pe,de)):await mwt(Pe,le,{baseFs:r,globalHardlinksStore:De,nmMode:Ee,windowsLinkType:de,packageChecksum:ne})}catch(me){throw me.message=`While persisting ${le} -> ${Pe} ${me.message}`,me}finally{oe.tick()}})().then(()=>b.splice(b.indexOf(Z),1));b.push(Z),b.length>I1e&&await Promise.race(b)},R=async(le,Pe,g)=>{let De=(async()=>{let Ee=async(de,ne,Z)=>{try{Z.innerLoop||await ae.mkdirPromise(ne,{recursive:!0});let me=await ae.readdirPromise(de,{withFileTypes:!0});for(let be of me){if(!Z.innerLoop&&be.name===hk)continue;let ut=V.join(de,be.name),H=V.join(ne,be.name);be.isDirectory()?(be.name!==vi||Z&&Z.innerLoop)&&(await ae.mkdirPromise(H,{recursive:!0}),await Ee(ut,H,{...Z,innerLoop:!0})):ve.value==="hardlinks-local"||ve.value==="hardlinks-global"?await ae.linkPromise(ut,H):await ae.copyFilePromise(ut,H,v1e.default.constants.COPYFILE_FICLONE)}}catch(me){throw Z.innerLoop||(me.message=`While cloning ${de} -> ${ne} ${me.message}`),me}finally{Z.innerLoop||oe.tick()}};await Ee(le,Pe,g)})().then(()=>b.splice(b.indexOf(De),1));b.push(De),b.length>I1e&&await Promise.race(b)},L=async(le,Pe,g)=>{if(g)for(let[De,Ee]of Pe.children){let de=g.children.get(De);await L(V.join(le,De),Ee,de)}else{Pe.children.has(vi)&&await LC(V.join(le,vi),{contentsOnly:!1});let De=V.basename(le)===vi&&v.has(V.join(V.dirname(le),V.sep));await LC(le,{contentsOnly:le===A,allowSymlink:De})}};for(let[le,Pe]of p){let g=v.get(le);for(let[De,Ee]of Pe.children){if(De===".")continue;let de=g&&g.children.get(De),ne=V.join(le,De);await L(ne,Ee,de)}}let _=async(le,Pe,g)=>{if(g){w1e(Pe.locator,g.locator)||await LC(le,{contentsOnly:Pe.linkType==="HARD"});for(let[De,Ee]of Pe.children){let de=g.children.get(De);await _(V.join(le,De),Ee,de)}}else{Pe.children.has(vi)&&await LC(V.join(le,vi),{contentsOnly:!0});let De=V.basename(le)===vi&&v.has(V.join(V.dirname(le),V.sep));await LC(le,{contentsOnly:Pe.linkType==="HARD",allowSymlink:De})}};for(let[le,Pe]of v){let g=p.get(le);for(let[De,Ee]of Pe.children){if(De===".")continue;let de=g&&g.children.get(De);await _(V.join(le,De),Ee,de)}}let J=new Map,re=[];for(let[le,Pe]of C)for(let g of Pe){let{locationRoot:De,segments:Ee}=gk(g,{skipPrefix:o.cwd}),de=v.get(De),ne=De;if(de){for(let Z of Ee)if(ne=V.join(ne,Z),de=de.children.get(Z),!de)break;if(de){let Z=w1e(de.locator,le),me=e.get(de.locator),be=me.target,ut=ne,H=me.linkType;if(Z)J.has(be)||J.set(be,ut);else if(be!==ut){let yt=Y.parseLocator(de.locator);Y.isVirtualLocator(yt)&&(yt=Y.devirtualizeLocator(yt)),re.push({srcDir:be,dstDir:ut,linkType:H,realLocatorHash:yt.locatorHash})}}}}for(let[le,{locations:Pe}]of e.entries())for(let g of Pe){let{locationRoot:De,segments:Ee}=gk(g,{skipPrefix:o.cwd}),de=p.get(De),ne=v.get(De),Z=De,me=e.get(le),be=Y.parseLocator(le);Y.isVirtualLocator(be)&&(be=Y.devirtualizeLocator(be));let ut=be.locatorHash,H=me.target,yt=g;if(H===yt)continue;let Me=me.linkType;for(let Te of Ee)ne=ne.children.get(Te);if(!de)re.push({srcDir:H,dstDir:yt,linkType:Me,realLocatorHash:ut});else for(let Te of Ee)if(Z=V.join(Z,Te),de=de.children.get(Te),!de){re.push({srcDir:H,dstDir:yt,linkType:Me,realLocatorHash:ut});break}}let oe=Vs.progressViaCounter(re.length),pe=a.reportProgress(oe),he=o.configuration.get("nmMode"),ve={value:he},ge=o.configuration.get("winLinkType");try{let le=ve.value==="hardlinks-global"?`${cj(o.configuration)}/v1`:null;if(le&&!await ae.existsPromise(le)){await ae.mkdirpPromise(le);for(let g=0;g<256;g++)await ae.mkdirPromise(V.join(le,g.toString(16).padStart(2,"0")))}for(let g of re)(g.linkType==="SOFT"||!J.has(g.srcDir))&&(J.set(g.srcDir,g.dstDir),await E({...g,globalHardlinksStore:le,nmMode:ve,windowsLinkType:ge,packageChecksum:u.get(g.realLocatorHash)||null}));await Promise.all(b),b.length=0;for(let g of re){let De=J.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==De&&await R(De,g.dstDir,{nmMode:ve})}await Promise.all(b),await ae.mkdirPromise(A,{recursive:!0});let Pe=await Ewt(e,v,o.cwd,{loadManifest:n});await Iwt(h,Pe,o.cwd,ge),await gwt(o,e,Pe,ve,{installChangedByUser:w}),he=="hardlinks-global"&&ve.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{pe.stop()}}async function Iwt(t,e,r,o){for(let a of t.keys()){if(V.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!e.has(a)){let n=V.join(a,vi,hk);await ae.removePromise(n)}}for(let[a,n]of e){if(V.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let u=V.join(a,vi,hk),A=t.get(a)||new Map;await ae.mkdirPromise(u,{recursive:!0});for(let p of A.keys())n.has(p)||(await ae.removePromise(V.join(u,p)),process.platform==="win32"&&await ae.removePromise(V.join(u,Li(`${p}.cmd`))));for(let[p,h]of n){let C=A.get(p),w=V.join(u,p);C!==h&&(process.platform==="win32"?await(0,B1e.default)(Ae.fromPortablePath(h),Ae.fromPortablePath(w),{createPwshFile:!1}):(await ae.removePromise(w),await lj(h,w,o),V.contains(r,await ae.realpathPromise(h))!==null&&await ae.chmodPromise(h,493)))}}}Ke();bt();Oc();var jB=class extends Ch{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new uj(r)}},uj=class extends dm{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let o=new pi({baseFs:new Ll({maxOpenFiles:80,readOnlyArchives:!0})}),a=a1e(r,this.opts.project.cwd,o),{tree:n,errors:u}=FB(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:w,text:v}of u)this.opts.report.reportError(w,v);return}let A=new Map;r.fallbackPool=A;let p=(w,v)=>{let b=Y.parseLocator(v.locator),E=Y.stringifyIdent(b);E===w?A.set(w,b.reference):A.set(w,[E,b.reference])},h=V.join(this.opts.project.cwd,Lr.nodeModules),C=n.get(h);if(!(typeof C>"u")){if("target"in C)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let w of C.dirList){let v=V.join(h,w),b=n.get(v);if(typeof b>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in b)p(w,b);else for(let E of b.dirList){let R=V.join(v,E),L=n.get(R);if(typeof L>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in L)p(`${w}/${E}`,L);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var wwt={hooks:{cleanGlobalArtifacts:async t=>{let e=cj(t);await ae.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:"BOOLEAN",default:!0}},linkers:[qB,jB]},Bwt=wwt;var l9={};Yt(l9,{NpmHttpFetcher:()=>WB,NpmRemapResolver:()=>YB,NpmSemverFetcher:()=>gl,NpmSemverResolver:()=>KB,NpmTagResolver:()=>JB,default:()=>kBt,npmConfigUtils:()=>Gn,npmHttpUtils:()=>an,npmPublishUtils:()=>JC});Ke();var N1e=tt(ii());var _n="npm:";var an={};Yt(an,{AuthType:()=>T1e,customPackageError:()=>rp,del:()=>xwt,get:()=>fu,getIdentUrl:()=>vh,handleInvalidAuthenticationError:()=>Bh,post:()=>Swt,put:()=>Pwt});Ke();Ke();var hj=tt(Y1()),R1e=Ie("url");var Gn={};Yt(Gn,{RegistryType:()=>k1e,getAuditRegistry:()=>vwt,getAuthConfiguration:()=>pj,getDefaultRegistry:()=>GB,getPublishRegistry:()=>Dwt,getRegistryConfiguration:()=>F1e,getScopeConfiguration:()=>fj,getScopeRegistry:()=>tp,normalizeRegistry:()=>yA});var k1e=(o=>(o.AUDIT_REGISTRY="npmAuditRegistry",o.FETCH_REGISTRY="npmRegistryServer",o.PUBLISH_REGISTRY="npmPublishRegistry",o))(k1e||{});function yA(t){return t.replace(/\/$/,"")}function vwt({configuration:t}){return GB({configuration:t,type:"npmAuditRegistry"})}function Dwt(t,{configuration:e}){var r;return(r=t.publishConfig)!=null&&r.registry?yA(t.publishConfig.registry):t.name?tp(t.name.scope,{configuration:e,type:"npmPublishRegistry"}):GB({configuration:e,type:"npmPublishRegistry"})}function tp(t,{configuration:e,type:r="npmRegistryServer"}){let o=fj(t,{configuration:e});if(o===null)return GB({configuration:e,type:r});let a=o.get(r);return a===null?GB({configuration:e,type:r}):yA(a)}function GB({configuration:t,type:e="npmRegistryServer"}){let r=t.get(e);return yA(r!==null?r:t.get("npmRegistryServer"))}function F1e(t,{configuration:e}){let r=e.get("npmRegistries"),o=yA(t),a=r.get(o);if(typeof a<"u")return a;let n=r.get(o.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}function fj(t,{configuration:e}){if(t===null)return null;let o=e.get("npmScopes").get(t);return o||null}function pj(t,{configuration:e,ident:r}){let o=r&&fj(r.scope,{configuration:e});return(o==null?void 0:o.get("npmAuthIdent"))||(o==null?void 0:o.get("npmAuthToken"))?o:F1e(t,{configuration:e})||e}var T1e=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(T1e||{});async function Bh(t,{attemptedAs:e,registry:r,headers:o,configuration:a}){var n,u;if(mk(t))throw new Jt(41,"Invalid OTP token");if(((n=t.originalError)==null?void 0:n.name)==="HTTPError"&&((u=t.originalError)==null?void 0:u.response.statusCode)===401)throw new Jt(41,`Invalid authentication (${typeof e!="string"?`as ${await Qwt(r,o,{configuration:a})}`:`attempted as ${e}`})`)}function rp(t,e){var o;let r=(o=t.response)==null?void 0:o.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${ye.applyHyperlink(e,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function vh(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function fu(t,{configuration:e,headers:r,ident:o,authType:a,registry:n,...u}){if(o&&typeof n>"u"&&(n=tp(o.scope,{configuration:e})),o&&o.scope&&typeof a>"u"&&(a=1),typeof n!="string")throw new Error("Assertion failed: The registry should be a string");let A=await dk(n,{authType:a,configuration:e,ident:o});A&&(r={...r,authorization:A});try{return await ln.get(t.charAt(0)==="/"?`${n}${t}`:t,{configuration:e,headers:r,...u})}catch(p){throw await Bh(p,{registry:n,configuration:e,headers:r}),p}}async function Swt(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){if(n&&typeof A>"u"&&(A=tp(n.scope,{configuration:o})),typeof A!="string")throw new Error("Assertion failed: The registry should be a string");let C=await dk(A,{authType:u,configuration:o,ident:n});C&&(a={...a,authorization:C}),p&&(a={...a,...OC(p)});try{return await ln.post(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!mk(w)||p)throw await Bh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await gj(w,{configuration:o});let v={...a,...OC(p)};try{return await ln.post(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(b){throw await Bh(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function Pwt(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){if(n&&typeof A>"u"&&(A=tp(n.scope,{configuration:o})),typeof A!="string")throw new Error("Assertion failed: The registry should be a string");let C=await dk(A,{authType:u,configuration:o,ident:n});C&&(a={...a,authorization:C}),p&&(a={...a,...OC(p)});try{return await ln.put(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!mk(w))throw await Bh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await gj(w,{configuration:o});let v={...a,...OC(p)};try{return await ln.put(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(b){throw await Bh(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function xwt(t,{attemptedAs:e,configuration:r,headers:o,ident:a,authType:n=3,registry:u,otp:A,...p}){if(a&&typeof u>"u"&&(u=tp(a.scope,{configuration:r})),typeof u!="string")throw new Error("Assertion failed: The registry should be a string");let h=await dk(u,{authType:n,configuration:r,ident:a});h&&(o={...o,authorization:h}),A&&(o={...o,...OC(A)});try{return await ln.del(u+t,{configuration:r,headers:o,...p})}catch(C){if(!mk(C)||A)throw await Bh(C,{attemptedAs:e,registry:u,configuration:r,headers:o}),C;A=await gj(C,{configuration:r});let w={...o,...OC(A)};try{return await ln.del(`${u}${t}`,{configuration:r,headers:w,...p})}catch(v){throw await Bh(v,{attemptedAs:e,registry:u,configuration:r,headers:o}),v}}}async function dk(t,{authType:e=2,configuration:r,ident:o}){let a=pj(t,{configuration:r,ident:o}),n=bwt(a,e);if(!n)return null;let u=await r.reduceHook(A=>A.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:o});if(u)return u;if(a.get("npmAuthToken"))return`Bearer ${a.get("npmAuthToken")}`;if(a.get("npmAuthIdent")){let A=a.get("npmAuthIdent");return A.includes(":")?`Basic ${Buffer.from(A).toString("base64")}`:`Basic ${A}`}if(n&&e!==1)throw new Jt(33,"No authentication configured for request");return null}function bwt(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function Qwt(t,e,{configuration:r}){if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(await ln.get(new R1e.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function gj(t,{configuration:e}){var a;let r=(a=t.originalError)==null?void 0:a.response.headers["npm-notice"];if(r&&(await Ct.start({configuration:e,stdout:process.stdout,includeFooter:!1},async n=>{if(n.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,ye.pretty(e,"$1",ye.Type.URL))),!process.env.YARN_IS_TEST_ENV){let u=r.match(/open (https?:\/\/\S+)/i);if(u&&As.openUrl){let{openNow:A}=await(0,hj.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});A&&(await As.openUrl(u[1])||(n.reportSeparator(),n.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` | 665 | `}}}}let p=t.cwd,h=z.join(p,vi,O1e);a&&await ae.removePromise(h),await ae.changeFilePromise(h,n,{automaticNewlines:!0})}async function Aj(t,{unrollAliases:e=!1}={}){let r=t.cwd,o=z.join(r,vi,O1e),a;try{a=await ae.statPromise(o)}catch{}if(!a)return null;let n=Yi(await ae.readFilePromise(o,"utf8"));if(n.__metadata.version>L1e)return null;let u=n.__metadata.nmMode||"classic",A=new Map,p=new Map;delete n.__metadata;for(let[h,E]of Object.entries(n)){let w=E.locations.map(b=>z.join(r,b)),v=E.bin;if(v)for(let[b,C]of Object.entries(v)){let R=z.join(r,ue.toPortablePath(b)),L=Ye.getMapWithDefault(p,R);for(let[_,V]of Object.entries(C))L.set(Li(_),ue.toPortablePath([R,vi,V].join(z.sep)))}if(A.set(h,{target:wt.dot,linkType:"HARD",locations:w,aliases:E.aliases||[]}),e&&E.aliases)for(let b of E.aliases){let{scope:C,name:R}=Y.parseLocator(h),L=Y.makeLocator(Y.makeIdent(C,R),b),_=Y.stringifyLocator(L);A.set(_,{target:wt.dot,linkType:"HARD",locations:w,aliases:[]})}}return{locatorMap:A,binSymlinks:p,locationTree:M1e(A,{skipPrefix:t.cwd}),nmMode:u,mtimeMs:a.mtimeMs}}var _E=async(t,e)=>{if(t.split(z.sep).indexOf(vi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop){let o=e.allowSymlink?await ae.statPromise(t):await ae.lstatPromise(t);if(e.allowSymlink&&!o.isDirectory()||!e.allowSymlink&&o.isSymbolicLink()){await ae.unlinkPromise(t);return}}let r=await ae.readdirPromise(t,{withFileTypes:!0});for(let o of r){let a=z.join(t,Li(o.name));o.isDirectory()?(o.name!==vi||e&&e.innerLoop)&&await _E(a,{innerLoop:!0,contentsOnly:!1}):await ae.unlinkPromise(a)}e.contentsOnly||await ae.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},F1e=4,mk=(t,{skipPrefix:e})=>{let r=z.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let o=r.split(z.sep).filter(p=>p!==""),a=o.indexOf(vi),n=o.slice(0,a).join(z.sep),u=z.join(e,n),A=o.slice(a);return{locationRoot:u,segments:A}},M1e=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let o=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of t.entries()){if(n.linkType==="SOFT"&&z.contains(e,n.target)!==null){let A=Ye.getFactoryWithDefault(r,n.target,o);A.locator=a,A.linkType=n.linkType}for(let u of n.locations){let{locationRoot:A,segments:p}=mk(u,{skipPrefix:e}),h=Ye.getFactoryWithDefault(r,A,o);for(let E=0;E<p.length;++E){let w=p[E];if(w!=="."){let v=Ye.getFactoryWithDefault(h.children,w,o);h.children.set(w,v),h=v}E===p.length-1&&(h.locator=a,h.linkType=n.linkType)}}}return r},hj=async(t,e,r)=>{if(process.platform==="win32"&&r==="junctions"){let o;try{o=await ae.lstatPromise(t)}catch{}if(!o||o.isDirectory()){await ae.symlinkPromise(t,e,"junction");return}}await ae.symlinkPromise(z.relative(z.dirname(e),t),e)};async function U1e(t,e,r){let o=z.join(t,Li(`${fj.default.randomBytes(16).toString("hex")}.tmp`));try{await ae.writeFilePromise(o,r);try{await ae.linkPromise(o,e)}catch{}}finally{await ae.unlinkPromise(o)}}async function Qwt({srcPath:t,dstPath:e,entry:r,globalHardlinksStore:o,baseFs:a,nmMode:n}){if(r.kind===_1e.FILE){if(n.value==="hardlinks-global"&&o&&r.digest){let A=z.join(o,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await ae.statPromise(A);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs<r.mtimeMs-Pwt))if(await bn.checksumFile(A,{baseFs:ae,algorithm:"sha1"})!==r.digest){let w=z.join(o,Li(`${fj.default.randomBytes(16).toString("hex")}.tmp`));await ae.renamePromise(A,w);let v=await a.readFilePromise(t);await ae.writeFilePromise(w,v);try{await ae.linkPromise(w,A),r.mtimeMs=new Date().getTime(),await ae.unlinkPromise(w)}catch{}}else r.mtimeMs||(r.mtimeMs=Math.ceil(h.mtimeMs));await ae.linkPromise(A,e),p=!0}catch{p=!1}if(!p){let h=await a.readFilePromise(t);await U1e(o,A,h),r.mtimeMs=new Date().getTime();try{await ae.linkPromise(A,e)}catch(E){E&&E.code&&E.code=="EXDEV"&&(n.value="hardlinks-local",await a.copyFilePromise(t,e))}}}else await a.copyFilePromise(t,e);let u=r.mode&511;u!==420&&await ae.chmodPromise(e,u)}}var _1e=(o=>(o.FILE="file",o.DIRECTORY="directory",o.SYMLINK="symlink",o))(_1e||{}),kwt=async(t,e,{baseFs:r,globalHardlinksStore:o,nmMode:a,windowsLinkType:n,packageChecksum:u})=>{await ae.mkdirPromise(t,{recursive:!0});let A=async(E=wt.dot)=>{let w=z.join(e,E),v=await r.readdirPromise(w,{withFileTypes:!0}),b=new Map;for(let C of v){let R=z.join(E,C.name),L,_=z.join(w,C.name);if(C.isFile()){if(L={kind:"file",mode:(await r.lstatPromise(_)).mode},a.value==="hardlinks-global"){let V=await bn.checksumFile(_,{baseFs:r,algorithm:"sha1"});L.digest=V}}else if(C.isDirectory())L={kind:"directory"};else if(C.isSymbolicLink())L={kind:"symlink",symlinkTo:await r.readlinkPromise(_)};else throw new Error(`Unsupported file type (file: ${_}, mode: 0o${await r.statSync(_).mode.toString(8).padStart(6,"0")})`);if(b.set(R,L),C.isDirectory()&&R!==vi){let V=await A(R);for(let[re,oe]of V)b.set(re,oe)}}return b},p;if(a.value==="hardlinks-global"&&o&&u){let E=z.join(o,u.substring(0,2),`${u.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await ae.readFilePromise(E,"utf8"))))}catch{p=await A()}}else p=await A();let h=!1;for(let[E,w]of p){let v=z.join(e,E),b=z.join(t,E);if(w.kind==="directory")await ae.mkdirPromise(b,{recursive:!0});else if(w.kind==="file"){let C=w.mtimeMs;await Qwt({srcPath:v,dstPath:b,entry:w,nmMode:a,baseFs:r,globalHardlinksStore:o}),w.mtimeMs!==C&&(h=!0)}else w.kind==="symlink"&&await hj(z.resolve(z.dirname(b),w.symlinkTo),b,n)}if(a.value==="hardlinks-global"&&o&&h&&u){let E=z.join(o,u.substring(0,2),`${u.substring(2)}.json`);await ae.removePromise(E),await U1e(o,E,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function Fwt(t,e,r,o){let a=new Map,n=new Map,u=new Map,A=!1,p=(h,E,w,v,b)=>{let C=!0,R=z.join(h,E),L=new Set;if(E===vi||E.startsWith("@")){let V;try{V=ae.statSync(R)}catch{}C=!!V,V?V.mtimeMs>r?(A=!0,L=new Set(ae.readdirSync(R))):L=new Set(w.children.get(E).children.keys()):A=!0;let re=e.get(h);if(re){let oe=z.join(h,vi,dk),pe;try{pe=ae.statSync(oe)}catch{}if(!pe)A=!0;else if(pe.mtimeMs>r){A=!0;let he=new Set(ae.readdirSync(oe)),ve=new Map;n.set(h,ve);for(let[ge,le]of re)he.has(ge)&&ve.set(ge,le)}else n.set(h,re)}}else C=b.has(E);let _=w.children.get(E);if(C){let{linkType:V,locator:re}=_,oe={children:new Map,linkType:V,locator:re};if(v.children.set(E,oe),re){let pe=Ye.getSetWithDefault(u,re);pe.add(R),u.set(re,pe)}for(let pe of _.children.keys())p(R,pe,_,oe,L)}else _.locator&&o.storedBuildState.delete(Y.parseLocator(_.locator).locatorHash)};for(let[h,E]of t){let{linkType:w,locator:v}=E,b={children:new Map,linkType:w,locator:v};if(a.set(h,b),v){let C=Ye.getSetWithDefault(u,E.locator);C.add(h),u.set(E.locator,C)}E.children.has(vi)&&p(h,vi,E,b,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:u,installChangedByUser:A}}function H1e(t){let e=Y.parseDescriptor(t);return Y.isVirtualDescriptor(e)&&(e=Y.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Rwt(t,e,r,{loadManifest:o}){let a=new Map;for(let[A,{locations:p}]of t){let h=H1e(A)?null:await o(A,p[0]),E=new Map;if(h)for(let[w,v]of h.bin){let b=z.join(p[0],v);v!==""&&ae.existsSync(b)&&E.set(w,v)}a.set(A,E)}let n=new Map,u=(A,p,h)=>{let E=new Map,w=z.contains(r,A);if(h.locator&&w!==null){let v=a.get(h.locator);for(let[b,C]of v){let R=z.join(A,ue.toPortablePath(C));E.set(Li(b),R)}for(let[b,C]of h.children){let R=z.join(A,b),L=u(R,R,C);L.size>0&&n.set(A,new Map([...n.get(A)||new Map,...L]))}}else for(let[v,b]of h.children){let C=u(z.join(A,v),p,b);for(let[R,L]of C)E.set(R,L)}return E};for(let[A,p]of e){let h=u(A,A,p);h.size>0&&n.set(A,new Map([...n.get(A)||new Map,...h]))}return n}var R1e=(t,e)=>{if(!t||!e)return t===e;let r=Y.parseLocator(t);Y.isVirtualLocator(r)&&(r=Y.devirtualizeLocator(r));let o=Y.parseLocator(e);return Y.isVirtualLocator(o)&&(o=Y.devirtualizeLocator(o)),Y.areLocatorsEqual(r,o)};function gj(t){return z.join(t.get("globalFolder"),"store")}async function Twt(t,e,{baseFs:r,project:o,report:a,loadManifest:n,realLocatorChecksums:u}){let A=z.join(o.cwd,vi),{locationTree:p,binSymlinks:h,locatorLocations:E,installChangedByUser:w}=Fwt(t.locationTree,t.binSymlinks,t.mtimeMs,o),v=M1e(e,{skipPrefix:o.cwd}),b=[],C=async({srcDir:le,dstDir:Pe,linkType:g,globalHardlinksStore:De,nmMode:Ce,windowsLinkType:de,packageChecksum:ne})=>{let Z=(async()=>{try{g==="SOFT"?(await ae.mkdirPromise(z.dirname(Pe),{recursive:!0}),await hj(z.resolve(le),Pe,de)):await kwt(Pe,le,{baseFs:r,globalHardlinksStore:De,nmMode:Ce,windowsLinkType:de,packageChecksum:ne})}catch(me){throw me.message=`While persisting ${le} -> ${Pe} ${me.message}`,me}finally{oe.tick()}})().then(()=>b.splice(b.indexOf(Z),1));b.push(Z),b.length>F1e&&await Promise.race(b)},R=async(le,Pe,g)=>{let De=(async()=>{let Ce=async(de,ne,Z)=>{try{Z.innerLoop||await ae.mkdirPromise(ne,{recursive:!0});let me=await ae.readdirPromise(de,{withFileTypes:!0});for(let be of me){if(!Z.innerLoop&&be.name===dk)continue;let ut=z.join(de,be.name),H=z.join(ne,be.name);be.isDirectory()?(be.name!==vi||Z&&Z.innerLoop)&&(await ae.mkdirPromise(H,{recursive:!0}),await Ce(ut,H,{...Z,innerLoop:!0})):ve.value==="hardlinks-local"||ve.value==="hardlinks-global"?await ae.linkPromise(ut,H):await ae.copyFilePromise(ut,H,N1e.default.constants.COPYFILE_FICLONE)}}catch(me){throw Z.innerLoop||(me.message=`While cloning ${de} -> ${ne} ${me.message}`),me}finally{Z.innerLoop||oe.tick()}};await Ce(le,Pe,g)})().then(()=>b.splice(b.indexOf(De),1));b.push(De),b.length>F1e&&await Promise.race(b)},L=async(le,Pe,g)=>{if(g)for(let[De,Ce]of Pe.children){let de=g.children.get(De);await L(z.join(le,De),Ce,de)}else{Pe.children.has(vi)&&await _E(z.join(le,vi),{contentsOnly:!1});let De=z.basename(le)===vi&&v.has(z.join(z.dirname(le),z.sep));await _E(le,{contentsOnly:le===A,allowSymlink:De})}};for(let[le,Pe]of p){let g=v.get(le);for(let[De,Ce]of Pe.children){if(De===".")continue;let de=g&&g.children.get(De),ne=z.join(le,De);await L(ne,Ce,de)}}let _=async(le,Pe,g)=>{if(g){R1e(Pe.locator,g.locator)||await _E(le,{contentsOnly:Pe.linkType==="HARD"});for(let[De,Ce]of Pe.children){let de=g.children.get(De);await _(z.join(le,De),Ce,de)}}else{Pe.children.has(vi)&&await _E(z.join(le,vi),{contentsOnly:!0});let De=z.basename(le)===vi&&v.has(z.join(z.dirname(le),z.sep));await _E(le,{contentsOnly:Pe.linkType==="HARD",allowSymlink:De})}};for(let[le,Pe]of v){let g=p.get(le);for(let[De,Ce]of Pe.children){if(De===".")continue;let de=g&&g.children.get(De);await _(z.join(le,De),Ce,de)}}let V=new Map,re=[];for(let[le,Pe]of E)for(let g of Pe){let{locationRoot:De,segments:Ce}=mk(g,{skipPrefix:o.cwd}),de=v.get(De),ne=De;if(de){for(let Z of Ce)if(ne=z.join(ne,Z),de=de.children.get(Z),!de)break;if(de){let Z=R1e(de.locator,le),me=e.get(de.locator),be=me.target,ut=ne,H=me.linkType;if(Z)V.has(be)||V.set(be,ut);else if(be!==ut){let yt=Y.parseLocator(de.locator);Y.isVirtualLocator(yt)&&(yt=Y.devirtualizeLocator(yt)),re.push({srcDir:be,dstDir:ut,linkType:H,realLocatorHash:yt.locatorHash})}}}}for(let[le,{locations:Pe}]of e.entries())for(let g of Pe){let{locationRoot:De,segments:Ce}=mk(g,{skipPrefix:o.cwd}),de=p.get(De),ne=v.get(De),Z=De,me=e.get(le),be=Y.parseLocator(le);Y.isVirtualLocator(be)&&(be=Y.devirtualizeLocator(be));let ut=be.locatorHash,H=me.target,yt=g;if(H===yt)continue;let Me=me.linkType;for(let Te of Ce)ne=ne.children.get(Te);if(!de)re.push({srcDir:H,dstDir:yt,linkType:Me,realLocatorHash:ut});else for(let Te of Ce)if(Z=z.join(Z,Te),de=de.children.get(Te),!de){re.push({srcDir:H,dstDir:yt,linkType:Me,realLocatorHash:ut});break}}let oe=Js.progressViaCounter(re.length),pe=a.reportProgress(oe),he=o.configuration.get("nmMode"),ve={value:he},ge=o.configuration.get("winLinkType");try{let le=ve.value==="hardlinks-global"?`${gj(o.configuration)}/v1`:null;if(le&&!await ae.existsPromise(le)){await ae.mkdirpPromise(le);for(let g=0;g<256;g++)await ae.mkdirPromise(z.join(le,g.toString(16).padStart(2,"0")))}for(let g of re)(g.linkType==="SOFT"||!V.has(g.srcDir))&&(V.set(g.srcDir,g.dstDir),await C({...g,globalHardlinksStore:le,nmMode:ve,windowsLinkType:ge,packageChecksum:u.get(g.realLocatorHash)||null}));await Promise.all(b),b.length=0;for(let g of re){let De=V.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==De&&await R(De,g.dstDir,{nmMode:ve})}await Promise.all(b),await ae.mkdirPromise(A,{recursive:!0});let Pe=await Rwt(e,v,o.cwd,{loadManifest:n});await Nwt(h,Pe,o.cwd,ge),await bwt(o,e,Pe,ve,{installChangedByUser:w}),he=="hardlinks-global"&&ve.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{pe.stop()}}async function Nwt(t,e,r,o){for(let a of t.keys()){if(z.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!e.has(a)){let n=z.join(a,vi,dk);await ae.removePromise(n)}}for(let[a,n]of e){if(z.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let u=z.join(a,vi,dk),A=t.get(a)||new Map;await ae.mkdirPromise(u,{recursive:!0});for(let p of A.keys())n.has(p)||(await ae.removePromise(z.join(u,p)),process.platform==="win32"&&await ae.removePromise(z.join(u,Li(`${p}.cmd`))));for(let[p,h]of n){let E=A.get(p),w=z.join(u,p);E!==h&&(process.platform==="win32"?await(0,T1e.default)(ue.fromPortablePath(h),ue.fromPortablePath(w),{createPwshFile:!1}):(await ae.removePromise(w),await hj(h,w,o),z.contains(r,await ae.realpathPromise(h))!==null&&await ae.chmodPromise(h,493)))}}}Ke();bt();_c();var zB=class extends Bh{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new dj(r)}},dj=class extends Em{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let o=new pi({baseFs:new Ul({maxOpenFiles:80,readOnlyArchives:!0})}),a=y1e(r,this.opts.project.cwd,o),{tree:n,errors:u}=LB(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:w,text:v}of u)this.opts.report.reportError(w,v);return}let A=new Map;r.fallbackPool=A;let p=(w,v)=>{let b=Y.parseLocator(v.locator),C=Y.stringifyIdent(b);C===w?A.set(w,b.reference):A.set(w,[C,b.reference])},h=z.join(this.opts.project.cwd,Lr.nodeModules),E=n.get(h);if(!(typeof E>"u")){if("target"in E)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let w of E.dirList){let v=z.join(h,w),b=n.get(v);if(typeof b>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in b)p(w,b);else for(let C of b.dirList){let R=z.join(v,C),L=n.get(R);if(typeof L>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in L)p(`${w}/${C}`,L);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var Lwt={hooks:{cleanGlobalArtifacts:async t=>{let e=gj(t);await ae.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:"BOOLEAN",default:!0}},linkers:[JB,zB]},Owt=Lwt;var hG={};Yt(hG,{NpmHttpFetcher:()=>ZB,NpmRemapResolver:()=>$B,NpmSemverFetcher:()=>yl,NpmSemverResolver:()=>ev,NpmTagResolver:()=>tv,default:()=>WBt,npmConfigUtils:()=>Wn,npmHttpUtils:()=>an,npmPublishUtils:()=>ZE});Ke();var Y1e=tt(si());var _n="npm:";var an={};Yt(an,{AuthType:()=>W1e,customPackageError:()=>np,del:()=>qwt,get:()=>pu,getIdentUrl:()=>Ph,handleInvalidAuthenticationError:()=>Sh,post:()=>_wt,put:()=>Hwt});Ke();Ke();var Ej=tt(z1()),G1e=Ie("url");var Wn={};Yt(Wn,{RegistryType:()=>q1e,getAuditRegistry:()=>Mwt,getAuthConfiguration:()=>Cj,getDefaultRegistry:()=>XB,getPublishRegistry:()=>Uwt,getRegistryConfiguration:()=>j1e,getScopeConfiguration:()=>yj,getScopeRegistry:()=>rp,normalizeRegistry:()=>EA});var q1e=(o=>(o.AUDIT_REGISTRY="npmAuditRegistry",o.FETCH_REGISTRY="npmRegistryServer",o.PUBLISH_REGISTRY="npmPublishRegistry",o))(q1e||{});function EA(t){return t.replace(/\/$/,"")}function Mwt({configuration:t}){return XB({configuration:t,type:"npmAuditRegistry"})}function Uwt(t,{configuration:e}){var r;return(r=t.publishConfig)!=null&&r.registry?EA(t.publishConfig.registry):t.name?rp(t.name.scope,{configuration:e,type:"npmPublishRegistry"}):XB({configuration:e,type:"npmPublishRegistry"})}function rp(t,{configuration:e,type:r="npmRegistryServer"}){let o=yj(t,{configuration:e});if(o===null)return XB({configuration:e,type:r});let a=o.get(r);return a===null?XB({configuration:e,type:r}):EA(a)}function XB({configuration:t,type:e="npmRegistryServer"}){let r=t.get(e);return EA(r!==null?r:t.get("npmRegistryServer"))}function j1e(t,{configuration:e}){let r=e.get("npmRegistries"),o=EA(t),a=r.get(o);if(typeof a<"u")return a;let n=r.get(o.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}function yj(t,{configuration:e}){if(t===null)return null;let o=e.get("npmScopes").get(t);return o||null}function Cj(t,{configuration:e,ident:r}){let o=r&&yj(r.scope,{configuration:e});return(o==null?void 0:o.get("npmAuthIdent"))||(o==null?void 0:o.get("npmAuthToken"))?o:j1e(t,{configuration:e})||e}var W1e=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(W1e||{});async function Sh(t,{attemptedAs:e,registry:r,headers:o,configuration:a}){var n,u;if(Ck(t))throw new Vt(41,"Invalid OTP token");if(((n=t.originalError)==null?void 0:n.name)==="HTTPError"&&((u=t.originalError)==null?void 0:u.response.statusCode)===401)throw new Vt(41,`Invalid authentication (${typeof e!="string"?`as ${await Gwt(r,o,{configuration:a})}`:`attempted as ${e}`})`)}function np(t,e){var o;let r=(o=t.response)==null?void 0:o.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${ye.applyHyperlink(e,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function Ph(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function pu(t,{configuration:e,headers:r,ident:o,authType:a,registry:n,...u}){if(o&&typeof n>"u"&&(n=rp(o.scope,{configuration:e})),o&&o.scope&&typeof a>"u"&&(a=1),typeof n!="string")throw new Error("Assertion failed: The registry should be a string");let A=await yk(n,{authType:a,configuration:e,ident:o});A&&(r={...r,authorization:A});try{return await ln.get(t.charAt(0)==="/"?`${n}${t}`:t,{configuration:e,headers:r,...u})}catch(p){throw await Sh(p,{registry:n,configuration:e,headers:r}),p}}async function _wt(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){if(n&&typeof A>"u"&&(A=rp(n.scope,{configuration:o})),typeof A!="string")throw new Error("Assertion failed: The registry should be a string");let E=await yk(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...HE(p)});try{return await ln.post(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!Ck(w)||p)throw await Sh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await Ij(w,{configuration:o});let v={...a,...HE(p)};try{return await ln.post(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(b){throw await Sh(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function Hwt(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){if(n&&typeof A>"u"&&(A=rp(n.scope,{configuration:o})),typeof A!="string")throw new Error("Assertion failed: The registry should be a string");let E=await yk(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...HE(p)});try{return await ln.put(A+t,e,{configuration:o,headers:a,...h})}catch(w){if(!Ck(w))throw await Sh(w,{attemptedAs:r,registry:A,configuration:o,headers:a}),w;p=await Ij(w,{configuration:o});let v={...a,...HE(p)};try{return await ln.put(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(b){throw await Sh(b,{attemptedAs:r,registry:A,configuration:o,headers:a}),b}}}async function qwt(t,{attemptedAs:e,configuration:r,headers:o,ident:a,authType:n=3,registry:u,otp:A,...p}){if(a&&typeof u>"u"&&(u=rp(a.scope,{configuration:r})),typeof u!="string")throw new Error("Assertion failed: The registry should be a string");let h=await yk(u,{authType:n,configuration:r,ident:a});h&&(o={...o,authorization:h}),A&&(o={...o,...HE(A)});try{return await ln.del(u+t,{configuration:r,headers:o,...p})}catch(E){if(!Ck(E)||A)throw await Sh(E,{attemptedAs:e,registry:u,configuration:r,headers:o}),E;A=await Ij(E,{configuration:r});let w={...o,...HE(A)};try{return await ln.del(`${u}${t}`,{configuration:r,headers:w,...p})}catch(v){throw await Sh(v,{attemptedAs:e,registry:u,configuration:r,headers:o}),v}}}async function yk(t,{authType:e=2,configuration:r,ident:o}){let a=Cj(t,{configuration:r,ident:o}),n=jwt(a,e);if(!n)return null;let u=await r.reduceHook(A=>A.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:o});if(u)return u;if(a.get("npmAuthToken"))return`Bearer ${a.get("npmAuthToken")}`;if(a.get("npmAuthIdent")){let A=a.get("npmAuthIdent");return A.includes(":")?`Basic ${Buffer.from(A).toString("base64")}`:`Basic ${A}`}if(n&&e!==1)throw new Vt(33,"No authentication configured for request");return null}function jwt(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function Gwt(t,e,{configuration:r}){if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(await ln.get(new G1e.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function Ij(t,{configuration:e}){var a;let r=(a=t.originalError)==null?void 0:a.response.headers["npm-notice"];if(r&&(await Et.start({configuration:e,stdout:process.stdout,includeFooter:!1},async n=>{if(n.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,ye.pretty(e,"$1",ye.Type.URL))),!process.env.YARN_IS_TEST_ENV){let u=r.match(/open (https?:\/\/\S+)/i);if(u&&As.openUrl){let{openNow:A}=await(0,Ej.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});A&&(await As.openUrl(u[1])||(n.reportSeparator(),n.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` |
664 | `)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:o}=await(0,hj.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` | 666 | `)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:o}=await(0,Ej.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` |
665 | `),o}function mk(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(a=>a.toLowerCase())).includes("otp")}catch{return!1}}function OC(t){return{["npm-otp"]:t}}var WB=class{supports(e,r){if(!e.reference.startsWith(_n))return!1;let{selector:o,params:a}=Y.parseRange(e.reference);return!(!N1e.default.valid(o)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let{params:o}=Y.parseRange(e.reference);if(o===null||typeof o.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await fu(o.__archiveUrl,{customErrorMessage:rp,configuration:r.project.configuration,ident:e});return await Vi.convertToZip(a,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();var YB=class{supportsDescriptor(e,r){return!(!e.range.startsWith(_n)||!Y.tryParseDescriptor(e.range.slice(_n.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){let o=r.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return r.resolver.getResolutionDependencies(o,r)}async getCandidates(e,r,o){let a=o.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return await o.resolver.getCandidates(a,r,o)}async getSatisfying(e,r,o,a){let n=a.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return a.resolver.getSatisfying(n,r,o,a)}resolve(e,r){throw new Error("Unreachable")}};Ke();Ke();var L1e=tt(ii()),O1e=Ie("url");var gl=class{supports(e,r){if(!e.reference.startsWith(_n))return!1;let o=new O1e.URL(e.reference);return!(!L1e.default.valid(o.pathname)||o.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o;try{o=await fu(gl.getLocatorUrl(e),{customErrorMessage:rp,configuration:r.project.configuration,ident:e})}catch{o=await fu(gl.getLocatorUrl(e).replace(/%2f/g,"/"),{customErrorMessage:rp,configuration:r.project.configuration,ident:e})}return await Vi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:o}){let a=tp(e.scope,{configuration:o}),n=gl.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Tr.clean(e.reference.slice(_n.length));if(r===null)throw new Jt(10,"The npm semver resolver got selected, but the version isn't semver");return`${vh(e)}/-/${e.name}-${r}.tgz`}};Ke();Ke();Ke();var M1e=tt(ii());var yk=Y.makeIdent(null,"node-gyp"),kwt=/\b(node-gyp|prebuild-install)\b/,KB=class{supportsDescriptor(e,r){return e.range.startsWith(_n)?!!Tr.validRange(e.range.slice(_n.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(_n))return!1;let{selector:o}=Y.parseRange(e.reference);return!!M1e.default.valid(o)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=Tr.validRange(e.range.slice(_n.length));if(a===null)throw new Error(`Expected a valid range, got ${e.range.slice(_n.length)}`);let n=await fu(vh(e),{customErrorMessage:rp,configuration:o.project.configuration,ident:e,jsonResponse:!0}),u=Ye.mapAndFilter(Object.keys(n.versions),h=>{try{let C=new Tr.SemVer(h);if(a.test(C))return C}catch{}return Ye.mapAndFilter.skip}),A=u.filter(h=>!n.versions[h.raw].deprecated),p=A.length>0?A:u;return p.sort((h,C)=>-h.compare(C)),p.map(h=>{let C=Y.makeLocator(e,`${_n}${h.raw}`),w=n.versions[h.raw].dist.tarball;return gl.isConventionalTarballUrl(C,w,{configuration:o.project.configuration})?C:Y.bindLocator(C,{__archiveUrl:w})})}async getSatisfying(e,r,o,a){let n=Tr.validRange(e.range.slice(_n.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(_n.length)}`);return{locators:Ye.mapAndFilter(o,p=>{if(p.identHash!==e.identHash)return Ye.mapAndFilter.skip;let h=Y.tryParseRange(p.reference,{requireProtocol:_n});if(!h)return Ye.mapAndFilter.skip;let C=new Tr.SemVer(h.selector);return n.test(C)?{locator:p,version:C}:Ye.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(e,r){let{selector:o}=Y.parseRange(e.reference),a=Tr.clean(o);if(a===null)throw new Jt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await fu(vh(e),{customErrorMessage:rp,configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"versions"))throw new Jt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(n.versions,a))throw new Jt(16,`Registry failed to return reference "${a}"`);let u=new Nt;if(u.load(n.versions[a]),!u.dependencies.has(yk.identHash)&&!u.peerDependencies.has(yk.identHash)){for(let A of u.scripts.values())if(A.match(kwt)){u.dependencies.set(yk.identHash,Y.makeDescriptor(yk,"latest")),r.report.reportWarningOnce(32,`${Y.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof u.raw.deprecated=="string"&&u.raw.deprecated!==""){let A=Y.prettyLocator(r.project.configuration,e),p=u.raw.deprecated.match(/\S/)?`${A} is deprecated: ${u.raw.deprecated}`:`${A} is deprecated`;r.report.reportWarningOnce(61,p)}return{...e,version:a,languageName:"node",linkType:"HARD",conditions:u.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(u.dependencies),peerDependencies:u.peerDependencies,dependenciesMeta:u.dependenciesMeta,peerDependenciesMeta:u.peerDependenciesMeta,bin:u.bin}}};Ke();Ke();var U1e=tt(ii());var JB=class{supportsDescriptor(e,r){return!(!e.range.startsWith(_n)||!DE.test(e.range.slice(_n.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(_n.length),n=await fu(vh(e),{configuration:o.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"dist-tags"))throw new Jt(15,'Registry returned invalid data - missing "dist-tags" field');let u=n["dist-tags"];if(!Object.prototype.hasOwnProperty.call(u,a))throw new Jt(16,`Registry failed to return tag "${a}"`);let A=u[a],p=Y.makeLocator(e,`${_n}${A}`),h=n.versions[A].dist.tarball;return gl.isConventionalTarballUrl(p,h,{configuration:o.project.configuration})?[p]:[Y.bindLocator(p,{__archiveUrl:h})]}async getSatisfying(e,r,o,a){var u;let n=[];for(let A of o){if(A.identHash!==e.identHash)continue;let p=Y.tryParseRange(A.reference,{requireProtocol:_n});if(!(!p||!U1e.default.valid(p.selector))){if((u=p.params)!=null&&u.__archiveUrl){let h=Y.makeRange({protocol:_n,selector:p.selector,source:null,params:null}),[C]=await this.getCandidates(Y.makeDescriptor(e,h),r,a);if(A.reference!==C.reference)continue}n.push(A)}}return{locators:n,sorted:!1}}async resolve(e,r){throw new Error("Unreachable")}};var JC={};Yt(JC,{getGitHead:()=>bBt,makePublishBody:()=>xBt});Ke();Ke();var n9={};Yt(n9,{PackCommand:()=>Rh,default:()=>uBt,packUtils:()=>IA});Ke();Ke();Ke();bt();_t();var IA={};Yt(IA,{genPackList:()=>Hk,genPackStream:()=>r9,genPackageManifest:()=>dBe,hasPackScripts:()=>e9,prepareForPack:()=>t9});Ke();bt();var $j=tt(Jo()),hBe=tt(uBe()),gBe=Ie("zlib"),$2t=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],eBt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function e9(t){return!!(sn.hasWorkspaceScript(t,"prepack")||sn.hasWorkspaceScript(t,"postpack"))}async function t9(t,{report:e},r){await sn.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let o=V.join(t.cwd,Nt.fileName);await ae.existsPromise(o)&&await t.manifest.loadFile(o,{baseFs:ae}),await r()}finally{await sn.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function r9(t,e){var n;typeof e>"u"&&(e=await Hk(t));let r=new Set;for(let u of((n=t.manifest.publishConfig)==null?void 0:n.executableFiles)??new Set)r.add(V.normalize(u));for(let u of t.manifest.bin.values())r.add(V.normalize(u));let o=hBe.default.pack();process.nextTick(async()=>{for(let u of e){let A=V.normalize(u),p=V.resolve(t.cwd,A),h=V.join("package",A),C=await ae.lstatPromise(p),w={name:h,mtime:new Date(Ii.SAFE_TIME*1e3)},v=r.has(A)?493:420,b,E,R=new Promise((_,J)=>{b=_,E=J}),L=_=>{_?E(_):b()};if(C.isFile()){let _;A==="package.json"?_=Buffer.from(JSON.stringify(await dBe(t),null,2)):_=await ae.readFilePromise(p),o.entry({...w,mode:v,type:"file"},_,L)}else C.isSymbolicLink()?o.entry({...w,mode:v,type:"symlink",linkname:await ae.readlinkPromise(p)},L):L(new Error(`Unsupported file type ${C.mode} for ${Ae.fromPortablePath(A)}`));await R}o.finalize()});let a=(0,gBe.createGzip)();return o.pipe(a),a}async function dBe(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function Hk(t){var w,v,b,E;let e=t.project,r=e.configuration,o={accept:[],reject:[]};for(let R of eBt)o.reject.push(R);for(let R of $2t)o.accept.push(R);o.reject.push(r.get("rcFilename"));let a=R=>{if(R===null||!R.startsWith(`${t.cwd}/`))return;let L=V.relative(t.cwd,R),_=V.resolve(wt.root,L);o.reject.push(_)};a(V.resolve(e.cwd,r.get("lockfileFilename"))),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(R=>R.populateYarnPaths,e,R=>{a(R)});for(let R of e.workspaces){let L=V.relative(t.cwd,R.cwd);L!==""&&!L.match(/^(\.\.)?\//)&&o.reject.push(`/${L}`)}let n={accept:[],reject:[]},u=((w=t.manifest.publishConfig)==null?void 0:w.main)??t.manifest.main,A=((v=t.manifest.publishConfig)==null?void 0:v.module)??t.manifest.module,p=((b=t.manifest.publishConfig)==null?void 0:b.browser)??t.manifest.browser,h=((E=t.manifest.publishConfig)==null?void 0:E.bin)??t.manifest.bin;u!=null&&n.accept.push(V.resolve(wt.root,u)),A!=null&&n.accept.push(V.resolve(wt.root,A)),typeof p=="string"&&n.accept.push(V.resolve(wt.root,p));for(let R of h.values())n.accept.push(V.resolve(wt.root,R));if(p instanceof Map)for(let[R,L]of p.entries())n.accept.push(V.resolve(wt.root,R)),typeof L=="string"&&n.accept.push(V.resolve(wt.root,L));let C=t.manifest.files!==null;if(C){n.reject.push("/*");for(let R of t.manifest.files)mBe(n.accept,R,{cwd:wt.root})}return await tBt(t.cwd,{hasExplicitFileList:C,globalList:o,ignoreList:n})}async function tBt(t,{hasExplicitFileList:e,globalList:r,ignoreList:o}){let a=[],n=new ju(t),u=[[wt.root,[o]]];for(;u.length>0;){let[A,p]=u.pop(),h=await n.lstatPromise(A);if(!fBe(A,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let C=await n.readdirPromise(A),w=!1,v=!1;if(!e||A!==wt.root)for(let R of C)w=w||R===".gitignore",v=v||R===".npmignore";let b=v?await ABe(n,A,".npmignore"):w?await ABe(n,A,".gitignore"):null,E=b!==null?[b].concat(p):p;fBe(A,{globalList:r,ignoreLists:p})&&(E=[...p,{accept:[],reject:["**/*"]}]);for(let R of C)u.push([V.resolve(A,R),E])}else(h.isFile()||h.isSymbolicLink())&&a.push(V.relative(wt.root,A))}return a.sort()}async function ABe(t,e,r){let o={accept:[],reject:[]},a=await t.readFilePromise(V.join(e,r),"utf8");for(let n of a.split(/\n/g))mBe(o.reject,n,{cwd:e});return o}function rBt(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=V.resolve(e,t)),r&&(t=`!${t}`),t}function mBe(t,e,{cwd:r}){let o=e.trim();o===""||o[0]==="#"||t.push(rBt(o,{cwd:r}))}function fBe(t,{globalList:e,ignoreLists:r}){let o=_k(t,e.accept);if(o!==0)return o===2;let a=_k(t,e.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let u=_k(t,n.accept);if(u!==0)return u===2;let A=_k(t,n.reject);if(A!==0)return A===1}return!1}function _k(t,e){let r=e,o=[];for(let a=0;a<e.length;++a)e[a][0]!=="!"?r!==e&&r.push(e[a]):(r===e&&(r=e.slice(0,a)),o.push(e[a].slice(1)));return pBe(t,o)?2:pBe(t,r)?1:0}function pBe(t,e){let r=e,o=[];for(let a=0;a<e.length;++a)e[a].includes("/")?r!==e&&r.push(e[a]):(r===e&&(r=e.slice(0,a)),o.push(e[a]));return!!($j.default.isMatch(t,r,{dot:!0,nocase:!0})||$j.default.isMatch(t,o,{dot:!0,basename:!0,nocase:!0}))}var Rh=class extends ct{constructor(){super(...arguments);this.installIfNeeded=fe.Boolean("--install-if-needed",!1,{description:"Run a preliminary `yarn install` if the package contains build scripts"});this.dryRun=fe.Boolean("-n,--dry-run",!1,{description:"Print the file paths without actually generating the package archive"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.out=fe.String("-o,--out",{description:"Create the archive at the specified path"});this.filename=fe.String("--filename",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await e9(a)&&(this.installIfNeeded?await o.install({cache:await Ur.find(r),report:new xi}):await o.restoreInstallState());let n=this.out??this.filename,u=typeof n<"u"?V.resolve(this.context.cwd,nBt(n,{workspace:a})):V.resolve(a.cwd,"package.tgz");return(await Ct.start({configuration:r,stdout:this.context.stdout,json:this.json},async p=>{await t9(a,{report:p},async()=>{p.reportJson({base:Ae.fromPortablePath(a.cwd)});let h=await Hk(a);for(let C of h)p.reportInfo(null,Ae.fromPortablePath(C)),p.reportJson({location:Ae.fromPortablePath(C)});if(!this.dryRun){let C=await r9(a,h),w=ae.createWriteStream(u);C.pipe(w),await new Promise(v=>{w.on("finish",v)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${ye.pretty(r,u,ye.Type.PATH)}`),p.reportJson({output:Ae.fromPortablePath(u)}))})).exitCode()}};Rh.paths=[["pack"]],Rh.usage=it.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function nBt(t,{workspace:e}){let r=t.replace("%s",iBt(e)).replace("%v",sBt(e));return Ae.toPortablePath(r)}function iBt(t){return t.manifest.name!==null?Y.slugifyIdent(t.manifest.name):"package"}function sBt(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var oBt=["dependencies","devDependencies","peerDependencies"],aBt="workspace:",lBt=(t,e)=>{e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let o of oBt)for(let a of t.manifest.getForScope(o).values()){let n=r.tryWorkspaceByDescriptor(a),u=Y.parseRange(a.range);if(u.protocol===aBt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new Jt(21,`${Y.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let A;Y.areDescriptorsEqual(a,n.anchoredDescriptor)||u.selector==="*"?A=n.manifest.version??"0.0.0":u.selector==="~"||u.selector==="^"?A=`${u.selector}${n.manifest.version??"0.0.0"}`:A=u.selector;let p=o==="dependencies"?Y.makeDescriptor(a,"unknown"):null,h=p!==null&&t.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":o;e[h][Y.stringifyIdent(a)]=A}}},cBt={hooks:{beforeWorkspacePacking:lBt},commands:[Rh]},uBt=cBt;var SBe=Ie("crypto"),PBe=tt(DBe()),xBe=Ie("url");async function xBt(t,e,{access:r,tag:o,registry:a,gitHead:n}){let u=t.project.configuration,A=t.manifest.name,p=t.manifest.version,h=Y.stringifyIdent(A),C=(0,SBe.createHash)("sha1").update(e).digest("hex"),w=PBe.default.fromData(e).toString();typeof r>"u"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:u.get("npmPublishAccess")!==null?r=u.get("npmPublishAccess"):A.scope?r="restricted":r="public");let v=await IA.genPackageManifest(t),b=`${h}-${p}.tgz`,E=new xBe.URL(`${yA(a)}/${h}/-/${b}`);return{_id:h,_attachments:{[b]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:h,access:r,["dist-tags"]:{[o]:p},versions:{[p]:{...v,_id:`${h}@${p}`,name:h,version:p,gitHead:n,dist:{shasum:C,integrity:w,tarball:E.toString()}}}}}async function bBt(t){try{let{stdout:e}=await Mr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var a9={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},bBe={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},QBt={configuration:{...a9,...bBe,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...a9,...bBe}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:yA,valueDefinition:{description:"",type:"SHAPE",properties:{...a9}}}},fetchers:[WB,gl],resolvers:[YB,KB,JB]},kBt=QBt;var d9={};Yt(d9,{NpmAuditCommand:()=>Nh,NpmInfoCommand:()=>Lh,NpmLoginCommand:()=>Oh,NpmLogoutCommand:()=>Mh,NpmPublishCommand:()=>Uh,NpmTagAddCommand:()=>Hh,NpmTagListCommand:()=>_h,NpmTagRemoveCommand:()=>qh,NpmWhoamiCommand:()=>jh,default:()=>_Bt,npmAuditUtils:()=>Gk});Ke();_t();var uv=tt(Jo());$a();var qk=(o=>(o.All="all",o.Production="production",o.Development="development",o))(qk||{}),jk=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(jk||{});var Gk={};Yt(Gk,{allSeverities:()=>VC,getDependencies:()=>f9,getReportTree:()=>u9,getRequires:()=>A9,isError:()=>c9});Ke();var VC=["info","low","moderate","high","critical"];function kBe(t,e){let r=[],o=new Set,a=u=>{o.has(u)||(o.add(u),r.push(u))};for(let u of e)a(u);let n=new Set;for(;r.length>0;){let u=r.shift(),A=t.storedResolutions.get(u);if(typeof A>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let p=t.storedPackages.get(A);if(!!p){n.add(u);for(let h of p.dependencies.values())a(h.descriptorHash)}}return n}function FBt(t,e){return new Set([...t].filter(r=>!e.has(r)))}function RBt(t,e,{all:r}){let o=r?t.workspaces:[e],a=o.map(v=>v.manifest),n=new Set(a.map(v=>[...v.dependencies].map(([b,E])=>b)).flat()),u=new Set(a.map(v=>[...v.devDependencies].map(([b,E])=>b)).flat()),A=o.map(v=>[...v.anchoredPackage.dependencies.values()]).flat(),p=A.filter(v=>n.has(v.identHash)).map(v=>v.descriptorHash),h=A.filter(v=>u.has(v.identHash)).map(v=>v.descriptorHash),C=kBe(t,p),w=kBe(t,h);return FBt(w,C)}function FBe(t){let e={};for(let r of t)e[Y.stringifyIdent(r)]=Y.parseRange(r.range).selector;return e}function RBe(t){if(typeof t>"u")return new Set(VC);let e=VC.indexOf(t),r=VC.slice(e);return new Set(r)}function TBt(t,e){let r=RBe(e),o={};for(let a of r)o[a]=t[a];return o}function c9(t,e){let r=TBt(t,e);for(let o of Object.keys(r))if(r[o]??0>0)return!0;return!1}function u9(t,e){var n;let r={},o={children:r},a=Object.values(t.advisories);if(e!=null){let u=RBe(e);a=a.filter(A=>u.has(A.severity))}for(let u of Ye.sortMap(a,A=>A.module_name))r[u.module_name]={label:u.module_name,value:ye.tuple(ye.Type.RANGE,u.findings.map(A=>A.version).join(", ")),children:{ID:{label:"ID",value:ye.tuple(ye.Type.NUMBER,u.id)},Issue:{label:"Issue",value:ye.tuple(ye.Type.NO_HINT,u.title)},URL:{label:"URL",value:ye.tuple(ye.Type.URL,u.url)},Severity:{label:"Severity",value:ye.tuple(ye.Type.NO_HINT,u.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ye.tuple(ye.Type.RANGE,u.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ye.tuple(ye.Type.RANGE,u.patched_versions)},Via:{label:"Via",value:ye.tuple(ye.Type.NO_HINT,Array.from(new Set(u.findings.map(A=>A.paths).flat().map(A=>A.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ye.tuple(ye.Type.NO_HINT,(n=u.recommendation)==null?void 0:n.replace(/\n/g," "))}}};return o}function A9(t,e,{all:r,environment:o}){let a=r?t.workspaces:[e],n=["all","production"].includes(o),u=[];if(n)for(let h of a)for(let C of h.manifest.dependencies.values())u.push(C);let A=["all","development"].includes(o),p=[];if(A)for(let h of a)for(let C of h.manifest.devDependencies.values())p.push(C);return FBe([...u,...p].filter(h=>Y.parseRange(h.range).protocol===null))}function f9(t,e,{all:r}){let o=RBt(t,e,{all:r}),a={};for(let n of t.storedPackages.values())a[Y.stringifyIdent(n)]={version:n.version??"0.0.0",integrity:n.identHash,requires:FBe(n.dependencies.values()),dev:o.has(Y.convertLocatorToDescriptor(n).descriptorHash)};return a}var Nh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=fe.String("--environment","all",{description:"Which environments to cover",validator:Gs(qk)});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=fe.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Gs(jk)});this.excludes=fe.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=fe.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=A9(o,a,{all:this.all,environment:this.environment}),u=f9(o,a,{all:this.all});if(!this.recursive)for(let E of Object.keys(u))Object.prototype.hasOwnProperty.call(n,E)?u[E].requires={}:delete u[E];let A=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes]));if(A){for(let E of Object.keys(n))uv.default.isMatch(E,A)&&delete n[E];for(let E of Object.keys(u))uv.default.isMatch(E,A)&&delete u[E];for(let E of Object.keys(u))for(let R of Object.keys(u[E].requires))uv.default.isMatch(R,A)&&delete u[E].requires[R]}let p={requires:n,dependencies:u},h=Gn.getAuditRegistry({configuration:r}),C,w=await fA.start({configuration:r,stdout:this.context.stdout},async()=>{C=await an.post("/-/npm/v1/security/audits/quick",p,{authType:an.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h})});if(w.hasErrors())return w.exitCode();let v=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores]));if(v){for(let E of Object.keys(C.advisories))if(uv.default.isMatch(E,v)){let R=C.advisories[E];C.metadata.vulnerabilities[R.severity]-=1,delete C.advisories[E]}}let b=c9(C.metadata.vulnerabilities,this.severity);return!this.json&&b?(Xo.emitTree(u9(C,this.severity),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ct.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async E=>{E.reportJson(C),b||E.reportInfo(1,"No audit suggestions")}),b?1:0)}};Nh.paths=[["npm","audit"]],Nh.usage=it.Usage({description:"perform a vulnerability audit against the installed packages",details:` | 667 | `),o}function Ck(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(a=>a.toLowerCase())).includes("otp")}catch{return!1}}function HE(t){return{["npm-otp"]:t}}var ZB=class{supports(e,r){if(!e.reference.startsWith(_n))return!1;let{selector:o,params:a}=Y.parseRange(e.reference);return!(!Y1e.default.valid(o)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let{params:o}=Y.parseRange(e.reference);if(o===null||typeof o.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await pu(o.__archiveUrl,{customErrorMessage:np,configuration:r.project.configuration,ident:e});return await Ji.convertToZip(a,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}};Ke();var $B=class{supportsDescriptor(e,r){return!(!e.range.startsWith(_n)||!Y.tryParseDescriptor(e.range.slice(_n.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){let o=r.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return r.resolver.getResolutionDependencies(o,r)}async getCandidates(e,r,o){let a=o.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return await o.resolver.getCandidates(a,r,o)}async getSatisfying(e,r,o,a){let n=a.project.configuration.normalizeDependency(Y.parseDescriptor(e.range.slice(_n.length),!0));return a.resolver.getSatisfying(n,r,o,a)}resolve(e,r){throw new Error("Unreachable")}};Ke();Ke();var K1e=tt(si()),V1e=Ie("url");var yl=class{supports(e,r){if(!e.reference.startsWith(_n))return!1;let o=new V1e.URL(e.reference);return!(!K1e.default.valid(o.pathname)||o.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o;try{o=await pu(yl.getLocatorUrl(e),{customErrorMessage:np,configuration:r.project.configuration,ident:e})}catch{o=await pu(yl.getLocatorUrl(e).replace(/%2f/g,"/"),{customErrorMessage:np,configuration:r.project.configuration,ident:e})}return await Ji.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:Y.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:o}){let a=rp(e.scope,{configuration:o}),n=yl.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Tr.clean(e.reference.slice(_n.length));if(r===null)throw new Vt(10,"The npm semver resolver got selected, but the version isn't semver");return`${Ph(e)}/-/${e.name}-${r}.tgz`}};Ke();Ke();Ke();var J1e=tt(si());var Ek=Y.makeIdent(null,"node-gyp"),Wwt=/\b(node-gyp|prebuild-install)\b/,ev=class{supportsDescriptor(e,r){return e.range.startsWith(_n)?!!Tr.validRange(e.range.slice(_n.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(_n))return!1;let{selector:o}=Y.parseRange(e.reference);return!!J1e.default.valid(o)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=Tr.validRange(e.range.slice(_n.length));if(a===null)throw new Error(`Expected a valid range, got ${e.range.slice(_n.length)}`);let n=await pu(Ph(e),{customErrorMessage:np,configuration:o.project.configuration,ident:e,jsonResponse:!0}),u=Ye.mapAndFilter(Object.keys(n.versions),h=>{try{let E=new Tr.SemVer(h);if(a.test(E))return E}catch{}return Ye.mapAndFilter.skip}),A=u.filter(h=>!n.versions[h.raw].deprecated),p=A.length>0?A:u;return p.sort((h,E)=>-h.compare(E)),p.map(h=>{let E=Y.makeLocator(e,`${_n}${h.raw}`),w=n.versions[h.raw].dist.tarball;return yl.isConventionalTarballUrl(E,w,{configuration:o.project.configuration})?E:Y.bindLocator(E,{__archiveUrl:w})})}async getSatisfying(e,r,o,a){let n=Tr.validRange(e.range.slice(_n.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(_n.length)}`);return{locators:Ye.mapAndFilter(o,p=>{if(p.identHash!==e.identHash)return Ye.mapAndFilter.skip;let h=Y.tryParseRange(p.reference,{requireProtocol:_n});if(!h)return Ye.mapAndFilter.skip;let E=new Tr.SemVer(h.selector);return n.test(E)?{locator:p,version:E}:Ye.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(e,r){let{selector:o}=Y.parseRange(e.reference),a=Tr.clean(o);if(a===null)throw new Vt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await pu(Ph(e),{customErrorMessage:np,configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"versions"))throw new Vt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(n.versions,a))throw new Vt(16,`Registry failed to return reference "${a}"`);let u=new Nt;if(u.load(n.versions[a]),!u.dependencies.has(Ek.identHash)&&!u.peerDependencies.has(Ek.identHash)){for(let A of u.scripts.values())if(A.match(Wwt)){u.dependencies.set(Ek.identHash,Y.makeDescriptor(Ek,"latest")),r.report.reportWarningOnce(32,`${Y.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof u.raw.deprecated=="string"&&u.raw.deprecated!==""){let A=Y.prettyLocator(r.project.configuration,e),p=u.raw.deprecated.match(/\S/)?`${A} is deprecated: ${u.raw.deprecated}`:`${A} is deprecated`;r.report.reportWarningOnce(61,p)}return{...e,version:a,languageName:"node",linkType:"HARD",conditions:u.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(u.dependencies),peerDependencies:u.peerDependencies,dependenciesMeta:u.dependenciesMeta,peerDependenciesMeta:u.peerDependenciesMeta,bin:u.bin}}};Ke();Ke();var z1e=tt(si());var tv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(_n)||!QC.test(e.range.slice(_n.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(_n.length),n=await pu(Ph(e),{configuration:o.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(n,"dist-tags"))throw new Vt(15,'Registry returned invalid data - missing "dist-tags" field');let u=n["dist-tags"];if(!Object.prototype.hasOwnProperty.call(u,a))throw new Vt(16,`Registry failed to return tag "${a}"`);let A=u[a],p=Y.makeLocator(e,`${_n}${A}`),h=n.versions[A].dist.tarball;return yl.isConventionalTarballUrl(p,h,{configuration:o.project.configuration})?[p]:[Y.bindLocator(p,{__archiveUrl:h})]}async getSatisfying(e,r,o,a){var u;let n=[];for(let A of o){if(A.identHash!==e.identHash)continue;let p=Y.tryParseRange(A.reference,{requireProtocol:_n});if(!(!p||!z1e.default.valid(p.selector))){if((u=p.params)!=null&&u.__archiveUrl){let h=Y.makeRange({protocol:_n,selector:p.selector,source:null,params:null}),[E]=await this.getCandidates(Y.makeDescriptor(e,h),r,a);if(A.reference!==E.reference)continue}n.push(A)}}return{locators:n,sorted:!1}}async resolve(e,r){throw new Error("Unreachable")}};var ZE={};Yt(ZE,{getGitHead:()=>jBt,makePublishBody:()=>qBt});Ke();Ke();var cG={};Yt(cG,{PackCommand:()=>Lh,default:()=>vBt,packUtils:()=>BA});Ke();Ke();Ke();bt();_t();var BA={};Yt(BA,{genPackList:()=>jk,genPackStream:()=>lG,genPackageManifest:()=>PBe,hasPackScripts:()=>oG,prepareForPack:()=>aG});Ke();bt();var sG=tt(Jo()),DBe=tt(IBe()),SBe=Ie("zlib"),pBt=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],hBt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function oG(t){return!!(sn.hasWorkspaceScript(t,"prepack")||sn.hasWorkspaceScript(t,"postpack"))}async function aG(t,{report:e},r){await sn.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let o=z.join(t.cwd,Nt.fileName);await ae.existsPromise(o)&&await t.manifest.loadFile(o,{baseFs:ae}),await r()}finally{await sn.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function lG(t,e){var n;typeof e>"u"&&(e=await jk(t));let r=new Set;for(let u of((n=t.manifest.publishConfig)==null?void 0:n.executableFiles)??new Set)r.add(z.normalize(u));for(let u of t.manifest.bin.values())r.add(z.normalize(u));let o=DBe.default.pack();process.nextTick(async()=>{for(let u of e){let A=z.normalize(u),p=z.resolve(t.cwd,A),h=z.join("package",A),E=await ae.lstatPromise(p),w={name:h,mtime:new Date(Ii.SAFE_TIME*1e3)},v=r.has(A)?493:420,b,C,R=new Promise((_,V)=>{b=_,C=V}),L=_=>{_?C(_):b()};if(E.isFile()){let _;A==="package.json"?_=Buffer.from(JSON.stringify(await PBe(t),null,2)):_=await ae.readFilePromise(p),o.entry({...w,mode:v,type:"file"},_,L)}else E.isSymbolicLink()?o.entry({...w,mode:v,type:"symlink",linkname:await ae.readlinkPromise(p)},L):L(new Error(`Unsupported file type ${E.mode} for ${ue.fromPortablePath(A)}`));await R}o.finalize()});let a=(0,SBe.createGzip)();return o.pipe(a),a}async function PBe(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function jk(t){var w,v,b,C;let e=t.project,r=e.configuration,o={accept:[],reject:[]};for(let R of hBt)o.reject.push(R);for(let R of pBt)o.accept.push(R);o.reject.push(r.get("rcFilename"));let a=R=>{if(R===null||!R.startsWith(`${t.cwd}/`))return;let L=z.relative(t.cwd,R),_=z.resolve(wt.root,L);o.reject.push(_)};a(z.resolve(e.cwd,r.get("lockfileFilename"))),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(R=>R.populateYarnPaths,e,R=>{a(R)});for(let R of e.workspaces){let L=z.relative(t.cwd,R.cwd);L!==""&&!L.match(/^(\.\.)?\//)&&o.reject.push(`/${L}`)}let n={accept:[],reject:[]},u=((w=t.manifest.publishConfig)==null?void 0:w.main)??t.manifest.main,A=((v=t.manifest.publishConfig)==null?void 0:v.module)??t.manifest.module,p=((b=t.manifest.publishConfig)==null?void 0:b.browser)??t.manifest.browser,h=((C=t.manifest.publishConfig)==null?void 0:C.bin)??t.manifest.bin;u!=null&&n.accept.push(z.resolve(wt.root,u)),A!=null&&n.accept.push(z.resolve(wt.root,A)),typeof p=="string"&&n.accept.push(z.resolve(wt.root,p));for(let R of h.values())n.accept.push(z.resolve(wt.root,R));if(p instanceof Map)for(let[R,L]of p.entries())n.accept.push(z.resolve(wt.root,R)),typeof L=="string"&&n.accept.push(z.resolve(wt.root,L));let E=t.manifest.files!==null;if(E){n.reject.push("/*");for(let R of t.manifest.files)xBe(n.accept,R,{cwd:wt.root})}return await gBt(t.cwd,{hasExplicitFileList:E,globalList:o,ignoreList:n})}async function gBt(t,{hasExplicitFileList:e,globalList:r,ignoreList:o}){let a=[],n=new Gu(t),u=[[wt.root,[o]]];for(;u.length>0;){let[A,p]=u.pop(),h=await n.lstatPromise(A);if(!BBe(A,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let E=await n.readdirPromise(A),w=!1,v=!1;if(!e||A!==wt.root)for(let R of E)w=w||R===".gitignore",v=v||R===".npmignore";let b=v?await wBe(n,A,".npmignore"):w?await wBe(n,A,".gitignore"):null,C=b!==null?[b].concat(p):p;BBe(A,{globalList:r,ignoreLists:p})&&(C=[...p,{accept:[],reject:["**/*"]}]);for(let R of E)u.push([z.resolve(A,R),C])}else(h.isFile()||h.isSymbolicLink())&&a.push(z.relative(wt.root,A))}return a.sort()}async function wBe(t,e,r){let o={accept:[],reject:[]},a=await t.readFilePromise(z.join(e,r),"utf8");for(let n of a.split(/\n/g))xBe(o.reject,n,{cwd:e});return o}function dBt(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=z.resolve(e,t)),r&&(t=`!${t}`),t}function xBe(t,e,{cwd:r}){let o=e.trim();o===""||o[0]==="#"||t.push(dBt(o,{cwd:r}))}function BBe(t,{globalList:e,ignoreLists:r}){let o=qk(t,e.accept);if(o!==0)return o===2;let a=qk(t,e.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let u=qk(t,n.accept);if(u!==0)return u===2;let A=qk(t,n.reject);if(A!==0)return A===1}return!1}function qk(t,e){let r=e,o=[];for(let a=0;a<e.length;++a)e[a][0]!=="!"?r!==e&&r.push(e[a]):(r===e&&(r=e.slice(0,a)),o.push(e[a].slice(1)));return vBe(t,o)?2:vBe(t,r)?1:0}function vBe(t,e){let r=e,o=[];for(let a=0;a<e.length;++a)e[a].includes("/")?r!==e&&r.push(e[a]):(r===e&&(r=e.slice(0,a)),o.push(e[a]));return!!(sG.default.isMatch(t,r,{dot:!0,nocase:!0})||sG.default.isMatch(t,o,{dot:!0,basename:!0,nocase:!0}))}var Lh=class extends ct{constructor(){super(...arguments);this.installIfNeeded=fe.Boolean("--install-if-needed",!1,{description:"Run a preliminary `yarn install` if the package contains build scripts"});this.dryRun=fe.Boolean("-n,--dry-run",!1,{description:"Print the file paths without actually generating the package archive"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.out=fe.String("-o,--out",{description:"Create the archive at the specified path"});this.filename=fe.String("--filename",{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await oG(a)&&(this.installIfNeeded?await o.install({cache:await Ur.find(r),report:new xi}):await o.restoreInstallState());let n=this.out??this.filename,u=typeof n<"u"?z.resolve(this.context.cwd,mBt(n,{workspace:a})):z.resolve(a.cwd,"package.tgz");return(await Et.start({configuration:r,stdout:this.context.stdout,json:this.json},async p=>{await aG(a,{report:p},async()=>{p.reportJson({base:ue.fromPortablePath(a.cwd)});let h=await jk(a);for(let E of h)p.reportInfo(null,ue.fromPortablePath(E)),p.reportJson({location:ue.fromPortablePath(E)});if(!this.dryRun){let E=await lG(a,h),w=ae.createWriteStream(u);E.pipe(w),await new Promise(v=>{w.on("finish",v)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${ye.pretty(r,u,ye.Type.PATH)}`),p.reportJson({output:ue.fromPortablePath(u)}))})).exitCode()}};Lh.paths=[["pack"]],Lh.usage=it.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function mBt(t,{workspace:e}){let r=t.replace("%s",yBt(e)).replace("%v",CBt(e));return ue.toPortablePath(r)}function yBt(t){return t.manifest.name!==null?Y.slugifyIdent(t.manifest.name):"package"}function CBt(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var EBt=["dependencies","devDependencies","peerDependencies"],IBt="workspace:",wBt=(t,e)=>{e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let o of EBt)for(let a of t.manifest.getForScope(o).values()){let n=r.tryWorkspaceByDescriptor(a),u=Y.parseRange(a.range);if(u.protocol===IBt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new Vt(21,`${Y.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let A;Y.areDescriptorsEqual(a,n.anchoredDescriptor)||u.selector==="*"?A=n.manifest.version??"0.0.0":u.selector==="~"||u.selector==="^"?A=`${u.selector}${n.manifest.version??"0.0.0"}`:A=u.selector;let p=o==="dependencies"?Y.makeDescriptor(a,"unknown"):null,h=p!==null&&t.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":o;e[h][Y.stringifyIdent(a)]=A}}},BBt={hooks:{beforeWorkspacePacking:wBt},commands:[Lh]},vBt=BBt;var OBe=Ie("crypto"),MBe=tt(LBe()),UBe=Ie("url");async function qBt(t,e,{access:r,tag:o,registry:a,gitHead:n}){let u=t.project.configuration,A=t.manifest.name,p=t.manifest.version,h=Y.stringifyIdent(A),E=(0,OBe.createHash)("sha1").update(e).digest("hex"),w=MBe.default.fromData(e).toString();typeof r>"u"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:u.get("npmPublishAccess")!==null?r=u.get("npmPublishAccess"):A.scope?r="restricted":r="public");let v=await BA.genPackageManifest(t),b=`${h}-${p}.tgz`,C=new UBe.URL(`${EA(a)}/${h}/-/${b}`);return{_id:h,_attachments:{[b]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:h,access:r,["dist-tags"]:{[o]:p},versions:{[p]:{...v,_id:`${h}@${p}`,name:h,version:p,gitHead:n,dist:{shasum:E,integrity:w,tarball:C.toString()}}}}}async function jBt(t){try{let{stdout:e}=await Mr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var pG={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},_Be={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},GBt={configuration:{...pG,..._Be,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...pG,..._Be}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:EA,valueDefinition:{description:"",type:"SHAPE",properties:{...pG}}}},fetchers:[ZB,yl],resolvers:[$B,ev,tv]},WBt=GBt;var wG={};Yt(wG,{NpmAuditCommand:()=>Mh,NpmInfoCommand:()=>Uh,NpmLoginCommand:()=>_h,NpmLogoutCommand:()=>Hh,NpmPublishCommand:()=>qh,NpmTagAddCommand:()=>Gh,NpmTagListCommand:()=>jh,NpmTagRemoveCommand:()=>Wh,NpmWhoamiCommand:()=>Yh,default:()=>evt,npmAuditUtils:()=>Yk});Ke();_t();var mv=tt(Jo());tl();var Gk=(o=>(o.All="all",o.Production="production",o.Development="development",o))(Gk||{}),Wk=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(Wk||{});var Yk={};Yt(Yk,{allSeverities:()=>$E,getDependencies:()=>yG,getReportTree:()=>dG,getRequires:()=>mG,isError:()=>gG});Ke();var $E=["info","low","moderate","high","critical"];function qBe(t,e){let r=[],o=new Set,a=u=>{o.has(u)||(o.add(u),r.push(u))};for(let u of e)a(u);let n=new Set;for(;r.length>0;){let u=r.shift(),A=t.storedResolutions.get(u);if(typeof A>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let p=t.storedPackages.get(A);if(!!p){n.add(u);for(let h of p.dependencies.values())a(h.descriptorHash)}}return n}function YBt(t,e){return new Set([...t].filter(r=>!e.has(r)))}function KBt(t,e,{all:r}){let o=r?t.workspaces:[e],a=o.map(v=>v.manifest),n=new Set(a.map(v=>[...v.dependencies].map(([b,C])=>b)).flat()),u=new Set(a.map(v=>[...v.devDependencies].map(([b,C])=>b)).flat()),A=o.map(v=>[...v.anchoredPackage.dependencies.values()]).flat(),p=A.filter(v=>n.has(v.identHash)).map(v=>v.descriptorHash),h=A.filter(v=>u.has(v.identHash)).map(v=>v.descriptorHash),E=qBe(t,p),w=qBe(t,h);return YBt(w,E)}function jBe(t){let e={};for(let r of t)e[Y.stringifyIdent(r)]=Y.parseRange(r.range).selector;return e}function GBe(t){if(typeof t>"u")return new Set($E);let e=$E.indexOf(t),r=$E.slice(e);return new Set(r)}function VBt(t,e){let r=GBe(e),o={};for(let a of r)o[a]=t[a];return o}function gG(t,e){let r=VBt(t,e);for(let o of Object.keys(r))if(r[o]??0>0)return!0;return!1}function dG(t,e){var n;let r={},o={children:r},a=Object.values(t.advisories);if(e!=null){let u=GBe(e);a=a.filter(A=>u.has(A.severity))}for(let u of Ye.sortMap(a,A=>A.module_name))r[u.module_name]={label:u.module_name,value:ye.tuple(ye.Type.RANGE,u.findings.map(A=>A.version).join(", ")),children:{ID:{label:"ID",value:ye.tuple(ye.Type.NUMBER,u.id)},Issue:{label:"Issue",value:ye.tuple(ye.Type.NO_HINT,u.title)},URL:{label:"URL",value:ye.tuple(ye.Type.URL,u.url)},Severity:{label:"Severity",value:ye.tuple(ye.Type.NO_HINT,u.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ye.tuple(ye.Type.RANGE,u.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ye.tuple(ye.Type.RANGE,u.patched_versions)},Via:{label:"Via",value:ye.tuple(ye.Type.NO_HINT,Array.from(new Set(u.findings.map(A=>A.paths).flat().map(A=>A.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ye.tuple(ye.Type.NO_HINT,(n=u.recommendation)==null?void 0:n.replace(/\n/g," "))}}};return o}function mG(t,e,{all:r,environment:o}){let a=r?t.workspaces:[e],n=["all","production"].includes(o),u=[];if(n)for(let h of a)for(let E of h.manifest.dependencies.values())u.push(E);let A=["all","development"].includes(o),p=[];if(A)for(let h of a)for(let E of h.manifest.devDependencies.values())p.push(E);return jBe([...u,...p].filter(h=>Y.parseRange(h.range).protocol===null))}function yG(t,e,{all:r}){let o=KBt(t,e,{all:r}),a={};for(let n of t.storedPackages.values())a[Y.stringifyIdent(n)]={version:n.version??"0.0.0",integrity:n.identHash,requires:jBe(n.dependencies.values()),dev:o.has(Y.convertLocatorToDescriptor(n).descriptorHash)};return a}var Mh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=fe.String("--environment","all",{description:"Which environments to cover",validator:Gs(Gk)});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=fe.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Gs(Wk)});this.excludes=fe.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=fe.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=mG(o,a,{all:this.all,environment:this.environment}),u=yG(o,a,{all:this.all});if(!this.recursive)for(let C of Object.keys(u))Object.prototype.hasOwnProperty.call(n,C)?u[C].requires={}:delete u[C];let A=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes]));if(A){for(let C of Object.keys(n))mv.default.isMatch(C,A)&&delete n[C];for(let C of Object.keys(u))mv.default.isMatch(C,A)&&delete u[C];for(let C of Object.keys(u))for(let R of Object.keys(u[C].requires))mv.default.isMatch(R,A)&&delete u[C].requires[R]}let p={requires:n,dependencies:u},h=Wn.getAuditRegistry({configuration:r}),E,w=await pA.start({configuration:r,stdout:this.context.stdout},async()=>{E=await an.post("/-/npm/v1/security/audits/quick",p,{authType:an.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h})});if(w.hasErrors())return w.exitCode();let v=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores]));if(v){for(let C of Object.keys(E.advisories))if(mv.default.isMatch(C,v)){let R=E.advisories[C],L=0;R.findings.forEach(_=>L+=_.paths.length),E.metadata.vulnerabilities[R.severity]-=L,delete E.advisories[C]}}let b=gG(E.metadata.vulnerabilities,this.severity);return!this.json&&b?(Zo.emitTree(dG(E,this.severity),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Et.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(E),b||C.reportInfo(1,"No audit suggestions")}),b?1:0)}};Mh.paths=[["npm","audit"]],Mh.usage=it.Usage({description:"perform a vulnerability audit against the installed packages",details:` |
666 | This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). | 668 | This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). |
667 | 669 | ||
668 | For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. | 670 | For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. |
669 | 671 | ||
670 | Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${VC.map(r=>`\`${r}\``).join(", ")}. | 672 | Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${$E.map(r=>`\`${r}\``).join(", ")}. |
671 | 673 | ||
672 | If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. | 674 | If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. |
673 | 675 | ||
@@ -676,32 +678,32 @@ ${Qe.map(Le=>`Not found: ${uu(Le)} | |||
676 | If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. | 678 | If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. |
677 | 679 | ||
678 | To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why <package>\` to get more information as to who depends on them. | 680 | To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why <package>\` to get more information as to who depends on them. |
679 | `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});Ke();Ke();bt();_t();var p9=tt(ii()),h9=Ie("util"),Lh=class extends ct{constructor(){super(...arguments);this.fields=fe.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],u=!1,A=await Ct.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let C;if(h==="."){let oe=o.topLevelWorkspace;if(!oe.manifest.name)throw new ot(`Missing ${ye.pretty(r,"name",ye.Type.CODE)} field in ${Ae.fromPortablePath(V.join(oe.cwd,Lr.manifest))}`);C=Y.makeDescriptor(oe.manifest.name,"unknown")}else C=Y.parseDescriptor(h);let w=an.getIdentUrl(C),v=g9(await an.get(w,{configuration:r,ident:C,jsonResponse:!0,customErrorMessage:an.customPackageError})),b=Object.keys(v.versions).sort(p9.default.compareLoose),R=v["dist-tags"].latest||b[b.length-1],L=Tr.validRange(C.range);if(L){let oe=p9.default.maxSatisfying(b,L);oe!==null?R=oe:(p.reportWarning(0,`Unmet range ${Y.prettyRange(r,C.range)}; falling back to the latest version`),u=!0)}else Object.prototype.hasOwnProperty.call(v["dist-tags"],C.range)?R=v["dist-tags"][C.range]:C.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${Y.prettyRange(r,C.range)}; falling back to the latest version`),u=!0);let _=v.versions[R],J={...v,..._,version:R,versions:b},re;if(a!==null){re={};for(let oe of a){let pe=J[oe];if(typeof pe<"u")re[oe]=pe;else{p.reportWarning(1,`The ${ye.pretty(r,oe,ye.Type.CODE)} field doesn't exist inside ${Y.prettyIdent(r,C)}'s information`),u=!0;continue}}}else this.json||(delete J.dist,delete J.readme,delete J.users),re=J;p.reportJson(re),this.json||n.push(re)}});h9.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||u)&&this.context.stdout.write(` | 681 | `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});Ke();Ke();bt();_t();var CG=tt(si()),EG=Ie("util"),Uh=class extends ct{constructor(){super(...arguments);this.fields=fe.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],u=!1,A=await Et.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let E;if(h==="."){let oe=o.topLevelWorkspace;if(!oe.manifest.name)throw new ot(`Missing ${ye.pretty(r,"name",ye.Type.CODE)} field in ${ue.fromPortablePath(z.join(oe.cwd,Lr.manifest))}`);E=Y.makeDescriptor(oe.manifest.name,"unknown")}else E=Y.parseDescriptor(h);let w=an.getIdentUrl(E),v=IG(await an.get(w,{configuration:r,ident:E,jsonResponse:!0,customErrorMessage:an.customPackageError})),b=Object.keys(v.versions).sort(CG.default.compareLoose),R=v["dist-tags"].latest||b[b.length-1],L=Tr.validRange(E.range);if(L){let oe=CG.default.maxSatisfying(b,L);oe!==null?R=oe:(p.reportWarning(0,`Unmet range ${Y.prettyRange(r,E.range)}; falling back to the latest version`),u=!0)}else Object.prototype.hasOwnProperty.call(v["dist-tags"],E.range)?R=v["dist-tags"][E.range]:E.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${Y.prettyRange(r,E.range)}; falling back to the latest version`),u=!0);let _=v.versions[R],V={...v,..._,version:R,versions:b},re;if(a!==null){re={};for(let oe of a){let pe=V[oe];if(typeof pe<"u")re[oe]=pe;else{p.reportWarning(1,`The ${ye.pretty(r,oe,ye.Type.CODE)} field doesn't exist inside ${Y.prettyIdent(r,E)}'s information`),u=!0;continue}}}else this.json||(delete V.dist,delete V.readme,delete V.users),re=V;p.reportJson(re),this.json||n.push(re)}});EG.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||u)&&this.context.stdout.write(` |
680 | `),this.context.stdout.write(`${(0,h9.inspect)(p,{depth:1/0,colors:!0,compact:!1})} | 682 | `),this.context.stdout.write(`${(0,EG.inspect)(p,{depth:1/0,colors:!0,compact:!1})} |
681 | `);return A.exitCode()}};Lh.paths=[["npm","info"]],Lh.usage=it.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function g9(t){if(Array.isArray(t)){let e=[];for(let r of t)r=g9(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let o=g9(t[r]);o&&(e[r]=o)}return e}else return t||null}Ke();Ke();_t();var TBe=tt(Y1()),Oh=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Wk({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ct.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=await LBt({configuration:r,registry:o,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),A=`/-/user/org.couchdb.user:${encodeURIComponent(u.name)}`,p=await an.put(A,u,{attemptedAs:u.name,configuration:r,registry:o,jsonResponse:!0,authType:an.AuthType.NO_AUTH});return await NBt(o,p.token,{configuration:r,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};Oh.paths=[["npm","login"]],Oh.usage=it.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function Wk({scope:t,publish:e,configuration:r,cwd:o}){return t&&e?Gn.getScopeRegistry(t,{configuration:r,type:Gn.RegistryType.PUBLISH_REGISTRY}):t?Gn.getScopeRegistry(t,{configuration:r}):e?Gn.getPublishRegistry((await iC(r,o)).manifest,{configuration:r}):Gn.getDefaultRegistry({configuration:r})}async function NBt(t,e,{configuration:r,scope:o}){let a=u=>A=>{let p=Ye.isIndexableObject(A)?A:{},h=p[u],C=Ye.isIndexableObject(h)?h:{};return{...p,[u]:{...C,npmAuthToken:e}}},n=o?{npmScopes:a(o)}:{npmRegistries:a(t)};return await Xe.updateHomeConfiguration(n)}async function LBt({configuration:t,registry:e,report:r,stdin:o,stdout:a}){r.reportInfo(0,`Logging in to ${ye.pretty(t,e,ye.Type.URL)}`);let n=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||"",password:process.env.YARN_INJECT_NPM_PASSWORD||""};let{username:u,password:A}=await(0,TBe.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a}]);return r.reportSeparator(),{name:u,password:A}}Ke();Ke();_t();var zC=new Set(["npmAuthIdent","npmAuthToken"]),Mh=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=fe.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=async()=>{let n=await Wk({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),u=await Xe.find(this.context.cwd,this.context.plugins),A=Y.makeIdent(this.scope??null,"pkg");return!Gn.getAuthConfiguration(n,{configuration:u,ident:A}).get("npmAuthToken")};return(await Ct.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await MBt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await NBe("npmScopes",this.scope),await o()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let u=await Wk({configuration:r,cwd:this.context.cwd,publish:this.publish});await NBe("npmRegistries",u),await o()?n.reportInfo(0,`Successfully logged out from ${u}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Mh.paths=[["npm","logout"]],Mh.usage=it.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function OBt(t,e){let r=t[e];if(!Ye.isIndexableObject(r))return!1;let o=new Set(Object.keys(r));if([...zC].every(n=>!o.has(n)))return!1;for(let n of zC)o.delete(n);if(o.size===0)return t[e]=void 0,!0;let a={...r};for(let n of zC)delete a[n];return t[e]=a,!0}async function MBt(){let t=e=>{let r=!1,o=Ye.isIndexableObject(e)?{...e}:{};o.npmAuthToken&&(delete o.npmAuthToken,r=!0);for(let a of Object.keys(o))OBt(o,a)&&(r=!0);if(Object.keys(o).length!==0)return r?o:e};return await Xe.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function NBe(t,e){return await Xe.updateHomeConfiguration({[t]:r=>{let o=Ye.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(o,e))return r;let a=o[e],n=Ye.isIndexableObject(a)?a:{},u=new Set(Object.keys(n));if([...zC].every(p=>!u.has(p)))return r;for(let p of zC)u.delete(p);if(u.size===0)return Object.keys(o).length===1?void 0:{...o,[e]:void 0};let A={};for(let p of zC)A[p]=void 0;return{...o,[e]:{...n,...A}}}})}Ke();_t();var Uh=class extends ct{constructor(){super(...arguments);this.access=fe.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=fe.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=fe.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=fe.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);if(a.manifest.private)throw new ot("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new ot("Workspaces must have valid names and versions to be published on an external registry");await o.restoreInstallState();let n=a.manifest.name,u=a.manifest.version,A=Gn.getPublishRegistry(a.manifest,{configuration:r});return(await Ct.start({configuration:r,stdout:this.context.stdout},async h=>{var C,w;if(this.tolerateRepublish)try{let v=await an.get(an.getIdentUrl(n),{configuration:r,registry:A,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(v,"versions"))throw new Jt(15,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(v.versions,u)){h.reportWarning(0,`Registry already knows about version ${u}; skipping.`);return}}catch(v){if(((w=(C=v.originalError)==null?void 0:C.response)==null?void 0:w.statusCode)!==404)throw v}await sn.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await IA.prepareForPack(a,{report:h},async()=>{let v=await IA.genPackList(a);for(let _ of v)h.reportInfo(null,_);let b=await IA.genPackStream(a,v),E=await Ye.bufferStream(b),R=await JC.getGitHead(a.cwd),L=await JC.makePublishBody(a,E,{access:this.access,tag:this.tag,registry:A,gitHead:R});await an.put(an.getIdentUrl(n),L,{configuration:r,registry:A,ident:n,otp:this.otp,jsonResponse:!0})}),h.reportInfo(0,"Package archive published")})).exitCode()}};Uh.paths=[["npm","publish"]],Uh.usage=it.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});Ke();_t();var LBe=tt(ii());Ke();bt();_t();var _h=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=fe.String({required:!1})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n;if(typeof this.package<"u")n=Y.parseIdent(this.package);else{if(!a)throw new er(o.cwd,this.context.cwd);if(!a.manifest.name)throw new ot(`Missing 'name' field in ${Ae.fromPortablePath(V.join(a.cwd,Lr.manifest))}`);n=a.manifest.name}let u=await Av(n,r),p={children:Ye.sortMap(Object.entries(u),([h])=>h).map(([h,C])=>({value:ye.tuple(ye.Type.RESOLUTION,{descriptor:Y.makeDescriptor(n,h),locator:Y.makeLocator(n,C)})}))};return Xo.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};_h.paths=[["npm","tag","list"]],_h.usage=it.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` | 683 | `);return A.exitCode()}};Uh.paths=[["npm","info"]],Uh.usage=it.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@<range>` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function IG(t){if(Array.isArray(t)){let e=[];for(let r of t)r=IG(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let o=IG(t[r]);o&&(e[r]=o)}return e}else return t||null}Ke();Ke();_t();var WBe=tt(z1()),_h=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=await Kk({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Et.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=await zBt({configuration:r,registry:o,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),A=`/-/user/org.couchdb.user:${encodeURIComponent(u.name)}`,p=await an.put(A,u,{attemptedAs:u.name,configuration:r,registry:o,jsonResponse:!0,authType:an.AuthType.NO_AUTH});return await JBt(o,p.token,{configuration:r,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};_h.paths=[["npm","login"]],_h.usage=it.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function Kk({scope:t,publish:e,configuration:r,cwd:o}){return t&&e?Wn.getScopeRegistry(t,{configuration:r,type:Wn.RegistryType.PUBLISH_REGISTRY}):t?Wn.getScopeRegistry(t,{configuration:r}):e?Wn.getPublishRegistry((await cE(r,o)).manifest,{configuration:r}):Wn.getDefaultRegistry({configuration:r})}async function JBt(t,e,{configuration:r,scope:o}){let a=u=>A=>{let p=Ye.isIndexableObject(A)?A:{},h=p[u],E=Ye.isIndexableObject(h)?h:{};return{...p,[u]:{...E,npmAuthToken:e}}},n=o?{npmScopes:a(o)}:{npmRegistries:a(t)};return await Xe.updateHomeConfiguration(n)}async function zBt({configuration:t,registry:e,report:r,stdin:o,stdout:a}){r.reportInfo(0,`Logging in to ${ye.pretty(t,e,ye.Type.URL)}`);let n=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||"",password:process.env.YARN_INJECT_NPM_PASSWORD||""};let{username:u,password:A}=await(0,WBe.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a}]);return r.reportSeparator(),{name:u,password:A}}Ke();Ke();_t();var eI=new Set(["npmAuthIdent","npmAuthToken"]),Hh=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=fe.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o=async()=>{let n=await Kk({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),u=await Xe.find(this.context.cwd,this.context.plugins),A=Y.makeIdent(this.scope??null,"pkg");return!Wn.getAuthConfiguration(n,{configuration:u,ident:A}).get("npmAuthToken")};return(await Et.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await ZBt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await YBe("npmScopes",this.scope),await o()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let u=await Kk({configuration:r,cwd:this.context.cwd,publish:this.publish});await YBe("npmRegistries",u),await o()?n.reportInfo(0,`Successfully logged out from ${u}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Hh.paths=[["npm","logout"]],Hh.usage=it.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function XBt(t,e){let r=t[e];if(!Ye.isIndexableObject(r))return!1;let o=new Set(Object.keys(r));if([...eI].every(n=>!o.has(n)))return!1;for(let n of eI)o.delete(n);if(o.size===0)return t[e]=void 0,!0;let a={...r};for(let n of eI)delete a[n];return t[e]=a,!0}async function ZBt(){let t=e=>{let r=!1,o=Ye.isIndexableObject(e)?{...e}:{};o.npmAuthToken&&(delete o.npmAuthToken,r=!0);for(let a of Object.keys(o))XBt(o,a)&&(r=!0);if(Object.keys(o).length!==0)return r?o:e};return await Xe.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function YBe(t,e){return await Xe.updateHomeConfiguration({[t]:r=>{let o=Ye.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(o,e))return r;let a=o[e],n=Ye.isIndexableObject(a)?a:{},u=new Set(Object.keys(n));if([...eI].every(p=>!u.has(p)))return r;for(let p of eI)u.delete(p);if(u.size===0)return Object.keys(o).length===1?void 0:{...o,[e]:void 0};let A={};for(let p of eI)A[p]=void 0;return{...o,[e]:{...n,...A}}}})}Ke();_t();var qh=class extends ct{constructor(){super(...arguments);this.access=fe.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=fe.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=fe.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=fe.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);if(a.manifest.private)throw new ot("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new ot("Workspaces must have valid names and versions to be published on an external registry");await o.restoreInstallState();let n=a.manifest.name,u=a.manifest.version,A=Wn.getPublishRegistry(a.manifest,{configuration:r});return(await Et.start({configuration:r,stdout:this.context.stdout},async h=>{var E,w;if(this.tolerateRepublish)try{let v=await an.get(an.getIdentUrl(n),{configuration:r,registry:A,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(v,"versions"))throw new Vt(15,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(v.versions,u)){h.reportWarning(0,`Registry already knows about version ${u}; skipping.`);return}}catch(v){if(((w=(E=v.originalError)==null?void 0:E.response)==null?void 0:w.statusCode)!==404)throw v}await sn.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await BA.prepareForPack(a,{report:h},async()=>{let v=await BA.genPackList(a);for(let _ of v)h.reportInfo(null,_);let b=await BA.genPackStream(a,v),C=await Ye.bufferStream(b),R=await ZE.getGitHead(a.cwd),L=await ZE.makePublishBody(a,C,{access:this.access,tag:this.tag,registry:A,gitHead:R});await an.put(an.getIdentUrl(n),L,{configuration:r,registry:A,ident:n,otp:this.otp,jsonResponse:!0})}),h.reportInfo(0,"Package archive published")})).exitCode()}};qh.paths=[["npm","publish"]],qh.usage=it.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});Ke();_t();var KBe=tt(si());Ke();bt();_t();var jh=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=fe.String({required:!1})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n;if(typeof this.package<"u")n=Y.parseIdent(this.package);else{if(!a)throw new er(o.cwd,this.context.cwd);if(!a.manifest.name)throw new ot(`Missing 'name' field in ${ue.fromPortablePath(z.join(a.cwd,Lr.manifest))}`);n=a.manifest.name}let u=await yv(n,r),p={children:Ye.sortMap(Object.entries(u),([h])=>h).map(([h,E])=>({value:ye.tuple(ye.Type.RESOLUTION,{descriptor:Y.makeDescriptor(n,h),locator:Y.makeLocator(n,E)})}))};return Zo.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};jh.paths=[["npm","tag","list"]],jh.usage=it.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` |
682 | This command will list all tags of a package from the npm registry. | 684 | This command will list all tags of a package from the npm registry. |
683 | 685 | ||
684 | If the package is not specified, Yarn will default to the current workspace. | 686 | If the package is not specified, Yarn will default to the current workspace. |
685 | `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function Av(t,e){let r=`/-/package${an.getIdentUrl(t)}/dist-tags`;return an.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:an.customPackageError})}var Hh=class extends ct{constructor(){super(...arguments);this.package=fe.String();this.tag=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=Y.parseDescriptor(this.package,!0),u=n.range;if(!LBe.default.valid(u))throw new ot(`The range ${ye.pretty(r,n.range,ye.Type.RANGE)} must be a valid semver version`);let A=Gn.getPublishRegistry(a.manifest,{configuration:r}),p=ye.pretty(r,n,ye.Type.IDENT),h=ye.pretty(r,u,ye.Type.RANGE),C=ye.pretty(r,this.tag,ye.Type.CODE);return(await Ct.start({configuration:r,stdout:this.context.stdout},async v=>{let b=await Av(n,r);Object.prototype.hasOwnProperty.call(b,this.tag)&&b[this.tag]===u&&v.reportWarning(0,`Tag ${C} is already set to version ${h}`);let E=`/-/package${an.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await an.put(E,u,{configuration:r,registry:A,ident:n,jsonRequest:!0,jsonResponse:!0}),v.reportInfo(0,`Tag ${C} added to version ${h} of package ${p}`)})).exitCode()}};Hh.paths=[["npm","tag","add"]],Hh.usage=it.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` | 687 | `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function yv(t,e){let r=`/-/package${an.getIdentUrl(t)}/dist-tags`;return an.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:an.customPackageError})}var Gh=class extends ct{constructor(){super(...arguments);this.package=fe.String();this.tag=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=Y.parseDescriptor(this.package,!0),u=n.range;if(!KBe.default.valid(u))throw new ot(`The range ${ye.pretty(r,n.range,ye.Type.RANGE)} must be a valid semver version`);let A=Wn.getPublishRegistry(a.manifest,{configuration:r}),p=ye.pretty(r,n,ye.Type.IDENT),h=ye.pretty(r,u,ye.Type.RANGE),E=ye.pretty(r,this.tag,ye.Type.CODE);return(await Et.start({configuration:r,stdout:this.context.stdout},async v=>{let b=await yv(n,r);Object.prototype.hasOwnProperty.call(b,this.tag)&&b[this.tag]===u&&v.reportWarning(0,`Tag ${E} is already set to version ${h}`);let C=`/-/package${an.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await an.put(C,u,{configuration:r,registry:A,ident:n,jsonRequest:!0,jsonResponse:!0}),v.reportInfo(0,`Tag ${E} added to version ${h} of package ${p}`)})).exitCode()}};Gh.paths=[["npm","tag","add"]],Gh.usage=it.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` |
686 | This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. | 688 | This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. |
687 | `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});Ke();_t();var qh=class extends ct{constructor(){super(...arguments);this.package=fe.String();this.tag=fe.String()}async execute(){if(this.tag==="latest")throw new ot("The 'latest' tag cannot be removed.");let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=Y.parseIdent(this.package),u=Gn.getPublishRegistry(a.manifest,{configuration:r}),A=ye.pretty(r,this.tag,ye.Type.CODE),p=ye.pretty(r,n,ye.Type.IDENT),h=await Av(n,r);if(!Object.prototype.hasOwnProperty.call(h,this.tag))throw new ot(`${A} is not a tag of package ${p}`);return(await Ct.start({configuration:r,stdout:this.context.stdout},async w=>{let v=`/-/package${an.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await an.del(v,{configuration:r,registry:u,ident:n,jsonResponse:!0}),w.reportInfo(0,`Tag ${A} removed from package ${p}`)})).exitCode()}};qh.paths=[["npm","tag","remove"]],qh.usage=it.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` | 689 | `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});Ke();_t();var Wh=class extends ct{constructor(){super(...arguments);this.package=fe.String();this.tag=fe.String()}async execute(){if(this.tag==="latest")throw new ot("The 'latest' tag cannot be removed.");let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=Y.parseIdent(this.package),u=Wn.getPublishRegistry(a.manifest,{configuration:r}),A=ye.pretty(r,this.tag,ye.Type.CODE),p=ye.pretty(r,n,ye.Type.IDENT),h=await yv(n,r);if(!Object.prototype.hasOwnProperty.call(h,this.tag))throw new ot(`${A} is not a tag of package ${p}`);return(await Et.start({configuration:r,stdout:this.context.stdout},async w=>{let v=`/-/package${an.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await an.del(v,{configuration:r,registry:u,ident:n,jsonResponse:!0}),w.reportInfo(0,`Tag ${A} removed from package ${p}`)})).exitCode()}};Wh.paths=[["npm","tag","remove"]],Wh.usage=it.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` |
688 | This command will remove a tag from a package from the npm registry. | 690 | This command will remove a tag from a package from the npm registry. |
689 | `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});Ke();Ke();_t();var jh=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o;return this.scope&&this.publish?o=Gn.getScopeRegistry(this.scope,{configuration:r,type:Gn.RegistryType.PUBLISH_REGISTRY}):this.scope?o=Gn.getScopeRegistry(this.scope,{configuration:r}):this.publish?o=Gn.getPublishRegistry((await iC(r,this.context.cwd)).manifest,{configuration:r}):o=Gn.getDefaultRegistry({configuration:r}),(await Ct.start({configuration:r,stdout:this.context.stdout},async n=>{var A,p;let u;try{u=await an.get("/-/whoami",{configuration:r,registry:o,authType:an.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?Y.makeIdent(this.scope,""):void 0})}catch(h){if(((A=h.response)==null?void 0:A.statusCode)===401||((p=h.response)==null?void 0:p.statusCode)===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw h}n.reportInfo(0,u.username)})).exitCode()}};jh.paths=[["npm","whoami"]],jh.usage=it.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var UBt={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[Nh,Lh,Oh,Mh,Uh,Hh,_h,qh,jh]},_Bt=UBt;var B9={};Yt(B9,{PatchCommand:()=>Yh,PatchCommitCommand:()=>Wh,PatchFetcher:()=>dv,PatchResolver:()=>mv,default:()=>ivt,patchUtils:()=>Bm});Ke();Ke();bt();Oc();var Bm={};Yt(Bm,{applyPatchFile:()=>Kk,diffFolders:()=>I9,ensureUnpatchedDescriptor:()=>m9,ensureUnpatchedLocator:()=>Vk,extractPackageToDisk:()=>C9,extractPatchFlags:()=>jBe,isParentRequired:()=>E9,isPatchDescriptor:()=>Jk,isPatchLocator:()=>Gh,loadPatchFiles:()=>gv,makeDescriptor:()=>zk,makeLocator:()=>y9,makePatchHash:()=>w9,parseDescriptor:()=>pv,parseLocator:()=>hv,parsePatchFile:()=>fv,unpatchDescriptor:()=>tvt,unpatchLocator:()=>rvt});Ke();bt();Ke();bt();var HBt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function XC(t){return V.relative(wt.root,V.resolve(wt.root,Ae.toPortablePath(t)))}function qBt(t){let e=t.trim().match(HBt);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var jBt=420,GBt=493;var OBe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),WBt=t=>({header:qBt(t),parts:[]}),YBt={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function KBt(t){let e=[],r=OBe(),o="parsing header",a=null,n=null;function u(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function A(){u(),e.push(r),r=OBe()}for(let p=0;p<t.length;p++){let h=t[p];if(o==="parsing header")if(h.startsWith("@@"))o="parsing hunks",r.hunks=[],p-=1;else if(h.startsWith("diff --git ")){r&&r.diffLineFromPath&&A();let C=h.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/);if(!C)throw new Error(`Bad diff line: ${h}`);r.diffLineFromPath=C[1],r.diffLineToPath=C[2]}else if(h.startsWith("old mode "))r.oldMode=h.slice(9).trim();else if(h.startsWith("new mode "))r.newMode=h.slice(9).trim();else if(h.startsWith("deleted file mode "))r.deletedFileMode=h.slice(18).trim();else if(h.startsWith("new file mode "))r.newFileMode=h.slice(14).trim();else if(h.startsWith("rename from "))r.renameFrom=h.slice(12).trim();else if(h.startsWith("rename to "))r.renameTo=h.slice(10).trim();else if(h.startsWith("index ")){let C=h.match(/(\w+)\.\.(\w+)/);if(!C)continue;r.beforeHash=C[1],r.afterHash=C[2]}else h.startsWith("semver exclusivity ")?r.semverExclusivity=h.slice(19).trim():h.startsWith("--- ")?r.fromPath=h.slice(6).trim():h.startsWith("+++ ")&&(r.toPath=h.slice(6).trim());else{let C=YBt[h[0]]||null;switch(C){case"header":u(),a=WBt(h);break;case null:o="parsing header",A(),p-=1;break;case"pragma":{if(!h.startsWith("\\ No newline at end of file"))throw new Error(`Unrecognized pragma in patch file: ${h}`);if(!n)throw new Error("Bad parser state: No newline at EOF pragma encountered without context");n.noNewlineAtEndOfFile=!0}break;case"context":case"deletion":case"insertion":{if(!a)throw new Error("Bad parser state: Hunk lines encountered before hunk header");n&&n.type!==C&&(a.parts.push(n),n=null),n||(n={type:C,lines:[],noNewlineAtEndOfFile:!1}),n.lines.push(h.slice(1))}break;default:Ye.assertNever(C);break}}}A();for(let{hunks:p}of e)if(p)for(let h of p)VBt(h);return e}function JBt(t){let e=[];for(let r of t){let{semverExclusivity:o,diffLineFromPath:a,diffLineToPath:n,oldMode:u,newMode:A,deletedFileMode:p,newFileMode:h,renameFrom:C,renameTo:w,beforeHash:v,afterHash:b,fromPath:E,toPath:R,hunks:L}=r,_=C?"rename":p?"file deletion":h?"file creation":L&&L.length>0?"patch":"mode change",J=null;switch(_){case"rename":{if(!C||!w)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:o,fromPath:XC(C),toPath:XC(w)}),J=w}break;case"file deletion":{let re=a||E;if(!re)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:o,hunk:L&&L[0]||null,path:XC(re),mode:Yk(p),hash:v})}break;case"file creation":{let re=n||R;if(!re)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:o,hunk:L&&L[0]||null,path:XC(re),mode:Yk(h),hash:b})}break;case"patch":case"mode change":J=R||n;break;default:Ye.assertNever(_);break}J&&u&&A&&u!==A&&e.push({type:"mode change",semverExclusivity:o,path:XC(J),oldMode:Yk(u),newMode:Yk(A)}),J&&L&&L.length&&e.push({type:"patch",semverExclusivity:o,path:XC(J),hunks:L,beforeHash:v,afterHash:b})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function Yk(t){let e=parseInt(t,8)&511;if(e!==jBt&&e!==GBt)throw new Error(`Unexpected file mode string: ${t}`);return e}function fv(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),JBt(KBt(e))}function VBt(t){let e=0,r=0;for(let{type:o,lines:a}of t.parts)switch(o){case"context":r+=a.length,e+=a.length;break;case"deletion":e+=a.length;break;case"insertion":r+=a.length;break;default:Ye.assertNever(o);break}if(e!==t.header.original.length||r!==t.header.patched.length){let o=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${o(t.header.original.length)} ${o(t.header.patched.length)} @@, got @@ ${o(e)} ${o(r)} @@)`)}}Ke();bt();var ZC=class extends Error{constructor(r,o){super(`Cannot apply hunk #${r+1}`);this.hunk=o}};async function $C(t,e,r){let o=await t.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await t.lutimesPromise(e,o.atime,o.mtime)}async function Kk(t,{baseFs:e=new xn,dryRun:r=!1,version:o=null}={}){for(let a of t)if(!(a.semverExclusivity!==null&&o!==null&&!Tr.satisfiesWithPrereleases(o,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!e.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await $C(e,V.dirname(a.path),async()=>{await e.unlinkPromise(a.path)});break;case"rename":if(r){if(!e.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await $C(e,V.dirname(a.fromPath),async()=>{await $C(e,V.dirname(a.toPath),async()=>{await $C(e,a.fromPath,async()=>(await e.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(e.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(` | 691 | `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});Ke();Ke();_t();var Yh=class extends ct{constructor(){super(...arguments);this.scope=fe.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=fe.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),o;return this.scope&&this.publish?o=Wn.getScopeRegistry(this.scope,{configuration:r,type:Wn.RegistryType.PUBLISH_REGISTRY}):this.scope?o=Wn.getScopeRegistry(this.scope,{configuration:r}):this.publish?o=Wn.getPublishRegistry((await cE(r,this.context.cwd)).manifest,{configuration:r}):o=Wn.getDefaultRegistry({configuration:r}),(await Et.start({configuration:r,stdout:this.context.stdout},async n=>{var A,p;let u;try{u=await an.get("/-/whoami",{configuration:r,registry:o,authType:an.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?Y.makeIdent(this.scope,""):void 0})}catch(h){if(((A=h.response)==null?void 0:A.statusCode)===401||((p=h.response)==null?void 0:p.statusCode)===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw h}n.reportInfo(0,u.username)})).exitCode()}};Yh.paths=[["npm","whoami"]],Yh.usage=it.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var $Bt={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[Mh,Uh,_h,Hh,qh,Gh,jh,Wh,Yh]},evt=$Bt;var bG={};Yt(bG,{PatchCommand:()=>Jh,PatchCommitCommand:()=>Vh,PatchFetcher:()=>Bv,PatchResolver:()=>vv,default:()=>yvt,patchUtils:()=>Pm});Ke();Ke();bt();_c();var Pm={};Yt(Pm,{applyPatchFile:()=>Jk,diffFolders:()=>PG,ensureUnpatchedDescriptor:()=>BG,ensureUnpatchedLocator:()=>Xk,extractPackageToDisk:()=>SG,extractPatchFlags:()=>eve,isParentRequired:()=>DG,isPatchDescriptor:()=>zk,isPatchLocator:()=>Kh,loadPatchFiles:()=>wv,makeDescriptor:()=>Zk,makeLocator:()=>vG,makePatchHash:()=>xG,parseDescriptor:()=>Ev,parseLocator:()=>Iv,parsePatchFile:()=>Cv,unpatchDescriptor:()=>gvt,unpatchLocator:()=>dvt});Ke();bt();Ke();bt();var tvt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function tI(t){return z.relative(wt.root,z.resolve(wt.root,ue.toPortablePath(t)))}function rvt(t){let e=t.trim().match(tvt);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var nvt=420,ivt=493;var VBe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),svt=t=>({header:rvt(t),parts:[]}),ovt={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function avt(t){let e=[],r=VBe(),o="parsing header",a=null,n=null;function u(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function A(){u(),e.push(r),r=VBe()}for(let p=0;p<t.length;p++){let h=t[p];if(o==="parsing header")if(h.startsWith("@@"))o="parsing hunks",r.hunks=[],p-=1;else if(h.startsWith("diff --git ")){r&&r.diffLineFromPath&&A();let E=h.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/);if(!E)throw new Error(`Bad diff line: ${h}`);r.diffLineFromPath=E[1],r.diffLineToPath=E[2]}else if(h.startsWith("old mode "))r.oldMode=h.slice(9).trim();else if(h.startsWith("new mode "))r.newMode=h.slice(9).trim();else if(h.startsWith("deleted file mode "))r.deletedFileMode=h.slice(18).trim();else if(h.startsWith("new file mode "))r.newFileMode=h.slice(14).trim();else if(h.startsWith("rename from "))r.renameFrom=h.slice(12).trim();else if(h.startsWith("rename to "))r.renameTo=h.slice(10).trim();else if(h.startsWith("index ")){let E=h.match(/(\w+)\.\.(\w+)/);if(!E)continue;r.beforeHash=E[1],r.afterHash=E[2]}else h.startsWith("semver exclusivity ")?r.semverExclusivity=h.slice(19).trim():h.startsWith("--- ")?r.fromPath=h.slice(6).trim():h.startsWith("+++ ")&&(r.toPath=h.slice(6).trim());else{let E=ovt[h[0]]||null;switch(E){case"header":u(),a=svt(h);break;case null:o="parsing header",A(),p-=1;break;case"pragma":{if(!h.startsWith("\\ No newline at end of file"))throw new Error(`Unrecognized pragma in patch file: ${h}`);if(!n)throw new Error("Bad parser state: No newline at EOF pragma encountered without context");n.noNewlineAtEndOfFile=!0}break;case"context":case"deletion":case"insertion":{if(!a)throw new Error("Bad parser state: Hunk lines encountered before hunk header");n&&n.type!==E&&(a.parts.push(n),n=null),n||(n={type:E,lines:[],noNewlineAtEndOfFile:!1}),n.lines.push(h.slice(1))}break;default:Ye.assertNever(E);break}}}A();for(let{hunks:p}of e)if(p)for(let h of p)cvt(h);return e}function lvt(t){let e=[];for(let r of t){let{semverExclusivity:o,diffLineFromPath:a,diffLineToPath:n,oldMode:u,newMode:A,deletedFileMode:p,newFileMode:h,renameFrom:E,renameTo:w,beforeHash:v,afterHash:b,fromPath:C,toPath:R,hunks:L}=r,_=E?"rename":p?"file deletion":h?"file creation":L&&L.length>0?"patch":"mode change",V=null;switch(_){case"rename":{if(!E||!w)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:o,fromPath:tI(E),toPath:tI(w)}),V=w}break;case"file deletion":{let re=a||C;if(!re)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:o,hunk:L&&L[0]||null,path:tI(re),mode:Vk(p),hash:v})}break;case"file creation":{let re=n||R;if(!re)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:o,hunk:L&&L[0]||null,path:tI(re),mode:Vk(h),hash:b})}break;case"patch":case"mode change":V=R||n;break;default:Ye.assertNever(_);break}V&&u&&A&&u!==A&&e.push({type:"mode change",semverExclusivity:o,path:tI(V),oldMode:Vk(u),newMode:Vk(A)}),V&&L&&L.length&&e.push({type:"patch",semverExclusivity:o,path:tI(V),hunks:L,beforeHash:v,afterHash:b})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function Vk(t){let e=parseInt(t,8)&511;if(e!==nvt&&e!==ivt)throw new Error(`Unexpected file mode string: ${t}`);return e}function Cv(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),lvt(avt(e))}function cvt(t){let e=0,r=0;for(let{type:o,lines:a}of t.parts)switch(o){case"context":r+=a.length,e+=a.length;break;case"deletion":e+=a.length;break;case"insertion":r+=a.length;break;default:Ye.assertNever(o);break}if(e!==t.header.original.length||r!==t.header.patched.length){let o=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${o(t.header.original.length)} ${o(t.header.patched.length)} @@, got @@ ${o(e)} ${o(r)} @@)`)}}Ke();bt();var rI=class extends Error{constructor(r,o){super(`Cannot apply hunk #${r+1}`);this.hunk=o}};async function nI(t,e,r){let o=await t.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await t.lutimesPromise(e,o.atime,o.mtime)}async function Jk(t,{baseFs:e=new xn,dryRun:r=!1,version:o=null}={}){for(let a of t)if(!(a.semverExclusivity!==null&&o!==null&&!Tr.satisfiesWithPrereleases(o,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!e.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await nI(e,z.dirname(a.path),async()=>{await e.unlinkPromise(a.path)});break;case"rename":if(r){if(!e.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await nI(e,z.dirname(a.fromPath),async()=>{await nI(e,z.dirname(a.toPath),async()=>{await nI(e,a.fromPath,async()=>(await e.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(e.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(` |
690 | `)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":` | 692 | `)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":` |
691 | `):"";await e.mkdirpPromise(V.dirname(a.path),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),await e.writeFilePromise(a.path,n,{mode:a.mode}),await e.utimesPromise(a.path,Ii.SAFE_TIME,Ii.SAFE_TIME)}break;case"patch":await $C(e,a.path,async()=>{await ZBt(a,{baseFs:e,dryRun:r})});break;case"mode change":{let u=(await e.statPromise(a.path)).mode;if(MBe(a.newMode)!==MBe(u))continue;await $C(e,a.path,async()=>{await e.chmodPromise(a.path,a.newMode)})}break;default:Ye.assertNever(a);break}}function MBe(t){return(t&64)>0}function UBe(t){return t.replace(/\s+$/,"")}function XBt(t,e){return UBe(t)===UBe(e)}async function ZBt({hunks:t,path:e},{baseFs:r,dryRun:o=!1}){let a=await r.statSync(e).mode,u=(await r.readFileSync(e,"utf8")).split(/\n/),A=[],p=0,h=0;for(let w of t){let v=Math.max(h,w.header.patched.start+p),b=Math.max(0,v-h),E=Math.max(0,u.length-v-w.header.original.length),R=Math.max(b,E),L=0,_=0,J=null;for(;L<=R;){if(L<=b&&(_=v-L,J=_Be(w,u,_),J!==null)){L=-L;break}if(L<=E&&(_=v+L,J=_Be(w,u,_),J!==null))break;L+=1}if(J===null)throw new ZC(t.indexOf(w),w);A.push(J),p+=L,h=_+w.header.original.length}if(o)return;let C=0;for(let w of A)for(let v of w)switch(v.type){case"splice":{let b=v.index+C;u.splice(b,v.numToDelete,...v.linesToInsert),C+=v.linesToInsert.length-v.numToDelete}break;case"pop":u.pop();break;case"push":u.push(v.line);break;default:Ye.assertNever(v);break}await r.writeFilePromise(e,u.join(` | 693 | `):"";await e.mkdirpPromise(z.dirname(a.path),{chmod:493,utimes:[Ii.SAFE_TIME,Ii.SAFE_TIME]}),await e.writeFilePromise(a.path,n,{mode:a.mode}),await e.utimesPromise(a.path,Ii.SAFE_TIME,Ii.SAFE_TIME)}break;case"patch":await nI(e,a.path,async()=>{await fvt(a,{baseFs:e,dryRun:r})});break;case"mode change":{let u=(await e.statPromise(a.path)).mode;if(JBe(a.newMode)!==JBe(u))continue;await nI(e,a.path,async()=>{await e.chmodPromise(a.path,a.newMode)})}break;default:Ye.assertNever(a);break}}function JBe(t){return(t&64)>0}function zBe(t){return t.replace(/\s+$/,"")}function Avt(t,e){return zBe(t)===zBe(e)}async function fvt({hunks:t,path:e},{baseFs:r,dryRun:o=!1}){let a=await r.statSync(e).mode,u=(await r.readFileSync(e,"utf8")).split(/\n/),A=[],p=0,h=0;for(let w of t){let v=Math.max(h,w.header.patched.start+p),b=Math.max(0,v-h),C=Math.max(0,u.length-v-w.header.original.length),R=Math.max(b,C),L=0,_=0,V=null;for(;L<=R;){if(L<=b&&(_=v-L,V=XBe(w,u,_),V!==null)){L=-L;break}if(L<=C&&(_=v+L,V=XBe(w,u,_),V!==null))break;L+=1}if(V===null)throw new rI(t.indexOf(w),w);A.push(V),p+=L,h=_+w.header.original.length}if(o)return;let E=0;for(let w of A)for(let v of w)switch(v.type){case"splice":{let b=v.index+E;u.splice(b,v.numToDelete,...v.linesToInsert),E+=v.linesToInsert.length-v.numToDelete}break;case"pop":u.pop();break;case"push":u.push(v.line);break;default:Ye.assertNever(v);break}await r.writeFilePromise(e,u.join(` |
692 | `),{mode:a})}function _Be(t,e,r){let o=[];for(let a of t.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let u=e[r];if(u==null||!XBt(u,n))return null;r+=1}a.type==="deletion"&&(o.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&o.push({type:"push",line:""}))}break;case"insertion":o.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&o.push({type:"pop"});break;default:Ye.assertNever(a.type);break}return o}var evt=/^builtin<([^>]+)>$/;function eI(t,e){let{protocol:r,source:o,selector:a,params:n}=Y.parseRange(t);if(r!=="patch:")throw new Error("Invalid patch range");if(o===null)throw new Error("Patch locators must explicitly define their source");let u=a?a.split(/&/).map(C=>Ae.toPortablePath(C)):[],A=n&&typeof n.locator=="string"?Y.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=e(o);return{parentLocator:A,sourceItem:h,patchPaths:u,sourceVersion:p}}function Jk(t){return t.range.startsWith("patch:")}function Gh(t){return t.reference.startsWith("patch:")}function pv(t){let{sourceItem:e,...r}=eI(t.range,Y.parseDescriptor);return{...r,sourceDescriptor:e}}function hv(t){let{sourceItem:e,...r}=eI(t.reference,Y.parseLocator);return{...r,sourceLocator:e}}function tvt(t){let{sourceItem:e}=eI(t.range,Y.parseDescriptor);return e}function rvt(t){let{sourceItem:e}=eI(t.reference,Y.parseLocator);return e}function m9(t){if(!Jk(t))return t;let{sourceItem:e}=eI(t.range,Y.parseDescriptor);return e}function Vk(t){if(!Gh(t))return t;let{sourceItem:e}=eI(t.reference,Y.parseLocator);return e}function HBe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:o,patchHash:a},n){let u=t!==null?{locator:Y.stringifyLocator(t)}:{},A=typeof o<"u"?{version:o}:{},p=typeof a<"u"?{hash:a}:{};return Y.makeRange({protocol:"patch:",source:n(e),selector:r.join("&"),params:{...A,...p,...u}})}function zk(t,{parentLocator:e,sourceDescriptor:r,patchPaths:o}){return Y.makeDescriptor(t,HBe({parentLocator:e,sourceItem:r,patchPaths:o},Y.stringifyDescriptor))}function y9(t,{parentLocator:e,sourcePackage:r,patchPaths:o,patchHash:a}){return Y.makeLocator(t,HBe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:o,patchHash:a},Y.stringifyLocator))}function qBe({onAbsolute:t,onRelative:e,onProject:r,onBuiltin:o},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let u=a.match(evt);return u!==null?o(u[1]):a.startsWith("~/")?r(a.slice(2)):V.isAbsolute(a)?t(a):e(a)}function jBe(t){let e=t.lastIndexOf("!");return{optional:(e!==-1?new Set(t.slice(0,e).split(/!/)):new Set).has("optional")}}function E9(t){return qBe({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},t)}async function gv(t,e,r){let o=t!==null?await r.fetcher.fetch(t,r):null,a=o&&o.localPath?{packageFs:new An(wt.root),prefixPath:V.relative(wt.root,o.localPath)}:o;o&&o!==a&&o.releaseFs&&o.releaseFs();let n=await Ye.releaseAfterUseAsync(async()=>await Promise.all(e.map(async u=>{let A=jBe(u),p=await qBe({onAbsolute:async h=>await ae.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(V.join(a.prefixPath,h),"utf8")},onProject:async h=>await ae.readFilePromise(V.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(C=>C.getBuiltinPatch,r.project,h)},u);return{...A,source:p}})));for(let u of n)typeof u.source=="string"&&(u.source=u.source.replace(/\r\n?/g,` | 694 | `),{mode:a})}function XBe(t,e,r){let o=[];for(let a of t.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let u=e[r];if(u==null||!Avt(u,n))return null;r+=1}a.type==="deletion"&&(o.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&o.push({type:"push",line:""}))}break;case"insertion":o.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&o.push({type:"pop"});break;default:Ye.assertNever(a.type);break}return o}var hvt=/^builtin<([^>]+)>$/;function iI(t,e){let{protocol:r,source:o,selector:a,params:n}=Y.parseRange(t);if(r!=="patch:")throw new Error("Invalid patch range");if(o===null)throw new Error("Patch locators must explicitly define their source");let u=a?a.split(/&/).map(E=>ue.toPortablePath(E)):[],A=n&&typeof n.locator=="string"?Y.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=e(o);return{parentLocator:A,sourceItem:h,patchPaths:u,sourceVersion:p}}function zk(t){return t.range.startsWith("patch:")}function Kh(t){return t.reference.startsWith("patch:")}function Ev(t){let{sourceItem:e,...r}=iI(t.range,Y.parseDescriptor);return{...r,sourceDescriptor:e}}function Iv(t){let{sourceItem:e,...r}=iI(t.reference,Y.parseLocator);return{...r,sourceLocator:e}}function gvt(t){let{sourceItem:e}=iI(t.range,Y.parseDescriptor);return e}function dvt(t){let{sourceItem:e}=iI(t.reference,Y.parseLocator);return e}function BG(t){if(!zk(t))return t;let{sourceItem:e}=iI(t.range,Y.parseDescriptor);return e}function Xk(t){if(!Kh(t))return t;let{sourceItem:e}=iI(t.reference,Y.parseLocator);return e}function ZBe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:o,patchHash:a},n){let u=t!==null?{locator:Y.stringifyLocator(t)}:{},A=typeof o<"u"?{version:o}:{},p=typeof a<"u"?{hash:a}:{};return Y.makeRange({protocol:"patch:",source:n(e),selector:r.join("&"),params:{...A,...p,...u}})}function Zk(t,{parentLocator:e,sourceDescriptor:r,patchPaths:o}){return Y.makeDescriptor(t,ZBe({parentLocator:e,sourceItem:r,patchPaths:o},Y.stringifyDescriptor))}function vG(t,{parentLocator:e,sourcePackage:r,patchPaths:o,patchHash:a}){return Y.makeLocator(t,ZBe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:o,patchHash:a},Y.stringifyLocator))}function $Be({onAbsolute:t,onRelative:e,onProject:r,onBuiltin:o},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let u=a.match(hvt);return u!==null?o(u[1]):a.startsWith("~/")?r(a.slice(2)):z.isAbsolute(a)?t(a):e(a)}function eve(t){let e=t.lastIndexOf("!");return{optional:(e!==-1?new Set(t.slice(0,e).split(/!/)):new Set).has("optional")}}function DG(t){return $Be({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},t)}async function wv(t,e,r){let o=t!==null?await r.fetcher.fetch(t,r):null,a=o&&o.localPath?{packageFs:new An(wt.root),prefixPath:z.relative(wt.root,o.localPath)}:o;o&&o!==a&&o.releaseFs&&o.releaseFs();let n=await Ye.releaseAfterUseAsync(async()=>await Promise.all(e.map(async u=>{let A=eve(u),p=await $Be({onAbsolute:async h=>await ae.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(z.join(a.prefixPath,h),"utf8")},onProject:async h=>await ae.readFilePromise(z.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(E=>E.getBuiltinPatch,r.project,h)},u);return{...A,source:p}})));for(let u of n)typeof u.source=="string"&&(u.source=u.source.replace(/\r\n?/g,` |
693 | `));return n}async function C9(t,{cache:e,project:r}){let o=r.storedPackages.get(t.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=Vk(t),n=r.storedChecksums,u=new xi,A=await ae.mktempPromise(),p=V.join(A,"source"),h=V.join(A,"user"),C=V.join(A,".yarn-patch.json"),w=r.configuration.makeFetcher(),v=[];try{let b,E;if(t.locatorHash===a.locatorHash){let R=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u});v.push(()=>{var L;return(L=R.releaseFs)==null?void 0:L.call(R)}),b=R,E=R}else b=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),v.push(()=>{var R;return(R=b.releaseFs)==null?void 0:R.call(b)}),E=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),v.push(()=>{var R;return(R=E.releaseFs)==null?void 0:R.call(E)});await Promise.all([ae.copyPromise(p,b.prefixPath,{baseFs:b.packageFs}),ae.copyPromise(h,E.prefixPath,{baseFs:E.packageFs}),ae.writeJsonPromise(C,{locator:Y.stringifyLocator(t),version:o.version})])}finally{for(let b of v)b()}return ae.detachTemp(A),h}async function I9(t,e){let r=Ae.fromPortablePath(t).replace(/\\/g,"/"),o=Ae.fromPortablePath(e).replace(/\\/g,"/"),{stdout:a,stderr:n}=await Mr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,o],{cwd:Ae.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. | 695 | `));return n}async function SG(t,{cache:e,project:r}){let o=r.storedPackages.get(t.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=Xk(t),n=r.storedChecksums,u=new xi,A=await ae.mktempPromise(),p=z.join(A,"source"),h=z.join(A,"user"),E=z.join(A,".yarn-patch.json"),w=r.configuration.makeFetcher(),v=[];try{let b,C;if(t.locatorHash===a.locatorHash){let R=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u});v.push(()=>{var L;return(L=R.releaseFs)==null?void 0:L.call(R)}),b=R,C=R}else b=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),v.push(()=>{var R;return(R=b.releaseFs)==null?void 0:R.call(b)}),C=await w.fetch(t,{cache:e,project:r,fetcher:w,checksums:n,report:u}),v.push(()=>{var R;return(R=C.releaseFs)==null?void 0:R.call(C)});await Promise.all([ae.copyPromise(p,b.prefixPath,{baseFs:b.packageFs}),ae.copyPromise(h,C.prefixPath,{baseFs:C.packageFs}),ae.writeJsonPromise(E,{locator:Y.stringifyLocator(t),version:o.version})])}finally{for(let b of v)b()}return ae.detachTemp(A),h}async function PG(t,e){let r=ue.fromPortablePath(t).replace(/\\/g,"/"),o=ue.fromPortablePath(e).replace(/\\/g,"/"),{stdout:a,stderr:n}=await Mr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,o],{cwd:ue.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. |
694 | The following error was reported by 'git': | 696 | The following error was reported by 'git': |
695 | ${n}`);let u=r.startsWith("/")?A=>A.slice(1):A=>A;return a.replace(new RegExp(`(a|b)(${Ye.escapeRegExp(`/${u(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ye.escapeRegExp(`/${u(o)}/`)}`,"g"),"$1/").replace(new RegExp(Ye.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(Ye.escapeRegExp(`${o}/`),"g"),"")}function w9(t,e){let r=[];for(let{source:o}of t){if(o===null)continue;let a=fv(o);for(let n of a){let{semverExclusivity:u,...A}=n;u!==null&&e!==null&&!Tr.satisfiesWithPrereleases(e,u)||r.push(JSON.stringify(A))}}return bn.makeHash(`${3}`,...r).slice(0,6)}Ke();function GBe(t,{configuration:e,report:r}){for(let o of t.parts)for(let a of o.lines)switch(o.type){case"context":r.reportInfo(null,` ${ye.pretty(e,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${ye.pretty(e,a,ye.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${ye.pretty(e,a,ye.Type.ADDED)}`);break;default:Ye.assertNever(o.type)}}var dv=class{supports(e,r){return!!Gh(e)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async patchPackage(e,r){let{parentLocator:o,sourceLocator:a,sourceVersion:n,patchPaths:u}=hv(e),A=await gv(o,u,r),p=await ae.mktempPromise(),h=V.join(p,"current.zip"),C=await r.fetcher.fetch(a,r),w=Y.getIdentVendorPath(e),v=new os(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await Ye.releaseAfterUseAsync(async()=>{await v.copyPromise(w,C.prefixPath,{baseFs:C.packageFs,stableSort:!0})},C.releaseFs),v.saveAndClose();for(let{source:b,optional:E}of A){if(b===null)continue;let R=new os(h,{level:r.project.configuration.get("compressionLevel")}),L=new An(V.resolve(wt.root,w),{baseFs:R});try{await Kk(fv(b),{baseFs:L,version:n})}catch(_){if(!(_ instanceof ZC))throw _;let J=r.project.configuration.get("enableInlineHunks"),re=!J&&!E?" (set enableInlineHunks for details)":"",oe=`${Y.prettyLocator(r.project.configuration,e)}: ${_.message}${re}`,pe=he=>{!J||GBe(_.hunk,{configuration:r.project.configuration,report:he})};if(R.discardAndClose(),E){r.report.reportWarningOnce(66,oe,{reportExtra:pe});continue}else throw new Jt(66,oe,pe)}R.saveAndClose()}return new os(h,{level:r.project.configuration.get("compressionLevel")})}};Ke();var mv=class{supportsDescriptor(e,r){return!!Jk(e)}supportsLocator(e,r){return!!Gh(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){let{patchPaths:a}=pv(e);return a.every(n=>!E9(n))?e:Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:o}=pv(e);return{sourceDescriptor:r.project.configuration.normalizeDependency(o)}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=pv(e),u=await gv(a,n,o.fetchOptions),A=r.sourceDescriptor;if(typeof A>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=w9(u,A.version);return[y9(e,{parentLocator:a,sourcePackage:A,patchPaths:n,patchHash:p})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let{sourceLocator:o}=hv(e);return{...await r.resolver.resolve(o,r),...e}}};Ke();bt();_t();var Wh=class extends ct{constructor(){super(...arguments);this.save=fe.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=V.resolve(this.context.cwd,Ae.toPortablePath(this.patchFolder)),u=V.join(n,"../source"),A=V.join(n,"../.yarn-patch.json");if(!ae.existsSync(u))throw new ot("The argument folder didn't get created by 'yarn patch'");let p=await I9(u,n),h=await ae.readJsonPromise(A),C=Y.parseLocator(h.locator,!0);if(!o.storedPackages.has(C.locatorHash))throw new ot("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let w=r.get("patchFolder"),v=V.join(w,`${Y.slugifyLocator(C)}.patch`);await ae.mkdirPromise(w,{recursive:!0}),await ae.writeFilePromise(v,p);let b=[],E=new Map;for(let R of o.storedPackages.values()){if(Y.isVirtualLocator(R))continue;let L=R.dependencies.get(C.identHash);if(!L)continue;let _=Y.ensureDevirtualizedDescriptor(L),J=m9(_),re=o.storedResolutions.get(J.descriptorHash);if(!re)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!o.storedPackages.get(re))throw new Error("Assertion failed: Expected the package to have been registered");let pe=o.tryWorkspaceByLocator(R);if(pe)b.push(pe);else{let he=o.originalPackages.get(R.locatorHash);if(!he)throw new Error("Assertion failed: Expected the original package to have been registered");let ve=he.dependencies.get(L.identHash);if(!ve)throw new Error("Assertion failed: Expected the original dependency to have been registered");E.set(ve.descriptorHash,ve)}}for(let R of b)for(let L of Nt.hardDependencies){let _=R.manifest[L].get(C.identHash);if(!_)continue;let J=zk(_,{parentLocator:null,sourceDescriptor:Y.convertLocatorToDescriptor(C),patchPaths:[V.join(Lr.home,V.relative(o.cwd,v))]});R.manifest[L].set(_.identHash,J)}for(let R of E.values()){let L=zk(R,{parentLocator:null,sourceDescriptor:Y.convertLocatorToDescriptor(C),patchPaths:[V.join(Lr.home,V.relative(o.cwd,v))]});o.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:Y.stringifyIdent(L),description:R.range}},reference:L.range})}await o.persist()}};Wh.paths=[["patch-commit"]],Wh.usage=it.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});Ke();bt();_t();var Yh=class extends ct{constructor(){super(...arguments);this.update=fe.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let u=Y.parseLocator(this.package);if(u.reference==="unknown"){let A=Ye.mapAndFilter([...o.storedPackages.values()],p=>p.identHash!==u.identHash?Ye.mapAndFilter.skip:Y.isVirtualLocator(p)?Ye.mapAndFilter.skip:Gh(p)!==this.update?Ye.mapAndFilter.skip:p);if(A.length===0)throw new ot("No package found in the project for the given locator");if(A.length>1)throw new ot(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why <package>\` to get more information as to who depends on them): | 697 | ${n}`);let u=r.startsWith("/")?A=>A.slice(1):A=>A;return a.replace(new RegExp(`(a|b)(${Ye.escapeRegExp(`/${u(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ye.escapeRegExp(`/${u(o)}/`)}`,"g"),"$1/").replace(new RegExp(Ye.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(Ye.escapeRegExp(`${o}/`),"g"),"")}function xG(t,e){let r=[];for(let{source:o}of t){if(o===null)continue;let a=Cv(o);for(let n of a){let{semverExclusivity:u,...A}=n;u!==null&&e!==null&&!Tr.satisfiesWithPrereleases(e,u)||r.push(JSON.stringify(A))}}return bn.makeHash(`${3}`,...r).slice(0,6)}Ke();function tve(t,{configuration:e,report:r}){for(let o of t.parts)for(let a of o.lines)switch(o.type){case"context":r.reportInfo(null,` ${ye.pretty(e,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${ye.pretty(e,a,ye.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${ye.pretty(e,a,ye.Type.ADDED)}`);break;default:Ye.assertNever(o.type)}}var Bv=class{supports(e,r){return!!Kh(e)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${Y.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:Y.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async patchPackage(e,r){let{parentLocator:o,sourceLocator:a,sourceVersion:n,patchPaths:u}=Iv(e),A=await wv(o,u,r),p=await ae.mktempPromise(),h=z.join(p,"current.zip"),E=await r.fetcher.fetch(a,r),w=Y.getIdentVendorPath(e),v=new os(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await Ye.releaseAfterUseAsync(async()=>{await v.copyPromise(w,E.prefixPath,{baseFs:E.packageFs,stableSort:!0})},E.releaseFs),v.saveAndClose();for(let{source:b,optional:C}of A){if(b===null)continue;let R=new os(h,{level:r.project.configuration.get("compressionLevel")}),L=new An(z.resolve(wt.root,w),{baseFs:R});try{await Jk(Cv(b),{baseFs:L,version:n})}catch(_){if(!(_ instanceof rI))throw _;let V=r.project.configuration.get("enableInlineHunks"),re=!V&&!C?" (set enableInlineHunks for details)":"",oe=`${Y.prettyLocator(r.project.configuration,e)}: ${_.message}${re}`,pe=he=>{!V||tve(_.hunk,{configuration:r.project.configuration,report:he})};if(R.discardAndClose(),C){r.report.reportWarningOnce(66,oe,{reportExtra:pe});continue}else throw new Vt(66,oe,pe)}R.saveAndClose()}return new os(h,{level:r.project.configuration.get("compressionLevel")})}};Ke();var vv=class{supportsDescriptor(e,r){return!!zk(e)}supportsLocator(e,r){return!!Kh(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){let{patchPaths:a}=Ev(e);return a.every(n=>!DG(n))?e:Y.bindDescriptor(e,{locator:Y.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:o}=Ev(e);return{sourceDescriptor:r.project.configuration.normalizeDependency(o)}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=Ev(e),u=await wv(a,n,o.fetchOptions),A=r.sourceDescriptor;if(typeof A>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=xG(u,A.version);return[vG(e,{parentLocator:a,sourcePackage:A,patchPaths:n,patchHash:p})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let{sourceLocator:o}=Iv(e);return{...await r.resolver.resolve(o,r),...e}}};Ke();bt();_t();var Vh=class extends ct{constructor(){super(...arguments);this.save=fe.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=z.resolve(this.context.cwd,ue.toPortablePath(this.patchFolder)),u=z.join(n,"../source"),A=z.join(n,"../.yarn-patch.json");if(!ae.existsSync(u))throw new ot("The argument folder didn't get created by 'yarn patch'");let p=await PG(u,n),h=await ae.readJsonPromise(A),E=Y.parseLocator(h.locator,!0);if(!o.storedPackages.has(E.locatorHash))throw new ot("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let w=r.get("patchFolder"),v=z.join(w,`${Y.slugifyLocator(E)}.patch`);await ae.mkdirPromise(w,{recursive:!0}),await ae.writeFilePromise(v,p);let b=[],C=new Map;for(let R of o.storedPackages.values()){if(Y.isVirtualLocator(R))continue;let L=R.dependencies.get(E.identHash);if(!L)continue;let _=Y.ensureDevirtualizedDescriptor(L),V=BG(_),re=o.storedResolutions.get(V.descriptorHash);if(!re)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!o.storedPackages.get(re))throw new Error("Assertion failed: Expected the package to have been registered");let pe=o.tryWorkspaceByLocator(R);if(pe)b.push(pe);else{let he=o.originalPackages.get(R.locatorHash);if(!he)throw new Error("Assertion failed: Expected the original package to have been registered");let ve=he.dependencies.get(L.identHash);if(!ve)throw new Error("Assertion failed: Expected the original dependency to have been registered");C.set(ve.descriptorHash,ve)}}for(let R of b)for(let L of Nt.hardDependencies){let _=R.manifest[L].get(E.identHash);if(!_)continue;let V=Zk(_,{parentLocator:null,sourceDescriptor:Y.convertLocatorToDescriptor(E),patchPaths:[z.join(Lr.home,z.relative(o.cwd,v))]});R.manifest[L].set(_.identHash,V)}for(let R of C.values()){let L=Zk(R,{parentLocator:null,sourceDescriptor:Y.convertLocatorToDescriptor(E),patchPaths:[z.join(Lr.home,z.relative(o.cwd,v))]});o.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:Y.stringifyIdent(L),description:R.range}},reference:L.range})}await o.persist()}};Vh.paths=[["patch-commit"]],Vh.usage=it.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});Ke();bt();_t();var Jh=class extends ct{constructor(){super(...arguments);this.update=fe.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let u=Y.parseLocator(this.package);if(u.reference==="unknown"){let A=Ye.mapAndFilter([...o.storedPackages.values()],p=>p.identHash!==u.identHash?Ye.mapAndFilter.skip:Y.isVirtualLocator(p)?Ye.mapAndFilter.skip:Kh(p)!==this.update?Ye.mapAndFilter.skip:p);if(A.length===0)throw new ot("No package found in the project for the given locator");if(A.length>1)throw new ot(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why <package>\` to get more information as to who depends on them): |
696 | ${A.map(p=>` | 698 | ${A.map(p=>` |
697 | - ${Y.prettyLocator(r,p)}`).join("")}`);u=A[0]}if(!o.storedPackages.has(u.locatorHash))throw new ot("No package found in the project for the given locator");await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=Vk(u),h=await C9(u,{cache:n,project:o});A.reportJson({locator:Y.stringifyLocator(p),path:Ae.fromPortablePath(h)});let C=this.update?" along with its current modifications":"";A.reportInfo(0,`Package ${Y.prettyLocator(r,p)} got extracted with success${C}!`),A.reportInfo(0,`You can now edit the following folder: ${ye.pretty(r,Ae.fromPortablePath(h),"magenta")}`),A.reportInfo(0,`Once you are done run ${ye.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${Ae.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Yh.paths=[["patch"]],Yh.usage=it.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n\n Once you're done with your changes, run `yarn patch-commit -s <path>` (with `<path>` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "});var nvt={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Wh,Yh],fetchers:[dv],resolvers:[mv]},ivt=nvt;var S9={};Yt(S9,{PnpmLinker:()=>yv,default:()=>cvt});Ke();bt();_t();var yv=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(e.locatorHash);if(typeof n>"u")throw new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let u=e,A=e;do{A=u,u=V.dirname(A);let p=a.locatorByPath.get(A);if(p)return p}while(u!==A);return null}makeInstaller(e){return new v9(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},v9=class{constructor(e){this.opts=e;this.asyncActions=new Ye.AsyncActions(10);this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.indexFolderPromise=sD(ae,{indexPath:V.join(e.project.configuration.get("globalFolder"),"index")})}attachCustomData(e){}async installPackage(e,r,o){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,r,o);case"HARD":return this.installPackageHard(e,r,o)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,o){let a=V.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(e)?V.join(a,Lr.nodeModules):null;return this.customData.pathsByLocator.set(e.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildDirective:null}}async installPackageHard(e,r,o){let a=svt(e,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,Y.stringifyLocator(e)),this.customData.pathsByLocator.set(e.locatorHash,a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await ae.mkdirPromise(n,{recursive:!0}),await ae.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let A=Y.isVirtualLocator(e)?Y.devirtualizeLocator(e):e,p={manifest:await Nt.tryFind(r.prefixPath,{baseFs:r.packageFs})??new Nt,misc:{hasBindingGyp:mA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(A,e.version),C=mA.extractBuildScripts(e,p,h,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:C}}async attachInternalDependencies(e,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!WBe(e,{project:this.opts.project}))return;let o=this.customData.pathsByLocator.get(e.locatorHash);if(typeof o>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${Y.stringifyLocator(e)})`);let{dependenciesLocation:a}=o;!a||this.asyncActions.reduce(e.locatorHash,async n=>{await ae.mkdirPromise(a,{recursive:!0});let u=await ovt(a),A=new Map(u),p=[n],h=(w,v)=>{let b=v;WBe(v,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),b=Y.devirtualizeLocator(v));let E=this.customData.pathsByLocator.get(b.locatorHash);if(typeof E>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${Y.stringifyLocator(v)})`);let R=Y.stringifyIdent(w),L=V.join(a,R),_=V.relative(V.dirname(L),E.packageLocation),J=A.get(R);A.delete(R),p.push(Promise.resolve().then(async()=>{if(J){if(J.isSymbolicLink()&&await ae.readlinkPromise(L)===_)return;await ae.removePromise(L)}await ae.mkdirpPromise(V.dirname(L)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await ae.symlinkPromise(E.packageLocation,L,"junction"):await ae.symlinkPromise(_,L)}))},C=!1;for(let[w,v]of r)w.identHash===e.identHash&&(C=!0),h(w,v);!C&&!this.opts.project.tryWorkspaceByLocator(e)&&h(Y.convertLocatorToDescriptor(e),e),p.push(avt(a,A)),await Promise.all(p)})}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=KBe(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await ae.removePromise(e);else{let r;try{r=new Set(await ae.readdirPromise(e))}catch{r=new Set}for(let{dependenciesLocation:o}of this.customData.pathsByLocator.values()){if(!o)continue;let a=V.contains(e,o);if(a===null)continue;let[n]=a.split(V.sep);r.delete(n)}await Promise.all([...r].map(async o=>{await ae.removePromise(V.join(e,o))}))}return await this.asyncActions.wait(),await D9(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await D9(YBe(this.opts.project)),{customData:this.customData}}};function YBe(t){return V.join(t.cwd,Lr.nodeModules)}function KBe(t){return V.join(YBe(t),".store")}function svt(t,{project:e}){let r=Y.slugifyLocator(t),o=KBe(e),a=V.join(o,r,"package"),n=V.join(o,r,Lr.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function WBe(t,{project:e}){return!Y.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function ovt(t){let e=new Map,r=[];try{r=await ae.readdirPromise(t,{withFileTypes:!0})}catch(o){if(o.code!=="ENOENT")throw o}try{for(let o of r)if(!o.name.startsWith("."))if(o.name.startsWith("@")){let a=await ae.readdirPromise(V.join(t,o.name),{withFileTypes:!0});if(a.length===0)e.set(o.name,o);else for(let n of a)e.set(`${o.name}/${n.name}`,n)}else e.set(o.name,o)}catch(o){if(o.code!=="ENOENT")throw o}return e}async function avt(t,e){var a;let r=[],o=new Set;for(let n of e.keys()){r.push(ae.removePromise(V.join(t,n)));let u=(a=Y.tryParseIdent(n))==null?void 0:a.scope;u&&o.add(`@${u}`)}return Promise.all(r).then(()=>Promise.all([...o].map(n=>D9(V.join(t,n)))))}async function D9(t){try{await ae.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var lvt={linkers:[yv]},cvt=lvt;var F9={};Yt(F9,{StageCommand:()=>Kh,default:()=>Cvt,stageUtils:()=>Cv});Ke();bt();_t();Ke();bt();var Cv={};Yt(Cv,{ActionType:()=>P9,checkConsensus:()=>Xk,expandDirectory:()=>b9,findConsensus:()=>Q9,findVcsRoot:()=>Ev,genCommitMessage:()=>k9,getCommitPrefix:()=>JBe,isYarnFile:()=>x9});bt();var P9=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(P9||{});async function Ev(t,{marker:e}){do if(!ae.existsSync(V.join(t,e)))t=V.dirname(t);else return t;while(t!=="/");return null}function x9(t,{roots:e,names:r}){if(r.has(V.basename(t)))return!0;do if(!e.has(t))t=V.dirname(t);else return!0;while(t!=="/");return!1}function b9(t){let e=[],r=[t];for(;r.length>0;){let o=r.pop(),a=ae.readdirSync(o);for(let n of a){let u=V.resolve(o,n);ae.lstatSync(u).isDirectory()?r.push(u):e.push(u)}}return e}function Xk(t,e){let r=0,o=0;for(let a of t)a!=="wip"&&(e.test(a)?r+=1:o+=1);return r>=o}function Q9(t){let e=Xk(t,/^(\w\(\w+\):\s*)?\w+s/),r=Xk(t,/^(\w\(\w+\):\s*)?[A-Z]/),o=Xk(t,/^\w\(\w+\):/);return{useThirdPerson:e,useUpperCase:r,useComponent:o}}function JBe(t){return t.useComponent?"chore(yarn): ":""}var uvt=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function k9(t,e){let r=JBe(t),o=[],a=e.slice().sort((n,u)=>n[0]-u[0]);for(;a.length>0;){let[n,u]=a.shift(),A=uvt.get(n);t.useUpperCase&&o.length===0&&(A=`${A[0].toUpperCase()}${A.slice(1)}`),t.useThirdPerson&&(A+="s");let p=[u];for(;a.length>0&&a[0][0]===n;){let[,C]=a.shift();p.push(C)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),o.push(`${A} ${h}`)}return`${r}${o.join(", ")}`}var Avt="Commit generated via `yarn stage`",fvt=11;async function VBe(t){let{code:e,stdout:r}=await Mr.execvp("git",["log","-1","--pretty=format:%H"],{cwd:t});return e===0?r.trim():null}async function pvt(t,e){let r=[],o=e.filter(h=>V.basename(h.path)==="package.json");for(let{action:h,path:C}of o){let w=V.relative(t,C);if(h===4){let v=await VBe(t),{stdout:b}=await Mr.execvp("git",["show",`${v}:${w}`],{cwd:t,strict:!0}),E=await Nt.fromText(b),R=await Nt.fromFile(C),L=new Map([...R.dependencies,...R.devDependencies]),_=new Map([...E.dependencies,...E.devDependencies]);for(let[J,re]of _){let oe=Y.stringifyIdent(re),pe=L.get(J);pe?pe.range!==re.range&&r.push([4,`${oe} to ${pe.range}`]):r.push([3,oe])}for(let[J,re]of L)_.has(J)||r.push([2,Y.stringifyIdent(re)])}else if(h===0){let v=await Nt.fromFile(C);v.name?r.push([0,Y.stringifyIdent(v.name)]):r.push([0,"a package"])}else if(h===1){let v=await VBe(t),{stdout:b}=await Mr.execvp("git",["show",`${v}:${w}`],{cwd:t,strict:!0}),E=await Nt.fromText(b);E.name?r.push([1,Y.stringifyIdent(E.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await Mr.execvp("git",["log",`-${fvt}`,"--pretty=format:%s"],{cwd:t}),u=a===0?n.split(/\n/g).filter(h=>h!==""):[],A=Q9(u);return k9(A,r)}var hvt={[0]:[" A ","?? "],[4]:[" M "],[1]:[" D "]},gvt={[0]:["A "],[4]:["M "],[1]:["D "]},zBe={async findRoot(t){return await Ev(t,{marker:".git"})},async filterChanges(t,e,r,o){let{stdout:a}=await Mr.execvp("git",["status","-s"],{cwd:t,strict:!0}),n=a.toString().split(/\n/g),u=o!=null&&o.staged?gvt:hvt;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),C=V.resolve(t,p.slice(3));if(!(o!=null&&o.staged)&&h==="?? "&&p.endsWith("/"))return b9(C).map(w=>({action:0,path:w}));{let v=[0,4,1].find(b=>u[b].includes(h));return v!==void 0?[{action:v,path:C}]:[]}})).filter(p=>x9(p.path,{roots:e,names:r}))},async genCommitMessage(t,e){return await pvt(t,e)},async makeStage(t,e){let r=e.map(o=>Ae.fromPortablePath(o.path));await Mr.execvp("git",["add","--",...r],{cwd:t,strict:!0})},async makeCommit(t,e,r){let o=e.map(a=>Ae.fromPortablePath(a.path));await Mr.execvp("git",["add","-N","--",...o],{cwd:t,strict:!0}),await Mr.execvp("git",["commit","-m",`${r} | 699 | - ${Y.prettyLocator(r,p)}`).join("")}`);u=A[0]}if(!o.storedPackages.has(u.locatorHash))throw new ot("No package found in the project for the given locator");await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=Xk(u),h=await SG(u,{cache:n,project:o});A.reportJson({locator:Y.stringifyLocator(p),path:ue.fromPortablePath(h)});let E=this.update?" along with its current modifications":"";A.reportInfo(0,`Package ${Y.prettyLocator(r,p)} got extracted with success${E}!`),A.reportInfo(0,`You can now edit the following folder: ${ye.pretty(r,ue.fromPortablePath(h),"magenta")}`),A.reportInfo(0,`Once you are done run ${ye.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${ue.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Jh.paths=[["patch"]],Jh.usage=it.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n\n Once you're done with your changes, run `yarn patch-commit -s <path>` (with `<path>` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "});var mvt={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Vh,Jh],fetchers:[Bv],resolvers:[vv]},yvt=mvt;var FG={};Yt(FG,{PnpmLinker:()=>Dv,default:()=>Bvt});Ke();bt();_t();var Dv=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(e.locatorHash);if(typeof n>"u")throw new ot(`Couldn't find ${Y.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new ot(`The project in ${ye.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ye.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let u=e,A=e;do{A=u,u=z.dirname(A);let p=a.locatorByPath.get(A);if(p)return p}while(u!==A);return null}makeInstaller(e){return new QG(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},QG=class{constructor(e){this.opts=e;this.asyncActions=new Ye.AsyncActions(10);this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.indexFolderPromise=fD(ae,{indexPath:z.join(e.project.configuration.get("globalFolder"),"index")})}attachCustomData(e){}async installPackage(e,r,o){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,r,o);case"HARD":return this.installPackageHard(e,r,o)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,o){let a=z.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(e)?z.join(a,Lr.nodeModules):null;return this.customData.pathsByLocator.set(e.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildDirective:null}}async installPackageHard(e,r,o){let a=Cvt(e,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,Y.stringifyLocator(e)),this.customData.pathsByLocator.set(e.locatorHash,a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await ae.mkdirPromise(n,{recursive:!0}),await ae.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let A=Y.isVirtualLocator(e)?Y.devirtualizeLocator(e):e,p={manifest:await Nt.tryFind(r.prefixPath,{baseFs:r.packageFs})??new Nt,misc:{hasBindingGyp:CA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(A,e.version),E=CA.extractBuildScripts(e,p,h,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:E}}async attachInternalDependencies(e,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!rve(e,{project:this.opts.project}))return;let o=this.customData.pathsByLocator.get(e.locatorHash);if(typeof o>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${Y.stringifyLocator(e)})`);let{dependenciesLocation:a}=o;!a||this.asyncActions.reduce(e.locatorHash,async n=>{await ae.mkdirPromise(a,{recursive:!0});let u=await Evt(a),A=new Map(u),p=[n],h=(w,v)=>{let b=v;rve(v,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),b=Y.devirtualizeLocator(v));let C=this.customData.pathsByLocator.get(b.locatorHash);if(typeof C>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${Y.stringifyLocator(v)})`);let R=Y.stringifyIdent(w),L=z.join(a,R),_=z.relative(z.dirname(L),C.packageLocation),V=A.get(R);A.delete(R),p.push(Promise.resolve().then(async()=>{if(V){if(V.isSymbolicLink()&&await ae.readlinkPromise(L)===_)return;await ae.removePromise(L)}await ae.mkdirpPromise(z.dirname(L)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await ae.symlinkPromise(C.packageLocation,L,"junction"):await ae.symlinkPromise(_,L)}))},E=!1;for(let[w,v]of r)w.identHash===e.identHash&&(E=!0),h(w,v);!E&&!this.opts.project.tryWorkspaceByLocator(e)&&h(Y.convertLocatorToDescriptor(e),e),p.push(Ivt(a,A)),await Promise.all(p)})}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=ive(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await ae.removePromise(e);else{let r;try{r=new Set(await ae.readdirPromise(e))}catch{r=new Set}for(let{dependenciesLocation:o}of this.customData.pathsByLocator.values()){if(!o)continue;let a=z.contains(e,o);if(a===null)continue;let[n]=a.split(z.sep);r.delete(n)}await Promise.all([...r].map(async o=>{await ae.removePromise(z.join(e,o))}))}return await this.asyncActions.wait(),await kG(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await kG(nve(this.opts.project)),{customData:this.customData}}};function nve(t){return z.join(t.cwd,Lr.nodeModules)}function ive(t){return z.join(nve(t),".store")}function Cvt(t,{project:e}){let r=Y.slugifyLocator(t),o=ive(e),a=z.join(o,r,"package"),n=z.join(o,r,Lr.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function rve(t,{project:e}){return!Y.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function Evt(t){let e=new Map,r=[];try{r=await ae.readdirPromise(t,{withFileTypes:!0})}catch(o){if(o.code!=="ENOENT")throw o}try{for(let o of r)if(!o.name.startsWith("."))if(o.name.startsWith("@")){let a=await ae.readdirPromise(z.join(t,o.name),{withFileTypes:!0});if(a.length===0)e.set(o.name,o);else for(let n of a)e.set(`${o.name}/${n.name}`,n)}else e.set(o.name,o)}catch(o){if(o.code!=="ENOENT")throw o}return e}async function Ivt(t,e){var a;let r=[],o=new Set;for(let n of e.keys()){r.push(ae.removePromise(z.join(t,n)));let u=(a=Y.tryParseIdent(n))==null?void 0:a.scope;u&&o.add(`@${u}`)}return Promise.all(r).then(()=>Promise.all([...o].map(n=>kG(z.join(t,n)))))}async function kG(t){try{await ae.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var wvt={linkers:[Dv]},Bvt=wvt;var MG={};Yt(MG,{StageCommand:()=>zh,default:()=>Tvt,stageUtils:()=>Pv});Ke();bt();_t();Ke();bt();var Pv={};Yt(Pv,{ActionType:()=>RG,checkConsensus:()=>$k,expandDirectory:()=>NG,findConsensus:()=>LG,findVcsRoot:()=>Sv,genCommitMessage:()=>OG,getCommitPrefix:()=>sve,isYarnFile:()=>TG});bt();var RG=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(RG||{});async function Sv(t,{marker:e}){do if(!ae.existsSync(z.join(t,e)))t=z.dirname(t);else return t;while(t!=="/");return null}function TG(t,{roots:e,names:r}){if(r.has(z.basename(t)))return!0;do if(!e.has(t))t=z.dirname(t);else return!0;while(t!=="/");return!1}function NG(t){let e=[],r=[t];for(;r.length>0;){let o=r.pop(),a=ae.readdirSync(o);for(let n of a){let u=z.resolve(o,n);ae.lstatSync(u).isDirectory()?r.push(u):e.push(u)}}return e}function $k(t,e){let r=0,o=0;for(let a of t)a!=="wip"&&(e.test(a)?r+=1:o+=1);return r>=o}function LG(t){let e=$k(t,/^(\w\(\w+\):\s*)?\w+s/),r=$k(t,/^(\w\(\w+\):\s*)?[A-Z]/),o=$k(t,/^\w\(\w+\):/);return{useThirdPerson:e,useUpperCase:r,useComponent:o}}function sve(t){return t.useComponent?"chore(yarn): ":""}var vvt=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function OG(t,e){let r=sve(t),o=[],a=e.slice().sort((n,u)=>n[0]-u[0]);for(;a.length>0;){let[n,u]=a.shift(),A=vvt.get(n);t.useUpperCase&&o.length===0&&(A=`${A[0].toUpperCase()}${A.slice(1)}`),t.useThirdPerson&&(A+="s");let p=[u];for(;a.length>0&&a[0][0]===n;){let[,E]=a.shift();p.push(E)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),o.push(`${A} ${h}`)}return`${r}${o.join(", ")}`}var Dvt="Commit generated via `yarn stage`",Svt=11;async function ove(t){let{code:e,stdout:r}=await Mr.execvp("git",["log","-1","--pretty=format:%H"],{cwd:t});return e===0?r.trim():null}async function Pvt(t,e){let r=[],o=e.filter(h=>z.basename(h.path)==="package.json");for(let{action:h,path:E}of o){let w=z.relative(t,E);if(h===4){let v=await ove(t),{stdout:b}=await Mr.execvp("git",["show",`${v}:${w}`],{cwd:t,strict:!0}),C=await Nt.fromText(b),R=await Nt.fromFile(E),L=new Map([...R.dependencies,...R.devDependencies]),_=new Map([...C.dependencies,...C.devDependencies]);for(let[V,re]of _){let oe=Y.stringifyIdent(re),pe=L.get(V);pe?pe.range!==re.range&&r.push([4,`${oe} to ${pe.range}`]):r.push([3,oe])}for(let[V,re]of L)_.has(V)||r.push([2,Y.stringifyIdent(re)])}else if(h===0){let v=await Nt.fromFile(E);v.name?r.push([0,Y.stringifyIdent(v.name)]):r.push([0,"a package"])}else if(h===1){let v=await ove(t),{stdout:b}=await Mr.execvp("git",["show",`${v}:${w}`],{cwd:t,strict:!0}),C=await Nt.fromText(b);C.name?r.push([1,Y.stringifyIdent(C.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await Mr.execvp("git",["log",`-${Svt}`,"--pretty=format:%s"],{cwd:t}),u=a===0?n.split(/\n/g).filter(h=>h!==""):[],A=LG(u);return OG(A,r)}var xvt={[0]:[" A ","?? "],[4]:[" M "],[1]:[" D "]},bvt={[0]:["A "],[4]:["M "],[1]:["D "]},ave={async findRoot(t){return await Sv(t,{marker:".git"})},async filterChanges(t,e,r,o){let{stdout:a}=await Mr.execvp("git",["status","-s"],{cwd:t,strict:!0}),n=a.toString().split(/\n/g),u=o!=null&&o.staged?bvt:xvt;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),E=z.resolve(t,p.slice(3));if(!(o!=null&&o.staged)&&h==="?? "&&p.endsWith("/"))return NG(E).map(w=>({action:0,path:w}));{let v=[0,4,1].find(b=>u[b].includes(h));return v!==void 0?[{action:v,path:E}]:[]}})).filter(p=>TG(p.path,{roots:e,names:r}))},async genCommitMessage(t,e){return await Pvt(t,e)},async makeStage(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Mr.execvp("git",["add","--",...r],{cwd:t,strict:!0})},async makeCommit(t,e,r){let o=e.map(a=>ue.fromPortablePath(a.path));await Mr.execvp("git",["add","-N","--",...o],{cwd:t,strict:!0}),await Mr.execvp("git",["commit","-m",`${r} |
698 | 700 | ||
699 | ${Avt} | 701 | ${Dvt} |
700 | `,"--",...o],{cwd:t,strict:!0})},async makeReset(t,e){let r=e.map(o=>Ae.fromPortablePath(o.path));await Mr.execvp("git",["reset","HEAD","--",...r],{cwd:t,strict:!0})}};var XBe={async findRoot(t){return await Ev(t,{marker:".hg"})},async filterChanges(t,e,r){return[]},async genCommitMessage(t,e){return""},async makeStage(t,e){},async makeCommit(t,e,r){},async makeReset(t,e){},async makeUpdate(t,e){}};var dvt=[zBe,XBe],Kh=class extends ct{constructor(){super(...arguments);this.commit=fe.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=fe.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=fe.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=fe.Boolean("-u,--update",!1,{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),{driver:a,root:n}=await mvt(o.cwd),u=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(w=>w.populateYarnPaths,o,w=>{u.push(w)});let A=new Set;for(let w of u)for(let v of yvt(n,w))A.add(v);let p=new Set([r.get("rcFilename"),r.get("lockfileFilename"),"package.json"]),h=await a.filterChanges(n,A,p),C=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${C} | 702 | `,"--",...o],{cwd:t,strict:!0})},async makeReset(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Mr.execvp("git",["reset","HEAD","--",...r],{cwd:t,strict:!0})}};var lve={async findRoot(t){return await Sv(t,{marker:".hg"})},async filterChanges(t,e,r){return[]},async genCommitMessage(t,e){return""},async makeStage(t,e){},async makeCommit(t,e,r){},async makeReset(t,e){},async makeUpdate(t,e){}};var Qvt=[ave,lve],zh=class extends ct{constructor(){super(...arguments);this.commit=fe.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=fe.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=fe.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=fe.Boolean("-u,--update",!1,{hidden:!0})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),{driver:a,root:n}=await kvt(o.cwd),u=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(w=>w.populateYarnPaths,o,w=>{u.push(w)});let A=new Set;for(let w of u)for(let v of Fvt(n,w))A.add(v);let p=new Set([r.get("rcFilename"),r.get("lockfileFilename"),"package.json"]),h=await a.filterChanges(n,A,p),E=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${E} |
701 | `);else for(let w of h)this.context.stdout.write(`${Ae.fromPortablePath(w.path)} | 703 | `);else for(let w of h)this.context.stdout.write(`${ue.fromPortablePath(w.path)} |
702 | `);else if(this.reset){let w=await a.filterChanges(n,A,p,{staged:!0});w.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,w)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,C):(await a.makeStage(n,h),this.context.stdout.write(C))}};Kh.paths=[["stage"]],Kh.usage=it.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]});async function mvt(t){let e=null,r=null;for(let o of dvt)if((r=await o.findRoot(t))!==null){e=o;break}if(e===null||r===null)throw new ot("No stage driver has been found for your current project");return{driver:e,root:r}}function yvt(t,e){let r=[];if(e===null)return r;for(;;){(e===t||e.startsWith(`${t}/`))&&r.push(e);let o;try{o=ae.statSync(e)}catch{break}if(o.isSymbolicLink())e=V.resolve(V.dirname(e),ae.readlinkSync(e));else break}return r}var Evt={commands:[Kh]},Cvt=Evt;var R9={};Yt(R9,{default:()=>xvt});Ke();Ke();bt();var eve=tt(ii());Ke();var ZBe=tt(JH()),Ivt="e8e1bd300d860104bb8c58453ffa1eb4",wvt="OFCNCOG2CU",$Be=async(t,e)=>{var n;let r=Y.stringifyIdent(t),a=Bvt(e).initIndex("npm-search");try{return((n=(await a.getObject(r,{attributesToRetrieve:["types"]})).types)==null?void 0:n.ts)==="definitely-typed"}catch{return!1}},Bvt=t=>(0,ZBe.default)(wvt,Ivt,{requester:{async send(r){try{let o=await ln.request(r.url,r.data||null,{configuration:t,headers:r.headers});return{content:o.body,isTimedOut:!1,status:o.statusCode}}catch(o){return{content:o.response.body,isTimedOut:!1,status:o.response.statusCode}}}}});var tve=t=>t.scope?`${t.scope}__${t.name}`:`${t.name}`,vvt=async(t,e,r,o)=>{if(r.scope==="types")return;let{project:a}=t,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??ae.existsSync(V.join(a.cwd,"tsconfig.json"))))return;let A=n.makeResolver(),p={project:a,resolver:A,report:new xi};if(!await $Be(r,n))return;let C=tve(r),w=Y.parseRange(r.range).selector;if(!Tr.validRange(w)){let L=n.normalizeDependency(r),_=await A.getCandidates(L,{},p);w=Y.parseRange(_[0].reference).selector}let v=eve.default.coerce(w);if(v===null)return;let b=`${Zc.Modifier.CARET}${v.major}`,E=Y.makeDescriptor(Y.makeIdent("types",C),b),R=Ye.mapAndFind(a.workspaces,L=>{var oe,pe;let _=(oe=L.manifest.dependencies.get(r.identHash))==null?void 0:oe.descriptorHash,J=(pe=L.manifest.devDependencies.get(r.identHash))==null?void 0:pe.descriptorHash;if(_!==r.descriptorHash&&J!==r.descriptorHash)return Ye.mapAndFind.skip;let re=[];for(let he of Nt.allDependencies){let ve=L.manifest[he].get(E.identHash);typeof ve>"u"||re.push([he,ve])}return re.length===0?Ye.mapAndFind.skip:re});if(typeof R<"u")for(let[L,_]of R)t.manifest[L].set(_.identHash,_);else{try{let L=n.normalizeDependency(E);if((await A.getCandidates(L,{},p)).length===0)return}catch{return}t.manifest[Zc.Target.DEVELOPMENT].set(E.identHash,E)}},Dvt=async(t,e,r)=>{if(r.scope==="types")return;let{project:o}=t,{configuration:a}=o;if(!(a.get("tsEnableAutoTypes")??ae.existsSync(V.join(o.cwd,"tsconfig.json"))))return;let u=tve(r),A=Y.makeIdent("types",u);for(let p of Nt.allDependencies)typeof t.manifest[p].get(A.identHash)>"u"||t.manifest[p].delete(A.identHash)},Svt=(t,e)=>{e.publishConfig&&e.publishConfig.typings&&(e.typings=e.publishConfig.typings),e.publishConfig&&e.publishConfig.types&&(e.types=e.publishConfig.types)},Pvt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:vvt,afterWorkspaceDependencyRemoval:Dvt,beforeWorkspacePacking:Svt}},xvt=Pvt;var M9={};Yt(M9,{VersionApplyCommand:()=>Jh,VersionCheckCommand:()=>Vh,VersionCommand:()=>zh,default:()=>Kvt,versionUtils:()=>iI});Ke();Ke();_t();var iI={};Yt(iI,{Decision:()=>rI,applyPrerelease:()=>ave,applyReleases:()=>O9,applyStrategy:()=>$k,clearVersionFiles:()=>T9,getUndecidedDependentWorkspaces:()=>wv,getUndecidedWorkspaces:()=>Zk,openVersionFile:()=>nI,requireMoreDecisions:()=>Gvt,resolveVersionFiles:()=>Iv,suggestStrategy:()=>L9,updateVersionFiles:()=>N9,validateReleaseDecision:()=>tI});Ke();bt();Ol();_t();var ove=tt(sve()),vA=tt(ii()),jvt=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,rI=(u=>(u.UNDECIDED="undecided",u.DECLINE="decline",u.MAJOR="major",u.MINOR="minor",u.PATCH="patch",u.PRERELEASE="prerelease",u))(rI||{});function tI(t){let e=vA.default.valid(t);return e||Ye.validateEnum((0,ove.default)(rI,"UNDECIDED"),t)}async function Iv(t,{prerelease:e=null}={}){let r=new Map,o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return r;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=V.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Yi(A);for(let[h,C]of Object.entries(p.releases||{})){if(C==="decline")continue;let w=Y.parseIdent(h),v=t.tryWorkspaceByIdent(w);if(v===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${V.basename(u)} references ${h})`);if(v.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${Y.prettyLocator(t.configuration,v.anchoredLocator)})`);let b=v.manifest.raw.stableVersion??v.manifest.version,E=r.get(v),R=$k(b,tI(C));if(R===null)throw new Error(`Assertion failed: Expected ${b} to support being bumped via strategy ${C}`);let L=typeof E<"u"?vA.default.gt(R,E)?R:E:R;r.set(v,L)}}return e&&(r=new Map([...r].map(([n,u])=>[n,ave(u,{current:n.manifest.version,prerelease:e})]))),r}async function T9(t){let e=t.configuration.get("deferredVersionFolder");!ae.existsSync(e)||await ae.removePromise(e)}async function N9(t,e){let r=new Set(e),o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=V.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Yi(A),h=p==null?void 0:p.releases;if(!!h){for(let C of Object.keys(h)){let w=Y.parseIdent(C),v=t.tryWorkspaceByIdent(w);(v===null||r.has(v))&&delete p.releases[C]}Object.keys(p.releases).length>0?await ae.changeFilePromise(u,Ia(new Ia.PreserveOrdering(p))):await ae.unlinkPromise(u)}}}async function nI(t,{allowEmpty:e=!1}={}){let r=t.configuration;if(r.projectCwd===null)throw new ot("This command can only be run from within a Yarn project");let o=await Zo.fetchRoot(r.projectCwd),a=o!==null?await Zo.fetchBase(o,{baseRefs:r.get("changesetBaseRefs")}):null,n=o!==null?await Zo.fetchChangedFiles(o,{base:a.hash,project:t}):[],u=r.get("deferredVersionFolder"),A=n.filter(b=>V.contains(u,b)!==null);if(A.length>1)throw new ot(`Your current branch contains multiple versioning files; this isn't supported: | 704 | `);else if(this.reset){let w=await a.filterChanges(n,A,p,{staged:!0});w.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,w)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,E):(await a.makeStage(n,h),this.context.stdout.write(E))}};zh.paths=[["stage"]],zh.usage=it.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]});async function kvt(t){let e=null,r=null;for(let o of Qvt)if((r=await o.findRoot(t))!==null){e=o;break}if(e===null||r===null)throw new ot("No stage driver has been found for your current project");return{driver:e,root:r}}function Fvt(t,e){let r=[];if(e===null)return r;for(;;){(e===t||e.startsWith(`${t}/`))&&r.push(e);let o;try{o=ae.statSync(e)}catch{break}if(o.isSymbolicLink())e=z.resolve(z.dirname(e),ae.readlinkSync(e));else break}return r}var Rvt={commands:[zh]},Tvt=Rvt;var UG={};Yt(UG,{default:()=>qvt});Ke();Ke();bt();var Ave=tt(si());Ke();var cve=tt(JH()),Nvt="e8e1bd300d860104bb8c58453ffa1eb4",Lvt="OFCNCOG2CU",uve=async(t,e)=>{var n;let r=Y.stringifyIdent(t),a=Ovt(e).initIndex("npm-search");try{return((n=(await a.getObject(r,{attributesToRetrieve:["types"]})).types)==null?void 0:n.ts)==="definitely-typed"}catch{return!1}},Ovt=t=>(0,cve.default)(Lvt,Nvt,{requester:{async send(r){try{let o=await ln.request(r.url,r.data||null,{configuration:t,headers:r.headers});return{content:o.body,isTimedOut:!1,status:o.statusCode}}catch(o){return{content:o.response.body,isTimedOut:!1,status:o.response.statusCode}}}}});var fve=t=>t.scope?`${t.scope}__${t.name}`:`${t.name}`,Mvt=async(t,e,r,o)=>{if(r.scope==="types")return;let{project:a}=t,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??ae.existsSync(z.join(a.cwd,"tsconfig.json"))))return;let A=n.makeResolver(),p={project:a,resolver:A,report:new xi};if(!await uve(r,n))return;let E=fve(r),w=Y.parseRange(r.range).selector;if(!Tr.validRange(w)){let L=n.normalizeDependency(r),_=await A.getCandidates(L,{},p);w=Y.parseRange(_[0].reference).selector}let v=Ave.default.coerce(w);if(v===null)return;let b=`${eu.Modifier.CARET}${v.major}`,C=Y.makeDescriptor(Y.makeIdent("types",E),b),R=Ye.mapAndFind(a.workspaces,L=>{var oe,pe;let _=(oe=L.manifest.dependencies.get(r.identHash))==null?void 0:oe.descriptorHash,V=(pe=L.manifest.devDependencies.get(r.identHash))==null?void 0:pe.descriptorHash;if(_!==r.descriptorHash&&V!==r.descriptorHash)return Ye.mapAndFind.skip;let re=[];for(let he of Nt.allDependencies){let ve=L.manifest[he].get(C.identHash);typeof ve>"u"||re.push([he,ve])}return re.length===0?Ye.mapAndFind.skip:re});if(typeof R<"u")for(let[L,_]of R)t.manifest[L].set(_.identHash,_);else{try{let L=n.normalizeDependency(C);if((await A.getCandidates(L,{},p)).length===0)return}catch{return}t.manifest[eu.Target.DEVELOPMENT].set(C.identHash,C)}},Uvt=async(t,e,r)=>{if(r.scope==="types")return;let{project:o}=t,{configuration:a}=o;if(!(a.get("tsEnableAutoTypes")??ae.existsSync(z.join(o.cwd,"tsconfig.json"))))return;let u=fve(r),A=Y.makeIdent("types",u);for(let p of Nt.allDependencies)typeof t.manifest[p].get(A.identHash)>"u"||t.manifest[p].delete(A.identHash)},_vt=(t,e)=>{e.publishConfig&&e.publishConfig.typings&&(e.typings=e.publishConfig.typings),e.publishConfig&&e.publishConfig.types&&(e.types=e.publishConfig.types)},Hvt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:Mvt,afterWorkspaceDependencyRemoval:Uvt,beforeWorkspacePacking:_vt}},qvt=Hvt;var GG={};Yt(GG,{VersionApplyCommand:()=>Xh,VersionCheckCommand:()=>Zh,VersionCommand:()=>$h,default:()=>aDt,versionUtils:()=>lI});Ke();Ke();_t();var lI={};Yt(lI,{Decision:()=>oI,applyPrerelease:()=>yve,applyReleases:()=>jG,applyStrategy:()=>tF,clearVersionFiles:()=>_G,getUndecidedDependentWorkspaces:()=>bv,getUndecidedWorkspaces:()=>eF,openVersionFile:()=>aI,requireMoreDecisions:()=>iDt,resolveVersionFiles:()=>xv,suggestStrategy:()=>qG,updateVersionFiles:()=>HG,validateReleaseDecision:()=>sI});Ke();bt();_l();_t();var mve=tt(dve()),SA=tt(si()),nDt=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,oI=(u=>(u.UNDECIDED="undecided",u.DECLINE="decline",u.MAJOR="major",u.MINOR="minor",u.PATCH="patch",u.PRERELEASE="prerelease",u))(oI||{});function sI(t){let e=SA.default.valid(t);return e||Ye.validateEnum((0,mve.default)(oI,"UNDECIDED"),t)}async function xv(t,{prerelease:e=null}={}){let r=new Map,o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return r;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=z.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Yi(A);for(let[h,E]of Object.entries(p.releases||{})){if(E==="decline")continue;let w=Y.parseIdent(h),v=t.tryWorkspaceByIdent(w);if(v===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${z.basename(u)} references ${h})`);if(v.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${Y.prettyLocator(t.configuration,v.anchoredLocator)})`);let b=v.manifest.raw.stableVersion??v.manifest.version,C=r.get(v),R=tF(b,sI(E));if(R===null)throw new Error(`Assertion failed: Expected ${b} to support being bumped via strategy ${E}`);let L=typeof C<"u"?SA.default.gt(R,C)?R:C:R;r.set(v,L)}}return e&&(r=new Map([...r].map(([n,u])=>[n,yve(u,{current:n.manifest.version,prerelease:e})]))),r}async function _G(t){let e=t.configuration.get("deferredVersionFolder");!ae.existsSync(e)||await ae.removePromise(e)}async function HG(t,e){let r=new Set(e),o=t.configuration.get("deferredVersionFolder");if(!ae.existsSync(o))return;let a=await ae.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=z.join(o,n),A=await ae.readFilePromise(u,"utf8"),p=Yi(A),h=p==null?void 0:p.releases;if(!!h){for(let E of Object.keys(h)){let w=Y.parseIdent(E),v=t.tryWorkspaceByIdent(w);(v===null||r.has(v))&&delete p.releases[E]}Object.keys(p.releases).length>0?await ae.changeFilePromise(u,wa(new wa.PreserveOrdering(p))):await ae.unlinkPromise(u)}}}async function aI(t,{allowEmpty:e=!1}={}){let r=t.configuration;if(r.projectCwd===null)throw new ot("This command can only be run from within a Yarn project");let o=await $o.fetchRoot(r.projectCwd),a=o!==null?await $o.fetchBase(o,{baseRefs:r.get("changesetBaseRefs")}):null,n=o!==null?await $o.fetchChangedFiles(o,{base:a.hash,project:t}):[],u=r.get("deferredVersionFolder"),A=n.filter(b=>z.contains(u,b)!==null);if(A.length>1)throw new ot(`Your current branch contains multiple versioning files; this isn't supported: |
703 | - ${A.map(b=>Ae.fromPortablePath(b)).join(` | 705 | - ${A.map(b=>ue.fromPortablePath(b)).join(` |
704 | - `)}`);let p=new Set(Ye.mapAndFilter(n,b=>{let E=t.tryWorkspaceByFilePath(b);return E===null?Ye.mapAndFilter.skip:E}));if(A.length===0&&p.size===0&&!e)return null;let h=A.length===1?A[0]:V.join(u,`${bn.makeHash(Math.random().toString()).slice(0,8)}.yml`),C=ae.existsSync(h)?await ae.readFilePromise(h,"utf8"):"{}",w=Yi(C),v=new Map;for(let b of w.declined||[]){let E=Y.parseIdent(b),R=t.getWorkspaceByIdent(E);v.set(R,"decline")}for(let[b,E]of Object.entries(w.releases||{})){let R=Y.parseIdent(b),L=t.getWorkspaceByIdent(R);v.set(L,tI(E))}return{project:t,root:o,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(b=>b.manifest.version!==null)),releases:v,async saveAll(){let b={},E=[],R=[];for(let L of t.workspaces){if(L.manifest.version===null)continue;let _=Y.stringifyIdent(L.locator),J=v.get(L);J==="decline"?E.push(_):typeof J<"u"?b[_]=tI(J):p.has(L)&&R.push(_)}await ae.mkdirPromise(V.dirname(h),{recursive:!0}),await ae.changeFilePromise(h,Ia(new Ia.PreserveOrdering({releases:Object.keys(b).length>0?b:void 0,declined:E.length>0?E:void 0,undecided:R.length>0?R:void 0})))}}}function Gvt(t){return Zk(t).size>0||wv(t).length>0}function Zk(t){let e=new Set;for(let r of t.changedWorkspaces)r.manifest.version!==null&&(t.releases.has(r)||e.add(r));return e}function wv(t,{include:e=new Set}={}){let r=[],o=new Map(Ye.mapAndFilter([...t.releases],([n,u])=>u==="decline"?Ye.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(Ye.mapAndFilter([...t.releases],([n,u])=>u!=="decline"?Ye.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of t.project.workspaces)if(!(!e.has(n)&&(a.has(n.anchoredLocator.locatorHash)||o.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let u of Nt.hardDependencies)for(let A of n.manifest.getForScope(u).values()){let p=t.project.tryWorkspaceByDescriptor(A);p!==null&&o.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function L9(t,e){let r=vA.default.clean(e);for(let o of Object.values(rI))if(o!=="undecided"&&o!=="decline"&&vA.default.inc(t,o)===r)return o;return null}function $k(t,e){if(vA.default.valid(e))return e;if(t===null)throw new ot(`Cannot apply the release strategy "${e}" unless the workspace already has a valid version`);if(!vA.default.valid(t))throw new ot(`Cannot apply the release strategy "${e}" on a non-semver version (${t})`);let r=vA.default.inc(t,e);if(r===null)throw new ot(`Cannot apply the release strategy "${e}" on the specified version (${t})`);return r}function O9(t,e,{report:r}){let o=new Map;for(let a of t.workspaces)for(let n of Nt.allDependencies)for(let u of a.manifest[n].values()){let A=t.tryWorkspaceByDescriptor(u);if(A===null||!e.has(A))continue;Ye.getArrayWithDefault(o,A).push([a,n,u.identHash])}for(let[a,n]of e){let u=a.manifest.version;a.manifest.version=n,vA.default.prerelease(n)===null?delete a.manifest.raw.stableVersion:a.manifest.raw.stableVersion||(a.manifest.raw.stableVersion=u);let A=a.manifest.name!==null?Y.stringifyIdent(a.manifest.name):null;r.reportInfo(0,`${Y.prettyLocator(t.configuration,a.anchoredLocator)}: Bumped to ${n}`),r.reportJson({cwd:Ae.fromPortablePath(a.cwd),ident:A,oldVersion:u,newVersion:n});let p=o.get(a);if(!(typeof p>"u"))for(let[h,C,w]of p){let v=h.manifest[C].get(w);if(typeof v>"u")throw new Error("Assertion failed: The dependency should have existed");let b=v.range,E=!1;if(b.startsWith(oi.protocol)&&(b=b.slice(oi.protocol.length),E=!0,b===a.relativeCwd))continue;let R=b.match(jvt);if(!R){r.reportWarning(0,`Couldn't auto-upgrade range ${b} (in ${Y.prettyLocator(t.configuration,h.anchoredLocator)})`);continue}let L=`${R[1]}${n}`;E&&(L=`${oi.protocol}${L}`);let _=Y.makeDescriptor(v,L);h.manifest[C].set(w,_)}}}var Wvt=new Map([["%n",{extract:t=>t.length>=1?[t[0],t.slice(1)]:null,generate:(t=0)=>`${t+1}`}]]);function ave(t,{current:e,prerelease:r}){let o=new vA.default.SemVer(e),a=o.prerelease.slice(),n=[];o.prerelease=[],o.format()!==t&&(a.length=0);let u=!0,A=r.split(/\./g);for(let p of A){let h=Wvt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():u=!1;else{let C=u?h.extract(a):null;C!==null&&typeof C[0]=="number"?(n.push(h.generate(C[0])),a=C[1]):(n.push(h.generate()),u=!1)}}return o.prerelease&&(o.prerelease=[]),`${t}-${n.join(".")}`}var Jh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=fe.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=fe.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=fe.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await Iv(o,{prerelease:p}),C=new Map;if(this.all)C=h;else{let w=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let v of w){let b=h.get(v);typeof b<"u"&&C.set(v,b)}}if(C.size===0){let w=h.size>0?" Did you want to add --all?":"";A.reportWarning(0,`The current workspace doesn't seem to require a version bump.${w}`);return}O9(o,C,{report:A}),this.dryRun||(p||(this.all?await T9(o):await N9(o,[...C.keys()])),A.reportSeparator(),await o.install({cache:n,report:A}))})).exitCode()}};Jh.paths=[["version","apply"]],Jh.usage=it.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` | 706 | - `)}`);let p=new Set(Ye.mapAndFilter(n,b=>{let C=t.tryWorkspaceByFilePath(b);return C===null?Ye.mapAndFilter.skip:C}));if(A.length===0&&p.size===0&&!e)return null;let h=A.length===1?A[0]:z.join(u,`${bn.makeHash(Math.random().toString()).slice(0,8)}.yml`),E=ae.existsSync(h)?await ae.readFilePromise(h,"utf8"):"{}",w=Yi(E),v=new Map;for(let b of w.declined||[]){let C=Y.parseIdent(b),R=t.getWorkspaceByIdent(C);v.set(R,"decline")}for(let[b,C]of Object.entries(w.releases||{})){let R=Y.parseIdent(b),L=t.getWorkspaceByIdent(R);v.set(L,sI(C))}return{project:t,root:o,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(b=>b.manifest.version!==null)),releases:v,async saveAll(){let b={},C=[],R=[];for(let L of t.workspaces){if(L.manifest.version===null)continue;let _=Y.stringifyIdent(L.locator),V=v.get(L);V==="decline"?C.push(_):typeof V<"u"?b[_]=sI(V):p.has(L)&&R.push(_)}await ae.mkdirPromise(z.dirname(h),{recursive:!0}),await ae.changeFilePromise(h,wa(new wa.PreserveOrdering({releases:Object.keys(b).length>0?b:void 0,declined:C.length>0?C:void 0,undecided:R.length>0?R:void 0})))}}}function iDt(t){return eF(t).size>0||bv(t).length>0}function eF(t){let e=new Set;for(let r of t.changedWorkspaces)r.manifest.version!==null&&(t.releases.has(r)||e.add(r));return e}function bv(t,{include:e=new Set}={}){let r=[],o=new Map(Ye.mapAndFilter([...t.releases],([n,u])=>u==="decline"?Ye.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(Ye.mapAndFilter([...t.releases],([n,u])=>u!=="decline"?Ye.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of t.project.workspaces)if(!(!e.has(n)&&(a.has(n.anchoredLocator.locatorHash)||o.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let u of Nt.hardDependencies)for(let A of n.manifest.getForScope(u).values()){let p=t.project.tryWorkspaceByDescriptor(A);p!==null&&o.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function qG(t,e){let r=SA.default.clean(e);for(let o of Object.values(oI))if(o!=="undecided"&&o!=="decline"&&SA.default.inc(t,o)===r)return o;return null}function tF(t,e){if(SA.default.valid(e))return e;if(t===null)throw new ot(`Cannot apply the release strategy "${e}" unless the workspace already has a valid version`);if(!SA.default.valid(t))throw new ot(`Cannot apply the release strategy "${e}" on a non-semver version (${t})`);let r=SA.default.inc(t,e);if(r===null)throw new ot(`Cannot apply the release strategy "${e}" on the specified version (${t})`);return r}function jG(t,e,{report:r}){let o=new Map;for(let a of t.workspaces)for(let n of Nt.allDependencies)for(let u of a.manifest[n].values()){let A=t.tryWorkspaceByDescriptor(u);if(A===null||!e.has(A))continue;Ye.getArrayWithDefault(o,A).push([a,n,u.identHash])}for(let[a,n]of e){let u=a.manifest.version;a.manifest.version=n,SA.default.prerelease(n)===null?delete a.manifest.raw.stableVersion:a.manifest.raw.stableVersion||(a.manifest.raw.stableVersion=u);let A=a.manifest.name!==null?Y.stringifyIdent(a.manifest.name):null;r.reportInfo(0,`${Y.prettyLocator(t.configuration,a.anchoredLocator)}: Bumped to ${n}`),r.reportJson({cwd:ue.fromPortablePath(a.cwd),ident:A,oldVersion:u,newVersion:n});let p=o.get(a);if(!(typeof p>"u"))for(let[h,E,w]of p){let v=h.manifest[E].get(w);if(typeof v>"u")throw new Error("Assertion failed: The dependency should have existed");let b=v.range,C=!1;if(b.startsWith(Gn.protocol)&&(b=b.slice(Gn.protocol.length),C=!0,b===a.relativeCwd))continue;let R=b.match(nDt);if(!R){r.reportWarning(0,`Couldn't auto-upgrade range ${b} (in ${Y.prettyLocator(t.configuration,h.anchoredLocator)})`);continue}let L=`${R[1]}${n}`;C&&(L=`${Gn.protocol}${L}`);let _=Y.makeDescriptor(v,L);h.manifest[E].set(w,_)}}}var sDt=new Map([["%n",{extract:t=>t.length>=1?[t[0],t.slice(1)]:null,generate:(t=0)=>`${t+1}`}]]);function yve(t,{current:e,prerelease:r}){let o=new SA.default.SemVer(e),a=o.prerelease.slice(),n=[];o.prerelease=[],o.format()!==t&&(a.length=0);let u=!0,A=r.split(/\./g);for(let p of A){let h=sDt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():u=!1;else{let E=u?h.extract(a):null;E!==null&&typeof E[0]=="number"?(n.push(h.generate(E[0])),a=E[1]):(n.push(h.generate()),u=!1)}}return o.prerelease&&(o.prerelease=[]),`${t}-${n.join(".")}`}var Xh=class extends ct{constructor(){super(...arguments);this.all=fe.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=fe.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=fe.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=fe.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);if(!a)throw new er(o.cwd,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await xv(o,{prerelease:p}),E=new Map;if(this.all)E=h;else{let w=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let v of w){let b=h.get(v);typeof b<"u"&&E.set(v,b)}}if(E.size===0){let w=h.size>0?" Did you want to add --all?":"";A.reportWarning(0,`The current workspace doesn't seem to require a version bump.${w}`);return}jG(o,E,{report:A}),this.dryRun||(p||(this.all?await _G(o):await HG(o,[...E.keys()])),A.reportSeparator(),await o.install({cache:n,report:A}))})).exitCode()}};Xh.paths=[["version","apply"]],Xh.usage=it.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` |
705 | This command will apply the deferred version changes and remove their definitions from the repository. | 707 | This command will apply the deferred version changes and remove their definitions from the repository. |
706 | 708 | ||
707 | Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%d\`) will be used on all new versions and the version definitions will be kept as-is. | 709 | Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%d\`) will be used on all new versions and the version definitions will be kept as-is. |
@@ -712,7 +714,7 @@ ${Avt} | |||
712 | - \`--all\` to apply the version bump on all packages in the repository | 714 | - \`--all\` to apply the version bump on all packages in the repository |
713 | 715 | ||
714 | Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. | 716 | Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. |
715 | `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]});Ke();bt();_t();var eF=tt(ii());var Vh=class extends ct{constructor(){super(...arguments);this.interactive=fe.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){mC(this.context);let{Gem:r}=await Promise.resolve().then(()=>(JQ(),Iq)),{ScrollableItems:o}=await Promise.resolve().then(()=>(ZQ(),XQ)),{FocusRequest:a}=await Promise.resolve().then(()=>(Bq(),cwe)),{useListInput:n}=await Promise.resolve().then(()=>(zQ(),uwe)),{renderForm:u}=await Promise.resolve().then(()=>(rk(),tk)),{Box:A,Text:p}=await Promise.resolve().then(()=>tt(oc())),{default:h,useCallback:C,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),{project:b,workspace:E}=await St.find(v,this.context.cwd);if(!E)throw new er(b.cwd,this.context.cwd);await b.restoreInstallState();let R=await nI(b);if(R===null||R.releaseRoots.size===0)return 0;if(R.root===null)throw new ot("This command can only be run on Git repositories");let L=()=>h.createElement(A,{flexDirection:"row",paddingBottom:1},h.createElement(A,{flexDirection:"column",width:60},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to select workspaces.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<left>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<right>")," to select release strategies."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to save.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),_=({workspace:ve,active:ge,decision:le,setDecision:Pe})=>{let g=ve.manifest.raw.stableVersion??ve.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${Y.prettyLocator(v,ve.anchoredLocator)})`);if(eF.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let De=["undecided","decline","patch","minor","major"];n(le,De,{active:ge,minus:"left",plus:"right",set:Pe});let Ee=le==="undecided"?h.createElement(p,{color:"yellow"},g):le==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},eF.default.valid(le)?le:eF.default.inc(g,le)));return h.createElement(A,{flexDirection:"column"},h.createElement(A,null,h.createElement(p,null,Y.prettyLocator(v,ve.anchoredLocator)," - ",Ee)),h.createElement(A,null,De.map(de=>h.createElement(A,{key:de,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:de===le})," ",de)))))},J=ve=>{let ge=new Set(R.releaseRoots),le=new Map([...ve].filter(([Pe])=>ge.has(Pe)));for(;;){let Pe=wv({project:R.project,releases:le}),g=!1;if(Pe.length>0){for(let[De]of Pe)if(!ge.has(De)){ge.add(De),g=!0;let Ee=ve.get(De);typeof Ee<"u"&&le.set(De,Ee)}}if(!g)break}return{relevantWorkspaces:ge,relevantReleases:le}},re=()=>{let[ve,ge]=w(()=>new Map(R.releases)),le=C((Pe,g)=>{let De=new Map(ve);g!=="undecided"?De.set(Pe,g):De.delete(Pe);let{relevantReleases:Ee}=J(De);ge(Ee)},[ve,ge]);return[ve,le]},oe=({workspaces:ve,releases:ge})=>{let le=[];le.push(`${ve.size} total`);let Pe=0,g=0;for(let De of ve){let Ee=ge.get(De);typeof Ee>"u"?g+=1:Ee!=="decline"&&(Pe+=1)}return le.push(`${Pe} release${Pe===1?"":"s"}`),le.push(`${g} remaining`),h.createElement(p,{color:"yellow"},le.join(", "))},he=await u(({useSubmit:ve})=>{let[ge,le]=re();ve(ge);let{relevantWorkspaces:Pe}=J(ge),g=new Set([...Pe].filter(ne=>!R.releaseRoots.has(ne))),[De,Ee]=w(0),de=C(ne=>{switch(ne){case a.BEFORE:Ee(De-1);break;case a.AFTER:Ee(De+1);break}},[De,Ee]);return h.createElement(A,{flexDirection:"column"},h.createElement(L,null),h.createElement(A,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(A,{flexDirection:"column",marginTop:1,paddingLeft:2},[...R.changedFiles].map(ne=>h.createElement(A,{key:ne},h.createElement(p,null,h.createElement(p,{color:"grey"},Ae.fromPortablePath(R.root)),Ae.sep,Ae.relative(Ae.fromPortablePath(R.root),Ae.fromPortablePath(ne)))))),R.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(A,{marginTop:1},h.createElement(oe,{workspaces:R.releaseRoots,releases:ge})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:De%2===0,radius:1,size:2,onFocusRequest:de},[...R.releaseRoots].map(ne=>h.createElement(_,{key:ne.cwd,workspace:ne,decision:ge.get(ne)||"undecided",setDecision:Z=>le(ne,Z)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(A,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<tab>")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(A,{marginTop:1},h.createElement(oe,{workspaces:g,releases:ge})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:De%2===1,radius:2,size:2,onFocusRequest:de},[...g].map(ne=>h.createElement(_,{key:ne.cwd,workspace:ne,decision:ge.get(ne)||"undecided",setDecision:Z=>le(ne,Z)}))))):null)},{versionFile:R},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof he>"u")return 1;R.releases.clear();for(let[ve,ge]of he)R.releases.set(ve,ge);await R.saveAll()}async executeStandard(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);return await o.restoreInstallState(),(await Ct.start({configuration:r,stdout:this.context.stdout},async u=>{let A=await nI(o);if(A===null||A.releaseRoots.size===0)return;if(A.root===null)throw new ot("This command can only be run on Git repositories");if(u.reportInfo(0,`Your PR was started right after ${ye.pretty(r,A.baseHash.slice(0,7),"yellow")} ${ye.pretty(r,A.baseTitle,"magenta")}`),A.changedFiles.size>0){u.reportInfo(0,"You have changed the following files since then:"),u.reportSeparator();for(let v of A.changedFiles)u.reportInfo(null,`${ye.pretty(r,Ae.fromPortablePath(A.root),"gray")}${Ae.sep}${Ae.relative(Ae.fromPortablePath(A.root),Ae.fromPortablePath(v))}`)}let p=!1,h=!1,C=Zk(A);if(C.size>0){p||u.reportSeparator();for(let v of C)u.reportError(0,`${Y.prettyLocator(r,v.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let w=wv(A);for(let[v,b]of w)h||u.reportSeparator(),u.reportError(0,`${Y.prettyLocator(r,v.anchoredLocator)} doesn't have a release strategy attached, but depends on ${Y.prettyWorkspace(r,b)} which is planned for release.`),h=!0;(p||h)&&(u.reportSeparator(),u.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),u.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};Vh.paths=[["version","check"]],Vh.usage=it.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]});Ke();_t();var tF=tt(ii());var zh=class extends ct{constructor(){super(...arguments);this.deferred=fe.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=fe.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let u=tF.default.valid(this.strategy),A=this.strategy==="decline",p;if(u)if(a.manifest.version!==null){let C=L9(a.manifest.version,this.strategy);C!==null?p=C:p=this.strategy}else p=this.strategy;else{let C=a.manifest.version;if(!A){if(C===null)throw new ot("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof C!="string"||!tF.default.valid(C))throw new ot(`Can't bump the version (${C}) if it's not valid semver`)}p=tI(this.strategy)}if(!n){let w=(await Iv(o)).get(a);if(typeof w<"u"&&p!=="decline"){let v=$k(a.manifest.version,p);if(tF.default.lt(v,w))throw new ot(`Can't bump the version to one that would be lower than the current deferred one (${w})`)}}let h=await nI(o,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};zh.paths=[["version"]],zh.usage=it.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]});var Yvt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[Jh,Vh,zh]},Kvt=Yvt;var U9={};Yt(U9,{WorkspacesFocusCommand:()=>Xh,WorkspacesForeachCommand:()=>Zh,default:()=>zvt});Ke();Ke();_t();var Xh=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=fe.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=fe.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);await o.restoreInstallState({restoreResolutions:!1});let u;if(this.all)u=new Set(o.workspaces);else if(this.workspaces.length===0){if(!a)throw new er(o.cwd,this.context.cwd);u=new Set([a])}else u=new Set(this.workspaces.map(p=>o.getWorkspaceByIdent(Y.parseIdent(p))));for(let p of u)for(let h of this.production?["dependencies"]:Nt.hardDependencies)for(let C of p.manifest.getForScope(h).values()){let w=o.tryWorkspaceByDescriptor(C);w!==null&&u.add(w)}for(let p of o.workspaces)u.has(p)?this.production&&p.manifest.devDependencies.clear():(p.manifest.installConfig=p.manifest.installConfig||{},p.manifest.installConfig.selfReferences=!1,p.manifest.dependencies.clear(),p.manifest.devDependencies.clear(),p.manifest.peerDependencies.clear(),p.manifest.scripts.clear());return(await Ct.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!0},async p=>{await o.install({cache:n,report:p,persistProject:!1})})).exitCode()}};Xh.paths=[["workspaces","focus"]],Xh.usage=it.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "});Ke();Ke();Ke();_t();var rF=tt(Jo()),cve=tt($g());$a();var Zh=class extends ct{constructor(){super(...arguments);this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.from=fe.Array("--from",[],{description:"An array of glob pattern idents from which to base any recursion"});this.all=fe.Boolean("-A,--all",!1,{description:"Run the command on all workspaces of a project"});this.verbose=fe.Boolean("-v,--verbose",{description:"Prefix each output line with the name of the originating workspace"});this.parallel=fe.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=fe.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=fe.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:NT([Gs(["unlimited"]),Xg(TT(),[OT(),LT(1)])])});this.topological=fe.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=fe.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=fe.Array("--include",[],{description:"An array of glob pattern idents; only matching workspaces will be traversed"});this.exclude=fe.Array("--exclude",[],{description:"An array of glob pattern idents; matching workspaces won't be traversed"});this.publicOnly=fe.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=fe.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!this.all&&!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),u=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new ot("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let A=this.all?o.topLevelWorkspace:a,p=this.since?Array.from(await Zo.fetchChangedWorkspaces({ref:this.since,project:o})):[A,...this.from.length>0?A.getRecursiveWorkspaceChildren():[]],h=le=>rF.default.isMatch(Y.stringifyIdent(le.locator),this.from),C=this.from.length>0?p.filter(h):p,w=new Set([...C,...C.map(le=>[...this.recursive?this.since?le.getRecursiveWorkspaceDependents():le.getRecursiveWorkspaceDependencies():le.getRecursiveWorkspaceChildren()]).flat()]),v=[],b=!1;if(u!=null&&u.includes(":")){for(let le of o.workspaces)if(le.manifest.scripts.has(u)&&(b=!b,b===!1))break}for(let le of w)u&&!le.manifest.scripts.has(u)&&!b&&!(await sn.getWorkspaceAccessibleBinaries(le)).has(u)||u===process.env.npm_lifecycle_event&&le.cwd===a.cwd||this.include.length>0&&!rF.default.isMatch(Y.stringifyIdent(le.locator),this.include)||this.exclude.length>0&&rF.default.isMatch(Y.stringifyIdent(le.locator),this.exclude)||this.publicOnly&&le.manifest.private===!0||v.push(le);let E=this.verbose??this.context.stdout.isTTY,R=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(As.availableParallelism()/2):1,L=R===1?!1:this.parallel,_=L?this.interlaced:!0,J=(0,cve.default)(R),re=new Map,oe=new Set,pe=0,he=null,ve=!1,ge=await Ct.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async le=>{let Pe=async(g,{commandIndex:De})=>{if(ve)return-1;!L&&E&&De>1&&le.reportSeparator();let Ee=Jvt(g,{configuration:r,verbose:E,commandIndex:De}),[de,ne]=lve(le,{prefix:Ee,interlaced:_}),[Z,me]=lve(le,{prefix:Ee,interlaced:_});try{E&&le.reportInfo(null,`${Ee} Process started`);let be=Date.now(),ut=await this.cli.run([this.commandName,...this.args],{cwd:g.cwd,stdout:de,stderr:Z})||0;de.end(),Z.end(),await ne,await me;let H=Date.now();if(E){let yt=r.get("enableTimers")?`, completed in ${ye.pretty(r,H-be,ye.Type.DURATION)}`:"";le.reportInfo(null,`${Ee} Process exited (exit code ${ut})${yt}`)}return ut===130&&(ve=!0,he=ut),ut}catch(be){throw de.end(),Z.end(),await ne,await me,be}};for(let g of v)re.set(g.anchoredLocator.locatorHash,g);for(;re.size>0&&!le.hasErrors();){let g=[];for(let[de,ne]of re){if(oe.has(ne.anchoredDescriptor.descriptorHash))continue;let Z=!0;if(this.topological||this.topologicalDev){let me=this.topologicalDev?new Map([...ne.manifest.dependencies,...ne.manifest.devDependencies]):ne.manifest.dependencies;for(let be of me.values()){let ut=o.tryWorkspaceByDescriptor(be);if(Z=ut===null||!re.has(ut.anchoredLocator.locatorHash),!Z)break}}if(!!Z&&(oe.add(ne.anchoredDescriptor.descriptorHash),g.push(J(async()=>{let me=await Pe(ne,{commandIndex:++pe});return re.delete(de),oe.delete(ne.anchoredDescriptor.descriptorHash),me})),!L))break}if(g.length===0){let de=Array.from(re.values()).map(ne=>Y.prettyLocator(r,ne.anchoredLocator)).join(", ");le.reportError(3,`Dependency cycle detected (${de})`);return}let Ee=(await Promise.all(g)).find(de=>de!==0);he===null&&(he=typeof Ee<"u"?1:he),(this.topological||this.topologicalDev)&&typeof Ee<"u"&&le.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return he!==null?he:ge.exitCode()}};Zh.paths=[["workspaces","foreach"]],Zh.usage=it.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project. By default yarn runs the command only on current and all its descendant workspaces.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n Adding the `-v,--verbose` flag (automatically enabled in interactive terminal environments) will cause Yarn to print more information; in particular the name of the workspace that generated the output will be printed at the front of each line.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish current and all descendant packages","yarn workspaces foreach npm publish --tolerate-republish"],["Run build script on current and all descendant packages","yarn workspaces foreach run build"],["Run build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -pt run build"],["Run build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -ptR --from '{workspace-a,workspace-b}' run build"]]});function lve(t,{prefix:e,interlaced:r}){let o=t.createStreamReporter(e),a=new Ye.DefaultStream;a.pipe(o,{end:!1}),a.on("finish",()=>{o.end()});let n=new Promise(A=>{o.on("finish",()=>{A(a.active)})});if(r)return[a,n];let u=new Ye.BufferStream;return u.pipe(a,{end:!1}),u.on("finish",()=>{a.end()}),[u,n]}function Jvt(t,{configuration:e,commandIndex:r,verbose:o}){if(!o)return null;let n=`[${Y.stringifyIdent(t.locator)}]:`,u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[r%u.length];return ye.pretty(e,n,A)}var Vvt={commands:[Xh,Zh]},zvt=Vvt;var qb=()=>({modules:new Map([["@yarnpkg/cli",H1],["@yarnpkg/core",_1],["@yarnpkg/fslib",TI],["@yarnpkg/libzip",LI],["@yarnpkg/parsers",GI],["@yarnpkg/shell",E1],["clipanion",$I],["semver",Xvt],["typanion",Go],["@yarnpkg/plugin-essentials",X8],["@yarnpkg/plugin-compat",rH],["@yarnpkg/plugin-constraints",EH],["@yarnpkg/plugin-dlx",CH],["@yarnpkg/plugin-exec",BH],["@yarnpkg/plugin-file",DH],["@yarnpkg/plugin-git",z8],["@yarnpkg/plugin-github",xH],["@yarnpkg/plugin-http",bH],["@yarnpkg/plugin-init",QH],["@yarnpkg/plugin-interactive-tools",Fq],["@yarnpkg/plugin-link",Rq],["@yarnpkg/plugin-nm",Aj],["@yarnpkg/plugin-npm",l9],["@yarnpkg/plugin-npm-cli",d9],["@yarnpkg/plugin-pack",n9],["@yarnpkg/plugin-patch",B9],["@yarnpkg/plugin-pnp",$q],["@yarnpkg/plugin-pnpm",S9],["@yarnpkg/plugin-stage",F9],["@yarnpkg/plugin-typescript",R9],["@yarnpkg/plugin-version",M9],["@yarnpkg/plugin-workspace-tools",U9]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});Hb({binaryVersion:On||"<unknown>",pluginConfiguration:qb()});})(); | 717 | `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]});Ke();bt();_t();var rF=tt(si());var Zh=class extends ct{constructor(){super(...arguments);this.interactive=fe.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){wE(this.context);let{Gem:r}=await Promise.resolve().then(()=>(tk(),wq)),{ScrollableItems:o}=await Promise.resolve().then(()=>(sk(),ik)),{FocusRequest:a}=await Promise.resolve().then(()=>(vq(),gwe)),{useListInput:n}=await Promise.resolve().then(()=>(nk(),dwe)),{renderForm:u}=await Promise.resolve().then(()=>(ck(),lk)),{Box:A,Text:p}=await Promise.resolve().then(()=>tt(cc())),{default:h,useCallback:E,useState:w}=await Promise.resolve().then(()=>tt(en())),v=await Xe.find(this.context.cwd,this.context.plugins),{project:b,workspace:C}=await St.find(v,this.context.cwd);if(!C)throw new er(b.cwd,this.context.cwd);await b.restoreInstallState();let R=await aI(b);if(R===null||R.releaseRoots.size===0)return 0;if(R.root===null)throw new ot("This command can only be run on Git repositories");let L=()=>h.createElement(A,{flexDirection:"row",paddingBottom:1},h.createElement(A,{flexDirection:"column",width:60},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<up>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<down>")," to select workspaces.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<left>"),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"<right>")," to select release strategies."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<enter>")," to save.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<ctrl+c>")," to abort.")))),_=({workspace:ve,active:ge,decision:le,setDecision:Pe})=>{let g=ve.manifest.raw.stableVersion??ve.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${Y.prettyLocator(v,ve.anchoredLocator)})`);if(rF.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let De=["undecided","decline","patch","minor","major"];n(le,De,{active:ge,minus:"left",plus:"right",set:Pe});let Ce=le==="undecided"?h.createElement(p,{color:"yellow"},g):le==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},rF.default.valid(le)?le:rF.default.inc(g,le)));return h.createElement(A,{flexDirection:"column"},h.createElement(A,null,h.createElement(p,null,Y.prettyLocator(v,ve.anchoredLocator)," - ",Ce)),h.createElement(A,null,De.map(de=>h.createElement(A,{key:de,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:de===le})," ",de)))))},V=ve=>{let ge=new Set(R.releaseRoots),le=new Map([...ve].filter(([Pe])=>ge.has(Pe)));for(;;){let Pe=bv({project:R.project,releases:le}),g=!1;if(Pe.length>0){for(let[De]of Pe)if(!ge.has(De)){ge.add(De),g=!0;let Ce=ve.get(De);typeof Ce<"u"&&le.set(De,Ce)}}if(!g)break}return{relevantWorkspaces:ge,relevantReleases:le}},re=()=>{let[ve,ge]=w(()=>new Map(R.releases)),le=E((Pe,g)=>{let De=new Map(ve);g!=="undecided"?De.set(Pe,g):De.delete(Pe);let{relevantReleases:Ce}=V(De);ge(Ce)},[ve,ge]);return[ve,le]},oe=({workspaces:ve,releases:ge})=>{let le=[];le.push(`${ve.size} total`);let Pe=0,g=0;for(let De of ve){let Ce=ge.get(De);typeof Ce>"u"?g+=1:Ce!=="decline"&&(Pe+=1)}return le.push(`${Pe} release${Pe===1?"":"s"}`),le.push(`${g} remaining`),h.createElement(p,{color:"yellow"},le.join(", "))},he=await u(({useSubmit:ve})=>{let[ge,le]=re();ve(ge);let{relevantWorkspaces:Pe}=V(ge),g=new Set([...Pe].filter(ne=>!R.releaseRoots.has(ne))),[De,Ce]=w(0),de=E(ne=>{switch(ne){case a.BEFORE:Ce(De-1);break;case a.AFTER:Ce(De+1);break}},[De,Ce]);return h.createElement(A,{flexDirection:"column"},h.createElement(L,null),h.createElement(A,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(A,{flexDirection:"column",marginTop:1,paddingLeft:2},[...R.changedFiles].map(ne=>h.createElement(A,{key:ne},h.createElement(p,null,h.createElement(p,{color:"grey"},ue.fromPortablePath(R.root)),ue.sep,ue.relative(ue.fromPortablePath(R.root),ue.fromPortablePath(ne)))))),R.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(A,{marginTop:1},h.createElement(oe,{workspaces:R.releaseRoots,releases:ge})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:De%2===0,radius:1,size:2,onFocusRequest:de},[...R.releaseRoots].map(ne=>h.createElement(_,{key:ne.cwd,workspace:ne,decision:ge.get(ne)||"undecided",setDecision:Z=>le(ne,Z)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(A,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"<tab>")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(A,{marginTop:1},h.createElement(oe,{workspaces:g,releases:ge})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:De%2===1,radius:2,size:2,onFocusRequest:de},[...g].map(ne=>h.createElement(_,{key:ne.cwd,workspace:ne,decision:ge.get(ne)||"undecided",setDecision:Z=>le(ne,Z)}))))):null)},{versionFile:R},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof he>"u")return 1;R.releases.clear();for(let[ve,ge]of he)R.releases.set(ve,ge);await R.saveAll()}async executeStandard(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);return await o.restoreInstallState(),(await Et.start({configuration:r,stdout:this.context.stdout},async u=>{let A=await aI(o);if(A===null||A.releaseRoots.size===0)return;if(A.root===null)throw new ot("This command can only be run on Git repositories");if(u.reportInfo(0,`Your PR was started right after ${ye.pretty(r,A.baseHash.slice(0,7),"yellow")} ${ye.pretty(r,A.baseTitle,"magenta")}`),A.changedFiles.size>0){u.reportInfo(0,"You have changed the following files since then:"),u.reportSeparator();for(let v of A.changedFiles)u.reportInfo(null,`${ye.pretty(r,ue.fromPortablePath(A.root),"gray")}${ue.sep}${ue.relative(ue.fromPortablePath(A.root),ue.fromPortablePath(v))}`)}let p=!1,h=!1,E=eF(A);if(E.size>0){p||u.reportSeparator();for(let v of E)u.reportError(0,`${Y.prettyLocator(r,v.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let w=bv(A);for(let[v,b]of w)h||u.reportSeparator(),u.reportError(0,`${Y.prettyLocator(r,v.anchoredLocator)} doesn't have a release strategy attached, but depends on ${Y.prettyWorkspace(r,b)} which is planned for release.`),h=!0;(p||h)&&(u.reportSeparator(),u.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),u.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};Zh.paths=[["version","check"]],Zh.usage=it.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]});Ke();_t();var nF=tt(si());var $h=class extends ct{constructor(){super(...arguments);this.deferred=fe.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=fe.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=fe.String()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new er(o.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let u=nF.default.valid(this.strategy),A=this.strategy==="decline",p;if(u)if(a.manifest.version!==null){let E=qG(a.manifest.version,this.strategy);E!==null?p=E:p=this.strategy}else p=this.strategy;else{let E=a.manifest.version;if(!A){if(E===null)throw new ot("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof E!="string"||!nF.default.valid(E))throw new ot(`Can't bump the version (${E}) if it's not valid semver`)}p=sI(this.strategy)}if(!n){let w=(await xv(o)).get(a);if(typeof w<"u"&&p!=="decline"){let v=tF(a.manifest.version,p);if(nF.default.lt(v,w))throw new ot(`Can't bump the version to one that would be lower than the current deferred one (${w})`)}}let h=await aI(o,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};$h.paths=[["version"]],$h.usage=it.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]});var oDt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[Xh,Zh,$h]},aDt=oDt;var WG={};Yt(WG,{WorkspacesFocusCommand:()=>eg,WorkspacesForeachCommand:()=>tg,default:()=>uDt});Ke();Ke();_t();var eg=class extends ct{constructor(){super(...arguments);this.json=fe.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=fe.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=fe.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=fe.Rest()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Ur.find(r);await o.restoreInstallState({restoreResolutions:!1});let u;if(this.all)u=new Set(o.workspaces);else if(this.workspaces.length===0){if(!a)throw new er(o.cwd,this.context.cwd);u=new Set([a])}else u=new Set(this.workspaces.map(p=>o.getWorkspaceByIdent(Y.parseIdent(p))));for(let p of u)for(let h of this.production?["dependencies"]:Nt.hardDependencies)for(let E of p.manifest.getForScope(h).values()){let w=o.tryWorkspaceByDescriptor(E);w!==null&&u.add(w)}for(let p of o.workspaces)u.has(p)?this.production&&p.manifest.devDependencies.clear():(p.manifest.installConfig=p.manifest.installConfig||{},p.manifest.installConfig.selfReferences=!1,p.manifest.dependencies.clear(),p.manifest.devDependencies.clear(),p.manifest.peerDependencies.clear(),p.manifest.scripts.clear());return(await Et.start({configuration:r,json:this.json,stdout:this.context.stdout,includeLogs:!0},async p=>{await o.install({cache:n,report:p,persistProject:!1})})).exitCode()}};eg.paths=[["workspaces","focus"]],eg.usage=it.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "});Ke();Ke();Ke();_t();var xm=tt(Jo()),Eve=tt(rd());tl();var tg=class extends ct{constructor(){super(...arguments);this.recursive=fe.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.from=fe.Array("--from",[],{description:"An array of glob pattern idents or paths from which to base any recursion"});this.all=fe.Boolean("-A,--all",!1,{description:"Run the command on all workspaces of a project"});this.verbose=fe.Boolean("-v,--verbose",{description:"Prefix each output line with the name of the originating workspace"});this.parallel=fe.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=fe.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=fe.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:LT([Gs(["unlimited"]),ed(NT(),[MT(),OT(1)])])});this.topological=fe.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=fe.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=fe.Array("--include",[],{description:"An array of glob pattern idents or paths; only matching workspaces will be traversed"});this.exclude=fe.Array("--exclude",[],{description:"An array of glob pattern idents or paths; matching workspaces won't be traversed"});this.publicOnly=fe.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=fe.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.commandName=fe.String();this.args=fe.Proxy()}async execute(){let r=await Xe.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!this.all&&!a)throw new er(o.cwd,this.context.cwd);await o.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),u=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new ot("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let A=this.all?o.topLevelWorkspace:a,p=this.since?Array.from(await $o.fetchChangedWorkspaces({ref:this.since,project:o})):[A,...this.from.length>0?A.getRecursiveWorkspaceChildren():[]],h=le=>xm.default.isMatch(Y.stringifyIdent(le.locator),this.from)||xm.default.isMatch(le.relativeCwd,this.from),E=this.from.length>0?p.filter(h):p,w=new Set([...E,...E.map(le=>[...this.recursive?this.since?le.getRecursiveWorkspaceDependents():le.getRecursiveWorkspaceDependencies():le.getRecursiveWorkspaceChildren()]).flat()]),v=[],b=!1;if(u!=null&&u.includes(":")){for(let le of o.workspaces)if(le.manifest.scripts.has(u)&&(b=!b,b===!1))break}for(let le of w)u&&!le.manifest.scripts.has(u)&&!b&&!(await sn.getWorkspaceAccessibleBinaries(le)).has(u)||u===process.env.npm_lifecycle_event&&le.cwd===a.cwd||this.include.length>0&&!xm.default.isMatch(Y.stringifyIdent(le.locator),this.include)&&!xm.default.isMatch(le.relativeCwd,this.include)||this.exclude.length>0&&(xm.default.isMatch(Y.stringifyIdent(le.locator),this.exclude)||xm.default.isMatch(le.relativeCwd,this.exclude))||this.publicOnly&&le.manifest.private===!0||v.push(le);let C=this.verbose??this.context.stdout.isTTY,R=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(As.availableParallelism()/2):1,L=R===1?!1:this.parallel,_=L?this.interlaced:!0,V=(0,Eve.default)(R),re=new Map,oe=new Set,pe=0,he=null,ve=!1,ge=await Et.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async le=>{let Pe=async(g,{commandIndex:De})=>{if(ve)return-1;!L&&C&&De>1&&le.reportSeparator();let Ce=lDt(g,{configuration:r,verbose:C,commandIndex:De}),[de,ne]=Cve(le,{prefix:Ce,interlaced:_}),[Z,me]=Cve(le,{prefix:Ce,interlaced:_});try{C&&le.reportInfo(null,`${Ce} Process started`);let be=Date.now(),ut=await this.cli.run([this.commandName,...this.args],{cwd:g.cwd,stdout:de,stderr:Z})||0;de.end(),Z.end(),await ne,await me;let H=Date.now();if(C){let yt=r.get("enableTimers")?`, completed in ${ye.pretty(r,H-be,ye.Type.DURATION)}`:"";le.reportInfo(null,`${Ce} Process exited (exit code ${ut})${yt}`)}return ut===130&&(ve=!0,he=ut),ut}catch(be){throw de.end(),Z.end(),await ne,await me,be}};for(let g of v)re.set(g.anchoredLocator.locatorHash,g);for(;re.size>0&&!le.hasErrors();){let g=[];for(let[de,ne]of re){if(oe.has(ne.anchoredDescriptor.descriptorHash))continue;let Z=!0;if(this.topological||this.topologicalDev){let me=this.topologicalDev?new Map([...ne.manifest.dependencies,...ne.manifest.devDependencies]):ne.manifest.dependencies;for(let be of me.values()){let ut=o.tryWorkspaceByDescriptor(be);if(Z=ut===null||!re.has(ut.anchoredLocator.locatorHash),!Z)break}}if(!!Z&&(oe.add(ne.anchoredDescriptor.descriptorHash),g.push(V(async()=>{let me=await Pe(ne,{commandIndex:++pe});return re.delete(de),oe.delete(ne.anchoredDescriptor.descriptorHash),me})),!L))break}if(g.length===0){let de=Array.from(re.values()).map(ne=>Y.prettyLocator(r,ne.anchoredLocator)).join(", ");le.reportError(3,`Dependency cycle detected (${de})`);return}let Ce=(await Promise.all(g)).find(de=>de!==0);he===null&&(he=typeof Ce<"u"?1:he),(this.topological||this.topologicalDev)&&typeof Ce<"u"&&le.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return he!==null?he:ge.exitCode()}};tg.paths=[["workspaces","foreach"]],tg.usage=it.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project. By default yarn runs the command only on current and all its descendant workspaces.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n Adding the `-v,--verbose` flag (automatically enabled in interactive terminal environments) will cause Yarn to print more information; in particular the name of the workspace that generated the output will be printed at the front of each line.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish current and all descendant packages","yarn workspaces foreach npm publish --tolerate-republish"],["Run build script on current and all descendant packages","yarn workspaces foreach run build"],["Run build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -pt run build"],["Run build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -ptR --from '{workspace-a,workspace-b}' run build"]]});function Cve(t,{prefix:e,interlaced:r}){let o=t.createStreamReporter(e),a=new Ye.DefaultStream;a.pipe(o,{end:!1}),a.on("finish",()=>{o.end()});let n=new Promise(A=>{o.on("finish",()=>{A(a.active)})});if(r)return[a,n];let u=new Ye.BufferStream;return u.pipe(a,{end:!1}),u.on("finish",()=>{a.end()}),[u,n]}function lDt(t,{configuration:e,commandIndex:r,verbose:o}){if(!o)return null;let n=`[${Y.stringifyIdent(t.locator)}]:`,u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[r%u.length];return ye.pretty(e,n,A)}var cDt={commands:[eg,tg]},uDt=cDt;var Jb=()=>({modules:new Map([["@yarnpkg/cli",W1],["@yarnpkg/core",G1],["@yarnpkg/fslib",MI],["@yarnpkg/libzip",_I],["@yarnpkg/parsers",VI],["@yarnpkg/shell",B1],["clipanion",nw],["semver",ADt],["typanion",Wo],["@yarnpkg/plugin-essentials",Z8],["@yarnpkg/plugin-compat",nH],["@yarnpkg/plugin-constraints",EH],["@yarnpkg/plugin-dlx",IH],["@yarnpkg/plugin-exec",vH],["@yarnpkg/plugin-file",SH],["@yarnpkg/plugin-git",X8],["@yarnpkg/plugin-github",bH],["@yarnpkg/plugin-http",QH],["@yarnpkg/plugin-init",kH],["@yarnpkg/plugin-interactive-tools",Rq],["@yarnpkg/plugin-link",Tq],["@yarnpkg/plugin-nm",mj],["@yarnpkg/plugin-npm",hG],["@yarnpkg/plugin-npm-cli",wG],["@yarnpkg/plugin-pack",cG],["@yarnpkg/plugin-patch",bG],["@yarnpkg/plugin-pnp",sj],["@yarnpkg/plugin-pnpm",FG],["@yarnpkg/plugin-stage",MG],["@yarnpkg/plugin-typescript",UG],["@yarnpkg/plugin-version",GG],["@yarnpkg/plugin-workspace-tools",WG]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});Vb({binaryVersion:On||"<unknown>",pluginConfiguration:Jb()});})(); |
716 | /* | 718 | /* |
717 | object-assign | 719 | object-assign |
718 | (c) Sindre Sorhus | 720 | (c) Sindre Sorhus |
@@ -781,6 +783,29 @@ object-assign | |||
781 | */ | 783 | */ |
782 | /** | 784 | /** |
783 | @license | 785 | @license |
786 | Copyright Joyent, Inc. and other Node contributors. | ||
787 | |||
788 | Permission is hereby granted, free of charge, to any person obtaining a | ||
789 | copy of this software and associated documentation files (the | ||
790 | "Software"), to deal in the Software without restriction, including | ||
791 | without limitation the rights to use, copy, modify, merge, publish, | ||
792 | distribute, sublicense, and/or sell copies of the Software, and to permit | ||
793 | persons to whom the Software is furnished to do so, subject to the | ||
794 | following conditions: | ||
795 | |||
796 | The above copyright notice and this permission notice shall be included | ||
797 | in all copies or substantial portions of the Software. | ||
798 | |||
799 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
800 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
801 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN | ||
802 | NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||
803 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR | ||
804 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||
805 | USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
806 | */ | ||
807 | /** | ||
808 | @license | ||
784 | Copyright Node.js contributors. All rights reserved. | 809 | Copyright Node.js contributors. All rights reserved. |
785 | 810 | ||
786 | Permission is hereby granted, free of charge, to any person obtaining a copy | 811 | Permission is hereby granted, free of charge, to any person obtaining a copy |
@@ -801,6 +826,30 @@ object-assign | |||
801 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | 826 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS |
802 | IN THE SOFTWARE. | 827 | IN THE SOFTWARE. |
803 | */ | 828 | */ |
829 | /** | ||
830 | @license | ||
831 | The MIT License (MIT) | ||
832 | |||
833 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) | ||
834 | |||
835 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
836 | of this software and associated documentation files (the "Software"), to deal | ||
837 | in the Software without restriction, including without limitation the rights | ||
838 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
839 | copies of the Software, and to permit persons to whom the Software is | ||
840 | furnished to do so, subject to the following conditions: | ||
841 | |||
842 | The above copyright notice and this permission notice shall be included in | ||
843 | all copies or substantial portions of the Software. | ||
844 | |||
845 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
846 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
847 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
848 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
849 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
850 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
851 | THE SOFTWARE. | ||
852 | */ | ||
804 | /** @license React v0.18.0 | 853 | /** @license React v0.18.0 |
805 | * scheduler.production.min.js | 854 | * scheduler.production.min.js |
806 | * | 855 | * |
diff --git a/.yarn/sdks/eslint/package.json b/.yarn/sdks/eslint/package.json index 1769894e..a244033a 100644 --- a/.yarn/sdks/eslint/package.json +++ b/.yarn/sdks/eslint/package.json | |||
@@ -1,6 +1,6 @@ | |||
1 | { | 1 | { |
2 | "name": "eslint", | 2 | "name": "eslint", |
3 | "version": "8.29.0-sdk", | 3 | "version": "8.37.0-sdk", |
4 | "main": "./lib/api.js", | 4 | "main": "./lib/api.js", |
5 | "type": "commonjs" | 5 | "type": "commonjs" |
6 | } | 6 | } |
diff --git a/.yarn/sdks/typescript/lib/tsserver.js b/.yarn/sdks/typescript/lib/tsserver.js index 0fb2ac10..bbb1e465 100644 --- a/.yarn/sdks/typescript/lib/tsserver.js +++ b/.yarn/sdks/typescript/lib/tsserver.js | |||
@@ -109,6 +109,8 @@ const moduleWrapper = tsserver => { | |||
109 | str = `zip:${str}`; | 109 | str = `zip:${str}`; |
110 | } break; | 110 | } break; |
111 | } | 111 | } |
112 | } else { | ||
113 | str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`); | ||
112 | } | 114 | } |
113 | } | 115 | } |
114 | 116 | ||
diff --git a/.yarn/sdks/typescript/lib/tsserverlibrary.js b/.yarn/sdks/typescript/lib/tsserverlibrary.js index e7033a81..a68f028f 100644 --- a/.yarn/sdks/typescript/lib/tsserverlibrary.js +++ b/.yarn/sdks/typescript/lib/tsserverlibrary.js | |||
@@ -109,6 +109,8 @@ const moduleWrapper = tsserver => { | |||
109 | str = `zip:${str}`; | 109 | str = `zip:${str}`; |
110 | } break; | 110 | } break; |
111 | } | 111 | } |
112 | } else { | ||
113 | str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`); | ||
112 | } | 114 | } |
113 | } | 115 | } |
114 | 116 | ||
diff --git a/.yarn/sdks/typescript/package.json b/.yarn/sdks/typescript/package.json index 176c2069..f1d7ffa4 100644 --- a/.yarn/sdks/typescript/package.json +++ b/.yarn/sdks/typescript/package.json | |||
@@ -1,6 +1,6 @@ | |||
1 | { | 1 | { |
2 | "name": "typescript", | 2 | "name": "typescript", |
3 | "version": "4.9.3-sdk", | 3 | "version": "5.0.3-sdk", |
4 | "main": "./lib/typescript.js", | 4 | "main": "./lib/typescript.js", |
5 | "type": "commonjs" | 5 | "type": "commonjs" |
6 | } | 6 | } |
diff --git a/.yarnrc.yml b/.yarnrc.yml index f02aeec9..37765fad 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml | |||
@@ -5,6 +5,9 @@ enableTelemetry: 0 | |||
5 | nodeLinker: pnp | 5 | nodeLinker: pnp |
6 | 6 | ||
7 | packageExtensions: | 7 | packageExtensions: |
8 | "notistack@*": | ||
9 | peerDependencies: | ||
10 | "csstype": "*" | ||
8 | "@xstate/cli@*": | 11 | "@xstate/cli@*": |
9 | peerDependencies: | 12 | peerDependencies: |
10 | prettier: "*" | 13 | prettier: "*" |
@@ -12,4 +15,4 @@ packageExtensions: | |||
12 | peerDependencies: | 15 | peerDependencies: |
13 | "@babel/core": "*" | 16 | "@babel/core": "*" |
14 | 17 | ||
15 | yarnPath: .yarn/releases/yarn-4.0.0-rc.37.cjs | 18 | yarnPath: .yarn/releases/yarn-4.0.0-rc.42.cjs |
diff --git a/gradle.properties b/gradle.properties index 3733420b..8faaa0eb 100644 --- a/gradle.properties +++ b/gradle.properties | |||
@@ -1,6 +1,6 @@ | |||
1 | file.encoding=UTF-8 | 1 | file.encoding=UTF-8 |
2 | frontend.nodeVersion=18.13.0 | 2 | frontend.nodeVersion=18.15.0 |
3 | frontend.yarnVersion=4.0.0-rc.37 | 3 | frontend.yarnVersion=4.0.0-rc.42 |
4 | frontend.yarn1Version=1.22.19 | 4 | frontend.yarn1Version=1.22.19 |
5 | group=tools.refinery | 5 | group=tools.refinery |
6 | systemProp.sonar.projectKey=graphs4value_refinery | 6 | systemProp.sonar.projectKey=graphs4value_refinery |
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9340f5c8..a797905b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml | |||
@@ -1,23 +1,23 @@ | |||
1 | [versions] | 1 | [versions] |
2 | eclipseCollections = "11.1.0" | 2 | eclipseCollections = "12.0.0.M1" |
3 | jetty = "12.0.0.alpha3" | 3 | jetty = "12.0.0.beta0" |
4 | jmh = "1.36" | 4 | jmh = "1.36" |
5 | junit = "5.9.2" | 5 | junit = "5.9.2" |
6 | mockito = "5.1.1" | 6 | mockito = "5.2.0" |
7 | mwe2 = "2.14.0" | 7 | mwe2 = "2.14.0" |
8 | slf4j = "2.0.6" | 8 | slf4j = "2.0.7" |
9 | xtext = "2.30.0.M2" | 9 | xtext = "2.30.0" |
10 | 10 | ||
11 | [libraries] | 11 | [libraries] |
12 | jetbrainsAnnotations = { group = "org.jetbrains", name = "annotations", version = "24.0.0"} | 12 | jetbrainsAnnotations = { group = "org.jetbrains", name = "annotations", version = "24.0.1"} |
13 | eclipseCollections = { group = "org.eclipse.collections", name = "eclipse-collections", version.ref = "eclipseCollections" } | 13 | eclipseCollections = { group = "org.eclipse.collections", name = "eclipse-collections", version.ref = "eclipseCollections" } |
14 | eclipseCollections-api = { group = "org.eclipse.collections", name = "eclipse-collections-api", version.ref = "eclipseCollections" } | 14 | eclipseCollections-api = { group = "org.eclipse.collections", name = "eclipse-collections-api", version.ref = "eclipseCollections" } |
15 | ecore = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore", version = "2.29.0" } | 15 | ecore = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore", version = "2.33.0" } |
16 | ecore-xmi = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore.xmi", version = "2.17.0" } | 16 | ecore-xmi = { group = "org.eclipse.emf", name = "org.eclipse.emf.ecore.xmi", version = "2.18.0" } |
17 | ecore-codegen = { group = "org.eclipse.emf", name = "org.eclipse.emf.codegen.ecore", version = "2.32.0" } | 17 | ecore-codegen = { group = "org.eclipse.emf", name = "org.eclipse.emf.codegen.ecore", version = "2.33.0" } |
18 | gradlePlugin-frontend = { group = "org.siouan", name = "frontend-gradle-plugin-jdk11", version = "6.0.0" } | 18 | gradlePlugin-frontend = { group = "org.siouan", name = "frontend-gradle-plugin-jdk11", version = "6.0.0" } |
19 | gradlePlugin-shadow = { group = "gradle.plugin.com.github.johnrengelman", name = "shadow", version = "7.1.0" } | 19 | gradlePlugin-shadow = { group = "com.github.johnrengelman", name = "shadow", version = "8.1.1" } |
20 | gradlePlugin-sonarqube = { group = "org.sonarsource.scanner.gradle", name = "sonarqube-gradle-plugin", version = "3.3" } | 20 | gradlePlugin-sonarqube = { group = "org.sonarsource.scanner.gradle", name = "sonarqube-gradle-plugin", version = "4.0.0.2929" } |
21 | hamcrest = { group = "org.hamcrest", name = "hamcrest", version = "2.2" } | 21 | hamcrest = { group = "org.hamcrest", name = "hamcrest", version = "2.2" } |
22 | jetty-server = { group = "org.eclipse.jetty", name = "jetty-server", version.ref = "jetty" } | 22 | jetty-server = { group = "org.eclipse.jetty", name = "jetty-server", version.ref = "jetty" } |
23 | jetty-servlet = { group = "org.eclipse.jetty.ee10", name = "jetty-ee10-servlet", version.ref = "jetty" } | 23 | jetty-servlet = { group = "org.eclipse.jetty.ee10", name = "jetty-ee10-servlet", version.ref = "jetty" } |
@@ -48,4 +48,4 @@ xtext-xbase = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xbase", v | |||
48 | xtext-xbase-ide = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xbase.ide", version.ref = "xtext" } | 48 | xtext-xbase-ide = { group = "org.eclipse.xtext", name = "org.eclipse.xtext.xbase.ide", version.ref = "xtext" } |
49 | 49 | ||
50 | [plugins] | 50 | [plugins] |
51 | versions = { id = "com.github.ben-manes.versions", version = "0.45.0" } | 51 | versions = { id = "com.github.ben-manes.versions", version = "0.46.0" } |
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f398c33c..bdc9a83b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties | |||
@@ -1,6 +1,6 @@ | |||
1 | distributionBase=GRADLE_USER_HOME | 1 | distributionBase=GRADLE_USER_HOME |
2 | distributionPath=wrapper/dists | 2 | distributionPath=wrapper/dists |
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip | 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip |
4 | networkTimeout=10000 | 4 | networkTimeout=10000 |
5 | zipStoreBase=GRADLE_USER_HOME | 5 | zipStoreBase=GRADLE_USER_HOME |
6 | zipStorePath=wrapper/dists | 6 | zipStorePath=wrapper/dists |
diff --git a/package.json b/package.json index 88a4b2a6..e3443202 100644 --- a/package.json +++ b/package.json | |||
@@ -8,9 +8,9 @@ | |||
8 | "scripts": { | 8 | "scripts": { |
9 | "frontend": "yarn workspace @refinery/frontend" | 9 | "frontend": "yarn workspace @refinery/frontend" |
10 | }, | 10 | }, |
11 | "packageManager": "yarn@4.0.0-rc.37", | 11 | "packageManager": "yarn@4.0.0-rc.42", |
12 | "devDependencies": { | 12 | "devDependencies": { |
13 | "eslint": "^8.33.0", | 13 | "eslint": "^8.37.0", |
14 | "typescript": "4.9.5" | 14 | "typescript": "5.0.3" |
15 | } | 15 | } |
16 | } | 16 | } |
diff --git a/settings.gradle b/settings.gradle index 3149380d..81bcb53b 100644 --- a/settings.gradle +++ b/settings.gradle | |||
@@ -7,7 +7,9 @@ include 'language-model' | |||
7 | include 'language-semantics' | 7 | include 'language-semantics' |
8 | include 'language-web' | 8 | include 'language-web' |
9 | include 'store' | 9 | include 'store' |
10 | include 'store-query' | ||
10 | include 'store-query-viatra' | 11 | include 'store-query-viatra' |
12 | include 'store-reasoning' | ||
11 | 13 | ||
12 | for (project in rootProject.children) { | 14 | for (project in rootProject.children) { |
13 | def projectName = project.name | 15 | def projectName = project.name |
diff --git a/subprojects/frontend/package.json b/subprojects/frontend/package.json index a9153cd4..a761e74c 100644 --- a/subprojects/frontend/package.json +++ b/subprojects/frontend/package.json | |||
@@ -2,6 +2,7 @@ | |||
2 | "name": "@refinery/frontend", | 2 | "name": "@refinery/frontend", |
3 | "version": "0.0.0", | 3 | "version": "0.0.0", |
4 | "description": "Web frontend for Refinery", | 4 | "description": "Web frontend for Refinery", |
5 | "type": "module", | ||
5 | "private": true, | 6 | "private": true, |
6 | "scripts": { | 7 | "scripts": { |
7 | "build": "cross-env MODE=production vite build", | 8 | "build": "cross-env MODE=production vite build", |
@@ -23,60 +24,61 @@ | |||
23 | }, | 24 | }, |
24 | "homepage": "https://refinery.tools", | 25 | "homepage": "https://refinery.tools", |
25 | "dependencies": { | 26 | "dependencies": { |
26 | "@codemirror/autocomplete": "^6.4.0", | 27 | "@codemirror/autocomplete": "^6.4.2", |
27 | "@codemirror/commands": "^6.2.0", | 28 | "@codemirror/commands": "^6.2.2", |
28 | "@codemirror/language": "^6.4.0", | 29 | "@codemirror/language": "^6.6.0", |
29 | "@codemirror/lint": "^6.1.0", | 30 | "@codemirror/lint": "^6.2.0", |
30 | "@codemirror/search": "^6.2.3", | 31 | "@codemirror/search": "^6.3.0", |
31 | "@codemirror/state": "^6.2.0", | 32 | "@codemirror/state": "^6.2.0", |
32 | "@codemirror/view": "^6.7.3", | 33 | "@codemirror/view": "^6.9.3", |
33 | "@emotion/react": "^11.10.5", | 34 | "@emotion/react": "^11.10.6", |
34 | "@emotion/styled": "^11.10.5", | 35 | "@emotion/styled": "^11.10.6", |
35 | "@fontsource/inter": "^4.5.15", | 36 | "@fontsource/inter": "^4.5.15", |
36 | "@fontsource/jetbrains-mono": "^4.5.12", | 37 | "@fontsource/jetbrains-mono": "^4.5.12", |
37 | "@lezer/common": "^1.0.2", | 38 | "@lezer/common": "^1.0.2", |
38 | "@lezer/highlight": "^1.1.3", | 39 | "@lezer/highlight": "^1.1.4", |
39 | "@lezer/lr": "^1.3.3", | 40 | "@lezer/lr": "^1.3.3", |
40 | "@material-icons/svg": "^1.0.33", | 41 | "@material-icons/svg": "^1.0.33", |
41 | "@mui/icons-material": "5.11.0", | 42 | "@mui/icons-material": "5.11.11", |
42 | "@mui/material": "5.11.7", | 43 | "@mui/material": "5.11.15", |
43 | "@vitejs/plugin-react-swc": "^3.1.0", | 44 | "@vitejs/plugin-react-swc": "^3.2.0", |
44 | "ansi-styles": "^6.2.1", | 45 | "ansi-styles": "^6.2.1", |
46 | "csstype": "^3.1.1", | ||
45 | "escape-string-regexp": "^5.0.0", | 47 | "escape-string-regexp": "^5.0.0", |
46 | "lodash-es": "^4.17.21", | 48 | "lodash-es": "^4.17.21", |
47 | "loglevel": "^1.8.1", | 49 | "loglevel": "^1.8.1", |
48 | "loglevel-plugin-prefix": "^0.8.4", | 50 | "loglevel-plugin-prefix": "^0.8.4", |
49 | "mobx": "^6.7.0", | 51 | "mobx": "^6.9.0", |
50 | "mobx-react-lite": "^3.4.0", | 52 | "mobx-react-lite": "^3.4.3", |
51 | "ms": "^2.1.3", | 53 | "ms": "^2.1.3", |
52 | "nanoid": "^4.0.0", | 54 | "nanoid": "^4.0.2", |
53 | "notistack": "^2.0.8", | 55 | "notistack": "^3.0.1", |
54 | "react": "^18.2.0", | 56 | "react": "^18.2.0", |
55 | "react-dom": "^18.2.0", | 57 | "react-dom": "^18.2.0", |
56 | "xstate": "^4.35.4", | 58 | "xstate": "^4.37.1", |
57 | "zod": "^3.20.2" | 59 | "zod": "^3.21.4" |
58 | }, | 60 | }, |
59 | "devDependencies": { | 61 | "devDependencies": { |
60 | "@lezer/generator": "^1.2.2", | 62 | "@lezer/generator": "^1.2.2", |
61 | "@tsconfig/node18-strictest-esm": "^1.0.1", | 63 | "@tsconfig/strictest": "^2.0.0", |
62 | "@types/eslint": "^8.21.0", | 64 | "@types/eslint": "^8.37.0", |
63 | "@types/html-minifier-terser": "^7.0.0", | 65 | "@types/html-minifier-terser": "^7.0.0", |
64 | "@types/lodash-es": "^4.17.6", | 66 | "@types/lodash-es": "^4.17.7", |
65 | "@types/micromatch": "^4.0.2", | 67 | "@types/micromatch": "^4.0.2", |
66 | "@types/ms": "^0.7.31", | 68 | "@types/ms": "^0.7.31", |
67 | "@types/node": "^18.11.18", | 69 | "@types/node": "^18.15.11", |
68 | "@types/prettier": "^2.7.2", | 70 | "@types/prettier": "^2.7.2", |
69 | "@types/react": "^18.0.27", | 71 | "@types/react": "^18.0.31", |
70 | "@types/react-dom": "^18.0.10", | 72 | "@types/react-dom": "^18.0.11", |
71 | "@typescript-eslint/eslint-plugin": "^5.50.0", | 73 | "@typescript-eslint/eslint-plugin": "^5.57.0", |
72 | "@typescript-eslint/parser": "^5.50.0", | 74 | "@typescript-eslint/parser": "^5.57.0", |
73 | "@xstate/cli": "^0.4.2", | 75 | "@xstate/cli": "^0.4.2", |
74 | "cross-env": "^7.0.3", | 76 | "cross-env": "^7.0.3", |
75 | "eslint": "^8.33.0", | 77 | "eslint": "^8.37.0", |
76 | "eslint-config-airbnb": "^19.0.4", | 78 | "eslint-config-airbnb": "^19.0.4", |
77 | "eslint-config-airbnb-typescript": "^17.0.0", | 79 | "eslint-config-airbnb-typescript": "^17.0.0", |
78 | "eslint-config-prettier": "^8.6.0", | 80 | "eslint-config-prettier": "^8.8.0", |
79 | "eslint-import-resolver-typescript": "^3.5.3", | 81 | "eslint-import-resolver-typescript": "^3.5.4", |
80 | "eslint-plugin-import": "^2.27.5", | 82 | "eslint-plugin-import": "^2.27.5", |
81 | "eslint-plugin-jsx-a11y": "^6.7.1", | 83 | "eslint-plugin-jsx-a11y": "^6.7.1", |
82 | "eslint-plugin-mobx": "^0.0.9", | 84 | "eslint-plugin-mobx": "^0.0.9", |
@@ -85,10 +87,10 @@ | |||
85 | "eslint-plugin-react-hooks": "^4.6.0", | 87 | "eslint-plugin-react-hooks": "^4.6.0", |
86 | "html-minifier-terser": "^7.1.0", | 88 | "html-minifier-terser": "^7.1.0", |
87 | "micromatch": "^4.0.5", | 89 | "micromatch": "^4.0.5", |
88 | "prettier": "^2.8.3", | 90 | "prettier": "^2.8.7", |
89 | "typescript": "4.9.5", | 91 | "typescript": "5.0.3", |
90 | "vite": "^4.1.1", | 92 | "vite": "^4.2.1", |
91 | "vite-plugin-pwa": "^0.14.1", | 93 | "vite-plugin-pwa": "^0.14.7", |
92 | "workbox-window": "^6.5.4" | 94 | "workbox-window": "^6.5.4" |
93 | } | 95 | } |
94 | } | 96 | } |
diff --git a/subprojects/frontend/src/Refinery.tsx b/subprojects/frontend/src/Refinery.tsx index 93a82ee1..f0162349 100644 --- a/subprojects/frontend/src/Refinery.tsx +++ b/subprojects/frontend/src/Refinery.tsx | |||
@@ -8,7 +8,6 @@ import EditorPane from './editor/EditorPane'; | |||
8 | 8 | ||
9 | export default function Refinery(): JSX.Element { | 9 | export default function Refinery(): JSX.Element { |
10 | return ( | 10 | return ( |
11 | // @ts-expect-error -- notistack has problems with `exactOptionalPropertyTypes | ||
12 | <SnackbarProvider TransitionComponent={Grow}> | 11 | <SnackbarProvider TransitionComponent={Grow}> |
13 | <UpdateNotification /> | 12 | <UpdateNotification /> |
14 | <Stack direction="column" height="100%" overflow="auto"> | 13 | <Stack direction="column" height="100%" overflow="auto"> |
diff --git a/subprojects/frontend/src/UpdateNotification.tsx b/subprojects/frontend/src/UpdateNotification.tsx index 07f7f5f7..5c8c2d01 100644 --- a/subprojects/frontend/src/UpdateNotification.tsx +++ b/subprojects/frontend/src/UpdateNotification.tsx | |||
@@ -32,14 +32,14 @@ export default observer(function UpdateNotification(): null { | |||
32 | return enqueueLater('Failed to download update', { | 32 | return enqueueLater('Failed to download update', { |
33 | variant: 'error', | 33 | variant: 'error', |
34 | action: ( | 34 | action: ( |
35 | <> | 35 | <ContrastThemeProvider> |
36 | <Button color="inherit" onClick={() => pwaStore.checkForUpdates()}> | 36 | <Button color="inherit" onClick={() => pwaStore.checkForUpdates()}> |
37 | Try again | 37 | Try again |
38 | </Button> | 38 | </Button> |
39 | <Button color="inherit" onClick={() => pwaStore.dismissError()}> | 39 | <Button color="inherit" onClick={() => pwaStore.dismissError()}> |
40 | Dismiss | 40 | Dismiss |
41 | </Button> | 41 | </Button> |
42 | </> | 42 | </ContrastThemeProvider> |
43 | ), | 43 | ), |
44 | }); | 44 | }); |
45 | } | 45 | } |
diff --git a/subprojects/frontend/src/editor/scrollbarViewPlugin.ts b/subprojects/frontend/src/editor/scrollbarViewPlugin.ts index f54251a9..f44034fd 100644 --- a/subprojects/frontend/src/editor/scrollbarViewPlugin.ts +++ b/subprojects/frontend/src/editor/scrollbarViewPlugin.ts | |||
@@ -266,7 +266,6 @@ export default function scrollbarViewPlugin( | |||
266 | if (firstRunTimeout !== undefined) { | 266 | if (firstRunTimeout !== undefined) { |
267 | clearTimeout(firstRunTimeout); | 267 | clearTimeout(firstRunTimeout); |
268 | } | 268 | } |
269 | // @ts-expect-error `@types/node` typings should not be in effect here. | ||
270 | firstRunTimeout = setTimeout(() => { | 269 | firstRunTimeout = setTimeout(() => { |
271 | spacer.style.minHeight = `${scrollHeight}px`; | 270 | spacer.style.minHeight = `${scrollHeight}px`; |
272 | firstRun = false; | 271 | firstRun = false; |
diff --git a/subprojects/frontend/src/theme/ThemeProvider.tsx b/subprojects/frontend/src/theme/ThemeProvider.tsx index 7bda1ede..ff97d524 100644 --- a/subprojects/frontend/src/theme/ThemeProvider.tsx +++ b/subprojects/frontend/src/theme/ThemeProvider.tsx | |||
@@ -6,7 +6,6 @@ import { | |||
6 | type ThemeOptions, | 6 | type ThemeOptions, |
7 | ThemeProvider as MaterialUiThemeProvider, | 7 | ThemeProvider as MaterialUiThemeProvider, |
8 | type TypographyStyle, | 8 | type TypographyStyle, |
9 | useTheme, | ||
10 | type CSSObject, | 9 | type CSSObject, |
11 | } from '@mui/material/styles'; | 10 | } from '@mui/material/styles'; |
12 | import { observer } from 'mobx-react-lite'; | 11 | import { observer } from 'mobx-react-lite'; |
@@ -350,15 +349,14 @@ export function ContrastThemeProvider({ | |||
350 | }: { | 349 | }: { |
351 | children?: ReactNode; | 350 | children?: ReactNode; |
352 | }): JSX.Element { | 351 | }): JSX.Element { |
353 | const theme = useTheme(); | ||
354 | const contrastTheme = useContext(ContrastThemeContext); | 352 | const contrastTheme = useContext(ContrastThemeContext); |
355 | if (!contrastTheme) { | 353 | if (!contrastTheme) { |
356 | throw new Error('ContrastThemeProvider must be used within ThemeProvider'); | 354 | throw new Error('ContrastThemeProvider must be used within ThemeProvider'); |
357 | } | 355 | } |
358 | return ( | 356 | return ( |
359 | <ThemeAndContrastThemeProvider theme={contrastTheme} contrastTheme={theme}> | 357 | <MaterialUiThemeProvider theme={contrastTheme}> |
360 | {children} | 358 | {children} |
361 | </ThemeAndContrastThemeProvider> | 359 | </MaterialUiThemeProvider> |
362 | ); | 360 | ); |
363 | } | 361 | } |
364 | 362 | ||
@@ -378,7 +376,7 @@ const ThemeProvider = observer(function ThemeProvider({ | |||
378 | return ( | 376 | return ( |
379 | <ThemeAndContrastThemeProvider | 377 | <ThemeAndContrastThemeProvider |
380 | theme={darkMode ? darkTheme : lightTheme} | 378 | theme={darkMode ? darkTheme : lightTheme} |
381 | contrastTheme={darkMode ? lightTheme : darkTheme} | 379 | contrastTheme={darkTheme} |
382 | > | 380 | > |
383 | {children} | 381 | {children} |
384 | </ThemeAndContrastThemeProvider> | 382 | </ThemeAndContrastThemeProvider> |
diff --git a/subprojects/frontend/src/utils/PendingTask.ts b/subprojects/frontend/src/utils/PendingTask.ts index fd52cef1..d0b24c1f 100644 --- a/subprojects/frontend/src/utils/PendingTask.ts +++ b/subprojects/frontend/src/utils/PendingTask.ts | |||
@@ -20,7 +20,6 @@ export default class PendingTask<T> { | |||
20 | ) { | 20 | ) { |
21 | this.resolveCallback = resolveCallback; | 21 | this.resolveCallback = resolveCallback; |
22 | this.rejectCallback = rejectCallback; | 22 | this.rejectCallback = rejectCallback; |
23 | // @ts-expect-error See https://github.com/mobxjs/mobx/issues/3582 on `@types/node` pollution | ||
24 | this.timeout = setTimeout(() => { | 23 | this.timeout = setTimeout(() => { |
25 | if (!this.resolved) { | 24 | if (!this.resolved) { |
26 | this.reject(new TimeoutError()); | 25 | this.reject(new TimeoutError()); |
diff --git a/subprojects/frontend/src/utils/useDelayedSnackbar.ts b/subprojects/frontend/src/utils/useDelayedSnackbar.ts index 54716c0c..03ad6caa 100644 --- a/subprojects/frontend/src/utils/useDelayedSnackbar.ts +++ b/subprojects/frontend/src/utils/useDelayedSnackbar.ts | |||
@@ -21,7 +21,6 @@ export default function useDelayedSnackbar( | |||
21 | delay = defaultDelay, | 21 | delay = defaultDelay, |
22 | ) => { | 22 | ) => { |
23 | let key: SnackbarKey | undefined; | 23 | let key: SnackbarKey | undefined; |
24 | // @ts-expect-error See https://github.com/mobxjs/mobx/issues/3582 on `@types/node` pollution | ||
25 | let timeout: number | undefined = setTimeout(() => { | 24 | let timeout: number | undefined = setTimeout(() => { |
26 | timeout = undefined; | 25 | timeout = undefined; |
27 | key = enqueueSnackbar(message, options); | 26 | key = enqueueSnackbar(message, options); |
diff --git a/subprojects/frontend/src/xtext/webSocketMachine.ts b/subprojects/frontend/src/xtext/webSocketMachine.ts index 216ed86a..fc53fef3 100644 --- a/subprojects/frontend/src/xtext/webSocketMachine.ts +++ b/subprojects/frontend/src/xtext/webSocketMachine.ts | |||
@@ -1,5 +1,5 @@ | |||
1 | import ms from 'ms'; | 1 | import ms from 'ms'; |
2 | import { actions, assign, createMachine, RaiseAction } from 'xstate'; | 2 | import { actions, assign, createMachine } from 'xstate'; |
3 | 3 | ||
4 | const { raise } = actions; | 4 | const { raise } = actions; |
5 | 5 | ||
@@ -217,16 +217,15 @@ export default createMachine( | |||
217 | ...context, | 217 | ...context, |
218 | errors: [], | 218 | errors: [], |
219 | })), | 219 | })), |
220 | // Workaround from https://github.com/statelyai/xstate/issues/1414#issuecomment-699972485 | ||
221 | raiseTimeoutError: raise({ | 220 | raiseTimeoutError: raise({ |
222 | type: 'ERROR', | 221 | type: 'ERROR', |
223 | message: 'Open timeout', | 222 | message: 'Open timeout', |
224 | }) as RaiseAction<WebSocketEvent>, | 223 | }), |
225 | raisePromiseRejectionError: (_context, { data }) => | 224 | raisePromiseRejectionError: (_context, { data }) => |
226 | raise({ | 225 | raise<WebSocketContext, WebSocketEvent>({ |
227 | type: 'ERROR', | 226 | type: 'ERROR', |
228 | message: data, | 227 | message: String(data), |
229 | }) as RaiseAction<WebSocketEvent>, | 228 | }), |
230 | }, | 229 | }, |
231 | }, | 230 | }, |
232 | ); | 231 | ); |
diff --git a/subprojects/frontend/tsconfig.base.json b/subprojects/frontend/tsconfig.base.json index 585866f1..b960e93c 100644 --- a/subprojects/frontend/tsconfig.base.json +++ b/subprojects/frontend/tsconfig.base.json | |||
@@ -1,7 +1,10 @@ | |||
1 | { | 1 | { |
2 | "extends": "@tsconfig/node18-strictest-esm/tsconfig.json", | 2 | "extends": "@tsconfig/strictest", |
3 | "compilerOptions": { | 3 | "compilerOptions": { |
4 | "useDefineForClassFields": true, | 4 | "useDefineForClassFields": true, |
5 | "verbatimModuleSyntax": false, | ||
5 | "isolatedModules": true, | 6 | "isolatedModules": true, |
7 | "module": "es2022", | ||
8 | "moduleResolution": "node" | ||
6 | } | 9 | } |
7 | } | 10 | } |
diff --git a/subprojects/language-model/META-INF/MANIFEST.MF b/subprojects/language-model/META-INF/MANIFEST.MF index a9c6340a..5d36a475 100644 --- a/subprojects/language-model/META-INF/MANIFEST.MF +++ b/subprojects/language-model/META-INF/MANIFEST.MF | |||
@@ -7,7 +7,7 @@ Bundle-Version: 0.0.0.qualifier | |||
7 | Bundle-ClassPath: . | 7 | Bundle-ClassPath: . |
8 | Bundle-Vendor: %providerName | 8 | Bundle-Vendor: %providerName |
9 | Bundle-Localization: plugin | 9 | Bundle-Localization: plugin |
10 | Bundle-RequiredExecutionEnvironment: JavaSE-17 | 10 | Bundle-RequiredExecutionEnvironment: J2SE-1.5 |
11 | Export-Package: tools.refinery.language.model, | 11 | Export-Package: tools.refinery.language.model, |
12 | tools.refinery.language.model.problem, | 12 | tools.refinery.language.model.problem, |
13 | tools.refinery.language.model.problem.impl, | 13 | tools.refinery.language.model.problem.impl, |
diff --git a/subprojects/store-query-viatra/build.gradle b/subprojects/store-query-viatra/build.gradle index c12b48fe..13a7544f 100644 --- a/subprojects/store-query-viatra/build.gradle +++ b/subprojects/store-query-viatra/build.gradle | |||
@@ -10,7 +10,7 @@ configurations.testRuntimeClasspath { | |||
10 | dependencies { | 10 | dependencies { |
11 | implementation libs.ecore | 11 | implementation libs.ecore |
12 | api libs.viatra | 12 | api libs.viatra |
13 | api project(':refinery-store') | 13 | api project(':refinery-store-query') |
14 | testImplementation libs.slf4j.simple | 14 | testImplementation libs.slf4j.simple |
15 | testImplementation libs.slf4j.log4j | 15 | testImplementation libs.slf4j.log4j |
16 | } | 16 | } |
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraModelQueryBuilder.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraModelQueryBuilder.java index efc6146c..7ae86f9f 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraModelQueryBuilder.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraModelQueryBuilder.java | |||
@@ -4,7 +4,8 @@ import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions; | |||
4 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory; | 4 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory; |
5 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | 5 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; |
6 | import tools.refinery.store.model.ModelStore; | 6 | import tools.refinery.store.model.ModelStore; |
7 | import tools.refinery.store.query.DNF; | 7 | import tools.refinery.store.query.dnf.AnyQuery; |
8 | import tools.refinery.store.query.dnf.Dnf; | ||
8 | import tools.refinery.store.query.ModelQueryBuilder; | 9 | import tools.refinery.store.query.ModelQueryBuilder; |
9 | 10 | ||
10 | import java.util.Collection; | 11 | import java.util.Collection; |
@@ -23,25 +24,25 @@ public interface ViatraModelQueryBuilder extends ModelQueryBuilder { | |||
23 | ViatraModelQueryBuilder searchBackend(IQueryBackendFactory queryBackendFactory); | 24 | ViatraModelQueryBuilder searchBackend(IQueryBackendFactory queryBackendFactory); |
24 | 25 | ||
25 | @Override | 26 | @Override |
26 | default ViatraModelQueryBuilder queries(DNF... queries) { | 27 | default ViatraModelQueryBuilder queries(AnyQuery... queries) { |
27 | ModelQueryBuilder.super.queries(queries); | 28 | ModelQueryBuilder.super.queries(queries); |
28 | return this; | 29 | return this; |
29 | } | 30 | } |
30 | 31 | ||
31 | @Override | 32 | @Override |
32 | default ViatraModelQueryBuilder queries(Collection<DNF> queries) { | 33 | default ViatraModelQueryBuilder queries(Collection<? extends AnyQuery> queries) { |
33 | ModelQueryBuilder.super.queries(queries); | 34 | ModelQueryBuilder.super.queries(queries); |
34 | return this; | 35 | return this; |
35 | } | 36 | } |
36 | 37 | ||
37 | @Override | 38 | @Override |
38 | ViatraModelQueryBuilder query(DNF query); | 39 | ViatraModelQueryBuilder query(AnyQuery query); |
39 | 40 | ||
40 | ViatraModelQueryBuilder query(DNF query, QueryEvaluationHint queryEvaluationHint); | 41 | ViatraModelQueryBuilder query(AnyQuery query, QueryEvaluationHint queryEvaluationHint); |
41 | 42 | ||
42 | ViatraModelQueryBuilder computeHint(Function<DNF, QueryEvaluationHint> computeHint); | 43 | ViatraModelQueryBuilder computeHint(Function<Dnf, QueryEvaluationHint> computeHint); |
43 | 44 | ||
44 | ViatraModelQueryBuilder hint(DNF dnf, QueryEvaluationHint queryEvaluationHint); | 45 | ViatraModelQueryBuilder hint(Dnf dnf, QueryEvaluationHint queryEvaluationHint); |
45 | 46 | ||
46 | @Override | 47 | @Override |
47 | ViatraModelQueryStoreAdapter createStoreAdapter(ModelStore store); | 48 | ViatraModelQueryStoreAdapter createStoreAdapter(ModelStore store); |
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryAdapterImpl.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryAdapterImpl.java index 039f46fa..8be30fee 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryAdapterImpl.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryAdapterImpl.java | |||
@@ -7,62 +7,92 @@ import org.eclipse.viatra.query.runtime.internal.apiimpl.ViatraQueryEngineImpl; | |||
7 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackend; | 7 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackend; |
8 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory; | 8 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory; |
9 | import tools.refinery.store.model.Model; | 9 | import tools.refinery.store.model.Model; |
10 | import tools.refinery.store.query.DNF; | 10 | import tools.refinery.store.model.ModelListener; |
11 | import tools.refinery.store.query.AnyResultSet; | ||
12 | import tools.refinery.store.query.EmptyResultSet; | ||
11 | import tools.refinery.store.query.ResultSet; | 13 | import tools.refinery.store.query.ResultSet; |
14 | import tools.refinery.store.query.dnf.AnyQuery; | ||
15 | import tools.refinery.store.query.dnf.FunctionalQuery; | ||
16 | import tools.refinery.store.query.dnf.Query; | ||
17 | import tools.refinery.store.query.dnf.RelationalQuery; | ||
12 | import tools.refinery.store.query.viatra.ViatraModelQueryAdapter; | 18 | import tools.refinery.store.query.viatra.ViatraModelQueryAdapter; |
19 | import tools.refinery.store.query.viatra.internal.matcher.FunctionalViatraMatcher; | ||
20 | import tools.refinery.store.query.viatra.internal.matcher.RawPatternMatcher; | ||
21 | import tools.refinery.store.query.viatra.internal.matcher.RelationalViatraMatcher; | ||
13 | 22 | ||
14 | import java.lang.invoke.MethodHandle; | 23 | import java.lang.invoke.MethodHandle; |
15 | import java.lang.invoke.MethodHandles; | 24 | import java.lang.invoke.MethodHandles; |
16 | import java.util.Collection; | 25 | import java.util.Collection; |
17 | import java.util.Collections; | 26 | import java.util.Collections; |
18 | import java.util.HashMap; | 27 | import java.util.LinkedHashMap; |
19 | import java.util.Map; | 28 | import java.util.Map; |
20 | 29 | ||
21 | public class ViatraModelQueryAdapterImpl implements ViatraModelQueryAdapter { | 30 | public class ViatraModelQueryAdapterImpl implements ViatraModelQueryAdapter, ModelListener { |
22 | private static final String DELAY_MESSAGE_DELIVERY_FIELD_NAME = "delayMessageDelivery"; | 31 | private static final String DELAY_MESSAGE_DELIVERY_FIELD_NAME = "delayMessageDelivery"; |
32 | private static final MethodHandle SET_UPDATE_PROPAGATION_DELAYED_HANDLE; | ||
23 | private static final String QUERY_BACKENDS_FIELD_NAME = "queryBackends"; | 33 | private static final String QUERY_BACKENDS_FIELD_NAME = "queryBackends"; |
34 | private static final MethodHandle GET_QUERY_BACKENDS_HANDLE; | ||
24 | 35 | ||
25 | private final Model model; | 36 | private final Model model; |
26 | private final ViatraModelQueryStoreAdapterImpl storeAdapter; | 37 | private final ViatraModelQueryStoreAdapterImpl storeAdapter; |
27 | private final ViatraQueryEngineImpl queryEngine; | 38 | private final ViatraQueryEngineImpl queryEngine; |
28 | private final MethodHandle setUpdatePropagationDelayedHandle; | 39 | private final Map<AnyQuery, AnyResultSet> resultSets; |
29 | private final MethodHandle getQueryBackendsHandle; | ||
30 | private final Map<DNF, ResultSet> resultSets; | ||
31 | private boolean pendingChanges; | 40 | private boolean pendingChanges; |
32 | 41 | ||
33 | ViatraModelQueryAdapterImpl(Model model, ViatraModelQueryStoreAdapterImpl storeAdapter) { | 42 | static { |
34 | this.model = model; | ||
35 | this.storeAdapter = storeAdapter; | ||
36 | var scope = new RelationalScope(this); | ||
37 | queryEngine = (ViatraQueryEngineImpl) AdvancedViatraQueryEngine.createUnmanagedEngine(scope); | ||
38 | |||
39 | try { | 43 | try { |
40 | var lookup = MethodHandles.privateLookupIn(ViatraQueryEngineImpl.class, MethodHandles.lookup()); | 44 | var lookup = MethodHandles.privateLookupIn(ViatraQueryEngineImpl.class, MethodHandles.lookup()); |
41 | setUpdatePropagationDelayedHandle = lookup.findSetter(ViatraQueryEngineImpl.class, | 45 | SET_UPDATE_PROPAGATION_DELAYED_HANDLE = lookup.findSetter(ViatraQueryEngineImpl.class, |
42 | DELAY_MESSAGE_DELIVERY_FIELD_NAME, Boolean.TYPE); | 46 | DELAY_MESSAGE_DELIVERY_FIELD_NAME, Boolean.TYPE); |
43 | getQueryBackendsHandle = lookup.findGetter(ViatraQueryEngineImpl.class, QUERY_BACKENDS_FIELD_NAME, | 47 | GET_QUERY_BACKENDS_HANDLE = lookup.findGetter(ViatraQueryEngineImpl.class, QUERY_BACKENDS_FIELD_NAME, |
44 | Map.class); | 48 | Map.class); |
45 | } catch (IllegalAccessException | NoSuchFieldException e) { | 49 | } catch (IllegalAccessException | NoSuchFieldException e) { |
46 | throw new IllegalStateException("Cannot access private members of %s" | 50 | throw new IllegalStateException("Cannot access private members of %s" |
47 | .formatted(ViatraQueryEngineImpl.class.getName()), e); | 51 | .formatted(ViatraQueryEngineImpl.class.getName()), e); |
48 | } | 52 | } |
53 | } | ||
54 | |||
55 | ViatraModelQueryAdapterImpl(Model model, ViatraModelQueryStoreAdapterImpl storeAdapter) { | ||
56 | this.model = model; | ||
57 | this.storeAdapter = storeAdapter; | ||
58 | var scope = new RelationalScope(this); | ||
59 | queryEngine = (ViatraQueryEngineImpl) AdvancedViatraQueryEngine.createUnmanagedEngine(scope, | ||
60 | storeAdapter.getEngineOptions()); | ||
49 | 61 | ||
50 | var querySpecifications = storeAdapter.getQuerySpecifications(); | 62 | var querySpecifications = storeAdapter.getQuerySpecifications(); |
51 | GenericQueryGroup.of( | 63 | GenericQueryGroup.of( |
52 | Collections.<IQuerySpecification<?>>unmodifiableCollection(querySpecifications.values()).stream() | 64 | Collections.<IQuerySpecification<?>>unmodifiableCollection(querySpecifications.values()).stream() |
53 | ).prepare(queryEngine); | 65 | ).prepare(queryEngine); |
54 | resultSets = new HashMap<>(querySpecifications.size()); | 66 | var vacuousQueries = storeAdapter.getVacuousQueries(); |
67 | resultSets = new LinkedHashMap<>(querySpecifications.size() + vacuousQueries.size()); | ||
55 | for (var entry : querySpecifications.entrySet()) { | 68 | for (var entry : querySpecifications.entrySet()) { |
56 | var matcher = queryEngine.getMatcher(entry.getValue()); | 69 | var rawPatternMatcher = queryEngine.getMatcher(entry.getValue()); |
57 | resultSets.put(entry.getKey(), matcher); | 70 | var query = entry.getKey(); |
71 | resultSets.put(query, createResultSet((Query<?>) query, rawPatternMatcher)); | ||
72 | } | ||
73 | for (var vacuousQuery : vacuousQueries) { | ||
74 | resultSets.put(vacuousQuery, new EmptyResultSet<>(this, (Query<?>) vacuousQuery)); | ||
58 | } | 75 | } |
59 | 76 | ||
60 | setUpdatePropagationDelayed(true); | 77 | setUpdatePropagationDelayed(true); |
78 | model.addListener(this); | ||
79 | } | ||
80 | |||
81 | private <T> ResultSet<T> createResultSet(Query<T> query, RawPatternMatcher matcher) { | ||
82 | if (query instanceof RelationalQuery relationalQuery) { | ||
83 | @SuppressWarnings("unchecked") | ||
84 | var resultSet = (ResultSet<T>) new RelationalViatraMatcher(this, relationalQuery, matcher); | ||
85 | return resultSet; | ||
86 | } else if (query instanceof FunctionalQuery<T> functionalQuery) { | ||
87 | return new FunctionalViatraMatcher<>(this, functionalQuery, matcher); | ||
88 | } else { | ||
89 | throw new IllegalArgumentException("Unknown query: " + query); | ||
90 | } | ||
61 | } | 91 | } |
62 | 92 | ||
63 | private void setUpdatePropagationDelayed(boolean value) { | 93 | private void setUpdatePropagationDelayed(boolean value) { |
64 | try { | 94 | try { |
65 | setUpdatePropagationDelayedHandle.invokeExact(queryEngine, value); | 95 | SET_UPDATE_PROPAGATION_DELAYED_HANDLE.invokeExact(queryEngine, value); |
66 | } catch (Error e) { | 96 | } catch (Error e) { |
67 | // Fatal JVM errors should not be wrapped. | 97 | // Fatal JVM errors should not be wrapped. |
68 | throw e; | 98 | throw e; |
@@ -74,7 +104,7 @@ public class ViatraModelQueryAdapterImpl implements ViatraModelQueryAdapter { | |||
74 | private Collection<IQueryBackend> getQueryBackends() { | 104 | private Collection<IQueryBackend> getQueryBackends() { |
75 | try { | 105 | try { |
76 | @SuppressWarnings("unchecked") | 106 | @SuppressWarnings("unchecked") |
77 | var backendMap = (Map<IQueryBackendFactory, IQueryBackend>) getQueryBackendsHandle.invokeExact(queryEngine); | 107 | var backendMap = (Map<IQueryBackendFactory, IQueryBackend>) GET_QUERY_BACKENDS_HANDLE.invokeExact(queryEngine); |
78 | return backendMap.values(); | 108 | return backendMap.values(); |
79 | } catch (Error e) { | 109 | } catch (Error e) { |
80 | // Fatal JVM errors should not be wrapped. | 110 | // Fatal JVM errors should not be wrapped. |
@@ -95,12 +125,14 @@ public class ViatraModelQueryAdapterImpl implements ViatraModelQueryAdapter { | |||
95 | } | 125 | } |
96 | 126 | ||
97 | @Override | 127 | @Override |
98 | public ResultSet getResultSet(DNF query) { | 128 | public <T> ResultSet<T> getResultSet(Query<T> query) { |
99 | var resultSet = resultSets.get(query); | 129 | var resultSet = resultSets.get(query); |
100 | if (resultSet == null) { | 130 | if (resultSet == null) { |
101 | throw new IllegalArgumentException("No matcher for query %s in model".formatted(query.name())); | 131 | throw new IllegalArgumentException("No matcher for query %s in model".formatted(query.name())); |
102 | } | 132 | } |
103 | return resultSet; | 133 | @SuppressWarnings("unchecked") |
134 | var typedResultSet = (ResultSet<T>) resultSet; | ||
135 | return typedResultSet; | ||
104 | } | 136 | } |
105 | 137 | ||
106 | @Override | 138 | @Override |
@@ -132,4 +164,9 @@ public class ViatraModelQueryAdapterImpl implements ViatraModelQueryAdapter { | |||
132 | } | 164 | } |
133 | pendingChanges = false; | 165 | pendingChanges = false; |
134 | } | 166 | } |
167 | |||
168 | @Override | ||
169 | public void afterRestore() { | ||
170 | flushChanges(); | ||
171 | } | ||
135 | } | 172 | } |
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryBuilderImpl.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryBuilderImpl.java index 9f1e55b1..bfabf26e 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryBuilderImpl.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryBuilderImpl.java | |||
@@ -2,34 +2,40 @@ package tools.refinery.store.query.viatra.internal; | |||
2 | 2 | ||
3 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | 3 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; |
4 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions; | 4 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions; |
5 | import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchGenericBackendFactory; | 5 | import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchHintOptions; |
6 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory; | 6 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory; |
7 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | 7 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; |
8 | import org.eclipse.viatra.query.runtime.rete.matcher.ReteBackendFactory; | 8 | import org.eclipse.viatra.query.runtime.rete.matcher.ReteBackendFactory; |
9 | import tools.refinery.store.adapter.AbstractModelAdapterBuilder; | 9 | import tools.refinery.store.adapter.AbstractModelAdapterBuilder; |
10 | import tools.refinery.store.model.ModelStore; | 10 | import tools.refinery.store.model.ModelStore; |
11 | import tools.refinery.store.model.ModelStoreBuilder; | 11 | import tools.refinery.store.model.ModelStoreBuilder; |
12 | import tools.refinery.store.query.DNF; | 12 | import tools.refinery.store.query.dnf.AnyQuery; |
13 | import tools.refinery.store.query.dnf.Dnf; | ||
13 | import tools.refinery.store.query.viatra.ViatraModelQueryBuilder; | 14 | import tools.refinery.store.query.viatra.ViatraModelQueryBuilder; |
14 | import tools.refinery.store.query.viatra.internal.pquery.DNF2PQuery; | 15 | import tools.refinery.store.query.viatra.internal.localsearch.FlatCostFunction; |
15 | import tools.refinery.store.query.viatra.internal.pquery.RawPatternMatcher; | 16 | import tools.refinery.store.query.viatra.internal.localsearch.RelationalLocalSearchBackendFactory; |
17 | import tools.refinery.store.query.viatra.internal.matcher.RawPatternMatcher; | ||
18 | import tools.refinery.store.query.viatra.internal.pquery.Dnf2PQuery; | ||
16 | 19 | ||
17 | import java.util.Collections; | 20 | import java.util.*; |
18 | import java.util.LinkedHashMap; | ||
19 | import java.util.Map; | ||
20 | import java.util.function.Function; | 21 | import java.util.function.Function; |
21 | 22 | ||
22 | public class ViatraModelQueryBuilderImpl extends AbstractModelAdapterBuilder implements ViatraModelQueryBuilder { | 23 | public class ViatraModelQueryBuilderImpl extends AbstractModelAdapterBuilder implements ViatraModelQueryBuilder { |
23 | private ViatraQueryEngineOptions.Builder engineOptionsBuilder; | 24 | private ViatraQueryEngineOptions.Builder engineOptionsBuilder; |
24 | private final DNF2PQuery dnf2PQuery = new DNF2PQuery(); | 25 | private QueryEvaluationHint defaultHint = new QueryEvaluationHint(Map.of( |
25 | private final Map<DNF, IQuerySpecification<RawPatternMatcher>> querySpecifications = new LinkedHashMap<>(); | 26 | // Use a cost function that ignores the initial (empty) model but allows higher arity input keys. |
27 | LocalSearchHintOptions.PLANNER_COST_FUNCTION, new FlatCostFunction() | ||
28 | ), (IQueryBackendFactory) null); | ||
29 | private final Dnf2PQuery dnf2PQuery = new Dnf2PQuery(); | ||
30 | private final Set<AnyQuery> vacuousQueries = new LinkedHashSet<>(); | ||
31 | private final Map<AnyQuery, IQuerySpecification<RawPatternMatcher>> querySpecifications = new LinkedHashMap<>(); | ||
26 | 32 | ||
27 | public ViatraModelQueryBuilderImpl(ModelStoreBuilder storeBuilder) { | 33 | public ViatraModelQueryBuilderImpl(ModelStoreBuilder storeBuilder) { |
28 | super(storeBuilder); | 34 | super(storeBuilder); |
29 | engineOptionsBuilder = new ViatraQueryEngineOptions.Builder() | 35 | engineOptionsBuilder = new ViatraQueryEngineOptions.Builder() |
30 | .withDefaultBackend(ReteBackendFactory.INSTANCE) | 36 | .withDefaultBackend(ReteBackendFactory.INSTANCE) |
31 | .withDefaultCachingBackend(ReteBackendFactory.INSTANCE) | 37 | .withDefaultCachingBackend(ReteBackendFactory.INSTANCE) |
32 | .withDefaultSearchBackend(LocalSearchGenericBackendFactory.INSTANCE); | 38 | .withDefaultSearchBackend(RelationalLocalSearchBackendFactory.INSTANCE); |
33 | } | 39 | } |
34 | 40 | ||
35 | @Override | 41 | @Override |
@@ -40,7 +46,7 @@ public class ViatraModelQueryBuilderImpl extends AbstractModelAdapterBuilder imp | |||
40 | 46 | ||
41 | @Override | 47 | @Override |
42 | public ViatraModelQueryBuilder defaultHint(QueryEvaluationHint queryEvaluationHint) { | 48 | public ViatraModelQueryBuilder defaultHint(QueryEvaluationHint queryEvaluationHint) { |
43 | engineOptionsBuilder.withDefaultHint(queryEvaluationHint); | 49 | defaultHint = defaultHint.overrideBy(queryEvaluationHint); |
44 | return this; | 50 | return this; |
45 | } | 51 | } |
46 | 52 | ||
@@ -63,44 +69,68 @@ public class ViatraModelQueryBuilderImpl extends AbstractModelAdapterBuilder imp | |||
63 | } | 69 | } |
64 | 70 | ||
65 | @Override | 71 | @Override |
66 | public ViatraModelQueryBuilder query(DNF query) { | 72 | public ViatraModelQueryBuilder query(AnyQuery query) { |
67 | if (querySpecifications.containsKey(query)) { | 73 | if (querySpecifications.containsKey(query) || vacuousQueries.contains(query)) { |
68 | throw new IllegalArgumentException("%s was already added to the query engine".formatted(query.name())); | 74 | // Ignore duplicate queries. |
75 | return this; | ||
76 | } | ||
77 | var dnf = query.getDnf(); | ||
78 | var reduction = dnf.getReduction(); | ||
79 | switch (reduction) { | ||
80 | case NOT_REDUCIBLE -> { | ||
81 | var pQuery = dnf2PQuery.translate(dnf); | ||
82 | querySpecifications.put(query, pQuery.build()); | ||
83 | } | ||
84 | case ALWAYS_FALSE -> vacuousQueries.add(query); | ||
85 | case ALWAYS_TRUE -> throw new IllegalArgumentException( | ||
86 | "Query %s is relationally unsafe (it matches every tuple)".formatted(query.name())); | ||
87 | default -> throw new IllegalArgumentException("Unknown reduction: " + reduction); | ||
69 | } | 88 | } |
70 | var pQuery = dnf2PQuery.translate(query); | ||
71 | querySpecifications.put(query, pQuery.build()); | ||
72 | return this; | 89 | return this; |
73 | } | 90 | } |
74 | 91 | ||
75 | @Override | 92 | @Override |
76 | public ViatraModelQueryBuilder query(DNF query, QueryEvaluationHint queryEvaluationHint) { | 93 | public ViatraModelQueryBuilder query(AnyQuery query, QueryEvaluationHint queryEvaluationHint) { |
94 | hint(query.getDnf(), queryEvaluationHint); | ||
77 | query(query); | 95 | query(query); |
78 | hint(query, queryEvaluationHint); | ||
79 | return this; | 96 | return this; |
80 | } | 97 | } |
81 | 98 | ||
82 | @Override | 99 | @Override |
83 | public ViatraModelQueryBuilder computeHint(Function<DNF, QueryEvaluationHint> computeHint) { | 100 | public ViatraModelQueryBuilder computeHint(Function<Dnf, QueryEvaluationHint> computeHint) { |
84 | dnf2PQuery.setComputeHint(computeHint); | 101 | dnf2PQuery.setComputeHint(computeHint); |
85 | return this; | 102 | return this; |
86 | } | 103 | } |
87 | 104 | ||
88 | @Override | 105 | @Override |
89 | public ViatraModelQueryBuilder hint(DNF dnf, QueryEvaluationHint queryEvaluationHint) { | 106 | public ViatraModelQueryBuilder hint(Dnf dnf, QueryEvaluationHint queryEvaluationHint) { |
90 | var pQuery = dnf2PQuery.getAlreadyTranslated(dnf); | 107 | dnf2PQuery.hint(dnf, queryEvaluationHint); |
91 | if (pQuery == null) { | ||
92 | throw new IllegalArgumentException( | ||
93 | "Cannot specify hint for %s, because it was not added to the query engine".formatted(dnf.name())); | ||
94 | } | ||
95 | pQuery.setEvaluationHints(pQuery.getEvaluationHints().overrideBy(queryEvaluationHint)); | ||
96 | return this; | 108 | return this; |
97 | } | 109 | } |
98 | 110 | ||
99 | @Override | 111 | @Override |
100 | public ViatraModelQueryStoreAdapterImpl createStoreAdapter(ModelStore store) { | 112 | public ViatraModelQueryStoreAdapterImpl createStoreAdapter(ModelStore store) { |
101 | validateSymbols(store); | 113 | validateSymbols(store); |
102 | return new ViatraModelQueryStoreAdapterImpl(store, engineOptionsBuilder.build(), dnf2PQuery.getRelationViews(), | 114 | dnf2PQuery.assertNoUnusedHints(); |
103 | Collections.unmodifiableMap(querySpecifications)); | 115 | return new ViatraModelQueryStoreAdapterImpl(store, buildEngineOptions(), dnf2PQuery.getRelationViews(), |
116 | Collections.unmodifiableMap(querySpecifications), Collections.unmodifiableSet(vacuousQueries)); | ||
117 | } | ||
118 | |||
119 | private ViatraQueryEngineOptions buildEngineOptions() { | ||
120 | // Workaround: manually override the default backend, because {@link ViatraQueryEngineOptions.Builder} | ||
121 | // ignores all backend requirements except {@code SPECIFIC}. | ||
122 | switch (defaultHint.getQueryBackendRequirementType()) { | ||
123 | case SPECIFIC -> engineOptionsBuilder.withDefaultBackend(defaultHint.getQueryBackendFactory()); | ||
124 | case DEFAULT_CACHING -> engineOptionsBuilder.withDefaultBackend( | ||
125 | engineOptionsBuilder.build().getDefaultCachingBackendFactory()); | ||
126 | case DEFAULT_SEARCH -> engineOptionsBuilder.withDefaultBackend( | ||
127 | engineOptionsBuilder.build().getDefaultSearchBackendFactory()); | ||
128 | case UNSPECIFIED -> { | ||
129 | // Nothing to do, leave the default backend unchanged. | ||
130 | } | ||
131 | } | ||
132 | engineOptionsBuilder.withDefaultHint(defaultHint); | ||
133 | return engineOptionsBuilder.build(); | ||
104 | } | 134 | } |
105 | 135 | ||
106 | private void validateSymbols(ModelStore store) { | 136 | private void validateSymbols(ModelStore store) { |
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryStoreAdapterImpl.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryStoreAdapterImpl.java index 394e407e..04c48c43 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryStoreAdapterImpl.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/ViatraModelQueryStoreAdapterImpl.java | |||
@@ -5,27 +5,34 @@ import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions; | |||
5 | import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; | 5 | import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; |
6 | import tools.refinery.store.model.Model; | 6 | import tools.refinery.store.model.Model; |
7 | import tools.refinery.store.model.ModelStore; | 7 | import tools.refinery.store.model.ModelStore; |
8 | import tools.refinery.store.query.DNF; | 8 | import tools.refinery.store.query.dnf.AnyQuery; |
9 | import tools.refinery.store.query.viatra.ViatraModelQueryStoreAdapter; | 9 | import tools.refinery.store.query.viatra.ViatraModelQueryStoreAdapter; |
10 | import tools.refinery.store.query.viatra.internal.pquery.RawPatternMatcher; | 10 | import tools.refinery.store.query.viatra.internal.matcher.RawPatternMatcher; |
11 | import tools.refinery.store.query.view.AnyRelationView; | 11 | import tools.refinery.store.query.view.AnyRelationView; |
12 | 12 | ||
13 | import java.util.Collection; | 13 | import java.util.*; |
14 | import java.util.Map; | ||
15 | 14 | ||
16 | public class ViatraModelQueryStoreAdapterImpl implements ViatraModelQueryStoreAdapter { | 15 | public class ViatraModelQueryStoreAdapterImpl implements ViatraModelQueryStoreAdapter { |
17 | private final ModelStore store; | 16 | private final ModelStore store; |
18 | private final ViatraQueryEngineOptions engineOptions; | 17 | private final ViatraQueryEngineOptions engineOptions; |
19 | private final Map<AnyRelationView, IInputKey> inputKeys; | 18 | private final Map<AnyRelationView, IInputKey> inputKeys; |
20 | private final Map<DNF, IQuerySpecification<RawPatternMatcher>> querySpecifications; | 19 | private final Map<AnyQuery, IQuerySpecification<RawPatternMatcher>> querySpecifications; |
20 | private final Set<AnyQuery> vacuousQueries; | ||
21 | private final Set<AnyQuery> allQueries; | ||
21 | 22 | ||
22 | ViatraModelQueryStoreAdapterImpl(ModelStore store, ViatraQueryEngineOptions engineOptions, | 23 | ViatraModelQueryStoreAdapterImpl(ModelStore store, ViatraQueryEngineOptions engineOptions, |
23 | Map<AnyRelationView, IInputKey> inputKeys, | 24 | Map<AnyRelationView, IInputKey> inputKeys, |
24 | Map<DNF, IQuerySpecification<RawPatternMatcher>> querySpecifications) { | 25 | Map<AnyQuery, IQuerySpecification<RawPatternMatcher>> querySpecifications, |
26 | Set<AnyQuery> vacuousQueries) { | ||
25 | this.store = store; | 27 | this.store = store; |
26 | this.engineOptions = engineOptions; | 28 | this.engineOptions = engineOptions; |
27 | this.inputKeys = inputKeys; | 29 | this.inputKeys = inputKeys; |
28 | this.querySpecifications = querySpecifications; | 30 | this.querySpecifications = querySpecifications; |
31 | this.vacuousQueries = vacuousQueries; | ||
32 | var mutableAllQueries = new LinkedHashSet<AnyQuery>(querySpecifications.size() + vacuousQueries.size()); | ||
33 | mutableAllQueries.addAll(querySpecifications.keySet()); | ||
34 | mutableAllQueries.addAll(vacuousQueries); | ||
35 | this.allQueries = Collections.unmodifiableSet(mutableAllQueries); | ||
29 | } | 36 | } |
30 | 37 | ||
31 | @Override | 38 | @Override |
@@ -42,14 +49,18 @@ public class ViatraModelQueryStoreAdapterImpl implements ViatraModelQueryStoreAd | |||
42 | } | 49 | } |
43 | 50 | ||
44 | @Override | 51 | @Override |
45 | public Collection<DNF> getQueries() { | 52 | public Collection<AnyQuery> getQueries() { |
46 | return querySpecifications.keySet(); | 53 | return allQueries; |
47 | } | 54 | } |
48 | 55 | ||
49 | Map<DNF, IQuerySpecification<RawPatternMatcher>> getQuerySpecifications() { | 56 | Map<AnyQuery, IQuerySpecification<RawPatternMatcher>> getQuerySpecifications() { |
50 | return querySpecifications; | 57 | return querySpecifications; |
51 | } | 58 | } |
52 | 59 | ||
60 | Set<AnyQuery> getVacuousQueries() { | ||
61 | return vacuousQueries; | ||
62 | } | ||
63 | |||
53 | @Override | 64 | @Override |
54 | public ViatraQueryEngineOptions getEngineOptions() { | 65 | public ViatraQueryEngineOptions getEngineOptions() { |
55 | return engineOptions; | 66 | return engineOptions; |
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalQueryMetaContext.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalQueryMetaContext.java index cba3fa08..d2c6beb4 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalQueryMetaContext.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalQueryMetaContext.java | |||
@@ -3,6 +3,8 @@ package tools.refinery.store.query.viatra.internal.context; | |||
3 | import org.eclipse.viatra.query.runtime.matchers.context.AbstractQueryMetaContext; | 3 | import org.eclipse.viatra.query.runtime.matchers.context.AbstractQueryMetaContext; |
4 | import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; | 4 | import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; |
5 | import org.eclipse.viatra.query.runtime.matchers.context.InputKeyImplication; | 5 | import org.eclipse.viatra.query.runtime.matchers.context.InputKeyImplication; |
6 | import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; | ||
7 | import tools.refinery.store.query.term.DataSort; | ||
6 | import tools.refinery.store.query.viatra.internal.pquery.RelationViewWrapper; | 8 | import tools.refinery.store.query.viatra.internal.pquery.RelationViewWrapper; |
7 | import tools.refinery.store.query.view.AnyRelationView; | 9 | import tools.refinery.store.query.view.AnyRelationView; |
8 | 10 | ||
@@ -37,6 +39,9 @@ public class RelationalQueryMetaContext extends AbstractQueryMetaContext { | |||
37 | 39 | ||
38 | @Override | 40 | @Override |
39 | public Collection<InputKeyImplication> getImplications(IInputKey implyingKey) { | 41 | public Collection<InputKeyImplication> getImplications(IInputKey implyingKey) { |
42 | if (implyingKey instanceof JavaTransitiveInstancesKey) { | ||
43 | return List.of(); | ||
44 | } | ||
40 | var relationView = checkKey(implyingKey); | 45 | var relationView = checkKey(implyingKey); |
41 | var relationViewImplications = relationView.getImpliedRelationViews(); | 46 | var relationViewImplications = relationView.getImpliedRelationViews(); |
42 | var inputKeyImplications = new HashSet<InputKeyImplication>(relationViewImplications.size()); | 47 | var inputKeyImplications = new HashSet<InputKeyImplication>(relationViewImplications.size()); |
@@ -52,11 +57,25 @@ public class RelationalQueryMetaContext extends AbstractQueryMetaContext { | |||
52 | relationViewImplication.impliedIndices())); | 57 | relationViewImplication.impliedIndices())); |
53 | } | 58 | } |
54 | } | 59 | } |
60 | var sorts = relationView.getSorts(); | ||
61 | int arity = relationView.arity(); | ||
62 | for (int i = 0; i < arity; i++) { | ||
63 | var sort = sorts.get(i); | ||
64 | if (sort instanceof DataSort<?> dataSort) { | ||
65 | var javaTransitiveInstancesKey = new JavaTransitiveInstancesKey(dataSort.type()); | ||
66 | var javaImplication = new InputKeyImplication(implyingKey, javaTransitiveInstancesKey, | ||
67 | List.of(i)); | ||
68 | inputKeyImplications.add(javaImplication); | ||
69 | } | ||
70 | } | ||
55 | return inputKeyImplications; | 71 | return inputKeyImplications; |
56 | } | 72 | } |
57 | 73 | ||
58 | @Override | 74 | @Override |
59 | public Map<Set<Integer>, Set<Integer>> getFunctionalDependencies(IInputKey key) { | 75 | public Map<Set<Integer>, Set<Integer>> getFunctionalDependencies(IInputKey key) { |
76 | if (key instanceof JavaTransitiveInstancesKey) { | ||
77 | return Map.of(); | ||
78 | } | ||
60 | var relationView = checkKey(key); | 79 | var relationView = checkKey(key); |
61 | var functionalDependencies = relationView.getFunctionalDependencies(); | 80 | var functionalDependencies = relationView.getFunctionalDependencies(); |
62 | var flattened = new HashMap<Set<Integer>, Set<Integer>>(functionalDependencies.size()); | 81 | var flattened = new HashMap<Set<Integer>, Set<Integer>>(functionalDependencies.size()); |
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalRuntimeContext.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalRuntimeContext.java index 01d20d3e..854817b1 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalRuntimeContext.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/context/RelationalRuntimeContext.java | |||
@@ -54,7 +54,8 @@ public class RelationalRuntimeContext implements IQueryRuntimeContext { | |||
54 | 54 | ||
55 | @Override | 55 | @Override |
56 | public boolean isIndexed(IInputKey key, IndexingService service) { | 56 | public boolean isIndexed(IInputKey key, IndexingService service) { |
57 | if (key instanceof AnyRelationView relationalKey) { | 57 | if (key instanceof RelationViewWrapper wrapper) { |
58 | var relationalKey = wrapper.getWrappedKey(); | ||
58 | return this.modelUpdateListener.containsRelationView(relationalKey); | 59 | return this.modelUpdateListener.containsRelationView(relationalKey); |
59 | } else { | 60 | } else { |
60 | return false; | 61 | return false; |
@@ -83,10 +84,7 @@ public class RelationalRuntimeContext implements IQueryRuntimeContext { | |||
83 | 84 | ||
84 | @Override | 85 | @Override |
85 | public int countTuples(IInputKey key, TupleMask seedMask, ITuple seed) { | 86 | public int countTuples(IInputKey key, TupleMask seedMask, ITuple seed) { |
86 | var relationViewKey = checkKey(key); | 87 | Iterator<Object[]> iterator = enumerate(key, seedMask, seed).iterator(); |
87 | Iterable<Object[]> allObjects = relationViewKey.getAll(model); | ||
88 | Iterable<Object[]> filteredBySeed = filter(allObjects, objectArray -> isMatching(objectArray, seedMask, seed)); | ||
89 | Iterator<Object[]> iterator = filteredBySeed.iterator(); | ||
90 | int result = 0; | 88 | int result = 0; |
91 | while (iterator.hasNext()) { | 89 | while (iterator.hasNext()) { |
92 | iterator.next(); | 90 | iterator.next(); |
@@ -102,13 +100,25 @@ public class RelationalRuntimeContext implements IQueryRuntimeContext { | |||
102 | 100 | ||
103 | @Override | 101 | @Override |
104 | public Iterable<Tuple> enumerateTuples(IInputKey key, TupleMask seedMask, ITuple seed) { | 102 | public Iterable<Tuple> enumerateTuples(IInputKey key, TupleMask seedMask, ITuple seed) { |
103 | var filteredBySeed = enumerate(key, seedMask, seed); | ||
104 | return map(filteredBySeed, Tuples::flatTupleOf); | ||
105 | } | ||
106 | |||
107 | @Override | ||
108 | public Iterable<?> enumerateValues(IInputKey key, TupleMask seedMask, ITuple seed) { | ||
109 | var index = seedMask.getFirstOmittedIndex().orElseThrow( | ||
110 | () -> new IllegalArgumentException("Seed mask does not omit a value")); | ||
111 | var filteredBySeed = enumerate(key, seedMask, seed); | ||
112 | return map(filteredBySeed, array -> array[index]); | ||
113 | } | ||
114 | |||
115 | private Iterable<Object[]> enumerate(IInputKey key, TupleMask seedMask, ITuple seed) { | ||
105 | var relationViewKey = checkKey(key); | 116 | var relationViewKey = checkKey(key); |
106 | Iterable<Object[]> allObjects = relationViewKey.getAll(model); | 117 | Iterable<Object[]> allObjects = relationViewKey.getAll(model); |
107 | Iterable<Object[]> filteredBySeed = filter(allObjects, objectArray -> isMatching(objectArray, seedMask, seed)); | 118 | return filter(allObjects, objectArray -> isMatching(objectArray, seedMask, seed)); |
108 | return map(filteredBySeed, Tuples::flatTupleOf); | ||
109 | } | 119 | } |
110 | 120 | ||
111 | private boolean isMatching(Object[] tuple, TupleMask seedMask, ITuple seed) { | 121 | private static boolean isMatching(Object[] tuple, TupleMask seedMask, ITuple seed) { |
112 | for (int i = 0; i < seedMask.indices.length; i++) { | 122 | for (int i = 0; i < seedMask.indices.length; i++) { |
113 | final Object seedElement = seed.get(i); | 123 | final Object seedElement = seed.get(i); |
114 | final Object tupleElement = tuple[seedMask.indices[i]]; | 124 | final Object tupleElement = tuple[seedMask.indices[i]]; |
@@ -120,11 +130,6 @@ public class RelationalRuntimeContext implements IQueryRuntimeContext { | |||
120 | } | 130 | } |
121 | 131 | ||
122 | @Override | 132 | @Override |
123 | public Iterable<?> enumerateValues(IInputKey key, TupleMask seedMask, ITuple seed) { | ||
124 | return enumerateTuples(key, seedMask, seed); | ||
125 | } | ||
126 | |||
127 | @Override | ||
128 | public boolean containsTuple(IInputKey key, ITuple seed) { | 133 | public boolean containsTuple(IInputKey key, ITuple seed) { |
129 | var relationViewKey = checkKey(key); | 134 | var relationViewKey = checkKey(key); |
130 | return relationViewKey.get(model, seed.getElements()); | 135 | return relationViewKey.get(model, seed.getElements()); |
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendOperationExecutor.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendOperationExecutor.java new file mode 100644 index 00000000..2d3dd5a7 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendOperationExecutor.java | |||
@@ -0,0 +1,75 @@ | |||
1 | /******************************************************************************* | ||
2 | * Copyright (c) 2010-2013, Zoltan Ujhelyi, Akos Horvath, Istvan Rath and Daniel Varro | ||
3 | * This program and the accompanying materials are made available under the | ||
4 | * terms of the Eclipse Public License v. 2.0 which is available at | ||
5 | * http://www.eclipse.org/legal/epl-v20.html. | ||
6 | * SPDX-License-Identifier: EPL-2.0 | ||
7 | *******************************************************************************/ | ||
8 | package tools.refinery.store.query.viatra.internal.localsearch; | ||
9 | |||
10 | import org.eclipse.viatra.query.runtime.localsearch.MatchingFrame; | ||
11 | import org.eclipse.viatra.query.runtime.localsearch.matcher.ISearchContext; | ||
12 | import org.eclipse.viatra.query.runtime.localsearch.operations.ISearchOperation.ISearchOperationExecutor; | ||
13 | |||
14 | import java.util.Iterator; | ||
15 | |||
16 | /** | ||
17 | * An operation that can be used to enumerate all possible values for a single position based on a constraint | ||
18 | * @author Zoltan Ujhelyi, Akos Horvath | ||
19 | * @since 2.0 | ||
20 | */ | ||
21 | abstract class ExtendOperationExecutor<T> implements ISearchOperationExecutor { | ||
22 | |||
23 | private Iterator<? extends T> it; | ||
24 | |||
25 | /** | ||
26 | * Returns an iterator with the possible options from the current state | ||
27 | * @since 2.0 | ||
28 | */ | ||
29 | @SuppressWarnings("squid:S1452") | ||
30 | protected abstract Iterator<? extends T> getIterator(MatchingFrame frame, ISearchContext context); | ||
31 | /** | ||
32 | * Updates the frame with the next element of the iterator. Called during {@link #execute(MatchingFrame, ISearchContext)}. | ||
33 | * | ||
34 | * @return true if the update is successful or false otherwise; in case of false is returned, the next element should be taken from the iterator. | ||
35 | * @since 2.0 | ||
36 | */ | ||
37 | protected abstract boolean fillInValue(T newValue, MatchingFrame frame, ISearchContext context); | ||
38 | |||
39 | /** | ||
40 | * Restores the frame to the state before {@link #fillInValue(Object, MatchingFrame, ISearchContext)}. Called during | ||
41 | * {@link #onBacktrack(MatchingFrame, ISearchContext)}. | ||
42 | * | ||
43 | * @since 2.0 | ||
44 | */ | ||
45 | protected abstract void cleanup(MatchingFrame frame, ISearchContext context); | ||
46 | |||
47 | @Override | ||
48 | public void onInitialize(MatchingFrame frame, ISearchContext context) { | ||
49 | it = getIterator(frame, context); | ||
50 | } | ||
51 | |||
52 | @Override | ||
53 | public void onBacktrack(MatchingFrame frame, ISearchContext context) { | ||
54 | it = null; | ||
55 | |||
56 | } | ||
57 | |||
58 | /** | ||
59 | * Fixed version of {@link org.eclipse.viatra.query.runtime.localsearch.operations.ExtendOperationExecutor#execute} | ||
60 | * that handles failed unification of variables correctly. | ||
61 | * @param frame The matching frame to extend. | ||
62 | * @param context The search context. | ||
63 | * @return {@code true} if an extension was found, {@code false} otherwise. | ||
64 | */ | ||
65 | @Override | ||
66 | public boolean execute(MatchingFrame frame, ISearchContext context) { | ||
67 | while (it.hasNext()) { | ||
68 | var newValue = it.next(); | ||
69 | if (fillInValue(newValue, frame, context)) { | ||
70 | return true; | ||
71 | } | ||
72 | } | ||
73 | return false; | ||
74 | } | ||
75 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendPositivePatternCall.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendPositivePatternCall.java new file mode 100644 index 00000000..aaaece80 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/ExtendPositivePatternCall.java | |||
@@ -0,0 +1,116 @@ | |||
1 | /******************************************************************************* | ||
2 | * Copyright (c) 2010-2016, Grill Balázs, IncQueryLabs | ||
3 | * This program and the accompanying materials are made available under the | ||
4 | * terms of the Eclipse Public License v. 2.0 which is available at | ||
5 | * http://www.eclipse.org/legal/epl-v20.html. | ||
6 | * SPDX-License-Identifier: EPL-2.0 | ||
7 | *******************************************************************************/ | ||
8 | package tools.refinery.store.query.viatra.internal.localsearch; | ||
9 | |||
10 | import org.eclipse.viatra.query.runtime.localsearch.MatchingFrame; | ||
11 | import org.eclipse.viatra.query.runtime.localsearch.matcher.ISearchContext; | ||
12 | import org.eclipse.viatra.query.runtime.localsearch.operations.IPatternMatcherOperation; | ||
13 | import org.eclipse.viatra.query.runtime.localsearch.operations.ISearchOperation; | ||
14 | import org.eclipse.viatra.query.runtime.localsearch.operations.util.CallInformation; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryResultProvider; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.tuple.VolatileModifiableMaskedTuple; | ||
19 | |||
20 | import java.util.Iterator; | ||
21 | import java.util.List; | ||
22 | import java.util.function.Function; | ||
23 | |||
24 | /** | ||
25 | * @author Grill Balázs | ||
26 | * @since 1.4 | ||
27 | * | ||
28 | */ | ||
29 | public class ExtendPositivePatternCall implements ISearchOperation, IPatternMatcherOperation { | ||
30 | |||
31 | private class Executor extends ExtendOperationExecutor<Tuple> { | ||
32 | private final VolatileModifiableMaskedTuple maskedTuple; | ||
33 | |||
34 | public Executor() { | ||
35 | maskedTuple = new VolatileModifiableMaskedTuple(information.getThinFrameMask()); | ||
36 | } | ||
37 | |||
38 | @Override | ||
39 | protected Iterator<? extends Tuple> getIterator(MatchingFrame frame, ISearchContext context) { | ||
40 | maskedTuple.updateTuple(frame); | ||
41 | IQueryResultProvider matcher = context.getMatcher(information.getCallWithAdornment()); | ||
42 | return matcher.getAllMatches(information.getParameterMask(), maskedTuple).iterator(); | ||
43 | } | ||
44 | |||
45 | /** | ||
46 | * @since 2.0 | ||
47 | */ | ||
48 | @Override | ||
49 | protected boolean fillInValue(Tuple result, MatchingFrame frame, ISearchContext context) { | ||
50 | TupleMask mask = information.getFullFrameMask(); | ||
51 | // The first loop clears out the elements from a possible previous iteration | ||
52 | for(int i : information.getFreeParameterIndices()) { | ||
53 | mask.set(frame, i, null); | ||
54 | } | ||
55 | for(int i : information.getFreeParameterIndices()) { | ||
56 | Object oldValue = mask.getValue(frame, i); | ||
57 | Object valueToFill = result.get(i); | ||
58 | if (oldValue != null && !oldValue.equals(valueToFill)){ | ||
59 | // If the inverse map contains more than one values for the same key, it means that these arguments are unified by the caller. | ||
60 | // In this case if the callee assigns different values the frame shall be dropped | ||
61 | return false; | ||
62 | } | ||
63 | mask.set(frame, i, valueToFill); | ||
64 | } | ||
65 | return true; | ||
66 | } | ||
67 | |||
68 | @Override | ||
69 | protected void cleanup(MatchingFrame frame, ISearchContext context) { | ||
70 | TupleMask mask = information.getFullFrameMask(); | ||
71 | for(int i : information.getFreeParameterIndices()){ | ||
72 | mask.set(frame, i, null); | ||
73 | } | ||
74 | |||
75 | } | ||
76 | |||
77 | @Override | ||
78 | public ISearchOperation getOperation() { | ||
79 | return ExtendPositivePatternCall.this; | ||
80 | } | ||
81 | } | ||
82 | |||
83 | private final CallInformation information; | ||
84 | |||
85 | /** | ||
86 | * @since 1.7 | ||
87 | */ | ||
88 | public ExtendPositivePatternCall(CallInformation information) { | ||
89 | this.information = information; | ||
90 | } | ||
91 | |||
92 | @Override | ||
93 | public ISearchOperationExecutor createExecutor() { | ||
94 | return new Executor(); | ||
95 | } | ||
96 | |||
97 | @Override | ||
98 | public List<Integer> getVariablePositions() { | ||
99 | return information.getVariablePositions(); | ||
100 | } | ||
101 | |||
102 | @Override | ||
103 | public String toString() { | ||
104 | return toString(Object::toString); | ||
105 | } | ||
106 | |||
107 | @Override | ||
108 | public String toString(@SuppressWarnings("squid:S4276") Function<Integer, String> variableMapping) { | ||
109 | return "extend find " + information.toString(variableMapping); | ||
110 | } | ||
111 | |||
112 | @Override | ||
113 | public CallInformation getCallInformation() { | ||
114 | return information; | ||
115 | } | ||
116 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/FlatCostFunction.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/FlatCostFunction.java new file mode 100644 index 00000000..84cab142 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/FlatCostFunction.java | |||
@@ -0,0 +1,30 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.localsearch; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.localsearch.planner.cost.IConstraintEvaluationContext; | ||
4 | import org.eclipse.viatra.query.runtime.localsearch.planner.cost.impl.StatisticsBasedConstraintCostFunction; | ||
5 | import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; | ||
6 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
7 | import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask; | ||
8 | import org.eclipse.viatra.query.runtime.matchers.util.Accuracy; | ||
9 | |||
10 | import java.util.Optional; | ||
11 | |||
12 | public class FlatCostFunction extends StatisticsBasedConstraintCostFunction { | ||
13 | public FlatCostFunction() { | ||
14 | // No inverse navigation penalty thanks to relational storage. | ||
15 | super(0); | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | public Optional<Long> projectionSize(IConstraintEvaluationContext input, IInputKey supplierKey, TupleMask groupMask, Accuracy requiredAccuracy) { | ||
20 | // We always start from an empty model, where every projection is of size 0. | ||
21 | // Therefore, projection size estimation is meaningless. | ||
22 | return Optional.empty(); | ||
23 | } | ||
24 | |||
25 | @Override | ||
26 | protected double _calculateCost(TypeConstraint constraint, IConstraintEvaluationContext input) { | ||
27 | // Assume a flat cost for each relation. Maybe adjust in the future if we perform indexing? | ||
28 | return DEFAULT_COST; | ||
29 | } | ||
30 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/GenericTypeExtend.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/GenericTypeExtend.java new file mode 100644 index 00000000..64653658 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/GenericTypeExtend.java | |||
@@ -0,0 +1,136 @@ | |||
1 | /******************************************************************************* | ||
2 | * Copyright (c) 2010-2017, Zoltan Ujhelyi, IncQuery Labs Ltd. | ||
3 | * This program and the accompanying materials are made available under the | ||
4 | * terms of the Eclipse Public License v. 2.0 which is available at | ||
5 | * http://www.eclipse.org/legal/epl-v20.html. | ||
6 | * SPDX-License-Identifier: EPL-2.0 | ||
7 | *******************************************************************************/ | ||
8 | package tools.refinery.store.query.viatra.internal.localsearch; | ||
9 | |||
10 | import org.eclipse.viatra.query.runtime.localsearch.MatchingFrame; | ||
11 | import org.eclipse.viatra.query.runtime.localsearch.matcher.ISearchContext; | ||
12 | import org.eclipse.viatra.query.runtime.localsearch.operations.IIteratingSearchOperation; | ||
13 | import org.eclipse.viatra.query.runtime.localsearch.operations.ISearchOperation; | ||
14 | import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.tuple.VolatileMaskedTuple; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.util.Preconditions; | ||
19 | |||
20 | import java.util.*; | ||
21 | import java.util.function.Function; | ||
22 | import java.util.stream.Collectors; | ||
23 | |||
24 | /** | ||
25 | * @author Zoltan Ujhelyi | ||
26 | * @since 1.7 | ||
27 | */ | ||
28 | public class GenericTypeExtend implements IIteratingSearchOperation { | ||
29 | private class Executor extends ExtendOperationExecutor<Tuple> { | ||
30 | private final VolatileMaskedTuple maskedTuple; | ||
31 | |||
32 | public Executor() { | ||
33 | this.maskedTuple = new VolatileMaskedTuple(callMask); | ||
34 | } | ||
35 | |||
36 | @Override | ||
37 | protected Iterator<? extends Tuple> getIterator(MatchingFrame frame, ISearchContext context) { | ||
38 | maskedTuple.updateTuple(frame); | ||
39 | return context.getRuntimeContext().enumerateTuples(type, indexerMask, maskedTuple).iterator(); | ||
40 | } | ||
41 | |||
42 | @Override | ||
43 | protected boolean fillInValue(Tuple newTuple, MatchingFrame frame, ISearchContext context) { | ||
44 | for (Integer position : unboundVariableIndices) { | ||
45 | frame.setValue(position, null); | ||
46 | } | ||
47 | for (int i = 0; i < positions.length; i++) { | ||
48 | Object newValue = newTuple.get(i); | ||
49 | Object oldValue = frame.getValue(positions[i]); | ||
50 | if (oldValue != null && !Objects.equals(oldValue, newValue)) { | ||
51 | // If positions tuple maps more than one values for the same element (e.g. loop), it means that | ||
52 | // these arguments are to unified by the caller. In this case if the callee assigns different values | ||
53 | // the frame shall be considered a failed match | ||
54 | return false; | ||
55 | } | ||
56 | frame.setValue(positions[i], newValue); | ||
57 | } | ||
58 | return true; | ||
59 | } | ||
60 | |||
61 | @Override | ||
62 | protected void cleanup(MatchingFrame frame, ISearchContext context) { | ||
63 | for (Integer position : unboundVariableIndices) { | ||
64 | frame.setValue(position, null); | ||
65 | } | ||
66 | } | ||
67 | |||
68 | @Override | ||
69 | public ISearchOperation getOperation() { | ||
70 | return GenericTypeExtend.this; | ||
71 | } | ||
72 | } | ||
73 | |||
74 | private final IInputKey type; | ||
75 | private final int[] positions; | ||
76 | private final List<Integer> positionList; | ||
77 | private final Set<Integer> unboundVariableIndices; | ||
78 | private final TupleMask indexerMask; | ||
79 | private final TupleMask callMask; | ||
80 | |||
81 | /** | ||
82 | * | ||
83 | * @param type | ||
84 | * the type to execute the extend operation on | ||
85 | * @param positions | ||
86 | * the parameter positions that represent the variables of the input key | ||
87 | * @param unboundVariableIndices | ||
88 | * the set of positions that are bound at the start of the operation | ||
89 | */ | ||
90 | public GenericTypeExtend(IInputKey type, int[] positions, TupleMask callMask, TupleMask indexerMask, Set<Integer> unboundVariableIndices) { | ||
91 | Preconditions.checkArgument(positions.length == type.getArity(), | ||
92 | "The type %s requires %d parameters, but %d positions are provided", type.getPrettyPrintableName(), | ||
93 | type.getArity(), positions.length); | ||
94 | List<Integer> modifiablePositionList = new ArrayList<>(); | ||
95 | for (int position : positions) { | ||
96 | modifiablePositionList.add(position); | ||
97 | } | ||
98 | this.positionList = Collections.unmodifiableList(modifiablePositionList); | ||
99 | this.positions = positions; | ||
100 | this.type = type; | ||
101 | |||
102 | this.unboundVariableIndices = unboundVariableIndices; | ||
103 | this.indexerMask = indexerMask; | ||
104 | this.callMask = callMask; | ||
105 | } | ||
106 | |||
107 | @Override | ||
108 | public IInputKey getIteratedInputKey() { | ||
109 | return type; | ||
110 | } | ||
111 | |||
112 | @Override | ||
113 | public ISearchOperationExecutor createExecutor() { | ||
114 | return new Executor(); | ||
115 | } | ||
116 | |||
117 | @Override | ||
118 | public List<Integer> getVariablePositions() { | ||
119 | return positionList; | ||
120 | } | ||
121 | |||
122 | @Override | ||
123 | public String toString() { | ||
124 | return toString(Object::toString); | ||
125 | } | ||
126 | |||
127 | @Override | ||
128 | public String toString(@SuppressWarnings("squid:S4276") Function<Integer, String> variableMapping) { | ||
129 | return "extend " + type.getPrettyPrintableName() + "(" | ||
130 | + positionList.stream() | ||
131 | .map(input -> String.format("%s%s", unboundVariableIndices.contains(input) ? "-" : "+", variableMapping.apply(input))) | ||
132 | .collect(Collectors.joining(", ")) | ||
133 | + ")"; | ||
134 | } | ||
135 | |||
136 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchBackendFactory.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchBackendFactory.java new file mode 100644 index 00000000..156eb313 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchBackendFactory.java | |||
@@ -0,0 +1,55 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.localsearch; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.AbstractLocalSearchResultProvider; | ||
4 | import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchBackend; | ||
5 | import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchHints; | ||
6 | import org.eclipse.viatra.query.runtime.localsearch.plan.IPlanProvider; | ||
7 | import org.eclipse.viatra.query.runtime.localsearch.plan.SimplePlanProvider; | ||
8 | import org.eclipse.viatra.query.runtime.matchers.backend.IMatcherCapability; | ||
9 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackend; | ||
10 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory; | ||
11 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
12 | import org.eclipse.viatra.query.runtime.matchers.context.IQueryBackendContext; | ||
13 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery; | ||
14 | |||
15 | public class RelationalLocalSearchBackendFactory implements IQueryBackendFactory { | ||
16 | public static final RelationalLocalSearchBackendFactory INSTANCE = new RelationalLocalSearchBackendFactory(); | ||
17 | |||
18 | private RelationalLocalSearchBackendFactory() { | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | public IQueryBackend create(IQueryBackendContext context) { | ||
23 | return new LocalSearchBackend(context) { | ||
24 | // Create a new {@link IPlanProvider}, because the original {@link LocalSearchBackend#planProvider} is not | ||
25 | // accessible. | ||
26 | private final IPlanProvider planProvider = new SimplePlanProvider(context.getLogger()); | ||
27 | |||
28 | @Override | ||
29 | protected AbstractLocalSearchResultProvider initializeResultProvider(PQuery query, | ||
30 | QueryEvaluationHint hints) { | ||
31 | return new RelationalLocalSearchResultProvider(this, context, query, planProvider, hints); | ||
32 | } | ||
33 | |||
34 | @Override | ||
35 | public IQueryBackendFactory getFactory() { | ||
36 | return RelationalLocalSearchBackendFactory.this; | ||
37 | } | ||
38 | }; | ||
39 | } | ||
40 | |||
41 | @Override | ||
42 | public Class<? extends IQueryBackend> getBackendClass() { | ||
43 | return LocalSearchBackend.class; | ||
44 | } | ||
45 | |||
46 | @Override | ||
47 | public IMatcherCapability calculateRequiredCapability(PQuery pQuery, QueryEvaluationHint queryEvaluationHint) { | ||
48 | return LocalSearchHints.parse(queryEvaluationHint); | ||
49 | } | ||
50 | |||
51 | @Override | ||
52 | public boolean isCaching() { | ||
53 | return false; | ||
54 | } | ||
55 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchResultProvider.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchResultProvider.java new file mode 100644 index 00000000..be2a38ca --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalLocalSearchResultProvider.java | |||
@@ -0,0 +1,23 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.localsearch; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.AbstractLocalSearchResultProvider; | ||
4 | import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchBackend; | ||
5 | import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchHints; | ||
6 | import org.eclipse.viatra.query.runtime.localsearch.plan.IPlanProvider; | ||
7 | import org.eclipse.viatra.query.runtime.localsearch.planner.compiler.IOperationCompiler; | ||
8 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
9 | import org.eclipse.viatra.query.runtime.matchers.context.IQueryBackendContext; | ||
10 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery; | ||
11 | |||
12 | class RelationalLocalSearchResultProvider extends AbstractLocalSearchResultProvider { | ||
13 | public RelationalLocalSearchResultProvider(LocalSearchBackend backend, IQueryBackendContext context, PQuery query, | ||
14 | IPlanProvider planProvider, QueryEvaluationHint userHints) { | ||
15 | super(backend, context, query, planProvider, userHints); | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | protected IOperationCompiler getOperationCompiler(IQueryBackendContext backendContext, | ||
20 | LocalSearchHints configuration) { | ||
21 | return new RelationalOperationCompiler(runtimeContext); | ||
22 | } | ||
23 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalOperationCompiler.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalOperationCompiler.java new file mode 100644 index 00000000..b6832b39 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/localsearch/RelationalOperationCompiler.java | |||
@@ -0,0 +1,65 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.localsearch; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.localsearch.operations.generic.GenericTypeExtendSingleValue; | ||
4 | import org.eclipse.viatra.query.runtime.localsearch.operations.util.CallInformation; | ||
5 | import org.eclipse.viatra.query.runtime.localsearch.planner.compiler.GenericOperationCompiler; | ||
6 | import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; | ||
7 | import org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext; | ||
8 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
9 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; | ||
10 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
11 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
12 | import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask; | ||
13 | |||
14 | import java.util.*; | ||
15 | |||
16 | public class RelationalOperationCompiler extends GenericOperationCompiler { | ||
17 | public RelationalOperationCompiler(IQueryRuntimeContext runtimeContext) { | ||
18 | super(runtimeContext); | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | protected void createExtend(TypeConstraint typeConstraint, Map<PVariable, Integer> variableMapping) { | ||
23 | IInputKey inputKey = typeConstraint.getSupplierKey(); | ||
24 | Tuple tuple = typeConstraint.getVariablesTuple(); | ||
25 | |||
26 | int[] positions = new int[tuple.getSize()]; | ||
27 | List<Integer> boundVariableIndices = new ArrayList<>(); | ||
28 | List<Integer> boundVariables = new ArrayList<>(); | ||
29 | Set<Integer> unboundVariables = new HashSet<>(); | ||
30 | for (int i = 0; i < tuple.getSize(); i++) { | ||
31 | PVariable variable = (PVariable) tuple.get(i); | ||
32 | Integer position = variableMapping.get(variable); | ||
33 | positions[i] = position; | ||
34 | if (variableBindings.get(typeConstraint).contains(position)) { | ||
35 | boundVariableIndices.add(i); | ||
36 | boundVariables.add(position); | ||
37 | } else { | ||
38 | unboundVariables.add(position); | ||
39 | } | ||
40 | } | ||
41 | TupleMask indexerMask = TupleMask.fromSelectedIndices(inputKey.getArity(), boundVariableIndices); | ||
42 | TupleMask callMask = TupleMask.fromSelectedIndices(variableMapping.size(), boundVariables); | ||
43 | // If multiple tuple elements from the indexer should be bound to the same variable, we must use a | ||
44 | // {@link GenericTypeExtend} check whether the tuple elements have the same value. | ||
45 | if (unboundVariables.size() == 1 && indexerMask.getSize() + 1 == indexerMask.getSourceWidth()) { | ||
46 | operations.add(new GenericTypeExtendSingleValue(inputKey, positions, callMask, indexerMask, | ||
47 | unboundVariables.iterator().next())); | ||
48 | } else { | ||
49 | // Use a fixed version of | ||
50 | // {@code org.eclipse.viatra.query.runtime.localsearch.operations.generic.GenericTypeExtend} that handles | ||
51 | // failed unification of variables correctly. | ||
52 | operations.add(new GenericTypeExtend(inputKey, positions, callMask, indexerMask, unboundVariables)); | ||
53 | } | ||
54 | } | ||
55 | |||
56 | @Override | ||
57 | protected void createExtend(PositivePatternCall pCall, Map<PVariable, Integer> variableMapping) { | ||
58 | CallInformation information = CallInformation.create(pCall, variableMapping, variableBindings.get(pCall)); | ||
59 | // Use a fixed version of | ||
60 | // {@code org.eclipse.viatra.query.runtime.localsearch.operations.extend.ExtendPositivePatternCall} that handles | ||
61 | // failed unification of variables correctly. | ||
62 | operations.add(new ExtendPositivePatternCall(information)); | ||
63 | dependencies.add(information.getCallWithAdornment()); | ||
64 | } | ||
65 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalCursor.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalCursor.java new file mode 100644 index 00000000..4daa14a1 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalCursor.java | |||
@@ -0,0 +1,48 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.matcher; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
4 | import org.eclipse.viatra.query.runtime.rete.index.IterableIndexer; | ||
5 | import tools.refinery.store.map.Cursor; | ||
6 | import tools.refinery.store.tuple.TupleLike; | ||
7 | |||
8 | import java.util.Iterator; | ||
9 | |||
10 | class FunctionalCursor<T> implements Cursor<TupleLike, T> { | ||
11 | private final IterableIndexer indexer; | ||
12 | private final Iterator<Tuple> iterator; | ||
13 | private boolean terminated; | ||
14 | private TupleLike key; | ||
15 | private T value; | ||
16 | |||
17 | public FunctionalCursor(IterableIndexer indexer) { | ||
18 | this.indexer = indexer; | ||
19 | iterator = indexer.getSignatures().iterator(); | ||
20 | } | ||
21 | |||
22 | @Override | ||
23 | public TupleLike getKey() { | ||
24 | return key; | ||
25 | } | ||
26 | |||
27 | @Override | ||
28 | public T getValue() { | ||
29 | return value; | ||
30 | } | ||
31 | |||
32 | @Override | ||
33 | public boolean isTerminated() { | ||
34 | return terminated; | ||
35 | } | ||
36 | |||
37 | @Override | ||
38 | public boolean move() { | ||
39 | if (!terminated && iterator.hasNext()) { | ||
40 | var match = iterator.next(); | ||
41 | key = new ViatraTupleLike(match); | ||
42 | value = MatcherUtils.getSingleValue(indexer.get(match)); | ||
43 | return true; | ||
44 | } | ||
45 | terminated = true; | ||
46 | return false; | ||
47 | } | ||
48 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalViatraMatcher.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalViatraMatcher.java new file mode 100644 index 00000000..6aa45af2 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/FunctionalViatraMatcher.java | |||
@@ -0,0 +1,91 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.matcher; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryResultProvider; | ||
4 | import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask; | ||
5 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
6 | import org.eclipse.viatra.query.runtime.rete.index.IterableIndexer; | ||
7 | import org.eclipse.viatra.query.runtime.rete.matcher.RetePatternMatcher; | ||
8 | import tools.refinery.store.map.Cursor; | ||
9 | import tools.refinery.store.query.ModelQueryAdapter; | ||
10 | import tools.refinery.store.query.ResultSet; | ||
11 | import tools.refinery.store.query.dnf.FunctionalQuery; | ||
12 | import tools.refinery.store.query.dnf.Query; | ||
13 | import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl; | ||
14 | import tools.refinery.store.tuple.TupleLike; | ||
15 | |||
16 | /** | ||
17 | * Directly access the tuples inside a VIATRA pattern matcher.<p> | ||
18 | * This class neglects calling | ||
19 | * {@link org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext#wrapTuple(org.eclipse.viatra.query.runtime.matchers.tuple.Tuple)} | ||
20 | * and | ||
21 | * {@link org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext#unwrapTuple(org.eclipse.viatra.query.runtime.matchers.tuple.Tuple)}, | ||
22 | * because {@link tools.refinery.store.query.viatra.internal.context.RelationalRuntimeContext} provides a trivial | ||
23 | * implementation for these methods. | ||
24 | * Using this class with any other runtime context may lead to undefined behavior. | ||
25 | */ | ||
26 | public class FunctionalViatraMatcher<T> implements ResultSet<T> { | ||
27 | private final ViatraModelQueryAdapterImpl adapter; | ||
28 | private final FunctionalQuery<T> query; | ||
29 | private final TupleMask emptyMask; | ||
30 | private final TupleMask omitOutputMask; | ||
31 | private final IQueryResultProvider backend; | ||
32 | private final IterableIndexer omitOutputIndexer; | ||
33 | |||
34 | public FunctionalViatraMatcher(ViatraModelQueryAdapterImpl adapter, FunctionalQuery<T> query, | ||
35 | RawPatternMatcher rawPatternMatcher) { | ||
36 | this.adapter = adapter; | ||
37 | this.query = query; | ||
38 | int arity = query.arity(); | ||
39 | int arityWithOutput = arity + 1; | ||
40 | emptyMask = TupleMask.empty(arityWithOutput); | ||
41 | omitOutputMask = TupleMask.omit(arity, arityWithOutput); | ||
42 | backend = rawPatternMatcher.getBackend(); | ||
43 | if (backend instanceof RetePatternMatcher reteBackend) { | ||
44 | var maybeIterableOmitOutputIndexer = IndexerUtils.getIndexer(reteBackend, omitOutputMask); | ||
45 | if (maybeIterableOmitOutputIndexer instanceof IterableIndexer iterableOmitOutputIndexer) { | ||
46 | omitOutputIndexer = iterableOmitOutputIndexer; | ||
47 | } else { | ||
48 | omitOutputIndexer = null; | ||
49 | } | ||
50 | } else { | ||
51 | omitOutputIndexer = null; | ||
52 | } | ||
53 | } | ||
54 | |||
55 | @Override | ||
56 | public ModelQueryAdapter getAdapter() { | ||
57 | return adapter; | ||
58 | } | ||
59 | |||
60 | @Override | ||
61 | public Query<T> getQuery() { | ||
62 | return query; | ||
63 | } | ||
64 | |||
65 | @Override | ||
66 | public T get(TupleLike parameters) { | ||
67 | var tuple = MatcherUtils.toViatraTuple(parameters); | ||
68 | if (omitOutputIndexer == null) { | ||
69 | return MatcherUtils.getSingleValue(backend.getAllMatches(omitOutputMask, tuple).iterator()); | ||
70 | } else { | ||
71 | return MatcherUtils.getSingleValue(omitOutputIndexer.get(tuple)); | ||
72 | } | ||
73 | } | ||
74 | |||
75 | @Override | ||
76 | public Cursor<TupleLike, T> getAll() { | ||
77 | if (omitOutputIndexer == null) { | ||
78 | var allMatches = backend.getAllMatches(emptyMask, Tuples.staticArityFlatTupleOf()); | ||
79 | return new UnsafeFunctionalCursor<>(allMatches.iterator()); | ||
80 | } | ||
81 | return new FunctionalCursor<>(omitOutputIndexer); | ||
82 | } | ||
83 | |||
84 | @Override | ||
85 | public int size() { | ||
86 | if (omitOutputIndexer == null) { | ||
87 | return backend.countMatches(emptyMask, Tuples.staticArityFlatTupleOf()); | ||
88 | } | ||
89 | return omitOutputIndexer.getBucketCount(); | ||
90 | } | ||
91 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/IndexerUtils.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/IndexerUtils.java new file mode 100644 index 00000000..55eb8c44 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/IndexerUtils.java | |||
@@ -0,0 +1,48 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.matcher; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask; | ||
4 | import org.eclipse.viatra.query.runtime.rete.index.Indexer; | ||
5 | import org.eclipse.viatra.query.runtime.rete.matcher.ReteEngine; | ||
6 | import org.eclipse.viatra.query.runtime.rete.matcher.RetePatternMatcher; | ||
7 | import org.eclipse.viatra.query.runtime.rete.traceability.RecipeTraceInfo; | ||
8 | |||
9 | import java.lang.invoke.MethodHandle; | ||
10 | import java.lang.invoke.MethodHandles; | ||
11 | import java.lang.invoke.MethodType; | ||
12 | |||
13 | final class IndexerUtils { | ||
14 | private static final MethodHandle GET_ENGINE_HANDLE; | ||
15 | private static final MethodHandle GET_PRODUCTION_NODE_TRACE_HANDLE; | ||
16 | private static final MethodHandle ACCESS_PROJECTION_HANDLE; | ||
17 | |||
18 | static { | ||
19 | try { | ||
20 | var lookup = MethodHandles.privateLookupIn(RetePatternMatcher.class, MethodHandles.lookup()); | ||
21 | GET_ENGINE_HANDLE = lookup.findGetter(RetePatternMatcher.class, "engine", ReteEngine.class); | ||
22 | GET_PRODUCTION_NODE_TRACE_HANDLE = lookup.findGetter(RetePatternMatcher.class, "productionNodeTrace", | ||
23 | RecipeTraceInfo.class); | ||
24 | ACCESS_PROJECTION_HANDLE = lookup.findVirtual(ReteEngine.class, "accessProjection", | ||
25 | MethodType.methodType(Indexer.class, RecipeTraceInfo.class, TupleMask.class)); | ||
26 | } catch (IllegalAccessException | NoSuchFieldException | NoSuchMethodException e) { | ||
27 | throw new IllegalStateException("Cannot access private members of %s" | ||
28 | .formatted(RetePatternMatcher.class.getPackageName()), e); | ||
29 | } | ||
30 | } | ||
31 | |||
32 | private IndexerUtils() { | ||
33 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | ||
34 | } | ||
35 | |||
36 | public static Indexer getIndexer(RetePatternMatcher backend, TupleMask mask) { | ||
37 | try { | ||
38 | var engine = (ReteEngine) GET_ENGINE_HANDLE.invokeExact(backend); | ||
39 | var trace = (RecipeTraceInfo) GET_PRODUCTION_NODE_TRACE_HANDLE.invokeExact(backend); | ||
40 | return (Indexer) ACCESS_PROJECTION_HANDLE.invokeExact(engine, trace, mask); | ||
41 | } catch (Error e) { | ||
42 | // Fatal JVM errors should not be wrapped. | ||
43 | throw e; | ||
44 | } catch (Throwable e) { | ||
45 | throw new IllegalStateException("Cannot access matcher for mask " + mask, e); | ||
46 | } | ||
47 | } | ||
48 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/MatcherUtils.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/MatcherUtils.java new file mode 100644 index 00000000..5d4be95d --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/MatcherUtils.java | |||
@@ -0,0 +1,50 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.matcher; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple; | ||
4 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
5 | import org.jetbrains.annotations.Nullable; | ||
6 | import tools.refinery.store.tuple.Tuple; | ||
7 | import tools.refinery.store.tuple.TupleLike; | ||
8 | |||
9 | import java.util.Iterator; | ||
10 | |||
11 | final class MatcherUtils { | ||
12 | private MatcherUtils() { | ||
13 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | ||
14 | } | ||
15 | |||
16 | public static org.eclipse.viatra.query.runtime.matchers.tuple.Tuple toViatraTuple(TupleLike tuple) { | ||
17 | if (tuple instanceof ViatraTupleLike viatraTupleLike) { | ||
18 | return viatraTupleLike.wrappedTuple().toImmutable(); | ||
19 | } | ||
20 | int size = tuple.getSize(); | ||
21 | var array = new Object[size]; | ||
22 | for (int i = 0; i < size; i++) { | ||
23 | var value = tuple.get(i); | ||
24 | array[i] = Tuple.of(value); | ||
25 | } | ||
26 | return Tuples.flatTupleOf(array); | ||
27 | } | ||
28 | |||
29 | |||
30 | public static <T> T getSingleValue(@Nullable Iterable<? extends ITuple> tuples) { | ||
31 | if (tuples == null) { | ||
32 | return null; | ||
33 | } | ||
34 | return getSingleValue(tuples.iterator()); | ||
35 | } | ||
36 | |||
37 | public static <T> T getSingleValue(Iterator<? extends ITuple> iterator) { | ||
38 | if (!iterator.hasNext()) { | ||
39 | return null; | ||
40 | } | ||
41 | var match = iterator.next(); | ||
42 | @SuppressWarnings("unchecked") | ||
43 | var result = (T) match.get(match.getSize() - 1); | ||
44 | if (iterator.hasNext()) { | ||
45 | var input = new OmitOutputViatraTupleLike(match); | ||
46 | throw new IllegalStateException("Query is not functional for input tuple: " + input); | ||
47 | } | ||
48 | return result; | ||
49 | } | ||
50 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/OmitOutputViatraTupleLike.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/OmitOutputViatraTupleLike.java new file mode 100644 index 00000000..bd9301ba --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/OmitOutputViatraTupleLike.java | |||
@@ -0,0 +1,23 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.matcher; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple; | ||
4 | import tools.refinery.store.tuple.Tuple1; | ||
5 | import tools.refinery.store.tuple.TupleLike; | ||
6 | |||
7 | record OmitOutputViatraTupleLike(ITuple wrappedTuple) implements TupleLike { | ||
8 | @Override | ||
9 | public int getSize() { | ||
10 | return wrappedTuple.getSize() - 1; | ||
11 | } | ||
12 | |||
13 | @Override | ||
14 | public int get(int element) { | ||
15 | var wrappedValue = (Tuple1) wrappedTuple.get(element); | ||
16 | return wrappedValue.value0(); | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public String toString() { | ||
21 | return TupleLike.toString(this); | ||
22 | } | ||
23 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RawPatternMatcher.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RawPatternMatcher.java new file mode 100644 index 00000000..b3d05967 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RawPatternMatcher.java | |||
@@ -0,0 +1,15 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.matcher; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.api.GenericPatternMatcher; | ||
4 | import org.eclipse.viatra.query.runtime.api.GenericQuerySpecification; | ||
5 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryResultProvider; | ||
6 | |||
7 | public class RawPatternMatcher extends GenericPatternMatcher { | ||
8 | public RawPatternMatcher(GenericQuerySpecification<? extends GenericPatternMatcher> specification) { | ||
9 | super(specification); | ||
10 | } | ||
11 | |||
12 | IQueryResultProvider getBackend() { | ||
13 | return backend; | ||
14 | } | ||
15 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalCursor.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalCursor.java new file mode 100644 index 00000000..c2dcc565 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalCursor.java | |||
@@ -0,0 +1,42 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.matcher; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple; | ||
4 | import tools.refinery.store.map.Cursor; | ||
5 | import tools.refinery.store.tuple.TupleLike; | ||
6 | |||
7 | import java.util.Iterator; | ||
8 | |||
9 | class RelationalCursor implements Cursor<TupleLike, Boolean> { | ||
10 | private final Iterator<? extends ITuple> tuplesIterator; | ||
11 | private boolean terminated; | ||
12 | private TupleLike key; | ||
13 | |||
14 | public RelationalCursor(Iterator<? extends ITuple> tuplesIterator) { | ||
15 | this.tuplesIterator = tuplesIterator; | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | public TupleLike getKey() { | ||
20 | return key; | ||
21 | } | ||
22 | |||
23 | @Override | ||
24 | public Boolean getValue() { | ||
25 | return true; | ||
26 | } | ||
27 | |||
28 | @Override | ||
29 | public boolean isTerminated() { | ||
30 | return terminated; | ||
31 | } | ||
32 | |||
33 | @Override | ||
34 | public boolean move() { | ||
35 | if (!terminated && tuplesIterator.hasNext()) { | ||
36 | key = new ViatraTupleLike(tuplesIterator.next()); | ||
37 | return true; | ||
38 | } | ||
39 | terminated = true; | ||
40 | return false; | ||
41 | } | ||
42 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalViatraMatcher.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalViatraMatcher.java new file mode 100644 index 00000000..b9bc3f1e --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/RelationalViatraMatcher.java | |||
@@ -0,0 +1,89 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.matcher; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryResultProvider; | ||
4 | import org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask; | ||
5 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
6 | import org.eclipse.viatra.query.runtime.rete.index.Indexer; | ||
7 | import org.eclipse.viatra.query.runtime.rete.matcher.RetePatternMatcher; | ||
8 | import tools.refinery.store.map.Cursor; | ||
9 | import tools.refinery.store.map.Cursors; | ||
10 | import tools.refinery.store.query.ModelQueryAdapter; | ||
11 | import tools.refinery.store.query.ResultSet; | ||
12 | import tools.refinery.store.query.dnf.Query; | ||
13 | import tools.refinery.store.query.dnf.RelationalQuery; | ||
14 | import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl; | ||
15 | import tools.refinery.store.tuple.TupleLike; | ||
16 | |||
17 | /** | ||
18 | * Directly access the tuples inside a VIATRA pattern matcher.<p> | ||
19 | * This class neglects calling | ||
20 | * {@link org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext#wrapTuple(org.eclipse.viatra.query.runtime.matchers.tuple.Tuple)} | ||
21 | * and | ||
22 | * {@link org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext#unwrapTuple(org.eclipse.viatra.query.runtime.matchers.tuple.Tuple)}, | ||
23 | * because {@link tools.refinery.store.query.viatra.internal.context.RelationalRuntimeContext} provides a trivial | ||
24 | * implementation for these methods. | ||
25 | * Using this class with any other runtime context may lead to undefined behavior. | ||
26 | */ | ||
27 | public class RelationalViatraMatcher implements ResultSet<Boolean> { | ||
28 | private final ViatraModelQueryAdapterImpl adapter; | ||
29 | private final RelationalQuery query; | ||
30 | private final TupleMask emptyMask; | ||
31 | private final TupleMask identityMask; | ||
32 | private final IQueryResultProvider backend; | ||
33 | private final Indexer emptyMaskIndexer; | ||
34 | |||
35 | public RelationalViatraMatcher(ViatraModelQueryAdapterImpl adapter, RelationalQuery query, | ||
36 | RawPatternMatcher rawPatternMatcher) { | ||
37 | this.adapter = adapter; | ||
38 | this.query = query; | ||
39 | int arity = query.arity(); | ||
40 | emptyMask = TupleMask.empty(arity); | ||
41 | identityMask = TupleMask.identity(arity); | ||
42 | backend = rawPatternMatcher.getBackend(); | ||
43 | if (backend instanceof RetePatternMatcher reteBackend) { | ||
44 | emptyMaskIndexer = IndexerUtils.getIndexer(reteBackend, emptyMask); | ||
45 | } else { | ||
46 | emptyMaskIndexer = null; | ||
47 | } | ||
48 | } | ||
49 | |||
50 | @Override | ||
51 | public ModelQueryAdapter getAdapter() { | ||
52 | return adapter; | ||
53 | } | ||
54 | |||
55 | @Override | ||
56 | public Query<Boolean> getQuery() { | ||
57 | return query; | ||
58 | } | ||
59 | |||
60 | @Override | ||
61 | public Boolean get(TupleLike parameters) { | ||
62 | var tuple = MatcherUtils.toViatraTuple(parameters); | ||
63 | if (emptyMaskIndexer == null) { | ||
64 | return backend.hasMatch(identityMask, tuple); | ||
65 | } | ||
66 | var matches = emptyMaskIndexer.get(Tuples.staticArityFlatTupleOf()); | ||
67 | return matches != null && matches.contains(tuple); | ||
68 | } | ||
69 | |||
70 | @Override | ||
71 | public Cursor<TupleLike, Boolean> getAll() { | ||
72 | if (emptyMaskIndexer == null) { | ||
73 | var allMatches = backend.getAllMatches(emptyMask, Tuples.staticArityFlatTupleOf()); | ||
74 | return new RelationalCursor(allMatches.iterator()); | ||
75 | } | ||
76 | var matches = emptyMaskIndexer.get(Tuples.staticArityFlatTupleOf()); | ||
77 | return matches == null ? Cursors.empty() : new RelationalCursor(matches.stream().iterator()); | ||
78 | } | ||
79 | |||
80 | @Override | ||
81 | public int size() { | ||
82 | if (emptyMaskIndexer == null) { | ||
83 | return backend.countMatches(emptyMask, Tuples.staticArityFlatTupleOf()); | ||
84 | } | ||
85 | var matches = emptyMaskIndexer.get(Tuples.staticArityFlatTupleOf()); | ||
86 | return matches == null ? 0 : matches.size(); | ||
87 | } | ||
88 | |||
89 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/UnsafeFunctionalCursor.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/UnsafeFunctionalCursor.java new file mode 100644 index 00000000..6c53fff1 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/UnsafeFunctionalCursor.java | |||
@@ -0,0 +1,52 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.matcher; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple; | ||
4 | import tools.refinery.store.map.Cursor; | ||
5 | import tools.refinery.store.tuple.TupleLike; | ||
6 | |||
7 | import java.util.Iterator; | ||
8 | |||
9 | /** | ||
10 | * Cursor for a functional result set that iterates over a stream of raw matches and doesn't check whether the | ||
11 | * functional dependency of the output on the inputs is obeyed. | ||
12 | * @param <T> The output type. | ||
13 | */ | ||
14 | class UnsafeFunctionalCursor<T> implements Cursor<TupleLike, T> { | ||
15 | private final Iterator<? extends ITuple> tuplesIterator; | ||
16 | private boolean terminated; | ||
17 | private TupleLike key; | ||
18 | private T value; | ||
19 | |||
20 | public UnsafeFunctionalCursor(Iterator<? extends ITuple> tuplesIterator) { | ||
21 | this.tuplesIterator = tuplesIterator; | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | public TupleLike getKey() { | ||
26 | return key; | ||
27 | } | ||
28 | |||
29 | @Override | ||
30 | public T getValue() { | ||
31 | return value; | ||
32 | } | ||
33 | |||
34 | @Override | ||
35 | public boolean isTerminated() { | ||
36 | return terminated; | ||
37 | } | ||
38 | |||
39 | @Override | ||
40 | public boolean move() { | ||
41 | if (!terminated && tuplesIterator.hasNext()) { | ||
42 | var match = tuplesIterator.next(); | ||
43 | key = new OmitOutputViatraTupleLike(match); | ||
44 | @SuppressWarnings("unchecked") | ||
45 | var typedValue = (T) match.get(match.getSize() - 1); | ||
46 | value = typedValue; | ||
47 | return true; | ||
48 | } | ||
49 | terminated = true; | ||
50 | return false; | ||
51 | } | ||
52 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraTupleLike.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/ViatraTupleLike.java index 46c28434..76a3e40b 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/ViatraTupleLike.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/matcher/ViatraTupleLike.java | |||
@@ -1,10 +1,10 @@ | |||
1 | package tools.refinery.store.query.viatra; | 1 | package tools.refinery.store.query.viatra.internal.matcher; |
2 | 2 | ||
3 | import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple; | 3 | import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple; |
4 | import tools.refinery.store.tuple.Tuple1; | 4 | import tools.refinery.store.tuple.Tuple1; |
5 | import tools.refinery.store.tuple.TupleLike; | 5 | import tools.refinery.store.tuple.TupleLike; |
6 | 6 | ||
7 | public record ViatraTupleLike(ITuple wrappedTuple) implements TupleLike { | 7 | record ViatraTupleLike(ITuple wrappedTuple) implements TupleLike { |
8 | @Override | 8 | @Override |
9 | public int getSize() { | 9 | public int getSize() { |
10 | return wrappedTuple.getSize(); | 10 | return wrappedTuple.getSize(); |
@@ -15,4 +15,9 @@ public record ViatraTupleLike(ITuple wrappedTuple) implements TupleLike { | |||
15 | var wrappedValue = (Tuple1) wrappedTuple.get(element); | 15 | var wrappedValue = (Tuple1) wrappedTuple.get(element); |
16 | return wrappedValue.value0(); | 16 | return wrappedValue.value0(); |
17 | } | 17 | } |
18 | |||
19 | @Override | ||
20 | public String toString() { | ||
21 | return TupleLike.toString(this); | ||
22 | } | ||
18 | } | 23 | } |
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/AssumptionEvaluator.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/AssumptionEvaluator.java new file mode 100644 index 00000000..a80b0f90 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/AssumptionEvaluator.java | |||
@@ -0,0 +1,16 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.pquery; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider; | ||
4 | import tools.refinery.store.query.term.Term; | ||
5 | |||
6 | class AssumptionEvaluator extends TermEvaluator<Boolean> { | ||
7 | public AssumptionEvaluator(Term<Boolean> term) { | ||
8 | super(term); | ||
9 | } | ||
10 | |||
11 | @Override | ||
12 | public Object evaluateExpression(IValueProvider provider) { | ||
13 | var result = super.evaluateExpression(provider); | ||
14 | return result == null ? Boolean.FALSE : result; | ||
15 | } | ||
16 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/DNF2PQuery.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/DNF2PQuery.java deleted file mode 100644 index 60f1bcae..00000000 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/DNF2PQuery.java +++ /dev/null | |||
@@ -1,223 +0,0 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.pquery; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
4 | import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; | ||
5 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
6 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
7 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
8 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
9 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
10 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality; | ||
11 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; | ||
12 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryTransitiveClosure; | ||
13 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; | ||
14 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
20 | import tools.refinery.store.query.DNF; | ||
21 | import tools.refinery.store.query.DNFAnd; | ||
22 | import tools.refinery.store.query.DNFUtils; | ||
23 | import tools.refinery.store.query.Variable; | ||
24 | import tools.refinery.store.query.atom.*; | ||
25 | import tools.refinery.store.query.view.AnyRelationView; | ||
26 | |||
27 | import java.util.*; | ||
28 | import java.util.function.Function; | ||
29 | import java.util.stream.Collectors; | ||
30 | |||
31 | public class DNF2PQuery { | ||
32 | private static final Object P_CONSTRAINT_LOCK = new Object(); | ||
33 | |||
34 | private final Set<DNF> translating = new LinkedHashSet<>(); | ||
35 | |||
36 | private final Map<DNF, RawPQuery> dnf2PQueryMap = new HashMap<>(); | ||
37 | |||
38 | private final Map<AnyRelationView, RelationViewWrapper> view2WrapperMap = new LinkedHashMap<>(); | ||
39 | |||
40 | private final Map<AnyRelationView, RawPQuery> view2EmbeddedMap = new HashMap<>(); | ||
41 | |||
42 | private Function<DNF, QueryEvaluationHint> computeHint = dnf -> new QueryEvaluationHint(null, | ||
43 | QueryEvaluationHint.BackendRequirement.UNSPECIFIED); | ||
44 | |||
45 | public void setComputeHint(Function<DNF, QueryEvaluationHint> computeHint) { | ||
46 | this.computeHint = computeHint; | ||
47 | } | ||
48 | |||
49 | public RawPQuery translate(DNF dnfQuery) { | ||
50 | if (translating.contains(dnfQuery)) { | ||
51 | var path = translating.stream().map(DNF::name).collect(Collectors.joining(" -> ")); | ||
52 | throw new IllegalStateException("Circular reference %s -> %s detected".formatted(path, | ||
53 | dnfQuery.name())); | ||
54 | } | ||
55 | // We can't use computeIfAbsent here, because translating referenced queries calls this method in a reentrant | ||
56 | // way, which would cause a ConcurrentModificationException with computeIfAbsent. | ||
57 | var pQuery = dnf2PQueryMap.get(dnfQuery); | ||
58 | if (pQuery == null) { | ||
59 | translating.add(dnfQuery); | ||
60 | try { | ||
61 | pQuery = doTranslate(dnfQuery); | ||
62 | dnf2PQueryMap.put(dnfQuery, pQuery); | ||
63 | } finally { | ||
64 | translating.remove(dnfQuery); | ||
65 | } | ||
66 | } | ||
67 | return pQuery; | ||
68 | } | ||
69 | |||
70 | public Map<AnyRelationView, IInputKey> getRelationViews() { | ||
71 | return Collections.unmodifiableMap(view2WrapperMap); | ||
72 | } | ||
73 | |||
74 | public RawPQuery getAlreadyTranslated(DNF dnfQuery) { | ||
75 | return dnf2PQueryMap.get(dnfQuery); | ||
76 | } | ||
77 | |||
78 | private RawPQuery doTranslate(DNF dnfQuery) { | ||
79 | var pQuery = new RawPQuery(dnfQuery.getUniqueName()); | ||
80 | pQuery.setEvaluationHints(computeHint.apply(dnfQuery)); | ||
81 | |||
82 | Map<Variable, PParameter> parameters = new HashMap<>(); | ||
83 | for (Variable variable : dnfQuery.getParameters()) { | ||
84 | parameters.put(variable, new PParameter(variable.getUniqueName())); | ||
85 | } | ||
86 | |||
87 | List<PParameter> parameterList = new ArrayList<>(); | ||
88 | for (var param : dnfQuery.getParameters()) { | ||
89 | parameterList.add(parameters.get(param)); | ||
90 | } | ||
91 | pQuery.setParameters(parameterList); | ||
92 | |||
93 | for (var functionalDependency : dnfQuery.getFunctionalDependencies()) { | ||
94 | var functionalDependencyAnnotation = new PAnnotation("FunctionalDependency"); | ||
95 | for (var forEachVariable : functionalDependency.forEach()) { | ||
96 | functionalDependencyAnnotation.addAttribute("forEach", forEachVariable.getUniqueName()); | ||
97 | } | ||
98 | for (var uniqueVariable : functionalDependency.unique()) { | ||
99 | functionalDependencyAnnotation.addAttribute("unique", uniqueVariable.getUniqueName()); | ||
100 | } | ||
101 | pQuery.addAnnotation(functionalDependencyAnnotation); | ||
102 | } | ||
103 | |||
104 | // The constructor of {@link org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint} mutates | ||
105 | // global static state (<code>nextID</code>) without locking. Therefore, we need to synchronize before creating | ||
106 | // any query constraints to avoid a data race. | ||
107 | synchronized (P_CONSTRAINT_LOCK) { | ||
108 | for (DNFAnd clause : dnfQuery.getClauses()) { | ||
109 | PBody body = new PBody(pQuery); | ||
110 | List<ExportedParameter> symbolicParameters = new ArrayList<>(); | ||
111 | for (var param : dnfQuery.getParameters()) { | ||
112 | PVariable pVar = body.getOrCreateVariableByName(param.getUniqueName()); | ||
113 | symbolicParameters.add(new ExportedParameter(body, pVar, parameters.get(param))); | ||
114 | } | ||
115 | body.setSymbolicParameters(symbolicParameters); | ||
116 | pQuery.addBody(body); | ||
117 | for (DNFAtom constraint : clause.constraints()) { | ||
118 | translateDNFAtom(constraint, body); | ||
119 | } | ||
120 | } | ||
121 | } | ||
122 | |||
123 | return pQuery; | ||
124 | } | ||
125 | |||
126 | private void translateDNFAtom(DNFAtom constraint, PBody body) { | ||
127 | if (constraint instanceof EquivalenceAtom equivalenceAtom) { | ||
128 | translateEquivalenceAtom(equivalenceAtom, body); | ||
129 | } else if (constraint instanceof RelationViewAtom relationViewAtom) { | ||
130 | translateRelationViewAtom(relationViewAtom, body); | ||
131 | } else if (constraint instanceof DNFCallAtom callAtom) { | ||
132 | translateCallAtom(callAtom, body); | ||
133 | } else if (constraint instanceof ConstantAtom constantAtom) { | ||
134 | translateConstantAtom(constantAtom, body); | ||
135 | } else { | ||
136 | throw new IllegalArgumentException("Unknown constraint: " + constraint.toString()); | ||
137 | } | ||
138 | } | ||
139 | |||
140 | private void translateEquivalenceAtom(EquivalenceAtom equivalence, PBody body) { | ||
141 | PVariable varSource = body.getOrCreateVariableByName(equivalence.left().getUniqueName()); | ||
142 | PVariable varTarget = body.getOrCreateVariableByName(equivalence.right().getUniqueName()); | ||
143 | if (equivalence.positive()) { | ||
144 | new Equality(body, varSource, varTarget); | ||
145 | } else { | ||
146 | new Inequality(body, varSource, varTarget); | ||
147 | } | ||
148 | } | ||
149 | |||
150 | private void translateRelationViewAtom(RelationViewAtom relationViewAtom, PBody body) { | ||
151 | var substitution = translateSubstitution(relationViewAtom.getSubstitution(), body); | ||
152 | var polarity = relationViewAtom.getPolarity(); | ||
153 | var relationView = relationViewAtom.getTarget(); | ||
154 | if (polarity == CallPolarity.POSITIVE) { | ||
155 | new TypeConstraint(body, substitution, wrapView(relationView)); | ||
156 | } else { | ||
157 | var embeddedPQuery = translateEmbeddedRelationViewPQuery(relationView); | ||
158 | switch (polarity) { | ||
159 | case TRANSITIVE -> new BinaryTransitiveClosure(body, substitution, embeddedPQuery); | ||
160 | case NEGATIVE -> new NegativePatternCall(body, substitution, embeddedPQuery); | ||
161 | default -> throw new IllegalArgumentException("Unknown polarity: " + polarity); | ||
162 | } | ||
163 | } | ||
164 | } | ||
165 | |||
166 | private static Tuple translateSubstitution(List<Variable> substitution, PBody body) { | ||
167 | int arity = substitution.size(); | ||
168 | Object[] variables = new Object[arity]; | ||
169 | for (int i = 0; i < arity; i++) { | ||
170 | var variable = substitution.get(i); | ||
171 | variables[i] = body.getOrCreateVariableByName(variable.getUniqueName()); | ||
172 | } | ||
173 | return Tuples.flatTupleOf(variables); | ||
174 | } | ||
175 | |||
176 | private RawPQuery translateEmbeddedRelationViewPQuery(AnyRelationView relationView) { | ||
177 | return view2EmbeddedMap.computeIfAbsent(relationView, this::doTranslateEmbeddedRelationViewPQuery); | ||
178 | } | ||
179 | |||
180 | private RawPQuery doTranslateEmbeddedRelationViewPQuery(AnyRelationView relationView) { | ||
181 | var embeddedPQuery = new RawPQuery(DNFUtils.generateUniqueName(relationView.name()), PVisibility.EMBEDDED); | ||
182 | var body = new PBody(embeddedPQuery); | ||
183 | int arity = relationView.arity(); | ||
184 | var parameters = new ArrayList<PParameter>(arity); | ||
185 | var arguments = new Object[arity]; | ||
186 | var symbolicParameters = new ArrayList<ExportedParameter>(arity); | ||
187 | for (int i = 0; i < arity; i++) { | ||
188 | var parameterName = "p" + i; | ||
189 | var parameter = new PParameter(parameterName); | ||
190 | parameters.add(parameter); | ||
191 | var variable = body.getOrCreateVariableByName(parameterName); | ||
192 | arguments[i] = variable; | ||
193 | symbolicParameters.add(new ExportedParameter(body, variable, parameter)); | ||
194 | } | ||
195 | embeddedPQuery.setParameters(parameters); | ||
196 | body.setSymbolicParameters(symbolicParameters); | ||
197 | var argumentTuple = Tuples.flatTupleOf(arguments); | ||
198 | new TypeConstraint(body, argumentTuple, wrapView(relationView)); | ||
199 | embeddedPQuery.addBody(body); | ||
200 | return embeddedPQuery; | ||
201 | } | ||
202 | |||
203 | private RelationViewWrapper wrapView(AnyRelationView relationView) { | ||
204 | return view2WrapperMap.computeIfAbsent(relationView, RelationViewWrapper::new); | ||
205 | } | ||
206 | |||
207 | private void translateCallAtom(DNFCallAtom callAtom, PBody body) { | ||
208 | var variablesTuple = translateSubstitution(callAtom.getSubstitution(), body); | ||
209 | var translatedReferred = translate(callAtom.getTarget()); | ||
210 | var polarity = callAtom.getPolarity(); | ||
211 | switch (polarity) { | ||
212 | case POSITIVE -> new PositivePatternCall(body, variablesTuple, translatedReferred); | ||
213 | case TRANSITIVE -> new BinaryTransitiveClosure(body, variablesTuple, translatedReferred); | ||
214 | case NEGATIVE -> new NegativePatternCall(body, variablesTuple, translatedReferred); | ||
215 | default -> throw new IllegalArgumentException("Unknown polarity: " + polarity); | ||
216 | } | ||
217 | } | ||
218 | |||
219 | private void translateConstantAtom(ConstantAtom constantAtom, PBody body) { | ||
220 | var variable = body.getOrCreateVariableByName(constantAtom.variable().getUniqueName()); | ||
221 | new ConstantValue(body, variable, constantAtom.nodeId()); | ||
222 | } | ||
223 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/Dnf2PQuery.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/Dnf2PQuery.java new file mode 100644 index 00000000..7afeb977 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/Dnf2PQuery.java | |||
@@ -0,0 +1,256 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.pquery; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory; | ||
4 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
5 | import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; | ||
6 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
7 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
8 | import org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.BoundAggregator; | ||
9 | import org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.IMultisetAggregationOperator; | ||
10 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | ||
11 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.*; | ||
12 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryTransitiveClosure; | ||
13 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; | ||
14 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
20 | import tools.refinery.store.query.dnf.Dnf; | ||
21 | import tools.refinery.store.query.dnf.DnfClause; | ||
22 | import tools.refinery.store.query.literal.*; | ||
23 | import tools.refinery.store.query.term.ConstantTerm; | ||
24 | import tools.refinery.store.query.term.StatefulAggregator; | ||
25 | import tools.refinery.store.query.term.StatelessAggregator; | ||
26 | import tools.refinery.store.query.term.Variable; | ||
27 | import tools.refinery.store.query.view.AnyRelationView; | ||
28 | import tools.refinery.store.util.CycleDetectingMapper; | ||
29 | |||
30 | import java.util.*; | ||
31 | import java.util.function.Function; | ||
32 | import java.util.stream.Collectors; | ||
33 | |||
34 | public class Dnf2PQuery { | ||
35 | private static final Object P_CONSTRAINT_LOCK = new Object(); | ||
36 | private final CycleDetectingMapper<Dnf, RawPQuery> mapper = new CycleDetectingMapper<>(Dnf::name, | ||
37 | this::doTranslate); | ||
38 | private final QueryWrapperFactory wrapperFactory = new QueryWrapperFactory(this); | ||
39 | private final Map<Dnf, QueryEvaluationHint> hintOverrides = new LinkedHashMap<>(); | ||
40 | private Function<Dnf, QueryEvaluationHint> computeHint = dnf -> new QueryEvaluationHint(null, | ||
41 | (IQueryBackendFactory) null); | ||
42 | |||
43 | public void setComputeHint(Function<Dnf, QueryEvaluationHint> computeHint) { | ||
44 | this.computeHint = computeHint; | ||
45 | } | ||
46 | |||
47 | public RawPQuery translate(Dnf dnfQuery) { | ||
48 | return mapper.map(dnfQuery); | ||
49 | } | ||
50 | |||
51 | public Map<AnyRelationView, IInputKey> getRelationViews() { | ||
52 | return wrapperFactory.getRelationViews(); | ||
53 | } | ||
54 | |||
55 | public void hint(Dnf dnf, QueryEvaluationHint hint) { | ||
56 | hintOverrides.compute(dnf, (ignoredKey, existingHint) -> | ||
57 | existingHint == null ? hint : existingHint.overrideBy(hint)); | ||
58 | } | ||
59 | |||
60 | private QueryEvaluationHint consumeHint(Dnf dnf) { | ||
61 | var defaultHint = computeHint.apply(dnf); | ||
62 | var existingHint = hintOverrides.remove(dnf); | ||
63 | return defaultHint.overrideBy(existingHint); | ||
64 | } | ||
65 | |||
66 | public void assertNoUnusedHints() { | ||
67 | if (hintOverrides.isEmpty()) { | ||
68 | return; | ||
69 | } | ||
70 | var unusedHints = hintOverrides.keySet().stream().map(Dnf::name).collect(Collectors.joining(", ")); | ||
71 | throw new IllegalStateException( | ||
72 | "Unused query evaluation hints for %s. Hints must be set before a query is added to the engine" | ||
73 | .formatted(unusedHints)); | ||
74 | } | ||
75 | |||
76 | private RawPQuery doTranslate(Dnf dnfQuery) { | ||
77 | var pQuery = new RawPQuery(dnfQuery.getUniqueName()); | ||
78 | pQuery.setEvaluationHints(consumeHint(dnfQuery)); | ||
79 | |||
80 | Map<Variable, PParameter> parameters = new HashMap<>(); | ||
81 | for (Variable variable : dnfQuery.getParameters()) { | ||
82 | parameters.put(variable, new PParameter(variable.getUniqueName())); | ||
83 | } | ||
84 | |||
85 | List<PParameter> parameterList = new ArrayList<>(); | ||
86 | for (var param : dnfQuery.getParameters()) { | ||
87 | parameterList.add(parameters.get(param)); | ||
88 | } | ||
89 | pQuery.setParameters(parameterList); | ||
90 | |||
91 | for (var functionalDependency : dnfQuery.getFunctionalDependencies()) { | ||
92 | var functionalDependencyAnnotation = new PAnnotation("FunctionalDependency"); | ||
93 | for (var forEachVariable : functionalDependency.forEach()) { | ||
94 | functionalDependencyAnnotation.addAttribute("forEach", forEachVariable.getUniqueName()); | ||
95 | } | ||
96 | for (var uniqueVariable : functionalDependency.unique()) { | ||
97 | functionalDependencyAnnotation.addAttribute("unique", uniqueVariable.getUniqueName()); | ||
98 | } | ||
99 | pQuery.addAnnotation(functionalDependencyAnnotation); | ||
100 | } | ||
101 | |||
102 | // The constructor of {@link org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint} mutates | ||
103 | // global static state (<code>nextID</code>) without locking. Therefore, we need to synchronize before creating | ||
104 | // any query literals to avoid a data race. | ||
105 | synchronized (P_CONSTRAINT_LOCK) { | ||
106 | for (DnfClause clause : dnfQuery.getClauses()) { | ||
107 | PBody body = new PBody(pQuery); | ||
108 | List<ExportedParameter> symbolicParameters = new ArrayList<>(); | ||
109 | for (var param : dnfQuery.getParameters()) { | ||
110 | PVariable pVar = body.getOrCreateVariableByName(param.getUniqueName()); | ||
111 | symbolicParameters.add(new ExportedParameter(body, pVar, parameters.get(param))); | ||
112 | } | ||
113 | body.setSymbolicParameters(symbolicParameters); | ||
114 | pQuery.addBody(body); | ||
115 | for (Literal literal : clause.literals()) { | ||
116 | translateLiteral(literal, clause, body); | ||
117 | } | ||
118 | } | ||
119 | } | ||
120 | |||
121 | return pQuery; | ||
122 | } | ||
123 | |||
124 | private void translateLiteral(Literal literal, DnfClause clause, PBody body) { | ||
125 | if (literal instanceof EquivalenceLiteral equivalenceLiteral) { | ||
126 | translateEquivalenceLiteral(equivalenceLiteral, body); | ||
127 | } else if (literal instanceof CallLiteral callLiteral) { | ||
128 | translateCallLiteral(callLiteral, clause, body); | ||
129 | } else if (literal instanceof ConstantLiteral constantLiteral) { | ||
130 | translateConstantLiteral(constantLiteral, body); | ||
131 | } else if (literal instanceof AssignLiteral<?> assignLiteral) { | ||
132 | translateAssignLiteral(assignLiteral, body); | ||
133 | } else if (literal instanceof AssumeLiteral assumeLiteral) { | ||
134 | translateAssumeLiteral(assumeLiteral, body); | ||
135 | } else if (literal instanceof CountLiteral countLiteral) { | ||
136 | translateCountLiteral(countLiteral, clause, body); | ||
137 | } else if (literal instanceof AggregationLiteral<?, ?> aggregationLiteral) { | ||
138 | translateAggregationLiteral(aggregationLiteral, clause, body); | ||
139 | } else { | ||
140 | throw new IllegalArgumentException("Unknown literal: " + literal.toString()); | ||
141 | } | ||
142 | } | ||
143 | |||
144 | private void translateEquivalenceLiteral(EquivalenceLiteral equivalenceLiteral, PBody body) { | ||
145 | PVariable varSource = body.getOrCreateVariableByName(equivalenceLiteral.left().getUniqueName()); | ||
146 | PVariable varTarget = body.getOrCreateVariableByName(equivalenceLiteral.right().getUniqueName()); | ||
147 | if (equivalenceLiteral.positive()) { | ||
148 | new Equality(body, varSource, varTarget); | ||
149 | } else { | ||
150 | new Inequality(body, varSource, varTarget); | ||
151 | } | ||
152 | } | ||
153 | |||
154 | private void translateCallLiteral(CallLiteral callLiteral, DnfClause clause, PBody body) { | ||
155 | var polarity = callLiteral.getPolarity(); | ||
156 | switch (polarity) { | ||
157 | case POSITIVE -> { | ||
158 | var substitution = translateSubstitution(callLiteral.getArguments(), body); | ||
159 | var constraint = callLiteral.getTarget(); | ||
160 | if (constraint instanceof Dnf dnf) { | ||
161 | var pattern = translate(dnf); | ||
162 | new PositivePatternCall(body, substitution, pattern); | ||
163 | } else if (constraint instanceof AnyRelationView relationView) { | ||
164 | var inputKey = wrapperFactory.getInputKey(relationView); | ||
165 | new TypeConstraint(body, substitution, inputKey); | ||
166 | } else { | ||
167 | throw new IllegalArgumentException("Unknown Constraint: " + constraint); | ||
168 | } | ||
169 | } | ||
170 | case TRANSITIVE -> { | ||
171 | var substitution = translateSubstitution(callLiteral.getArguments(), body); | ||
172 | var constraint = callLiteral.getTarget(); | ||
173 | PQuery pattern; | ||
174 | if (constraint instanceof Dnf dnf) { | ||
175 | pattern = translate(dnf); | ||
176 | } else if (constraint instanceof AnyRelationView relationView) { | ||
177 | pattern = wrapperFactory.wrapRelationViewIdentityArguments(relationView); | ||
178 | } else { | ||
179 | throw new IllegalArgumentException("Unknown Constraint: " + constraint); | ||
180 | } | ||
181 | new BinaryTransitiveClosure(body, substitution, pattern); | ||
182 | } | ||
183 | case NEGATIVE -> { | ||
184 | var wrappedCall = wrapperFactory.maybeWrapConstraint(callLiteral, clause); | ||
185 | var substitution = translateSubstitution(wrappedCall.remappedArguments(), body); | ||
186 | var pattern = wrappedCall.pattern(); | ||
187 | new NegativePatternCall(body, substitution, pattern); | ||
188 | } | ||
189 | default -> throw new IllegalArgumentException("Unknown polarity: " + polarity); | ||
190 | } | ||
191 | } | ||
192 | |||
193 | private static Tuple translateSubstitution(List<Variable> substitution, PBody body) { | ||
194 | int arity = substitution.size(); | ||
195 | Object[] variables = new Object[arity]; | ||
196 | for (int i = 0; i < arity; i++) { | ||
197 | var variable = substitution.get(i); | ||
198 | variables[i] = body.getOrCreateVariableByName(variable.getUniqueName()); | ||
199 | } | ||
200 | return Tuples.flatTupleOf(variables); | ||
201 | } | ||
202 | |||
203 | private void translateConstantLiteral(ConstantLiteral constantLiteral, PBody body) { | ||
204 | var variable = body.getOrCreateVariableByName(constantLiteral.variable().getUniqueName()); | ||
205 | new ConstantValue(body, variable, constantLiteral.nodeId()); | ||
206 | } | ||
207 | |||
208 | private <T> void translateAssignLiteral(AssignLiteral<T> assignLiteral, PBody body) { | ||
209 | var variable = body.getOrCreateVariableByName(assignLiteral.variable().getUniqueName()); | ||
210 | var term = assignLiteral.term(); | ||
211 | if (term instanceof ConstantTerm<T> constantTerm) { | ||
212 | new ConstantValue(body, variable, constantTerm.getValue()); | ||
213 | } else { | ||
214 | var evaluator = new TermEvaluator<>(term); | ||
215 | new ExpressionEvaluation(body, evaluator, variable); | ||
216 | } | ||
217 | } | ||
218 | |||
219 | private void translateAssumeLiteral(AssumeLiteral assumeLiteral, PBody body) { | ||
220 | var evaluator = new AssumptionEvaluator(assumeLiteral.term()); | ||
221 | new ExpressionEvaluation(body, evaluator, null); | ||
222 | } | ||
223 | |||
224 | private void translateCountLiteral(CountLiteral countLiteral, DnfClause clause, PBody body) { | ||
225 | var wrappedCall = wrapperFactory.maybeWrapConstraint(countLiteral, clause); | ||
226 | var substitution = translateSubstitution(wrappedCall.remappedArguments(), body); | ||
227 | var resultVariable = body.getOrCreateVariableByName(countLiteral.getResultVariable().getUniqueName()); | ||
228 | new PatternMatchCounter(body, substitution, wrappedCall.pattern(), resultVariable); | ||
229 | } | ||
230 | |||
231 | private <R, T> void translateAggregationLiteral(AggregationLiteral<R, T> aggregationLiteral, DnfClause clause, | ||
232 | PBody body) { | ||
233 | var aggregator = aggregationLiteral.getAggregator(); | ||
234 | IMultisetAggregationOperator<T, ?, R> aggregationOperator; | ||
235 | if (aggregator instanceof StatelessAggregator<R, T> statelessAggregator) { | ||
236 | aggregationOperator = new StatelessMultisetAggregator<>(statelessAggregator); | ||
237 | } else if (aggregator instanceof StatefulAggregator<R, T> statefulAggregator) { | ||
238 | aggregationOperator = new StatefulMultisetAggregator<>(statefulAggregator); | ||
239 | } else { | ||
240 | throw new IllegalArgumentException("Unknown aggregator: " + aggregator); | ||
241 | } | ||
242 | var wrappedCall = wrapperFactory.maybeWrapConstraint(aggregationLiteral, clause); | ||
243 | var substitution = translateSubstitution(wrappedCall.remappedArguments(), body); | ||
244 | var inputVariable = body.getOrCreateVariableByName(aggregationLiteral.getInputVariable().getUniqueName()); | ||
245 | var aggregatedColumn = substitution.invertIndex().get(inputVariable); | ||
246 | if (aggregatedColumn == null) { | ||
247 | throw new IllegalStateException("Input variable %s not found in substitution %s".formatted(inputVariable, | ||
248 | substitution)); | ||
249 | } | ||
250 | var boundAggregator = new BoundAggregator(aggregationOperator, aggregator.getInputType(), | ||
251 | aggregator.getResultType()); | ||
252 | var resultVariable = body.getOrCreateVariableByName(aggregationLiteral.getResultVariable().getUniqueName()); | ||
253 | new AggregatorConstraint(boundAggregator, body, substitution, wrappedCall.pattern(), resultVariable, | ||
254 | aggregatedColumn); | ||
255 | } | ||
256 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/QueryWrapperFactory.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/QueryWrapperFactory.java new file mode 100644 index 00000000..24ae5196 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/QueryWrapperFactory.java | |||
@@ -0,0 +1,173 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.pquery; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; | ||
4 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
5 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
6 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
7 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; | ||
8 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
9 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
10 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery; | ||
11 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
12 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | ||
13 | import tools.refinery.store.query.Constraint; | ||
14 | import tools.refinery.store.query.dnf.Dnf; | ||
15 | import tools.refinery.store.query.dnf.DnfClause; | ||
16 | import tools.refinery.store.query.dnf.DnfUtils; | ||
17 | import tools.refinery.store.query.literal.AbstractCallLiteral; | ||
18 | import tools.refinery.store.query.term.Variable; | ||
19 | import tools.refinery.store.query.view.AnyRelationView; | ||
20 | import tools.refinery.store.query.view.RelationView; | ||
21 | import tools.refinery.store.util.CycleDetectingMapper; | ||
22 | |||
23 | import java.util.*; | ||
24 | import java.util.function.ToIntFunction; | ||
25 | |||
26 | class QueryWrapperFactory { | ||
27 | private final Dnf2PQuery dnf2PQuery; | ||
28 | private final Map<AnyRelationView, RelationViewWrapper> view2WrapperMap = new LinkedHashMap<>(); | ||
29 | private final CycleDetectingMapper<RemappedConstraint, RawPQuery> wrapConstraint = new CycleDetectingMapper<>( | ||
30 | RemappedConstraint::toString, this::doWrapConstraint); | ||
31 | |||
32 | QueryWrapperFactory(Dnf2PQuery dnf2PQuery) { | ||
33 | this.dnf2PQuery = dnf2PQuery; | ||
34 | } | ||
35 | |||
36 | public PQuery wrapRelationViewIdentityArguments(AnyRelationView relationView) { | ||
37 | var identity = new int[relationView.arity()]; | ||
38 | for (int i = 0; i < identity.length; i++) { | ||
39 | identity[i] = i; | ||
40 | } | ||
41 | return maybeWrapConstraint(relationView, identity); | ||
42 | } | ||
43 | public WrappedCall maybeWrapConstraint(AbstractCallLiteral callLiteral, DnfClause clause) { | ||
44 | var arguments = callLiteral.getArguments(); | ||
45 | int arity = arguments.size(); | ||
46 | var remappedParameters = new int[arity]; | ||
47 | var boundVariables = clause.boundVariables(); | ||
48 | var unboundVariableIndices = new HashMap<Variable, Integer>(); | ||
49 | var appendVariable = new VariableAppender(); | ||
50 | for (int i = 0; i < arity; i++) { | ||
51 | var variable = arguments.get(i); | ||
52 | if (boundVariables.contains(variable)) { | ||
53 | // Do not join bound variable to make sure that the embedded pattern stays as general as possible. | ||
54 | remappedParameters[i] = appendVariable.applyAsInt(variable); | ||
55 | } else { | ||
56 | remappedParameters[i] = unboundVariableIndices.computeIfAbsent(variable, appendVariable::applyAsInt); | ||
57 | } | ||
58 | } | ||
59 | var pattern = maybeWrapConstraint(callLiteral.getTarget(), remappedParameters); | ||
60 | return new WrappedCall(pattern, appendVariable.getRemappedArguments()); | ||
61 | } | ||
62 | |||
63 | private PQuery maybeWrapConstraint(Constraint constraint, int[] remappedParameters) { | ||
64 | if (remappedParameters.length != constraint.arity()) { | ||
65 | throw new IllegalArgumentException("Constraint %s expected %d parameters, but got %d parameters".formatted( | ||
66 | constraint, constraint.arity(), remappedParameters.length)); | ||
67 | } | ||
68 | if (constraint instanceof Dnf dnf && isIdentity(remappedParameters)) { | ||
69 | return dnf2PQuery.translate(dnf); | ||
70 | } | ||
71 | return wrapConstraint.map(new RemappedConstraint(constraint, remappedParameters)); | ||
72 | } | ||
73 | |||
74 | private static boolean isIdentity(int[] remappedParameters) { | ||
75 | for (int i = 0; i < remappedParameters.length; i++) { | ||
76 | if (remappedParameters[i] != i) { | ||
77 | return false; | ||
78 | } | ||
79 | } | ||
80 | return true; | ||
81 | } | ||
82 | |||
83 | private RawPQuery doWrapConstraint(RemappedConstraint remappedConstraint) { | ||
84 | var constraint = remappedConstraint.constraint(); | ||
85 | var remappedParameters = remappedConstraint.remappedParameters(); | ||
86 | |||
87 | var embeddedPQuery = new RawPQuery(DnfUtils.generateUniqueName(constraint.name()), PVisibility.EMBEDDED); | ||
88 | var body = new PBody(embeddedPQuery); | ||
89 | int arity = Arrays.stream(remappedParameters).max().orElse(-1) + 1; | ||
90 | var parameters = new ArrayList<PParameter>(arity); | ||
91 | var parameterVariables = new PVariable[arity]; | ||
92 | var symbolicParameters = new ArrayList<ExportedParameter>(arity); | ||
93 | for (int i = 0; i < arity; i++) { | ||
94 | var parameterName = "p" + i; | ||
95 | var parameter = new PParameter(parameterName); | ||
96 | parameters.add(parameter); | ||
97 | var variable = body.getOrCreateVariableByName(parameterName); | ||
98 | parameterVariables[i] = variable; | ||
99 | symbolicParameters.add(new ExportedParameter(body, variable, parameter)); | ||
100 | } | ||
101 | embeddedPQuery.setParameters(parameters); | ||
102 | body.setSymbolicParameters(symbolicParameters); | ||
103 | |||
104 | var arguments = new Object[remappedParameters.length]; | ||
105 | for (int i = 0; i < remappedParameters.length; i++) { | ||
106 | arguments[i] = parameterVariables[remappedParameters[i]]; | ||
107 | } | ||
108 | var argumentTuple = Tuples.flatTupleOf(arguments); | ||
109 | |||
110 | if (constraint instanceof RelationView<?> relationView) { | ||
111 | new TypeConstraint(body, argumentTuple, getInputKey(relationView)); | ||
112 | } else if (constraint instanceof Dnf dnf) { | ||
113 | var calledPQuery = dnf2PQuery.translate(dnf); | ||
114 | new PositivePatternCall(body, argumentTuple, calledPQuery); | ||
115 | } else { | ||
116 | throw new IllegalArgumentException("Unknown Constraint: " + constraint); | ||
117 | } | ||
118 | |||
119 | embeddedPQuery.addBody(body); | ||
120 | return embeddedPQuery; | ||
121 | } | ||
122 | |||
123 | public IInputKey getInputKey(AnyRelationView relationView) { | ||
124 | return view2WrapperMap.computeIfAbsent(relationView, RelationViewWrapper::new); | ||
125 | } | ||
126 | |||
127 | public Map<AnyRelationView, IInputKey> getRelationViews() { | ||
128 | return Collections.unmodifiableMap(view2WrapperMap); | ||
129 | } | ||
130 | |||
131 | public record WrappedCall(PQuery pattern, List<Variable> remappedArguments) { | ||
132 | } | ||
133 | |||
134 | private static class VariableAppender implements ToIntFunction<Variable> { | ||
135 | private final List<Variable> remappedArguments = new ArrayList<>(); | ||
136 | private int nextIndex = 0; | ||
137 | |||
138 | @Override | ||
139 | public int applyAsInt(Variable variable) { | ||
140 | remappedArguments.add(variable); | ||
141 | int index = nextIndex; | ||
142 | nextIndex++; | ||
143 | return index; | ||
144 | } | ||
145 | |||
146 | public List<Variable> getRemappedArguments() { | ||
147 | return remappedArguments; | ||
148 | } | ||
149 | } | ||
150 | |||
151 | private record RemappedConstraint(Constraint constraint, int[] remappedParameters) { | ||
152 | @Override | ||
153 | public boolean equals(Object o) { | ||
154 | if (this == o) return true; | ||
155 | if (o == null || getClass() != o.getClass()) return false; | ||
156 | RemappedConstraint that = (RemappedConstraint) o; | ||
157 | return constraint.equals(that.constraint) && Arrays.equals(remappedParameters, that.remappedParameters); | ||
158 | } | ||
159 | |||
160 | @Override | ||
161 | public int hashCode() { | ||
162 | int result = Objects.hash(constraint); | ||
163 | result = 31 * result + Arrays.hashCode(remappedParameters); | ||
164 | return result; | ||
165 | } | ||
166 | |||
167 | @Override | ||
168 | public String toString() { | ||
169 | return "RemappedConstraint{constraint=%s, remappedParameters=%s}".formatted(constraint, | ||
170 | Arrays.toString(remappedParameters)); | ||
171 | } | ||
172 | } | ||
173 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPQuery.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPQuery.java index 71b74396..aad4ba3c 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPQuery.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPQuery.java | |||
@@ -9,6 +9,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.BasePQuery; | |||
9 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | 9 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; |
10 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | 10 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; |
11 | import tools.refinery.store.query.viatra.internal.RelationalScope; | 11 | import tools.refinery.store.query.viatra.internal.RelationalScope; |
12 | import tools.refinery.store.query.viatra.internal.matcher.RawPatternMatcher; | ||
12 | 13 | ||
13 | import java.util.LinkedHashSet; | 14 | import java.util.LinkedHashSet; |
14 | import java.util.List; | 15 | import java.util.List; |
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPatternMatcher.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPatternMatcher.java deleted file mode 100644 index e944e873..00000000 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RawPatternMatcher.java +++ /dev/null | |||
@@ -1,72 +0,0 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.pquery; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.api.GenericPatternMatcher; | ||
4 | import org.eclipse.viatra.query.runtime.api.GenericQuerySpecification; | ||
5 | import tools.refinery.store.query.ResultSet; | ||
6 | import tools.refinery.store.query.viatra.ViatraTupleLike; | ||
7 | import tools.refinery.store.tuple.Tuple; | ||
8 | import tools.refinery.store.tuple.TupleLike; | ||
9 | |||
10 | import java.util.Optional; | ||
11 | import java.util.stream.Stream; | ||
12 | |||
13 | public class RawPatternMatcher extends GenericPatternMatcher implements ResultSet { | ||
14 | protected final Object[] empty; | ||
15 | |||
16 | public RawPatternMatcher(GenericQuerySpecification<? extends GenericPatternMatcher> specification) { | ||
17 | super(specification); | ||
18 | empty = new Object[specification.getParameterNames().size()]; | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | public boolean hasResult() { | ||
23 | return backend.hasMatch(empty); | ||
24 | } | ||
25 | |||
26 | @Override | ||
27 | public boolean hasResult(Tuple parameters) { | ||
28 | return backend.hasMatch(toParametersArray(parameters)); | ||
29 | } | ||
30 | |||
31 | @Override | ||
32 | public Optional<TupleLike> oneResult() { | ||
33 | return backend.getOneArbitraryMatch(empty).map(ViatraTupleLike::new); | ||
34 | } | ||
35 | |||
36 | @Override | ||
37 | public Optional<TupleLike> oneResult(Tuple parameters) { | ||
38 | return backend.getOneArbitraryMatch(toParametersArray(parameters)).map(ViatraTupleLike::new); | ||
39 | } | ||
40 | |||
41 | @Override | ||
42 | public Stream<TupleLike> allResults() { | ||
43 | return backend.getAllMatches(empty).map(ViatraTupleLike::new); | ||
44 | } | ||
45 | |||
46 | @Override | ||
47 | public Stream<TupleLike> allResults(Tuple parameters) { | ||
48 | return backend.getAllMatches(toParametersArray(parameters)).map(ViatraTupleLike::new); | ||
49 | } | ||
50 | |||
51 | @Override | ||
52 | public int countResults() { | ||
53 | return backend.countMatches(empty); | ||
54 | } | ||
55 | |||
56 | @Override | ||
57 | public int countResults(Tuple parameters) { | ||
58 | return backend.countMatches(toParametersArray(parameters)); | ||
59 | } | ||
60 | |||
61 | private Object[] toParametersArray(Tuple tuple) { | ||
62 | int size = tuple.getSize(); | ||
63 | var array = new Object[tuple.getSize()]; | ||
64 | for (int i = 0; i < size; i++) { | ||
65 | var value = tuple.get(i); | ||
66 | if (value >= 0) { | ||
67 | array[i] = Tuple.of(value); | ||
68 | } | ||
69 | } | ||
70 | return array; | ||
71 | } | ||
72 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RelationViewWrapper.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RelationViewWrapper.java index c442add8..48bf558d 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RelationViewWrapper.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/RelationViewWrapper.java | |||
@@ -27,4 +27,9 @@ public class RelationViewWrapper extends BaseInputKeyWrapper<AnyRelationView> { | |||
27 | public boolean isEnumerable() { | 27 | public boolean isEnumerable() { |
28 | return true; | 28 | return true; |
29 | } | 29 | } |
30 | |||
31 | @Override | ||
32 | public String toString() { | ||
33 | return "RelationViewWrapper{wrappedKey=%s}".formatted(wrappedKey); | ||
34 | } | ||
30 | } | 35 | } |
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatefulMultisetAggregator.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatefulMultisetAggregator.java new file mode 100644 index 00000000..2798a252 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatefulMultisetAggregator.java | |||
@@ -0,0 +1,60 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.pquery; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.IMultisetAggregationOperator; | ||
4 | import tools.refinery.store.query.term.StatefulAggregate; | ||
5 | import tools.refinery.store.query.term.StatefulAggregator; | ||
6 | |||
7 | import java.util.stream.Stream; | ||
8 | |||
9 | record StatefulMultisetAggregator<R, T>(StatefulAggregator<R, T> aggregator) | ||
10 | implements IMultisetAggregationOperator<T, StatefulAggregate<R, T>, R> { | ||
11 | @Override | ||
12 | public String getShortDescription() { | ||
13 | return getName(); | ||
14 | } | ||
15 | |||
16 | @Override | ||
17 | public String getName() { | ||
18 | return aggregator.toString(); | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | public StatefulAggregate<R, T> createNeutral() { | ||
23 | return aggregator.createEmptyAggregate(); | ||
24 | } | ||
25 | |||
26 | @Override | ||
27 | public boolean isNeutral(StatefulAggregate<R, T> result) { | ||
28 | return result.isEmpty(); | ||
29 | } | ||
30 | |||
31 | @Override | ||
32 | public StatefulAggregate<R, T> update(StatefulAggregate<R, T> oldResult, T updateValue, boolean isInsertion) { | ||
33 | if (isInsertion) { | ||
34 | oldResult.add(updateValue); | ||
35 | } else { | ||
36 | oldResult.remove(updateValue); | ||
37 | } | ||
38 | return oldResult; | ||
39 | } | ||
40 | |||
41 | @Override | ||
42 | public R getAggregate(StatefulAggregate<R, T> result) { | ||
43 | return result.getResult(); | ||
44 | } | ||
45 | |||
46 | @Override | ||
47 | public R aggregateStream(Stream<T> stream) { | ||
48 | return aggregator.aggregateStream(stream); | ||
49 | } | ||
50 | |||
51 | @Override | ||
52 | public StatefulAggregate<R, T> clone(StatefulAggregate<R, T> original) { | ||
53 | return original.deepCopy(); | ||
54 | } | ||
55 | |||
56 | @Override | ||
57 | public boolean contains(T value, StatefulAggregate<R, T> accumulator) { | ||
58 | return accumulator.contains(value); | ||
59 | } | ||
60 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatelessMultisetAggregator.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatelessMultisetAggregator.java new file mode 100644 index 00000000..7cc71ee9 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/StatelessMultisetAggregator.java | |||
@@ -0,0 +1,50 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.pquery; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.IMultisetAggregationOperator; | ||
4 | import tools.refinery.store.query.term.StatelessAggregator; | ||
5 | |||
6 | import java.util.stream.Stream; | ||
7 | |||
8 | record StatelessMultisetAggregator<R, T>(StatelessAggregator<R, T> aggregator) | ||
9 | implements IMultisetAggregationOperator<T, R, R> { | ||
10 | @Override | ||
11 | public String getShortDescription() { | ||
12 | return getName(); | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public String getName() { | ||
17 | return aggregator.toString(); | ||
18 | } | ||
19 | |||
20 | @Override | ||
21 | public R createNeutral() { | ||
22 | return aggregator.getEmptyResult(); | ||
23 | } | ||
24 | |||
25 | @Override | ||
26 | public boolean isNeutral(R result) { | ||
27 | return createNeutral().equals(result); | ||
28 | } | ||
29 | |||
30 | @Override | ||
31 | public R update(R oldResult, T updateValue, boolean isInsertion) { | ||
32 | return isInsertion ? aggregator.add(oldResult, updateValue) : aggregator.remove(oldResult, updateValue); | ||
33 | } | ||
34 | |||
35 | @Override | ||
36 | public R getAggregate(R result) { | ||
37 | return result; | ||
38 | } | ||
39 | |||
40 | @Override | ||
41 | public R clone(R original) { | ||
42 | // Aggregate result is immutable. | ||
43 | return original; | ||
44 | } | ||
45 | |||
46 | @Override | ||
47 | public R aggregateStream(Stream<T> stream) { | ||
48 | return aggregator.aggregateStream(stream); | ||
49 | } | ||
50 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/TermEvaluator.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/TermEvaluator.java new file mode 100644 index 00000000..ab123c50 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/TermEvaluator.java | |||
@@ -0,0 +1,32 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.pquery; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator; | ||
4 | import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider; | ||
5 | import tools.refinery.store.query.term.Term; | ||
6 | import tools.refinery.store.query.term.Variable; | ||
7 | |||
8 | import java.util.stream.Collectors; | ||
9 | |||
10 | class TermEvaluator<T> implements IExpressionEvaluator { | ||
11 | private final Term<T> term; | ||
12 | |||
13 | public TermEvaluator(Term<T> term) { | ||
14 | this.term = term; | ||
15 | } | ||
16 | |||
17 | @Override | ||
18 | public String getShortDescription() { | ||
19 | return term.toString(); | ||
20 | } | ||
21 | |||
22 | @Override | ||
23 | public Iterable<String> getInputParameterNames() { | ||
24 | return term.getInputVariables().stream().map(Variable::getUniqueName).collect(Collectors.toUnmodifiableSet()); | ||
25 | } | ||
26 | |||
27 | @Override | ||
28 | public Object evaluateExpression(IValueProvider provider) { | ||
29 | var valuation = new ValueProviderBasedValuation(provider); | ||
30 | return term.evaluate(valuation); | ||
31 | } | ||
32 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/ValueProviderBasedValuation.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/ValueProviderBasedValuation.java new file mode 100644 index 00000000..30c2fce7 --- /dev/null +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/pquery/ValueProviderBasedValuation.java | |||
@@ -0,0 +1,14 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.pquery; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider; | ||
4 | import tools.refinery.store.query.term.DataVariable; | ||
5 | import tools.refinery.store.query.valuation.Valuation; | ||
6 | |||
7 | public record ValueProviderBasedValuation(IValueProvider valueProvider) implements Valuation { | ||
8 | @Override | ||
9 | public <T> T getValue(DataVariable<T> variable) { | ||
10 | @SuppressWarnings("unchecked") | ||
11 | var value = (T) valueProvider.getValue(variable.getUniqueName()); | ||
12 | return value; | ||
13 | } | ||
14 | } | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/ModelUpdateListener.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/ModelUpdateListener.java index 8a467066..fc935aa6 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/ModelUpdateListener.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/ModelUpdateListener.java | |||
@@ -22,10 +22,9 @@ public class ModelUpdateListener { | |||
22 | } | 22 | } |
23 | 23 | ||
24 | private <T> void registerView(ViatraModelQueryAdapterImpl adapter, RelationView<T> relationView) { | 24 | private <T> void registerView(ViatraModelQueryAdapterImpl adapter, RelationView<T> relationView) { |
25 | var listener = RelationViewUpdateListener.of(adapter, relationView); | ||
26 | var model = adapter.getModel(); | 25 | var model = adapter.getModel(); |
27 | var interpretation = model.getInterpretation(relationView.getSymbol()); | 26 | var interpretation = model.getInterpretation(relationView.getSymbol()); |
28 | interpretation.addListener(listener, true); | 27 | var listener = RelationViewUpdateListener.of(adapter, relationView, interpretation); |
29 | relationViewUpdateListeners.put(relationView, listener); | 28 | relationViewUpdateListeners.put(relationView, listener); |
30 | } | 29 | } |
31 | 30 | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/RelationViewUpdateListener.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/RelationViewUpdateListener.java index bf6b4197..5e5f60e3 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/RelationViewUpdateListener.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/RelationViewUpdateListener.java | |||
@@ -4,6 +4,7 @@ import org.eclipse.viatra.query.runtime.matchers.context.IInputKey; | |||
4 | import org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContextListener; | 4 | import org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContextListener; |
5 | import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple; | 5 | import org.eclipse.viatra.query.runtime.matchers.tuple.ITuple; |
6 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; | 6 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; |
7 | import tools.refinery.store.model.Interpretation; | ||
7 | import tools.refinery.store.model.InterpretationListener; | 8 | import tools.refinery.store.model.InterpretationListener; |
8 | import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl; | 9 | import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl; |
9 | import tools.refinery.store.query.view.RelationView; | 10 | import tools.refinery.store.query.view.RelationView; |
@@ -14,18 +15,27 @@ import java.util.List; | |||
14 | 15 | ||
15 | public abstract class RelationViewUpdateListener<T> implements InterpretationListener<T> { | 16 | public abstract class RelationViewUpdateListener<T> implements InterpretationListener<T> { |
16 | private final ViatraModelQueryAdapterImpl adapter; | 17 | private final ViatraModelQueryAdapterImpl adapter; |
18 | private final Interpretation<T> interpretation; | ||
17 | private final List<RelationViewFilter> filters = new ArrayList<>(); | 19 | private final List<RelationViewFilter> filters = new ArrayList<>(); |
18 | 20 | ||
19 | protected RelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter) { | 21 | protected RelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter, Interpretation<T> interpretation) { |
20 | this.adapter = adapter; | 22 | this.adapter = adapter; |
23 | this.interpretation = interpretation; | ||
21 | } | 24 | } |
22 | 25 | ||
23 | public void addFilter(IInputKey inputKey, ITuple seed, IQueryRuntimeContextListener listener) { | 26 | public void addFilter(IInputKey inputKey, ITuple seed, IQueryRuntimeContextListener listener) { |
27 | if (filters.isEmpty()) { | ||
28 | // First filter to be added, from now on we have to subscribe to model updates. | ||
29 | interpretation.addListener(this, true); | ||
30 | } | ||
24 | filters.add(new RelationViewFilter(inputKey, seed, listener)); | 31 | filters.add(new RelationViewFilter(inputKey, seed, listener)); |
25 | } | 32 | } |
26 | 33 | ||
27 | public void removeFilter(IInputKey inputKey, ITuple seed, IQueryRuntimeContextListener listener) { | 34 | public void removeFilter(IInputKey inputKey, ITuple seed, IQueryRuntimeContextListener listener) { |
28 | filters.remove(new RelationViewFilter(inputKey, seed, listener)); | 35 | if (filters.remove(new RelationViewFilter(inputKey, seed, listener)) && filters.isEmpty()) { |
36 | // Last listener to be added, we don't have be subscribed to model updates anymore. | ||
37 | interpretation.removeListener(this); | ||
38 | } | ||
29 | } | 39 | } |
30 | 40 | ||
31 | protected void processUpdate(Tuple tuple, boolean isInsertion) { | 41 | protected void processUpdate(Tuple tuple, boolean isInsertion) { |
@@ -39,10 +49,12 @@ public abstract class RelationViewUpdateListener<T> implements InterpretationLis | |||
39 | } | 49 | } |
40 | 50 | ||
41 | public static <T> RelationViewUpdateListener<T> of(ViatraModelQueryAdapterImpl adapter, | 51 | public static <T> RelationViewUpdateListener<T> of(ViatraModelQueryAdapterImpl adapter, |
42 | RelationView<T> relationView) { | 52 | RelationView<T> relationView, |
53 | Interpretation<T> interpretation) { | ||
43 | if (relationView instanceof TuplePreservingRelationView<T> tuplePreservingRelationView) { | 54 | if (relationView instanceof TuplePreservingRelationView<T> tuplePreservingRelationView) { |
44 | return new TuplePreservingRelationViewUpdateListener<>(adapter, tuplePreservingRelationView); | 55 | return new TuplePreservingRelationViewUpdateListener<>(adapter, tuplePreservingRelationView, |
56 | interpretation); | ||
45 | } | 57 | } |
46 | return new TupleChangingRelationViewUpdateListener<>(adapter, relationView); | 58 | return new TupleChangingRelationViewUpdateListener<>(adapter, relationView, interpretation); |
47 | } | 59 | } |
48 | } | 60 | } |
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TupleChangingRelationViewUpdateListener.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TupleChangingRelationViewUpdateListener.java index 14142884..0f6ed3b3 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TupleChangingRelationViewUpdateListener.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TupleChangingRelationViewUpdateListener.java | |||
@@ -1,6 +1,7 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.update; | 1 | package tools.refinery.store.query.viatra.internal.update; |
2 | 2 | ||
3 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | 3 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; |
4 | import tools.refinery.store.model.Interpretation; | ||
4 | import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl; | 5 | import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl; |
5 | import tools.refinery.store.query.view.RelationView; | 6 | import tools.refinery.store.query.view.RelationView; |
6 | import tools.refinery.store.tuple.Tuple; | 7 | import tools.refinery.store.tuple.Tuple; |
@@ -10,8 +11,9 @@ import java.util.Arrays; | |||
10 | public class TupleChangingRelationViewUpdateListener<T> extends RelationViewUpdateListener<T> { | 11 | public class TupleChangingRelationViewUpdateListener<T> extends RelationViewUpdateListener<T> { |
11 | private final RelationView<T> relationView; | 12 | private final RelationView<T> relationView; |
12 | 13 | ||
13 | TupleChangingRelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter, RelationView<T> relationView) { | 14 | TupleChangingRelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter, RelationView<T> relationView, |
14 | super(adapter); | 15 | Interpretation<T> interpretation) { |
16 | super(adapter, interpretation); | ||
15 | this.relationView = relationView; | 17 | this.relationView = relationView; |
16 | } | 18 | } |
17 | 19 | ||
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TuplePreservingRelationViewUpdateListener.java b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TuplePreservingRelationViewUpdateListener.java index 288e018a..91e9371b 100644 --- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TuplePreservingRelationViewUpdateListener.java +++ b/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/viatra/internal/update/TuplePreservingRelationViewUpdateListener.java | |||
@@ -1,6 +1,7 @@ | |||
1 | package tools.refinery.store.query.viatra.internal.update; | 1 | package tools.refinery.store.query.viatra.internal.update; |
2 | 2 | ||
3 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; | 3 | import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; |
4 | import tools.refinery.store.model.Interpretation; | ||
4 | import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl; | 5 | import tools.refinery.store.query.viatra.internal.ViatraModelQueryAdapterImpl; |
5 | import tools.refinery.store.query.view.TuplePreservingRelationView; | 6 | import tools.refinery.store.query.view.TuplePreservingRelationView; |
6 | import tools.refinery.store.tuple.Tuple; | 7 | import tools.refinery.store.tuple.Tuple; |
@@ -9,8 +10,8 @@ public class TuplePreservingRelationViewUpdateListener<T> extends RelationViewUp | |||
9 | private final TuplePreservingRelationView<T> view; | 10 | private final TuplePreservingRelationView<T> view; |
10 | 11 | ||
11 | TuplePreservingRelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter, | 12 | TuplePreservingRelationViewUpdateListener(ViatraModelQueryAdapterImpl adapter, |
12 | TuplePreservingRelationView<T> view) { | 13 | TuplePreservingRelationView<T> view, Interpretation<T> interpretation) { |
13 | super(adapter); | 14 | super(adapter, interpretation); |
14 | this.view = view; | 15 | this.view = view; |
15 | } | 16 | } |
16 | 17 | ||
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java new file mode 100644 index 00000000..90229b73 --- /dev/null +++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/DiagonalQueryTest.java | |||
@@ -0,0 +1,471 @@ | |||
1 | package tools.refinery.store.query.viatra; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
4 | import tools.refinery.store.model.ModelStore; | ||
5 | import tools.refinery.store.query.ModelQuery; | ||
6 | import tools.refinery.store.query.dnf.Dnf; | ||
7 | import tools.refinery.store.query.dnf.Query; | ||
8 | import tools.refinery.store.query.term.Variable; | ||
9 | import tools.refinery.store.query.viatra.tests.QueryEngineTest; | ||
10 | import tools.refinery.store.query.view.FunctionalRelationView; | ||
11 | import tools.refinery.store.query.view.KeyOnlyRelationView; | ||
12 | import tools.refinery.store.representation.Symbol; | ||
13 | import tools.refinery.store.tuple.Tuple; | ||
14 | |||
15 | import java.util.Map; | ||
16 | import java.util.Optional; | ||
17 | |||
18 | import static tools.refinery.store.query.literal.Literals.not; | ||
19 | import static tools.refinery.store.query.term.int_.IntTerms.INT_SUM; | ||
20 | import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertNullableResults; | ||
21 | import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertResults; | ||
22 | |||
23 | class DiagonalQueryTest { | ||
24 | @QueryEngineTest | ||
25 | void inputKeyNegationTest(QueryEvaluationHint hint) { | ||
26 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
27 | var symbol = new Symbol<>("symbol", 4, Boolean.class, false); | ||
28 | var personView = new KeyOnlyRelationView<>(person); | ||
29 | var symbolView = new KeyOnlyRelationView<>(symbol); | ||
30 | |||
31 | var p1 = Variable.of("p1"); | ||
32 | var p2 = Variable.of("p2"); | ||
33 | var query = Query.builder("Diagonal") | ||
34 | .parameter(p1) | ||
35 | .clause( | ||
36 | personView.call(p1), | ||
37 | not(symbolView.call(p1, p1, p2, p2)) | ||
38 | ) | ||
39 | .build(); | ||
40 | |||
41 | var store = ModelStore.builder() | ||
42 | .symbols(person, symbol) | ||
43 | .with(ViatraModelQuery.ADAPTER) | ||
44 | .defaultHint(hint) | ||
45 | .queries(query) | ||
46 | .build(); | ||
47 | |||
48 | var model = store.createEmptyModel(); | ||
49 | var personInterpretation = model.getInterpretation(person); | ||
50 | var symbolInterpretation = model.getInterpretation(symbol); | ||
51 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
52 | var queryResultSet = queryEngine.getResultSet(query); | ||
53 | |||
54 | personInterpretation.put(Tuple.of(0), true); | ||
55 | personInterpretation.put(Tuple.of(1), true); | ||
56 | personInterpretation.put(Tuple.of(2), true); | ||
57 | |||
58 | symbolInterpretation.put(Tuple.of(0, 0, 1, 1), true); | ||
59 | symbolInterpretation.put(Tuple.of(0, 0, 1, 2), true); | ||
60 | symbolInterpretation.put(Tuple.of(1, 1, 0, 1), true); | ||
61 | symbolInterpretation.put(Tuple.of(1, 2, 1, 1), true); | ||
62 | |||
63 | queryEngine.flushChanges(); | ||
64 | assertResults(Map.of( | ||
65 | Tuple.of(0), false, | ||
66 | Tuple.of(1), true, | ||
67 | Tuple.of(2), true, | ||
68 | Tuple.of(3), false | ||
69 | ), queryResultSet); | ||
70 | } | ||
71 | |||
72 | @QueryEngineTest | ||
73 | void subQueryNegationTest(QueryEvaluationHint hint) { | ||
74 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
75 | var symbol = new Symbol<>("symbol", 4, Boolean.class, false); | ||
76 | var personView = new KeyOnlyRelationView<>(person); | ||
77 | var symbolView = new KeyOnlyRelationView<>(symbol); | ||
78 | |||
79 | var p1 = Variable.of("p1"); | ||
80 | var p2 = Variable.of("p2"); | ||
81 | var p3 = Variable.of("p3"); | ||
82 | var p4 = Variable.of("p4"); | ||
83 | var subQuery = Dnf.builder("SubQuery") | ||
84 | .parameters(p1, p2, p3, p4) | ||
85 | .clause( | ||
86 | personView.call(p1), | ||
87 | symbolView.call(p1, p2, p3, p4) | ||
88 | ) | ||
89 | .clause( | ||
90 | personView.call(p2), | ||
91 | symbolView.call(p1, p2, p3, p4) | ||
92 | ) | ||
93 | .build(); | ||
94 | var query = Query.builder("Diagonal") | ||
95 | .parameter(p1) | ||
96 | .clause( | ||
97 | personView.call(p1), | ||
98 | not(subQuery.call(p1, p1, p2, p2)) | ||
99 | ) | ||
100 | .build(); | ||
101 | |||
102 | var store = ModelStore.builder() | ||
103 | .symbols(person, symbol) | ||
104 | .with(ViatraModelQuery.ADAPTER) | ||
105 | .defaultHint(hint) | ||
106 | .queries(query) | ||
107 | .build(); | ||
108 | |||
109 | var model = store.createEmptyModel(); | ||
110 | var personInterpretation = model.getInterpretation(person); | ||
111 | var symbolInterpretation = model.getInterpretation(symbol); | ||
112 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
113 | var queryResultSet = queryEngine.getResultSet(query); | ||
114 | |||
115 | personInterpretation.put(Tuple.of(0), true); | ||
116 | personInterpretation.put(Tuple.of(1), true); | ||
117 | personInterpretation.put(Tuple.of(2), true); | ||
118 | |||
119 | symbolInterpretation.put(Tuple.of(0, 0, 1, 1), true); | ||
120 | symbolInterpretation.put(Tuple.of(0, 0, 1, 2), true); | ||
121 | symbolInterpretation.put(Tuple.of(1, 1, 0, 1), true); | ||
122 | symbolInterpretation.put(Tuple.of(1, 2, 1, 1), true); | ||
123 | |||
124 | queryEngine.flushChanges(); | ||
125 | assertResults(Map.of( | ||
126 | Tuple.of(0), false, | ||
127 | Tuple.of(1), true, | ||
128 | Tuple.of(2), true, | ||
129 | Tuple.of(3), false | ||
130 | ), queryResultSet); | ||
131 | } | ||
132 | |||
133 | @QueryEngineTest | ||
134 | void inputKeyCountTest(QueryEvaluationHint hint) { | ||
135 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
136 | var symbol = new Symbol<>("symbol", 4, Boolean.class, false); | ||
137 | var personView = new KeyOnlyRelationView<>(person); | ||
138 | var symbolView = new KeyOnlyRelationView<>(symbol); | ||
139 | |||
140 | var p1 = Variable.of("p1"); | ||
141 | var p2 = Variable.of("p2"); | ||
142 | var x = Variable.of("x", Integer.class); | ||
143 | var query = Query.builder("Diagonal") | ||
144 | .parameter(p1) | ||
145 | .output(x) | ||
146 | .clause( | ||
147 | personView.call(p1), | ||
148 | x.assign(symbolView.count(p1, p1, p2, p2)) | ||
149 | ) | ||
150 | .build(); | ||
151 | |||
152 | var store = ModelStore.builder() | ||
153 | .symbols(person, symbol) | ||
154 | .with(ViatraModelQuery.ADAPTER) | ||
155 | .defaultHint(hint) | ||
156 | .queries(query) | ||
157 | .build(); | ||
158 | |||
159 | var model = store.createEmptyModel(); | ||
160 | var personInterpretation = model.getInterpretation(person); | ||
161 | var symbolInterpretation = model.getInterpretation(symbol); | ||
162 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
163 | var queryResultSet = queryEngine.getResultSet(query); | ||
164 | |||
165 | personInterpretation.put(Tuple.of(0), true); | ||
166 | personInterpretation.put(Tuple.of(1), true); | ||
167 | personInterpretation.put(Tuple.of(2), true); | ||
168 | |||
169 | symbolInterpretation.put(Tuple.of(0, 0, 1, 1), true); | ||
170 | symbolInterpretation.put(Tuple.of(0, 0, 2, 2), true); | ||
171 | symbolInterpretation.put(Tuple.of(0, 0, 1, 2), true); | ||
172 | symbolInterpretation.put(Tuple.of(1, 1, 0, 1), true); | ||
173 | symbolInterpretation.put(Tuple.of(1, 2, 1, 1), true); | ||
174 | |||
175 | queryEngine.flushChanges(); | ||
176 | assertNullableResults(Map.of( | ||
177 | Tuple.of(0), Optional.of(2), | ||
178 | Tuple.of(1), Optional.of(0), | ||
179 | Tuple.of(2), Optional.of(0), | ||
180 | Tuple.of(3), Optional.empty() | ||
181 | ), queryResultSet); | ||
182 | } | ||
183 | |||
184 | @QueryEngineTest | ||
185 | void subQueryCountTest(QueryEvaluationHint hint) { | ||
186 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
187 | var symbol = new Symbol<>("symbol", 4, Boolean.class, false); | ||
188 | var personView = new KeyOnlyRelationView<>(person); | ||
189 | var symbolView = new KeyOnlyRelationView<>(symbol); | ||
190 | |||
191 | var p1 = Variable.of("p1"); | ||
192 | var p2 = Variable.of("p2"); | ||
193 | var p3 = Variable.of("p3"); | ||
194 | var p4 = Variable.of("p4"); | ||
195 | var x = Variable.of("x", Integer.class); | ||
196 | var subQuery = Dnf.builder("SubQuery") | ||
197 | .parameters(p1, p2, p3, p4) | ||
198 | .clause( | ||
199 | personView.call(p1), | ||
200 | symbolView.call(p1, p2, p3, p4) | ||
201 | ) | ||
202 | .clause( | ||
203 | personView.call(p2), | ||
204 | symbolView.call(p1, p2, p3, p4) | ||
205 | ) | ||
206 | .build(); | ||
207 | var query = Query.builder("Diagonal") | ||
208 | .parameter(p1) | ||
209 | .output(x) | ||
210 | .clause( | ||
211 | personView.call(p1), | ||
212 | x.assign(subQuery.count(p1, p1, p2, p2)) | ||
213 | ) | ||
214 | .build(); | ||
215 | |||
216 | var store = ModelStore.builder() | ||
217 | .symbols(person, symbol) | ||
218 | .with(ViatraModelQuery.ADAPTER) | ||
219 | .defaultHint(hint) | ||
220 | .queries(query) | ||
221 | .build(); | ||
222 | |||
223 | var model = store.createEmptyModel(); | ||
224 | var personInterpretation = model.getInterpretation(person); | ||
225 | var symbolInterpretation = model.getInterpretation(symbol); | ||
226 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
227 | var queryResultSet = queryEngine.getResultSet(query); | ||
228 | |||
229 | personInterpretation.put(Tuple.of(0), true); | ||
230 | personInterpretation.put(Tuple.of(1), true); | ||
231 | personInterpretation.put(Tuple.of(2), true); | ||
232 | |||
233 | symbolInterpretation.put(Tuple.of(0, 0, 1, 1), true); | ||
234 | symbolInterpretation.put(Tuple.of(0, 0, 2, 2), true); | ||
235 | symbolInterpretation.put(Tuple.of(0, 0, 1, 2), true); | ||
236 | symbolInterpretation.put(Tuple.of(1, 1, 0, 1), true); | ||
237 | symbolInterpretation.put(Tuple.of(1, 2, 1, 1), true); | ||
238 | |||
239 | queryEngine.flushChanges(); | ||
240 | assertNullableResults(Map.of( | ||
241 | Tuple.of(0), Optional.of(2), | ||
242 | Tuple.of(1), Optional.of(0), | ||
243 | Tuple.of(2), Optional.of(0), | ||
244 | Tuple.of(3), Optional.empty() | ||
245 | ), queryResultSet); | ||
246 | } | ||
247 | |||
248 | @QueryEngineTest | ||
249 | void inputKeyAggregationTest(QueryEvaluationHint hint) { | ||
250 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
251 | var symbol = new Symbol<>("symbol", 4, Integer.class, null); | ||
252 | var personView = new KeyOnlyRelationView<>(person); | ||
253 | var symbolView = new FunctionalRelationView<>(symbol); | ||
254 | |||
255 | var p1 = Variable.of("p1"); | ||
256 | var p2 = Variable.of("p2"); | ||
257 | var x = Variable.of("x", Integer.class); | ||
258 | var y = Variable.of("y", Integer.class); | ||
259 | var query = Query.builder("Diagonal") | ||
260 | .parameter(p1) | ||
261 | .output(x) | ||
262 | .clause( | ||
263 | personView.call(p1), | ||
264 | x.assign(symbolView.aggregate(y, INT_SUM, p1, p1, p2, p2, y)) | ||
265 | ) | ||
266 | .build(); | ||
267 | |||
268 | var store = ModelStore.builder() | ||
269 | .symbols(person, symbol) | ||
270 | .with(ViatraModelQuery.ADAPTER) | ||
271 | .defaultHint(hint) | ||
272 | .queries(query) | ||
273 | .build(); | ||
274 | |||
275 | var model = store.createEmptyModel(); | ||
276 | var personInterpretation = model.getInterpretation(person); | ||
277 | var symbolInterpretation = model.getInterpretation(symbol); | ||
278 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
279 | var queryResultSet = queryEngine.getResultSet(query); | ||
280 | |||
281 | personInterpretation.put(Tuple.of(0), true); | ||
282 | personInterpretation.put(Tuple.of(1), true); | ||
283 | personInterpretation.put(Tuple.of(2), true); | ||
284 | |||
285 | symbolInterpretation.put(Tuple.of(0, 0, 1, 1), 1); | ||
286 | symbolInterpretation.put(Tuple.of(0, 0, 2, 2), 2); | ||
287 | symbolInterpretation.put(Tuple.of(0, 0, 1, 2), 10); | ||
288 | symbolInterpretation.put(Tuple.of(1, 1, 0, 1), 11); | ||
289 | symbolInterpretation.put(Tuple.of(1, 2, 1, 1), 12); | ||
290 | |||
291 | queryEngine.flushChanges(); | ||
292 | assertNullableResults(Map.of( | ||
293 | Tuple.of(0), Optional.of(3), | ||
294 | Tuple.of(1), Optional.of(0), | ||
295 | Tuple.of(2), Optional.of(0), | ||
296 | Tuple.of(3), Optional.empty() | ||
297 | ), queryResultSet); | ||
298 | } | ||
299 | |||
300 | @QueryEngineTest | ||
301 | void subQueryAggregationTest(QueryEvaluationHint hint) { | ||
302 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
303 | var symbol = new Symbol<>("symbol", 4, Integer.class, null); | ||
304 | var personView = new KeyOnlyRelationView<>(person); | ||
305 | var symbolView = new FunctionalRelationView<>(symbol); | ||
306 | |||
307 | var p1 = Variable.of("p1"); | ||
308 | var p2 = Variable.of("p2"); | ||
309 | var p3 = Variable.of("p3"); | ||
310 | var p4 = Variable.of("p4"); | ||
311 | var x = Variable.of("x", Integer.class); | ||
312 | var y = Variable.of("y", Integer.class); | ||
313 | var z = Variable.of("z", Integer.class); | ||
314 | var subQuery = Dnf.builder("SubQuery") | ||
315 | .parameters(p1, p2, p3, p4, x, y) | ||
316 | .clause( | ||
317 | personView.call(p1), | ||
318 | symbolView.call(p1, p2, p3, p4, x), | ||
319 | y.assign(x) | ||
320 | ) | ||
321 | .clause( | ||
322 | personView.call(p2), | ||
323 | symbolView.call(p1, p2, p3, p4, x), | ||
324 | y.assign(x) | ||
325 | ) | ||
326 | .build(); | ||
327 | var query = Query.builder("Diagonal") | ||
328 | .parameter(p1) | ||
329 | .output(x) | ||
330 | .clause( | ||
331 | personView.call(p1), | ||
332 | x.assign(subQuery.aggregate(z, INT_SUM, p1, p1, p2, p2, z, z)) | ||
333 | ) | ||
334 | .build(); | ||
335 | |||
336 | var store = ModelStore.builder() | ||
337 | .symbols(person, symbol) | ||
338 | .with(ViatraModelQuery.ADAPTER) | ||
339 | .defaultHint(hint) | ||
340 | .queries(query) | ||
341 | .build(); | ||
342 | |||
343 | var model = store.createEmptyModel(); | ||
344 | var personInterpretation = model.getInterpretation(person); | ||
345 | var symbolInterpretation = model.getInterpretation(symbol); | ||
346 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
347 | var queryResultSet = queryEngine.getResultSet(query); | ||
348 | |||
349 | personInterpretation.put(Tuple.of(0), true); | ||
350 | personInterpretation.put(Tuple.of(1), true); | ||
351 | personInterpretation.put(Tuple.of(2), true); | ||
352 | |||
353 | symbolInterpretation.put(Tuple.of(0, 0, 1, 1), 1); | ||
354 | symbolInterpretation.put(Tuple.of(0, 0, 2, 2), 2); | ||
355 | symbolInterpretation.put(Tuple.of(0, 0, 1, 2), 10); | ||
356 | symbolInterpretation.put(Tuple.of(1, 1, 0, 1), 11); | ||
357 | symbolInterpretation.put(Tuple.of(1, 2, 1, 1), 12); | ||
358 | |||
359 | queryEngine.flushChanges(); | ||
360 | assertNullableResults(Map.of( | ||
361 | Tuple.of(0), Optional.of(3), | ||
362 | Tuple.of(1), Optional.of(0), | ||
363 | Tuple.of(2), Optional.of(0), | ||
364 | Tuple.of(3), Optional.empty() | ||
365 | ), queryResultSet); | ||
366 | } | ||
367 | |||
368 | @QueryEngineTest | ||
369 | void inputKeyTransitiveTest(QueryEvaluationHint hint) { | ||
370 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
371 | var symbol = new Symbol<>("symbol", 2, Boolean.class, false); | ||
372 | var personView = new KeyOnlyRelationView<>(person); | ||
373 | var symbolView = new KeyOnlyRelationView<>(symbol); | ||
374 | |||
375 | var p1 = Variable.of("p1"); | ||
376 | var query = Query.builder("Diagonal") | ||
377 | .parameter(p1) | ||
378 | .clause( | ||
379 | personView.call(p1), | ||
380 | symbolView.callTransitive(p1, p1) | ||
381 | ) | ||
382 | .build(); | ||
383 | |||
384 | var store = ModelStore.builder() | ||
385 | .symbols(person, symbol) | ||
386 | .with(ViatraModelQuery.ADAPTER) | ||
387 | .defaultHint(hint) | ||
388 | .queries(query) | ||
389 | .build(); | ||
390 | |||
391 | var model = store.createEmptyModel(); | ||
392 | var personInterpretation = model.getInterpretation(person); | ||
393 | var symbolInterpretation = model.getInterpretation(symbol); | ||
394 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
395 | var queryResultSet = queryEngine.getResultSet(query); | ||
396 | |||
397 | personInterpretation.put(Tuple.of(0), true); | ||
398 | personInterpretation.put(Tuple.of(1), true); | ||
399 | personInterpretation.put(Tuple.of(2), true); | ||
400 | |||
401 | symbolInterpretation.put(Tuple.of(0, 0), true); | ||
402 | symbolInterpretation.put(Tuple.of(0, 1), true); | ||
403 | symbolInterpretation.put(Tuple.of(1, 2), true); | ||
404 | |||
405 | queryEngine.flushChanges(); | ||
406 | assertResults(Map.of( | ||
407 | Tuple.of(0), true, | ||
408 | Tuple.of(1), false, | ||
409 | Tuple.of(2), false, | ||
410 | Tuple.of(3), false | ||
411 | ), queryResultSet); | ||
412 | } | ||
413 | |||
414 | @QueryEngineTest | ||
415 | void subQueryTransitiveTest(QueryEvaluationHint hint) { | ||
416 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
417 | var symbol = new Symbol<>("symbol", 2, Boolean.class, false); | ||
418 | var personView = new KeyOnlyRelationView<>(person); | ||
419 | var symbolView = new KeyOnlyRelationView<>(symbol); | ||
420 | |||
421 | var p1 = Variable.of("p1"); | ||
422 | var p2 = Variable.of("p2"); | ||
423 | var subQuery = Dnf.builder("SubQuery") | ||
424 | .parameters(p1, p2) | ||
425 | .clause( | ||
426 | personView.call(p1), | ||
427 | symbolView.call(p1, p2) | ||
428 | ) | ||
429 | .clause( | ||
430 | personView.call(p2), | ||
431 | symbolView.call(p1, p2) | ||
432 | ) | ||
433 | .build(); | ||
434 | var query = Query.builder("Diagonal") | ||
435 | .parameter(p1) | ||
436 | .clause( | ||
437 | personView.call(p1), | ||
438 | subQuery.callTransitive(p1, p1) | ||
439 | ) | ||
440 | .build(); | ||
441 | |||
442 | var store = ModelStore.builder() | ||
443 | .symbols(person, symbol) | ||
444 | .with(ViatraModelQuery.ADAPTER) | ||
445 | .defaultHint(hint) | ||
446 | .queries(query) | ||
447 | .build(); | ||
448 | |||
449 | var model = store.createEmptyModel(); | ||
450 | var personInterpretation = model.getInterpretation(person); | ||
451 | var symbolInterpretation = model.getInterpretation(symbol); | ||
452 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
453 | var queryResultSet = queryEngine.getResultSet(query); | ||
454 | |||
455 | personInterpretation.put(Tuple.of(0), true); | ||
456 | personInterpretation.put(Tuple.of(1), true); | ||
457 | personInterpretation.put(Tuple.of(2), true); | ||
458 | |||
459 | symbolInterpretation.put(Tuple.of(0, 0), true); | ||
460 | symbolInterpretation.put(Tuple.of(0, 1), true); | ||
461 | symbolInterpretation.put(Tuple.of(1, 2), true); | ||
462 | |||
463 | queryEngine.flushChanges(); | ||
464 | assertResults(Map.of( | ||
465 | Tuple.of(0), true, | ||
466 | Tuple.of(1), false, | ||
467 | Tuple.of(2), false, | ||
468 | Tuple.of(3), false | ||
469 | ), queryResultSet); | ||
470 | } | ||
471 | } | ||
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/FunctionalQueryTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/FunctionalQueryTest.java new file mode 100644 index 00000000..fa2a008f --- /dev/null +++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/FunctionalQueryTest.java | |||
@@ -0,0 +1,607 @@ | |||
1 | package tools.refinery.store.query.viatra; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
4 | import tools.refinery.store.map.Cursor; | ||
5 | import tools.refinery.store.model.ModelStore; | ||
6 | import tools.refinery.store.query.ModelQuery; | ||
7 | import tools.refinery.store.query.dnf.Dnf; | ||
8 | import tools.refinery.store.query.dnf.Query; | ||
9 | import tools.refinery.store.query.term.Variable; | ||
10 | import tools.refinery.store.query.viatra.tests.QueryEngineTest; | ||
11 | import tools.refinery.store.query.view.FilteredRelationView; | ||
12 | import tools.refinery.store.query.view.FunctionalRelationView; | ||
13 | import tools.refinery.store.query.view.KeyOnlyRelationView; | ||
14 | import tools.refinery.store.representation.Symbol; | ||
15 | import tools.refinery.store.representation.TruthValue; | ||
16 | import tools.refinery.store.tuple.Tuple; | ||
17 | |||
18 | import java.util.Map; | ||
19 | import java.util.Optional; | ||
20 | |||
21 | import static org.hamcrest.MatcherAssert.assertThat; | ||
22 | import static org.hamcrest.Matchers.is; | ||
23 | import static org.hamcrest.Matchers.nullValue; | ||
24 | import static org.junit.jupiter.api.Assertions.assertAll; | ||
25 | import static org.junit.jupiter.api.Assertions.assertThrows; | ||
26 | import static tools.refinery.store.query.literal.Literals.assume; | ||
27 | import static tools.refinery.store.query.term.int_.IntTerms.*; | ||
28 | import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertNullableResults; | ||
29 | import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertResults; | ||
30 | |||
31 | class FunctionalQueryTest { | ||
32 | @QueryEngineTest | ||
33 | void inputKeyTest(QueryEvaluationHint hint) { | ||
34 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
35 | var age = new Symbol<>("age", 1, Integer.class, null); | ||
36 | var personView = new KeyOnlyRelationView<>(person); | ||
37 | var ageView = new FunctionalRelationView<>(age); | ||
38 | |||
39 | var p1 = Variable.of("p1"); | ||
40 | var x = Variable.of("x", Integer.class); | ||
41 | var query = Query.builder("InputKey") | ||
42 | .parameter(p1) | ||
43 | .output(x) | ||
44 | .clause( | ||
45 | personView.call(p1), | ||
46 | ageView.call(p1, x) | ||
47 | ) | ||
48 | .build(); | ||
49 | |||
50 | var store = ModelStore.builder() | ||
51 | .symbols(person, age) | ||
52 | .with(ViatraModelQuery.ADAPTER) | ||
53 | .defaultHint(hint) | ||
54 | .queries(query) | ||
55 | .build(); | ||
56 | |||
57 | var model = store.createEmptyModel(); | ||
58 | var personInterpretation = model.getInterpretation(person); | ||
59 | var ageInterpretation = model.getInterpretation(age); | ||
60 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
61 | var queryResultSet = queryEngine.getResultSet(query); | ||
62 | |||
63 | personInterpretation.put(Tuple.of(0), true); | ||
64 | personInterpretation.put(Tuple.of(1), true); | ||
65 | |||
66 | ageInterpretation.put(Tuple.of(0), 12); | ||
67 | ageInterpretation.put(Tuple.of(1), 24); | ||
68 | ageInterpretation.put(Tuple.of(2), 36); | ||
69 | |||
70 | queryEngine.flushChanges(); | ||
71 | assertNullableResults(Map.of( | ||
72 | Tuple.of(0), Optional.of(12), | ||
73 | Tuple.of(1), Optional.of(24), | ||
74 | Tuple.of(2), Optional.empty() | ||
75 | ), queryResultSet); | ||
76 | } | ||
77 | |||
78 | @QueryEngineTest | ||
79 | void predicateTest(QueryEvaluationHint hint) { | ||
80 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
81 | var age = new Symbol<>("age", 1, Integer.class, null); | ||
82 | var personView = new KeyOnlyRelationView<>(person); | ||
83 | var ageView = new FunctionalRelationView<>(age); | ||
84 | |||
85 | var p1 = Variable.of("p1"); | ||
86 | var x = Variable.of("x", Integer.class); | ||
87 | var subQuery = Dnf.builder("SubQuery") | ||
88 | .parameters(p1, x) | ||
89 | .clause( | ||
90 | personView.call(p1), | ||
91 | ageView.call(p1, x) | ||
92 | ) | ||
93 | .build(); | ||
94 | var query = Query.builder("Predicate") | ||
95 | .parameter(p1) | ||
96 | .output(x) | ||
97 | .clause( | ||
98 | personView.call(p1), | ||
99 | subQuery.call(p1, x) | ||
100 | ) | ||
101 | .build(); | ||
102 | |||
103 | var store = ModelStore.builder() | ||
104 | .symbols(person, age) | ||
105 | .with(ViatraModelQuery.ADAPTER) | ||
106 | .defaultHint(hint) | ||
107 | .queries(query) | ||
108 | .build(); | ||
109 | |||
110 | var model = store.createEmptyModel(); | ||
111 | var personInterpretation = model.getInterpretation(person); | ||
112 | var ageInterpretation = model.getInterpretation(age); | ||
113 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
114 | var queryResultSet = queryEngine.getResultSet(query); | ||
115 | |||
116 | personInterpretation.put(Tuple.of(0), true); | ||
117 | personInterpretation.put(Tuple.of(1), true); | ||
118 | |||
119 | ageInterpretation.put(Tuple.of(0), 12); | ||
120 | ageInterpretation.put(Tuple.of(1), 24); | ||
121 | ageInterpretation.put(Tuple.of(2), 36); | ||
122 | |||
123 | queryEngine.flushChanges(); | ||
124 | assertNullableResults(Map.of( | ||
125 | Tuple.of(0), Optional.of(12), | ||
126 | Tuple.of(1), Optional.of(24), | ||
127 | Tuple.of(2), Optional.empty() | ||
128 | ), queryResultSet); | ||
129 | } | ||
130 | |||
131 | @QueryEngineTest | ||
132 | void computationTest(QueryEvaluationHint hint) { | ||
133 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
134 | var age = new Symbol<>("age", 1, Integer.class, null); | ||
135 | var personView = new KeyOnlyRelationView<>(person); | ||
136 | var ageView = new FunctionalRelationView<>(age); | ||
137 | |||
138 | var p1 = Variable.of("p1"); | ||
139 | var x = Variable.of("x", Integer.class); | ||
140 | var y = Variable.of("y", Integer.class); | ||
141 | var query = Query.builder("Computation") | ||
142 | .parameter(p1) | ||
143 | .output(y) | ||
144 | .clause( | ||
145 | personView.call(p1), | ||
146 | ageView.call(p1, x), | ||
147 | y.assign(mul(x, constant(7))) | ||
148 | ) | ||
149 | .build(); | ||
150 | |||
151 | var store = ModelStore.builder() | ||
152 | .symbols(person, age) | ||
153 | .with(ViatraModelQuery.ADAPTER) | ||
154 | .defaultHint(hint) | ||
155 | .queries(query) | ||
156 | .build(); | ||
157 | |||
158 | var model = store.createEmptyModel(); | ||
159 | var personInterpretation = model.getInterpretation(person); | ||
160 | var ageInterpretation = model.getInterpretation(age); | ||
161 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
162 | var queryResultSet = queryEngine.getResultSet(query); | ||
163 | |||
164 | personInterpretation.put(Tuple.of(0), true); | ||
165 | personInterpretation.put(Tuple.of(1), true); | ||
166 | |||
167 | ageInterpretation.put(Tuple.of(0), 12); | ||
168 | ageInterpretation.put(Tuple.of(1), 24); | ||
169 | |||
170 | queryEngine.flushChanges(); | ||
171 | assertNullableResults(Map.of( | ||
172 | Tuple.of(0), Optional.of(84), | ||
173 | Tuple.of(1), Optional.of(168), | ||
174 | Tuple.of(2), Optional.empty() | ||
175 | ), queryResultSet); | ||
176 | } | ||
177 | |||
178 | @QueryEngineTest | ||
179 | void inputKeyCountTest(QueryEvaluationHint hint) { | ||
180 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
181 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | ||
182 | var personView = new KeyOnlyRelationView<>(person); | ||
183 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | ||
184 | |||
185 | var p1 = Variable.of("p1"); | ||
186 | var p2 = Variable.of("p2"); | ||
187 | var x = Variable.of("x", Integer.class); | ||
188 | var query = Query.builder("Count") | ||
189 | .parameter(p1) | ||
190 | .output(x) | ||
191 | .clause( | ||
192 | personView.call(p1), | ||
193 | x.assign(friendMustView.count(p1, p2)) | ||
194 | ) | ||
195 | .build(); | ||
196 | |||
197 | var store = ModelStore.builder() | ||
198 | .symbols(person, friend) | ||
199 | .with(ViatraModelQuery.ADAPTER) | ||
200 | .defaultHint(hint) | ||
201 | .queries(query) | ||
202 | .build(); | ||
203 | |||
204 | var model = store.createEmptyModel(); | ||
205 | var personInterpretation = model.getInterpretation(person); | ||
206 | var friendInterpretation = model.getInterpretation(friend); | ||
207 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
208 | var queryResultSet = queryEngine.getResultSet(query); | ||
209 | |||
210 | personInterpretation.put(Tuple.of(0), true); | ||
211 | personInterpretation.put(Tuple.of(1), true); | ||
212 | personInterpretation.put(Tuple.of(2), true); | ||
213 | |||
214 | friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE); | ||
215 | friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE); | ||
216 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | ||
217 | |||
218 | queryEngine.flushChanges(); | ||
219 | assertNullableResults(Map.of( | ||
220 | Tuple.of(0), Optional.of(1), | ||
221 | Tuple.of(1), Optional.of(2), | ||
222 | Tuple.of(2), Optional.of(0), | ||
223 | Tuple.of(3), Optional.empty() | ||
224 | ), queryResultSet); | ||
225 | } | ||
226 | |||
227 | @QueryEngineTest | ||
228 | void predicateCountTest(QueryEvaluationHint hint) { | ||
229 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
230 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | ||
231 | var personView = new KeyOnlyRelationView<>(person); | ||
232 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | ||
233 | |||
234 | var p1 = Variable.of("p1"); | ||
235 | var p2 = Variable.of("p2"); | ||
236 | var x = Variable.of("x", Integer.class); | ||
237 | var subQuery = Dnf.builder("SubQuery") | ||
238 | .parameters(p1, p2) | ||
239 | .clause( | ||
240 | personView.call(p1), | ||
241 | personView.call(p2), | ||
242 | friendMustView.call(p1, p2) | ||
243 | ) | ||
244 | .build(); | ||
245 | var query = Query.builder("Count") | ||
246 | .parameter(p1) | ||
247 | .output(x) | ||
248 | .clause( | ||
249 | personView.call(p1), | ||
250 | x.assign(subQuery.count(p1, p2)) | ||
251 | ) | ||
252 | .build(); | ||
253 | |||
254 | var store = ModelStore.builder() | ||
255 | .symbols(person, friend) | ||
256 | .with(ViatraModelQuery.ADAPTER) | ||
257 | .defaultHint(hint) | ||
258 | .queries(query) | ||
259 | .build(); | ||
260 | |||
261 | var model = store.createEmptyModel(); | ||
262 | var personInterpretation = model.getInterpretation(person); | ||
263 | var friendInterpretation = model.getInterpretation(friend); | ||
264 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
265 | var queryResultSet = queryEngine.getResultSet(query); | ||
266 | |||
267 | personInterpretation.put(Tuple.of(0), true); | ||
268 | personInterpretation.put(Tuple.of(1), true); | ||
269 | personInterpretation.put(Tuple.of(2), true); | ||
270 | |||
271 | friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE); | ||
272 | friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE); | ||
273 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | ||
274 | |||
275 | queryEngine.flushChanges(); | ||
276 | assertNullableResults(Map.of( | ||
277 | Tuple.of(0), Optional.of(1), | ||
278 | Tuple.of(1), Optional.of(2), | ||
279 | Tuple.of(2), Optional.of(0), | ||
280 | Tuple.of(3), Optional.empty() | ||
281 | ), queryResultSet); | ||
282 | } | ||
283 | |||
284 | @QueryEngineTest | ||
285 | void inputKeyAggregationTest(QueryEvaluationHint hint) { | ||
286 | var age = new Symbol<>("age", 1, Integer.class, null); | ||
287 | var ageView = new FunctionalRelationView<>(age); | ||
288 | |||
289 | var p1 = Variable.of("p1"); | ||
290 | var x = Variable.of("x", Integer.class); | ||
291 | var y = Variable.of("y", Integer.class); | ||
292 | var query = Query.builder("Aggregate") | ||
293 | .output(x) | ||
294 | .clause( | ||
295 | x.assign(ageView.aggregate(y, INT_SUM, p1, y)) | ||
296 | ) | ||
297 | .build(); | ||
298 | |||
299 | var store = ModelStore.builder() | ||
300 | .symbols(age) | ||
301 | .with(ViatraModelQuery.ADAPTER) | ||
302 | .defaultHint(hint) | ||
303 | .queries(query) | ||
304 | .build(); | ||
305 | |||
306 | var model = store.createEmptyModel(); | ||
307 | var ageInterpretation = model.getInterpretation(age); | ||
308 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
309 | var queryResultSet = queryEngine.getResultSet(query); | ||
310 | |||
311 | ageInterpretation.put(Tuple.of(0), 12); | ||
312 | ageInterpretation.put(Tuple.of(1), 24); | ||
313 | |||
314 | queryEngine.flushChanges(); | ||
315 | assertResults(Map.of(Tuple.of(), 36), queryResultSet); | ||
316 | } | ||
317 | |||
318 | @QueryEngineTest | ||
319 | void predicateAggregationTest(QueryEvaluationHint hint) { | ||
320 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
321 | var age = new Symbol<>("age", 1, Integer.class, null); | ||
322 | var personView = new KeyOnlyRelationView<>(person); | ||
323 | var ageView = new FunctionalRelationView<>(age); | ||
324 | |||
325 | var p1 = Variable.of("p1"); | ||
326 | var x = Variable.of("x", Integer.class); | ||
327 | var y = Variable.of("y", Integer.class); | ||
328 | var subQuery = Dnf.builder("SubQuery") | ||
329 | .parameters(p1, x) | ||
330 | .clause( | ||
331 | personView.call(p1), | ||
332 | ageView.call(p1, x) | ||
333 | ) | ||
334 | .build(); | ||
335 | var query = Query.builder("Aggregate") | ||
336 | .output(x) | ||
337 | .clause( | ||
338 | x.assign(subQuery.aggregate(y, INT_SUM, p1, y)) | ||
339 | ) | ||
340 | .build(); | ||
341 | |||
342 | var store = ModelStore.builder() | ||
343 | .symbols(person, age) | ||
344 | .with(ViatraModelQuery.ADAPTER) | ||
345 | .defaultHint(hint) | ||
346 | .queries(query) | ||
347 | .build(); | ||
348 | |||
349 | var model = store.createEmptyModel(); | ||
350 | var personInterpretation = model.getInterpretation(person); | ||
351 | var ageInterpretation = model.getInterpretation(age); | ||
352 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
353 | var queryResultSet = queryEngine.getResultSet(query); | ||
354 | |||
355 | personInterpretation.put(Tuple.of(0), true); | ||
356 | personInterpretation.put(Tuple.of(1), true); | ||
357 | |||
358 | ageInterpretation.put(Tuple.of(0), 12); | ||
359 | ageInterpretation.put(Tuple.of(1), 24); | ||
360 | |||
361 | queryEngine.flushChanges(); | ||
362 | assertResults(Map.of(Tuple.of(), 36), queryResultSet); | ||
363 | } | ||
364 | |||
365 | @QueryEngineTest | ||
366 | void extremeValueTest(QueryEvaluationHint hint) { | ||
367 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
368 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | ||
369 | var personView = new KeyOnlyRelationView<>(person); | ||
370 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | ||
371 | |||
372 | var p1 = Variable.of("p1"); | ||
373 | var p2 = Variable.of("p2"); | ||
374 | var x = Variable.of("x", Integer.class); | ||
375 | var y = Variable.of("y", Integer.class); | ||
376 | var subQuery = Dnf.builder("SubQuery") | ||
377 | .parameters(p1, x) | ||
378 | .clause( | ||
379 | personView.call(p1), | ||
380 | x.assign(friendMustView.count(p1, p2)) | ||
381 | ) | ||
382 | .build(); | ||
383 | var minQuery = Query.builder("Min") | ||
384 | .output(x) | ||
385 | .clause( | ||
386 | x.assign(subQuery.aggregate(y, INT_MIN, p1, y)) | ||
387 | ) | ||
388 | .build(); | ||
389 | var maxQuery = Query.builder("Max") | ||
390 | .output(x) | ||
391 | .clause( | ||
392 | x.assign(subQuery.aggregate(y, INT_MAX, p1, y)) | ||
393 | ) | ||
394 | .build(); | ||
395 | |||
396 | var store = ModelStore.builder() | ||
397 | .symbols(person, friend) | ||
398 | .with(ViatraModelQuery.ADAPTER) | ||
399 | .defaultHint(hint) | ||
400 | .queries(minQuery, maxQuery) | ||
401 | .build(); | ||
402 | |||
403 | var model = store.createEmptyModel(); | ||
404 | var personInterpretation = model.getInterpretation(person); | ||
405 | var friendInterpretation = model.getInterpretation(friend); | ||
406 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
407 | var minResultSet = queryEngine.getResultSet(minQuery); | ||
408 | var maxResultSet = queryEngine.getResultSet(maxQuery); | ||
409 | |||
410 | assertResults(Map.of(Tuple.of(), Integer.MAX_VALUE), minResultSet); | ||
411 | assertResults(Map.of(Tuple.of(), Integer.MIN_VALUE), maxResultSet); | ||
412 | |||
413 | personInterpretation.put(Tuple.of(0), true); | ||
414 | personInterpretation.put(Tuple.of(1), true); | ||
415 | personInterpretation.put(Tuple.of(2), true); | ||
416 | |||
417 | friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE); | ||
418 | friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE); | ||
419 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | ||
420 | |||
421 | queryEngine.flushChanges(); | ||
422 | assertResults(Map.of(Tuple.of(), 0), minResultSet); | ||
423 | assertResults(Map.of(Tuple.of(), 2), maxResultSet); | ||
424 | |||
425 | friendInterpretation.put(Tuple.of(2, 0), TruthValue.TRUE); | ||
426 | friendInterpretation.put(Tuple.of(2, 1), TruthValue.TRUE); | ||
427 | |||
428 | queryEngine.flushChanges(); | ||
429 | assertResults(Map.of(Tuple.of(), 1), minResultSet); | ||
430 | assertResults(Map.of(Tuple.of(), 2), maxResultSet); | ||
431 | |||
432 | friendInterpretation.put(Tuple.of(0, 1), TruthValue.FALSE); | ||
433 | friendInterpretation.put(Tuple.of(1, 0), TruthValue.FALSE); | ||
434 | friendInterpretation.put(Tuple.of(2, 0), TruthValue.FALSE); | ||
435 | |||
436 | queryEngine.flushChanges(); | ||
437 | assertResults(Map.of(Tuple.of(), 0), minResultSet); | ||
438 | assertResults(Map.of(Tuple.of(), 1), maxResultSet); | ||
439 | } | ||
440 | |||
441 | @QueryEngineTest | ||
442 | void invalidComputationTest(QueryEvaluationHint hint) { | ||
443 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
444 | var age = new Symbol<>("age", 1, Integer.class, null); | ||
445 | var personView = new KeyOnlyRelationView<>(person); | ||
446 | var ageView = new FunctionalRelationView<>(age); | ||
447 | |||
448 | var p1 = Variable.of("p1"); | ||
449 | var x = Variable.of("x", Integer.class); | ||
450 | var y = Variable.of("y", Integer.class); | ||
451 | var query = Query.builder("InvalidComputation") | ||
452 | .parameter(p1) | ||
453 | .output(y) | ||
454 | .clause( | ||
455 | personView.call(p1), | ||
456 | ageView.call(p1, x), | ||
457 | y.assign(div(constant(120), x)) | ||
458 | ) | ||
459 | .build(); | ||
460 | |||
461 | var store = ModelStore.builder() | ||
462 | .symbols(person, age) | ||
463 | .with(ViatraModelQuery.ADAPTER) | ||
464 | .defaultHint(hint) | ||
465 | .queries(query) | ||
466 | .build(); | ||
467 | |||
468 | var model = store.createEmptyModel(); | ||
469 | var personInterpretation = model.getInterpretation(person); | ||
470 | var ageInterpretation = model.getInterpretation(age); | ||
471 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
472 | var queryResultSet = queryEngine.getResultSet(query); | ||
473 | |||
474 | personInterpretation.put(Tuple.of(0), true); | ||
475 | personInterpretation.put(Tuple.of(1), true); | ||
476 | |||
477 | ageInterpretation.put(Tuple.of(0), 0); | ||
478 | ageInterpretation.put(Tuple.of(1), 30); | ||
479 | |||
480 | queryEngine.flushChanges(); | ||
481 | assertNullableResults(Map.of( | ||
482 | Tuple.of(0), Optional.empty(), | ||
483 | Tuple.of(1), Optional.of(4), | ||
484 | Tuple.of(2), Optional.empty() | ||
485 | ), queryResultSet); | ||
486 | } | ||
487 | |||
488 | @QueryEngineTest | ||
489 | void invalidAssumeTest(QueryEvaluationHint hint) { | ||
490 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
491 | var age = new Symbol<>("age", 1, Integer.class, null); | ||
492 | var personView = new KeyOnlyRelationView<>(person); | ||
493 | var ageView = new FunctionalRelationView<>(age); | ||
494 | |||
495 | var p1 = Variable.of("p1"); | ||
496 | var x = Variable.of("x", Integer.class); | ||
497 | var query = Query.builder("InvalidComputation") | ||
498 | .parameter(p1) | ||
499 | .clause( | ||
500 | personView.call(p1), | ||
501 | ageView.call(p1, x), | ||
502 | assume(lessEq(div(constant(120), x), constant(5))) | ||
503 | ) | ||
504 | .build(); | ||
505 | |||
506 | var store = ModelStore.builder() | ||
507 | .symbols(person, age) | ||
508 | .with(ViatraModelQuery.ADAPTER) | ||
509 | .defaultHint(hint) | ||
510 | .queries(query) | ||
511 | .build(); | ||
512 | |||
513 | var model = store.createEmptyModel(); | ||
514 | var personInterpretation = model.getInterpretation(person); | ||
515 | var ageInterpretation = model.getInterpretation(age); | ||
516 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
517 | var queryResultSet = queryEngine.getResultSet(query); | ||
518 | |||
519 | personInterpretation.put(Tuple.of(0), true); | ||
520 | personInterpretation.put(Tuple.of(1), true); | ||
521 | personInterpretation.put(Tuple.of(2), true); | ||
522 | |||
523 | ageInterpretation.put(Tuple.of(0), 0); | ||
524 | ageInterpretation.put(Tuple.of(1), 30); | ||
525 | ageInterpretation.put(Tuple.of(2), 20); | ||
526 | |||
527 | queryEngine.flushChanges(); | ||
528 | assertResults(Map.of( | ||
529 | Tuple.of(0), false, | ||
530 | Tuple.of(1), true, | ||
531 | Tuple.of(2), false, | ||
532 | Tuple.of(3), false | ||
533 | ), queryResultSet); | ||
534 | } | ||
535 | |||
536 | @QueryEngineTest | ||
537 | void notFunctionalTest(QueryEvaluationHint hint) { | ||
538 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
539 | var age = new Symbol<>("age", 1, Integer.class, null); | ||
540 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | ||
541 | var personView = new KeyOnlyRelationView<>(person); | ||
542 | var ageView = new FunctionalRelationView<>(age); | ||
543 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | ||
544 | |||
545 | var p1 = Variable.of("p1"); | ||
546 | var p2 = Variable.of("p2"); | ||
547 | var x = Variable.of("x", Integer.class); | ||
548 | var query = Query.builder("NotFunctional") | ||
549 | .parameter(p1) | ||
550 | .output(x) | ||
551 | .clause( | ||
552 | personView.call(p1), | ||
553 | friendMustView.call(p1, p2), | ||
554 | ageView.call(p2, x) | ||
555 | ) | ||
556 | .build(); | ||
557 | |||
558 | var store = ModelStore.builder() | ||
559 | .symbols(person, age, friend) | ||
560 | .with(ViatraModelQuery.ADAPTER) | ||
561 | .defaultHint(hint) | ||
562 | .query(query) | ||
563 | .build(); | ||
564 | |||
565 | var model = store.createEmptyModel(); | ||
566 | var personInterpretation = model.getInterpretation(person); | ||
567 | var ageInterpretation = model.getInterpretation(age); | ||
568 | var friendInterpretation = model.getInterpretation(friend); | ||
569 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
570 | var queryResultSet = queryEngine.getResultSet(query); | ||
571 | |||
572 | personInterpretation.put(Tuple.of(0), true); | ||
573 | personInterpretation.put(Tuple.of(1), true); | ||
574 | personInterpretation.put(Tuple.of(2), true); | ||
575 | |||
576 | ageInterpretation.put(Tuple.of(0), 24); | ||
577 | ageInterpretation.put(Tuple.of(1), 30); | ||
578 | ageInterpretation.put(Tuple.of(2), 36); | ||
579 | |||
580 | friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE); | ||
581 | friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE); | ||
582 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | ||
583 | |||
584 | queryEngine.flushChanges(); | ||
585 | var invalidTuple = Tuple.of(1); | ||
586 | var cursor = queryResultSet.getAll(); | ||
587 | assertAll( | ||
588 | () -> assertThat("value for key 0", queryResultSet.get(Tuple.of(0)), is(30)), | ||
589 | () -> assertThrows(IllegalStateException.class, () -> queryResultSet.get(invalidTuple), | ||
590 | "multiple values for key 1"), | ||
591 | () -> assertThat("value for key 2", queryResultSet.get(Tuple.of(2)), is(nullValue())), | ||
592 | () -> assertThat("value for key 3", queryResultSet.get(Tuple.of(3)), is(nullValue())) | ||
593 | ); | ||
594 | if (hint.getQueryBackendRequirementType() != QueryEvaluationHint.BackendRequirement.DEFAULT_SEARCH) { | ||
595 | // Local search doesn't support throwing an error on multiple function return values. | ||
596 | assertThat("results size", queryResultSet.size(), is(2)); | ||
597 | assertThrows(IllegalStateException.class, () -> enumerateValues(cursor), "move cursor"); | ||
598 | } | ||
599 | } | ||
600 | |||
601 | private static void enumerateValues(Cursor<?, ?> cursor) { | ||
602 | //noinspection StatementWithEmptyBody | ||
603 | while (cursor.move()) { | ||
604 | // Nothing do, just let the cursor move through the result set. | ||
605 | } | ||
606 | } | ||
607 | } | ||
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTest.java index 6a37b54a..8a3f9d88 100644 --- a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTest.java +++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTest.java | |||
@@ -1,41 +1,47 @@ | |||
1 | package tools.refinery.store.query.viatra; | 1 | package tools.refinery.store.query.viatra; |
2 | 2 | ||
3 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
3 | import org.junit.jupiter.api.Test; | 4 | import org.junit.jupiter.api.Test; |
4 | import tools.refinery.store.model.ModelStore; | 5 | import tools.refinery.store.model.ModelStore; |
5 | import tools.refinery.store.query.DNF; | ||
6 | import tools.refinery.store.query.ModelQuery; | 6 | import tools.refinery.store.query.ModelQuery; |
7 | import tools.refinery.store.query.Variable; | 7 | import tools.refinery.store.query.dnf.Dnf; |
8 | import tools.refinery.store.query.atom.*; | 8 | import tools.refinery.store.query.dnf.Query; |
9 | import tools.refinery.store.query.term.Variable; | ||
10 | import tools.refinery.store.query.viatra.tests.QueryEngineTest; | ||
9 | import tools.refinery.store.query.view.FilteredRelationView; | 11 | import tools.refinery.store.query.view.FilteredRelationView; |
12 | import tools.refinery.store.query.view.FunctionalRelationView; | ||
10 | import tools.refinery.store.query.view.KeyOnlyRelationView; | 13 | import tools.refinery.store.query.view.KeyOnlyRelationView; |
11 | import tools.refinery.store.representation.Symbol; | 14 | import tools.refinery.store.representation.Symbol; |
12 | import tools.refinery.store.representation.TruthValue; | 15 | import tools.refinery.store.representation.TruthValue; |
13 | import tools.refinery.store.tuple.Tuple; | 16 | import tools.refinery.store.tuple.Tuple; |
14 | import tools.refinery.store.tuple.TupleLike; | ||
15 | 17 | ||
16 | import java.util.HashSet; | 18 | import java.util.Map; |
17 | import java.util.Set; | ||
18 | import java.util.stream.Stream; | ||
19 | 19 | ||
20 | import static org.junit.jupiter.api.Assertions.assertEquals; | 20 | import static org.junit.jupiter.api.Assertions.assertThrows; |
21 | import static tools.refinery.store.query.literal.Literals.assume; | ||
22 | import static tools.refinery.store.query.literal.Literals.not; | ||
23 | import static tools.refinery.store.query.term.int_.IntTerms.constant; | ||
24 | import static tools.refinery.store.query.term.int_.IntTerms.greaterEq; | ||
25 | import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertResults; | ||
21 | 26 | ||
22 | class QueryTest { | 27 | class QueryTest { |
23 | @Test | 28 | @QueryEngineTest |
24 | void typeConstraintTest() { | 29 | void typeConstraintTest(QueryEvaluationHint hint) { |
25 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 30 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
26 | var asset = new Symbol<>("Asset", 1, Boolean.class, false); | 31 | var asset = new Symbol<>("Asset", 1, Boolean.class, false); |
27 | var personView = new KeyOnlyRelationView<>(person); | 32 | var personView = new KeyOnlyRelationView<>(person); |
28 | 33 | ||
29 | var p1 = new Variable("p1"); | 34 | var p1 = Variable.of("p1"); |
30 | var predicate = DNF.builder("TypeConstraint") | 35 | var predicate = Query.builder("TypeConstraint") |
31 | .parameters(p1) | 36 | .parameters(p1) |
32 | .clause(new RelationViewAtom(personView, p1)) | 37 | .clause(personView.call(p1)) |
33 | .build(); | 38 | .build(); |
34 | 39 | ||
35 | var store = ModelStore.builder() | 40 | var store = ModelStore.builder() |
36 | .symbols(person, asset) | 41 | .symbols(person, asset) |
37 | .with(ViatraModelQuery.ADAPTER) | 42 | .with(ViatraModelQuery.ADAPTER) |
38 | .queries(predicate) | 43 | .defaultHint(hint) |
44 | .query(predicate) | ||
39 | .build(); | 45 | .build(); |
40 | 46 | ||
41 | var model = store.createEmptyModel(); | 47 | var model = store.createEmptyModel(); |
@@ -51,31 +57,35 @@ class QueryTest { | |||
51 | assetInterpretation.put(Tuple.of(2), true); | 57 | assetInterpretation.put(Tuple.of(2), true); |
52 | 58 | ||
53 | queryEngine.flushChanges(); | 59 | queryEngine.flushChanges(); |
54 | assertEquals(2, predicateResultSet.countResults()); | 60 | assertResults(Map.of( |
55 | compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0), Tuple.of(1))); | 61 | Tuple.of(0), true, |
62 | Tuple.of(1), true, | ||
63 | Tuple.of(2), false | ||
64 | ), predicateResultSet); | ||
56 | } | 65 | } |
57 | 66 | ||
58 | @Test | 67 | @QueryEngineTest |
59 | void relationConstraintTest() { | 68 | void relationConstraintTest(QueryEvaluationHint hint) { |
60 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 69 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
61 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | 70 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); |
62 | var personView = new KeyOnlyRelationView<>(person); | 71 | var personView = new KeyOnlyRelationView<>(person); |
63 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | 72 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); |
64 | 73 | ||
65 | var p1 = new Variable("p1"); | 74 | var p1 = Variable.of("p1"); |
66 | var p2 = new Variable("p2"); | 75 | var p2 = Variable.of("p2"); |
67 | var predicate = DNF.builder("RelationConstraint") | 76 | var predicate = Query.builder("RelationConstraint") |
68 | .parameters(p1, p2) | 77 | .parameters(p1, p2) |
69 | .clause( | 78 | .clause( |
70 | new RelationViewAtom(personView, p1), | 79 | personView.call(p1), |
71 | new RelationViewAtom(personView, p2), | 80 | personView.call(p2), |
72 | new RelationViewAtom(friendMustView, p1, p2) | 81 | friendMustView.call(p1, p2) |
73 | ) | 82 | ) |
74 | .build(); | 83 | .build(); |
75 | 84 | ||
76 | var store = ModelStore.builder() | 85 | var store = ModelStore.builder() |
77 | .symbols(person, friend) | 86 | .symbols(person, friend) |
78 | .with(ViatraModelQuery.ADAPTER) | 87 | .with(ViatraModelQuery.ADAPTER) |
88 | .defaultHint(hint) | ||
79 | .queries(predicate) | 89 | .queries(predicate) |
80 | .build(); | 90 | .build(); |
81 | 91 | ||
@@ -85,8 +95,6 @@ class QueryTest { | |||
85 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | 95 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); |
86 | var predicateResultSet = queryEngine.getResultSet(predicate); | 96 | var predicateResultSet = queryEngine.getResultSet(predicate); |
87 | 97 | ||
88 | assertEquals(0, predicateResultSet.countResults()); | ||
89 | |||
90 | personInterpretation.put(Tuple.of(0), true); | 98 | personInterpretation.put(Tuple.of(0), true); |
91 | personInterpretation.put(Tuple.of(1), true); | 99 | personInterpretation.put(Tuple.of(1), true); |
92 | personInterpretation.put(Tuple.of(2), true); | 100 | personInterpretation.put(Tuple.of(2), true); |
@@ -94,90 +102,39 @@ class QueryTest { | |||
94 | friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE); | 102 | friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE); |
95 | friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE); | 103 | friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE); |
96 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | 104 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); |
97 | 105 | friendInterpretation.put(Tuple.of(1, 3), TruthValue.TRUE); | |
98 | assertEquals(0, predicateResultSet.countResults()); | ||
99 | 106 | ||
100 | queryEngine.flushChanges(); | 107 | queryEngine.flushChanges(); |
101 | assertEquals(3, predicateResultSet.countResults()); | 108 | assertResults(Map.of( |
102 | compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 1), Tuple.of(1, 0), Tuple.of(1, 2))); | 109 | Tuple.of(0, 1), true, |
110 | Tuple.of(1, 0), true, | ||
111 | Tuple.of(1, 2), true, | ||
112 | Tuple.of(2, 1), false | ||
113 | ), predicateResultSet); | ||
103 | } | 114 | } |
104 | 115 | ||
105 | @Test | 116 | @QueryEngineTest |
106 | void andTest() { | 117 | void existTest(QueryEvaluationHint hint) { |
107 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 118 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
108 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | 119 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); |
109 | var personView = new KeyOnlyRelationView<>(person); | 120 | var personView = new KeyOnlyRelationView<>(person); |
110 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | 121 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); |
111 | 122 | ||
112 | var p1 = new Variable("p1"); | 123 | var p1 = Variable.of("p1"); |
113 | var p2 = new Variable("p2"); | 124 | var p2 = Variable.of("p2"); |
114 | var predicate = DNF.builder("RelationConstraint") | 125 | var predicate = Query.builder("RelationConstraint") |
115 | .parameters(p1, p2) | ||
116 | .clause( | ||
117 | new RelationViewAtom(personView, p1), | ||
118 | new RelationViewAtom(personView, p2), | ||
119 | new RelationViewAtom(friendMustView, p1, p2), | ||
120 | new RelationViewAtom(friendMustView, p2, p1) | ||
121 | ) | ||
122 | .build(); | ||
123 | |||
124 | var store = ModelStore.builder() | ||
125 | .symbols(person, friend) | ||
126 | .with(ViatraModelQuery.ADAPTER) | ||
127 | .queries(predicate) | ||
128 | .build(); | ||
129 | |||
130 | var model = store.createEmptyModel(); | ||
131 | var personInterpretation = model.getInterpretation(person); | ||
132 | var friendInterpretation = model.getInterpretation(friend); | ||
133 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
134 | var predicateResultSet = queryEngine.getResultSet(predicate); | ||
135 | |||
136 | assertEquals(0, predicateResultSet.countResults()); | ||
137 | |||
138 | personInterpretation.put(Tuple.of(0), true); | ||
139 | personInterpretation.put(Tuple.of(1), true); | ||
140 | personInterpretation.put(Tuple.of(2), true); | ||
141 | |||
142 | friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE); | ||
143 | friendInterpretation.put(Tuple.of(0, 2), TruthValue.TRUE); | ||
144 | |||
145 | queryEngine.flushChanges(); | ||
146 | assertEquals(0, predicateResultSet.countResults()); | ||
147 | |||
148 | friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE); | ||
149 | queryEngine.flushChanges(); | ||
150 | assertEquals(2, predicateResultSet.countResults()); | ||
151 | compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 1), Tuple.of(1, 0))); | ||
152 | |||
153 | friendInterpretation.put(Tuple.of(2, 0), TruthValue.TRUE); | ||
154 | queryEngine.flushChanges(); | ||
155 | assertEquals(4, predicateResultSet.countResults()); | ||
156 | compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 1), Tuple.of(1, 0), Tuple.of(0, 2), | ||
157 | Tuple.of(2, 0))); | ||
158 | } | ||
159 | |||
160 | @Test | ||
161 | void existTest() { | ||
162 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
163 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | ||
164 | var personView = new KeyOnlyRelationView<>(person); | ||
165 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | ||
166 | |||
167 | var p1 = new Variable("p1"); | ||
168 | var p2 = new Variable("p2"); | ||
169 | var predicate = DNF.builder("RelationConstraint") | ||
170 | .parameters(p1) | 126 | .parameters(p1) |
171 | .clause( | 127 | .clause( |
172 | new RelationViewAtom(personView, p1), | 128 | personView.call(p1), |
173 | new RelationViewAtom(personView, p2), | 129 | personView.call(p2), |
174 | new RelationViewAtom(friendMustView, p1, p2) | 130 | friendMustView.call(p1, p2) |
175 | ) | 131 | ) |
176 | .build(); | 132 | .build(); |
177 | 133 | ||
178 | var store = ModelStore.builder() | 134 | var store = ModelStore.builder() |
179 | .symbols(person, friend) | 135 | .symbols(person, friend) |
180 | .with(ViatraModelQuery.ADAPTER) | 136 | .with(ViatraModelQuery.ADAPTER) |
137 | .defaultHint(hint) | ||
181 | .queries(predicate) | 138 | .queries(predicate) |
182 | .build(); | 139 | .build(); |
183 | 140 | ||
@@ -194,16 +151,19 @@ class QueryTest { | |||
194 | friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE); | 151 | friendInterpretation.put(Tuple.of(0, 1), TruthValue.TRUE); |
195 | friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE); | 152 | friendInterpretation.put(Tuple.of(1, 0), TruthValue.TRUE); |
196 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | 153 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); |
197 | 154 | friendInterpretation.put(Tuple.of(3, 2), TruthValue.TRUE); | |
198 | assertEquals(0, predicateResultSet.countResults()); | ||
199 | 155 | ||
200 | queryEngine.flushChanges(); | 156 | queryEngine.flushChanges(); |
201 | assertEquals(2, predicateResultSet.countResults()); | 157 | assertResults(Map.of( |
202 | compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0), Tuple.of(1))); | 158 | Tuple.of(0), true, |
159 | Tuple.of(1), true, | ||
160 | Tuple.of(2), false, | ||
161 | Tuple.of(3), false | ||
162 | ), predicateResultSet); | ||
203 | } | 163 | } |
204 | 164 | ||
205 | @Test | 165 | @QueryEngineTest |
206 | void orTest() { | 166 | void orTest(QueryEvaluationHint hint) { |
207 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 167 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
208 | var animal = new Symbol<>("Animal", 1, Boolean.class, false); | 168 | var animal = new Symbol<>("Animal", 1, Boolean.class, false); |
209 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | 169 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); |
@@ -211,25 +171,26 @@ class QueryTest { | |||
211 | var animalView = new KeyOnlyRelationView<>(animal); | 171 | var animalView = new KeyOnlyRelationView<>(animal); |
212 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | 172 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); |
213 | 173 | ||
214 | var p1 = new Variable("p1"); | 174 | var p1 = Variable.of("p1"); |
215 | var p2 = new Variable("p2"); | 175 | var p2 = Variable.of("p2"); |
216 | var predicate = DNF.builder("Or") | 176 | var predicate = Query.builder("Or") |
217 | .parameters(p1, p2) | 177 | .parameters(p1, p2) |
218 | .clause( | 178 | .clause( |
219 | new RelationViewAtom(personView, p1), | 179 | personView.call(p1), |
220 | new RelationViewAtom(personView, p2), | 180 | personView.call(p2), |
221 | new RelationViewAtom(friendMustView, p1, p2) | 181 | friendMustView.call(p1, p2) |
222 | ) | 182 | ) |
223 | .clause( | 183 | .clause( |
224 | new RelationViewAtom(animalView, p1), | 184 | animalView.call(p1), |
225 | new RelationViewAtom(animalView, p2), | 185 | animalView.call(p2), |
226 | new RelationViewAtom(friendMustView, p1, p2) | 186 | friendMustView.call(p1, p2) |
227 | ) | 187 | ) |
228 | .build(); | 188 | .build(); |
229 | 189 | ||
230 | var store = ModelStore.builder() | 190 | var store = ModelStore.builder() |
231 | .symbols(person, animal, friend) | 191 | .symbols(person, animal, friend) |
232 | .with(ViatraModelQuery.ADAPTER) | 192 | .with(ViatraModelQuery.ADAPTER) |
193 | .defaultHint(hint) | ||
233 | .queries(predicate) | 194 | .queries(predicate) |
234 | .build(); | 195 | .build(); |
235 | 196 | ||
@@ -252,29 +213,35 @@ class QueryTest { | |||
252 | friendInterpretation.put(Tuple.of(3, 0), TruthValue.TRUE); | 213 | friendInterpretation.put(Tuple.of(3, 0), TruthValue.TRUE); |
253 | 214 | ||
254 | queryEngine.flushChanges(); | 215 | queryEngine.flushChanges(); |
255 | assertEquals(2, predicateResultSet.countResults()); | 216 | assertResults(Map.of( |
256 | compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 1), Tuple.of(2, 3))); | 217 | Tuple.of(0, 1), true, |
218 | Tuple.of(0, 2), false, | ||
219 | Tuple.of(2, 3), true, | ||
220 | Tuple.of(3, 0), false, | ||
221 | Tuple.of(3, 2), false | ||
222 | ), predicateResultSet); | ||
257 | } | 223 | } |
258 | 224 | ||
259 | @Test | 225 | @QueryEngineTest |
260 | void equalityTest() { | 226 | void equalityTest(QueryEvaluationHint hint) { |
261 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 227 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
262 | var personView = new KeyOnlyRelationView<>(person); | 228 | var personView = new KeyOnlyRelationView<>(person); |
263 | 229 | ||
264 | var p1 = new Variable("p1"); | 230 | var p1 = Variable.of("p1"); |
265 | var p2 = new Variable("p2"); | 231 | var p2 = Variable.of("p2"); |
266 | var predicate = DNF.builder("Equality") | 232 | var predicate = Query.builder("Equality") |
267 | .parameters(p1, p2) | 233 | .parameters(p1, p2) |
268 | .clause( | 234 | .clause( |
269 | new RelationViewAtom(personView, p1), | 235 | personView.call(p1), |
270 | new RelationViewAtom(personView, p2), | 236 | personView.call(p2), |
271 | new EquivalenceAtom(p1, p2) | 237 | p1.isEquivalent(p2) |
272 | ) | 238 | ) |
273 | .build(); | 239 | .build(); |
274 | 240 | ||
275 | var store = ModelStore.builder() | 241 | var store = ModelStore.builder() |
276 | .symbols(person) | 242 | .symbols(person) |
277 | .with(ViatraModelQuery.ADAPTER) | 243 | .with(ViatraModelQuery.ADAPTER) |
244 | .defaultHint(hint) | ||
278 | .queries(predicate) | 245 | .queries(predicate) |
279 | .build(); | 246 | .build(); |
280 | 247 | ||
@@ -288,34 +255,40 @@ class QueryTest { | |||
288 | personInterpretation.put(Tuple.of(2), true); | 255 | personInterpretation.put(Tuple.of(2), true); |
289 | 256 | ||
290 | queryEngine.flushChanges(); | 257 | queryEngine.flushChanges(); |
291 | assertEquals(3, predicateResultSet.countResults()); | 258 | assertResults(Map.of( |
292 | compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 0), Tuple.of(1, 1), Tuple.of(2, 2))); | 259 | Tuple.of(0, 0), true, |
260 | Tuple.of(1, 1), true, | ||
261 | Tuple.of(2, 2), true, | ||
262 | Tuple.of(0, 1), false, | ||
263 | Tuple.of(3, 3), false | ||
264 | ), predicateResultSet); | ||
293 | } | 265 | } |
294 | 266 | ||
295 | @Test | 267 | @QueryEngineTest |
296 | void inequalityTest() { | 268 | void inequalityTest(QueryEvaluationHint hint) { |
297 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 269 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
298 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | 270 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); |
299 | var personView = new KeyOnlyRelationView<>(person); | 271 | var personView = new KeyOnlyRelationView<>(person); |
300 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | 272 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); |
301 | 273 | ||
302 | var p1 = new Variable("p1"); | 274 | var p1 = Variable.of("p1"); |
303 | var p2 = new Variable("p2"); | 275 | var p2 = Variable.of("p2"); |
304 | var p3 = new Variable("p3"); | 276 | var p3 = Variable.of("p3"); |
305 | var predicate = DNF.builder("Inequality") | 277 | var predicate = Query.builder("Inequality") |
306 | .parameters(p1, p2, p3) | 278 | .parameters(p1, p2, p3) |
307 | .clause( | 279 | .clause( |
308 | new RelationViewAtom(personView, p1), | 280 | personView.call(p1), |
309 | new RelationViewAtom(personView, p2), | 281 | personView.call(p2), |
310 | new RelationViewAtom(friendMustView, p1, p3), | 282 | friendMustView.call(p1, p3), |
311 | new RelationViewAtom(friendMustView, p2, p3), | 283 | friendMustView.call(p2, p3), |
312 | new EquivalenceAtom(false, p1, p2) | 284 | p1.notEquivalent(p2) |
313 | ) | 285 | ) |
314 | .build(); | 286 | .build(); |
315 | 287 | ||
316 | var store = ModelStore.builder() | 288 | var store = ModelStore.builder() |
317 | .symbols(person, friend) | 289 | .symbols(person, friend) |
318 | .with(ViatraModelQuery.ADAPTER) | 290 | .with(ViatraModelQuery.ADAPTER) |
291 | .defaultHint(hint) | ||
319 | .queries(predicate) | 292 | .queries(predicate) |
320 | .build(); | 293 | .build(); |
321 | 294 | ||
@@ -333,42 +306,46 @@ class QueryTest { | |||
333 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | 306 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); |
334 | 307 | ||
335 | queryEngine.flushChanges(); | 308 | queryEngine.flushChanges(); |
336 | assertEquals(2, predicateResultSet.countResults()); | 309 | assertResults(Map.of( |
337 | compareMatchSets(predicateResultSet.allResults(), Set.of(Tuple.of(0, 1, 2), Tuple.of(1, 0, 2))); | 310 | Tuple.of(0, 1, 2), true, |
311 | Tuple.of(1, 0, 2), true, | ||
312 | Tuple.of(0, 0, 2), false | ||
313 | ), predicateResultSet); | ||
338 | } | 314 | } |
339 | 315 | ||
340 | @Test | 316 | @QueryEngineTest |
341 | void patternCallTest() { | 317 | void patternCallTest(QueryEvaluationHint hint) { |
342 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 318 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
343 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | 319 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); |
344 | var personView = new KeyOnlyRelationView<>(person); | 320 | var personView = new KeyOnlyRelationView<>(person); |
345 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | 321 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); |
346 | 322 | ||
347 | var p1 = new Variable("p1"); | 323 | var p1 = Variable.of("p1"); |
348 | var p2 = new Variable("p2"); | 324 | var p2 = Variable.of("p2"); |
349 | var friendPredicate = DNF.builder("RelationConstraint") | 325 | var friendPredicate = Dnf.builder("RelationConstraint") |
350 | .parameters(p1, p2) | 326 | .parameters(p1, p2) |
351 | .clause( | 327 | .clause( |
352 | new RelationViewAtom(personView, p1), | 328 | personView.call(p1), |
353 | new RelationViewAtom(personView, p2), | 329 | personView.call(p2), |
354 | new RelationViewAtom(friendMustView, p1, p2) | 330 | friendMustView.call(p1, p2) |
355 | ) | 331 | ) |
356 | .build(); | 332 | .build(); |
357 | 333 | ||
358 | var p3 = new Variable("p3"); | 334 | var p3 = Variable.of("p3"); |
359 | var p4 = new Variable("p4"); | 335 | var p4 = Variable.of("p4"); |
360 | var predicate = DNF.builder("PositivePatternCall") | 336 | var predicate = Query.builder("PositivePatternCall") |
361 | .parameters(p3, p4) | 337 | .parameters(p3, p4) |
362 | .clause( | 338 | .clause( |
363 | new RelationViewAtom(personView, p3), | 339 | personView.call(p3), |
364 | new RelationViewAtom(personView, p4), | 340 | personView.call(p4), |
365 | new DNFCallAtom(friendPredicate, p3, p4) | 341 | friendPredicate.call(p3, p4) |
366 | ) | 342 | ) |
367 | .build(); | 343 | .build(); |
368 | 344 | ||
369 | var store = ModelStore.builder() | 345 | var store = ModelStore.builder() |
370 | .symbols(person, friend) | 346 | .symbols(person, friend) |
371 | .with(ViatraModelQuery.ADAPTER) | 347 | .with(ViatraModelQuery.ADAPTER) |
348 | .defaultHint(hint) | ||
372 | .queries(predicate) | 349 | .queries(predicate) |
373 | .build(); | 350 | .build(); |
374 | 351 | ||
@@ -387,30 +364,36 @@ class QueryTest { | |||
387 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | 364 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); |
388 | 365 | ||
389 | queryEngine.flushChanges(); | 366 | queryEngine.flushChanges(); |
390 | assertEquals(3, predicateResultSet.countResults()); | 367 | assertResults(Map.of( |
368 | Tuple.of(0, 1), true, | ||
369 | Tuple.of(1, 0), true, | ||
370 | Tuple.of(1, 2), true, | ||
371 | Tuple.of(2, 1), false | ||
372 | ), predicateResultSet); | ||
391 | } | 373 | } |
392 | 374 | ||
393 | @Test | 375 | @QueryEngineTest |
394 | void negativeRelationViewTest() { | 376 | void negativeRelationViewTest(QueryEvaluationHint hint) { |
395 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 377 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
396 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | 378 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); |
397 | var personView = new KeyOnlyRelationView<>(person); | 379 | var personView = new KeyOnlyRelationView<>(person); |
398 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | 380 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); |
399 | 381 | ||
400 | var p1 = new Variable("p1"); | 382 | var p1 = Variable.of("p1"); |
401 | var p2 = new Variable("p2"); | 383 | var p2 = Variable.of("p2"); |
402 | var predicate = DNF.builder("NegativePatternCall") | 384 | var predicate = Query.builder("NegativePatternCall") |
403 | .parameters(p1, p2) | 385 | .parameters(p1, p2) |
404 | .clause( | 386 | .clause( |
405 | new RelationViewAtom(personView, p1), | 387 | personView.call(p1), |
406 | new RelationViewAtom(personView, p2), | 388 | personView.call(p2), |
407 | new RelationViewAtom(false, friendMustView, p1, p2) | 389 | not(friendMustView.call(p1, p2)) |
408 | ) | 390 | ) |
409 | .build(); | 391 | .build(); |
410 | 392 | ||
411 | var store = ModelStore.builder() | 393 | var store = ModelStore.builder() |
412 | .symbols(person, friend) | 394 | .symbols(person, friend) |
413 | .with(ViatraModelQuery.ADAPTER) | 395 | .with(ViatraModelQuery.ADAPTER) |
396 | .defaultHint(hint) | ||
414 | .queries(predicate) | 397 | .queries(predicate) |
415 | .build(); | 398 | .build(); |
416 | 399 | ||
@@ -429,41 +412,53 @@ class QueryTest { | |||
429 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | 412 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); |
430 | 413 | ||
431 | queryEngine.flushChanges(); | 414 | queryEngine.flushChanges(); |
432 | assertEquals(6, predicateResultSet.countResults()); | 415 | assertResults(Map.of( |
416 | Tuple.of(0, 0), true, | ||
417 | Tuple.of(0, 2), true, | ||
418 | Tuple.of(1, 1), true, | ||
419 | Tuple.of(2, 0), true, | ||
420 | Tuple.of(2, 1), true, | ||
421 | Tuple.of(2, 2), true, | ||
422 | Tuple.of(0, 1), false, | ||
423 | Tuple.of(1, 0), false, | ||
424 | Tuple.of(1, 2), false, | ||
425 | Tuple.of(0, 3), false | ||
426 | ), predicateResultSet); | ||
433 | } | 427 | } |
434 | 428 | ||
435 | @Test | 429 | @QueryEngineTest |
436 | void negativePatternCallTest() { | 430 | void negativePatternCallTest(QueryEvaluationHint hint) { |
437 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 431 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
438 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | 432 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); |
439 | var personView = new KeyOnlyRelationView<>(person); | 433 | var personView = new KeyOnlyRelationView<>(person); |
440 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | 434 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); |
441 | 435 | ||
442 | var p1 = new Variable("p1"); | 436 | var p1 = Variable.of("p1"); |
443 | var p2 = new Variable("p2"); | 437 | var p2 = Variable.of("p2"); |
444 | var friendPredicate = DNF.builder("RelationConstraint") | 438 | var friendPredicate = Dnf.builder("RelationConstraint") |
445 | .parameters(p1, p2) | 439 | .parameters(p1, p2) |
446 | .clause( | 440 | .clause( |
447 | new RelationViewAtom(personView, p1), | 441 | personView.call(p1), |
448 | new RelationViewAtom(personView, p2), | 442 | personView.call(p2), |
449 | new RelationViewAtom(friendMustView, p1, p2) | 443 | friendMustView.call(p1, p2) |
450 | ) | 444 | ) |
451 | .build(); | 445 | .build(); |
452 | 446 | ||
453 | var p3 = new Variable("p3"); | 447 | var p3 = Variable.of("p3"); |
454 | var p4 = new Variable("p4"); | 448 | var p4 = Variable.of("p4"); |
455 | var predicate = DNF.builder("NegativePatternCall") | 449 | var predicate = Query.builder("NegativePatternCall") |
456 | .parameters(p3, p4) | 450 | .parameters(p3, p4) |
457 | .clause( | 451 | .clause( |
458 | new RelationViewAtom(personView, p3), | 452 | personView.call(p3), |
459 | new RelationViewAtom(personView, p4), | 453 | personView.call(p4), |
460 | new DNFCallAtom(false, friendPredicate, p3, p4) | 454 | not(friendPredicate.call(p3, p4)) |
461 | ) | 455 | ) |
462 | .build(); | 456 | .build(); |
463 | 457 | ||
464 | var store = ModelStore.builder() | 458 | var store = ModelStore.builder() |
465 | .symbols(person, friend) | 459 | .symbols(person, friend) |
466 | .with(ViatraModelQuery.ADAPTER) | 460 | .with(ViatraModelQuery.ADAPTER) |
461 | .defaultHint(hint) | ||
467 | .queries(predicate) | 462 | .queries(predicate) |
468 | .build(); | 463 | .build(); |
469 | 464 | ||
@@ -482,30 +477,42 @@ class QueryTest { | |||
482 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | 477 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); |
483 | 478 | ||
484 | queryEngine.flushChanges(); | 479 | queryEngine.flushChanges(); |
485 | assertEquals(6, predicateResultSet.countResults()); | 480 | assertResults(Map.of( |
481 | Tuple.of(0, 0), true, | ||
482 | Tuple.of(0, 2), true, | ||
483 | Tuple.of(1, 1), true, | ||
484 | Tuple.of(2, 0), true, | ||
485 | Tuple.of(2, 1), true, | ||
486 | Tuple.of(2, 2), true, | ||
487 | Tuple.of(0, 1), false, | ||
488 | Tuple.of(1, 0), false, | ||
489 | Tuple.of(1, 2), false, | ||
490 | Tuple.of(0, 3), false | ||
491 | ), predicateResultSet); | ||
486 | } | 492 | } |
487 | 493 | ||
488 | @Test | 494 | @QueryEngineTest |
489 | void negativeRelationViewWithQuantificationTest() { | 495 | void negativeRelationViewWithQuantificationTest(QueryEvaluationHint hint) { |
490 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 496 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
491 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | 497 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); |
492 | var personView = new KeyOnlyRelationView<>(person); | 498 | var personView = new KeyOnlyRelationView<>(person); |
493 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | 499 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); |
494 | 500 | ||
495 | var p1 = new Variable("p1"); | 501 | var p1 = Variable.of("p1"); |
496 | var p2 = new Variable("p2"); | 502 | var p2 = Variable.of("p2"); |
497 | 503 | ||
498 | var predicate = DNF.builder("Count") | 504 | var predicate = Query.builder("Count") |
499 | .parameters(p1) | 505 | .parameters(p1) |
500 | .clause( | 506 | .clause( |
501 | new RelationViewAtom(personView, p1), | 507 | personView.call(p1), |
502 | new RelationViewAtom(false, friendMustView, p1, p2) | 508 | not(friendMustView.call(p1, p2)) |
503 | ) | 509 | ) |
504 | .build(); | 510 | .build(); |
505 | 511 | ||
506 | var store = ModelStore.builder() | 512 | var store = ModelStore.builder() |
507 | .symbols(person, friend) | 513 | .symbols(person, friend) |
508 | .with(ViatraModelQuery.ADAPTER) | 514 | .with(ViatraModelQuery.ADAPTER) |
515 | .defaultHint(hint) | ||
509 | .queries(predicate) | 516 | .queries(predicate) |
510 | .build(); | 517 | .build(); |
511 | 518 | ||
@@ -523,39 +530,45 @@ class QueryTest { | |||
523 | friendInterpretation.put(Tuple.of(0, 2), TruthValue.TRUE); | 530 | friendInterpretation.put(Tuple.of(0, 2), TruthValue.TRUE); |
524 | 531 | ||
525 | queryEngine.flushChanges(); | 532 | queryEngine.flushChanges(); |
526 | assertEquals(2, predicateResultSet.countResults()); | 533 | assertResults(Map.of( |
534 | Tuple.of(0), false, | ||
535 | Tuple.of(1), true, | ||
536 | Tuple.of(2), true, | ||
537 | Tuple.of(3), false | ||
538 | ), predicateResultSet); | ||
527 | } | 539 | } |
528 | 540 | ||
529 | @Test | 541 | @QueryEngineTest |
530 | void negativeWithQuantificationTest() { | 542 | void negativeWithQuantificationTest(QueryEvaluationHint hint) { |
531 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 543 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
532 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | 544 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); |
533 | var personView = new KeyOnlyRelationView<>(person); | 545 | var personView = new KeyOnlyRelationView<>(person); |
534 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | 546 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); |
535 | 547 | ||
536 | var p1 = new Variable("p1"); | 548 | var p1 = Variable.of("p1"); |
537 | var p2 = new Variable("p2"); | 549 | var p2 = Variable.of("p2"); |
538 | 550 | ||
539 | var called = DNF.builder("Called") | 551 | var called = Dnf.builder("Called") |
540 | .parameters(p1, p2) | 552 | .parameters(p1, p2) |
541 | .clause( | 553 | .clause( |
542 | new RelationViewAtom(personView, p1), | 554 | personView.call(p1), |
543 | new RelationViewAtom(personView, p2), | 555 | personView.call(p2), |
544 | new RelationViewAtom(friendMustView, p1, p2) | 556 | friendMustView.call(p1, p2) |
545 | ) | 557 | ) |
546 | .build(); | 558 | .build(); |
547 | 559 | ||
548 | var predicate = DNF.builder("Count") | 560 | var predicate = Query.builder("Count") |
549 | .parameters(p1) | 561 | .parameters(p1) |
550 | .clause( | 562 | .clause( |
551 | new RelationViewAtom(personView, p1), | 563 | personView.call(p1), |
552 | new DNFCallAtom(false, called, p1, p2) | 564 | not(called.call(p1, p2)) |
553 | ) | 565 | ) |
554 | .build(); | 566 | .build(); |
555 | 567 | ||
556 | var store = ModelStore.builder() | 568 | var store = ModelStore.builder() |
557 | .symbols(person, friend) | 569 | .symbols(person, friend) |
558 | .with(ViatraModelQuery.ADAPTER) | 570 | .with(ViatraModelQuery.ADAPTER) |
571 | .defaultHint(hint) | ||
559 | .queries(predicate) | 572 | .queries(predicate) |
560 | .build(); | 573 | .build(); |
561 | 574 | ||
@@ -573,30 +586,36 @@ class QueryTest { | |||
573 | friendInterpretation.put(Tuple.of(0, 2), TruthValue.TRUE); | 586 | friendInterpretation.put(Tuple.of(0, 2), TruthValue.TRUE); |
574 | 587 | ||
575 | queryEngine.flushChanges(); | 588 | queryEngine.flushChanges(); |
576 | assertEquals(2, predicateResultSet.countResults()); | 589 | assertResults(Map.of( |
590 | Tuple.of(0), false, | ||
591 | Tuple.of(1), true, | ||
592 | Tuple.of(2), true, | ||
593 | Tuple.of(3), false | ||
594 | ), predicateResultSet); | ||
577 | } | 595 | } |
578 | 596 | ||
579 | @Test | 597 | @QueryEngineTest |
580 | void transitiveRelationViewTest() { | 598 | void transitiveRelationViewTest(QueryEvaluationHint hint) { |
581 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 599 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
582 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | 600 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); |
583 | var personView = new KeyOnlyRelationView<>(person); | 601 | var personView = new KeyOnlyRelationView<>(person); |
584 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | 602 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); |
585 | 603 | ||
586 | var p1 = new Variable("p1"); | 604 | var p1 = Variable.of("p1"); |
587 | var p2 = new Variable("p2"); | 605 | var p2 = Variable.of("p2"); |
588 | var predicate = DNF.builder("TransitivePatternCall") | 606 | var predicate = Query.builder("TransitivePatternCall") |
589 | .parameters(p1, p2) | 607 | .parameters(p1, p2) |
590 | .clause( | 608 | .clause( |
591 | new RelationViewAtom(personView, p1), | 609 | personView.call(p1), |
592 | new RelationViewAtom(personView, p2), | 610 | personView.call(p2), |
593 | new RelationViewAtom(CallPolarity.TRANSITIVE, friendMustView, p1, p2) | 611 | friendMustView.callTransitive(p1, p2) |
594 | ) | 612 | ) |
595 | .build(); | 613 | .build(); |
596 | 614 | ||
597 | var store = ModelStore.builder() | 615 | var store = ModelStore.builder() |
598 | .symbols(person, friend) | 616 | .symbols(person, friend) |
599 | .with(ViatraModelQuery.ADAPTER) | 617 | .with(ViatraModelQuery.ADAPTER) |
618 | .defaultHint(hint) | ||
600 | .queries(predicate) | 619 | .queries(predicate) |
601 | .build(); | 620 | .build(); |
602 | 621 | ||
@@ -614,41 +633,53 @@ class QueryTest { | |||
614 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | 633 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); |
615 | 634 | ||
616 | queryEngine.flushChanges(); | 635 | queryEngine.flushChanges(); |
617 | assertEquals(3, predicateResultSet.countResults()); | 636 | assertResults(Map.of( |
637 | Tuple.of(0, 0), false, | ||
638 | Tuple.of(0, 1), true, | ||
639 | Tuple.of(0, 2), true, | ||
640 | Tuple.of(1, 0), false, | ||
641 | Tuple.of(1, 1), false, | ||
642 | Tuple.of(1, 2), true, | ||
643 | Tuple.of(2, 0), false, | ||
644 | Tuple.of(2, 1), false, | ||
645 | Tuple.of(2, 2), false, | ||
646 | Tuple.of(2, 3), false | ||
647 | ), predicateResultSet); | ||
618 | } | 648 | } |
619 | 649 | ||
620 | @Test | 650 | @QueryEngineTest |
621 | void transitivePatternCallTest() { | 651 | void transitivePatternCallTest(QueryEvaluationHint hint) { |
622 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 652 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
623 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); | 653 | var friend = new Symbol<>("friend", 2, TruthValue.class, TruthValue.FALSE); |
624 | var personView = new KeyOnlyRelationView<>(person); | 654 | var personView = new KeyOnlyRelationView<>(person); |
625 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); | 655 | var friendMustView = new FilteredRelationView<>(friend, "must", TruthValue::must); |
626 | 656 | ||
627 | var p1 = new Variable("p1"); | 657 | var p1 = Variable.of("p1"); |
628 | var p2 = new Variable("p2"); | 658 | var p2 = Variable.of("p2"); |
629 | var friendPredicate = DNF.builder("RelationConstraint") | 659 | var friendPredicate = Dnf.builder("RelationConstraint") |
630 | .parameters(p1, p2) | 660 | .parameters(p1, p2) |
631 | .clause( | 661 | .clause( |
632 | new RelationViewAtom(personView, p1), | 662 | personView.call(p1), |
633 | new RelationViewAtom(personView, p2), | 663 | personView.call(p2), |
634 | new RelationViewAtom(friendMustView, p1, p2) | 664 | friendMustView.call(p1, p2) |
635 | ) | 665 | ) |
636 | .build(); | 666 | .build(); |
637 | 667 | ||
638 | var p3 = new Variable("p3"); | 668 | var p3 = Variable.of("p3"); |
639 | var p4 = new Variable("p4"); | 669 | var p4 = Variable.of("p4"); |
640 | var predicate = DNF.builder("TransitivePatternCall") | 670 | var predicate = Query.builder("TransitivePatternCall") |
641 | .parameters(p3, p4) | 671 | .parameters(p3, p4) |
642 | .clause( | 672 | .clause( |
643 | new RelationViewAtom(personView, p3), | 673 | personView.call(p3), |
644 | new RelationViewAtom(personView, p4), | 674 | personView.call(p4), |
645 | new DNFCallAtom(CallPolarity.TRANSITIVE, friendPredicate, p3, p4) | 675 | friendPredicate.callTransitive(p3, p4) |
646 | ) | 676 | ) |
647 | .build(); | 677 | .build(); |
648 | 678 | ||
649 | var store = ModelStore.builder() | 679 | var store = ModelStore.builder() |
650 | .symbols(person, friend) | 680 | .symbols(person, friend) |
651 | .with(ViatraModelQuery.ADAPTER) | 681 | .with(ViatraModelQuery.ADAPTER) |
682 | .defaultHint(hint) | ||
652 | .queries(predicate) | 683 | .queries(predicate) |
653 | .build(); | 684 | .build(); |
654 | 685 | ||
@@ -666,16 +697,101 @@ class QueryTest { | |||
666 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); | 697 | friendInterpretation.put(Tuple.of(1, 2), TruthValue.TRUE); |
667 | 698 | ||
668 | queryEngine.flushChanges(); | 699 | queryEngine.flushChanges(); |
669 | assertEquals(3, predicateResultSet.countResults()); | 700 | assertResults(Map.of( |
701 | Tuple.of(0, 0), false, | ||
702 | Tuple.of(0, 1), true, | ||
703 | Tuple.of(0, 2), true, | ||
704 | Tuple.of(1, 0), false, | ||
705 | Tuple.of(1, 1), false, | ||
706 | Tuple.of(1, 2), true, | ||
707 | Tuple.of(2, 0), false, | ||
708 | Tuple.of(2, 1), false, | ||
709 | Tuple.of(2, 2), false, | ||
710 | Tuple.of(2, 3), false | ||
711 | ), predicateResultSet); | ||
712 | } | ||
713 | |||
714 | @QueryEngineTest | ||
715 | void assumeTest(QueryEvaluationHint hint) { | ||
716 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
717 | var age = new Symbol<>("age", 1, Integer.class, null); | ||
718 | var personView = new KeyOnlyRelationView<>(person); | ||
719 | var ageView = new FunctionalRelationView<>(age); | ||
720 | |||
721 | var p1 = Variable.of("p1"); | ||
722 | var x = Variable.of("x", Integer.class); | ||
723 | var query = Query.builder("Constraint") | ||
724 | .parameter(p1) | ||
725 | .clause( | ||
726 | personView.call(p1), | ||
727 | ageView.call(p1, x), | ||
728 | assume(greaterEq(x, constant(18))) | ||
729 | ) | ||
730 | .build(); | ||
731 | |||
732 | var store = ModelStore.builder() | ||
733 | .symbols(person, age) | ||
734 | .with(ViatraModelQuery.ADAPTER) | ||
735 | .defaultHint(hint) | ||
736 | .queries(query) | ||
737 | .build(); | ||
738 | |||
739 | var model = store.createEmptyModel(); | ||
740 | var personInterpretation = model.getInterpretation(person); | ||
741 | var ageInterpretation = model.getInterpretation(age); | ||
742 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
743 | var queryResultSet = queryEngine.getResultSet(query); | ||
744 | |||
745 | personInterpretation.put(Tuple.of(0), true); | ||
746 | personInterpretation.put(Tuple.of(1), true); | ||
747 | |||
748 | ageInterpretation.put(Tuple.of(0), 12); | ||
749 | ageInterpretation.put(Tuple.of(1), 24); | ||
750 | |||
751 | queryEngine.flushChanges(); | ||
752 | assertResults(Map.of( | ||
753 | Tuple.of(0), false, | ||
754 | Tuple.of(1), true, | ||
755 | Tuple.of(2), false | ||
756 | ), queryResultSet); | ||
757 | } | ||
758 | |||
759 | @Test | ||
760 | void alwaysFalseTest() { | ||
761 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
762 | |||
763 | var p1 = Variable.of("p1"); | ||
764 | var predicate = Query.builder("AlwaysFalse").parameters(p1).build(); | ||
765 | |||
766 | var store = ModelStore.builder() | ||
767 | .symbols(person) | ||
768 | .with(ViatraModelQuery.ADAPTER) | ||
769 | .queries(predicate) | ||
770 | .build(); | ||
771 | |||
772 | var model = store.createEmptyModel(); | ||
773 | var personInterpretation = model.getInterpretation(person); | ||
774 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
775 | var predicateResultSet = queryEngine.getResultSet(predicate); | ||
776 | |||
777 | personInterpretation.put(Tuple.of(0), true); | ||
778 | personInterpretation.put(Tuple.of(1), true); | ||
779 | personInterpretation.put(Tuple.of(2), true); | ||
780 | |||
781 | queryEngine.flushChanges(); | ||
782 | assertResults(Map.of(), predicateResultSet); | ||
670 | } | 783 | } |
671 | 784 | ||
672 | static void compareMatchSets(Stream<TupleLike> matchSet, Set<Tuple> expected) { | 785 | @Test |
673 | Set<Tuple> translatedMatchSet = new HashSet<>(); | 786 | void alwaysTrueTest() { |
674 | var iterator = matchSet.iterator(); | 787 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
675 | while (iterator.hasNext()) { | 788 | |
676 | var element = iterator.next(); | 789 | var p1 = Variable.of("p1"); |
677 | translatedMatchSet.add(element.toTuple()); | 790 | var predicate = Query.builder("AlwaysTrue").parameters(p1).clause().build(); |
678 | } | 791 | |
679 | assertEquals(expected, translatedMatchSet); | 792 | var storeBuilder = ModelStore.builder().symbols(person); |
793 | var queryBuilder = storeBuilder.with(ViatraModelQuery.ADAPTER); | ||
794 | |||
795 | assertThrows(IllegalArgumentException.class, () -> queryBuilder.queries(predicate)); | ||
680 | } | 796 | } |
681 | } | 797 | } |
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTransactionTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTransactionTest.java index 98995339..abd49341 100644 --- a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTransactionTest.java +++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/QueryTransactionTest.java | |||
@@ -1,28 +1,162 @@ | |||
1 | package tools.refinery.store.query.viatra; | 1 | package tools.refinery.store.query.viatra; |
2 | 2 | ||
3 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
4 | import org.junit.jupiter.api.Disabled; | ||
3 | import org.junit.jupiter.api.Test; | 5 | import org.junit.jupiter.api.Test; |
4 | import tools.refinery.store.model.ModelStore; | 6 | import tools.refinery.store.model.ModelStore; |
5 | import tools.refinery.store.query.DNF; | ||
6 | import tools.refinery.store.query.ModelQuery; | 7 | import tools.refinery.store.query.ModelQuery; |
7 | import tools.refinery.store.query.Variable; | 8 | import tools.refinery.store.query.dnf.Query; |
8 | import tools.refinery.store.query.atom.RelationViewAtom; | 9 | import tools.refinery.store.query.term.Variable; |
10 | import tools.refinery.store.query.view.FilteredRelationView; | ||
11 | import tools.refinery.store.query.view.FunctionalRelationView; | ||
9 | import tools.refinery.store.query.view.KeyOnlyRelationView; | 12 | import tools.refinery.store.query.view.KeyOnlyRelationView; |
10 | import tools.refinery.store.representation.Symbol; | 13 | import tools.refinery.store.representation.Symbol; |
11 | import tools.refinery.store.tuple.Tuple; | 14 | import tools.refinery.store.tuple.Tuple; |
12 | 15 | ||
13 | import static org.junit.jupiter.api.Assertions.*; | 16 | import java.util.Map; |
17 | import java.util.Optional; | ||
18 | |||
19 | import static org.junit.jupiter.api.Assertions.assertFalse; | ||
20 | import static org.junit.jupiter.api.Assertions.assertTrue; | ||
21 | import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertNullableResults; | ||
22 | import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertResults; | ||
14 | 23 | ||
15 | class QueryTransactionTest { | 24 | class QueryTransactionTest { |
16 | @Test | 25 | @Test |
17 | void flushTest() { | 26 | void flushTest() { |
18 | var person = new Symbol<>("Person", 1, Boolean.class, false); | 27 | var person = new Symbol<>("Person", 1, Boolean.class, false); |
28 | var personView = new KeyOnlyRelationView<>(person); | ||
29 | |||
30 | var p1 = Variable.of("p1"); | ||
31 | var predicate = Query.builder("TypeConstraint") | ||
32 | .parameters(p1) | ||
33 | .clause(personView.call(p1)) | ||
34 | .build(); | ||
35 | |||
36 | var store = ModelStore.builder() | ||
37 | .symbols(person) | ||
38 | .with(ViatraModelQuery.ADAPTER) | ||
39 | .queries(predicate) | ||
40 | .build(); | ||
41 | |||
42 | var model = store.createEmptyModel(); | ||
43 | var personInterpretation = model.getInterpretation(person); | ||
44 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
45 | var predicateResultSet = queryEngine.getResultSet(predicate); | ||
46 | |||
47 | assertResults(Map.of( | ||
48 | Tuple.of(0), false, | ||
49 | Tuple.of(1), false, | ||
50 | Tuple.of(2), false, | ||
51 | Tuple.of(3), false | ||
52 | ), predicateResultSet); | ||
53 | assertFalse(queryEngine.hasPendingChanges()); | ||
54 | |||
55 | personInterpretation.put(Tuple.of(0), true); | ||
56 | personInterpretation.put(Tuple.of(1), true); | ||
57 | |||
58 | assertResults(Map.of( | ||
59 | Tuple.of(0), false, | ||
60 | Tuple.of(1), false, | ||
61 | Tuple.of(2), false, | ||
62 | Tuple.of(3), false | ||
63 | ), predicateResultSet); | ||
64 | assertTrue(queryEngine.hasPendingChanges()); | ||
65 | |||
66 | queryEngine.flushChanges(); | ||
67 | assertResults(Map.of( | ||
68 | Tuple.of(0), true, | ||
69 | Tuple.of(1), true, | ||
70 | Tuple.of(2), false, | ||
71 | Tuple.of(3), false | ||
72 | ), predicateResultSet); | ||
73 | assertFalse(queryEngine.hasPendingChanges()); | ||
74 | |||
75 | personInterpretation.put(Tuple.of(1), false); | ||
76 | personInterpretation.put(Tuple.of(2), true); | ||
77 | |||
78 | assertResults(Map.of( | ||
79 | Tuple.of(0), true, | ||
80 | Tuple.of(1), true, | ||
81 | Tuple.of(2), false, | ||
82 | Tuple.of(3), false | ||
83 | ), predicateResultSet); | ||
84 | assertTrue(queryEngine.hasPendingChanges()); | ||
85 | |||
86 | queryEngine.flushChanges(); | ||
87 | assertResults(Map.of( | ||
88 | Tuple.of(0), true, | ||
89 | Tuple.of(1), false, | ||
90 | Tuple.of(2), true, | ||
91 | Tuple.of(3), false | ||
92 | ), predicateResultSet); | ||
93 | assertFalse(queryEngine.hasPendingChanges()); | ||
94 | } | ||
95 | |||
96 | @Test | ||
97 | void localSearchTest() { | ||
98 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
99 | var personView = new KeyOnlyRelationView<>(person); | ||
100 | |||
101 | var p1 = Variable.of("p1"); | ||
102 | var predicate = Query.builder("TypeConstraint") | ||
103 | .parameters(p1) | ||
104 | .clause(personView.call(p1)) | ||
105 | .build(); | ||
106 | |||
107 | var store = ModelStore.builder() | ||
108 | .symbols(person) | ||
109 | .with(ViatraModelQuery.ADAPTER) | ||
110 | .defaultHint(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.DEFAULT_SEARCH)) | ||
111 | .queries(predicate) | ||
112 | .build(); | ||
113 | |||
114 | var model = store.createEmptyModel(); | ||
115 | var personInterpretation = model.getInterpretation(person); | ||
116 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
117 | var predicateResultSet = queryEngine.getResultSet(predicate); | ||
118 | |||
119 | assertResults(Map.of( | ||
120 | Tuple.of(0), false, | ||
121 | Tuple.of(1), false, | ||
122 | Tuple.of(2), false, | ||
123 | Tuple.of(3), false | ||
124 | ), predicateResultSet); | ||
125 | assertFalse(queryEngine.hasPendingChanges()); | ||
126 | |||
127 | personInterpretation.put(Tuple.of(0), true); | ||
128 | personInterpretation.put(Tuple.of(1), true); | ||
129 | |||
130 | assertResults(Map.of( | ||
131 | Tuple.of(0), true, | ||
132 | Tuple.of(1), true, | ||
133 | Tuple.of(2), false, | ||
134 | Tuple.of(3), false | ||
135 | ), predicateResultSet); | ||
136 | assertFalse(queryEngine.hasPendingChanges()); | ||
137 | |||
138 | personInterpretation.put(Tuple.of(1), false); | ||
139 | personInterpretation.put(Tuple.of(2), true); | ||
140 | |||
141 | assertResults(Map.of( | ||
142 | Tuple.of(0), true, | ||
143 | Tuple.of(1), false, | ||
144 | Tuple.of(2), true, | ||
145 | Tuple.of(3), false | ||
146 | ), predicateResultSet); | ||
147 | assertFalse(queryEngine.hasPendingChanges()); | ||
148 | } | ||
149 | |||
150 | @Test | ||
151 | void unrelatedChangesTest() { | ||
152 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
19 | var asset = new Symbol<>("Asset", 1, Boolean.class, false); | 153 | var asset = new Symbol<>("Asset", 1, Boolean.class, false); |
20 | var personView = new KeyOnlyRelationView<>(person); | 154 | var personView = new KeyOnlyRelationView<>(person); |
21 | 155 | ||
22 | var p1 = new Variable("p1"); | 156 | var p1 = Variable.of("p1"); |
23 | var predicate = DNF.builder("TypeConstraint") | 157 | var predicate = Query.builder("TypeConstraint") |
24 | .parameters(p1) | 158 | .parameters(p1) |
25 | .clause(new RelationViewAtom(personView, p1)) | 159 | .clause(personView.call(p1)) |
26 | .build(); | 160 | .build(); |
27 | 161 | ||
28 | var store = ModelStore.builder() | 162 | var store = ModelStore.builder() |
@@ -37,7 +171,6 @@ class QueryTransactionTest { | |||
37 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | 171 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); |
38 | var predicateResultSet = queryEngine.getResultSet(predicate); | 172 | var predicateResultSet = queryEngine.getResultSet(predicate); |
39 | 173 | ||
40 | assertEquals(0, predicateResultSet.countResults()); | ||
41 | assertFalse(queryEngine.hasPendingChanges()); | 174 | assertFalse(queryEngine.hasPendingChanges()); |
42 | 175 | ||
43 | personInterpretation.put(Tuple.of(0), true); | 176 | personInterpretation.put(Tuple.of(0), true); |
@@ -46,19 +179,245 @@ class QueryTransactionTest { | |||
46 | assetInterpretation.put(Tuple.of(1), true); | 179 | assetInterpretation.put(Tuple.of(1), true); |
47 | assetInterpretation.put(Tuple.of(2), true); | 180 | assetInterpretation.put(Tuple.of(2), true); |
48 | 181 | ||
49 | assertEquals(0, predicateResultSet.countResults()); | 182 | assertResults(Map.of( |
183 | Tuple.of(0), false, | ||
184 | Tuple.of(1), false, | ||
185 | Tuple.of(2), false, | ||
186 | Tuple.of(3), false, | ||
187 | Tuple.of(4), false | ||
188 | ), predicateResultSet); | ||
50 | assertTrue(queryEngine.hasPendingChanges()); | 189 | assertTrue(queryEngine.hasPendingChanges()); |
51 | 190 | ||
52 | queryEngine.flushChanges(); | 191 | queryEngine.flushChanges(); |
53 | assertEquals(2, predicateResultSet.countResults()); | 192 | assertResults(Map.of( |
193 | Tuple.of(0), true, | ||
194 | Tuple.of(1), true, | ||
195 | Tuple.of(2), false, | ||
196 | Tuple.of(3), false, | ||
197 | Tuple.of(4), false | ||
198 | ), predicateResultSet); | ||
54 | assertFalse(queryEngine.hasPendingChanges()); | 199 | assertFalse(queryEngine.hasPendingChanges()); |
55 | 200 | ||
56 | personInterpretation.put(Tuple.of(4), true); | 201 | assetInterpretation.put(Tuple.of(3), true); |
57 | assertEquals(2, predicateResultSet.countResults()); | 202 | assertFalse(queryEngine.hasPendingChanges()); |
58 | assertTrue(queryEngine.hasPendingChanges()); | 203 | |
204 | assertResults(Map.of( | ||
205 | Tuple.of(0), true, | ||
206 | Tuple.of(1), true, | ||
207 | Tuple.of(2), false, | ||
208 | Tuple.of(3), false, | ||
209 | Tuple.of(4), false | ||
210 | ), predicateResultSet); | ||
211 | |||
212 | queryEngine.flushChanges(); | ||
213 | assertResults(Map.of( | ||
214 | Tuple.of(0), true, | ||
215 | Tuple.of(1), true, | ||
216 | Tuple.of(2), false, | ||
217 | Tuple.of(3), false, | ||
218 | Tuple.of(4), false | ||
219 | ), predicateResultSet); | ||
220 | assertFalse(queryEngine.hasPendingChanges()); | ||
221 | } | ||
222 | |||
223 | @Test | ||
224 | void tupleChangingChangeTest() { | ||
225 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
226 | var age = new Symbol<>("age", 1, Integer.class, null); | ||
227 | var personView = new KeyOnlyRelationView<>(person); | ||
228 | var ageView = new FunctionalRelationView<>(age); | ||
229 | |||
230 | var p1 = Variable.of("p1"); | ||
231 | var x = Variable.of("x", Integer.class); | ||
232 | var query = Query.builder() | ||
233 | .parameter(p1) | ||
234 | .output(x) | ||
235 | .clause( | ||
236 | personView.call(p1), | ||
237 | ageView.call(p1, x) | ||
238 | ) | ||
239 | .build(); | ||
240 | |||
241 | var store = ModelStore.builder() | ||
242 | .symbols(person, age) | ||
243 | .with(ViatraModelQuery.ADAPTER) | ||
244 | .query(query) | ||
245 | .build(); | ||
246 | |||
247 | var model = store.createEmptyModel(); | ||
248 | var personInterpretation = model.getInterpretation(person); | ||
249 | var ageInterpretation = model.getInterpretation(age); | ||
250 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
251 | var queryResultSet = queryEngine.getResultSet(query); | ||
252 | |||
253 | personInterpretation.put(Tuple.of(0), true); | ||
254 | |||
255 | ageInterpretation.put(Tuple.of(0), 24); | ||
256 | |||
257 | queryEngine.flushChanges(); | ||
258 | assertResults(Map.of(Tuple.of(0), 24), queryResultSet); | ||
259 | |||
260 | ageInterpretation.put(Tuple.of(0), 25); | ||
261 | |||
262 | queryEngine.flushChanges(); | ||
263 | assertResults(Map.of(Tuple.of(0), 25), queryResultSet); | ||
264 | |||
265 | ageInterpretation.put(Tuple.of(0), null); | ||
59 | 266 | ||
60 | queryEngine.flushChanges(); | 267 | queryEngine.flushChanges(); |
61 | assertEquals(3, predicateResultSet.countResults()); | 268 | assertNullableResults(Map.of(Tuple.of(0), Optional.empty()), queryResultSet); |
269 | } | ||
270 | |||
271 | @Test | ||
272 | void tuplePreservingUnchangedTest() { | ||
273 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
274 | var age = new Symbol<>("age", 1, Integer.class, null); | ||
275 | var personView = new KeyOnlyRelationView<>(person); | ||
276 | var adultView = new FilteredRelationView<>(age, "adult", n -> n != null && n >= 18); | ||
277 | |||
278 | var p1 = Variable.of("p1"); | ||
279 | var x = Variable.of("x", Integer.class); | ||
280 | var query = Query.builder() | ||
281 | .parameter(p1) | ||
282 | .clause( | ||
283 | personView.call(p1), | ||
284 | adultView.call(p1) | ||
285 | ) | ||
286 | .build(); | ||
287 | |||
288 | var store = ModelStore.builder() | ||
289 | .symbols(person, age) | ||
290 | .with(ViatraModelQuery.ADAPTER) | ||
291 | .query(query) | ||
292 | .build(); | ||
293 | |||
294 | var model = store.createEmptyModel(); | ||
295 | var personInterpretation = model.getInterpretation(person); | ||
296 | var ageInterpretation = model.getInterpretation(age); | ||
297 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
298 | var queryResultSet = queryEngine.getResultSet(query); | ||
299 | |||
300 | personInterpretation.put(Tuple.of(0), true); | ||
301 | |||
302 | ageInterpretation.put(Tuple.of(0), 24); | ||
303 | |||
304 | queryEngine.flushChanges(); | ||
305 | assertResults(Map.of(Tuple.of(0), true), queryResultSet); | ||
306 | |||
307 | ageInterpretation.put(Tuple.of(0), 25); | ||
308 | |||
309 | queryEngine.flushChanges(); | ||
310 | assertResults(Map.of(Tuple.of(0), true), queryResultSet); | ||
311 | |||
312 | ageInterpretation.put(Tuple.of(0), 17); | ||
313 | |||
314 | queryEngine.flushChanges(); | ||
315 | assertResults(Map.of(Tuple.of(0), false), queryResultSet); | ||
316 | } | ||
317 | |||
318 | @Disabled("TODO Fix DiffCursor") | ||
319 | @Test | ||
320 | void commitAfterFlushTest() { | ||
321 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
322 | var personView = new KeyOnlyRelationView<>(person); | ||
323 | |||
324 | var p1 = Variable.of("p1"); | ||
325 | var predicate = Query.builder("TypeConstraint") | ||
326 | .parameters(p1) | ||
327 | .clause(personView.call(p1)) | ||
328 | .build(); | ||
329 | |||
330 | var store = ModelStore.builder() | ||
331 | .symbols(person) | ||
332 | .with(ViatraModelQuery.ADAPTER) | ||
333 | .queries(predicate) | ||
334 | .build(); | ||
335 | |||
336 | var model = store.createEmptyModel(); | ||
337 | var personInterpretation = model.getInterpretation(person); | ||
338 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
339 | var predicateResultSet = queryEngine.getResultSet(predicate); | ||
340 | |||
341 | personInterpretation.put(Tuple.of(0), true); | ||
342 | personInterpretation.put(Tuple.of(1), true); | ||
343 | |||
344 | queryEngine.flushChanges(); | ||
345 | assertResults(Map.of( | ||
346 | Tuple.of(0), true, | ||
347 | Tuple.of(1), true, | ||
348 | Tuple.of(2), false, | ||
349 | Tuple.of(3), false | ||
350 | ), predicateResultSet); | ||
351 | |||
352 | var state1 = model.commit(); | ||
353 | |||
354 | personInterpretation.put(Tuple.of(1), false); | ||
355 | personInterpretation.put(Tuple.of(2), true); | ||
356 | |||
357 | queryEngine.flushChanges(); | ||
358 | assertResults(Map.of( | ||
359 | Tuple.of(0), true, | ||
360 | Tuple.of(1), false, | ||
361 | Tuple.of(2), true, | ||
362 | Tuple.of(3), false | ||
363 | ), predicateResultSet); | ||
364 | |||
365 | model.restore(state1); | ||
366 | |||
367 | assertFalse(queryEngine.hasPendingChanges()); | ||
368 | assertResults(Map.of( | ||
369 | Tuple.of(0), true, | ||
370 | Tuple.of(1), true, | ||
371 | Tuple.of(2), false, | ||
372 | Tuple.of(3), false | ||
373 | ), predicateResultSet); | ||
374 | } | ||
375 | |||
376 | @Disabled("TODO Fix DiffCursor") | ||
377 | @Test | ||
378 | void commitWithoutFlushTest() { | ||
379 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
380 | var personView = new KeyOnlyRelationView<>(person); | ||
381 | |||
382 | var p1 = Variable.of("p1"); | ||
383 | var predicate = Query.builder("TypeConstraint") | ||
384 | .parameters(p1) | ||
385 | .clause(personView.call(p1)) | ||
386 | .build(); | ||
387 | |||
388 | var store = ModelStore.builder() | ||
389 | .symbols(person) | ||
390 | .with(ViatraModelQuery.ADAPTER) | ||
391 | .queries(predicate) | ||
392 | .build(); | ||
393 | |||
394 | var model = store.createEmptyModel(); | ||
395 | var personInterpretation = model.getInterpretation(person); | ||
396 | var queryEngine = model.getAdapter(ModelQuery.ADAPTER); | ||
397 | var predicateResultSet = queryEngine.getResultSet(predicate); | ||
398 | |||
399 | personInterpretation.put(Tuple.of(0), true); | ||
400 | personInterpretation.put(Tuple.of(1), true); | ||
401 | |||
402 | assertResults(Map.of(), predicateResultSet); | ||
403 | assertTrue(queryEngine.hasPendingChanges()); | ||
404 | |||
405 | var state1 = model.commit(); | ||
406 | |||
407 | personInterpretation.put(Tuple.of(1), false); | ||
408 | personInterpretation.put(Tuple.of(2), true); | ||
409 | |||
410 | assertResults(Map.of(), predicateResultSet); | ||
411 | assertTrue(queryEngine.hasPendingChanges()); | ||
412 | |||
413 | model.restore(state1); | ||
414 | |||
415 | assertResults(Map.of( | ||
416 | Tuple.of(0), true, | ||
417 | Tuple.of(1), true, | ||
418 | Tuple.of(2), false, | ||
419 | Tuple.of(3), false | ||
420 | ), predicateResultSet); | ||
62 | assertFalse(queryEngine.hasPendingChanges()); | 421 | assertFalse(queryEngine.hasPendingChanges()); |
63 | } | 422 | } |
64 | } | 423 | } |
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryAssertions.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryAssertions.java new file mode 100644 index 00000000..6f50ec73 --- /dev/null +++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryAssertions.java | |||
@@ -0,0 +1,52 @@ | |||
1 | package tools.refinery.store.query.viatra.tests; | ||
2 | |||
3 | import org.junit.jupiter.api.function.Executable; | ||
4 | import tools.refinery.store.query.ResultSet; | ||
5 | import tools.refinery.store.tuple.Tuple; | ||
6 | |||
7 | import java.util.*; | ||
8 | |||
9 | import static org.hamcrest.MatcherAssert.assertThat; | ||
10 | import static org.hamcrest.Matchers.is; | ||
11 | import static org.hamcrest.Matchers.nullValue; | ||
12 | import static org.junit.jupiter.api.Assertions.assertAll; | ||
13 | |||
14 | public final class QueryAssertions { | ||
15 | private QueryAssertions() { | ||
16 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | ||
17 | } | ||
18 | |||
19 | public static <T> void assertNullableResults(Map<Tuple, Optional<T>> expected, ResultSet<T> resultSet) { | ||
20 | var nullableValuesMap = new LinkedHashMap<Tuple, T>(expected.size()); | ||
21 | for (var entry : expected.entrySet()) { | ||
22 | nullableValuesMap.put(entry.getKey(), entry.getValue().orElse(null)); | ||
23 | } | ||
24 | assertResults(nullableValuesMap, resultSet); | ||
25 | } | ||
26 | |||
27 | public static <T> void assertResults(Map<Tuple, T> expected, ResultSet<T> resultSet) { | ||
28 | var defaultValue = resultSet.getQuery().defaultValue(); | ||
29 | var filteredExpected = new LinkedHashMap<Tuple, T>(); | ||
30 | var executables = new ArrayList<Executable>(); | ||
31 | for (var entry : expected.entrySet()) { | ||
32 | var key = entry.getKey(); | ||
33 | var value = entry.getValue(); | ||
34 | if (!Objects.equals(value, defaultValue)) { | ||
35 | filteredExpected.put(key, value); | ||
36 | } | ||
37 | executables.add(() -> assertThat("value for key " + key,resultSet.get(key), is(value))); | ||
38 | } | ||
39 | executables.add(() -> assertThat("results size", resultSet.size(), is(filteredExpected.size()))); | ||
40 | |||
41 | var actual = new LinkedHashMap<Tuple, T>(); | ||
42 | var cursor = resultSet.getAll(); | ||
43 | while (cursor.move()) { | ||
44 | var key = cursor.getKey(); | ||
45 | var previous = actual.put(key.toTuple(), cursor.getValue()); | ||
46 | assertThat("duplicate value for key " + key, previous, nullValue()); | ||
47 | } | ||
48 | executables.add(() -> assertThat("results cursor", actual, is(filteredExpected))); | ||
49 | |||
50 | assertAll(executables); | ||
51 | } | ||
52 | } | ||
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryBackendHint.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryBackendHint.java new file mode 100644 index 00000000..b1818a17 --- /dev/null +++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryBackendHint.java | |||
@@ -0,0 +1,22 @@ | |||
1 | package tools.refinery.store.query.viatra.tests; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
4 | |||
5 | /** | ||
6 | * Overrides {@link QueryEvaluationHint#toString()} for pretty names in parametric test names. | ||
7 | */ | ||
8 | class QueryBackendHint extends QueryEvaluationHint { | ||
9 | public QueryBackendHint(BackendRequirement backendRequirementType) { | ||
10 | super(null, backendRequirementType); | ||
11 | } | ||
12 | |||
13 | @Override | ||
14 | public String toString() { | ||
15 | return switch (getQueryBackendRequirementType()) { | ||
16 | case UNSPECIFIED -> "default"; | ||
17 | case DEFAULT_CACHING -> "incremental"; | ||
18 | case DEFAULT_SEARCH -> "localSearch"; | ||
19 | default -> throw new IllegalStateException("Unknown BackendRequirement"); | ||
20 | }; | ||
21 | } | ||
22 | } | ||
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEngineTest.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEngineTest.java new file mode 100644 index 00000000..f129520c --- /dev/null +++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEngineTest.java | |||
@@ -0,0 +1,16 @@ | |||
1 | package tools.refinery.store.query.viatra.tests; | ||
2 | |||
3 | import org.junit.jupiter.params.ParameterizedTest; | ||
4 | import org.junit.jupiter.params.provider.ArgumentsSource; | ||
5 | |||
6 | import java.lang.annotation.ElementType; | ||
7 | import java.lang.annotation.Retention; | ||
8 | import java.lang.annotation.RetentionPolicy; | ||
9 | import java.lang.annotation.Target; | ||
10 | |||
11 | @ParameterizedTest(name = "backend = {0}") | ||
12 | @ArgumentsSource(QueryEvaluationHintSource.class) | ||
13 | @Target(ElementType.METHOD) | ||
14 | @Retention(RetentionPolicy.RUNTIME) | ||
15 | public @interface QueryEngineTest { | ||
16 | } | ||
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEvaluationHintSource.java b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEvaluationHintSource.java new file mode 100644 index 00000000..a55762e2 --- /dev/null +++ b/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/viatra/tests/QueryEvaluationHintSource.java | |||
@@ -0,0 +1,19 @@ | |||
1 | package tools.refinery.store.query.viatra.tests; | ||
2 | |||
3 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
4 | import org.junit.jupiter.api.extension.ExtensionContext; | ||
5 | import org.junit.jupiter.params.provider.Arguments; | ||
6 | import org.junit.jupiter.params.provider.ArgumentsProvider; | ||
7 | |||
8 | import java.util.stream.Stream; | ||
9 | |||
10 | public class QueryEvaluationHintSource implements ArgumentsProvider { | ||
11 | @Override | ||
12 | public Stream<? extends Arguments> provideArguments(ExtensionContext context) { | ||
13 | return Stream.of( | ||
14 | Arguments.of(new QueryBackendHint(QueryEvaluationHint.BackendRequirement.UNSPECIFIED)), | ||
15 | Arguments.of(new QueryBackendHint(QueryEvaluationHint.BackendRequirement.DEFAULT_CACHING)), | ||
16 | Arguments.of(new QueryBackendHint(QueryEvaluationHint.BackendRequirement.DEFAULT_SEARCH)) | ||
17 | ); | ||
18 | } | ||
19 | } | ||
diff --git a/subprojects/store-query/build.gradle b/subprojects/store-query/build.gradle new file mode 100644 index 00000000..97761936 --- /dev/null +++ b/subprojects/store-query/build.gradle | |||
@@ -0,0 +1,9 @@ | |||
1 | plugins { | ||
2 | id 'refinery-java-library' | ||
3 | id 'refinery-java-test-fixtures' | ||
4 | } | ||
5 | |||
6 | dependencies { | ||
7 | api project(':refinery-store') | ||
8 | testFixturesApi libs.hamcrest | ||
9 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/AnyResultSet.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/AnyResultSet.java new file mode 100644 index 00000000..6d411212 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/AnyResultSet.java | |||
@@ -0,0 +1,11 @@ | |||
1 | package tools.refinery.store.query; | ||
2 | |||
3 | import tools.refinery.store.query.dnf.AnyQuery; | ||
4 | |||
5 | public sealed interface AnyResultSet permits ResultSet { | ||
6 | ModelQueryAdapter getAdapter(); | ||
7 | |||
8 | AnyQuery getQuery(); | ||
9 | |||
10 | int size(); | ||
11 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/Constraint.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/Constraint.java new file mode 100644 index 00000000..cec4c19f --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/Constraint.java | |||
@@ -0,0 +1,65 @@ | |||
1 | package tools.refinery.store.query; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | import tools.refinery.store.query.literal.*; | ||
5 | import tools.refinery.store.query.term.*; | ||
6 | |||
7 | import java.util.List; | ||
8 | |||
9 | public interface Constraint { | ||
10 | String name(); | ||
11 | |||
12 | List<Sort> getSorts(); | ||
13 | |||
14 | default int arity() { | ||
15 | return getSorts().size(); | ||
16 | } | ||
17 | |||
18 | default boolean invalidIndex(int i) { | ||
19 | return i < 0 || i >= arity(); | ||
20 | } | ||
21 | |||
22 | default LiteralReduction getReduction() { | ||
23 | return LiteralReduction.NOT_REDUCIBLE; | ||
24 | } | ||
25 | |||
26 | default boolean equals(LiteralEqualityHelper helper, Constraint other) { | ||
27 | return equals(other); | ||
28 | } | ||
29 | |||
30 | String toReferenceString(); | ||
31 | |||
32 | default CallLiteral call(CallPolarity polarity, List<Variable> arguments) { | ||
33 | return new CallLiteral(polarity, this, arguments); | ||
34 | } | ||
35 | |||
36 | default CallLiteral call(CallPolarity polarity, Variable... arguments) { | ||
37 | return call(polarity, List.of(arguments)); | ||
38 | } | ||
39 | |||
40 | default CallLiteral call(Variable... arguments) { | ||
41 | return call(CallPolarity.POSITIVE, arguments); | ||
42 | } | ||
43 | |||
44 | default CallLiteral callTransitive(NodeVariable left, NodeVariable right) { | ||
45 | return call(CallPolarity.TRANSITIVE, List.of(left, right)); | ||
46 | } | ||
47 | |||
48 | default AssignedValue<Integer> count(List<Variable> arguments) { | ||
49 | return targetVariable -> new CountLiteral(targetVariable, this, arguments); | ||
50 | } | ||
51 | |||
52 | default AssignedValue<Integer> count(Variable... arguments) { | ||
53 | return count(List.of(arguments)); | ||
54 | } | ||
55 | |||
56 | default <R, T> AssignedValue<R> aggregate(DataVariable<T> inputVariable, Aggregator<R, T> aggregator, | ||
57 | List<Variable> arguments) { | ||
58 | return targetVariable -> new AggregationLiteral<>(targetVariable, aggregator, inputVariable, this, arguments); | ||
59 | } | ||
60 | |||
61 | default <R, T> AssignedValue<R> aggregate(DataVariable<T> inputVariable, Aggregator<R, T> aggregator, | ||
62 | Variable... arguments) { | ||
63 | return aggregate(inputVariable, aggregator, List.of(arguments)); | ||
64 | } | ||
65 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/EmptyResultSet.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/EmptyResultSet.java new file mode 100644 index 00000000..9af73bdd --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/EmptyResultSet.java | |||
@@ -0,0 +1,34 @@ | |||
1 | package tools.refinery.store.query; | ||
2 | |||
3 | import tools.refinery.store.map.Cursor; | ||
4 | import tools.refinery.store.map.Cursors; | ||
5 | import tools.refinery.store.query.dnf.Query; | ||
6 | import tools.refinery.store.tuple.TupleLike; | ||
7 | |||
8 | public record EmptyResultSet<T>(ModelQueryAdapter adapter, Query<T> query) implements ResultSet<T> { | ||
9 | @Override | ||
10 | public ModelQueryAdapter getAdapter() { | ||
11 | return adapter; | ||
12 | } | ||
13 | |||
14 | @Override | ||
15 | public Query<T> getQuery() { | ||
16 | return query; | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public T get(TupleLike parameters) { | ||
21 | return query.defaultValue(); | ||
22 | } | ||
23 | |||
24 | |||
25 | @Override | ||
26 | public Cursor<TupleLike, T> getAll() { | ||
27 | return Cursors.empty(); | ||
28 | } | ||
29 | |||
30 | @Override | ||
31 | public int size() { | ||
32 | return 0; | ||
33 | } | ||
34 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQuery.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQuery.java index 6a1aeabb..6a1aeabb 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQuery.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQuery.java | |||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryAdapter.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryAdapter.java index 7449e39b..2e30fec4 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryAdapter.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryAdapter.java | |||
@@ -1,11 +1,17 @@ | |||
1 | package tools.refinery.store.query; | 1 | package tools.refinery.store.query; |
2 | 2 | ||
3 | import tools.refinery.store.adapter.ModelAdapter; | 3 | import tools.refinery.store.adapter.ModelAdapter; |
4 | import tools.refinery.store.query.dnf.AnyQuery; | ||
5 | import tools.refinery.store.query.dnf.Query; | ||
4 | 6 | ||
5 | public interface ModelQueryAdapter extends ModelAdapter { | 7 | public interface ModelQueryAdapter extends ModelAdapter { |
6 | ModelQueryStoreAdapter getStoreAdapter(); | 8 | ModelQueryStoreAdapter getStoreAdapter(); |
7 | 9 | ||
8 | ResultSet getResultSet(DNF query); | 10 | default AnyResultSet getResultSet(AnyQuery query) { |
11 | return getResultSet((Query<?>) query); | ||
12 | } | ||
13 | |||
14 | <T> ResultSet<T> getResultSet(Query<T> query); | ||
9 | 15 | ||
10 | boolean hasPendingChanges(); | 16 | boolean hasPendingChanges(); |
11 | 17 | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryBuilder.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryBuilder.java index 4364d844..4fdc9210 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryBuilder.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryBuilder.java | |||
@@ -2,21 +2,23 @@ package tools.refinery.store.query; | |||
2 | 2 | ||
3 | import tools.refinery.store.adapter.ModelAdapterBuilder; | 3 | import tools.refinery.store.adapter.ModelAdapterBuilder; |
4 | import tools.refinery.store.model.ModelStore; | 4 | import tools.refinery.store.model.ModelStore; |
5 | import tools.refinery.store.query.dnf.AnyQuery; | ||
5 | 6 | ||
6 | import java.util.Collection; | 7 | import java.util.Collection; |
7 | import java.util.List; | 8 | import java.util.List; |
8 | 9 | ||
10 | @SuppressWarnings("UnusedReturnValue") | ||
9 | public interface ModelQueryBuilder extends ModelAdapterBuilder { | 11 | public interface ModelQueryBuilder extends ModelAdapterBuilder { |
10 | default ModelQueryBuilder queries(DNF... queries) { | 12 | default ModelQueryBuilder queries(AnyQuery... queries) { |
11 | return queries(List.of(queries)); | 13 | return queries(List.of(queries)); |
12 | } | 14 | } |
13 | 15 | ||
14 | default ModelQueryBuilder queries(Collection<DNF> queries) { | 16 | default ModelQueryBuilder queries(Collection<? extends AnyQuery> queries) { |
15 | queries.forEach(this::query); | 17 | queries.forEach(this::query); |
16 | return this; | 18 | return this; |
17 | } | 19 | } |
18 | 20 | ||
19 | ModelQueryBuilder query(DNF query); | 21 | ModelQueryBuilder query(AnyQuery query); |
20 | 22 | ||
21 | @Override | 23 | @Override |
22 | ModelQueryStoreAdapter createStoreAdapter(ModelStore store); | 24 | ModelQueryStoreAdapter createStoreAdapter(ModelStore store); |
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryStoreAdapter.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryStoreAdapter.java index ef5a4587..514e582b 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/ModelQueryStoreAdapter.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/ModelQueryStoreAdapter.java | |||
@@ -2,6 +2,7 @@ package tools.refinery.store.query; | |||
2 | 2 | ||
3 | import tools.refinery.store.adapter.ModelStoreAdapter; | 3 | import tools.refinery.store.adapter.ModelStoreAdapter; |
4 | import tools.refinery.store.model.Model; | 4 | import tools.refinery.store.model.Model; |
5 | import tools.refinery.store.query.dnf.AnyQuery; | ||
5 | import tools.refinery.store.query.view.AnyRelationView; | 6 | import tools.refinery.store.query.view.AnyRelationView; |
6 | 7 | ||
7 | import java.util.Collection; | 8 | import java.util.Collection; |
@@ -9,7 +10,7 @@ import java.util.Collection; | |||
9 | public interface ModelQueryStoreAdapter extends ModelStoreAdapter { | 10 | public interface ModelQueryStoreAdapter extends ModelStoreAdapter { |
10 | Collection<AnyRelationView> getRelationViews(); | 11 | Collection<AnyRelationView> getRelationViews(); |
11 | 12 | ||
12 | Collection<DNF> getQueries(); | 13 | Collection<AnyQuery> getQueries(); |
13 | 14 | ||
14 | @Override | 15 | @Override |
15 | ModelQueryAdapter createModelAdapter(Model model); | 16 | ModelQueryAdapter createModelAdapter(Model model); |
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/ResultSet.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/ResultSet.java new file mode 100644 index 00000000..3f6bc06f --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/ResultSet.java | |||
@@ -0,0 +1,13 @@ | |||
1 | package tools.refinery.store.query; | ||
2 | |||
3 | import tools.refinery.store.map.Cursor; | ||
4 | import tools.refinery.store.query.dnf.Query; | ||
5 | import tools.refinery.store.tuple.TupleLike; | ||
6 | |||
7 | public non-sealed interface ResultSet<T> extends AnyResultSet { | ||
8 | Query<T> getQuery(); | ||
9 | |||
10 | T get(TupleLike parameters); | ||
11 | |||
12 | Cursor<TupleLike, T> getAll(); | ||
13 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/AnyQuery.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/AnyQuery.java new file mode 100644 index 00000000..d0a2367f --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/AnyQuery.java | |||
@@ -0,0 +1,11 @@ | |||
1 | package tools.refinery.store.query.dnf; | ||
2 | |||
3 | public sealed interface AnyQuery permits Query { | ||
4 | String name(); | ||
5 | |||
6 | int arity(); | ||
7 | |||
8 | Class<?> valueType(); | ||
9 | |||
10 | Dnf getDnf(); | ||
11 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Dnf.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Dnf.java new file mode 100644 index 00000000..1b7759c7 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Dnf.java | |||
@@ -0,0 +1,194 @@ | |||
1 | package tools.refinery.store.query.dnf; | ||
2 | |||
3 | import tools.refinery.store.query.equality.DnfEqualityChecker; | ||
4 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
5 | import tools.refinery.store.query.Constraint; | ||
6 | import tools.refinery.store.query.literal.LiteralReduction; | ||
7 | import tools.refinery.store.query.term.Sort; | ||
8 | import tools.refinery.store.query.term.Variable; | ||
9 | |||
10 | import java.util.Collection; | ||
11 | import java.util.HashSet; | ||
12 | import java.util.List; | ||
13 | import java.util.Set; | ||
14 | |||
15 | public final class Dnf implements Constraint { | ||
16 | private static final String INDENTATION = " "; | ||
17 | |||
18 | private final String name; | ||
19 | |||
20 | private final String uniqueName; | ||
21 | |||
22 | private final List<Variable> parameters; | ||
23 | |||
24 | private final List<FunctionalDependency<Variable>> functionalDependencies; | ||
25 | |||
26 | private final List<DnfClause> clauses; | ||
27 | |||
28 | Dnf(String name, List<Variable> parameters, List<FunctionalDependency<Variable>> functionalDependencies, | ||
29 | List<DnfClause> clauses) { | ||
30 | validateFunctionalDependencies(parameters, functionalDependencies); | ||
31 | this.name = name; | ||
32 | this.uniqueName = DnfUtils.generateUniqueName(name); | ||
33 | this.parameters = parameters; | ||
34 | this.functionalDependencies = functionalDependencies; | ||
35 | this.clauses = clauses; | ||
36 | } | ||
37 | |||
38 | private static void validateFunctionalDependencies( | ||
39 | Collection<Variable> parameters, Collection<FunctionalDependency<Variable>> functionalDependencies) { | ||
40 | var parameterSet = new HashSet<>(parameters); | ||
41 | for (var functionalDependency : functionalDependencies) { | ||
42 | validateParameters(parameters, parameterSet, functionalDependency.forEach(), functionalDependency); | ||
43 | validateParameters(parameters, parameterSet, functionalDependency.unique(), functionalDependency); | ||
44 | } | ||
45 | } | ||
46 | |||
47 | private static void validateParameters(Collection<Variable> parameters, Set<Variable> parameterSet, | ||
48 | Collection<Variable> toValidate, | ||
49 | FunctionalDependency<Variable> functionalDependency) { | ||
50 | for (var variable : toValidate) { | ||
51 | if (!parameterSet.contains(variable)) { | ||
52 | throw new IllegalArgumentException( | ||
53 | "Variable %s of functional dependency %s does not appear in the parameter list %s" | ||
54 | .formatted(variable, functionalDependency, parameters)); | ||
55 | } | ||
56 | } | ||
57 | } | ||
58 | |||
59 | @Override | ||
60 | public String name() { | ||
61 | return name == null ? uniqueName : name; | ||
62 | } | ||
63 | |||
64 | public boolean isExplicitlyNamed() { | ||
65 | return name == null; | ||
66 | } | ||
67 | |||
68 | public String getUniqueName() { | ||
69 | return uniqueName; | ||
70 | } | ||
71 | |||
72 | public List<Variable> getParameters() { | ||
73 | return parameters; | ||
74 | } | ||
75 | |||
76 | @Override | ||
77 | public List<Sort> getSorts() { | ||
78 | return parameters.stream().map(Variable::getSort).toList(); | ||
79 | } | ||
80 | |||
81 | public List<FunctionalDependency<Variable>> getFunctionalDependencies() { | ||
82 | return functionalDependencies; | ||
83 | } | ||
84 | |||
85 | @Override | ||
86 | public int arity() { | ||
87 | return parameters.size(); | ||
88 | } | ||
89 | |||
90 | public List<DnfClause> getClauses() { | ||
91 | return clauses; | ||
92 | } | ||
93 | |||
94 | public RelationalQuery asRelation() { | ||
95 | return new RelationalQuery(this); | ||
96 | } | ||
97 | |||
98 | public <T> FunctionalQuery<T> asFunction(Class<T> type) { | ||
99 | return new FunctionalQuery<>(this, type); | ||
100 | } | ||
101 | |||
102 | @Override | ||
103 | public LiteralReduction getReduction() { | ||
104 | if (clauses.isEmpty()) { | ||
105 | return LiteralReduction.ALWAYS_FALSE; | ||
106 | } | ||
107 | for (var clause : clauses) { | ||
108 | if (clause.literals().isEmpty()) { | ||
109 | return LiteralReduction.ALWAYS_TRUE; | ||
110 | } | ||
111 | } | ||
112 | return LiteralReduction.NOT_REDUCIBLE; | ||
113 | } | ||
114 | |||
115 | public boolean equalsWithSubstitution(DnfEqualityChecker callEqualityChecker, Dnf other) { | ||
116 | if (arity() != other.arity()) { | ||
117 | return false; | ||
118 | } | ||
119 | int numClauses = clauses.size(); | ||
120 | if (numClauses != other.clauses.size()) { | ||
121 | return false; | ||
122 | } | ||
123 | for (int i = 0; i < numClauses; i++) { | ||
124 | var literalEqualityHelper = new LiteralEqualityHelper(callEqualityChecker, parameters, other.parameters); | ||
125 | if (!clauses.get(i).equalsWithSubstitution(literalEqualityHelper, other.clauses.get(i))) { | ||
126 | return false; | ||
127 | } | ||
128 | } | ||
129 | return true; | ||
130 | } | ||
131 | |||
132 | @Override | ||
133 | public boolean equals(LiteralEqualityHelper helper, Constraint other) { | ||
134 | if (other instanceof Dnf otherDnf) { | ||
135 | return helper.dnfEqual(this, otherDnf); | ||
136 | } | ||
137 | return false; | ||
138 | } | ||
139 | |||
140 | @Override | ||
141 | public String toString() { | ||
142 | return "%s/%d".formatted(name, arity()); | ||
143 | } | ||
144 | |||
145 | @Override | ||
146 | public String toReferenceString() { | ||
147 | return "@Dnf " + name; | ||
148 | } | ||
149 | |||
150 | public String toDefinitionString() { | ||
151 | var builder = new StringBuilder(); | ||
152 | builder.append("pred ").append(name()).append("("); | ||
153 | var parameterIterator = parameters.iterator(); | ||
154 | if (parameterIterator.hasNext()) { | ||
155 | builder.append(parameterIterator.next()); | ||
156 | while (parameterIterator.hasNext()) { | ||
157 | builder.append(", ").append(parameterIterator.next()); | ||
158 | } | ||
159 | } | ||
160 | builder.append(") <->"); | ||
161 | var clauseIterator = clauses.iterator(); | ||
162 | if (clauseIterator.hasNext()) { | ||
163 | appendClause(clauseIterator.next(), builder); | ||
164 | while (clauseIterator.hasNext()) { | ||
165 | builder.append("\n;"); | ||
166 | appendClause(clauseIterator.next(), builder); | ||
167 | } | ||
168 | } else { | ||
169 | builder.append("\n").append(INDENTATION).append("<no clauses>"); | ||
170 | } | ||
171 | builder.append(".\n"); | ||
172 | return builder.toString(); | ||
173 | } | ||
174 | |||
175 | private static void appendClause(DnfClause clause, StringBuilder builder) { | ||
176 | var iterator = clause.literals().iterator(); | ||
177 | if (!iterator.hasNext()) { | ||
178 | builder.append("\n").append(INDENTATION).append("<empty>"); | ||
179 | return; | ||
180 | } | ||
181 | builder.append("\n").append(INDENTATION).append(iterator.next()); | ||
182 | while (iterator.hasNext()) { | ||
183 | builder.append(",\n").append(INDENTATION).append(iterator.next()); | ||
184 | } | ||
185 | } | ||
186 | |||
187 | public static DnfBuilder builder() { | ||
188 | return builder(null); | ||
189 | } | ||
190 | |||
191 | public static DnfBuilder builder(String name) { | ||
192 | return new DnfBuilder(name); | ||
193 | } | ||
194 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java new file mode 100644 index 00000000..aad5a85f --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfBuilder.java | |||
@@ -0,0 +1,110 @@ | |||
1 | package tools.refinery.store.query.dnf; | ||
2 | |||
3 | import tools.refinery.store.query.literal.Literal; | ||
4 | import tools.refinery.store.query.term.DataVariable; | ||
5 | import tools.refinery.store.query.term.Variable; | ||
6 | |||
7 | import java.util.*; | ||
8 | |||
9 | @SuppressWarnings("UnusedReturnValue") | ||
10 | public final class DnfBuilder { | ||
11 | private final String name; | ||
12 | |||
13 | private final List<Variable> parameters = new ArrayList<>(); | ||
14 | |||
15 | private final List<FunctionalDependency<Variable>> functionalDependencies = new ArrayList<>(); | ||
16 | |||
17 | private final List<List<Literal>> clauses = new ArrayList<>(); | ||
18 | |||
19 | DnfBuilder(String name) { | ||
20 | this.name = name; | ||
21 | } | ||
22 | |||
23 | public DnfBuilder parameter(Variable variable) { | ||
24 | if (parameters.contains(variable)) { | ||
25 | throw new IllegalArgumentException("Duplicate parameter: " + variable); | ||
26 | } | ||
27 | parameters.add(variable); | ||
28 | return this; | ||
29 | } | ||
30 | |||
31 | public DnfBuilder parameters(Variable... variables) { | ||
32 | return parameters(List.of(variables)); | ||
33 | } | ||
34 | |||
35 | public DnfBuilder parameters(Collection<? extends Variable> variables) { | ||
36 | parameters.addAll(variables); | ||
37 | return this; | ||
38 | } | ||
39 | |||
40 | public DnfBuilder functionalDependencies(Collection<FunctionalDependency<Variable>> functionalDependencies) { | ||
41 | this.functionalDependencies.addAll(functionalDependencies); | ||
42 | return this; | ||
43 | } | ||
44 | |||
45 | public DnfBuilder functionalDependency(FunctionalDependency<Variable> functionalDependency) { | ||
46 | functionalDependencies.add(functionalDependency); | ||
47 | return this; | ||
48 | } | ||
49 | |||
50 | public DnfBuilder functionalDependency(Set<? extends Variable> forEach, Set<? extends Variable> unique) { | ||
51 | return functionalDependency(new FunctionalDependency<>(Set.copyOf(forEach), Set.copyOf(unique))); | ||
52 | } | ||
53 | |||
54 | public DnfBuilder clause(Literal... literals) { | ||
55 | clause(List.of(literals)); | ||
56 | return this; | ||
57 | } | ||
58 | |||
59 | public DnfBuilder clause(Collection<? extends Literal> literals) { | ||
60 | // Remove duplicates by using a hashed data structure. | ||
61 | var filteredLiterals = new LinkedHashSet<Literal>(literals.size()); | ||
62 | for (var literal : literals) { | ||
63 | var reduction = literal.getReduction(); | ||
64 | switch (reduction) { | ||
65 | case NOT_REDUCIBLE -> filteredLiterals.add(literal); | ||
66 | case ALWAYS_TRUE -> { | ||
67 | // Literals reducible to {@code true} can be omitted, because the model is always assumed to have at | ||
68 | // least on object. | ||
69 | } | ||
70 | case ALWAYS_FALSE -> { | ||
71 | // Clauses with {@code false} literals can be omitted entirely. | ||
72 | return this; | ||
73 | } | ||
74 | default -> throw new IllegalArgumentException("Invalid reduction: " + reduction); | ||
75 | } | ||
76 | } | ||
77 | clauses.add(List.copyOf(filteredLiterals)); | ||
78 | return this; | ||
79 | } | ||
80 | |||
81 | public Dnf build() { | ||
82 | var postProcessedClauses = postProcessClauses(); | ||
83 | return new Dnf(name, Collections.unmodifiableList(parameters), | ||
84 | Collections.unmodifiableList(functionalDependencies), | ||
85 | Collections.unmodifiableList(postProcessedClauses)); | ||
86 | } | ||
87 | |||
88 | <T> void output(DataVariable<T> outputVariable) { | ||
89 | functionalDependency(Set.copyOf(parameters), Set.of(outputVariable)); | ||
90 | parameter(outputVariable); | ||
91 | } | ||
92 | |||
93 | private List<DnfClause> postProcessClauses() { | ||
94 | var postProcessedClauses = new ArrayList<DnfClause>(clauses.size()); | ||
95 | for (var literals : clauses) { | ||
96 | if (literals.isEmpty()) { | ||
97 | // Predicate will always match, the other clauses are irrelevant. | ||
98 | return List.of(new DnfClause(Set.of(), List.of())); | ||
99 | } | ||
100 | var variables = new HashSet<Variable>(); | ||
101 | for (var literal : literals) { | ||
102 | variables.addAll(literal.getBoundVariables()); | ||
103 | } | ||
104 | parameters.forEach(variables::remove); | ||
105 | postProcessedClauses.add(new DnfClause(Collections.unmodifiableSet(variables), | ||
106 | Collections.unmodifiableList(literals))); | ||
107 | } | ||
108 | return postProcessedClauses; | ||
109 | } | ||
110 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfClause.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfClause.java new file mode 100644 index 00000000..01830af1 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfClause.java | |||
@@ -0,0 +1,23 @@ | |||
1 | package tools.refinery.store.query.dnf; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | import tools.refinery.store.query.literal.Literal; | ||
5 | import tools.refinery.store.query.term.Variable; | ||
6 | |||
7 | import java.util.List; | ||
8 | import java.util.Set; | ||
9 | |||
10 | public record DnfClause(Set<Variable> boundVariables, List<Literal> literals) { | ||
11 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, DnfClause other) { | ||
12 | int size = literals.size(); | ||
13 | if (size != other.literals.size()) { | ||
14 | return false; | ||
15 | } | ||
16 | for (int i = 0; i < size; i++) { | ||
17 | if (!literals.get(i).equalsWithSubstitution(helper, other.literals.get(i))) { | ||
18 | return false; | ||
19 | } | ||
20 | } | ||
21 | return true; | ||
22 | } | ||
23 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/DNFUtils.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfUtils.java index 0ef77d49..9bcf944c 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/DNFUtils.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/DnfUtils.java | |||
@@ -1,9 +1,9 @@ | |||
1 | package tools.refinery.store.query; | 1 | package tools.refinery.store.query.dnf; |
2 | 2 | ||
3 | import java.util.UUID; | 3 | import java.util.UUID; |
4 | 4 | ||
5 | public final class DNFUtils { | 5 | public final class DnfUtils { |
6 | private DNFUtils() { | 6 | private DnfUtils() { |
7 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | 7 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); |
8 | } | 8 | } |
9 | 9 | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/FunctionalDependency.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalDependency.java index 63a81713..f4cd109f 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/FunctionalDependency.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalDependency.java | |||
@@ -1,4 +1,4 @@ | |||
1 | package tools.refinery.store.query; | 1 | package tools.refinery.store.query.dnf; |
2 | 2 | ||
3 | import java.util.HashSet; | 3 | import java.util.HashSet; |
4 | import java.util.Set; | 4 | import java.util.Set; |
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQuery.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQuery.java new file mode 100644 index 00000000..5bf6f8c5 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQuery.java | |||
@@ -0,0 +1,103 @@ | |||
1 | package tools.refinery.store.query.dnf; | ||
2 | |||
3 | import tools.refinery.store.query.literal.CallPolarity; | ||
4 | import tools.refinery.store.query.term.*; | ||
5 | |||
6 | import java.util.ArrayList; | ||
7 | import java.util.List; | ||
8 | import java.util.Objects; | ||
9 | |||
10 | public final class FunctionalQuery<T> implements Query<T> { | ||
11 | private final Dnf dnf; | ||
12 | private final Class<T> type; | ||
13 | |||
14 | FunctionalQuery(Dnf dnf, Class<T> type) { | ||
15 | var parameters = dnf.getParameters(); | ||
16 | int outputIndex = dnf.arity() - 1; | ||
17 | for (int i = 0; i < outputIndex; i++) { | ||
18 | var parameter = parameters.get(i); | ||
19 | if (!(parameter instanceof NodeVariable)) { | ||
20 | throw new IllegalArgumentException("Expected parameter %s of %s to be of sort %s, but got %s instead" | ||
21 | .formatted(parameter, dnf, NodeSort.INSTANCE, parameter.getSort())); | ||
22 | } | ||
23 | } | ||
24 | var outputParameter = parameters.get(outputIndex); | ||
25 | if (!(outputParameter instanceof DataVariable<?> dataOutputParameter) || | ||
26 | !dataOutputParameter.getType().equals(type)) { | ||
27 | throw new IllegalArgumentException("Expected parameter %s of %s to be of sort %s, but got %s instead" | ||
28 | .formatted(outputParameter, dnf, type, outputParameter.getSort())); | ||
29 | } | ||
30 | this.dnf = dnf; | ||
31 | this.type = type; | ||
32 | } | ||
33 | |||
34 | @Override | ||
35 | public String name() { | ||
36 | return dnf.name(); | ||
37 | } | ||
38 | |||
39 | @Override | ||
40 | public int arity() { | ||
41 | return dnf.arity() - 1; | ||
42 | } | ||
43 | |||
44 | @Override | ||
45 | public Class<T> valueType() { | ||
46 | return type; | ||
47 | } | ||
48 | |||
49 | @Override | ||
50 | public T defaultValue() { | ||
51 | return null; | ||
52 | } | ||
53 | |||
54 | @Override | ||
55 | public Dnf getDnf() { | ||
56 | return dnf; | ||
57 | } | ||
58 | |||
59 | public AssignedValue<T> call(List<NodeVariable> arguments) { | ||
60 | return targetVariable -> { | ||
61 | var argumentsWithTarget = new ArrayList<Variable>(arguments.size() + 1); | ||
62 | argumentsWithTarget.addAll(arguments); | ||
63 | argumentsWithTarget.add(targetVariable); | ||
64 | return dnf.call(CallPolarity.POSITIVE, argumentsWithTarget); | ||
65 | }; | ||
66 | } | ||
67 | |||
68 | public AssignedValue<T> call(NodeVariable... arguments) { | ||
69 | return call(List.of(arguments)); | ||
70 | } | ||
71 | |||
72 | public <R> AssignedValue<R> aggregate(Aggregator<R, T> aggregator, List<NodeVariable> arguments) { | ||
73 | return targetVariable -> { | ||
74 | var placeholderVariable = Variable.of(type); | ||
75 | var argumentsWithPlaceholder = new ArrayList<Variable>(arguments.size() + 1); | ||
76 | argumentsWithPlaceholder.addAll(arguments); | ||
77 | argumentsWithPlaceholder.add(placeholderVariable); | ||
78 | return dnf.aggregate(placeholderVariable, aggregator, argumentsWithPlaceholder).toLiteral(targetVariable); | ||
79 | }; | ||
80 | } | ||
81 | |||
82 | public <R> AssignedValue<R> aggregate(Aggregator<R, T> aggregator, NodeVariable... arguments) { | ||
83 | return aggregate(aggregator, List.of(arguments)); | ||
84 | } | ||
85 | |||
86 | @Override | ||
87 | public boolean equals(Object o) { | ||
88 | if (this == o) return true; | ||
89 | if (o == null || getClass() != o.getClass()) return false; | ||
90 | FunctionalQuery<?> that = (FunctionalQuery<?>) o; | ||
91 | return dnf.equals(that.dnf) && type.equals(that.type); | ||
92 | } | ||
93 | |||
94 | @Override | ||
95 | public int hashCode() { | ||
96 | return Objects.hash(dnf, type); | ||
97 | } | ||
98 | |||
99 | @Override | ||
100 | public String toString() { | ||
101 | return dnf.toString(); | ||
102 | } | ||
103 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQueryBuilder.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQueryBuilder.java new file mode 100644 index 00000000..ca2bc006 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/FunctionalQueryBuilder.java | |||
@@ -0,0 +1,46 @@ | |||
1 | package tools.refinery.store.query.dnf; | ||
2 | |||
3 | import tools.refinery.store.query.literal.Literal; | ||
4 | import tools.refinery.store.query.term.Variable; | ||
5 | |||
6 | import java.util.Collection; | ||
7 | import java.util.Set; | ||
8 | |||
9 | public final class FunctionalQueryBuilder<T> { | ||
10 | private final DnfBuilder dnfBuilder; | ||
11 | private final Class<T> type; | ||
12 | |||
13 | FunctionalQueryBuilder(DnfBuilder dnfBuilder, Class<T> type) { | ||
14 | this.dnfBuilder = dnfBuilder; | ||
15 | this.type = type; | ||
16 | } | ||
17 | |||
18 | public FunctionalQueryBuilder<T> functionalDependencies(Collection<FunctionalDependency<Variable>> functionalDependencies) { | ||
19 | dnfBuilder.functionalDependencies(functionalDependencies); | ||
20 | return this; | ||
21 | } | ||
22 | |||
23 | public FunctionalQueryBuilder<T> functionalDependency(FunctionalDependency<Variable> functionalDependency) { | ||
24 | dnfBuilder.functionalDependency(functionalDependency); | ||
25 | return this; | ||
26 | } | ||
27 | |||
28 | public FunctionalQueryBuilder<T> functionalDependency(Set<? extends Variable> forEach, Set<? extends Variable> unique) { | ||
29 | dnfBuilder.functionalDependency(forEach, unique); | ||
30 | return this; | ||
31 | } | ||
32 | |||
33 | public FunctionalQueryBuilder<T> clause(Literal... literals) { | ||
34 | dnfBuilder.clause(literals); | ||
35 | return this; | ||
36 | } | ||
37 | |||
38 | public FunctionalQueryBuilder<T> clause(Collection<? extends Literal> literals) { | ||
39 | dnfBuilder.clause(literals); | ||
40 | return this; | ||
41 | } | ||
42 | |||
43 | public FunctionalQuery<T> build() { | ||
44 | return dnfBuilder.build().asFunction(type); | ||
45 | } | ||
46 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Query.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Query.java new file mode 100644 index 00000000..32e33052 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/Query.java | |||
@@ -0,0 +1,16 @@ | |||
1 | package tools.refinery.store.query.dnf; | ||
2 | |||
3 | public sealed interface Query<T> extends AnyQuery permits RelationalQuery, FunctionalQuery { | ||
4 | @Override | ||
5 | Class<T> valueType(); | ||
6 | |||
7 | T defaultValue(); | ||
8 | |||
9 | static QueryBuilder builder() { | ||
10 | return new QueryBuilder(); | ||
11 | } | ||
12 | |||
13 | static QueryBuilder builder(String name) { | ||
14 | return new QueryBuilder(name); | ||
15 | } | ||
16 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/QueryBuilder.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/QueryBuilder.java new file mode 100644 index 00000000..ed253cc9 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/QueryBuilder.java | |||
@@ -0,0 +1,71 @@ | |||
1 | package tools.refinery.store.query.dnf; | ||
2 | |||
3 | import tools.refinery.store.query.literal.Literal; | ||
4 | import tools.refinery.store.query.term.DataVariable; | ||
5 | import tools.refinery.store.query.term.NodeVariable; | ||
6 | import tools.refinery.store.query.term.Variable; | ||
7 | |||
8 | import java.util.Collection; | ||
9 | import java.util.List; | ||
10 | import java.util.Set; | ||
11 | |||
12 | public final class QueryBuilder { | ||
13 | private final DnfBuilder dnfBuilder; | ||
14 | |||
15 | QueryBuilder(String name) { | ||
16 | dnfBuilder = Dnf.builder(name); | ||
17 | } | ||
18 | |||
19 | QueryBuilder() { | ||
20 | dnfBuilder = Dnf.builder(); | ||
21 | } | ||
22 | |||
23 | public QueryBuilder parameter(NodeVariable variable) { | ||
24 | dnfBuilder.parameter(variable); | ||
25 | return this; | ||
26 | } | ||
27 | |||
28 | public QueryBuilder parameters(NodeVariable... variables) { | ||
29 | dnfBuilder.parameters(variables); | ||
30 | return this; | ||
31 | } | ||
32 | |||
33 | public QueryBuilder parameters(List<NodeVariable> variables) { | ||
34 | dnfBuilder.parameters(variables); | ||
35 | return this; | ||
36 | } | ||
37 | |||
38 | public <T> FunctionalQueryBuilder<T> output(DataVariable<T> outputVariable) { | ||
39 | dnfBuilder.output(outputVariable); | ||
40 | return new FunctionalQueryBuilder<>(dnfBuilder, outputVariable.getType()); | ||
41 | } | ||
42 | |||
43 | public QueryBuilder functionalDependencies(Collection<FunctionalDependency<Variable>> functionalDependencies) { | ||
44 | dnfBuilder.functionalDependencies(functionalDependencies); | ||
45 | return this; | ||
46 | } | ||
47 | |||
48 | public QueryBuilder functionalDependency(FunctionalDependency<Variable> functionalDependency) { | ||
49 | dnfBuilder.functionalDependency(functionalDependency); | ||
50 | return this; | ||
51 | } | ||
52 | |||
53 | public QueryBuilder functionalDependency(Set<? extends Variable> forEach, Set<? extends Variable> unique) { | ||
54 | dnfBuilder.functionalDependency(forEach, unique); | ||
55 | return this; | ||
56 | } | ||
57 | |||
58 | public QueryBuilder clause(Literal... literals) { | ||
59 | dnfBuilder.clause(literals); | ||
60 | return this; | ||
61 | } | ||
62 | |||
63 | public QueryBuilder clause(Collection<? extends Literal> literals) { | ||
64 | dnfBuilder.clause(literals); | ||
65 | return this; | ||
66 | } | ||
67 | |||
68 | public RelationalQuery build() { | ||
69 | return dnfBuilder.build().asRelation(); | ||
70 | } | ||
71 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java new file mode 100644 index 00000000..5307e509 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java | |||
@@ -0,0 +1,93 @@ | |||
1 | package tools.refinery.store.query.dnf; | ||
2 | |||
3 | import tools.refinery.store.query.literal.CallLiteral; | ||
4 | import tools.refinery.store.query.literal.CallPolarity; | ||
5 | import tools.refinery.store.query.term.AssignedValue; | ||
6 | import tools.refinery.store.query.term.NodeSort; | ||
7 | import tools.refinery.store.query.term.NodeVariable; | ||
8 | |||
9 | import java.util.Collections; | ||
10 | import java.util.List; | ||
11 | import java.util.Objects; | ||
12 | |||
13 | public final class RelationalQuery implements Query<Boolean> { | ||
14 | private final Dnf dnf; | ||
15 | |||
16 | RelationalQuery(Dnf dnf) { | ||
17 | for (var parameter : dnf.getParameters()) { | ||
18 | if (!(parameter instanceof NodeVariable)) { | ||
19 | throw new IllegalArgumentException("Expected parameter %s of %s to be of sort %s, but got %s instead" | ||
20 | .formatted(parameter, dnf, NodeSort.INSTANCE, parameter.getSort())); | ||
21 | } | ||
22 | } | ||
23 | this.dnf = dnf; | ||
24 | } | ||
25 | |||
26 | @Override | ||
27 | public String name() { | ||
28 | return dnf.name(); | ||
29 | } | ||
30 | |||
31 | @Override | ||
32 | public int arity() { | ||
33 | return dnf.arity(); | ||
34 | } | ||
35 | |||
36 | @Override | ||
37 | public Class<Boolean> valueType() { | ||
38 | return Boolean.class; | ||
39 | } | ||
40 | |||
41 | @Override | ||
42 | public Boolean defaultValue() { | ||
43 | return false; | ||
44 | } | ||
45 | |||
46 | @Override | ||
47 | public Dnf getDnf() { | ||
48 | return dnf; | ||
49 | } | ||
50 | |||
51 | public CallLiteral call(CallPolarity polarity, List<NodeVariable> arguments) { | ||
52 | return dnf.call(polarity, Collections.unmodifiableList(arguments)); | ||
53 | } | ||
54 | |||
55 | public CallLiteral call(CallPolarity polarity, NodeVariable... arguments) { | ||
56 | return dnf.call(polarity, arguments); | ||
57 | } | ||
58 | |||
59 | public CallLiteral call(NodeVariable... arguments) { | ||
60 | return dnf.call(arguments); | ||
61 | } | ||
62 | |||
63 | public CallLiteral callTransitive(NodeVariable left, NodeVariable right) { | ||
64 | return dnf.callTransitive(left, right); | ||
65 | } | ||
66 | |||
67 | public AssignedValue<Integer> count(List<NodeVariable> arguments) { | ||
68 | return dnf.count(Collections.unmodifiableList(arguments)); | ||
69 | } | ||
70 | |||
71 | public AssignedValue<Integer> count(NodeVariable... arguments) { | ||
72 | return dnf.count(arguments); | ||
73 | } | ||
74 | |||
75 | |||
76 | @Override | ||
77 | public boolean equals(Object o) { | ||
78 | if (this == o) return true; | ||
79 | if (o == null || getClass() != o.getClass()) return false; | ||
80 | RelationalQuery that = (RelationalQuery) o; | ||
81 | return dnf.equals(that.dnf); | ||
82 | } | ||
83 | |||
84 | @Override | ||
85 | public int hashCode() { | ||
86 | return Objects.hash(dnf); | ||
87 | } | ||
88 | |||
89 | @Override | ||
90 | public String toString() { | ||
91 | return dnf.toString(); | ||
92 | } | ||
93 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DeepDnfEqualityChecker.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DeepDnfEqualityChecker.java new file mode 100644 index 00000000..c3bc3ea3 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DeepDnfEqualityChecker.java | |||
@@ -0,0 +1,31 @@ | |||
1 | package tools.refinery.store.query.equality; | ||
2 | |||
3 | import tools.refinery.store.query.dnf.Dnf; | ||
4 | import tools.refinery.store.util.CycleDetectingMapper; | ||
5 | |||
6 | import java.util.List; | ||
7 | |||
8 | public class DeepDnfEqualityChecker implements DnfEqualityChecker { | ||
9 | private final CycleDetectingMapper<Pair, Boolean> mapper = new CycleDetectingMapper<>(Pair::toString, | ||
10 | this::doCheckEqual); | ||
11 | |||
12 | @Override | ||
13 | public boolean dnfEqual(Dnf left, Dnf right) { | ||
14 | return mapper.map(new Pair(left, right)); | ||
15 | } | ||
16 | |||
17 | protected boolean doCheckEqual(Pair pair) { | ||
18 | return pair.left.equalsWithSubstitution(this, pair.right); | ||
19 | } | ||
20 | |||
21 | protected List<Pair> getInProgress() { | ||
22 | return mapper.getInProgress(); | ||
23 | } | ||
24 | |||
25 | protected record Pair(Dnf left, Dnf right) { | ||
26 | @Override | ||
27 | public String toString() { | ||
28 | return "(%s, %s)".formatted(left.name(), right.name()); | ||
29 | } | ||
30 | } | ||
31 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DnfEqualityChecker.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DnfEqualityChecker.java new file mode 100644 index 00000000..6b1f2076 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/DnfEqualityChecker.java | |||
@@ -0,0 +1,8 @@ | |||
1 | package tools.refinery.store.query.equality; | ||
2 | |||
3 | import tools.refinery.store.query.dnf.Dnf; | ||
4 | |||
5 | @FunctionalInterface | ||
6 | public interface DnfEqualityChecker { | ||
7 | boolean dnfEqual(Dnf left, Dnf right); | ||
8 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/LiteralEqualityHelper.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/LiteralEqualityHelper.java new file mode 100644 index 00000000..07d261ea --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/equality/LiteralEqualityHelper.java | |||
@@ -0,0 +1,48 @@ | |||
1 | package tools.refinery.store.query.equality; | ||
2 | |||
3 | import tools.refinery.store.query.dnf.Dnf; | ||
4 | import tools.refinery.store.query.term.Variable; | ||
5 | |||
6 | import java.util.HashMap; | ||
7 | import java.util.List; | ||
8 | import java.util.Map; | ||
9 | |||
10 | public class LiteralEqualityHelper { | ||
11 | private final DnfEqualityChecker dnfEqualityChecker; | ||
12 | private final Map<Variable, Variable> leftToRight; | ||
13 | private final Map<Variable, Variable> rightToLeft; | ||
14 | |||
15 | public LiteralEqualityHelper(DnfEqualityChecker dnfEqualityChecker, List<Variable> leftParameters, | ||
16 | List<Variable> rightParameters) { | ||
17 | this.dnfEqualityChecker = dnfEqualityChecker; | ||
18 | var arity = leftParameters.size(); | ||
19 | if (arity != rightParameters.size()) { | ||
20 | throw new IllegalArgumentException("Parameter lists have unequal length"); | ||
21 | } | ||
22 | leftToRight = new HashMap<>(arity); | ||
23 | rightToLeft = new HashMap<>(arity); | ||
24 | for (int i = 0; i < arity; i++) { | ||
25 | if (!variableEqual(leftParameters.get(i), rightParameters.get(i))) { | ||
26 | throw new IllegalArgumentException("Parameter lists cannot be unified: duplicate parameter " + i); | ||
27 | } | ||
28 | } | ||
29 | } | ||
30 | |||
31 | public boolean dnfEqual(Dnf left, Dnf right) { | ||
32 | return dnfEqualityChecker.dnfEqual(left, right); | ||
33 | } | ||
34 | |||
35 | public boolean variableEqual(Variable left, Variable right) { | ||
36 | if (checkMapping(leftToRight, left, right) && checkMapping(rightToLeft, right, left)) { | ||
37 | leftToRight.put(left, right); | ||
38 | rightToLeft.put(right, left); | ||
39 | return true; | ||
40 | } | ||
41 | return false; | ||
42 | } | ||
43 | |||
44 | private static boolean checkMapping(Map<Variable, Variable> map, Variable key, Variable expectedValue) { | ||
45 | var currentValue = map.get(key); | ||
46 | return currentValue == null || currentValue.equals(expectedValue); | ||
47 | } | ||
48 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AbstractCallLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AbstractCallLiteral.java new file mode 100644 index 00000000..657ca26b --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AbstractCallLiteral.java | |||
@@ -0,0 +1,80 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | import tools.refinery.store.query.Constraint; | ||
4 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
5 | import tools.refinery.store.query.substitution.Substitution; | ||
6 | import tools.refinery.store.query.term.Variable; | ||
7 | |||
8 | import java.util.List; | ||
9 | import java.util.Objects; | ||
10 | |||
11 | public abstract class AbstractCallLiteral implements Literal { | ||
12 | private final Constraint target; | ||
13 | private final List<Variable> arguments; | ||
14 | |||
15 | protected AbstractCallLiteral(Constraint target, List<Variable> arguments) { | ||
16 | int arity = target.arity(); | ||
17 | if (arguments.size() != arity) { | ||
18 | throw new IllegalArgumentException("%s needs %d arguments, but got %s".formatted(target.name(), | ||
19 | target.arity(), arguments.size())); | ||
20 | } | ||
21 | this.target = target; | ||
22 | this.arguments = arguments; | ||
23 | var sorts = target.getSorts(); | ||
24 | for (int i = 0; i < arity; i++) { | ||
25 | var argument = arguments.get(i); | ||
26 | var sort = sorts.get(i); | ||
27 | if (!sort.isInstance(argument)) { | ||
28 | throw new IllegalArgumentException("Required argument %d of %s to be of sort %s, but got %s instead" | ||
29 | .formatted(i, target, sort, argument.getSort())); | ||
30 | } | ||
31 | } | ||
32 | } | ||
33 | |||
34 | public Constraint getTarget() { | ||
35 | return target; | ||
36 | } | ||
37 | |||
38 | public List<Variable> getArguments() { | ||
39 | return arguments; | ||
40 | } | ||
41 | |||
42 | @Override | ||
43 | public Literal substitute(Substitution substitution) { | ||
44 | var substitutedArguments = arguments.stream().map(substitution::getSubstitute).toList(); | ||
45 | return doSubstitute(substitution, substitutedArguments); | ||
46 | } | ||
47 | |||
48 | protected abstract Literal doSubstitute(Substitution substitution, List<Variable> substitutedArguments); | ||
49 | |||
50 | @Override | ||
51 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) { | ||
52 | if (other == null || getClass() != other.getClass()) { | ||
53 | return false; | ||
54 | } | ||
55 | var otherCallLiteral = (AbstractCallLiteral) other; | ||
56 | var arity = arguments.size(); | ||
57 | if (arity != otherCallLiteral.arguments.size()) { | ||
58 | return false; | ||
59 | } | ||
60 | for (int i = 0; i < arity; i++) { | ||
61 | if (!helper.variableEqual(arguments.get(i), otherCallLiteral.arguments.get(i))) { | ||
62 | return false; | ||
63 | } | ||
64 | } | ||
65 | return target.equals(helper, otherCallLiteral.target); | ||
66 | } | ||
67 | |||
68 | @Override | ||
69 | public boolean equals(Object o) { | ||
70 | if (this == o) return true; | ||
71 | if (o == null || getClass() != o.getClass()) return false; | ||
72 | AbstractCallLiteral that = (AbstractCallLiteral) o; | ||
73 | return target.equals(that.target) && arguments.equals(that.arguments); | ||
74 | } | ||
75 | |||
76 | @Override | ||
77 | public int hashCode() { | ||
78 | return Objects.hash(target, arguments); | ||
79 | } | ||
80 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AggregationLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AggregationLiteral.java new file mode 100644 index 00000000..df64839c --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AggregationLiteral.java | |||
@@ -0,0 +1,113 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | import tools.refinery.store.query.Constraint; | ||
4 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
5 | import tools.refinery.store.query.substitution.Substitution; | ||
6 | import tools.refinery.store.query.term.Aggregator; | ||
7 | import tools.refinery.store.query.term.DataVariable; | ||
8 | import tools.refinery.store.query.term.Variable; | ||
9 | |||
10 | import java.util.List; | ||
11 | import java.util.Objects; | ||
12 | import java.util.Set; | ||
13 | |||
14 | public class AggregationLiteral<R, T> extends AbstractCallLiteral { | ||
15 | private final DataVariable<R> resultVariable; | ||
16 | private final DataVariable<T> inputVariable; | ||
17 | private final Aggregator<R, T> aggregator; | ||
18 | |||
19 | public AggregationLiteral(DataVariable<R> resultVariable, Aggregator<R, T> aggregator, | ||
20 | DataVariable<T> inputVariable, Constraint target, List<Variable> arguments) { | ||
21 | super(target, arguments); | ||
22 | if (!inputVariable.getType().equals(aggregator.getInputType())) { | ||
23 | throw new IllegalArgumentException("Input variable %s must of type %s, got %s instead".formatted( | ||
24 | inputVariable, aggregator.getInputType().getName(), inputVariable.getType().getName())); | ||
25 | } | ||
26 | if (!resultVariable.getType().equals(aggregator.getResultType())) { | ||
27 | throw new IllegalArgumentException("Result variable %s must of type %s, got %s instead".formatted( | ||
28 | resultVariable, aggregator.getResultType().getName(), resultVariable.getType().getName())); | ||
29 | } | ||
30 | if (!arguments.contains(inputVariable)) { | ||
31 | throw new IllegalArgumentException("Input variable %s must appear in the argument list".formatted( | ||
32 | inputVariable)); | ||
33 | } | ||
34 | if (arguments.contains(resultVariable)) { | ||
35 | throw new IllegalArgumentException("Result variable %s must not appear in the argument list".formatted( | ||
36 | resultVariable)); | ||
37 | } | ||
38 | this.resultVariable = resultVariable; | ||
39 | this.inputVariable = inputVariable; | ||
40 | this.aggregator = aggregator; | ||
41 | } | ||
42 | |||
43 | public DataVariable<R> getResultVariable() { | ||
44 | return resultVariable; | ||
45 | } | ||
46 | |||
47 | public DataVariable<T> getInputVariable() { | ||
48 | return inputVariable; | ||
49 | } | ||
50 | |||
51 | public Aggregator<R, T> getAggregator() { | ||
52 | return aggregator; | ||
53 | } | ||
54 | |||
55 | @Override | ||
56 | public Set<Variable> getBoundVariables() { | ||
57 | return Set.of(resultVariable); | ||
58 | } | ||
59 | |||
60 | @Override | ||
61 | protected Literal doSubstitute(Substitution substitution, List<Variable> substitutedArguments) { | ||
62 | return new AggregationLiteral<>(substitution.getTypeSafeSubstitute(resultVariable), aggregator, | ||
63 | substitution.getTypeSafeSubstitute(inputVariable), getTarget(), substitutedArguments); | ||
64 | } | ||
65 | |||
66 | @Override | ||
67 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) { | ||
68 | if (!super.equalsWithSubstitution(helper, other)) { | ||
69 | return false; | ||
70 | } | ||
71 | var otherAggregationLiteral = (AggregationLiteral<?, ?>) other; | ||
72 | return helper.variableEqual(resultVariable, otherAggregationLiteral.resultVariable) && | ||
73 | aggregator.equals(otherAggregationLiteral.aggregator) && | ||
74 | helper.variableEqual(inputVariable, otherAggregationLiteral.inputVariable); | ||
75 | } | ||
76 | |||
77 | @Override | ||
78 | public boolean equals(Object o) { | ||
79 | if (this == o) return true; | ||
80 | if (o == null || getClass() != o.getClass()) return false; | ||
81 | if (!super.equals(o)) return false; | ||
82 | AggregationLiteral<?, ?> that = (AggregationLiteral<?, ?>) o; | ||
83 | return resultVariable.equals(that.resultVariable) && inputVariable.equals(that.inputVariable) && | ||
84 | aggregator.equals(that.aggregator); | ||
85 | } | ||
86 | |||
87 | @Override | ||
88 | public int hashCode() { | ||
89 | return Objects.hash(super.hashCode(), resultVariable, inputVariable, aggregator); | ||
90 | } | ||
91 | |||
92 | @Override | ||
93 | public String toString() { | ||
94 | var builder = new StringBuilder(); | ||
95 | builder.append(resultVariable); | ||
96 | builder.append(" is "); | ||
97 | builder.append(getTarget().toReferenceString()); | ||
98 | builder.append("("); | ||
99 | var argumentIterator = getArguments().iterator(); | ||
100 | if (argumentIterator.hasNext()) { | ||
101 | var argument = argumentIterator.next(); | ||
102 | if (inputVariable.equals(argument)) { | ||
103 | builder.append("@Aggregate(\"").append(aggregator).append("\") "); | ||
104 | } | ||
105 | builder.append(argument); | ||
106 | while (argumentIterator.hasNext()) { | ||
107 | builder.append(", ").append(argumentIterator.next()); | ||
108 | } | ||
109 | } | ||
110 | builder.append(")"); | ||
111 | return builder.toString(); | ||
112 | } | ||
113 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssignLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssignLiteral.java new file mode 100644 index 00000000..52ac42d7 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssignLiteral.java | |||
@@ -0,0 +1,44 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | import tools.refinery.store.query.substitution.Substitution; | ||
5 | import tools.refinery.store.query.term.DataVariable; | ||
6 | import tools.refinery.store.query.term.Term; | ||
7 | import tools.refinery.store.query.term.Variable; | ||
8 | |||
9 | import java.util.Set; | ||
10 | |||
11 | public record AssignLiteral<T>(DataVariable<T> variable, Term<T> term) implements Literal { | ||
12 | public AssignLiteral { | ||
13 | if (!term.getType().equals(variable.getType())) { | ||
14 | throw new IllegalArgumentException("Term %s must be of type %s, got %s instead".formatted( | ||
15 | term, variable.getType().getName(), term.getType().getName())); | ||
16 | } | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public Set<Variable> getBoundVariables() { | ||
21 | return Set.of(variable); | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | public Literal substitute(Substitution substitution) { | ||
26 | return new AssignLiteral<>(substitution.getTypeSafeSubstitute(variable), term.substitute(substitution)); | ||
27 | } | ||
28 | |||
29 | @Override | ||
30 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) { | ||
31 | if (other == null || getClass() != other.getClass()) { | ||
32 | return false; | ||
33 | } | ||
34 | var otherLetLiteral = (AssignLiteral<?>) other; | ||
35 | return helper.variableEqual(variable, otherLetLiteral.variable) && term.equalsWithSubstitution(helper, | ||
36 | otherLetLiteral.term); | ||
37 | } | ||
38 | |||
39 | |||
40 | @Override | ||
41 | public String toString() { | ||
42 | return "%s is (%s)".formatted(variable, term); | ||
43 | } | ||
44 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssumeLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssumeLiteral.java new file mode 100644 index 00000000..0b4267b4 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/AssumeLiteral.java | |||
@@ -0,0 +1,53 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | import tools.refinery.store.query.substitution.Substitution; | ||
5 | import tools.refinery.store.query.term.Term; | ||
6 | import tools.refinery.store.query.term.Variable; | ||
7 | import tools.refinery.store.query.term.bool.BoolConstantTerm; | ||
8 | |||
9 | import java.util.Set; | ||
10 | |||
11 | public record AssumeLiteral(Term<Boolean> term) implements Literal { | ||
12 | public AssumeLiteral { | ||
13 | if (!term.getType().equals(Boolean.class)) { | ||
14 | throw new IllegalArgumentException("Term %s must be of type %s, got %s instead".formatted( | ||
15 | term, Boolean.class.getName(), term.getType().getName())); | ||
16 | } | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public Set<Variable> getBoundVariables() { | ||
21 | return Set.of(); | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | public Literal substitute(Substitution substitution) { | ||
26 | return new AssumeLiteral(term.substitute(substitution)); | ||
27 | } | ||
28 | |||
29 | @Override | ||
30 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) { | ||
31 | if (other == null || getClass() != other.getClass()) { | ||
32 | return false; | ||
33 | } | ||
34 | var otherAssumeLiteral = (AssumeLiteral) other; | ||
35 | return term.equalsWithSubstitution(helper, otherAssumeLiteral.term); | ||
36 | } | ||
37 | |||
38 | @Override | ||
39 | public LiteralReduction getReduction() { | ||
40 | if (BoolConstantTerm.TRUE.equals(term)) { | ||
41 | return LiteralReduction.ALWAYS_TRUE; | ||
42 | } else if (BoolConstantTerm.FALSE.equals(term)) { | ||
43 | return LiteralReduction.ALWAYS_FALSE; | ||
44 | } else { | ||
45 | return LiteralReduction.NOT_REDUCIBLE; | ||
46 | } | ||
47 | } | ||
48 | |||
49 | @Override | ||
50 | public String toString() { | ||
51 | return "(%s)".formatted(term); | ||
52 | } | ||
53 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/BooleanLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/BooleanLiteral.java new file mode 100644 index 00000000..38be61a4 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/BooleanLiteral.java | |||
@@ -0,0 +1,53 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | import tools.refinery.store.query.term.Variable; | ||
4 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
5 | import tools.refinery.store.query.substitution.Substitution; | ||
6 | |||
7 | import java.util.Set; | ||
8 | |||
9 | public enum BooleanLiteral implements CanNegate<BooleanLiteral> { | ||
10 | TRUE(true), | ||
11 | FALSE(false); | ||
12 | |||
13 | private final boolean value; | ||
14 | |||
15 | BooleanLiteral(boolean value) { | ||
16 | this.value = value; | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public Set<Variable> getBoundVariables() { | ||
21 | return Set.of(); | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | public Literal substitute(Substitution substitution) { | ||
26 | // No variables to substitute. | ||
27 | return this; | ||
28 | } | ||
29 | |||
30 | @Override | ||
31 | public LiteralReduction getReduction() { | ||
32 | return value ? LiteralReduction.ALWAYS_TRUE : LiteralReduction.ALWAYS_FALSE; | ||
33 | } | ||
34 | |||
35 | @Override | ||
36 | public BooleanLiteral negate() { | ||
37 | return fromBoolean(!value); | ||
38 | } | ||
39 | |||
40 | @Override | ||
41 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) { | ||
42 | return equals(other); | ||
43 | } | ||
44 | |||
45 | @Override | ||
46 | public String toString() { | ||
47 | return Boolean.toString(value); | ||
48 | } | ||
49 | |||
50 | public static BooleanLiteral fromBoolean(boolean value) { | ||
51 | return value ? TRUE : FALSE; | ||
52 | } | ||
53 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallLiteral.java new file mode 100644 index 00000000..78fae7f5 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallLiteral.java | |||
@@ -0,0 +1,102 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | import tools.refinery.store.query.Constraint; | ||
4 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
5 | import tools.refinery.store.query.substitution.Substitution; | ||
6 | import tools.refinery.store.query.term.NodeSort; | ||
7 | import tools.refinery.store.query.term.Variable; | ||
8 | |||
9 | import java.util.List; | ||
10 | import java.util.Objects; | ||
11 | import java.util.Set; | ||
12 | |||
13 | public final class CallLiteral extends AbstractCallLiteral implements CanNegate<CallLiteral> { | ||
14 | private final CallPolarity polarity; | ||
15 | |||
16 | public CallLiteral(CallPolarity polarity, Constraint target, List<Variable> arguments) { | ||
17 | super(target, arguments); | ||
18 | if (polarity.isTransitive()) { | ||
19 | if (target.arity() != 2) { | ||
20 | throw new IllegalArgumentException("Transitive closures can only take binary relations"); | ||
21 | } | ||
22 | var sorts = target.getSorts(); | ||
23 | if (!sorts.get(0).equals(NodeSort.INSTANCE) || !sorts.get(1).equals(NodeSort.INSTANCE)) { | ||
24 | throw new IllegalArgumentException("Transitive closures can only be computed over nodes"); | ||
25 | } | ||
26 | } | ||
27 | this.polarity = polarity; | ||
28 | } | ||
29 | |||
30 | public CallPolarity getPolarity() { | ||
31 | return polarity; | ||
32 | } | ||
33 | |||
34 | @Override | ||
35 | public Set<Variable> getBoundVariables() { | ||
36 | return polarity.isPositive() ? Set.copyOf(getArguments()) : Set.of(); | ||
37 | } | ||
38 | |||
39 | @Override | ||
40 | protected Literal doSubstitute(Substitution substitution, List<Variable> substitutedArguments) { | ||
41 | return new CallLiteral(polarity, getTarget(), substitutedArguments); | ||
42 | } | ||
43 | |||
44 | @Override | ||
45 | public LiteralReduction getReduction() { | ||
46 | var reduction = getTarget().getReduction(); | ||
47 | return polarity.isPositive() ? reduction : reduction.negate(); | ||
48 | } | ||
49 | |||
50 | @Override | ||
51 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) { | ||
52 | if (!super.equalsWithSubstitution(helper, other)) { | ||
53 | return false; | ||
54 | } | ||
55 | var otherCallLiteral = (CallLiteral) other; | ||
56 | return polarity.equals(otherCallLiteral.polarity); | ||
57 | } | ||
58 | |||
59 | @Override | ||
60 | public CallLiteral negate() { | ||
61 | return new CallLiteral(polarity.negate(), getTarget(), getArguments()); | ||
62 | } | ||
63 | |||
64 | @Override | ||
65 | public boolean equals(Object o) { | ||
66 | if (this == o) return true; | ||
67 | if (o == null || getClass() != o.getClass()) return false; | ||
68 | if (!super.equals(o)) return false; | ||
69 | CallLiteral that = (CallLiteral) o; | ||
70 | return polarity == that.polarity; | ||
71 | } | ||
72 | |||
73 | @Override | ||
74 | public int hashCode() { | ||
75 | return Objects.hash(super.hashCode(), polarity); | ||
76 | } | ||
77 | |||
78 | @Override | ||
79 | public String toString() { | ||
80 | var builder = new StringBuilder(); | ||
81 | if (!polarity.isPositive()) { | ||
82 | builder.append("!("); | ||
83 | } | ||
84 | builder.append(getTarget().toReferenceString()); | ||
85 | if (polarity.isTransitive()) { | ||
86 | builder.append("+"); | ||
87 | } | ||
88 | builder.append("("); | ||
89 | var argumentIterator = getArguments().iterator(); | ||
90 | if (argumentIterator.hasNext()) { | ||
91 | builder.append(argumentIterator.next()); | ||
92 | while (argumentIterator.hasNext()) { | ||
93 | builder.append(", ").append(argumentIterator.next()); | ||
94 | } | ||
95 | } | ||
96 | builder.append(")"); | ||
97 | if (!polarity.isPositive()) { | ||
98 | builder.append(")"); | ||
99 | } | ||
100 | return builder.toString(); | ||
101 | } | ||
102 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallPolarity.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallPolarity.java index 957e9b7b..84b4b771 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallPolarity.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CallPolarity.java | |||
@@ -1,4 +1,4 @@ | |||
1 | package tools.refinery.store.query.atom; | 1 | package tools.refinery.store.query.literal; |
2 | 2 | ||
3 | public enum CallPolarity { | 3 | public enum CallPolarity { |
4 | POSITIVE(true, false), | 4 | POSITIVE(true, false), |
@@ -22,7 +22,11 @@ public enum CallPolarity { | |||
22 | return transitive; | 22 | return transitive; |
23 | } | 23 | } |
24 | 24 | ||
25 | public static CallPolarity fromBoolean(boolean positive) { | 25 | public CallPolarity negate() { |
26 | return positive ? POSITIVE : NEGATIVE; | 26 | return switch (this) { |
27 | case POSITIVE -> NEGATIVE; | ||
28 | case NEGATIVE -> POSITIVE; | ||
29 | case TRANSITIVE -> throw new IllegalArgumentException("Transitive polarity cannot be negated"); | ||
30 | }; | ||
27 | } | 31 | } |
28 | } | 32 | } |
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CanNegate.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CanNegate.java new file mode 100644 index 00000000..3e159c43 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CanNegate.java | |||
@@ -0,0 +1,5 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | public interface CanNegate<T extends CanNegate<T>> extends Literal { | ||
4 | T negate(); | ||
5 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java new file mode 100644 index 00000000..93fa3df0 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/ConstantLiteral.java | |||
@@ -0,0 +1,34 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | import tools.refinery.store.query.substitution.Substitution; | ||
5 | import tools.refinery.store.query.term.NodeVariable; | ||
6 | import tools.refinery.store.query.term.Variable; | ||
7 | |||
8 | import java.util.Set; | ||
9 | |||
10 | public record ConstantLiteral(NodeVariable variable, int nodeId) implements Literal { | ||
11 | @Override | ||
12 | public Set<Variable> getBoundVariables() { | ||
13 | return Set.of(variable); | ||
14 | } | ||
15 | |||
16 | @Override | ||
17 | public ConstantLiteral substitute(Substitution substitution) { | ||
18 | return new ConstantLiteral(substitution.getTypeSafeSubstitute(variable), nodeId); | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) { | ||
23 | if (other.getClass() != getClass()) { | ||
24 | return false; | ||
25 | } | ||
26 | var otherConstantLiteral = (ConstantLiteral) other; | ||
27 | return helper.variableEqual(variable, otherConstantLiteral.variable) && nodeId == otherConstantLiteral.nodeId; | ||
28 | } | ||
29 | |||
30 | @Override | ||
31 | public String toString() { | ||
32 | return "%s === @Constant %d".formatted(variable, nodeId); | ||
33 | } | ||
34 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CountLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CountLiteral.java new file mode 100644 index 00000000..32e7ba3a --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/CountLiteral.java | |||
@@ -0,0 +1,83 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | import tools.refinery.store.query.Constraint; | ||
4 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
5 | import tools.refinery.store.query.substitution.Substitution; | ||
6 | import tools.refinery.store.query.term.DataVariable; | ||
7 | import tools.refinery.store.query.term.Variable; | ||
8 | |||
9 | import java.util.List; | ||
10 | import java.util.Objects; | ||
11 | import java.util.Set; | ||
12 | |||
13 | public class CountLiteral extends AbstractCallLiteral { | ||
14 | private final DataVariable<Integer> resultVariable; | ||
15 | |||
16 | public CountLiteral(DataVariable<Integer> resultVariable, Constraint target, List<Variable> arguments) { | ||
17 | super(target, arguments); | ||
18 | if (!resultVariable.getType().equals(Integer.class)) { | ||
19 | throw new IllegalArgumentException("Count result variable %s must be of type %s, got %s instead".formatted( | ||
20 | resultVariable, Integer.class.getName(), resultVariable.getType().getName())); | ||
21 | } | ||
22 | if (arguments.contains(resultVariable)) { | ||
23 | throw new IllegalArgumentException("Count result variable %s must not appear in the argument list" | ||
24 | .formatted(resultVariable)); | ||
25 | } | ||
26 | this.resultVariable = resultVariable; | ||
27 | } | ||
28 | |||
29 | public DataVariable<Integer> getResultVariable() { | ||
30 | return resultVariable; | ||
31 | } | ||
32 | |||
33 | @Override | ||
34 | public Set<Variable> getBoundVariables() { | ||
35 | return Set.of(resultVariable); | ||
36 | } | ||
37 | |||
38 | @Override | ||
39 | protected Literal doSubstitute(Substitution substitution, List<Variable> substitutedArguments) { | ||
40 | return new CountLiteral(substitution.getTypeSafeSubstitute(resultVariable), getTarget(), substitutedArguments); | ||
41 | } | ||
42 | |||
43 | @Override | ||
44 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) { | ||
45 | if (!super.equalsWithSubstitution(helper, other)) { | ||
46 | return false; | ||
47 | } | ||
48 | var otherCountLiteral = (CountLiteral) other; | ||
49 | return helper.variableEqual(resultVariable, otherCountLiteral.resultVariable); | ||
50 | } | ||
51 | |||
52 | @Override | ||
53 | public boolean equals(Object o) { | ||
54 | if (this == o) return true; | ||
55 | if (o == null || getClass() != o.getClass()) return false; | ||
56 | if (!super.equals(o)) return false; | ||
57 | CountLiteral that = (CountLiteral) o; | ||
58 | return resultVariable.equals(that.resultVariable); | ||
59 | } | ||
60 | |||
61 | @Override | ||
62 | public int hashCode() { | ||
63 | return Objects.hash(super.hashCode(), resultVariable); | ||
64 | } | ||
65 | |||
66 | @Override | ||
67 | public String toString() { | ||
68 | var builder = new StringBuilder(); | ||
69 | builder.append(resultVariable); | ||
70 | builder.append(" is count "); | ||
71 | builder.append(getTarget().toReferenceString()); | ||
72 | builder.append("("); | ||
73 | var argumentIterator = getArguments().iterator(); | ||
74 | if (argumentIterator.hasNext()) { | ||
75 | builder.append(argumentIterator.next()); | ||
76 | while (argumentIterator.hasNext()) { | ||
77 | builder.append(", ").append(argumentIterator.next()); | ||
78 | } | ||
79 | } | ||
80 | builder.append(")"); | ||
81 | return builder.toString(); | ||
82 | } | ||
83 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/EquivalenceLiteral.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/EquivalenceLiteral.java new file mode 100644 index 00000000..4dc86b98 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/EquivalenceLiteral.java | |||
@@ -0,0 +1,52 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | import tools.refinery.store.query.term.NodeVariable; | ||
4 | import tools.refinery.store.query.term.Variable; | ||
5 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
6 | import tools.refinery.store.query.substitution.Substitution; | ||
7 | |||
8 | import java.util.Set; | ||
9 | |||
10 | public record EquivalenceLiteral(boolean positive, NodeVariable left, NodeVariable right) | ||
11 | implements CanNegate<EquivalenceLiteral> { | ||
12 | @Override | ||
13 | public Set<Variable> getBoundVariables() { | ||
14 | // If one side of a {@code positive} equivalence is bound, it may bind its other side, but we under-approximate | ||
15 | // this behavior by not binding any of the sides by default. | ||
16 | return Set.of(); | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public EquivalenceLiteral negate() { | ||
21 | return new EquivalenceLiteral(!positive, left, right); | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | public EquivalenceLiteral substitute(Substitution substitution) { | ||
26 | return new EquivalenceLiteral(positive, substitution.getTypeSafeSubstitute(left), | ||
27 | substitution.getTypeSafeSubstitute(right)); | ||
28 | } | ||
29 | |||
30 | @Override | ||
31 | public LiteralReduction getReduction() { | ||
32 | if (left.equals(right)) { | ||
33 | return positive ? LiteralReduction.ALWAYS_TRUE : LiteralReduction.ALWAYS_FALSE; | ||
34 | } | ||
35 | return LiteralReduction.NOT_REDUCIBLE; | ||
36 | } | ||
37 | |||
38 | @Override | ||
39 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other) { | ||
40 | if (other.getClass() != getClass()) { | ||
41 | return false; | ||
42 | } | ||
43 | var otherEquivalenceLiteral = (EquivalenceLiteral) other; | ||
44 | return helper.variableEqual(left, otherEquivalenceLiteral.left) && helper.variableEqual(right, | ||
45 | otherEquivalenceLiteral.right); | ||
46 | } | ||
47 | |||
48 | @Override | ||
49 | public String toString() { | ||
50 | return "%s %s %s".formatted(left, positive ? "===" : "!==", right); | ||
51 | } | ||
52 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literal.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literal.java new file mode 100644 index 00000000..6347410e --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literal.java | |||
@@ -0,0 +1,20 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | import tools.refinery.store.query.term.Variable; | ||
4 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
5 | import tools.refinery.store.query.substitution.Substitution; | ||
6 | |||
7 | import java.util.Set; | ||
8 | |||
9 | public interface Literal { | ||
10 | Set<Variable> getBoundVariables(); | ||
11 | |||
12 | Literal substitute(Substitution substitution); | ||
13 | |||
14 | default LiteralReduction getReduction() { | ||
15 | return LiteralReduction.NOT_REDUCIBLE; | ||
16 | } | ||
17 | |||
18 | @SuppressWarnings("BooleanMethodIsAlwaysInverted") | ||
19 | boolean equalsWithSubstitution(LiteralEqualityHelper helper, Literal other); | ||
20 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/LiteralReduction.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/LiteralReduction.java new file mode 100644 index 00000000..146089f6 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/LiteralReduction.java | |||
@@ -0,0 +1,26 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | public enum LiteralReduction { | ||
4 | /** | ||
5 | * Signifies that a literal should be preserved in the clause. | ||
6 | */ | ||
7 | NOT_REDUCIBLE, | ||
8 | |||
9 | /** | ||
10 | * Signifies that the literal may be omitted from the cause (if the model being queried is nonempty). | ||
11 | */ | ||
12 | ALWAYS_TRUE, | ||
13 | |||
14 | /** | ||
15 | * Signifies that the clause with the literal may be omitted entirely. | ||
16 | */ | ||
17 | ALWAYS_FALSE; | ||
18 | |||
19 | public LiteralReduction negate() { | ||
20 | return switch (this) { | ||
21 | case NOT_REDUCIBLE -> NOT_REDUCIBLE; | ||
22 | case ALWAYS_TRUE -> ALWAYS_FALSE; | ||
23 | case ALWAYS_FALSE -> ALWAYS_TRUE; | ||
24 | }; | ||
25 | } | ||
26 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literals.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literals.java new file mode 100644 index 00000000..89039352 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/literal/Literals.java | |||
@@ -0,0 +1,17 @@ | |||
1 | package tools.refinery.store.query.literal; | ||
2 | |||
3 | import tools.refinery.store.query.term.Term; | ||
4 | |||
5 | public final class Literals { | ||
6 | private Literals() { | ||
7 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | ||
8 | } | ||
9 | |||
10 | public static <T extends CanNegate<T>> T not(CanNegate<T> literal) { | ||
11 | return literal.negate(); | ||
12 | } | ||
13 | |||
14 | public static AssumeLiteral assume(Term<Boolean> term) { | ||
15 | return new AssumeLiteral(term); | ||
16 | } | ||
17 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/CompositeSubstitution.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/CompositeSubstitution.java new file mode 100644 index 00000000..f8064ca2 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/CompositeSubstitution.java | |||
@@ -0,0 +1,10 @@ | |||
1 | package tools.refinery.store.query.substitution; | ||
2 | |||
3 | import tools.refinery.store.query.term.Variable; | ||
4 | |||
5 | public record CompositeSubstitution(Substitution first, Substitution second) implements Substitution { | ||
6 | @Override | ||
7 | public Variable getSubstitute(Variable variable) { | ||
8 | return second.getSubstitute(first.getSubstitute(variable)); | ||
9 | } | ||
10 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/MapBasedSubstitution.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/MapBasedSubstitution.java new file mode 100644 index 00000000..c7754619 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/MapBasedSubstitution.java | |||
@@ -0,0 +1,13 @@ | |||
1 | package tools.refinery.store.query.substitution; | ||
2 | |||
3 | import tools.refinery.store.query.term.Variable; | ||
4 | |||
5 | import java.util.Map; | ||
6 | |||
7 | public record MapBasedSubstitution(Map<Variable, Variable> map, Substitution fallback) implements Substitution { | ||
8 | @Override | ||
9 | public Variable getSubstitute(Variable variable) { | ||
10 | var value = map.get(variable); | ||
11 | return value == null ? fallback.getSubstitute(variable) : value; | ||
12 | } | ||
13 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/RenewingSubstitution.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/RenewingSubstitution.java new file mode 100644 index 00000000..7847e582 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/RenewingSubstitution.java | |||
@@ -0,0 +1,15 @@ | |||
1 | package tools.refinery.store.query.substitution; | ||
2 | |||
3 | import tools.refinery.store.query.term.Variable; | ||
4 | |||
5 | import java.util.HashMap; | ||
6 | import java.util.Map; | ||
7 | |||
8 | public class RenewingSubstitution implements Substitution { | ||
9 | private final Map<Variable, Variable> alreadyRenewed = new HashMap<>(); | ||
10 | |||
11 | @Override | ||
12 | public Variable getSubstitute(Variable variable) { | ||
13 | return alreadyRenewed.computeIfAbsent(variable, Variable::renew); | ||
14 | } | ||
15 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/StatelessSubstitution.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/StatelessSubstitution.java new file mode 100644 index 00000000..eed414d9 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/StatelessSubstitution.java | |||
@@ -0,0 +1,18 @@ | |||
1 | package tools.refinery.store.query.substitution; | ||
2 | |||
3 | import tools.refinery.store.query.term.Variable; | ||
4 | |||
5 | public enum StatelessSubstitution implements Substitution { | ||
6 | FAILING { | ||
7 | @Override | ||
8 | public Variable getSubstitute(Variable variable) { | ||
9 | throw new IllegalArgumentException("No substitute for " + variable); | ||
10 | } | ||
11 | }, | ||
12 | IDENTITY { | ||
13 | @Override | ||
14 | public Variable getSubstitute(Variable variable) { | ||
15 | return variable; | ||
16 | } | ||
17 | } | ||
18 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitution.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitution.java new file mode 100644 index 00000000..99f84b9e --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitution.java | |||
@@ -0,0 +1,29 @@ | |||
1 | package tools.refinery.store.query.substitution; | ||
2 | |||
3 | import tools.refinery.store.query.term.AnyDataVariable; | ||
4 | import tools.refinery.store.query.term.DataVariable; | ||
5 | import tools.refinery.store.query.term.NodeVariable; | ||
6 | import tools.refinery.store.query.term.Variable; | ||
7 | |||
8 | @FunctionalInterface | ||
9 | public interface Substitution { | ||
10 | Variable getSubstitute(Variable variable); | ||
11 | |||
12 | default NodeVariable getTypeSafeSubstitute(NodeVariable variable) { | ||
13 | var substitute = getSubstitute(variable); | ||
14 | return substitute.asNodeVariable(); | ||
15 | } | ||
16 | |||
17 | default AnyDataVariable getTypeSafeSubstitute(AnyDataVariable variable) { | ||
18 | return getTypeSafeSubstitute((DataVariable<?>) variable); | ||
19 | } | ||
20 | |||
21 | default <T> DataVariable<T> getTypeSafeSubstitute(DataVariable<T> variable) { | ||
22 | var substitute = getSubstitute(variable); | ||
23 | return substitute.asDataVariable(variable.getType()); | ||
24 | } | ||
25 | |||
26 | default Substitution andThen(Substitution second) { | ||
27 | return new CompositeSubstitution(this, second); | ||
28 | } | ||
29 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitutions.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitutions.java new file mode 100644 index 00000000..5d4654da --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/substitution/Substitutions.java | |||
@@ -0,0 +1,33 @@ | |||
1 | package tools.refinery.store.query.substitution; | ||
2 | |||
3 | import org.jetbrains.annotations.NotNull; | ||
4 | import org.jetbrains.annotations.Nullable; | ||
5 | import tools.refinery.store.query.term.Variable; | ||
6 | |||
7 | import java.util.Map; | ||
8 | |||
9 | public final class Substitutions { | ||
10 | private Substitutions() { | ||
11 | throw new IllegalStateException("This is a static utility class and should not be instantiate directly"); | ||
12 | } | ||
13 | |||
14 | public static Substitution total(Map<Variable, Variable> map) { | ||
15 | return new MapBasedSubstitution(map, StatelessSubstitution.FAILING); | ||
16 | } | ||
17 | |||
18 | public static Substitution partial(Map<Variable, Variable> map) { | ||
19 | return new MapBasedSubstitution(map, StatelessSubstitution.IDENTITY); | ||
20 | } | ||
21 | |||
22 | public static Substitution renewing(Map<Variable, Variable> map) { | ||
23 | return new MapBasedSubstitution(map, renewing()); | ||
24 | } | ||
25 | |||
26 | public static Substitution renewing() { | ||
27 | return new RenewingSubstitution(); | ||
28 | } | ||
29 | |||
30 | public static Substitution compose(@Nullable Substitution first, @NotNull Substitution second) { | ||
31 | return first == null ? second : first.andThen(second); | ||
32 | } | ||
33 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Aggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Aggregator.java new file mode 100644 index 00000000..47421a94 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Aggregator.java | |||
@@ -0,0 +1,13 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import java.util.stream.Stream; | ||
4 | |||
5 | public interface Aggregator<R, T> { | ||
6 | Class<R> getResultType(); | ||
7 | |||
8 | Class<T> getInputType(); | ||
9 | |||
10 | R aggregateStream(Stream<T> stream); | ||
11 | |||
12 | R getEmptyResult(); | ||
13 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyDataVariable.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyDataVariable.java new file mode 100644 index 00000000..ecfefcf9 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyDataVariable.java | |||
@@ -0,0 +1,33 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import org.jetbrains.annotations.Nullable; | ||
4 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
5 | |||
6 | import java.util.Set; | ||
7 | |||
8 | public abstract sealed class AnyDataVariable extends Variable implements AnyTerm permits DataVariable { | ||
9 | protected AnyDataVariable(String name) { | ||
10 | super(name); | ||
11 | } | ||
12 | |||
13 | @Override | ||
14 | public NodeVariable asNodeVariable() { | ||
15 | throw new IllegalStateException("%s is a data variable".formatted(this)); | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) { | ||
20 | return other instanceof AnyDataVariable dataVariable && helper.variableEqual(this, dataVariable); | ||
21 | } | ||
22 | |||
23 | @Override | ||
24 | public Set<AnyDataVariable> getInputVariables() { | ||
25 | return Set.of(this); | ||
26 | } | ||
27 | |||
28 | @Override | ||
29 | public abstract AnyDataVariable renew(@Nullable String name); | ||
30 | |||
31 | @Override | ||
32 | public abstract AnyDataVariable renew(); | ||
33 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyTerm.java new file mode 100644 index 00000000..8f998d45 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AnyTerm.java | |||
@@ -0,0 +1,16 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | import tools.refinery.store.query.substitution.Substitution; | ||
5 | |||
6 | import java.util.Set; | ||
7 | |||
8 | public sealed interface AnyTerm permits AnyDataVariable, Term { | ||
9 | Class<?> getType(); | ||
10 | |||
11 | AnyTerm substitute(Substitution substitution); | ||
12 | |||
13 | boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other); | ||
14 | |||
15 | Set<AnyDataVariable> getInputVariables(); | ||
16 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryOperator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryOperator.java new file mode 100644 index 00000000..8706a046 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryOperator.java | |||
@@ -0,0 +1,26 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | public enum ArithmeticBinaryOperator { | ||
4 | ADD("+", true), | ||
5 | SUB("-", true), | ||
6 | MUL("*", true), | ||
7 | DIV("/", true), | ||
8 | POW("**", true), | ||
9 | MIN("min", false), | ||
10 | MAX("max", false); | ||
11 | |||
12 | private final String text; | ||
13 | private final boolean infix; | ||
14 | |||
15 | ArithmeticBinaryOperator(String text, boolean infix) { | ||
16 | this.text = text; | ||
17 | this.infix = infix; | ||
18 | } | ||
19 | |||
20 | public String formatString(String left, String right) { | ||
21 | if (infix) { | ||
22 | return "(%s) %s (%s)".formatted(left, text, right); | ||
23 | } | ||
24 | return "%s(%s, %s)".formatted(text, left, right); | ||
25 | } | ||
26 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryTerm.java new file mode 100644 index 00000000..887a1e6e --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticBinaryTerm.java | |||
@@ -0,0 +1,56 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | |||
5 | import java.util.Objects; | ||
6 | |||
7 | public abstract class ArithmeticBinaryTerm<T> extends BinaryTerm<T, T, T> { | ||
8 | private final ArithmeticBinaryOperator operator; | ||
9 | |||
10 | protected ArithmeticBinaryTerm(ArithmeticBinaryOperator operator, Term<T> left, Term<T> right) { | ||
11 | super(left, right); | ||
12 | this.operator = operator; | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public Class<T> getLeftType() { | ||
17 | return getType(); | ||
18 | } | ||
19 | |||
20 | @Override | ||
21 | public Class<T> getRightType() { | ||
22 | return getType(); | ||
23 | } | ||
24 | |||
25 | public ArithmeticBinaryOperator getOperator() { | ||
26 | return operator; | ||
27 | } | ||
28 | |||
29 | @Override | ||
30 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) { | ||
31 | if (!super.equalsWithSubstitution(helper, other)) { | ||
32 | return false; | ||
33 | } | ||
34 | var otherArithmeticBinaryTerm = (ArithmeticBinaryTerm<?>) other; | ||
35 | return operator == otherArithmeticBinaryTerm.operator; | ||
36 | } | ||
37 | |||
38 | @Override | ||
39 | public String toString() { | ||
40 | return operator.formatString(getLeft().toString(), getRight().toString()); | ||
41 | } | ||
42 | |||
43 | @Override | ||
44 | public boolean equals(Object o) { | ||
45 | if (this == o) return true; | ||
46 | if (o == null || getClass() != o.getClass()) return false; | ||
47 | if (!super.equals(o)) return false; | ||
48 | ArithmeticBinaryTerm<?> that = (ArithmeticBinaryTerm<?>) o; | ||
49 | return operator == that.operator; | ||
50 | } | ||
51 | |||
52 | @Override | ||
53 | public int hashCode() { | ||
54 | return Objects.hash(super.hashCode(), operator); | ||
55 | } | ||
56 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryOperator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryOperator.java new file mode 100644 index 00000000..6a7c25db --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryOperator.java | |||
@@ -0,0 +1,16 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | public enum ArithmeticUnaryOperator { | ||
4 | PLUS("+"), | ||
5 | MINUS("-"); | ||
6 | |||
7 | private final String prefix; | ||
8 | |||
9 | ArithmeticUnaryOperator(String prefix) { | ||
10 | this.prefix = prefix; | ||
11 | } | ||
12 | |||
13 | public String formatString(String body) { | ||
14 | return "%s(%s)".formatted(prefix, body); | ||
15 | } | ||
16 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryTerm.java new file mode 100644 index 00000000..b78239c7 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ArithmeticUnaryTerm.java | |||
@@ -0,0 +1,51 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | |||
5 | import java.util.Objects; | ||
6 | |||
7 | public abstract class ArithmeticUnaryTerm<T> extends UnaryTerm<T, T> { | ||
8 | private final ArithmeticUnaryOperator operator; | ||
9 | |||
10 | protected ArithmeticUnaryTerm(ArithmeticUnaryOperator operator, Term<T> body) { | ||
11 | super(body); | ||
12 | this.operator = operator; | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public Class<T> getBodyType() { | ||
17 | return getType(); | ||
18 | } | ||
19 | |||
20 | public ArithmeticUnaryOperator getOperator() { | ||
21 | return operator; | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) { | ||
26 | if (!super.equalsWithSubstitution(helper, other)) { | ||
27 | return false; | ||
28 | } | ||
29 | var otherArithmeticUnaryTerm = (ArithmeticUnaryTerm<?>) other; | ||
30 | return operator == otherArithmeticUnaryTerm.operator; | ||
31 | } | ||
32 | |||
33 | @Override | ||
34 | public String toString() { | ||
35 | return operator.formatString(getBody().toString()); | ||
36 | } | ||
37 | |||
38 | @Override | ||
39 | public boolean equals(Object o) { | ||
40 | if (this == o) return true; | ||
41 | if (o == null || getClass() != o.getClass()) return false; | ||
42 | if (!super.equals(o)) return false; | ||
43 | ArithmeticUnaryTerm<?> that = (ArithmeticUnaryTerm<?>) o; | ||
44 | return operator == that.operator; | ||
45 | } | ||
46 | |||
47 | @Override | ||
48 | public int hashCode() { | ||
49 | return Objects.hash(super.hashCode(), operator); | ||
50 | } | ||
51 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AssignedValue.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AssignedValue.java new file mode 100644 index 00000000..465e690f --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/AssignedValue.java | |||
@@ -0,0 +1,8 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import tools.refinery.store.query.literal.Literal; | ||
4 | |||
5 | @FunctionalInterface | ||
6 | public interface AssignedValue<T> { | ||
7 | Literal toLiteral(DataVariable<T> targetVariable); | ||
8 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/BinaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/BinaryTerm.java new file mode 100644 index 00000000..34f48ccc --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/BinaryTerm.java | |||
@@ -0,0 +1,93 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | import tools.refinery.store.query.substitution.Substitution; | ||
5 | import tools.refinery.store.query.valuation.Valuation; | ||
6 | |||
7 | import java.util.Collections; | ||
8 | import java.util.HashSet; | ||
9 | import java.util.Objects; | ||
10 | import java.util.Set; | ||
11 | |||
12 | public abstract class BinaryTerm<R, T1, T2> implements Term<R> { | ||
13 | private final Term<T1> left; | ||
14 | private final Term<T2> right; | ||
15 | |||
16 | protected BinaryTerm(Term<T1> left, Term<T2> right) { | ||
17 | if (!left.getType().equals(getLeftType())) { | ||
18 | throw new IllegalArgumentException("Expected left %s to be of type %s, got %s instead".formatted(left, | ||
19 | getLeftType().getName(), left.getType().getName())); | ||
20 | } | ||
21 | if (!right.getType().equals(getRightType())) { | ||
22 | throw new IllegalArgumentException("Expected right %s to be of type %s, got %s instead".formatted(right, | ||
23 | getRightType().getName(), right.getType().getName())); | ||
24 | } | ||
25 | this.left = left; | ||
26 | this.right = right; | ||
27 | } | ||
28 | |||
29 | public abstract Class<T1> getLeftType(); | ||
30 | |||
31 | public abstract Class<T2> getRightType(); | ||
32 | |||
33 | public Term<T1> getLeft() { | ||
34 | return left; | ||
35 | } | ||
36 | |||
37 | public Term<T2> getRight() { | ||
38 | return right; | ||
39 | } | ||
40 | |||
41 | @Override | ||
42 | public R evaluate(Valuation valuation) { | ||
43 | var leftValue = left.evaluate(valuation); | ||
44 | if (leftValue == null) { | ||
45 | return null; | ||
46 | } | ||
47 | var rightValue = right.evaluate(valuation); | ||
48 | if (rightValue == null) { | ||
49 | return null; | ||
50 | } | ||
51 | return doEvaluate(leftValue, rightValue); | ||
52 | } | ||
53 | |||
54 | protected abstract R doEvaluate(T1 leftValue, T2 rightValue); | ||
55 | |||
56 | @Override | ||
57 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) { | ||
58 | if (getClass() != other.getClass()) { | ||
59 | return false; | ||
60 | } | ||
61 | var otherBinaryTerm = (BinaryTerm<?, ?, ?>) other; | ||
62 | return left.equalsWithSubstitution(helper, otherBinaryTerm.left) && right.equalsWithSubstitution(helper, | ||
63 | otherBinaryTerm.right); | ||
64 | } | ||
65 | |||
66 | @Override | ||
67 | public Term<R> substitute(Substitution substitution) { | ||
68 | return doSubstitute(substitution, left.substitute(substitution), right.substitute(substitution)); | ||
69 | } | ||
70 | |||
71 | public abstract Term<R> doSubstitute(Substitution substitution, Term<T1> substitutedLeft, | ||
72 | Term<T2> substitutedRight); | ||
73 | |||
74 | @Override | ||
75 | public Set<AnyDataVariable> getInputVariables() { | ||
76 | var inputVariables = new HashSet<>(left.getInputVariables()); | ||
77 | inputVariables.addAll(right.getInputVariables()); | ||
78 | return Collections.unmodifiableSet(inputVariables); | ||
79 | } | ||
80 | |||
81 | @Override | ||
82 | public boolean equals(Object o) { | ||
83 | if (this == o) return true; | ||
84 | if (o == null || getClass() != o.getClass()) return false; | ||
85 | BinaryTerm<?, ?, ?> that = (BinaryTerm<?, ?, ?>) o; | ||
86 | return left.equals(that.left) && right.equals(that.right); | ||
87 | } | ||
88 | |||
89 | @Override | ||
90 | public int hashCode() { | ||
91 | return Objects.hash(getClass(), left, right); | ||
92 | } | ||
93 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonOperator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonOperator.java new file mode 100644 index 00000000..44dcce10 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonOperator.java | |||
@@ -0,0 +1,20 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | public enum ComparisonOperator { | ||
4 | EQ("=="), | ||
5 | NOT_EQ("!="), | ||
6 | LESS("<"), | ||
7 | LESS_EQ("<="), | ||
8 | GREATER(">"), | ||
9 | GREATER_EQ(">="); | ||
10 | |||
11 | private final String text; | ||
12 | |||
13 | ComparisonOperator(String text) { | ||
14 | this.text = text; | ||
15 | } | ||
16 | |||
17 | public String formatString(String left, String right) { | ||
18 | return "(%s) %s (%s)".formatted(left, text, right); | ||
19 | } | ||
20 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonTerm.java new file mode 100644 index 00000000..320d42df --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ComparisonTerm.java | |||
@@ -0,0 +1,63 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | |||
5 | import java.util.Objects; | ||
6 | |||
7 | public abstract class ComparisonTerm<T> extends BinaryTerm<Boolean, T, T> { | ||
8 | private final ComparisonOperator operator; | ||
9 | |||
10 | protected ComparisonTerm(ComparisonOperator operator, Term<T> left, Term<T> right) { | ||
11 | super(left, right); | ||
12 | this.operator = operator; | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public Class<Boolean> getType() { | ||
17 | return Boolean.class; | ||
18 | } | ||
19 | |||
20 | public abstract Class<T> getOperandType(); | ||
21 | |||
22 | @Override | ||
23 | public Class<T> getLeftType() { | ||
24 | return getOperandType(); | ||
25 | } | ||
26 | |||
27 | @Override | ||
28 | public Class<T> getRightType() { | ||
29 | return getOperandType(); | ||
30 | } | ||
31 | |||
32 | public ComparisonOperator getOperator() { | ||
33 | return operator; | ||
34 | } | ||
35 | |||
36 | @Override | ||
37 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) { | ||
38 | if (!super.equalsWithSubstitution(helper, other)) { | ||
39 | return false; | ||
40 | } | ||
41 | var otherComparisonTerm = (ComparisonTerm<?>) other; | ||
42 | return operator == otherComparisonTerm.operator; | ||
43 | } | ||
44 | |||
45 | @Override | ||
46 | public String toString() { | ||
47 | return operator.formatString(getLeft().toString(), getRight().toString()); | ||
48 | } | ||
49 | |||
50 | @Override | ||
51 | public boolean equals(Object o) { | ||
52 | if (this == o) return true; | ||
53 | if (o == null || getClass() != o.getClass()) return false; | ||
54 | if (!super.equals(o)) return false; | ||
55 | ComparisonTerm<?> that = (ComparisonTerm<?>) o; | ||
56 | return operator == that.operator; | ||
57 | } | ||
58 | |||
59 | @Override | ||
60 | public int hashCode() { | ||
61 | return Objects.hash(super.hashCode(), operator); | ||
62 | } | ||
63 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ConstantTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ConstantTerm.java new file mode 100644 index 00000000..2185fe37 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ConstantTerm.java | |||
@@ -0,0 +1,52 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | import tools.refinery.store.query.substitution.Substitution; | ||
5 | import tools.refinery.store.query.valuation.Valuation; | ||
6 | |||
7 | import java.util.Set; | ||
8 | |||
9 | public record ConstantTerm<T>(Class<T> type, T value) implements Term<T> { | ||
10 | public ConstantTerm { | ||
11 | if (value == null) { | ||
12 | throw new IllegalArgumentException("value should not be null"); | ||
13 | } | ||
14 | if (!type.isInstance(value)) { | ||
15 | throw new IllegalArgumentException("value %s is not an instance of %s".formatted(value, type.getName())); | ||
16 | } | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public Class<T> getType() { | ||
21 | return type; | ||
22 | } | ||
23 | |||
24 | public T getValue() { | ||
25 | return value; | ||
26 | } | ||
27 | |||
28 | @Override | ||
29 | public T evaluate(Valuation valuation) { | ||
30 | return getValue(); | ||
31 | } | ||
32 | |||
33 | @Override | ||
34 | public Term<T> substitute(Substitution substitution) { | ||
35 | return this; | ||
36 | } | ||
37 | |||
38 | @Override | ||
39 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) { | ||
40 | return equals(other); | ||
41 | } | ||
42 | |||
43 | @Override | ||
44 | public Set<AnyDataVariable> getInputVariables() { | ||
45 | return Set.of(); | ||
46 | } | ||
47 | |||
48 | @Override | ||
49 | public String toString() { | ||
50 | return getValue().toString(); | ||
51 | } | ||
52 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataSort.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataSort.java new file mode 100644 index 00000000..4fb44492 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataSort.java | |||
@@ -0,0 +1,29 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import org.jetbrains.annotations.Nullable; | ||
4 | |||
5 | public record DataSort<T>(Class<T> type) implements Sort { | ||
6 | public static final DataSort<Integer> INT = new DataSort<>(Integer.class); | ||
7 | |||
8 | public static final DataSort<Boolean> BOOL = new DataSort<>(Boolean.class); | ||
9 | |||
10 | @Override | ||
11 | public boolean isInstance(Variable variable) { | ||
12 | return variable instanceof DataVariable<?> dataVariable && type.equals(dataVariable.getType()); | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public DataVariable<T> newInstance(@Nullable String name) { | ||
17 | return Variable.of(name, type); | ||
18 | } | ||
19 | |||
20 | @Override | ||
21 | public DataVariable<T> newInstance() { | ||
22 | return newInstance(null); | ||
23 | } | ||
24 | |||
25 | @Override | ||
26 | public String toString() { | ||
27 | return type.getName(); | ||
28 | } | ||
29 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataVariable.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataVariable.java new file mode 100644 index 00000000..af070ca7 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/DataVariable.java | |||
@@ -0,0 +1,87 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import org.jetbrains.annotations.Nullable; | ||
4 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
5 | import tools.refinery.store.query.literal.Literal; | ||
6 | import tools.refinery.store.query.substitution.Substitution; | ||
7 | import tools.refinery.store.query.valuation.Valuation; | ||
8 | |||
9 | import java.util.Objects; | ||
10 | |||
11 | public final class DataVariable<T> extends AnyDataVariable implements Term<T> { | ||
12 | private final Class<T> type; | ||
13 | |||
14 | DataVariable(String name, Class<T> type) { | ||
15 | super(name); | ||
16 | this.type = type; | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public DataSort<T> getSort() { | ||
21 | return new DataSort<>(getType()); | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | public Class<T> getType() { | ||
26 | return type; | ||
27 | } | ||
28 | |||
29 | @Override | ||
30 | public DataVariable<T> renew(@Nullable String name) { | ||
31 | return new DataVariable<>(name, type); | ||
32 | } | ||
33 | |||
34 | @Override | ||
35 | public DataVariable<T> renew() { | ||
36 | return renew(getExplicitName()); | ||
37 | } | ||
38 | |||
39 | @Override | ||
40 | public NodeVariable asNodeVariable() { | ||
41 | throw new IllegalStateException("%s is a data variable".formatted(this)); | ||
42 | } | ||
43 | |||
44 | @Override | ||
45 | public <U> DataVariable<U> asDataVariable(Class<U> newType) { | ||
46 | if (!getType().equals(newType)) { | ||
47 | throw new IllegalStateException("%s is not of type %s but of type %s".formatted(this, newType.getName(), | ||
48 | getType().getName())); | ||
49 | } | ||
50 | @SuppressWarnings("unchecked") | ||
51 | var result = (DataVariable<U>) this; | ||
52 | return result; | ||
53 | } | ||
54 | |||
55 | @Override | ||
56 | public T evaluate(Valuation valuation) { | ||
57 | return valuation.getValue(this); | ||
58 | } | ||
59 | |||
60 | @Override | ||
61 | public Term<T> substitute(Substitution substitution) { | ||
62 | return substitution.getTypeSafeSubstitute(this); | ||
63 | } | ||
64 | |||
65 | @Override | ||
66 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) { | ||
67 | return other instanceof DataVariable<?> dataVariable && helper.variableEqual(this, dataVariable); | ||
68 | } | ||
69 | |||
70 | public Literal assign(AssignedValue<T> value) { | ||
71 | return value.toLiteral(this); | ||
72 | } | ||
73 | |||
74 | @Override | ||
75 | public boolean equals(Object o) { | ||
76 | if (this == o) return true; | ||
77 | if (o == null || getClass() != o.getClass()) return false; | ||
78 | if (!super.equals(o)) return false; | ||
79 | DataVariable<?> that = (DataVariable<?>) o; | ||
80 | return type.equals(that.type); | ||
81 | } | ||
82 | |||
83 | @Override | ||
84 | public int hashCode() { | ||
85 | return Objects.hash(super.hashCode(), type); | ||
86 | } | ||
87 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ExtremeValueAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ExtremeValueAggregator.java new file mode 100644 index 00000000..57ff597c --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/ExtremeValueAggregator.java | |||
@@ -0,0 +1,103 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import java.util.Comparator; | ||
4 | import java.util.Objects; | ||
5 | import java.util.SortedMap; | ||
6 | import java.util.TreeMap; | ||
7 | |||
8 | public class ExtremeValueAggregator<T> implements StatefulAggregator<T, T> { | ||
9 | private final Class<T> type; | ||
10 | private final T emptyResult; | ||
11 | private final Comparator<T> comparator; | ||
12 | |||
13 | public ExtremeValueAggregator(Class<T> type, T emptyResult) { | ||
14 | this(type, emptyResult, null); | ||
15 | } | ||
16 | |||
17 | public ExtremeValueAggregator(Class<T> type, T emptyResult, Comparator<T> comparator) { | ||
18 | this.type = type; | ||
19 | this.emptyResult = emptyResult; | ||
20 | this.comparator = comparator; | ||
21 | } | ||
22 | |||
23 | @Override | ||
24 | public Class<T> getResultType() { | ||
25 | return getInputType(); | ||
26 | } | ||
27 | |||
28 | @Override | ||
29 | public Class<T> getInputType() { | ||
30 | return type; | ||
31 | } | ||
32 | |||
33 | @Override | ||
34 | public StatefulAggregate<T, T> createEmptyAggregate() { | ||
35 | return new Aggregate(); | ||
36 | } | ||
37 | |||
38 | @Override | ||
39 | public T getEmptyResult() { | ||
40 | return emptyResult; | ||
41 | } | ||
42 | |||
43 | @Override | ||
44 | public boolean equals(Object o) { | ||
45 | if (this == o) return true; | ||
46 | if (o == null || getClass() != o.getClass()) return false; | ||
47 | ExtremeValueAggregator<?> that = (ExtremeValueAggregator<?>) o; | ||
48 | return type.equals(that.type) && Objects.equals(emptyResult, that.emptyResult) && Objects.equals(comparator, | ||
49 | that.comparator); | ||
50 | } | ||
51 | |||
52 | @Override | ||
53 | public int hashCode() { | ||
54 | return Objects.hash(type, emptyResult, comparator); | ||
55 | } | ||
56 | |||
57 | private class Aggregate implements StatefulAggregate<T, T> { | ||
58 | private final SortedMap<T, Integer> values; | ||
59 | |||
60 | private Aggregate() { | ||
61 | values = new TreeMap<>(comparator); | ||
62 | } | ||
63 | |||
64 | private Aggregate(Aggregate other) { | ||
65 | values = new TreeMap<>(other.values); | ||
66 | } | ||
67 | |||
68 | @Override | ||
69 | public void add(T value) { | ||
70 | values.compute(value, (ignoredValue, currentCount) -> currentCount == null ? 1 : currentCount + 1); | ||
71 | } | ||
72 | |||
73 | @Override | ||
74 | public void remove(T value) { | ||
75 | values.compute(value, (theValue, currentCount) -> { | ||
76 | if (currentCount == null || currentCount <= 0) { | ||
77 | throw new IllegalStateException("Invalid count %d for value %s".formatted(currentCount, theValue)); | ||
78 | } | ||
79 | return currentCount.equals(1) ? null : currentCount - 1; | ||
80 | }); | ||
81 | } | ||
82 | |||
83 | @Override | ||
84 | public T getResult() { | ||
85 | return isEmpty() ? emptyResult : values.firstKey(); | ||
86 | } | ||
87 | |||
88 | @Override | ||
89 | public boolean isEmpty() { | ||
90 | return values.isEmpty(); | ||
91 | } | ||
92 | |||
93 | @Override | ||
94 | public StatefulAggregate<T, T> deepCopy() { | ||
95 | return new Aggregate(this); | ||
96 | } | ||
97 | |||
98 | @Override | ||
99 | public boolean contains(T value) { | ||
100 | return StatefulAggregate.super.contains(value); | ||
101 | } | ||
102 | } | ||
103 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeSort.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeSort.java new file mode 100644 index 00000000..1a4b2d4b --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeSort.java | |||
@@ -0,0 +1,30 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import org.jetbrains.annotations.Nullable; | ||
4 | |||
5 | public final class NodeSort implements Sort { | ||
6 | public static final NodeSort INSTANCE = new NodeSort(); | ||
7 | |||
8 | private NodeSort() { | ||
9 | } | ||
10 | |||
11 | @Override | ||
12 | public boolean isInstance(Variable variable) { | ||
13 | return variable instanceof NodeVariable; | ||
14 | } | ||
15 | |||
16 | @Override | ||
17 | public NodeVariable newInstance(@Nullable String name) { | ||
18 | return new NodeVariable(name); | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | public NodeVariable newInstance() { | ||
23 | return newInstance(null); | ||
24 | } | ||
25 | |||
26 | @Override | ||
27 | public String toString() { | ||
28 | return "<node>"; | ||
29 | } | ||
30 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeVariable.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeVariable.java new file mode 100644 index 00000000..7419aaad --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/NodeVariable.java | |||
@@ -0,0 +1,48 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import org.jetbrains.annotations.Nullable; | ||
4 | import tools.refinery.store.query.literal.ConstantLiteral; | ||
5 | import tools.refinery.store.query.literal.EquivalenceLiteral; | ||
6 | |||
7 | public final class NodeVariable extends Variable { | ||
8 | NodeVariable(@Nullable String name) { | ||
9 | super(name); | ||
10 | } | ||
11 | |||
12 | @Override | ||
13 | public NodeSort getSort() { | ||
14 | return NodeSort.INSTANCE; | ||
15 | } | ||
16 | |||
17 | @Override | ||
18 | public NodeVariable renew(@Nullable String name) { | ||
19 | return Variable.of(name); | ||
20 | } | ||
21 | |||
22 | @Override | ||
23 | public NodeVariable renew() { | ||
24 | return renew(getExplicitName()); | ||
25 | } | ||
26 | |||
27 | @Override | ||
28 | public NodeVariable asNodeVariable() { | ||
29 | return this; | ||
30 | } | ||
31 | |||
32 | @Override | ||
33 | public <T> DataVariable<T> asDataVariable(Class<T> type) { | ||
34 | throw new IllegalStateException("%s is a node variable".formatted(this)); | ||
35 | } | ||
36 | |||
37 | public ConstantLiteral isConstant(int value) { | ||
38 | return new ConstantLiteral(this, value); | ||
39 | } | ||
40 | |||
41 | public EquivalenceLiteral isEquivalent(NodeVariable other) { | ||
42 | return new EquivalenceLiteral(true, this, other); | ||
43 | } | ||
44 | |||
45 | public EquivalenceLiteral notEquivalent(NodeVariable other) { | ||
46 | return new EquivalenceLiteral(false, this, other); | ||
47 | } | ||
48 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/OpaqueTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/OpaqueTerm.java new file mode 100644 index 00000000..8faa9c75 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/OpaqueTerm.java | |||
@@ -0,0 +1,80 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | import tools.refinery.store.query.substitution.Substitution; | ||
5 | import tools.refinery.store.query.substitution.Substitutions; | ||
6 | import tools.refinery.store.query.valuation.Valuation; | ||
7 | |||
8 | import java.util.Objects; | ||
9 | import java.util.Set; | ||
10 | import java.util.function.Function; | ||
11 | import java.util.stream.Collectors; | ||
12 | |||
13 | public final class OpaqueTerm<T> implements Term<T> { | ||
14 | private final Class<T> type; | ||
15 | private final Function<? super Valuation, ? extends T> evaluator; | ||
16 | private final Set<AnyDataVariable> variables; | ||
17 | private final Substitution substitution; | ||
18 | |||
19 | public OpaqueTerm(Class<T> type, Function<? super Valuation, ? extends T> evaluator, | ||
20 | Set<? extends AnyDataVariable> variables) { | ||
21 | this(type, evaluator, variables, null); | ||
22 | } | ||
23 | |||
24 | private OpaqueTerm(Class<T> type, Function<? super Valuation, ? extends T> evaluator, | ||
25 | Set<? extends AnyDataVariable> variables, Substitution substitution) { | ||
26 | this.type = type; | ||
27 | this.evaluator = evaluator; | ||
28 | this.variables = Set.copyOf(variables); | ||
29 | this.substitution = substitution; | ||
30 | } | ||
31 | |||
32 | @Override | ||
33 | public Class<T> getType() { | ||
34 | return type; | ||
35 | } | ||
36 | |||
37 | @Override | ||
38 | public Set<AnyDataVariable> getInputVariables() { | ||
39 | return variables; | ||
40 | } | ||
41 | |||
42 | @Override | ||
43 | public T evaluate(Valuation valuation) { | ||
44 | return evaluator.apply(valuation.substitute(substitution)); | ||
45 | } | ||
46 | |||
47 | @Override | ||
48 | public Term<T> substitute(Substitution newSubstitution) { | ||
49 | var substitutedVariables = variables.stream() | ||
50 | .map(newSubstitution::getTypeSafeSubstitute) | ||
51 | .collect(Collectors.toUnmodifiableSet()); | ||
52 | return new OpaqueTerm<>(type, evaluator, substitutedVariables, | ||
53 | Substitutions.compose(substitution, newSubstitution)); | ||
54 | } | ||
55 | |||
56 | @Override | ||
57 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) { | ||
58 | // Cannot inspect the opaque evaluator for deep equality. | ||
59 | return equals(other); | ||
60 | } | ||
61 | |||
62 | @Override | ||
63 | public String toString() { | ||
64 | return "<opaque>"; | ||
65 | } | ||
66 | |||
67 | @Override | ||
68 | public boolean equals(Object o) { | ||
69 | if (this == o) return true; | ||
70 | if (o == null || getClass() != o.getClass()) return false; | ||
71 | OpaqueTerm<?> that = (OpaqueTerm<?>) o; | ||
72 | return type.equals(that.type) && evaluator.equals(that.evaluator) && Objects.equals(substitution, | ||
73 | that.substitution); | ||
74 | } | ||
75 | |||
76 | @Override | ||
77 | public int hashCode() { | ||
78 | return Objects.hash(type, evaluator, substitution); | ||
79 | } | ||
80 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Sort.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Sort.java new file mode 100644 index 00000000..622bcfce --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Sort.java | |||
@@ -0,0 +1,11 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import org.jetbrains.annotations.Nullable; | ||
4 | |||
5 | public sealed interface Sort permits DataSort, NodeSort { | ||
6 | boolean isInstance(Variable variable); | ||
7 | |||
8 | Variable newInstance(@Nullable String name); | ||
9 | |||
10 | Variable newInstance(); | ||
11 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregate.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregate.java new file mode 100644 index 00000000..7ce91305 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregate.java | |||
@@ -0,0 +1,17 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | public interface StatefulAggregate<R, T> { | ||
4 | void add(T value); | ||
5 | |||
6 | void remove(T value); | ||
7 | |||
8 | R getResult(); | ||
9 | |||
10 | boolean isEmpty(); | ||
11 | |||
12 | StatefulAggregate<R, T> deepCopy(); | ||
13 | |||
14 | default boolean contains(T value) { | ||
15 | throw new UnsupportedOperationException(); | ||
16 | } | ||
17 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregator.java new file mode 100644 index 00000000..c215a511 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatefulAggregator.java | |||
@@ -0,0 +1,23 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import java.util.stream.Stream; | ||
4 | |||
5 | public interface StatefulAggregator<R, T> extends Aggregator<R, T> { | ||
6 | StatefulAggregate<R, T> createEmptyAggregate(); | ||
7 | |||
8 | @Override | ||
9 | default R aggregateStream(Stream<T> stream) { | ||
10 | var accumulator = createEmptyAggregate(); | ||
11 | var iterator = stream.iterator(); | ||
12 | while (iterator.hasNext()) { | ||
13 | var value = iterator.next(); | ||
14 | accumulator.add(value); | ||
15 | } | ||
16 | return accumulator.getResult(); | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | default R getEmptyResult() { | ||
21 | return createEmptyAggregate().getResult(); | ||
22 | } | ||
23 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatelessAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatelessAggregator.java new file mode 100644 index 00000000..74dbd335 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/StatelessAggregator.java | |||
@@ -0,0 +1,20 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import java.util.stream.Stream; | ||
4 | |||
5 | public interface StatelessAggregator<R, T> extends Aggregator<R, T> { | ||
6 | R add(R current, T value); | ||
7 | |||
8 | R remove(R current, T value); | ||
9 | |||
10 | @Override | ||
11 | default R aggregateStream(Stream<T> stream) { | ||
12 | var accumulator = getEmptyResult(); | ||
13 | var iterator = stream.iterator(); | ||
14 | while (iterator.hasNext()) { | ||
15 | var value = iterator.next(); | ||
16 | accumulator = add(accumulator, value); | ||
17 | } | ||
18 | return accumulator; | ||
19 | } | ||
20 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Term.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Term.java new file mode 100644 index 00000000..95434db2 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Term.java | |||
@@ -0,0 +1,21 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import tools.refinery.store.query.literal.AssignLiteral; | ||
4 | import tools.refinery.store.query.literal.Literal; | ||
5 | import tools.refinery.store.query.substitution.Substitution; | ||
6 | import tools.refinery.store.query.valuation.Valuation; | ||
7 | |||
8 | public non-sealed interface Term<T> extends AnyTerm, AssignedValue<T> { | ||
9 | @Override | ||
10 | Class<T> getType(); | ||
11 | |||
12 | T evaluate(Valuation valuation); | ||
13 | |||
14 | @Override | ||
15 | Term<T> substitute(Substitution substitution); | ||
16 | |||
17 | @Override | ||
18 | default Literal toLiteral(DataVariable<T> targetVariable) { | ||
19 | return new AssignLiteral<>(targetVariable, this); | ||
20 | } | ||
21 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/UnaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/UnaryTerm.java new file mode 100644 index 00000000..4083111a --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/UnaryTerm.java | |||
@@ -0,0 +1,68 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | import tools.refinery.store.query.substitution.Substitution; | ||
5 | import tools.refinery.store.query.valuation.Valuation; | ||
6 | |||
7 | import java.util.Objects; | ||
8 | import java.util.Set; | ||
9 | |||
10 | public abstract class UnaryTerm<R, T> implements Term<R> { | ||
11 | private final Term<T> body; | ||
12 | |||
13 | protected UnaryTerm(Term<T> body) { | ||
14 | if (!body.getType().equals(getBodyType())) { | ||
15 | throw new IllegalArgumentException("Expected body %s to be of type %s, got %s instead".formatted(body, | ||
16 | getBodyType().getName(), body.getType().getName())); | ||
17 | } | ||
18 | this.body = body; | ||
19 | } | ||
20 | |||
21 | public abstract Class<T> getBodyType(); | ||
22 | |||
23 | public Term<T> getBody() { | ||
24 | return body; | ||
25 | } | ||
26 | |||
27 | @Override | ||
28 | public R evaluate(Valuation valuation) { | ||
29 | var bodyValue = body.evaluate(valuation); | ||
30 | return bodyValue == null ? null : doEvaluate(bodyValue); | ||
31 | } | ||
32 | |||
33 | protected abstract R doEvaluate(T bodyValue); | ||
34 | |||
35 | @Override | ||
36 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) { | ||
37 | if (getClass() != other.getClass()) { | ||
38 | return false; | ||
39 | } | ||
40 | var otherUnaryTerm = (UnaryTerm<?, ?>) other; | ||
41 | return body.equalsWithSubstitution(helper, otherUnaryTerm.body); | ||
42 | } | ||
43 | |||
44 | @Override | ||
45 | public Term<R> substitute(Substitution substitution) { | ||
46 | return doSubstitute(substitution, body.substitute(substitution)); | ||
47 | } | ||
48 | |||
49 | protected abstract Term<R> doSubstitute(Substitution substitution, Term<T> substitutedBody); | ||
50 | |||
51 | @Override | ||
52 | public Set<AnyDataVariable> getInputVariables() { | ||
53 | return body.getInputVariables(); | ||
54 | } | ||
55 | |||
56 | @Override | ||
57 | public boolean equals(Object o) { | ||
58 | if (this == o) return true; | ||
59 | if (o == null || getClass() != o.getClass()) return false; | ||
60 | UnaryTerm<?, ?> unaryTerm = (UnaryTerm<?, ?>) o; | ||
61 | return body.equals(unaryTerm.body); | ||
62 | } | ||
63 | |||
64 | @Override | ||
65 | public int hashCode() { | ||
66 | return Objects.hash(getClass(), body); | ||
67 | } | ||
68 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Variable.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Variable.java new file mode 100644 index 00000000..957e10f8 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/Variable.java | |||
@@ -0,0 +1,76 @@ | |||
1 | package tools.refinery.store.query.term; | ||
2 | |||
3 | import org.jetbrains.annotations.Nullable; | ||
4 | import tools.refinery.store.query.dnf.DnfUtils; | ||
5 | |||
6 | import java.util.Objects; | ||
7 | |||
8 | public abstract sealed class Variable permits AnyDataVariable, NodeVariable { | ||
9 | private final String explicitName; | ||
10 | private final String uniqueName; | ||
11 | |||
12 | protected Variable(String name) { | ||
13 | this.explicitName = name; | ||
14 | uniqueName = DnfUtils.generateUniqueName(name); | ||
15 | } | ||
16 | |||
17 | public abstract Sort getSort(); | ||
18 | |||
19 | public String getName() { | ||
20 | return explicitName == null ? uniqueName : explicitName; | ||
21 | } | ||
22 | |||
23 | protected String getExplicitName() { | ||
24 | return explicitName; | ||
25 | } | ||
26 | |||
27 | public boolean isExplicitlyNamed() { | ||
28 | return explicitName != null; | ||
29 | } | ||
30 | |||
31 | public String getUniqueName() { | ||
32 | return uniqueName; | ||
33 | } | ||
34 | |||
35 | public abstract Variable renew(@Nullable String name); | ||
36 | |||
37 | public abstract Variable renew(); | ||
38 | |||
39 | public abstract NodeVariable asNodeVariable(); | ||
40 | |||
41 | public abstract <T> DataVariable<T> asDataVariable(Class<T> type); | ||
42 | |||
43 | @Override | ||
44 | public String toString() { | ||
45 | return getName(); | ||
46 | } | ||
47 | |||
48 | @Override | ||
49 | public boolean equals(Object o) { | ||
50 | if (this == o) return true; | ||
51 | if (o == null || getClass() != o.getClass()) return false; | ||
52 | Variable variable = (Variable) o; | ||
53 | return Objects.equals(uniqueName, variable.uniqueName); | ||
54 | } | ||
55 | |||
56 | @Override | ||
57 | public int hashCode() { | ||
58 | return Objects.hash(uniqueName); | ||
59 | } | ||
60 | |||
61 | public static NodeVariable of(@Nullable String name) { | ||
62 | return new NodeVariable(name); | ||
63 | } | ||
64 | |||
65 | public static NodeVariable of() { | ||
66 | return of((String) null); | ||
67 | } | ||
68 | |||
69 | public static <T> DataVariable<T> of(@Nullable String name, Class<T> type) { | ||
70 | return new DataVariable<>(name, type); | ||
71 | } | ||
72 | |||
73 | public static <T> DataVariable<T> of(Class<T> type) { | ||
74 | return of(null, type); | ||
75 | } | ||
76 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolConstantTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolConstantTerm.java new file mode 100644 index 00000000..5079f1ce --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolConstantTerm.java | |||
@@ -0,0 +1,16 @@ | |||
1 | package tools.refinery.store.query.term.bool; | ||
2 | |||
3 | import tools.refinery.store.query.term.ConstantTerm; | ||
4 | |||
5 | public final class BoolConstantTerm { | ||
6 | public static final ConstantTerm<Boolean> TRUE = new ConstantTerm<>(Boolean.class, true); | ||
7 | public static final ConstantTerm<Boolean> FALSE = new ConstantTerm<>(Boolean.class, false); | ||
8 | |||
9 | private BoolConstantTerm() { | ||
10 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | ||
11 | } | ||
12 | |||
13 | public static ConstantTerm<Boolean> valueOf(boolean boolValue) { | ||
14 | return boolValue ? TRUE : FALSE; | ||
15 | } | ||
16 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolLogicBinaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolLogicBinaryTerm.java new file mode 100644 index 00000000..d85f864d --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolLogicBinaryTerm.java | |||
@@ -0,0 +1,78 @@ | |||
1 | package tools.refinery.store.query.term.bool; | ||
2 | |||
3 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
4 | import tools.refinery.store.query.substitution.Substitution; | ||
5 | import tools.refinery.store.query.term.*; | ||
6 | |||
7 | import java.util.Objects; | ||
8 | |||
9 | public class BoolLogicBinaryTerm extends BinaryTerm<Boolean, Boolean, Boolean> { | ||
10 | private final LogicBinaryOperator operator; | ||
11 | |||
12 | protected BoolLogicBinaryTerm(LogicBinaryOperator operator, Term<Boolean> left, Term<Boolean> right) { | ||
13 | super(left, right); | ||
14 | this.operator = operator; | ||
15 | } | ||
16 | |||
17 | @Override | ||
18 | public Class<Boolean> getType() { | ||
19 | return Boolean.class; | ||
20 | } | ||
21 | |||
22 | @Override | ||
23 | public Class<Boolean> getLeftType() { | ||
24 | return getType(); | ||
25 | } | ||
26 | |||
27 | @Override | ||
28 | public Class<Boolean> getRightType() { | ||
29 | return getType(); | ||
30 | } | ||
31 | |||
32 | public LogicBinaryOperator getOperator() { | ||
33 | return operator; | ||
34 | } | ||
35 | |||
36 | @Override | ||
37 | public boolean equalsWithSubstitution(LiteralEqualityHelper helper, AnyTerm other) { | ||
38 | if (!super.equalsWithSubstitution(helper, other)) { | ||
39 | return false; | ||
40 | } | ||
41 | var otherBoolLogicBinaryTerm = (BoolLogicBinaryTerm) other; | ||
42 | return operator == otherBoolLogicBinaryTerm.operator; | ||
43 | } | ||
44 | |||
45 | @Override | ||
46 | public Term<Boolean> doSubstitute(Substitution substitution, Term<Boolean> substitutedLeft, | ||
47 | Term<Boolean> substitutedRight) { | ||
48 | return new BoolLogicBinaryTerm(getOperator(), substitutedLeft, substitutedRight); | ||
49 | } | ||
50 | |||
51 | @Override | ||
52 | protected Boolean doEvaluate(Boolean leftValue, Boolean rightValue) { | ||
53 | return switch (getOperator()) { | ||
54 | case AND -> leftValue && rightValue; | ||
55 | case OR -> leftValue || rightValue; | ||
56 | case XOR -> leftValue ^ rightValue; | ||
57 | }; | ||
58 | } | ||
59 | |||
60 | @Override | ||
61 | public String toString() { | ||
62 | return operator.formatString(getLeft().toString(), getRight().toString()); | ||
63 | } | ||
64 | |||
65 | @Override | ||
66 | public boolean equals(Object o) { | ||
67 | if (this == o) return true; | ||
68 | if (o == null || getClass() != o.getClass()) return false; | ||
69 | if (!super.equals(o)) return false; | ||
70 | BoolLogicBinaryTerm that = (BoolLogicBinaryTerm) o; | ||
71 | return operator == that.operator; | ||
72 | } | ||
73 | |||
74 | @Override | ||
75 | public int hashCode() { | ||
76 | return Objects.hash(super.hashCode(), operator); | ||
77 | } | ||
78 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolNotTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolNotTerm.java new file mode 100644 index 00000000..855139b5 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolNotTerm.java | |||
@@ -0,0 +1,36 @@ | |||
1 | package tools.refinery.store.query.term.bool; | ||
2 | |||
3 | import tools.refinery.store.query.substitution.Substitution; | ||
4 | import tools.refinery.store.query.term.Term; | ||
5 | import tools.refinery.store.query.term.UnaryTerm; | ||
6 | |||
7 | public class BoolNotTerm extends UnaryTerm<Boolean, Boolean> { | ||
8 | protected BoolNotTerm(Term<Boolean> body) { | ||
9 | super(body); | ||
10 | } | ||
11 | |||
12 | @Override | ||
13 | public Class<Boolean> getType() { | ||
14 | return Boolean.class; | ||
15 | } | ||
16 | |||
17 | @Override | ||
18 | public Class<Boolean> getBodyType() { | ||
19 | return getType(); | ||
20 | } | ||
21 | |||
22 | @Override | ||
23 | protected Term<Boolean> doSubstitute(Substitution substitution, Term<Boolean> substitutedBody) { | ||
24 | return new BoolNotTerm(substitutedBody); | ||
25 | } | ||
26 | |||
27 | @Override | ||
28 | protected Boolean doEvaluate(Boolean bodyValue) { | ||
29 | return !bodyValue; | ||
30 | } | ||
31 | |||
32 | @Override | ||
33 | public String toString() { | ||
34 | return "!(%s)".formatted(getBody()); | ||
35 | } | ||
36 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolTerms.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolTerms.java new file mode 100644 index 00000000..3d6c8d9d --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/BoolTerms.java | |||
@@ -0,0 +1,30 @@ | |||
1 | package tools.refinery.store.query.term.bool; | ||
2 | |||
3 | import tools.refinery.store.query.term.ConstantTerm; | ||
4 | import tools.refinery.store.query.term.Term; | ||
5 | |||
6 | public final class BoolTerms { | ||
7 | private BoolTerms() { | ||
8 | throw new IllegalArgumentException("This is a static utility class and should not be instantiated directly"); | ||
9 | } | ||
10 | |||
11 | public static ConstantTerm<Boolean> constant(boolean value) { | ||
12 | return BoolConstantTerm.valueOf(value); | ||
13 | } | ||
14 | |||
15 | public static BoolNotTerm not(Term<Boolean> body) { | ||
16 | return new BoolNotTerm(body); | ||
17 | } | ||
18 | |||
19 | public static BoolLogicBinaryTerm and(Term<Boolean> left, Term<Boolean> right) { | ||
20 | return new BoolLogicBinaryTerm(LogicBinaryOperator.AND, left, right); | ||
21 | } | ||
22 | |||
23 | public static BoolLogicBinaryTerm or(Term<Boolean> left, Term<Boolean> right) { | ||
24 | return new BoolLogicBinaryTerm(LogicBinaryOperator.OR, left, right); | ||
25 | } | ||
26 | |||
27 | public static BoolLogicBinaryTerm xor(Term<Boolean> left, Term<Boolean> right) { | ||
28 | return new BoolLogicBinaryTerm(LogicBinaryOperator.XOR, left, right); | ||
29 | } | ||
30 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/LogicBinaryOperator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/LogicBinaryOperator.java new file mode 100644 index 00000000..ca9ac66e --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/bool/LogicBinaryOperator.java | |||
@@ -0,0 +1,17 @@ | |||
1 | package tools.refinery.store.query.term.bool; | ||
2 | |||
3 | public enum LogicBinaryOperator { | ||
4 | AND("&&"), | ||
5 | OR("||"), | ||
6 | XOR("^^"); | ||
7 | |||
8 | private final String text; | ||
9 | |||
10 | LogicBinaryOperator(String text) { | ||
11 | this.text = text; | ||
12 | } | ||
13 | |||
14 | public String formatString(String left, String right) { | ||
15 | return "(%s) %s (%s)".formatted(left, text, right); | ||
16 | } | ||
17 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticBinaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticBinaryTerm.java new file mode 100644 index 00000000..32e41718 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticBinaryTerm.java | |||
@@ -0,0 +1,48 @@ | |||
1 | package tools.refinery.store.query.term.int_; | ||
2 | |||
3 | import tools.refinery.store.query.substitution.Substitution; | ||
4 | import tools.refinery.store.query.term.ArithmeticBinaryOperator; | ||
5 | import tools.refinery.store.query.term.ArithmeticBinaryTerm; | ||
6 | import tools.refinery.store.query.term.Term; | ||
7 | |||
8 | public class IntArithmeticBinaryTerm extends ArithmeticBinaryTerm<Integer> { | ||
9 | public IntArithmeticBinaryTerm(ArithmeticBinaryOperator operator, Term<Integer> left, Term<Integer> right) { | ||
10 | super(operator, left, right); | ||
11 | } | ||
12 | |||
13 | @Override | ||
14 | public Class<Integer> getType() { | ||
15 | return Integer.class; | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | public Term<Integer> doSubstitute(Substitution substitution, Term<Integer> substitutedLeft, | ||
20 | Term<Integer> substitutedRight) { | ||
21 | return new IntArithmeticBinaryTerm(getOperator(), substitutedLeft, substitutedRight); | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | protected Integer doEvaluate(Integer leftValue, Integer rightValue) { | ||
26 | return switch (getOperator()) { | ||
27 | case ADD -> leftValue + rightValue; | ||
28 | case SUB -> leftValue - rightValue; | ||
29 | case MUL -> leftValue * rightValue; | ||
30 | case DIV -> rightValue == 0 ? null : leftValue / rightValue; | ||
31 | case POW -> rightValue < 0 ? null : power(leftValue, rightValue); | ||
32 | case MIN -> Math.min(leftValue, rightValue); | ||
33 | case MAX -> Math.max(leftValue, rightValue); | ||
34 | }; | ||
35 | } | ||
36 | |||
37 | private static int power(int base, int exponent) { | ||
38 | int accum = 1; | ||
39 | while (exponent > 0) { | ||
40 | if (exponent % 2 == 1) { | ||
41 | accum = accum * base; | ||
42 | } | ||
43 | base = base * base; | ||
44 | exponent = exponent / 2; | ||
45 | } | ||
46 | return accum; | ||
47 | } | ||
48 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticUnaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticUnaryTerm.java new file mode 100644 index 00000000..1e769259 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntArithmeticUnaryTerm.java | |||
@@ -0,0 +1,30 @@ | |||
1 | package tools.refinery.store.query.term.int_; | ||
2 | |||
3 | import tools.refinery.store.query.substitution.Substitution; | ||
4 | import tools.refinery.store.query.term.Term; | ||
5 | import tools.refinery.store.query.term.ArithmeticUnaryOperator; | ||
6 | import tools.refinery.store.query.term.ArithmeticUnaryTerm; | ||
7 | |||
8 | public class IntArithmeticUnaryTerm extends ArithmeticUnaryTerm<Integer> { | ||
9 | public IntArithmeticUnaryTerm(ArithmeticUnaryOperator operation, Term<Integer> body) { | ||
10 | super(operation, body); | ||
11 | } | ||
12 | |||
13 | @Override | ||
14 | public Class<Integer> getType() { | ||
15 | return Integer.class; | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | protected Term<Integer> doSubstitute(Substitution substitution, Term<Integer> substitutedBody) { | ||
20 | return new IntArithmeticUnaryTerm(getOperator(), substitutedBody); | ||
21 | } | ||
22 | |||
23 | @Override | ||
24 | protected Integer doEvaluate(Integer bodyValue) { | ||
25 | return switch(getOperator()) { | ||
26 | case PLUS -> bodyValue; | ||
27 | case MINUS -> -bodyValue; | ||
28 | }; | ||
29 | } | ||
30 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntComparisonTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntComparisonTerm.java new file mode 100644 index 00000000..322d2b80 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntComparisonTerm.java | |||
@@ -0,0 +1,34 @@ | |||
1 | package tools.refinery.store.query.term.int_; | ||
2 | import tools.refinery.store.query.substitution.Substitution; | ||
3 | import tools.refinery.store.query.term.ComparisonOperator; | ||
4 | import tools.refinery.store.query.term.ComparisonTerm; | ||
5 | import tools.refinery.store.query.term.Term; | ||
6 | |||
7 | public class IntComparisonTerm extends ComparisonTerm<Integer> { | ||
8 | public IntComparisonTerm(ComparisonOperator operator, Term<Integer> left, Term<Integer> right) { | ||
9 | super(operator, left, right); | ||
10 | } | ||
11 | |||
12 | @Override | ||
13 | public Class<Integer> getOperandType() { | ||
14 | return Integer.class; | ||
15 | } | ||
16 | |||
17 | @Override | ||
18 | public Term<Boolean> doSubstitute(Substitution substitution, Term<Integer> substitutedLeft, | ||
19 | Term<Integer> substitutedRight) { | ||
20 | return new IntComparisonTerm(getOperator(), substitutedLeft, substitutedRight); | ||
21 | } | ||
22 | |||
23 | @Override | ||
24 | protected Boolean doEvaluate(Integer leftValue, Integer rightValue) { | ||
25 | return switch (getOperator()) { | ||
26 | case EQ -> leftValue.equals(rightValue); | ||
27 | case NOT_EQ -> !leftValue.equals(rightValue); | ||
28 | case LESS -> leftValue < rightValue; | ||
29 | case LESS_EQ -> leftValue <= rightValue; | ||
30 | case GREATER -> leftValue > rightValue; | ||
31 | case GREATER_EQ -> leftValue >= rightValue; | ||
32 | }; | ||
33 | } | ||
34 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntExtremeValueAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntExtremeValueAggregator.java new file mode 100644 index 00000000..d5a6add0 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntExtremeValueAggregator.java | |||
@@ -0,0 +1,17 @@ | |||
1 | package tools.refinery.store.query.term.int_; | ||
2 | |||
3 | import tools.refinery.store.query.term.ExtremeValueAggregator; | ||
4 | |||
5 | import java.util.Comparator; | ||
6 | |||
7 | public final class IntExtremeValueAggregator { | ||
8 | public static final ExtremeValueAggregator<Integer> MINIMUM = new ExtremeValueAggregator<>(Integer.class, | ||
9 | Integer.MAX_VALUE); | ||
10 | |||
11 | public static final ExtremeValueAggregator<Integer> MAXIMUM = new ExtremeValueAggregator<>(Integer.class, | ||
12 | Integer.MIN_VALUE, Comparator.reverseOrder()); | ||
13 | |||
14 | private IntExtremeValueAggregator() { | ||
15 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | ||
16 | } | ||
17 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntSumAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntSumAggregator.java new file mode 100644 index 00000000..65024f52 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntSumAggregator.java | |||
@@ -0,0 +1,35 @@ | |||
1 | package tools.refinery.store.query.term.int_; | ||
2 | |||
3 | import tools.refinery.store.query.term.StatelessAggregator; | ||
4 | |||
5 | public final class IntSumAggregator implements StatelessAggregator<Integer, Integer> { | ||
6 | public static final IntSumAggregator INSTANCE = new IntSumAggregator(); | ||
7 | |||
8 | private IntSumAggregator() { | ||
9 | } | ||
10 | |||
11 | @Override | ||
12 | public Class<Integer> getResultType() { | ||
13 | return Integer.class; | ||
14 | } | ||
15 | |||
16 | @Override | ||
17 | public Class<Integer> getInputType() { | ||
18 | return Integer.class; | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | public Integer getEmptyResult() { | ||
23 | return 0; | ||
24 | } | ||
25 | |||
26 | @Override | ||
27 | public Integer add(Integer current, Integer value) { | ||
28 | return current + value; | ||
29 | } | ||
30 | |||
31 | @Override | ||
32 | public Integer remove(Integer current, Integer value) { | ||
33 | return current - value; | ||
34 | } | ||
35 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntTerms.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntTerms.java new file mode 100644 index 00000000..86594deb --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/IntTerms.java | |||
@@ -0,0 +1,81 @@ | |||
1 | package tools.refinery.store.query.term.int_; | ||
2 | |||
3 | import tools.refinery.store.query.term.*; | ||
4 | |||
5 | public final class IntTerms { | ||
6 | public static final Aggregator<Integer, Integer> INT_SUM = IntSumAggregator.INSTANCE; | ||
7 | public static final Aggregator<Integer, Integer> INT_MIN = IntExtremeValueAggregator.MINIMUM; | ||
8 | public static final Aggregator<Integer, Integer> INT_MAX = IntExtremeValueAggregator.MAXIMUM; | ||
9 | |||
10 | private IntTerms() { | ||
11 | throw new IllegalArgumentException("This is a static utility class and should not be instantiated directly"); | ||
12 | } | ||
13 | |||
14 | public static ConstantTerm<Integer> constant(int value) { | ||
15 | return new ConstantTerm<>(Integer.class, value); | ||
16 | } | ||
17 | |||
18 | public static IntArithmeticUnaryTerm plus(Term<Integer> body) { | ||
19 | return new IntArithmeticUnaryTerm(ArithmeticUnaryOperator.PLUS, body); | ||
20 | } | ||
21 | |||
22 | public static IntArithmeticUnaryTerm minus(Term<Integer> body) { | ||
23 | return new IntArithmeticUnaryTerm(ArithmeticUnaryOperator.MINUS, body); | ||
24 | } | ||
25 | |||
26 | public static IntArithmeticBinaryTerm add(Term<Integer> left, Term<Integer> right) { | ||
27 | return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.ADD, left, right); | ||
28 | } | ||
29 | |||
30 | public static IntArithmeticBinaryTerm sub(Term<Integer> left, Term<Integer> right) { | ||
31 | return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.SUB, left, right); | ||
32 | } | ||
33 | |||
34 | public static IntArithmeticBinaryTerm mul(Term<Integer> left, Term<Integer> right) { | ||
35 | return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.MUL, left, right); | ||
36 | } | ||
37 | |||
38 | public static IntArithmeticBinaryTerm div(Term<Integer> left, Term<Integer> right) { | ||
39 | return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.DIV, left, right); | ||
40 | } | ||
41 | |||
42 | public static IntArithmeticBinaryTerm pow(Term<Integer> left, Term<Integer> right) { | ||
43 | return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.POW, left, right); | ||
44 | } | ||
45 | |||
46 | public static IntArithmeticBinaryTerm min(Term<Integer> left, Term<Integer> right) { | ||
47 | return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.MIN, left, right); | ||
48 | } | ||
49 | |||
50 | public static IntArithmeticBinaryTerm max(Term<Integer> left, Term<Integer> right) { | ||
51 | return new IntArithmeticBinaryTerm(ArithmeticBinaryOperator.MAX, left, right); | ||
52 | } | ||
53 | |||
54 | public static IntComparisonTerm eq(Term<Integer> left, Term<Integer> right) { | ||
55 | return new IntComparisonTerm(ComparisonOperator.EQ, left, right); | ||
56 | } | ||
57 | |||
58 | public static IntComparisonTerm notEq(Term<Integer> left, Term<Integer> right) { | ||
59 | return new IntComparisonTerm(ComparisonOperator.NOT_EQ, left, right); | ||
60 | } | ||
61 | |||
62 | public static IntComparisonTerm less(Term<Integer> left, Term<Integer> right) { | ||
63 | return new IntComparisonTerm(ComparisonOperator.LESS, left, right); | ||
64 | } | ||
65 | |||
66 | public static IntComparisonTerm lessEq(Term<Integer> left, Term<Integer> right) { | ||
67 | return new IntComparisonTerm(ComparisonOperator.LESS_EQ, left, right); | ||
68 | } | ||
69 | |||
70 | public static IntComparisonTerm greater(Term<Integer> left, Term<Integer> right) { | ||
71 | return new IntComparisonTerm(ComparisonOperator.GREATER, left, right); | ||
72 | } | ||
73 | |||
74 | public static IntComparisonTerm greaterEq(Term<Integer> left, Term<Integer> right) { | ||
75 | return new IntComparisonTerm(ComparisonOperator.GREATER_EQ, left, right); | ||
76 | } | ||
77 | |||
78 | public static RealToIntTerm asInt(Term<Double> body) { | ||
79 | return new RealToIntTerm(body); | ||
80 | } | ||
81 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/RealToIntTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/RealToIntTerm.java new file mode 100644 index 00000000..53875ddc --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/int_/RealToIntTerm.java | |||
@@ -0,0 +1,36 @@ | |||
1 | package tools.refinery.store.query.term.int_; | ||
2 | |||
3 | import tools.refinery.store.query.substitution.Substitution; | ||
4 | import tools.refinery.store.query.term.Term; | ||
5 | import tools.refinery.store.query.term.UnaryTerm; | ||
6 | |||
7 | public class RealToIntTerm extends UnaryTerm<Integer, Double> { | ||
8 | protected RealToIntTerm(Term<Double> body) { | ||
9 | super(body); | ||
10 | } | ||
11 | |||
12 | @Override | ||
13 | public Class<Integer> getType() { | ||
14 | return Integer.class; | ||
15 | } | ||
16 | |||
17 | @Override | ||
18 | public Class<Double> getBodyType() { | ||
19 | return Double.class; | ||
20 | } | ||
21 | |||
22 | @Override | ||
23 | protected Integer doEvaluate(Double bodyValue) { | ||
24 | return bodyValue.intValue(); | ||
25 | } | ||
26 | |||
27 | @Override | ||
28 | protected Term<Integer> doSubstitute(Substitution substitution, Term<Double> substitutedBody) { | ||
29 | return new RealToIntTerm(substitutedBody); | ||
30 | } | ||
31 | |||
32 | @Override | ||
33 | public String toString() { | ||
34 | return "(%s) as int".formatted(getBody()); | ||
35 | } | ||
36 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/IntToRealTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/IntToRealTerm.java new file mode 100644 index 00000000..55590824 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/IntToRealTerm.java | |||
@@ -0,0 +1,36 @@ | |||
1 | package tools.refinery.store.query.term.real; | ||
2 | |||
3 | import tools.refinery.store.query.substitution.Substitution; | ||
4 | import tools.refinery.store.query.term.Term; | ||
5 | import tools.refinery.store.query.term.UnaryTerm; | ||
6 | |||
7 | public class IntToRealTerm extends UnaryTerm<Double, Integer> { | ||
8 | protected IntToRealTerm(Term<Integer> body) { | ||
9 | super(body); | ||
10 | } | ||
11 | |||
12 | @Override | ||
13 | public Class<Double> getType() { | ||
14 | return Double.class; | ||
15 | } | ||
16 | |||
17 | @Override | ||
18 | public Class<Integer> getBodyType() { | ||
19 | return Integer.class; | ||
20 | } | ||
21 | |||
22 | @Override | ||
23 | protected Term<Double> doSubstitute(Substitution substitution, Term<Integer> substitutedBody) { | ||
24 | return new IntToRealTerm(substitutedBody); | ||
25 | } | ||
26 | |||
27 | @Override | ||
28 | protected Double doEvaluate(Integer bodyValue) { | ||
29 | return bodyValue.doubleValue(); | ||
30 | } | ||
31 | |||
32 | @Override | ||
33 | public String toString() { | ||
34 | return "(%s) as real".formatted(getBody()); | ||
35 | } | ||
36 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticBinaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticBinaryTerm.java new file mode 100644 index 00000000..57bcbe5e --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticBinaryTerm.java | |||
@@ -0,0 +1,36 @@ | |||
1 | package tools.refinery.store.query.term.real; | ||
2 | |||
3 | import tools.refinery.store.query.substitution.Substitution; | ||
4 | import tools.refinery.store.query.term.ArithmeticBinaryOperator; | ||
5 | import tools.refinery.store.query.term.ArithmeticBinaryTerm; | ||
6 | import tools.refinery.store.query.term.Term; | ||
7 | |||
8 | public class RealArithmeticBinaryTerm extends ArithmeticBinaryTerm<Double> { | ||
9 | public RealArithmeticBinaryTerm(ArithmeticBinaryOperator operator, Term<Double> left, Term<Double> right) { | ||
10 | super(operator, left, right); | ||
11 | } | ||
12 | |||
13 | @Override | ||
14 | public Class<Double> getType() { | ||
15 | return Double.class; | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | public Term<Double> doSubstitute(Substitution substitution, Term<Double> substitutedLeft, | ||
20 | Term<Double> substitutedRight) { | ||
21 | return new RealArithmeticBinaryTerm(getOperator(), substitutedLeft, substitutedRight); | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | protected Double doEvaluate(Double leftValue, Double rightValue) { | ||
26 | return switch (getOperator()) { | ||
27 | case ADD -> leftValue + rightValue; | ||
28 | case SUB -> leftValue - rightValue; | ||
29 | case MUL -> leftValue * rightValue; | ||
30 | case DIV -> leftValue / rightValue; | ||
31 | case POW -> Math.pow(leftValue, rightValue); | ||
32 | case MIN -> Math.min(leftValue, rightValue); | ||
33 | case MAX -> Math.max(leftValue, rightValue); | ||
34 | }; | ||
35 | } | ||
36 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticUnaryTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticUnaryTerm.java new file mode 100644 index 00000000..632e68bf --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealArithmeticUnaryTerm.java | |||
@@ -0,0 +1,30 @@ | |||
1 | package tools.refinery.store.query.term.real; | ||
2 | |||
3 | import tools.refinery.store.query.substitution.Substitution; | ||
4 | import tools.refinery.store.query.term.ArithmeticUnaryOperator; | ||
5 | import tools.refinery.store.query.term.ArithmeticUnaryTerm; | ||
6 | import tools.refinery.store.query.term.Term; | ||
7 | |||
8 | public class RealArithmeticUnaryTerm extends ArithmeticUnaryTerm<Double> { | ||
9 | public RealArithmeticUnaryTerm(ArithmeticUnaryOperator operation, Term<Double> body) { | ||
10 | super(operation, body); | ||
11 | } | ||
12 | |||
13 | @Override | ||
14 | public Class<Double> getType() { | ||
15 | return Double.class; | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | protected Term<Double> doSubstitute(Substitution substitution, Term<Double> substitutedBody) { | ||
20 | return new RealArithmeticUnaryTerm(getOperator(), substitutedBody); | ||
21 | } | ||
22 | |||
23 | @Override | ||
24 | protected Double doEvaluate(Double bodyValue) { | ||
25 | return switch(getOperator()) { | ||
26 | case PLUS -> bodyValue; | ||
27 | case MINUS -> -bodyValue; | ||
28 | }; | ||
29 | } | ||
30 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealComparisonTerm.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealComparisonTerm.java new file mode 100644 index 00000000..75d97adb --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealComparisonTerm.java | |||
@@ -0,0 +1,35 @@ | |||
1 | package tools.refinery.store.query.term.real; | ||
2 | |||
3 | import tools.refinery.store.query.substitution.Substitution; | ||
4 | import tools.refinery.store.query.term.ComparisonOperator; | ||
5 | import tools.refinery.store.query.term.ComparisonTerm; | ||
6 | import tools.refinery.store.query.term.Term; | ||
7 | |||
8 | public class RealComparisonTerm extends ComparisonTerm<Double> { | ||
9 | public RealComparisonTerm(ComparisonOperator operator, Term<Double> left, Term<Double> right) { | ||
10 | super(operator, left, right); | ||
11 | } | ||
12 | |||
13 | @Override | ||
14 | public Class<Double> getOperandType() { | ||
15 | return Double.class; | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | public Term<Boolean> doSubstitute(Substitution substitution, Term<Double> substitutedLeft, | ||
20 | Term<Double> substitutedRight) { | ||
21 | return new RealComparisonTerm(getOperator(), substitutedLeft, substitutedRight); | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | protected Boolean doEvaluate(Double leftValue, Double rightValue) { | ||
26 | return switch (getOperator()) { | ||
27 | case EQ -> leftValue.equals(rightValue); | ||
28 | case NOT_EQ -> !leftValue.equals(rightValue); | ||
29 | case LESS -> leftValue < rightValue; | ||
30 | case LESS_EQ -> leftValue <= rightValue; | ||
31 | case GREATER -> leftValue > rightValue; | ||
32 | case GREATER_EQ -> leftValue >= rightValue; | ||
33 | }; | ||
34 | } | ||
35 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealExtremeValueAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealExtremeValueAggregator.java new file mode 100644 index 00000000..23384530 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealExtremeValueAggregator.java | |||
@@ -0,0 +1,17 @@ | |||
1 | package tools.refinery.store.query.term.real; | ||
2 | |||
3 | import tools.refinery.store.query.term.ExtremeValueAggregator; | ||
4 | |||
5 | import java.util.Comparator; | ||
6 | |||
7 | public final class RealExtremeValueAggregator { | ||
8 | public static final ExtremeValueAggregator<Double> MINIMUM = new ExtremeValueAggregator<>(Double.class, | ||
9 | Double.POSITIVE_INFINITY); | ||
10 | |||
11 | public static final ExtremeValueAggregator<Double> MAXIMUM = new ExtremeValueAggregator<>(Double.class, | ||
12 | Double.NEGATIVE_INFINITY, Comparator.reverseOrder()); | ||
13 | |||
14 | private RealExtremeValueAggregator() { | ||
15 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | ||
16 | } | ||
17 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealSumAggregator.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealSumAggregator.java new file mode 100644 index 00000000..d5888664 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealSumAggregator.java | |||
@@ -0,0 +1,85 @@ | |||
1 | package tools.refinery.store.query.term.real; | ||
2 | |||
3 | import tools.refinery.store.query.term.StatefulAggregate; | ||
4 | import tools.refinery.store.query.term.StatefulAggregator; | ||
5 | |||
6 | import java.util.Map; | ||
7 | import java.util.TreeMap; | ||
8 | |||
9 | public final class RealSumAggregator implements StatefulAggregator<Double, Double> { | ||
10 | public static final RealSumAggregator INSTANCE = new RealSumAggregator(); | ||
11 | |||
12 | private RealSumAggregator() { | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public Class<Double> getResultType() { | ||
17 | return null; | ||
18 | } | ||
19 | |||
20 | @Override | ||
21 | public Class<Double> getInputType() { | ||
22 | return null; | ||
23 | } | ||
24 | |||
25 | @Override | ||
26 | public StatefulAggregate<Double, Double> createEmptyAggregate() { | ||
27 | return new Aggregate(); | ||
28 | } | ||
29 | |||
30 | @Override | ||
31 | public Double getEmptyResult() { | ||
32 | return 0d; | ||
33 | } | ||
34 | |||
35 | private static class Aggregate implements StatefulAggregate<Double, Double> { | ||
36 | private final Map<Double, Integer> values; | ||
37 | |||
38 | public Aggregate() { | ||
39 | values = new TreeMap<>(); | ||
40 | } | ||
41 | |||
42 | private Aggregate(Aggregate other) { | ||
43 | values = new TreeMap<>(other.values); | ||
44 | } | ||
45 | |||
46 | @Override | ||
47 | public void add(Double value) { | ||
48 | values.compute(value, (ignoredValue, currentCount) -> currentCount == null ? 1 : currentCount + 1); | ||
49 | } | ||
50 | |||
51 | @Override | ||
52 | public void remove(Double value) { | ||
53 | values.compute(value, (theValue, currentCount) -> { | ||
54 | if (currentCount == null || currentCount <= 0) { | ||
55 | throw new IllegalStateException("Invalid count %d for value %f".formatted(currentCount, theValue)); | ||
56 | } | ||
57 | return currentCount.equals(1) ? null : currentCount - 1; | ||
58 | }); | ||
59 | } | ||
60 | |||
61 | @Override | ||
62 | public Double getResult() { | ||
63 | return values.entrySet() | ||
64 | .stream() | ||
65 | .mapToDouble(entry -> entry.getKey() * entry.getValue()) | ||
66 | .reduce(Double::sum) | ||
67 | .orElse(0d); | ||
68 | } | ||
69 | |||
70 | @Override | ||
71 | public boolean isEmpty() { | ||
72 | return values.isEmpty(); | ||
73 | } | ||
74 | |||
75 | @Override | ||
76 | public StatefulAggregate<Double, Double> deepCopy() { | ||
77 | return new Aggregate(this); | ||
78 | } | ||
79 | |||
80 | @Override | ||
81 | public boolean contains(Double value) { | ||
82 | return values.containsKey(value); | ||
83 | } | ||
84 | } | ||
85 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealTerms.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealTerms.java new file mode 100644 index 00000000..a8117842 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/term/real/RealTerms.java | |||
@@ -0,0 +1,81 @@ | |||
1 | package tools.refinery.store.query.term.real; | ||
2 | |||
3 | import tools.refinery.store.query.term.*; | ||
4 | |||
5 | public final class RealTerms { | ||
6 | public static final Aggregator<Double, Double> REAL_SUM = RealSumAggregator.INSTANCE; | ||
7 | public static final Aggregator<Double, Double> REAL_MIN = RealExtremeValueAggregator.MINIMUM; | ||
8 | public static final Aggregator<Double, Double> REAL_MAX = RealExtremeValueAggregator.MAXIMUM; | ||
9 | |||
10 | private RealTerms() { | ||
11 | throw new IllegalArgumentException("This is a static utility class and should not be instantiated directly"); | ||
12 | } | ||
13 | |||
14 | public static ConstantTerm<Double> constant(double value) { | ||
15 | return new ConstantTerm<>(Double.class, value); | ||
16 | } | ||
17 | |||
18 | public static RealArithmeticUnaryTerm plus(Term<Double> body) { | ||
19 | return new RealArithmeticUnaryTerm(ArithmeticUnaryOperator.PLUS, body); | ||
20 | } | ||
21 | |||
22 | public static RealArithmeticUnaryTerm minus(Term<Double> body) { | ||
23 | return new RealArithmeticUnaryTerm(ArithmeticUnaryOperator.MINUS, body); | ||
24 | } | ||
25 | |||
26 | public static RealArithmeticBinaryTerm add(Term<Double> left, Term<Double> right) { | ||
27 | return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.ADD, left, right); | ||
28 | } | ||
29 | |||
30 | public static RealArithmeticBinaryTerm sub(Term<Double> left, Term<Double> right) { | ||
31 | return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.SUB, left, right); | ||
32 | } | ||
33 | |||
34 | public static RealArithmeticBinaryTerm mul(Term<Double> left, Term<Double> right) { | ||
35 | return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.MUL, left, right); | ||
36 | } | ||
37 | |||
38 | public static RealArithmeticBinaryTerm div(Term<Double> left, Term<Double> right) { | ||
39 | return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.DIV, left, right); | ||
40 | } | ||
41 | |||
42 | public static RealArithmeticBinaryTerm pow(Term<Double> left, Term<Double> right) { | ||
43 | return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.POW, left, right); | ||
44 | } | ||
45 | |||
46 | public static RealArithmeticBinaryTerm min(Term<Double> left, Term<Double> right) { | ||
47 | return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.MIN, left, right); | ||
48 | } | ||
49 | |||
50 | public static RealArithmeticBinaryTerm max(Term<Double> left, Term<Double> right) { | ||
51 | return new RealArithmeticBinaryTerm(ArithmeticBinaryOperator.MAX, left, right); | ||
52 | } | ||
53 | |||
54 | public static RealComparisonTerm eq(Term<Double> left, Term<Double> right) { | ||
55 | return new RealComparisonTerm(ComparisonOperator.EQ, left, right); | ||
56 | } | ||
57 | |||
58 | public static RealComparisonTerm notEq(Term<Double> left, Term<Double> right) { | ||
59 | return new RealComparisonTerm(ComparisonOperator.NOT_EQ, left, right); | ||
60 | } | ||
61 | |||
62 | public static RealComparisonTerm less(Term<Double> left, Term<Double> right) { | ||
63 | return new RealComparisonTerm(ComparisonOperator.LESS, left, right); | ||
64 | } | ||
65 | |||
66 | public static RealComparisonTerm lessEq(Term<Double> left, Term<Double> right) { | ||
67 | return new RealComparisonTerm(ComparisonOperator.LESS_EQ, left, right); | ||
68 | } | ||
69 | |||
70 | public static RealComparisonTerm greater(Term<Double> left, Term<Double> right) { | ||
71 | return new RealComparisonTerm(ComparisonOperator.GREATER, left, right); | ||
72 | } | ||
73 | |||
74 | public static RealComparisonTerm greaterEq(Term<Double> left, Term<Double> right) { | ||
75 | return new RealComparisonTerm(ComparisonOperator.GREATER_EQ, left, right); | ||
76 | } | ||
77 | |||
78 | public static IntToRealTerm asReal(Term<Integer> body) { | ||
79 | return new IntToRealTerm(body); | ||
80 | } | ||
81 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/RestrictedValuation.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/RestrictedValuation.java new file mode 100644 index 00000000..fb512d88 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/RestrictedValuation.java | |||
@@ -0,0 +1,16 @@ | |||
1 | package tools.refinery.store.query.valuation; | ||
2 | |||
3 | import tools.refinery.store.query.term.AnyDataVariable; | ||
4 | import tools.refinery.store.query.term.DataVariable; | ||
5 | |||
6 | import java.util.Set; | ||
7 | |||
8 | public record RestrictedValuation(Valuation valuation, Set<AnyDataVariable> allowedVariables) implements Valuation { | ||
9 | @Override | ||
10 | public <T> T getValue(DataVariable<T> variable) { | ||
11 | if (!allowedVariables.contains(variable)) { | ||
12 | throw new IllegalArgumentException("Variable %s is not in scope".formatted(variable)); | ||
13 | } | ||
14 | return valuation.getValue(variable); | ||
15 | } | ||
16 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/SubstitutedValuation.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/SubstitutedValuation.java new file mode 100644 index 00000000..8e79663c --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/SubstitutedValuation.java | |||
@@ -0,0 +1,11 @@ | |||
1 | package tools.refinery.store.query.valuation; | ||
2 | |||
3 | import tools.refinery.store.query.substitution.Substitution; | ||
4 | import tools.refinery.store.query.term.DataVariable; | ||
5 | |||
6 | public record SubstitutedValuation(Valuation originalValuation, Substitution substitution) implements Valuation { | ||
7 | @Override | ||
8 | public <T> T getValue(DataVariable<T> variable) { | ||
9 | return originalValuation.getValue(substitution.getTypeSafeSubstitute(variable)); | ||
10 | } | ||
11 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/Valuation.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/Valuation.java new file mode 100644 index 00000000..3ba9a6b8 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/valuation/Valuation.java | |||
@@ -0,0 +1,23 @@ | |||
1 | package tools.refinery.store.query.valuation; | ||
2 | |||
3 | import org.jetbrains.annotations.Nullable; | ||
4 | import tools.refinery.store.query.substitution.Substitution; | ||
5 | import tools.refinery.store.query.term.AnyDataVariable; | ||
6 | import tools.refinery.store.query.term.DataVariable; | ||
7 | |||
8 | import java.util.Set; | ||
9 | |||
10 | public interface Valuation { | ||
11 | <T> T getValue(DataVariable<T> variable); | ||
12 | |||
13 | default Valuation substitute(@Nullable Substitution substitution) { | ||
14 | if (substitution == null) { | ||
15 | return this; | ||
16 | } | ||
17 | return new SubstitutedValuation(this, substitution); | ||
18 | } | ||
19 | |||
20 | default Valuation restrict(Set<? extends AnyDataVariable> allowedVariables) { | ||
21 | return new RestrictedValuation(this, Set.copyOf(allowedVariables)); | ||
22 | } | ||
23 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/AnyRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/AnyRelationView.java index 328cde3a..6ae410f2 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/view/AnyRelationView.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/AnyRelationView.java | |||
@@ -1,15 +1,17 @@ | |||
1 | package tools.refinery.store.query.view; | 1 | package tools.refinery.store.query.view; |
2 | 2 | ||
3 | import tools.refinery.store.model.Model; | 3 | import tools.refinery.store.model.Model; |
4 | import tools.refinery.store.query.FunctionalDependency; | 4 | import tools.refinery.store.query.dnf.FunctionalDependency; |
5 | import tools.refinery.store.representation.AnySymbol; | 5 | import tools.refinery.store.representation.AnySymbol; |
6 | import tools.refinery.store.query.RelationLike; | 6 | import tools.refinery.store.query.Constraint; |
7 | 7 | ||
8 | import java.util.Set; | 8 | import java.util.Set; |
9 | 9 | ||
10 | public sealed interface AnyRelationView extends RelationLike permits RelationView { | 10 | public sealed interface AnyRelationView extends Constraint permits RelationView { |
11 | AnySymbol getSymbol(); | 11 | AnySymbol getSymbol(); |
12 | 12 | ||
13 | String getViewName(); | ||
14 | |||
13 | default Set<FunctionalDependency<Integer>> getFunctionalDependencies() { | 15 | default Set<FunctionalDependency<Integer>> getFunctionalDependencies() { |
14 | return Set.of(); | 16 | return Set.of(); |
15 | } | 17 | } |
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/FilteredRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/FilteredRelationView.java index 64c601bb..64c601bb 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/view/FilteredRelationView.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/FilteredRelationView.java | |||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/view/ForbiddenRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/ForbiddenRelationView.java new file mode 100644 index 00000000..050b9496 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/ForbiddenRelationView.java | |||
@@ -0,0 +1,16 @@ | |||
1 | package tools.refinery.store.query.view; | ||
2 | |||
3 | import tools.refinery.store.representation.Symbol; | ||
4 | import tools.refinery.store.representation.TruthValue; | ||
5 | import tools.refinery.store.tuple.Tuple; | ||
6 | |||
7 | public class ForbiddenRelationView extends TuplePreservingRelationView<TruthValue> { | ||
8 | public ForbiddenRelationView(Symbol<TruthValue> symbol) { | ||
9 | super(symbol, "forbidden"); | ||
10 | } | ||
11 | |||
12 | @Override | ||
13 | public boolean filter(Tuple key, TruthValue value) { | ||
14 | return !value.may(); | ||
15 | } | ||
16 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/FunctionalRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/FunctionalRelationView.java index 3d278a8b..7ec9e7ac 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/view/FunctionalRelationView.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/FunctionalRelationView.java | |||
@@ -1,22 +1,31 @@ | |||
1 | package tools.refinery.store.query.view; | 1 | package tools.refinery.store.query.view; |
2 | 2 | ||
3 | import tools.refinery.store.model.Model; | 3 | import tools.refinery.store.model.Model; |
4 | import tools.refinery.store.query.FunctionalDependency; | 4 | import tools.refinery.store.query.dnf.FunctionalDependency; |
5 | import tools.refinery.store.query.term.DataSort; | ||
6 | import tools.refinery.store.query.term.NodeSort; | ||
7 | import tools.refinery.store.query.term.Sort; | ||
5 | import tools.refinery.store.representation.Symbol; | 8 | import tools.refinery.store.representation.Symbol; |
6 | import tools.refinery.store.tuple.Tuple; | 9 | import tools.refinery.store.tuple.Tuple; |
7 | import tools.refinery.store.tuple.Tuple1; | 10 | import tools.refinery.store.tuple.Tuple1; |
8 | 11 | ||
12 | import java.util.List; | ||
13 | import java.util.Objects; | ||
9 | import java.util.Set; | 14 | import java.util.Set; |
10 | import java.util.stream.Collectors; | 15 | import java.util.stream.Collectors; |
11 | import java.util.stream.IntStream; | 16 | import java.util.stream.IntStream; |
12 | 17 | ||
13 | public final class FunctionalRelationView<T> extends RelationView<T> { | 18 | public final class FunctionalRelationView<T> extends RelationView<T> { |
19 | private final T defaultValue; | ||
20 | |||
14 | public FunctionalRelationView(Symbol<T> symbol, String name) { | 21 | public FunctionalRelationView(Symbol<T> symbol, String name) { |
15 | super(symbol, name); | 22 | super(symbol, name); |
23 | defaultValue = symbol.defaultValue(); | ||
16 | } | 24 | } |
17 | 25 | ||
18 | public FunctionalRelationView(Symbol<T> symbol) { | 26 | public FunctionalRelationView(Symbol<T> symbol) { |
19 | super(symbol); | 27 | super(symbol); |
28 | defaultValue = symbol.defaultValue(); | ||
20 | } | 29 | } |
21 | 30 | ||
22 | @Override | 31 | @Override |
@@ -37,7 +46,7 @@ public final class FunctionalRelationView<T> extends RelationView<T> { | |||
37 | 46 | ||
38 | @Override | 47 | @Override |
39 | public boolean filter(Tuple key, T value) { | 48 | public boolean filter(Tuple key, T value) { |
40 | return true; | 49 | return !Objects.equals(defaultValue, value); |
41 | } | 50 | } |
42 | 51 | ||
43 | @Override | 52 | @Override |
@@ -68,4 +77,29 @@ public final class FunctionalRelationView<T> extends RelationView<T> { | |||
68 | public int arity() { | 77 | public int arity() { |
69 | return getSymbol().arity() + 1; | 78 | return getSymbol().arity() + 1; |
70 | } | 79 | } |
80 | |||
81 | @Override | ||
82 | public List<Sort> getSorts() { | ||
83 | var sorts = new Sort[arity()]; | ||
84 | int valueIndex = sorts.length - 1; | ||
85 | for (int i = 0; i < valueIndex; i++) { | ||
86 | sorts[i] = NodeSort.INSTANCE; | ||
87 | } | ||
88 | sorts[valueIndex] = new DataSort<>(getSymbol().valueType()); | ||
89 | return List.of(sorts); | ||
90 | } | ||
91 | |||
92 | @Override | ||
93 | public boolean equals(Object o) { | ||
94 | if (this == o) return true; | ||
95 | if (o == null || getClass() != o.getClass()) return false; | ||
96 | if (!super.equals(o)) return false; | ||
97 | FunctionalRelationView<?> that = (FunctionalRelationView<?>) o; | ||
98 | return Objects.equals(defaultValue, that.defaultValue); | ||
99 | } | ||
100 | |||
101 | @Override | ||
102 | public int hashCode() { | ||
103 | return Objects.hash(super.hashCode(), defaultValue); | ||
104 | } | ||
71 | } | 105 | } |
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/KeyOnlyRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/KeyOnlyRelationView.java index e1b2e45b..e1b2e45b 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/view/KeyOnlyRelationView.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/KeyOnlyRelationView.java | |||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MayRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MayRelationView.java new file mode 100644 index 00000000..a2a84b3c --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MayRelationView.java | |||
@@ -0,0 +1,16 @@ | |||
1 | package tools.refinery.store.query.view; | ||
2 | |||
3 | import tools.refinery.store.representation.Symbol; | ||
4 | import tools.refinery.store.representation.TruthValue; | ||
5 | import tools.refinery.store.tuple.Tuple; | ||
6 | |||
7 | public class MayRelationView extends TuplePreservingRelationView<TruthValue> { | ||
8 | public MayRelationView(Symbol<TruthValue> symbol) { | ||
9 | super(symbol, "may"); | ||
10 | } | ||
11 | |||
12 | @Override | ||
13 | public boolean filter(Tuple key, TruthValue value) { | ||
14 | return value.may(); | ||
15 | } | ||
16 | } | ||
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MustRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MustRelationView.java new file mode 100644 index 00000000..72ac0ca3 --- /dev/null +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/MustRelationView.java | |||
@@ -0,0 +1,16 @@ | |||
1 | package tools.refinery.store.query.view; | ||
2 | |||
3 | import tools.refinery.store.representation.Symbol; | ||
4 | import tools.refinery.store.representation.TruthValue; | ||
5 | import tools.refinery.store.tuple.Tuple; | ||
6 | |||
7 | public class MustRelationView extends TuplePreservingRelationView<TruthValue> { | ||
8 | public MustRelationView(Symbol<TruthValue> symbol) { | ||
9 | super(symbol, "must"); | ||
10 | } | ||
11 | |||
12 | @Override | ||
13 | public boolean filter(Tuple key, TruthValue value) { | ||
14 | return value.must(); | ||
15 | } | ||
16 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/RelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/RelationView.java index bbec1e73..d7164b3b 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/view/RelationView.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/RelationView.java | |||
@@ -17,11 +17,11 @@ import java.util.UUID; | |||
17 | public abstract non-sealed class RelationView<T> implements AnyRelationView { | 17 | public abstract non-sealed class RelationView<T> implements AnyRelationView { |
18 | private final Symbol<T> symbol; | 18 | private final Symbol<T> symbol; |
19 | 19 | ||
20 | private final String name; | 20 | private final String viewName; |
21 | 21 | ||
22 | protected RelationView(Symbol<T> symbol, String name) { | 22 | protected RelationView(Symbol<T> symbol, String viewName) { |
23 | this.symbol = symbol; | 23 | this.symbol = symbol; |
24 | this.name = name; | 24 | this.viewName = viewName; |
25 | } | 25 | } |
26 | 26 | ||
27 | protected RelationView(Symbol<T> representation) { | 27 | protected RelationView(Symbol<T> representation) { |
@@ -34,8 +34,13 @@ public abstract non-sealed class RelationView<T> implements AnyRelationView { | |||
34 | } | 34 | } |
35 | 35 | ||
36 | @Override | 36 | @Override |
37 | public String getViewName() { | ||
38 | return viewName; | ||
39 | } | ||
40 | |||
41 | @Override | ||
37 | public String name() { | 42 | public String name() { |
38 | return symbol.name() + "#" + name; | 43 | return symbol.name() + "#" + viewName; |
39 | } | 44 | } |
40 | 45 | ||
41 | public abstract boolean filter(Tuple key, T value); | 46 | public abstract boolean filter(Tuple key, T value); |
@@ -48,15 +53,25 @@ public abstract non-sealed class RelationView<T> implements AnyRelationView { | |||
48 | } | 53 | } |
49 | 54 | ||
50 | @Override | 55 | @Override |
56 | public String toString() { | ||
57 | return name(); | ||
58 | } | ||
59 | |||
60 | @Override | ||
61 | public String toReferenceString() { | ||
62 | return "@RelationView(\"%s\") %s".formatted(viewName, symbol.name()); | ||
63 | } | ||
64 | |||
65 | @Override | ||
51 | public boolean equals(Object o) { | 66 | public boolean equals(Object o) { |
52 | if (this == o) return true; | 67 | if (this == o) return true; |
53 | if (o == null || getClass() != o.getClass()) return false; | 68 | if (o == null || getClass() != o.getClass()) return false; |
54 | RelationView<?> that = (RelationView<?>) o; | 69 | RelationView<?> that = (RelationView<?>) o; |
55 | return Objects.equals(symbol, that.symbol) && Objects.equals(name, that.name); | 70 | return Objects.equals(symbol, that.symbol) && Objects.equals(viewName, that.viewName); |
56 | } | 71 | } |
57 | 72 | ||
58 | @Override | 73 | @Override |
59 | public int hashCode() { | 74 | public int hashCode() { |
60 | return Objects.hash(symbol, name); | 75 | return Objects.hash(symbol, viewName); |
61 | } | 76 | } |
62 | } | 77 | } |
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/RelationViewImplication.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/RelationViewImplication.java index 2ba1fcc4..2ba1fcc4 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/view/RelationViewImplication.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/RelationViewImplication.java | |||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/view/TuplePreservingRelationView.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/TuplePreservingRelationView.java index 8cc4986e..234b3a9a 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/view/TuplePreservingRelationView.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/view/TuplePreservingRelationView.java | |||
@@ -1,10 +1,15 @@ | |||
1 | package tools.refinery.store.query.view; | 1 | package tools.refinery.store.query.view; |
2 | 2 | ||
3 | import tools.refinery.store.model.Model; | 3 | import tools.refinery.store.model.Model; |
4 | import tools.refinery.store.query.term.NodeSort; | ||
5 | import tools.refinery.store.query.term.Sort; | ||
4 | import tools.refinery.store.tuple.Tuple; | 6 | import tools.refinery.store.tuple.Tuple; |
5 | import tools.refinery.store.tuple.Tuple1; | 7 | import tools.refinery.store.tuple.Tuple1; |
6 | import tools.refinery.store.representation.Symbol; | 8 | import tools.refinery.store.representation.Symbol; |
7 | 9 | ||
10 | import java.util.Arrays; | ||
11 | import java.util.List; | ||
12 | |||
8 | public abstract class TuplePreservingRelationView<T> extends RelationView<T> { | 13 | public abstract class TuplePreservingRelationView<T> extends RelationView<T> { |
9 | protected TuplePreservingRelationView(Symbol<T> symbol, String name) { | 14 | protected TuplePreservingRelationView(Symbol<T> symbol, String name) { |
10 | super(symbol, name); | 15 | super(symbol, name); |
@@ -38,7 +43,15 @@ public abstract class TuplePreservingRelationView<T> extends RelationView<T> { | |||
38 | return filter(key, value); | 43 | return filter(key, value); |
39 | } | 44 | } |
40 | 45 | ||
46 | @Override | ||
41 | public int arity() { | 47 | public int arity() { |
42 | return this.getSymbol().arity(); | 48 | return this.getSymbol().arity(); |
43 | } | 49 | } |
50 | |||
51 | @Override | ||
52 | public List<Sort> getSorts() { | ||
53 | var sorts = new Sort[arity()]; | ||
54 | Arrays.fill(sorts, NodeSort.INSTANCE); | ||
55 | return List.of(sorts); | ||
56 | } | ||
44 | } | 57 | } |
diff --git a/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfBuilderTest.java b/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfBuilderTest.java new file mode 100644 index 00000000..ceb46d6f --- /dev/null +++ b/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfBuilderTest.java | |||
@@ -0,0 +1,220 @@ | |||
1 | package tools.refinery.store.query; | ||
2 | |||
3 | import org.junit.jupiter.api.Test; | ||
4 | import tools.refinery.store.query.dnf.Dnf; | ||
5 | import tools.refinery.store.query.literal.BooleanLiteral; | ||
6 | import tools.refinery.store.query.term.Variable; | ||
7 | import tools.refinery.store.query.view.KeyOnlyRelationView; | ||
8 | import tools.refinery.store.representation.Symbol; | ||
9 | |||
10 | import static org.hamcrest.MatcherAssert.assertThat; | ||
11 | import static tools.refinery.store.query.literal.Literals.not; | ||
12 | import static tools.refinery.store.query.tests.QueryMatchers.structurallyEqualTo; | ||
13 | |||
14 | class DnfBuilderTest { | ||
15 | @Test | ||
16 | void eliminateTrueTest() { | ||
17 | var p = Variable.of("p"); | ||
18 | var q = Variable.of("q"); | ||
19 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
20 | var friendView = new KeyOnlyRelationView<>(friend); | ||
21 | |||
22 | var actual = Dnf.builder() | ||
23 | .parameters(p, q) | ||
24 | .clause(BooleanLiteral.TRUE, friendView.call(p, q)) | ||
25 | .build(); | ||
26 | var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build(); | ||
27 | |||
28 | assertThat(actual, structurallyEqualTo(expected)); | ||
29 | } | ||
30 | |||
31 | @Test | ||
32 | void eliminateFalseTest() { | ||
33 | var p = Variable.of("p"); | ||
34 | var q = Variable.of("q"); | ||
35 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
36 | var friendView = new KeyOnlyRelationView<>(friend); | ||
37 | |||
38 | var actual = Dnf.builder() | ||
39 | .parameters(p, q) | ||
40 | .clause(friendView.call(p, q)) | ||
41 | .clause(friendView.call(q, p), BooleanLiteral.FALSE) | ||
42 | .build(); | ||
43 | var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build(); | ||
44 | |||
45 | assertThat(actual, structurallyEqualTo(expected)); | ||
46 | } | ||
47 | |||
48 | @Test | ||
49 | void alwaysTrueTest() { | ||
50 | var p = Variable.of("p"); | ||
51 | var q = Variable.of("q"); | ||
52 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
53 | var friendView = new KeyOnlyRelationView<>(friend); | ||
54 | |||
55 | var actual = Dnf.builder() | ||
56 | .parameters(p, q) | ||
57 | .clause(friendView.call(p, q)) | ||
58 | .clause(BooleanLiteral.TRUE) | ||
59 | .build(); | ||
60 | var expected = Dnf.builder().parameters(p, q).clause().build(); | ||
61 | |||
62 | assertThat(actual, structurallyEqualTo(expected)); | ||
63 | } | ||
64 | |||
65 | @Test | ||
66 | void alwaysFalseTest() { | ||
67 | var p = Variable.of("p"); | ||
68 | var q = Variable.of("q"); | ||
69 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
70 | var friendView = new KeyOnlyRelationView<>(friend); | ||
71 | |||
72 | var actual = Dnf.builder() | ||
73 | .parameters(p, q) | ||
74 | .clause(friendView.call(p, q), BooleanLiteral.FALSE) | ||
75 | .build(); | ||
76 | var expected = Dnf.builder().parameters(p, q).build(); | ||
77 | |||
78 | assertThat(actual, structurallyEqualTo(expected)); | ||
79 | } | ||
80 | |||
81 | @Test | ||
82 | void eliminateTrueDnfTest() { | ||
83 | var p = Variable.of("p"); | ||
84 | var q = Variable.of("q"); | ||
85 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
86 | var friendView = new KeyOnlyRelationView<>(friend); | ||
87 | var trueDnf = Dnf.builder().parameter(p).clause().build(); | ||
88 | |||
89 | var actual = Dnf.builder() | ||
90 | .parameters(p, q) | ||
91 | .clause(trueDnf.call(q), friendView.call(p, q)) | ||
92 | .build(); | ||
93 | var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build(); | ||
94 | |||
95 | assertThat(actual, structurallyEqualTo(expected)); | ||
96 | } | ||
97 | |||
98 | @Test | ||
99 | void eliminateFalseDnfTest() { | ||
100 | var p = Variable.of("p"); | ||
101 | var q = Variable.of("q"); | ||
102 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
103 | var friendView = new KeyOnlyRelationView<>(friend); | ||
104 | var falseDnf = Dnf.builder().parameter(p).build(); | ||
105 | |||
106 | var actual = Dnf.builder() | ||
107 | .parameters(p, q) | ||
108 | .clause(friendView.call(p, q)) | ||
109 | .clause(friendView.call(q, p), falseDnf.call(q)) | ||
110 | .build(); | ||
111 | var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build(); | ||
112 | |||
113 | assertThat(actual, structurallyEqualTo(expected)); | ||
114 | } | ||
115 | |||
116 | @Test | ||
117 | void alwaysTrueDnfTest() { | ||
118 | var p = Variable.of("p"); | ||
119 | var q = Variable.of("q"); | ||
120 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
121 | var friendView = new KeyOnlyRelationView<>(friend); | ||
122 | var trueDnf = Dnf.builder().parameter(p).clause().build(); | ||
123 | |||
124 | var actual = Dnf.builder() | ||
125 | .parameters(p, q) | ||
126 | .clause(friendView.call(p, q)) | ||
127 | .clause(trueDnf.call(q)) | ||
128 | .build(); | ||
129 | var expected = Dnf.builder().parameters(p, q).clause().build(); | ||
130 | |||
131 | assertThat(actual, structurallyEqualTo(expected)); | ||
132 | } | ||
133 | |||
134 | @Test | ||
135 | void alwaysFalseDnfTest() { | ||
136 | var p = Variable.of("p"); | ||
137 | var q = Variable.of("q"); | ||
138 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
139 | var friendView = new KeyOnlyRelationView<>(friend); | ||
140 | var falseDnf = Dnf.builder().parameter(p).build(); | ||
141 | |||
142 | var actual = Dnf.builder() | ||
143 | .parameters(p, q) | ||
144 | .clause(friendView.call(p, q), falseDnf.call(q)) | ||
145 | .build(); | ||
146 | var expected = Dnf.builder().parameters(p, q).build(); | ||
147 | |||
148 | assertThat(actual, structurallyEqualTo(expected)); | ||
149 | } | ||
150 | |||
151 | @Test | ||
152 | void eliminateNotFalseDnfTest() { | ||
153 | var p = Variable.of("p"); | ||
154 | var q = Variable.of("q"); | ||
155 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
156 | var friendView = new KeyOnlyRelationView<>(friend); | ||
157 | var falseDnf = Dnf.builder().parameter(p).build(); | ||
158 | |||
159 | var actual = Dnf.builder() | ||
160 | .parameters(p, q) | ||
161 | .clause(not(falseDnf.call(q)), friendView.call(p, q)) | ||
162 | .build(); | ||
163 | var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build(); | ||
164 | |||
165 | assertThat(actual, structurallyEqualTo(expected)); | ||
166 | } | ||
167 | |||
168 | @Test | ||
169 | void eliminateNotTrueDnfTest() { | ||
170 | var p = Variable.of("p"); | ||
171 | var q = Variable.of("q"); | ||
172 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
173 | var friendView = new KeyOnlyRelationView<>(friend); | ||
174 | var trueDnf = Dnf.builder().parameter(p).clause().build(); | ||
175 | |||
176 | var actual = Dnf.builder() | ||
177 | .parameters(p, q) | ||
178 | .clause(friendView.call(p, q)) | ||
179 | .clause(friendView.call(q, p), not(trueDnf.call(q))) | ||
180 | .build(); | ||
181 | var expected = Dnf.builder().parameters(p, q).clause(friendView.call(p, q)).build(); | ||
182 | |||
183 | assertThat(actual, structurallyEqualTo(expected)); | ||
184 | } | ||
185 | |||
186 | @Test | ||
187 | void alwaysNotFalseDnfTest() { | ||
188 | var p = Variable.of("p"); | ||
189 | var q = Variable.of("q"); | ||
190 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
191 | var friendView = new KeyOnlyRelationView<>(friend); | ||
192 | var falseDnf = Dnf.builder().parameter(p).build(); | ||
193 | |||
194 | var actual = Dnf.builder() | ||
195 | .parameters(p, q) | ||
196 | .clause(friendView.call(p, q)) | ||
197 | .clause(not(falseDnf.call(q))) | ||
198 | .build(); | ||
199 | var expected = Dnf.builder().parameters(p, q).clause().build(); | ||
200 | |||
201 | assertThat(actual, structurallyEqualTo(expected)); | ||
202 | } | ||
203 | |||
204 | @Test | ||
205 | void alwaysNotTrueDnfTest() { | ||
206 | var p = Variable.of("p"); | ||
207 | var q = Variable.of("q"); | ||
208 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
209 | var friendView = new KeyOnlyRelationView<>(friend); | ||
210 | var trueDnf = Dnf.builder().parameter(p).clause().build(); | ||
211 | |||
212 | var actual = Dnf.builder() | ||
213 | .parameters(p, q) | ||
214 | .clause(friendView.call(p, q), not(trueDnf.call(q))) | ||
215 | .build(); | ||
216 | var expected = Dnf.builder().parameters(p, q).build(); | ||
217 | |||
218 | assertThat(actual, structurallyEqualTo(expected)); | ||
219 | } | ||
220 | } | ||
diff --git a/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfToDefinitionStringTest.java b/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfToDefinitionStringTest.java new file mode 100644 index 00000000..9b469bb0 --- /dev/null +++ b/subprojects/store-query/src/test/java/tools/refinery/store/query/DnfToDefinitionStringTest.java | |||
@@ -0,0 +1,174 @@ | |||
1 | package tools.refinery.store.query; | ||
2 | |||
3 | import org.junit.jupiter.api.Test; | ||
4 | import tools.refinery.store.query.dnf.Dnf; | ||
5 | import tools.refinery.store.query.term.Variable; | ||
6 | import tools.refinery.store.query.view.KeyOnlyRelationView; | ||
7 | import tools.refinery.store.representation.Symbol; | ||
8 | |||
9 | import static org.hamcrest.MatcherAssert.assertThat; | ||
10 | import static org.hamcrest.Matchers.is; | ||
11 | import static tools.refinery.store.query.literal.Literals.not; | ||
12 | |||
13 | class DnfToDefinitionStringTest { | ||
14 | @Test | ||
15 | void noClausesTest() { | ||
16 | var p = Variable.of("p"); | ||
17 | var dnf = Dnf.builder("Example").parameter(p).build(); | ||
18 | |||
19 | assertThat(dnf.toDefinitionString(), is(""" | ||
20 | pred Example(p) <-> | ||
21 | <no clauses>. | ||
22 | """)); | ||
23 | } | ||
24 | |||
25 | @Test | ||
26 | void noParametersTest() { | ||
27 | var dnf = Dnf.builder("Example").build(); | ||
28 | |||
29 | assertThat(dnf.toDefinitionString(), is(""" | ||
30 | pred Example() <-> | ||
31 | <no clauses>. | ||
32 | """)); | ||
33 | } | ||
34 | |||
35 | @Test | ||
36 | void emptyClauseTest() { | ||
37 | var p = Variable.of("p"); | ||
38 | var dnf = Dnf.builder("Example").parameter(p).clause().build(); | ||
39 | |||
40 | assertThat(dnf.toDefinitionString(), is(""" | ||
41 | pred Example(p) <-> | ||
42 | <empty>. | ||
43 | """)); | ||
44 | } | ||
45 | |||
46 | @Test | ||
47 | void relationViewPositiveTest() { | ||
48 | var p = Variable.of("p"); | ||
49 | var q = Variable.of("q"); | ||
50 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
51 | var friendView = new KeyOnlyRelationView<>(friend); | ||
52 | var dnf = Dnf.builder("Example").parameter(p).clause(friendView.call(p, q)).build(); | ||
53 | |||
54 | assertThat(dnf.toDefinitionString(), is(""" | ||
55 | pred Example(p) <-> | ||
56 | @RelationView("key") friend(p, q). | ||
57 | """)); | ||
58 | } | ||
59 | |||
60 | @Test | ||
61 | void relationViewNegativeTest() { | ||
62 | var p = Variable.of("p"); | ||
63 | var q = Variable.of("q"); | ||
64 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
65 | var friendView = new KeyOnlyRelationView<>(friend); | ||
66 | var dnf = Dnf.builder("Example").parameter(p).clause(not(friendView.call(p, q))).build(); | ||
67 | |||
68 | assertThat(dnf.toDefinitionString(), is(""" | ||
69 | pred Example(p) <-> | ||
70 | !(@RelationView("key") friend(p, q)). | ||
71 | """)); | ||
72 | } | ||
73 | |||
74 | @Test | ||
75 | void relationViewTransitiveTest() { | ||
76 | var p = Variable.of("p"); | ||
77 | var q = Variable.of("q"); | ||
78 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
79 | var friendView = new KeyOnlyRelationView<>(friend); | ||
80 | var dnf = Dnf.builder("Example").parameter(p).clause(friendView.callTransitive(p, q)).build(); | ||
81 | |||
82 | assertThat(dnf.toDefinitionString(), is(""" | ||
83 | pred Example(p) <-> | ||
84 | @RelationView("key") friend+(p, q). | ||
85 | """)); | ||
86 | } | ||
87 | |||
88 | @Test | ||
89 | void multipleParametersTest() { | ||
90 | var p = Variable.of("p"); | ||
91 | var q = Variable.of("q"); | ||
92 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
93 | var friendView = new KeyOnlyRelationView<>(friend); | ||
94 | var dnf = Dnf.builder("Example").parameters(p, q).clause(friendView.call(p, q)).build(); | ||
95 | |||
96 | assertThat(dnf.toDefinitionString(), is(""" | ||
97 | pred Example(p, q) <-> | ||
98 | @RelationView("key") friend(p, q). | ||
99 | """)); | ||
100 | } | ||
101 | |||
102 | @Test | ||
103 | void multipleLiteralsTest() { | ||
104 | var p = Variable.of("p"); | ||
105 | var q = Variable.of("q"); | ||
106 | var person = new Symbol<>("person", 1, Boolean.class, false); | ||
107 | var personView = new KeyOnlyRelationView<>(person); | ||
108 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
109 | var friendView = new KeyOnlyRelationView<>(friend); | ||
110 | var dnf = Dnf.builder("Example") | ||
111 | .parameter(p) | ||
112 | .clause( | ||
113 | personView.call(p), | ||
114 | personView.call(q), | ||
115 | friendView.call(p, q) | ||
116 | ) | ||
117 | .build(); | ||
118 | |||
119 | assertThat(dnf.toDefinitionString(), is(""" | ||
120 | pred Example(p) <-> | ||
121 | @RelationView("key") person(p), | ||
122 | @RelationView("key") person(q), | ||
123 | @RelationView("key") friend(p, q). | ||
124 | """)); | ||
125 | } | ||
126 | |||
127 | @Test | ||
128 | void multipleClausesTest() { | ||
129 | var p = Variable.of("p"); | ||
130 | var q = Variable.of("q"); | ||
131 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
132 | var friendView = new KeyOnlyRelationView<>(friend); | ||
133 | var dnf = Dnf.builder("Example") | ||
134 | .parameter(p) | ||
135 | .clause(friendView.call(p, q)) | ||
136 | .clause(friendView.call(q, p)) | ||
137 | .build(); | ||
138 | |||
139 | assertThat(dnf.toDefinitionString(), is(""" | ||
140 | pred Example(p) <-> | ||
141 | @RelationView("key") friend(p, q) | ||
142 | ; | ||
143 | @RelationView("key") friend(q, p). | ||
144 | """)); | ||
145 | } | ||
146 | |||
147 | @Test | ||
148 | void dnfTest() { | ||
149 | var p = Variable.of("p"); | ||
150 | var q = Variable.of("q"); | ||
151 | var r = Variable.of("r"); | ||
152 | var s = Variable.of("s"); | ||
153 | var person = new Symbol<>("person", 1, Boolean.class, false); | ||
154 | var personView = new KeyOnlyRelationView<>(person); | ||
155 | var friend = new Symbol<>("friend", 2, Boolean.class, false); | ||
156 | var friendView = new KeyOnlyRelationView<>(friend); | ||
157 | var called = Dnf.builder("Called").parameters(r, s).clause(friendView.call(r, s)).build(); | ||
158 | var dnf = Dnf.builder("Example") | ||
159 | .parameter(p) | ||
160 | .clause( | ||
161 | personView.call(p), | ||
162 | personView.call(q), | ||
163 | not(called.call(p, q)) | ||
164 | ) | ||
165 | .build(); | ||
166 | |||
167 | assertThat(dnf.toDefinitionString(), is(""" | ||
168 | pred Example(p) <-> | ||
169 | @RelationView("key") person(p), | ||
170 | @RelationView("key") person(q), | ||
171 | !(@Dnf Called(p, q)). | ||
172 | """)); | ||
173 | } | ||
174 | } | ||
diff --git a/subprojects/store-query/src/test/java/tools/refinery/store/query/tests/StructurallyEqualToTest.java b/subprojects/store-query/src/test/java/tools/refinery/store/query/tests/StructurallyEqualToTest.java new file mode 100644 index 00000000..a61e2b65 --- /dev/null +++ b/subprojects/store-query/src/test/java/tools/refinery/store/query/tests/StructurallyEqualToTest.java | |||
@@ -0,0 +1,77 @@ | |||
1 | package tools.refinery.store.query.tests; | ||
2 | |||
3 | import org.junit.jupiter.api.Test; | ||
4 | import tools.refinery.store.query.dnf.Dnf; | ||
5 | import tools.refinery.store.query.term.Variable; | ||
6 | import tools.refinery.store.query.view.KeyOnlyRelationView; | ||
7 | import tools.refinery.store.representation.Symbol; | ||
8 | |||
9 | import static org.hamcrest.CoreMatchers.containsString; | ||
10 | import static org.hamcrest.MatcherAssert.assertThat; | ||
11 | import static org.junit.jupiter.api.Assertions.assertThrows; | ||
12 | import static tools.refinery.store.query.tests.QueryMatchers.structurallyEqualTo; | ||
13 | |||
14 | class StructurallyEqualToTest { | ||
15 | @Test | ||
16 | void flatEqualsTest() { | ||
17 | var p = Variable.of("p"); | ||
18 | var q = Variable.of("q"); | ||
19 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
20 | var personView = new KeyOnlyRelationView<>(person); | ||
21 | |||
22 | var expected = Dnf.builder("Expected").parameters(q).clause(personView.call(q)).build(); | ||
23 | var actual = Dnf.builder("Actual").parameters(p).clause(personView.call(p)).build(); | ||
24 | |||
25 | assertThat(actual, structurallyEqualTo(expected)); | ||
26 | } | ||
27 | |||
28 | @Test | ||
29 | void flatNotEqualsTest() { | ||
30 | var p = Variable.of("p"); | ||
31 | var q = Variable.of("q"); | ||
32 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
33 | var personView = new KeyOnlyRelationView<>(person); | ||
34 | |||
35 | var expected = Dnf.builder("Expected").parameters(q).clause(personView.call(q)).build(); | ||
36 | var actual = Dnf.builder("Actual").parameters(p).clause(personView.call(q)).build(); | ||
37 | |||
38 | var assertion = structurallyEqualTo(expected); | ||
39 | assertThrows(AssertionError.class, () -> assertThat(actual, assertion)); | ||
40 | } | ||
41 | |||
42 | @Test | ||
43 | void deepEqualsTest() { | ||
44 | var p = Variable.of("p"); | ||
45 | var q = Variable.of("q"); | ||
46 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
47 | var personView = new KeyOnlyRelationView<>(person); | ||
48 | |||
49 | var expected = Dnf.builder("Expected").parameters(q).clause( | ||
50 | Dnf.builder("Expected2").parameters(p).clause(personView.call(p)).build().call(q) | ||
51 | ).build(); | ||
52 | var actual = Dnf.builder("Actual").parameters(q).clause( | ||
53 | Dnf.builder("Actual2").parameters(p).clause(personView.call(p)).build().call(q) | ||
54 | ).build(); | ||
55 | |||
56 | assertThat(actual, structurallyEqualTo(expected)); | ||
57 | } | ||
58 | |||
59 | @Test | ||
60 | void deepNotEqualsTest() { | ||
61 | var p = Variable.of("p"); | ||
62 | var q = Variable.of("q"); | ||
63 | var person = new Symbol<>("Person", 1, Boolean.class, false); | ||
64 | var personView = new KeyOnlyRelationView<>(person); | ||
65 | |||
66 | var expected = Dnf.builder("Expected").parameters(q).clause( | ||
67 | Dnf.builder("Expected2").parameters(p).clause(personView.call(p)).build().call(q) | ||
68 | ).build(); | ||
69 | var actual = Dnf.builder("Actual").parameters(q).clause( | ||
70 | Dnf.builder("Actual2").parameters(p).clause(personView.call(q)).build().call(q) | ||
71 | ).build(); | ||
72 | |||
73 | var assertion = structurallyEqualTo(expected); | ||
74 | var error = assertThrows(AssertionError.class, () -> assertThat(actual, assertion)); | ||
75 | assertThat(error.getMessage(), containsString(" called from Expected/1 ")); | ||
76 | } | ||
77 | } | ||
diff --git a/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/MismatchDescribingDnfEqualityChecker.java b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/MismatchDescribingDnfEqualityChecker.java new file mode 100644 index 00000000..685957c9 --- /dev/null +++ b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/MismatchDescribingDnfEqualityChecker.java | |||
@@ -0,0 +1,43 @@ | |||
1 | package tools.refinery.store.query.tests; | ||
2 | |||
3 | import org.hamcrest.Description; | ||
4 | import tools.refinery.store.query.equality.DeepDnfEqualityChecker; | ||
5 | |||
6 | class MismatchDescribingDnfEqualityChecker extends DeepDnfEqualityChecker { | ||
7 | private final Description description; | ||
8 | private boolean described; | ||
9 | |||
10 | MismatchDescribingDnfEqualityChecker(Description description) { | ||
11 | this.description = description; | ||
12 | } | ||
13 | |||
14 | public boolean isDescribed() { | ||
15 | return described; | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | protected boolean doCheckEqual(Pair pair) { | ||
20 | boolean result = super.doCheckEqual(pair); | ||
21 | if (!result && !described) { | ||
22 | describeMismatch(pair); | ||
23 | // Only describe the first found (innermost) mismatch. | ||
24 | described = true; | ||
25 | } | ||
26 | return result; | ||
27 | } | ||
28 | |||
29 | private void describeMismatch(Pair pair) { | ||
30 | var inProgress = getInProgress(); | ||
31 | int size = inProgress.size(); | ||
32 | if (size <= 1) { | ||
33 | description.appendText("was ").appendText(pair.left().toDefinitionString()); | ||
34 | return; | ||
35 | } | ||
36 | var last = inProgress.get(size - 1); | ||
37 | description.appendText("expected ").appendText(last.right().toDefinitionString()); | ||
38 | for (int i = size - 2; i >= 0; i--) { | ||
39 | description.appendText(" called from ").appendText(inProgress.get(i).left().toString()); | ||
40 | } | ||
41 | description.appendText(" was not structurally equal to ").appendText(last.right().toDefinitionString()); | ||
42 | } | ||
43 | } | ||
diff --git a/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/QueryMatchers.java b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/QueryMatchers.java new file mode 100644 index 00000000..bf1c1b74 --- /dev/null +++ b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/QueryMatchers.java | |||
@@ -0,0 +1,14 @@ | |||
1 | package tools.refinery.store.query.tests; | ||
2 | |||
3 | import org.hamcrest.Matcher; | ||
4 | import tools.refinery.store.query.dnf.Dnf; | ||
5 | |||
6 | public final class QueryMatchers { | ||
7 | private QueryMatchers() { | ||
8 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | ||
9 | } | ||
10 | |||
11 | public static Matcher<Dnf> structurallyEqualTo(Dnf expected) { | ||
12 | return new StructurallyEqualTo(expected); | ||
13 | } | ||
14 | } | ||
diff --git a/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/StructurallyEqualTo.java b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/StructurallyEqualTo.java new file mode 100644 index 00000000..a9a78f88 --- /dev/null +++ b/subprojects/store-query/src/testFixtures/java/tools/refinery/store/query/tests/StructurallyEqualTo.java | |||
@@ -0,0 +1,36 @@ | |||
1 | package tools.refinery.store.query.tests; | ||
2 | |||
3 | import org.hamcrest.Description; | ||
4 | import org.hamcrest.TypeSafeMatcher; | ||
5 | import tools.refinery.store.query.dnf.Dnf; | ||
6 | import tools.refinery.store.query.equality.DeepDnfEqualityChecker; | ||
7 | |||
8 | public class StructurallyEqualTo extends TypeSafeMatcher<Dnf> { | ||
9 | private final Dnf expected; | ||
10 | |||
11 | public StructurallyEqualTo(Dnf expected) { | ||
12 | this.expected = expected; | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | protected boolean matchesSafely(Dnf item) { | ||
17 | var checker = new DeepDnfEqualityChecker(); | ||
18 | return checker.dnfEqual(expected, item); | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | protected void describeMismatchSafely(Dnf item, Description mismatchDescription) { | ||
23 | var describingChecker = new MismatchDescribingDnfEqualityChecker(mismatchDescription); | ||
24 | if (describingChecker.dnfEqual(expected, item)) { | ||
25 | throw new IllegalStateException("Mismatched Dnf was matching on repeated comparison"); | ||
26 | } | ||
27 | if (!describingChecker.isDescribed()) { | ||
28 | super.describeMismatchSafely(item, mismatchDescription); | ||
29 | } | ||
30 | } | ||
31 | |||
32 | @Override | ||
33 | public void describeTo(Description description) { | ||
34 | description.appendText("structurally equal to ").appendText(expected.toDefinitionString()); | ||
35 | } | ||
36 | } | ||
diff --git a/subprojects/store-reasoning/build.gradle b/subprojects/store-reasoning/build.gradle new file mode 100644 index 00000000..cb440d9f --- /dev/null +++ b/subprojects/store-reasoning/build.gradle | |||
@@ -0,0 +1,7 @@ | |||
1 | plugins { | ||
2 | id 'refinery-java-library' | ||
3 | } | ||
4 | |||
5 | dependencies { | ||
6 | api project(':refinery-store-query') | ||
7 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/AnyPartialInterpretation.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/AnyPartialInterpretation.java new file mode 100644 index 00000000..ebe82c8b --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/AnyPartialInterpretation.java | |||
@@ -0,0 +1,13 @@ | |||
1 | package tools.refinery.store.reasoning; | ||
2 | |||
3 | import tools.refinery.store.reasoning.representation.AnyPartialSymbol; | ||
4 | |||
5 | public sealed interface AnyPartialInterpretation permits PartialInterpretation { | ||
6 | ReasoningAdapter getAdapter(); | ||
7 | |||
8 | AnyPartialSymbol getPartialSymbol(); | ||
9 | |||
10 | int countUnfinished(); | ||
11 | |||
12 | int countErrors(); | ||
13 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/MergeResult.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/MergeResult.java new file mode 100644 index 00000000..0d51598b --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/MergeResult.java | |||
@@ -0,0 +1,15 @@ | |||
1 | package tools.refinery.store.reasoning; | ||
2 | |||
3 | public enum MergeResult { | ||
4 | UNCHANGED, | ||
5 | REFINED, | ||
6 | REJECTED; | ||
7 | |||
8 | public MergeResult andAlso(MergeResult other) { | ||
9 | return switch (this) { | ||
10 | case UNCHANGED -> other; | ||
11 | case REFINED -> other == REJECTED ? REJECTED : REFINED; | ||
12 | case REJECTED -> REJECTED; | ||
13 | }; | ||
14 | } | ||
15 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/PartialInterpretation.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/PartialInterpretation.java new file mode 100644 index 00000000..4f195e97 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/PartialInterpretation.java | |||
@@ -0,0 +1,20 @@ | |||
1 | package tools.refinery.store.reasoning; | ||
2 | |||
3 | import tools.refinery.store.reasoning.representation.PartialSymbol; | ||
4 | import tools.refinery.store.map.Cursor; | ||
5 | import tools.refinery.store.tuple.Tuple; | ||
6 | |||
7 | public non-sealed interface PartialInterpretation<A, C> extends AnyPartialInterpretation { | ||
8 | @Override | ||
9 | PartialSymbol<A, C> getPartialSymbol(); | ||
10 | |||
11 | A get(Tuple key); | ||
12 | |||
13 | Cursor<Tuple, A> getAll(); | ||
14 | |||
15 | MergeResult merge(Tuple key, A value); | ||
16 | |||
17 | C getConcrete(Tuple key); | ||
18 | |||
19 | Cursor<Tuple, C> getAllConcrete(); | ||
20 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/Reasoning.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/Reasoning.java new file mode 100644 index 00000000..d7d0a999 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/Reasoning.java | |||
@@ -0,0 +1,24 @@ | |||
1 | package tools.refinery.store.reasoning; | ||
2 | |||
3 | import tools.refinery.store.reasoning.internal.ReasoningBuilderImpl; | ||
4 | import tools.refinery.store.adapter.ModelAdapterBuilderFactory; | ||
5 | import tools.refinery.store.model.ModelStoreBuilder; | ||
6 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
7 | |||
8 | public final class Reasoning extends ModelAdapterBuilderFactory<ReasoningAdapter, | ||
9 | ReasoningStoreAdapter, ReasoningBuilder> { | ||
10 | public static final Reasoning ADAPTER = new Reasoning(); | ||
11 | |||
12 | public static final PartialRelation EXISTS = new PartialRelation("exists", 1); | ||
13 | |||
14 | public static final PartialRelation EQUALS = new PartialRelation("equals", 1); | ||
15 | |||
16 | private Reasoning() { | ||
17 | super(ReasoningAdapter.class, ReasoningStoreAdapter.class, ReasoningBuilder.class); | ||
18 | } | ||
19 | |||
20 | @Override | ||
21 | public ReasoningBuilder createBuilder(ModelStoreBuilder storeBuilder) { | ||
22 | return new ReasoningBuilderImpl(storeBuilder); | ||
23 | } | ||
24 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningAdapter.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningAdapter.java new file mode 100644 index 00000000..de039dd9 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningAdapter.java | |||
@@ -0,0 +1,22 @@ | |||
1 | package tools.refinery.store.reasoning; | ||
2 | |||
3 | import tools.refinery.store.adapter.ModelAdapter; | ||
4 | import tools.refinery.store.reasoning.representation.AnyPartialSymbol; | ||
5 | import tools.refinery.store.reasoning.representation.PartialSymbol; | ||
6 | import tools.refinery.store.query.dnf.Dnf; | ||
7 | import tools.refinery.store.query.ResultSet; | ||
8 | |||
9 | public interface ReasoningAdapter extends ModelAdapter { | ||
10 | @Override | ||
11 | ReasoningStoreAdapter getStoreAdapter(); | ||
12 | |||
13 | default AnyPartialInterpretation getPartialInterpretation(AnyPartialSymbol partialSymbol) { | ||
14 | // Cast to disambiguate overloads. | ||
15 | var typedPartialSymbol = (PartialSymbol<?, ?>) partialSymbol; | ||
16 | return getPartialInterpretation(typedPartialSymbol); | ||
17 | } | ||
18 | |||
19 | <A, C> PartialInterpretation<A, C> getPartialInterpretation(PartialSymbol<A, C> partialSymbol); | ||
20 | |||
21 | ResultSet getLiftedResultSet(Dnf query); | ||
22 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningBuilder.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningBuilder.java new file mode 100644 index 00000000..4030d296 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningBuilder.java | |||
@@ -0,0 +1,28 @@ | |||
1 | package tools.refinery.store.reasoning; | ||
2 | |||
3 | import tools.refinery.store.adapter.ModelAdapterBuilder; | ||
4 | import tools.refinery.store.model.ModelStore; | ||
5 | import tools.refinery.store.reasoning.literal.Modality; | ||
6 | import tools.refinery.store.query.dnf.Dnf; | ||
7 | |||
8 | import java.util.Collection; | ||
9 | import java.util.List; | ||
10 | |||
11 | @SuppressWarnings("UnusedReturnValue") | ||
12 | public interface ReasoningBuilder extends ModelAdapterBuilder { | ||
13 | default ReasoningBuilder liftedQueries(Dnf... liftedQueries) { | ||
14 | return liftedQueries(List.of(liftedQueries)); | ||
15 | } | ||
16 | |||
17 | default ReasoningBuilder liftedQueries(Collection<Dnf> liftedQueries) { | ||
18 | liftedQueries.forEach(this::liftedQuery); | ||
19 | return this; | ||
20 | } | ||
21 | |||
22 | ReasoningBuilder liftedQuery(Dnf liftedQuery); | ||
23 | |||
24 | Dnf lift(Modality modality, Dnf query); | ||
25 | |||
26 | @Override | ||
27 | ReasoningStoreAdapter createStoreAdapter(ModelStore store); | ||
28 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningStoreAdapter.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningStoreAdapter.java new file mode 100644 index 00000000..f6a6e414 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/ReasoningStoreAdapter.java | |||
@@ -0,0 +1,17 @@ | |||
1 | package tools.refinery.store.reasoning; | ||
2 | |||
3 | import tools.refinery.store.adapter.ModelStoreAdapter; | ||
4 | import tools.refinery.store.model.Model; | ||
5 | import tools.refinery.store.reasoning.representation.AnyPartialSymbol; | ||
6 | import tools.refinery.store.query.dnf.Dnf; | ||
7 | |||
8 | import java.util.Collection; | ||
9 | |||
10 | public interface ReasoningStoreAdapter extends ModelStoreAdapter { | ||
11 | Collection<AnyPartialSymbol> getPartialSymbols(); | ||
12 | |||
13 | Collection<Dnf> getLiftedQueries(); | ||
14 | |||
15 | @Override | ||
16 | ReasoningAdapter createModelAdapter(Model model); | ||
17 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningAdapterImpl.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningAdapterImpl.java new file mode 100644 index 00000000..0acf0d49 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningAdapterImpl.java | |||
@@ -0,0 +1,38 @@ | |||
1 | package tools.refinery.store.reasoning.internal; | ||
2 | |||
3 | import tools.refinery.store.model.Model; | ||
4 | import tools.refinery.store.reasoning.ReasoningAdapter; | ||
5 | import tools.refinery.store.reasoning.PartialInterpretation; | ||
6 | import tools.refinery.store.reasoning.representation.PartialSymbol; | ||
7 | import tools.refinery.store.query.dnf.Dnf; | ||
8 | import tools.refinery.store.query.ResultSet; | ||
9 | |||
10 | public class ReasoningAdapterImpl implements ReasoningAdapter { | ||
11 | private final Model model; | ||
12 | private final ReasoningStoreAdapterImpl storeAdapter; | ||
13 | |||
14 | ReasoningAdapterImpl(Model model, ReasoningStoreAdapterImpl storeAdapter) { | ||
15 | this.model = model; | ||
16 | this.storeAdapter = storeAdapter; | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public Model getModel() { | ||
21 | return model; | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | public ReasoningStoreAdapterImpl getStoreAdapter() { | ||
26 | return storeAdapter; | ||
27 | } | ||
28 | |||
29 | @Override | ||
30 | public <A, C> PartialInterpretation<A, C> getPartialInterpretation(PartialSymbol<A, C> partialSymbol) { | ||
31 | return null; | ||
32 | } | ||
33 | |||
34 | @Override | ||
35 | public ResultSet getLiftedResultSet(Dnf query) { | ||
36 | return null; | ||
37 | } | ||
38 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningBuilderImpl.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningBuilderImpl.java new file mode 100644 index 00000000..e11b14bf --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningBuilderImpl.java | |||
@@ -0,0 +1,29 @@ | |||
1 | package tools.refinery.store.reasoning.internal; | ||
2 | |||
3 | import tools.refinery.store.adapter.AbstractModelAdapterBuilder; | ||
4 | import tools.refinery.store.model.ModelStore; | ||
5 | import tools.refinery.store.model.ModelStoreBuilder; | ||
6 | import tools.refinery.store.reasoning.ReasoningBuilder; | ||
7 | import tools.refinery.store.reasoning.literal.Modality; | ||
8 | import tools.refinery.store.query.dnf.Dnf; | ||
9 | |||
10 | public class ReasoningBuilderImpl extends AbstractModelAdapterBuilder implements ReasoningBuilder { | ||
11 | public ReasoningBuilderImpl(ModelStoreBuilder storeBuilder) { | ||
12 | super(storeBuilder); | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public ReasoningBuilder liftedQuery(Dnf liftedQuery) { | ||
17 | return null; | ||
18 | } | ||
19 | |||
20 | @Override | ||
21 | public Dnf lift(Modality modality, Dnf query) { | ||
22 | return null; | ||
23 | } | ||
24 | |||
25 | @Override | ||
26 | public ReasoningStoreAdapterImpl createStoreAdapter(ModelStore store) { | ||
27 | return null; | ||
28 | } | ||
29 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningStoreAdapterImpl.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningStoreAdapterImpl.java new file mode 100644 index 00000000..ac06e68b --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/internal/ReasoningStoreAdapterImpl.java | |||
@@ -0,0 +1,37 @@ | |||
1 | package tools.refinery.store.reasoning.internal; | ||
2 | |||
3 | import tools.refinery.store.reasoning.ReasoningStoreAdapter; | ||
4 | import tools.refinery.store.model.Model; | ||
5 | import tools.refinery.store.model.ModelStore; | ||
6 | import tools.refinery.store.reasoning.representation.AnyPartialSymbol; | ||
7 | import tools.refinery.store.query.dnf.Dnf; | ||
8 | |||
9 | import java.util.Collection; | ||
10 | |||
11 | public class ReasoningStoreAdapterImpl implements ReasoningStoreAdapter { | ||
12 | private final ModelStore store; | ||
13 | |||
14 | ReasoningStoreAdapterImpl(ModelStore store) { | ||
15 | this.store = store; | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | public ModelStore getStore() { | ||
20 | return store; | ||
21 | } | ||
22 | |||
23 | @Override | ||
24 | public Collection<AnyPartialSymbol> getPartialSymbols() { | ||
25 | return null; | ||
26 | } | ||
27 | |||
28 | @Override | ||
29 | public Collection<Dnf> getLiftedQueries() { | ||
30 | return null; | ||
31 | } | ||
32 | |||
33 | @Override | ||
34 | public ReasoningAdapterImpl createModelAdapter(Model model) { | ||
35 | return new ReasoningAdapterImpl(model, this); | ||
36 | } | ||
37 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/DnfLifter.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/DnfLifter.java new file mode 100644 index 00000000..2b0e0f08 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/DnfLifter.java | |||
@@ -0,0 +1,116 @@ | |||
1 | package tools.refinery.store.reasoning.lifting; | ||
2 | |||
3 | import org.jetbrains.annotations.Nullable; | ||
4 | import tools.refinery.store.query.dnf.Dnf; | ||
5 | import tools.refinery.store.query.dnf.DnfBuilder; | ||
6 | import tools.refinery.store.query.dnf.DnfClause; | ||
7 | import tools.refinery.store.query.literal.CallLiteral; | ||
8 | import tools.refinery.store.query.literal.CallPolarity; | ||
9 | import tools.refinery.store.query.literal.Literal; | ||
10 | import tools.refinery.store.query.term.DataVariable; | ||
11 | import tools.refinery.store.query.term.Variable; | ||
12 | import tools.refinery.store.reasoning.Reasoning; | ||
13 | import tools.refinery.store.reasoning.literal.ModalConstraint; | ||
14 | import tools.refinery.store.reasoning.literal.Modality; | ||
15 | import tools.refinery.store.reasoning.literal.PartialLiterals; | ||
16 | import tools.refinery.store.util.CycleDetectingMapper; | ||
17 | |||
18 | import java.util.ArrayList; | ||
19 | import java.util.HashSet; | ||
20 | import java.util.List; | ||
21 | |||
22 | public class DnfLifter { | ||
23 | private final CycleDetectingMapper<ModalDnf, Dnf> mapper = new CycleDetectingMapper<>(ModalDnf::toString, | ||
24 | this::doLift); | ||
25 | |||
26 | public Dnf lift(Modality modality, Dnf query) { | ||
27 | return mapper.map(new ModalDnf(modality, query)); | ||
28 | } | ||
29 | |||
30 | private Dnf doLift(ModalDnf modalDnf) { | ||
31 | var modality = modalDnf.modality(); | ||
32 | var dnf = modalDnf.dnf(); | ||
33 | var builder = Dnf.builder(); | ||
34 | builder.parameters(dnf.getParameters()); | ||
35 | boolean changed = false; | ||
36 | for (var clause : dnf.getClauses()) { | ||
37 | if (liftClause(modality, clause, builder)) { | ||
38 | changed = true; | ||
39 | } | ||
40 | } | ||
41 | if (changed) { | ||
42 | return builder.build(); | ||
43 | } | ||
44 | return dnf; | ||
45 | } | ||
46 | |||
47 | private boolean liftClause(Modality modality, DnfClause clause, DnfBuilder builder) { | ||
48 | boolean changed = false; | ||
49 | var quantifiedVariables = new HashSet<>(clause.boundVariables() | ||
50 | .stream() | ||
51 | .filter(DataVariable.class::isInstance) | ||
52 | .toList()); | ||
53 | var literals = clause.literals(); | ||
54 | var liftedLiterals = new ArrayList<Literal>(literals.size()); | ||
55 | for (var literal : literals) { | ||
56 | Literal liftedLiteral = liftLiteral(modality, literal); | ||
57 | if (liftedLiteral == null) { | ||
58 | liftedLiteral = literal; | ||
59 | } else { | ||
60 | changed = true; | ||
61 | } | ||
62 | liftedLiterals.add(liftedLiteral); | ||
63 | var variable = isExistsLiteralForVariable(modality, liftedLiteral); | ||
64 | if (variable != null) { | ||
65 | // If we already quantify over the existence of the variable with the expected modality, | ||
66 | // we don't need to insert quantification manually. | ||
67 | quantifiedVariables.remove(variable); | ||
68 | } | ||
69 | } | ||
70 | for (var quantifiedVariable : quantifiedVariables) { | ||
71 | // Quantify over data variables that are not already quantified with the expected modality. | ||
72 | liftedLiterals.add(new CallLiteral(CallPolarity.POSITIVE, new ModalConstraint(modality, Reasoning.EXISTS), | ||
73 | List.of(quantifiedVariable))); | ||
74 | } | ||
75 | builder.clause(liftedLiterals); | ||
76 | return changed || !quantifiedVariables.isEmpty(); | ||
77 | } | ||
78 | |||
79 | @Nullable | ||
80 | private Variable isExistsLiteralForVariable(Modality modality, Literal literal) { | ||
81 | if (literal instanceof CallLiteral callLiteral && | ||
82 | callLiteral.getPolarity() == CallPolarity.POSITIVE && | ||
83 | callLiteral.getTarget() instanceof ModalConstraint modalConstraint && | ||
84 | modalConstraint.modality() == modality && | ||
85 | modalConstraint.constraint().equals(Reasoning.EXISTS)) { | ||
86 | return callLiteral.getArguments().get(0); | ||
87 | } | ||
88 | return null; | ||
89 | } | ||
90 | |||
91 | @Nullable | ||
92 | private Literal liftLiteral(Modality modality, Literal literal) { | ||
93 | if (!(literal instanceof CallLiteral callLiteral)) { | ||
94 | return null; | ||
95 | } | ||
96 | var target = callLiteral.getTarget(); | ||
97 | if (target instanceof ModalConstraint modalTarget) { | ||
98 | var actualTarget = modalTarget.constraint(); | ||
99 | if (actualTarget instanceof Dnf dnf) { | ||
100 | var targetModality = modalTarget.modality(); | ||
101 | var liftedTarget = lift(targetModality, dnf); | ||
102 | return new CallLiteral(callLiteral.getPolarity(), liftedTarget, callLiteral.getArguments()); | ||
103 | } | ||
104 | // No more lifting to be done, pass any modal call to a partial symbol through. | ||
105 | return null; | ||
106 | } else if (target instanceof Dnf dnf) { | ||
107 | var polarity = callLiteral.getPolarity(); | ||
108 | var liftedTarget = lift(modality.commute(polarity), dnf); | ||
109 | // Use == instead of equals(), because lift will return the same object by reference is there are no | ||
110 | // changes made during lifting. | ||
111 | return liftedTarget == target ? null : new CallLiteral(polarity, liftedTarget, callLiteral.getArguments()); | ||
112 | } else { | ||
113 | return PartialLiterals.addModality(callLiteral, modality); | ||
114 | } | ||
115 | } | ||
116 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/ModalDnf.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/ModalDnf.java new file mode 100644 index 00000000..ec381bb8 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/lifting/ModalDnf.java | |||
@@ -0,0 +1,11 @@ | |||
1 | package tools.refinery.store.reasoning.lifting; | ||
2 | |||
3 | import tools.refinery.store.query.dnf.Dnf; | ||
4 | import tools.refinery.store.reasoning.literal.Modality; | ||
5 | |||
6 | record ModalDnf(Modality modality, Dnf dnf) { | ||
7 | @Override | ||
8 | public String toString() { | ||
9 | return "%s %s".formatted(modality, dnf.name()); | ||
10 | } | ||
11 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java new file mode 100644 index 00000000..2fbb4607 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/ModalConstraint.java | |||
@@ -0,0 +1,46 @@ | |||
1 | package tools.refinery.store.reasoning.literal; | ||
2 | |||
3 | import tools.refinery.store.query.Constraint; | ||
4 | import tools.refinery.store.query.equality.LiteralEqualityHelper; | ||
5 | import tools.refinery.store.query.literal.LiteralReduction; | ||
6 | import tools.refinery.store.query.term.Sort; | ||
7 | |||
8 | import java.util.List; | ||
9 | |||
10 | public record ModalConstraint(Modality modality, Constraint constraint) implements Constraint { | ||
11 | private static final String FORMAT = "%s %s"; | ||
12 | |||
13 | @Override | ||
14 | public String name() { | ||
15 | return FORMAT.formatted(modality, constraint.name()); | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | public List<Sort> getSorts() { | ||
20 | return constraint.getSorts(); | ||
21 | } | ||
22 | |||
23 | @Override | ||
24 | public LiteralReduction getReduction() { | ||
25 | return constraint.getReduction(); | ||
26 | } | ||
27 | |||
28 | @Override | ||
29 | public boolean equals(LiteralEqualityHelper helper, Constraint other) { | ||
30 | if (getClass() != other.getClass()) { | ||
31 | return false; | ||
32 | } | ||
33 | var otherModalConstraint = (ModalConstraint) other; | ||
34 | return modality == otherModalConstraint.modality && constraint.equals(helper, otherModalConstraint.constraint); | ||
35 | } | ||
36 | |||
37 | @Override | ||
38 | public String toReferenceString() { | ||
39 | return FORMAT.formatted(modality, constraint.toReferenceString()); | ||
40 | } | ||
41 | |||
42 | @Override | ||
43 | public String toString() { | ||
44 | return FORMAT.formatted(modality, constraint); | ||
45 | } | ||
46 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/Modality.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/Modality.java index e389f563..f0cb59de 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/Modality.java +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/Modality.java | |||
@@ -1,4 +1,6 @@ | |||
1 | package tools.refinery.store.query.atom; | 1 | package tools.refinery.store.reasoning.literal; |
2 | |||
3 | import tools.refinery.store.query.literal.CallPolarity; | ||
2 | 4 | ||
3 | import java.util.Locale; | 5 | import java.util.Locale; |
4 | 6 | ||
@@ -15,6 +17,13 @@ public enum Modality { | |||
15 | }; | 17 | }; |
16 | } | 18 | } |
17 | 19 | ||
20 | public Modality commute(CallPolarity polarity) { | ||
21 | if (polarity.isPositive()) { | ||
22 | return this; | ||
23 | } | ||
24 | return this.negate(); | ||
25 | } | ||
26 | |||
18 | @Override | 27 | @Override |
19 | public String toString() { | 28 | public String toString() { |
20 | return name().toLowerCase(Locale.ROOT); | 29 | return name().toLowerCase(Locale.ROOT); |
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/PartialLiterals.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/PartialLiterals.java new file mode 100644 index 00000000..f991f87f --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/literal/PartialLiterals.java | |||
@@ -0,0 +1,31 @@ | |||
1 | package tools.refinery.store.reasoning.literal; | ||
2 | |||
3 | import tools.refinery.store.query.literal.CallLiteral; | ||
4 | |||
5 | public final class PartialLiterals { | ||
6 | private PartialLiterals() { | ||
7 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | ||
8 | } | ||
9 | |||
10 | public static CallLiteral may(CallLiteral literal) { | ||
11 | return addModality(literal, Modality.MAY); | ||
12 | } | ||
13 | |||
14 | public static CallLiteral must(CallLiteral literal) { | ||
15 | return addModality(literal, Modality.MUST); | ||
16 | } | ||
17 | |||
18 | public static CallLiteral current(CallLiteral literal) { | ||
19 | return addModality(literal, Modality.CURRENT); | ||
20 | } | ||
21 | |||
22 | public static CallLiteral addModality(CallLiteral literal, Modality modality) { | ||
23 | var target = literal.getTarget(); | ||
24 | if (target instanceof ModalConstraint) { | ||
25 | throw new IllegalArgumentException("Literal %s already has modality".formatted(literal)); | ||
26 | } | ||
27 | var polarity = literal.getPolarity(); | ||
28 | var modalTarget = new ModalConstraint(modality.commute(polarity), target); | ||
29 | return new CallLiteral(polarity, modalTarget, literal.getArguments()); | ||
30 | } | ||
31 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialFunction.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialFunction.java new file mode 100644 index 00000000..e74cd58b --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialFunction.java | |||
@@ -0,0 +1,4 @@ | |||
1 | package tools.refinery.store.reasoning.representation; | ||
2 | |||
3 | public sealed interface AnyPartialFunction extends AnyPartialSymbol permits PartialFunction { | ||
4 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java new file mode 100644 index 00000000..6ff5031b --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/AnyPartialSymbol.java | |||
@@ -0,0 +1,11 @@ | |||
1 | package tools.refinery.store.reasoning.representation; | ||
2 | |||
3 | import tools.refinery.store.representation.AnyAbstractDomain; | ||
4 | |||
5 | public sealed interface AnyPartialSymbol permits AnyPartialFunction, PartialSymbol { | ||
6 | String name(); | ||
7 | |||
8 | int arity(); | ||
9 | |||
10 | AnyAbstractDomain abstractDomain(); | ||
11 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java new file mode 100644 index 00000000..59eeeefe --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialFunction.java | |||
@@ -0,0 +1,32 @@ | |||
1 | package tools.refinery.store.reasoning.representation; | ||
2 | |||
3 | import tools.refinery.store.representation.AbstractDomain; | ||
4 | |||
5 | public record PartialFunction<A, C>(String name, int arity, AbstractDomain<A, C> abstractDomain) | ||
6 | implements AnyPartialFunction, PartialSymbol<A, C> { | ||
7 | @Override | ||
8 | public A defaultValue() { | ||
9 | return null; | ||
10 | } | ||
11 | |||
12 | @Override | ||
13 | public C defaultConcreteValue() { | ||
14 | return null; | ||
15 | } | ||
16 | |||
17 | @Override | ||
18 | public boolean equals(Object o) { | ||
19 | return this == o; | ||
20 | } | ||
21 | |||
22 | @Override | ||
23 | public int hashCode() { | ||
24 | // Compare by identity to make hash table lookups more efficient. | ||
25 | return System.identityHashCode(this); | ||
26 | } | ||
27 | |||
28 | @Override | ||
29 | public String toString() { | ||
30 | return "%s/%d".formatted(name, arity); | ||
31 | } | ||
32 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java new file mode 100644 index 00000000..9bae53a9 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialRelation.java | |||
@@ -0,0 +1,56 @@ | |||
1 | package tools.refinery.store.reasoning.representation; | ||
2 | |||
3 | import tools.refinery.store.query.Constraint; | ||
4 | import tools.refinery.store.query.term.NodeSort; | ||
5 | import tools.refinery.store.query.term.Sort; | ||
6 | import tools.refinery.store.representation.AbstractDomain; | ||
7 | import tools.refinery.store.representation.TruthValue; | ||
8 | import tools.refinery.store.representation.TruthValueDomain; | ||
9 | |||
10 | import java.util.Arrays; | ||
11 | import java.util.List; | ||
12 | |||
13 | public record PartialRelation(String name, int arity) implements PartialSymbol<TruthValue, Boolean>, Constraint { | ||
14 | @Override | ||
15 | public AbstractDomain<TruthValue, Boolean> abstractDomain() { | ||
16 | return TruthValueDomain.INSTANCE; | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public TruthValue defaultValue() { | ||
21 | return TruthValue.FALSE; | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | public Boolean defaultConcreteValue() { | ||
26 | return false; | ||
27 | } | ||
28 | |||
29 | @Override | ||
30 | public List<Sort> getSorts() { | ||
31 | var sorts = new Sort[arity()]; | ||
32 | Arrays.fill(sorts, NodeSort.INSTANCE); | ||
33 | return List.of(sorts); | ||
34 | } | ||
35 | |||
36 | @Override | ||
37 | public String toReferenceString() { | ||
38 | return name; | ||
39 | } | ||
40 | |||
41 | @Override | ||
42 | public boolean equals(Object o) { | ||
43 | return this == o; | ||
44 | } | ||
45 | |||
46 | @Override | ||
47 | public int hashCode() { | ||
48 | // Compare by identity to make hash table lookups more efficient. | ||
49 | return System.identityHashCode(this); | ||
50 | } | ||
51 | |||
52 | @Override | ||
53 | public String toString() { | ||
54 | return "%s/%d".formatted(name, arity); | ||
55 | } | ||
56 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java new file mode 100644 index 00000000..1af11f2e --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/representation/PartialSymbol.java | |||
@@ -0,0 +1,12 @@ | |||
1 | package tools.refinery.store.reasoning.representation; | ||
2 | |||
3 | import tools.refinery.store.representation.AbstractDomain; | ||
4 | |||
5 | public sealed interface PartialSymbol<A, C> extends AnyPartialSymbol permits PartialFunction, PartialRelation { | ||
6 | @Override | ||
7 | AbstractDomain<A, C> abstractDomain(); | ||
8 | |||
9 | A defaultValue(); | ||
10 | |||
11 | C defaultConcreteValue(); | ||
12 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RelationRefinementAction.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RelationRefinementAction.java new file mode 100644 index 00000000..e8ed05a3 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RelationRefinementAction.java | |||
@@ -0,0 +1,36 @@ | |||
1 | package tools.refinery.store.reasoning.rule; | ||
2 | |||
3 | import tools.refinery.store.reasoning.Reasoning; | ||
4 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
5 | import tools.refinery.store.model.Model; | ||
6 | import tools.refinery.store.query.term.Variable; | ||
7 | import tools.refinery.store.representation.TruthValue; | ||
8 | import tools.refinery.store.tuple.Tuple; | ||
9 | |||
10 | import java.util.List; | ||
11 | |||
12 | public record RelationRefinementAction(PartialRelation target, List<Variable> arguments, TruthValue value) | ||
13 | implements RuleAction { | ||
14 | public RelationRefinementAction { | ||
15 | if (arguments.size() != target.arity()) { | ||
16 | throw new IllegalArgumentException("%s needs %d parameters, but got %s".formatted(target.name(), | ||
17 | target.arity(), arguments.size())); | ||
18 | } | ||
19 | if (value == TruthValue.UNKNOWN) { | ||
20 | throw new IllegalArgumentException("Refining with UNKNOWN has no effect"); | ||
21 | } | ||
22 | } | ||
23 | |||
24 | @Override | ||
25 | public RuleActionExecutor createExecutor(int[] argumentIndices, Model model) { | ||
26 | var targetInterpretation = model.getAdapter(Reasoning.ADAPTER).getPartialInterpretation(target); | ||
27 | return activationTuple -> { | ||
28 | int arity = argumentIndices.length; | ||
29 | var arguments = new int[arity]; | ||
30 | for (int i = 0; i < arity; i++) { | ||
31 | arguments[i] = activationTuple.get(argumentIndices[i]); | ||
32 | } | ||
33 | return targetInterpretation.merge(Tuple.of(arguments), value); | ||
34 | }; | ||
35 | } | ||
36 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/Rule.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/Rule.java new file mode 100644 index 00000000..c7b16d47 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/Rule.java | |||
@@ -0,0 +1,38 @@ | |||
1 | package tools.refinery.store.reasoning.rule; | ||
2 | |||
3 | import tools.refinery.store.model.Model; | ||
4 | import tools.refinery.store.query.dnf.Dnf; | ||
5 | |||
6 | import java.util.ArrayList; | ||
7 | import java.util.HashSet; | ||
8 | import java.util.List; | ||
9 | |||
10 | public record Rule(Dnf precondition, List<RuleAction> actions) { | ||
11 | public Rule { | ||
12 | var parameterSet = new HashSet<>(precondition.getParameters()); | ||
13 | for (var action : actions) { | ||
14 | for (var argument : action.arguments()) { | ||
15 | if (!parameterSet.contains(argument)) { | ||
16 | throw new IllegalArgumentException( | ||
17 | "Argument %s of action %s does not appear in the parameter list %s of %s" | ||
18 | .formatted(argument, action, precondition.getParameters(), precondition.name())); | ||
19 | } | ||
20 | } | ||
21 | } | ||
22 | } | ||
23 | |||
24 | public RuleExecutor createExecutor(Model model) { | ||
25 | var parameters = precondition.getParameters(); | ||
26 | var actionExecutors = new ArrayList<RuleActionExecutor>(actions.size()); | ||
27 | for (var action : actions) { | ||
28 | var arguments = action.arguments(); | ||
29 | int arity = arguments.size(); | ||
30 | var argumentIndices = new int[arity]; | ||
31 | for (int i = 0; i < arity; i++) { | ||
32 | argumentIndices[i] = parameters.indexOf(arguments.get(i)); | ||
33 | } | ||
34 | actionExecutors.add(action.createExecutor(argumentIndices, model)); | ||
35 | } | ||
36 | return new RuleExecutor(this, model, actionExecutors); | ||
37 | } | ||
38 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleAction.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleAction.java new file mode 100644 index 00000000..4753b8bc --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleAction.java | |||
@@ -0,0 +1,12 @@ | |||
1 | package tools.refinery.store.reasoning.rule; | ||
2 | |||
3 | import tools.refinery.store.model.Model; | ||
4 | import tools.refinery.store.query.term.Variable; | ||
5 | |||
6 | import java.util.List; | ||
7 | |||
8 | public interface RuleAction { | ||
9 | List<Variable> arguments(); | ||
10 | |||
11 | RuleActionExecutor createExecutor(int[] argumentIndices, Model model); | ||
12 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleActionExecutor.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleActionExecutor.java new file mode 100644 index 00000000..80bfa6f8 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleActionExecutor.java | |||
@@ -0,0 +1,9 @@ | |||
1 | package tools.refinery.store.reasoning.rule; | ||
2 | |||
3 | import tools.refinery.store.reasoning.MergeResult; | ||
4 | import tools.refinery.store.tuple.TupleLike; | ||
5 | |||
6 | @FunctionalInterface | ||
7 | public interface RuleActionExecutor { | ||
8 | MergeResult execute(TupleLike activationTuple); | ||
9 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleExecutor.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleExecutor.java new file mode 100644 index 00000000..1e5322b4 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/rule/RuleExecutor.java | |||
@@ -0,0 +1,34 @@ | |||
1 | package tools.refinery.store.reasoning.rule; | ||
2 | |||
3 | import tools.refinery.store.reasoning.MergeResult; | ||
4 | import tools.refinery.store.model.Model; | ||
5 | import tools.refinery.store.tuple.TupleLike; | ||
6 | |||
7 | import java.util.List; | ||
8 | |||
9 | public final class RuleExecutor { | ||
10 | private final Rule rule; | ||
11 | private final Model model; | ||
12 | private final List<RuleActionExecutor> actionExecutors; | ||
13 | |||
14 | RuleExecutor(Rule rule, Model model, List<RuleActionExecutor> actionExecutors) { | ||
15 | this.rule = rule; | ||
16 | this.model = model; | ||
17 | this.actionExecutors = actionExecutors; | ||
18 | } | ||
19 | |||
20 | public Rule getRule() { | ||
21 | return rule; | ||
22 | } | ||
23 | |||
24 | public Model getModel() { | ||
25 | return model; | ||
26 | } | ||
27 | public MergeResult execute(TupleLike activationTuple) { | ||
28 | MergeResult mergeResult = MergeResult.UNCHANGED; | ||
29 | for (var actionExecutor : actionExecutors) { | ||
30 | mergeResult = mergeResult.andAlso(actionExecutor.execute(activationTuple)); | ||
31 | } | ||
32 | return mergeResult; | ||
33 | } | ||
34 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/Seed.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/Seed.java new file mode 100644 index 00000000..90633495 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/Seed.java | |||
@@ -0,0 +1,14 @@ | |||
1 | package tools.refinery.store.reasoning.seed; | ||
2 | |||
3 | import tools.refinery.store.map.Cursor; | ||
4 | import tools.refinery.store.tuple.Tuple; | ||
5 | |||
6 | public interface Seed<T> { | ||
7 | int arity(); | ||
8 | |||
9 | T reducedValue(); | ||
10 | |||
11 | T get(Tuple key); | ||
12 | |||
13 | Cursor<Tuple, T> getCursor(T defaultValue, int nodeCount); | ||
14 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/UniformSeed.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/UniformSeed.java new file mode 100644 index 00000000..a030f6ea --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/seed/UniformSeed.java | |||
@@ -0,0 +1,22 @@ | |||
1 | package tools.refinery.store.reasoning.seed; | ||
2 | |||
3 | import tools.refinery.store.map.Cursor; | ||
4 | import tools.refinery.store.tuple.Tuple; | ||
5 | |||
6 | public record UniformSeed<T>(int arity, T reducedValue) implements Seed<T> { | ||
7 | public UniformSeed { | ||
8 | if (arity < 0) { | ||
9 | throw new IllegalArgumentException("Arity must not be negative"); | ||
10 | } | ||
11 | } | ||
12 | |||
13 | @Override | ||
14 | public T get(Tuple key) { | ||
15 | return reducedValue; | ||
16 | } | ||
17 | |||
18 | @Override | ||
19 | public Cursor<Tuple, T> getCursor(T defaultValue, int nodeCount) { | ||
20 | return null; | ||
21 | } | ||
22 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/Advice.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/Advice.java new file mode 100644 index 00000000..5cdfedf7 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/Advice.java | |||
@@ -0,0 +1,159 @@ | |||
1 | package tools.refinery.store.reasoning.translator; | ||
2 | |||
3 | import tools.refinery.store.reasoning.representation.AnyPartialSymbol; | ||
4 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
5 | import tools.refinery.store.query.term.Variable; | ||
6 | import tools.refinery.store.query.literal.Literal; | ||
7 | import tools.refinery.store.query.substitution.Substitutions; | ||
8 | |||
9 | import java.util.*; | ||
10 | |||
11 | public final class Advice { | ||
12 | private final AnyPartialSymbol source; | ||
13 | private final PartialRelation target; | ||
14 | private final AdviceSlot slot; | ||
15 | private final boolean mandatory; | ||
16 | private final List<Variable> parameters; | ||
17 | private final List<Literal> literals; | ||
18 | private boolean processed; | ||
19 | |||
20 | public Advice(AnyPartialSymbol source, PartialRelation target, AdviceSlot slot, boolean mandatory, List<Variable> parameters, List<Literal> literals) { | ||
21 | if (mandatory && !slot.isMonotonic()) { | ||
22 | throw new IllegalArgumentException("Only monotonic advice can be mandatory"); | ||
23 | } | ||
24 | this.source = source; | ||
25 | this.target = target; | ||
26 | this.slot = slot; | ||
27 | this.mandatory = mandatory; | ||
28 | checkArity(parameters); | ||
29 | this.parameters = parameters; | ||
30 | this.literals = literals; | ||
31 | } | ||
32 | |||
33 | public AnyPartialSymbol source() { | ||
34 | return source; | ||
35 | } | ||
36 | |||
37 | public PartialRelation target() { | ||
38 | return target; | ||
39 | } | ||
40 | |||
41 | public AdviceSlot slot() { | ||
42 | return slot; | ||
43 | } | ||
44 | |||
45 | public boolean mandatory() { | ||
46 | return mandatory; | ||
47 | } | ||
48 | |||
49 | public List<Variable> parameters() { | ||
50 | return parameters; | ||
51 | } | ||
52 | |||
53 | public List<Literal> literals() { | ||
54 | return literals; | ||
55 | } | ||
56 | |||
57 | public boolean processed() { | ||
58 | return processed; | ||
59 | } | ||
60 | |||
61 | public List<Literal> substitute(List<Variable> substituteParameters) { | ||
62 | checkArity(substituteParameters); | ||
63 | markProcessed(); | ||
64 | int arity = parameters.size(); | ||
65 | var variableMap = new HashMap<Variable, Variable>(arity); | ||
66 | for (int i = 0; i < arity; i++) { | ||
67 | variableMap.put(parameters.get(i), substituteParameters.get(i)); | ||
68 | } | ||
69 | // Use a renewing substitution to remove any non-parameter variables and avoid clashed between variables | ||
70 | // coming from different advice in the same clause. | ||
71 | var substitution = Substitutions.renewing(variableMap); | ||
72 | return literals.stream().map(literal -> literal.substitute(substitution)).toList(); | ||
73 | } | ||
74 | |||
75 | private void markProcessed() { | ||
76 | processed = true; | ||
77 | } | ||
78 | |||
79 | public void checkProcessed() { | ||
80 | if (mandatory && !processed) { | ||
81 | throw new IllegalStateException("Mandatory advice %s was not processed".formatted(this)); | ||
82 | } | ||
83 | } | ||
84 | |||
85 | private void checkArity(List<Variable> toCheck) { | ||
86 | if (toCheck.size() != target.arity()) { | ||
87 | throw new IllegalArgumentException("%s needs %d parameters, but got %s".formatted(target.name(), | ||
88 | target.arity(), parameters.size())); | ||
89 | } | ||
90 | } | ||
91 | |||
92 | public static Builder builderFor(AnyPartialSymbol source, PartialRelation target, AdviceSlot slot) { | ||
93 | return new Builder(source, target, slot); | ||
94 | } | ||
95 | |||
96 | |||
97 | @Override | ||
98 | public String toString() { | ||
99 | return "Advice[source=%s, target=%s, slot=%s, mandatory=%s, parameters=%s, literals=%s]".formatted(source, | ||
100 | target, slot, mandatory, parameters, literals); | ||
101 | } | ||
102 | |||
103 | public static class Builder { | ||
104 | private final AnyPartialSymbol source; | ||
105 | private final PartialRelation target; | ||
106 | private final AdviceSlot slot; | ||
107 | private boolean mandatory; | ||
108 | private final List<Variable> parameters = new ArrayList<>(); | ||
109 | private final List<Literal> literals = new ArrayList<>(); | ||
110 | |||
111 | private Builder(AnyPartialSymbol source, PartialRelation target, AdviceSlot slot) { | ||
112 | this.source = source; | ||
113 | this.target = target; | ||
114 | this.slot = slot; | ||
115 | } | ||
116 | |||
117 | public Builder mandatory(boolean mandatory) { | ||
118 | this.mandatory = mandatory; | ||
119 | return this; | ||
120 | } | ||
121 | |||
122 | public Builder mandatory() { | ||
123 | return mandatory(false); | ||
124 | } | ||
125 | |||
126 | public Builder parameters(List<Variable> variables) { | ||
127 | parameters.addAll(variables); | ||
128 | return this; | ||
129 | } | ||
130 | |||
131 | public Builder parameters(Variable... variables) { | ||
132 | return parameters(List.of(variables)); | ||
133 | } | ||
134 | |||
135 | public Builder parameter(Variable variable) { | ||
136 | parameters.add(variable); | ||
137 | return this; | ||
138 | } | ||
139 | |||
140 | public Builder literals(Collection<Literal> literals) { | ||
141 | this.literals.addAll(literals); | ||
142 | return this; | ||
143 | } | ||
144 | |||
145 | public Builder literals(Literal... literals) { | ||
146 | return literals(List.of(literals)); | ||
147 | } | ||
148 | |||
149 | public Builder literal(Literal literal) { | ||
150 | literals.add(literal); | ||
151 | return this; | ||
152 | } | ||
153 | |||
154 | public Advice build() { | ||
155 | return new Advice(source, target, slot, mandatory, Collections.unmodifiableList(parameters), | ||
156 | Collections.unmodifiableList(literals)); | ||
157 | } | ||
158 | } | ||
159 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/AdviceSlot.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/AdviceSlot.java new file mode 100644 index 00000000..f3bd9c5e --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/AdviceSlot.java | |||
@@ -0,0 +1,25 @@ | |||
1 | package tools.refinery.store.reasoning.translator; | ||
2 | |||
3 | import tools.refinery.store.representation.TruthValue; | ||
4 | |||
5 | public enum AdviceSlot { | ||
6 | EXTEND_MUST(true), | ||
7 | |||
8 | RESTRICT_MAY(true), | ||
9 | |||
10 | /** | ||
11 | * Same as {@link #RESTRICT_MAY}, but only active if the value of the relation is not {@link TruthValue#TRUE} or | ||
12 | * {@link TruthValue#ERROR}. | ||
13 | */ | ||
14 | RESTRICT_NEW(false); | ||
15 | |||
16 | private final boolean monotonic; | ||
17 | |||
18 | AdviceSlot(boolean monotonic) { | ||
19 | this.monotonic = monotonic; | ||
20 | } | ||
21 | |||
22 | public boolean isMonotonic() { | ||
23 | return monotonic; | ||
24 | } | ||
25 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslatedRelation.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslatedRelation.java new file mode 100644 index 00000000..9bab80c9 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslatedRelation.java | |||
@@ -0,0 +1,22 @@ | |||
1 | package tools.refinery.store.reasoning.translator; | ||
2 | |||
3 | import tools.refinery.store.model.Model; | ||
4 | import tools.refinery.store.query.term.Variable; | ||
5 | import tools.refinery.store.query.literal.CallPolarity; | ||
6 | import tools.refinery.store.query.literal.Literal; | ||
7 | import tools.refinery.store.reasoning.PartialInterpretation; | ||
8 | import tools.refinery.store.reasoning.literal.Modality; | ||
9 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
10 | import tools.refinery.store.representation.TruthValue; | ||
11 | |||
12 | import java.util.List; | ||
13 | |||
14 | public interface TranslatedRelation { | ||
15 | PartialRelation getSource(); | ||
16 | |||
17 | void configure(List<Advice> advices); | ||
18 | |||
19 | List<Literal> call(CallPolarity polarity, Modality modality, List<Variable> arguments); | ||
20 | |||
21 | PartialInterpretation<TruthValue, Boolean> createPartialInterpretation(Model model); | ||
22 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslationUnit.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslationUnit.java new file mode 100644 index 00000000..24b93911 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/TranslationUnit.java | |||
@@ -0,0 +1,32 @@ | |||
1 | package tools.refinery.store.reasoning.translator; | ||
2 | |||
3 | import tools.refinery.store.model.Model; | ||
4 | import tools.refinery.store.model.ModelStoreBuilder; | ||
5 | import tools.refinery.store.reasoning.ReasoningBuilder; | ||
6 | |||
7 | import java.util.Collection; | ||
8 | |||
9 | public abstract class TranslationUnit { | ||
10 | private ReasoningBuilder reasoningBuilder; | ||
11 | |||
12 | protected ReasoningBuilder getReasoningBuilder() { | ||
13 | return reasoningBuilder; | ||
14 | } | ||
15 | |||
16 | public void setPartialInterpretationBuilder(ReasoningBuilder reasoningBuilder) { | ||
17 | this.reasoningBuilder = reasoningBuilder; | ||
18 | configureReasoningBuilder(); | ||
19 | } | ||
20 | |||
21 | protected ModelStoreBuilder getModelStoreBuilder() { | ||
22 | return reasoningBuilder.getStoreBuilder(); | ||
23 | } | ||
24 | |||
25 | protected void configureReasoningBuilder() { | ||
26 | // Nothing to configure by default. | ||
27 | } | ||
28 | |||
29 | public abstract Collection<TranslatedRelation> getTranslatedRelations(); | ||
30 | |||
31 | public abstract void initializeModel(Model model, int nodeCount); | ||
32 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionInterpretation.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionInterpretation.java new file mode 100644 index 00000000..b703f142 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionInterpretation.java | |||
@@ -0,0 +1,88 @@ | |||
1 | package tools.refinery.store.reasoning.translator.base; | ||
2 | |||
3 | import tools.refinery.store.map.Cursor; | ||
4 | import tools.refinery.store.model.Interpretation; | ||
5 | import tools.refinery.store.query.ResultSet; | ||
6 | import tools.refinery.store.reasoning.MergeResult; | ||
7 | import tools.refinery.store.reasoning.PartialInterpretation; | ||
8 | import tools.refinery.store.reasoning.ReasoningAdapter; | ||
9 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
10 | import tools.refinery.store.representation.TruthValue; | ||
11 | import tools.refinery.store.tuple.Tuple; | ||
12 | |||
13 | public class BaseDecisionInterpretation implements PartialInterpretation<TruthValue, Boolean> { | ||
14 | private final ReasoningAdapter reasoningAdapter; | ||
15 | private PartialRelation partialRelation; | ||
16 | private final ResultSet<Boolean> mustResultSet; | ||
17 | private final ResultSet<Boolean> mayResultSet; | ||
18 | private final ResultSet<Boolean> errorResultSet; | ||
19 | private final ResultSet<Boolean> currentResultSet; | ||
20 | private final Interpretation<TruthValue> interpretation; | ||
21 | |||
22 | public BaseDecisionInterpretation(ReasoningAdapter reasoningAdapter, ResultSet<Boolean> mustResultSet, | ||
23 | ResultSet<Boolean> mayResultSet, ResultSet<Boolean> errorResultSet, | ||
24 | ResultSet<Boolean> currentResultSet, Interpretation<TruthValue> interpretation) { | ||
25 | this.reasoningAdapter = reasoningAdapter; | ||
26 | this.mustResultSet = mustResultSet; | ||
27 | this.mayResultSet = mayResultSet; | ||
28 | this.errorResultSet = errorResultSet; | ||
29 | this.currentResultSet = currentResultSet; | ||
30 | this.interpretation = interpretation; | ||
31 | } | ||
32 | |||
33 | @Override | ||
34 | public ReasoningAdapter getAdapter() { | ||
35 | return reasoningAdapter; | ||
36 | } | ||
37 | |||
38 | @Override | ||
39 | public int countUnfinished() { | ||
40 | return 0; | ||
41 | } | ||
42 | |||
43 | @Override | ||
44 | public int countErrors() { | ||
45 | return errorResultSet.size(); | ||
46 | } | ||
47 | |||
48 | @Override | ||
49 | public PartialRelation getPartialSymbol() { | ||
50 | return partialRelation; | ||
51 | } | ||
52 | |||
53 | @Override | ||
54 | public TruthValue get(Tuple key) { | ||
55 | return null; | ||
56 | } | ||
57 | |||
58 | @Override | ||
59 | public Cursor<Tuple, TruthValue> getAll() { | ||
60 | return null; | ||
61 | } | ||
62 | |||
63 | @Override | ||
64 | public MergeResult merge(Tuple key, TruthValue value) { | ||
65 | TruthValue newValue; | ||
66 | switch (value) { | ||
67 | case UNKNOWN -> { | ||
68 | return MergeResult.UNCHANGED; | ||
69 | } | ||
70 | case TRUE -> newValue = mayResultSet.get(key) ? TruthValue.TRUE : TruthValue.ERROR; | ||
71 | case FALSE -> newValue = mustResultSet.get(key) ? TruthValue.ERROR : TruthValue.FALSE; | ||
72 | case ERROR -> newValue = TruthValue.ERROR; | ||
73 | default -> throw new IllegalArgumentException("Unknown truth value: " + value); | ||
74 | } | ||
75 | var oldValue = interpretation.put(key, newValue); | ||
76 | return oldValue == TruthValue.ERROR ? MergeResult.UNCHANGED : MergeResult.REFINED; | ||
77 | } | ||
78 | |||
79 | @Override | ||
80 | public Boolean getConcrete(Tuple key) { | ||
81 | return currentResultSet.get(key); | ||
82 | } | ||
83 | |||
84 | @Override | ||
85 | public Cursor<Tuple, Boolean> getAllConcrete() { | ||
86 | return null; | ||
87 | } | ||
88 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionTranslationUnit.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionTranslationUnit.java new file mode 100644 index 00000000..36e2782a --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/BaseDecisionTranslationUnit.java | |||
@@ -0,0 +1,49 @@ | |||
1 | package tools.refinery.store.reasoning.translator.base; | ||
2 | |||
3 | import tools.refinery.store.model.Model; | ||
4 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
5 | import tools.refinery.store.reasoning.seed.Seed; | ||
6 | import tools.refinery.store.reasoning.seed.UniformSeed; | ||
7 | import tools.refinery.store.reasoning.translator.TranslatedRelation; | ||
8 | import tools.refinery.store.reasoning.translator.TranslationUnit; | ||
9 | import tools.refinery.store.representation.Symbol; | ||
10 | import tools.refinery.store.representation.TruthValue; | ||
11 | |||
12 | import java.util.Collection; | ||
13 | import java.util.List; | ||
14 | |||
15 | public class BaseDecisionTranslationUnit extends TranslationUnit { | ||
16 | private final PartialRelation partialRelation; | ||
17 | private final Seed<TruthValue> seed; | ||
18 | private final Symbol<TruthValue> symbol; | ||
19 | |||
20 | public BaseDecisionTranslationUnit(PartialRelation partialRelation, Seed<TruthValue> seed) { | ||
21 | if (seed.arity() != partialRelation.arity()) { | ||
22 | throw new IllegalArgumentException("Expected seed with arity %d for %s, got arity %s" | ||
23 | .formatted(partialRelation.arity(), partialRelation, seed.arity())); | ||
24 | } | ||
25 | this.partialRelation = partialRelation; | ||
26 | this.seed = seed; | ||
27 | symbol = new Symbol<>(partialRelation.name(), partialRelation.arity(), TruthValue.class, TruthValue.UNKNOWN); | ||
28 | } | ||
29 | |||
30 | public BaseDecisionTranslationUnit(PartialRelation partialRelation) { | ||
31 | this(partialRelation, new UniformSeed<>(partialRelation.arity(), TruthValue.UNKNOWN)); | ||
32 | } | ||
33 | |||
34 | @Override | ||
35 | protected void configureReasoningBuilder() { | ||
36 | getModelStoreBuilder().symbol(symbol); | ||
37 | } | ||
38 | |||
39 | @Override | ||
40 | public Collection<TranslatedRelation> getTranslatedRelations() { | ||
41 | return List.of(new TranslatedBaseDecision(getReasoningBuilder(), partialRelation, symbol)); | ||
42 | } | ||
43 | |||
44 | @Override | ||
45 | public void initializeModel(Model model, int nodeCount) { | ||
46 | var interpretation = model.getInterpretation(symbol); | ||
47 | interpretation.putAll(seed.getCursor(TruthValue.UNKNOWN, nodeCount)); | ||
48 | } | ||
49 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/TranslatedBaseDecision.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/TranslatedBaseDecision.java new file mode 100644 index 00000000..2294b4fd --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/base/TranslatedBaseDecision.java | |||
@@ -0,0 +1,49 @@ | |||
1 | package tools.refinery.store.reasoning.translator.base; | ||
2 | |||
3 | import tools.refinery.store.model.Model; | ||
4 | import tools.refinery.store.query.term.Variable; | ||
5 | import tools.refinery.store.query.literal.CallPolarity; | ||
6 | import tools.refinery.store.query.literal.Literal; | ||
7 | import tools.refinery.store.reasoning.PartialInterpretation; | ||
8 | import tools.refinery.store.reasoning.ReasoningBuilder; | ||
9 | import tools.refinery.store.reasoning.literal.Modality; | ||
10 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
11 | import tools.refinery.store.reasoning.translator.Advice; | ||
12 | import tools.refinery.store.reasoning.translator.TranslatedRelation; | ||
13 | import tools.refinery.store.representation.Symbol; | ||
14 | import tools.refinery.store.representation.TruthValue; | ||
15 | |||
16 | import java.util.List; | ||
17 | |||
18 | class TranslatedBaseDecision implements TranslatedRelation { | ||
19 | private final ReasoningBuilder reasoningBuilder; | ||
20 | private final PartialRelation partialRelation; | ||
21 | private final Symbol<TruthValue> symbol; | ||
22 | |||
23 | public TranslatedBaseDecision(ReasoningBuilder reasoningBuilder, PartialRelation partialRelation, | ||
24 | Symbol<TruthValue> symbol) { | ||
25 | this.reasoningBuilder = reasoningBuilder; | ||
26 | this.partialRelation = partialRelation; | ||
27 | this.symbol = symbol; | ||
28 | } | ||
29 | |||
30 | @Override | ||
31 | public PartialRelation getSource() { | ||
32 | return partialRelation; | ||
33 | } | ||
34 | |||
35 | @Override | ||
36 | public void configure(List<Advice> advices) { | ||
37 | |||
38 | } | ||
39 | |||
40 | @Override | ||
41 | public List<Literal> call(CallPolarity polarity, Modality modality, List<Variable> arguments) { | ||
42 | return null; | ||
43 | } | ||
44 | |||
45 | @Override | ||
46 | public PartialInterpretation<TruthValue, Boolean> createPartialInterpretation(Model model) { | ||
47 | return null; | ||
48 | } | ||
49 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/EliminatedType.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/EliminatedType.java new file mode 100644 index 00000000..1b8d7cc9 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/EliminatedType.java | |||
@@ -0,0 +1,6 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
4 | |||
5 | record EliminatedType(PartialRelation replacement) implements TypeAnalysisResult { | ||
6 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/ExtendedTypeInfo.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/ExtendedTypeInfo.java new file mode 100644 index 00000000..43b8e1dd --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/ExtendedTypeInfo.java | |||
@@ -0,0 +1,101 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import org.jetbrains.annotations.NotNull; | ||
4 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
5 | |||
6 | import java.util.HashSet; | ||
7 | import java.util.LinkedHashSet; | ||
8 | import java.util.Objects; | ||
9 | import java.util.Set; | ||
10 | |||
11 | final class ExtendedTypeInfo implements Comparable<ExtendedTypeInfo> { | ||
12 | private final int index; | ||
13 | private final PartialRelation type; | ||
14 | private final TypeInfo typeInfo; | ||
15 | private final Set<PartialRelation> allSubtypes = new LinkedHashSet<>(); | ||
16 | private final Set<PartialRelation> allSupertypes; | ||
17 | private final Set<PartialRelation> concreteSubtypesAndSelf = new LinkedHashSet<>(); | ||
18 | private Set<PartialRelation> directSubtypes; | ||
19 | private final Set<PartialRelation> unsortedDirectSupertypes = new HashSet<>(); | ||
20 | |||
21 | public ExtendedTypeInfo(int index, PartialRelation type, TypeInfo typeInfo) { | ||
22 | this.index = index; | ||
23 | this.type = type; | ||
24 | this.typeInfo = typeInfo; | ||
25 | this.allSupertypes = new LinkedHashSet<>(typeInfo.supertypes()); | ||
26 | } | ||
27 | |||
28 | public PartialRelation getType() { | ||
29 | return type; | ||
30 | } | ||
31 | |||
32 | public TypeInfo getTypeInfo() { | ||
33 | return typeInfo; | ||
34 | } | ||
35 | |||
36 | public boolean isAbstractType() { | ||
37 | return getTypeInfo().abstractType(); | ||
38 | } | ||
39 | |||
40 | public Set<PartialRelation> getAllSubtypes() { | ||
41 | return allSubtypes; | ||
42 | } | ||
43 | |||
44 | public Set<PartialRelation> getAllSupertypes() { | ||
45 | return allSupertypes; | ||
46 | } | ||
47 | |||
48 | public Set<PartialRelation> getAllSupertypesAndSelf() { | ||
49 | var allSubtypesAndSelf = new HashSet<PartialRelation>(allSupertypes.size() + 1); | ||
50 | addMust(allSubtypesAndSelf); | ||
51 | return allSubtypesAndSelf; | ||
52 | } | ||
53 | |||
54 | public Set<PartialRelation> getConcreteSubtypesAndSelf() { | ||
55 | return concreteSubtypesAndSelf; | ||
56 | } | ||
57 | |||
58 | public Set<PartialRelation> getDirectSubtypes() { | ||
59 | return directSubtypes; | ||
60 | } | ||
61 | |||
62 | public Set<PartialRelation> getUnsortedDirectSupertypes() { | ||
63 | return unsortedDirectSupertypes; | ||
64 | } | ||
65 | |||
66 | public void setDirectSubtypes(Set<PartialRelation> directSubtypes) { | ||
67 | this.directSubtypes = directSubtypes; | ||
68 | } | ||
69 | |||
70 | public boolean allowsAllConcreteTypes(Set<PartialRelation> concreteTypes) { | ||
71 | for (var concreteType : concreteTypes) { | ||
72 | if (!concreteSubtypesAndSelf.contains(concreteType)) { | ||
73 | return false; | ||
74 | } | ||
75 | } | ||
76 | return true; | ||
77 | } | ||
78 | |||
79 | public void addMust(Set<PartialRelation> mustTypes) { | ||
80 | mustTypes.add(type); | ||
81 | mustTypes.addAll(allSupertypes); | ||
82 | } | ||
83 | |||
84 | @Override | ||
85 | public int compareTo(@NotNull ExtendedTypeInfo extendedTypeInfo) { | ||
86 | return Integer.compare(index, extendedTypeInfo.index); | ||
87 | } | ||
88 | |||
89 | @Override | ||
90 | public boolean equals(Object o) { | ||
91 | if (this == o) return true; | ||
92 | if (o == null || getClass() != o.getClass()) return false; | ||
93 | ExtendedTypeInfo that = (ExtendedTypeInfo) o; | ||
94 | return index == that.index; | ||
95 | } | ||
96 | |||
97 | @Override | ||
98 | public int hashCode() { | ||
99 | return Objects.hash(index); | ||
100 | } | ||
101 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeRelationView.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeRelationView.java new file mode 100644 index 00000000..12c37c86 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeRelationView.java | |||
@@ -0,0 +1,19 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
4 | import tools.refinery.store.query.view.TuplePreservingRelationView; | ||
5 | import tools.refinery.store.tuple.Tuple; | ||
6 | |||
7 | class InferredMayTypeRelationView extends TuplePreservingRelationView<InferredType> { | ||
8 | private final PartialRelation type; | ||
9 | |||
10 | InferredMayTypeRelationView(PartialRelation type) { | ||
11 | super(TypeHierarchyTranslationUnit.INFERRED_TYPE_SYMBOL, "%s#may".formatted(type)); | ||
12 | this.type = type; | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public boolean filter(Tuple key, InferredType value) { | ||
17 | return value.mayConcreteTypes().contains(type); | ||
18 | } | ||
19 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeRelationView.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeRelationView.java new file mode 100644 index 00000000..975f627e --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeRelationView.java | |||
@@ -0,0 +1,19 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
4 | import tools.refinery.store.query.view.TuplePreservingRelationView; | ||
5 | import tools.refinery.store.tuple.Tuple; | ||
6 | |||
7 | class InferredMustTypeRelationView extends TuplePreservingRelationView<InferredType> { | ||
8 | private final PartialRelation type; | ||
9 | |||
10 | InferredMustTypeRelationView(PartialRelation type) { | ||
11 | super(TypeHierarchyTranslationUnit.INFERRED_TYPE_SYMBOL, "%s#must".formatted(type)); | ||
12 | this.type = type; | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public boolean filter(Tuple key, InferredType value) { | ||
17 | return value.mustTypes().contains(type); | ||
18 | } | ||
19 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredType.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredType.java new file mode 100644 index 00000000..a366e262 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredType.java | |||
@@ -0,0 +1,30 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
4 | |||
5 | import java.util.Collections; | ||
6 | import java.util.Set; | ||
7 | |||
8 | record InferredType(Set<PartialRelation> mustTypes, Set<PartialRelation> mayConcreteTypes, | ||
9 | PartialRelation currentType) { | ||
10 | public static final InferredType UNTYPED = new InferredType(Set.of(), Set.of(), null); | ||
11 | |||
12 | public InferredType(Set<PartialRelation> mustTypes, Set<PartialRelation> mayConcreteTypes, | ||
13 | PartialRelation currentType) { | ||
14 | this.mustTypes = Collections.unmodifiableSet(mustTypes); | ||
15 | this.mayConcreteTypes = Collections.unmodifiableSet(mayConcreteTypes); | ||
16 | this.currentType = currentType; | ||
17 | } | ||
18 | |||
19 | public boolean isConsistent() { | ||
20 | return currentType != null || mustTypes.isEmpty(); | ||
21 | } | ||
22 | |||
23 | public boolean isMust(PartialRelation partialRelation) { | ||
24 | return mustTypes.contains(partialRelation); | ||
25 | } | ||
26 | |||
27 | public boolean isMayConcrete(PartialRelation partialRelation) { | ||
28 | return mayConcreteTypes.contains(partialRelation); | ||
29 | } | ||
30 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/PreservedType.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/PreservedType.java new file mode 100644 index 00000000..63dba964 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/PreservedType.java | |||
@@ -0,0 +1,136 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
4 | import tools.refinery.store.representation.TruthValue; | ||
5 | |||
6 | import java.util.*; | ||
7 | |||
8 | final class PreservedType implements TypeAnalysisResult { | ||
9 | private final ExtendedTypeInfo extendedTypeInfo; | ||
10 | private final List<PartialRelation> directSubtypes; | ||
11 | private final List<ExtendedTypeInfo> allExternalTypeInfoList; | ||
12 | private final InferredType inferredType; | ||
13 | |||
14 | public PreservedType(ExtendedTypeInfo extendedTypeInfo, List<ExtendedTypeInfo> allExternalTypeInfoList) { | ||
15 | this.extendedTypeInfo = extendedTypeInfo; | ||
16 | directSubtypes = List.copyOf(extendedTypeInfo.getDirectSubtypes()); | ||
17 | this.allExternalTypeInfoList = allExternalTypeInfoList; | ||
18 | inferredType = propagateMust(extendedTypeInfo.getAllSupertypesAndSelf(), | ||
19 | extendedTypeInfo.getConcreteSubtypesAndSelf()); | ||
20 | } | ||
21 | |||
22 | public PartialRelation type() { | ||
23 | return extendedTypeInfo.getType(); | ||
24 | } | ||
25 | |||
26 | public List<PartialRelation> getDirectSubtypes() { | ||
27 | return directSubtypes; | ||
28 | } | ||
29 | |||
30 | public boolean isAbstractType() { | ||
31 | return extendedTypeInfo.isAbstractType(); | ||
32 | } | ||
33 | |||
34 | public boolean isVacuous() { | ||
35 | return isAbstractType() && directSubtypes.isEmpty(); | ||
36 | } | ||
37 | |||
38 | public InferredType asInferredType() { | ||
39 | return inferredType; | ||
40 | } | ||
41 | |||
42 | public InferredType merge(InferredType inferredType, TruthValue value) { | ||
43 | return switch (value) { | ||
44 | case UNKNOWN -> inferredType; | ||
45 | case TRUE -> addMust(inferredType); | ||
46 | case FALSE -> removeMay(inferredType); | ||
47 | case ERROR -> addError(inferredType); | ||
48 | }; | ||
49 | } | ||
50 | |||
51 | private InferredType addMust(InferredType inferredType) { | ||
52 | var originalMustTypes = inferredType.mustTypes(); | ||
53 | if (originalMustTypes.contains(type())) { | ||
54 | return inferredType; | ||
55 | } | ||
56 | var mustTypes = new HashSet<>(originalMustTypes); | ||
57 | extendedTypeInfo.addMust(mustTypes); | ||
58 | var originalMayConcreteTypes = inferredType.mayConcreteTypes(); | ||
59 | var mayConcreteTypes = new LinkedHashSet<>(originalMayConcreteTypes); | ||
60 | Set<PartialRelation> mayConcreteTypesResult; | ||
61 | if (mayConcreteTypes.retainAll(extendedTypeInfo.getConcreteSubtypesAndSelf())) { | ||
62 | mayConcreteTypesResult = mayConcreteTypes; | ||
63 | } else { | ||
64 | mayConcreteTypesResult = originalMayConcreteTypes; | ||
65 | } | ||
66 | return propagateMust(mustTypes, mayConcreteTypesResult); | ||
67 | } | ||
68 | |||
69 | private InferredType removeMay(InferredType inferredType) { | ||
70 | var originalMayConcreteTypes = inferredType.mayConcreteTypes(); | ||
71 | var mayConcreteTypes = new LinkedHashSet<>(originalMayConcreteTypes); | ||
72 | if (!mayConcreteTypes.removeAll(extendedTypeInfo.getConcreteSubtypesAndSelf())) { | ||
73 | return inferredType; | ||
74 | } | ||
75 | return propagateMust(inferredType.mustTypes(), mayConcreteTypes); | ||
76 | } | ||
77 | |||
78 | private InferredType addError(InferredType inferredType) { | ||
79 | var originalMustTypes = inferredType.mustTypes(); | ||
80 | if (originalMustTypes.contains(type())) { | ||
81 | if (inferredType.mayConcreteTypes().isEmpty()) { | ||
82 | return inferredType; | ||
83 | } | ||
84 | return new InferredType(originalMustTypes, Set.of(), null); | ||
85 | } | ||
86 | var mustTypes = new HashSet<>(originalMustTypes); | ||
87 | extendedTypeInfo.addMust(mustTypes); | ||
88 | return new InferredType(mustTypes, Set.of(), null); | ||
89 | } | ||
90 | |||
91 | private InferredType propagateMust(Set<PartialRelation> originalMustTypes, | ||
92 | Set<PartialRelation> mayConcreteTypes) { | ||
93 | // It is possible that there is not type at all, do not force one by propagation. | ||
94 | var maybeUntyped = originalMustTypes.isEmpty(); | ||
95 | // Para-consistent case, do not propagate must types to avoid logical explosion. | ||
96 | var paraConsistentOrSurelyUntyped = mayConcreteTypes.isEmpty(); | ||
97 | if (maybeUntyped || paraConsistentOrSurelyUntyped) { | ||
98 | return new InferredType(originalMustTypes, mayConcreteTypes, null); | ||
99 | } | ||
100 | var currentType = computeCurrentType(mayConcreteTypes); | ||
101 | var mustTypes = new HashSet<>(originalMustTypes); | ||
102 | boolean changed = false; | ||
103 | for (var newMustExtendedTypeInfo : allExternalTypeInfoList) { | ||
104 | var newMustType = newMustExtendedTypeInfo.getType(); | ||
105 | if (mustTypes.contains(newMustType)) { | ||
106 | continue; | ||
107 | } | ||
108 | if (newMustExtendedTypeInfo.allowsAllConcreteTypes(mayConcreteTypes)) { | ||
109 | newMustExtendedTypeInfo.addMust(mustTypes); | ||
110 | changed = true; | ||
111 | } | ||
112 | } | ||
113 | if (!changed) { | ||
114 | return new InferredType(originalMustTypes, mayConcreteTypes, currentType); | ||
115 | } | ||
116 | return new InferredType(mustTypes, mayConcreteTypes, currentType); | ||
117 | } | ||
118 | |||
119 | /** | ||
120 | * Returns a concrete type that is allowed by a (consistent, i.e., nonempty) set of <b>may</b> concrete types. | ||
121 | * | ||
122 | * @param mayConcreteTypes The set of allowed concrete types. Must not be empty. | ||
123 | * @return The first concrete type that is allowed by {@code matConcreteTypes}. | ||
124 | */ | ||
125 | private PartialRelation computeCurrentType(Set<PartialRelation> mayConcreteTypes) { | ||
126 | for (var concreteExtendedTypeInfo : allExternalTypeInfoList) { | ||
127 | var concreteType = concreteExtendedTypeInfo.getType(); | ||
128 | if (!concreteExtendedTypeInfo.isAbstractType() && mayConcreteTypes.contains(concreteType)) { | ||
129 | return concreteType; | ||
130 | } | ||
131 | } | ||
132 | // We have already filtered out the para-consistent case in {@link #propagateMust(Set<PartialRelation>, | ||
133 | // Set<PartialRelation>}. | ||
134 | throw new AssertionError("No concrete type in %s".formatted(mayConcreteTypes)); | ||
135 | } | ||
136 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalysisResult.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalysisResult.java new file mode 100644 index 00000000..4f915108 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalysisResult.java | |||
@@ -0,0 +1,4 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | sealed interface TypeAnalysisResult permits EliminatedType, PreservedType { | ||
4 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzer.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzer.java new file mode 100644 index 00000000..62f8e750 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzer.java | |||
@@ -0,0 +1,202 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
4 | |||
5 | import java.util.*; | ||
6 | |||
7 | class TypeAnalyzer { | ||
8 | private final Map<PartialRelation, ExtendedTypeInfo> extendedTypeInfoMap; | ||
9 | private final Map<PartialRelation, PartialRelation> replacements = new LinkedHashMap<>(); | ||
10 | private final InferredType unknownType; | ||
11 | private final Map<PartialRelation, TypeAnalysisResult> analysisResults; | ||
12 | |||
13 | public TypeAnalyzer(Map<PartialRelation, TypeInfo> typeInfoMap) { | ||
14 | int size = typeInfoMap.size(); | ||
15 | extendedTypeInfoMap = new LinkedHashMap<>(size); | ||
16 | var concreteTypes = new LinkedHashSet<PartialRelation>(); | ||
17 | int index = 0; | ||
18 | for (var entry : typeInfoMap.entrySet()) { | ||
19 | var type = entry.getKey(); | ||
20 | var typeInfo = entry.getValue(); | ||
21 | extendedTypeInfoMap.put(type, new ExtendedTypeInfo(index, type, typeInfo)); | ||
22 | if (!typeInfo.abstractType()) { | ||
23 | concreteTypes.add(type); | ||
24 | } | ||
25 | index++; | ||
26 | } | ||
27 | unknownType = new InferredType(Set.of(), concreteTypes, null); | ||
28 | computeAllSupertypes(); | ||
29 | computeAllAndConcreteSubtypes(); | ||
30 | computeDirectSubtypes(); | ||
31 | eliminateTrivialSupertypes(); | ||
32 | analysisResults = computeAnalysisResults(); | ||
33 | } | ||
34 | |||
35 | public InferredType getUnknownType() { | ||
36 | return unknownType; | ||
37 | } | ||
38 | |||
39 | public Map<PartialRelation, TypeAnalysisResult> getAnalysisResults() { | ||
40 | return analysisResults; | ||
41 | } | ||
42 | |||
43 | private void computeAllSupertypes() { | ||
44 | boolean changed; | ||
45 | do { | ||
46 | changed = false; | ||
47 | for (var extendedTypeInfo : extendedTypeInfoMap.values()) { | ||
48 | var found = new HashSet<PartialRelation>(); | ||
49 | var allSupertypes = extendedTypeInfo.getAllSupertypes(); | ||
50 | for (var supertype : allSupertypes) { | ||
51 | found.addAll(extendedTypeInfoMap.get(supertype).getAllSupertypes()); | ||
52 | } | ||
53 | if (allSupertypes.addAll(found)) { | ||
54 | changed = true; | ||
55 | } | ||
56 | } | ||
57 | } while (changed); | ||
58 | } | ||
59 | |||
60 | private void computeAllAndConcreteSubtypes() { | ||
61 | for (var extendedTypeInfo : extendedTypeInfoMap.values()) { | ||
62 | var type = extendedTypeInfo.getType(); | ||
63 | if (!extendedTypeInfo.isAbstractType()) { | ||
64 | extendedTypeInfo.getConcreteSubtypesAndSelf().add(type); | ||
65 | } | ||
66 | for (var supertype : extendedTypeInfo.getAllSupertypes()) { | ||
67 | if (type.equals(supertype)) { | ||
68 | throw new IllegalArgumentException("%s cannot be a supertype of itself".formatted(type)); | ||
69 | } | ||
70 | var supertypeInfo = extendedTypeInfoMap.get(supertype); | ||
71 | supertypeInfo.getAllSubtypes().add(type); | ||
72 | if (!extendedTypeInfo.isAbstractType()) { | ||
73 | supertypeInfo.getConcreteSubtypesAndSelf().add(type); | ||
74 | } | ||
75 | } | ||
76 | } | ||
77 | } | ||
78 | |||
79 | private void computeDirectSubtypes() { | ||
80 | for (var extendedTypeInfo : extendedTypeInfoMap.values()) { | ||
81 | var allSubtypes = extendedTypeInfo.getAllSubtypes(); | ||
82 | var directSubtypes = new LinkedHashSet<>(allSubtypes); | ||
83 | var indirectSubtypes = new LinkedHashSet<PartialRelation>(allSubtypes.size()); | ||
84 | for (var subtype : allSubtypes) { | ||
85 | indirectSubtypes.addAll(extendedTypeInfoMap.get(subtype).getAllSubtypes()); | ||
86 | } | ||
87 | directSubtypes.removeAll(indirectSubtypes); | ||
88 | extendedTypeInfo.setDirectSubtypes(directSubtypes); | ||
89 | } | ||
90 | } | ||
91 | |||
92 | private void eliminateTrivialSupertypes() { | ||
93 | boolean changed; | ||
94 | do { | ||
95 | var toRemove = new ArrayList<PartialRelation>(); | ||
96 | for (var entry : extendedTypeInfoMap.entrySet()) { | ||
97 | var extendedTypeInfo = entry.getValue(); | ||
98 | boolean isAbstract = extendedTypeInfo.isAbstractType(); | ||
99 | // Do not eliminate abstract types with 0 subtypes, because they can be used para-consistently, i.e., | ||
100 | // an object determined to <b>must</b> have an abstract type with 0 subtypes <b>may not</b> ever exist. | ||
101 | boolean hasSingleDirectSubtype = extendedTypeInfo.getDirectSubtypes().size() == 1; | ||
102 | if (isAbstract && hasSingleDirectSubtype) { | ||
103 | toRemove.add(entry.getKey()); | ||
104 | } | ||
105 | } | ||
106 | toRemove.forEach(this::removeTrivialType); | ||
107 | changed = !toRemove.isEmpty(); | ||
108 | } while (changed); | ||
109 | } | ||
110 | |||
111 | private void removeTrivialType(PartialRelation trivialType) { | ||
112 | var extendedTypeInfo = extendedTypeInfoMap.get(trivialType); | ||
113 | var iterator = extendedTypeInfo.getDirectSubtypes().iterator(); | ||
114 | if (!iterator.hasNext()) { | ||
115 | throw new AssertionError("Expected trivial supertype %s to have a direct subtype" | ||
116 | .formatted(trivialType)); | ||
117 | } | ||
118 | PartialRelation replacement = setReplacement(trivialType, iterator.next()); | ||
119 | if (iterator.hasNext()) { | ||
120 | throw new AssertionError("Expected trivial supertype %s to have at most 1 direct subtype" | ||
121 | .formatted(trivialType)); | ||
122 | } | ||
123 | replacements.put(trivialType, replacement); | ||
124 | for (var supertype : extendedTypeInfo.getAllSupertypes()) { | ||
125 | var extendedSupertypeInfo = extendedTypeInfoMap.get(supertype); | ||
126 | if (!extendedSupertypeInfo.getAllSubtypes().remove(trivialType)) { | ||
127 | throw new AssertionError("Expected %s to be subtype of %s".formatted(trivialType, supertype)); | ||
128 | } | ||
129 | var directSubtypes = extendedSupertypeInfo.getDirectSubtypes(); | ||
130 | if (directSubtypes.remove(trivialType)) { | ||
131 | directSubtypes.add(replacement); | ||
132 | } | ||
133 | } | ||
134 | for (var subtype : extendedTypeInfo.getAllSubtypes()) { | ||
135 | var extendedSubtypeInfo = extendedTypeInfoMap.get(subtype); | ||
136 | if (!extendedSubtypeInfo.getAllSupertypes().remove(trivialType)) { | ||
137 | throw new AssertionError("Expected %s to be supertype of %s".formatted(trivialType, subtype)); | ||
138 | } | ||
139 | } | ||
140 | extendedTypeInfoMap.remove(trivialType); | ||
141 | } | ||
142 | |||
143 | private PartialRelation setReplacement(PartialRelation trivialRelation, PartialRelation replacement) { | ||
144 | if (replacement == null) { | ||
145 | return trivialRelation; | ||
146 | } | ||
147 | var resolved = setReplacement(replacement, replacements.get(replacement)); | ||
148 | replacements.put(trivialRelation, resolved); | ||
149 | return resolved; | ||
150 | } | ||
151 | |||
152 | private Map<PartialRelation, TypeAnalysisResult> computeAnalysisResults() { | ||
153 | var allExtendedTypeInfoList = sortTypes(); | ||
154 | var results = new LinkedHashMap<PartialRelation, TypeAnalysisResult>( | ||
155 | allExtendedTypeInfoList.size() + replacements.size()); | ||
156 | for (var extendedTypeInfo : allExtendedTypeInfoList) { | ||
157 | var type = extendedTypeInfo.getType(); | ||
158 | results.put(type, new PreservedType(extendedTypeInfo, allExtendedTypeInfoList)); | ||
159 | } | ||
160 | for (var entry : replacements.entrySet()) { | ||
161 | var type = entry.getKey(); | ||
162 | results.put(type, new EliminatedType(entry.getValue())); | ||
163 | } | ||
164 | return Collections.unmodifiableMap(results); | ||
165 | } | ||
166 | |||
167 | private List<ExtendedTypeInfo> sortTypes() { | ||
168 | // Invert {@code directSubtypes} to keep track of the out-degree of types. | ||
169 | for (var extendedTypeInfo : extendedTypeInfoMap.values()) { | ||
170 | for (var directSubtype : extendedTypeInfo.getDirectSubtypes()) { | ||
171 | var extendedDirectSubtypeInfo = extendedTypeInfoMap.get(directSubtype); | ||
172 | extendedDirectSubtypeInfo.getUnsortedDirectSupertypes().add(extendedTypeInfo.getType()); | ||
173 | } | ||
174 | } | ||
175 | // Build a <i>inverse</i> topological order ({@code extends} edges always points to earlier nodes in the order, | ||
176 | // breaking ties according to the original order ({@link ExtendedTypeInfo#index}) to form a 'stable' sort. | ||
177 | // See, e.g., https://stackoverflow.com/a/11236027. | ||
178 | var priorityQueue = new PriorityQueue<ExtendedTypeInfo>(); | ||
179 | for (var extendedTypeInfo : extendedTypeInfoMap.values()) { | ||
180 | if (extendedTypeInfo.getUnsortedDirectSupertypes().isEmpty()) { | ||
181 | priorityQueue.add(extendedTypeInfo); | ||
182 | } | ||
183 | } | ||
184 | var sorted = new ArrayList<ExtendedTypeInfo>(extendedTypeInfoMap.size()); | ||
185 | while (!priorityQueue.isEmpty()) { | ||
186 | var extendedTypeInfo = priorityQueue.remove(); | ||
187 | sorted.add(extendedTypeInfo); | ||
188 | for (var directSubtype : extendedTypeInfo.getDirectSubtypes()) { | ||
189 | var extendedDirectSubtypeInfo = extendedTypeInfoMap.get(directSubtype); | ||
190 | var unsortedDirectSupertypes = extendedDirectSubtypeInfo.getUnsortedDirectSupertypes(); | ||
191 | if (!unsortedDirectSupertypes.remove(extendedTypeInfo.getType())) { | ||
192 | throw new AssertionError("Expected %s to be a direct supertype of %s" | ||
193 | .formatted(extendedTypeInfo.getType(), directSubtype)); | ||
194 | } | ||
195 | if (unsortedDirectSupertypes.isEmpty()) { | ||
196 | priorityQueue.add(extendedDirectSubtypeInfo); | ||
197 | } | ||
198 | } | ||
199 | } | ||
200 | return Collections.unmodifiableList(sorted); | ||
201 | } | ||
202 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslationUnit.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslationUnit.java new file mode 100644 index 00000000..4b0761f2 --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeHierarchyTranslationUnit.java | |||
@@ -0,0 +1,32 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import tools.refinery.store.model.Model; | ||
4 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
5 | import tools.refinery.store.reasoning.translator.TranslatedRelation; | ||
6 | import tools.refinery.store.reasoning.translator.TranslationUnit; | ||
7 | import tools.refinery.store.representation.Symbol; | ||
8 | |||
9 | import java.util.Collection; | ||
10 | import java.util.List; | ||
11 | import java.util.Map; | ||
12 | |||
13 | public class TypeHierarchyTranslationUnit extends TranslationUnit { | ||
14 | static final Symbol<InferredType> INFERRED_TYPE_SYMBOL = new Symbol<>("inferredType", 1, | ||
15 | InferredType.class, InferredType.UNTYPED); | ||
16 | |||
17 | private final TypeAnalyzer typeAnalyzer; | ||
18 | |||
19 | public TypeHierarchyTranslationUnit(Map<PartialRelation, TypeInfo> typeInfoMap) { | ||
20 | typeAnalyzer = new TypeAnalyzer(typeInfoMap); | ||
21 | } | ||
22 | |||
23 | @Override | ||
24 | public Collection<TranslatedRelation> getTranslatedRelations() { | ||
25 | return List.of(); | ||
26 | } | ||
27 | |||
28 | @Override | ||
29 | public void initializeModel(Model model, int nodeCount) { | ||
30 | |||
31 | } | ||
32 | } | ||
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeInfo.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeInfo.java new file mode 100644 index 00000000..313df4df --- /dev/null +++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeInfo.java | |||
@@ -0,0 +1,46 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
4 | |||
5 | import java.util.*; | ||
6 | |||
7 | public record TypeInfo(Collection<PartialRelation> supertypes, boolean abstractType) { | ||
8 | public static Builder builder() { | ||
9 | return new Builder(); | ||
10 | } | ||
11 | |||
12 | public static class Builder { | ||
13 | private final Set<PartialRelation> supertypes = new LinkedHashSet<>(); | ||
14 | private boolean abstractType; | ||
15 | |||
16 | private Builder() { | ||
17 | } | ||
18 | |||
19 | public Builder supertypes(Collection<PartialRelation> supertypes) { | ||
20 | this.supertypes.addAll(supertypes); | ||
21 | return this; | ||
22 | } | ||
23 | |||
24 | public Builder supertypes(PartialRelation... supertypes) { | ||
25 | return supertypes(List.of(supertypes)); | ||
26 | } | ||
27 | |||
28 | public Builder supertype(PartialRelation supertype) { | ||
29 | supertypes.add(supertype); | ||
30 | return this; | ||
31 | } | ||
32 | |||
33 | public Builder abstractType(boolean abstractType) { | ||
34 | this.abstractType = abstractType; | ||
35 | return this; | ||
36 | } | ||
37 | |||
38 | public Builder abstractType() { | ||
39 | return abstractType(true); | ||
40 | } | ||
41 | |||
42 | public TypeInfo build() { | ||
43 | return new TypeInfo(Collections.unmodifiableSet(supertypes), abstractType); | ||
44 | } | ||
45 | } | ||
46 | } | ||
diff --git a/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredTypeTest.java b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredTypeTest.java new file mode 100644 index 00000000..a8df2312 --- /dev/null +++ b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredTypeTest.java | |||
@@ -0,0 +1,32 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import org.junit.jupiter.api.Test; | ||
4 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
5 | |||
6 | import java.util.Set; | ||
7 | |||
8 | import static org.hamcrest.MatcherAssert.assertThat; | ||
9 | import static org.hamcrest.Matchers.is; | ||
10 | |||
11 | class InferredTypeTest { | ||
12 | private final PartialRelation c1 = new PartialRelation("C1", 1); | ||
13 | private final PartialRelation c2 = new PartialRelation("C2", 1); | ||
14 | |||
15 | @Test | ||
16 | void untypedIsConsistentTest() { | ||
17 | var sut = new InferredType(Set.of(), Set.of(c1, c2), null); | ||
18 | assertThat(sut.isConsistent(), is(true)); | ||
19 | } | ||
20 | |||
21 | @Test | ||
22 | void typedIsConsistentTest() { | ||
23 | var sut = new InferredType(Set.of(c1), Set.of(c1, c2), c1); | ||
24 | assertThat(sut.isConsistent(), is(true)); | ||
25 | } | ||
26 | |||
27 | @Test | ||
28 | void typedIsInconsistentTest() { | ||
29 | var sut = new InferredType(Set.of(c1), Set.of(), null); | ||
30 | assertThat(sut.isConsistent(), is(false)); | ||
31 | } | ||
32 | } | ||
diff --git a/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerExampleHierarchyTest.java b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerExampleHierarchyTest.java new file mode 100644 index 00000000..b2c1ef1b --- /dev/null +++ b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerExampleHierarchyTest.java | |||
@@ -0,0 +1,203 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import org.junit.jupiter.api.BeforeEach; | ||
4 | import org.junit.jupiter.api.Test; | ||
5 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
6 | import tools.refinery.store.representation.TruthValue; | ||
7 | |||
8 | import java.util.LinkedHashMap; | ||
9 | import java.util.Set; | ||
10 | |||
11 | import static org.hamcrest.MatcherAssert.assertThat; | ||
12 | import static org.hamcrest.Matchers.is; | ||
13 | import static org.junit.jupiter.api.Assertions.assertAll; | ||
14 | |||
15 | class TypeAnalyzerExampleHierarchyTest { | ||
16 | private final PartialRelation a1 = new PartialRelation("A1", 1); | ||
17 | private final PartialRelation a2 = new PartialRelation("A2", 1); | ||
18 | private final PartialRelation a3 = new PartialRelation("A3", 1); | ||
19 | private final PartialRelation a4 = new PartialRelation("A4", 1); | ||
20 | private final PartialRelation a5 = new PartialRelation("A5", 1); | ||
21 | private final PartialRelation c1 = new PartialRelation("C1", 1); | ||
22 | private final PartialRelation c2 = new PartialRelation("C2", 1); | ||
23 | private final PartialRelation c3 = new PartialRelation("C3", 1); | ||
24 | private final PartialRelation c4 = new PartialRelation("C4", 1); | ||
25 | |||
26 | private TypeAnalyzer sut; | ||
27 | private TypeAnalyzerTester tester; | ||
28 | |||
29 | @BeforeEach | ||
30 | void beforeEach() { | ||
31 | var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>(); | ||
32 | typeInfoMap.put(a1, TypeInfo.builder().abstractType().build()); | ||
33 | typeInfoMap.put(a2, TypeInfo.builder().abstractType().build()); | ||
34 | typeInfoMap.put(a3, TypeInfo.builder().abstractType().build()); | ||
35 | typeInfoMap.put(a4, TypeInfo.builder().abstractType().build()); | ||
36 | typeInfoMap.put(a5, TypeInfo.builder().abstractType().build()); | ||
37 | typeInfoMap.put(c1, TypeInfo.builder().supertypes(a1, a4).build()); | ||
38 | typeInfoMap.put(c2, TypeInfo.builder().supertypes(a1, a2, a3, a4).build()); | ||
39 | typeInfoMap.put(c3, TypeInfo.builder().supertype(a3).build()); | ||
40 | typeInfoMap.put(c4, TypeInfo.builder().supertype(a4).build()); | ||
41 | sut = new TypeAnalyzer(typeInfoMap); | ||
42 | tester = new TypeAnalyzerTester(sut); | ||
43 | } | ||
44 | |||
45 | @Test | ||
46 | void analysisResultsTest() { | ||
47 | assertAll( | ||
48 | () -> tester.assertAbstractType(a1, c1, c2), | ||
49 | () -> tester.assertEliminatedType(a2, c2), | ||
50 | () -> tester.assertAbstractType(a3, c2, c3), | ||
51 | () -> tester.assertAbstractType(a4, c1, c2, c4), | ||
52 | () -> tester.assertVacuousType(a5), | ||
53 | () -> tester.assertConcreteType(c1), | ||
54 | () -> tester.assertConcreteType(c2), | ||
55 | () -> tester.assertConcreteType(c3), | ||
56 | () -> tester.assertConcreteType(c4) | ||
57 | ); | ||
58 | } | ||
59 | |||
60 | @Test | ||
61 | void inferredTypesTest() { | ||
62 | assertAll( | ||
63 | () -> assertThat(sut.getUnknownType(), is(new InferredType(Set.of(), Set.of(c1, c2, c3, c4), null))), | ||
64 | () -> assertThat(tester.getInferredType(a1), is(new InferredType(Set.of(a1, a4), Set.of(c1, c2), c1))), | ||
65 | () -> assertThat(tester.getInferredType(a3), is(new InferredType(Set.of(a3), Set.of(c2, c3), c2))), | ||
66 | () -> assertThat(tester.getInferredType(a4), is(new InferredType(Set.of(a4), Set.of(c1, c2, c4), c1))), | ||
67 | () -> assertThat(tester.getInferredType(a5), is(new InferredType(Set.of(a5), Set.of(), null))), | ||
68 | () -> assertThat(tester.getInferredType(c1), is(new InferredType(Set.of(a1, a4, c1), Set.of(c1), c1))), | ||
69 | () -> assertThat(tester.getInferredType(c2), | ||
70 | is(new InferredType(Set.of(a1, a3, a4, c2), Set.of(c2), c2))), | ||
71 | () -> assertThat(tester.getInferredType(c3), is(new InferredType(Set.of(a3, c3), Set.of(c3), c3))), | ||
72 | () -> assertThat(tester.getInferredType(c4), is(new InferredType(Set.of(a4, c4), Set.of(c4), c4))) | ||
73 | ); | ||
74 | } | ||
75 | |||
76 | @Test | ||
77 | void consistentMustTest() { | ||
78 | var a1Result = tester.getPreservedType(a1); | ||
79 | var a3Result = tester.getPreservedType(a3); | ||
80 | var expected = new InferredType(Set.of(a1, a3, a4, c2), Set.of(c2), c2); | ||
81 | assertAll( | ||
82 | () -> assertThat(a1Result.merge(a3Result.asInferredType(), TruthValue.TRUE), is(expected)), | ||
83 | () -> assertThat(a3Result.merge(a1Result.asInferredType(), TruthValue.TRUE), is(expected)), | ||
84 | () -> assertThat(a1Result.merge(sut.getUnknownType(), TruthValue.TRUE), is(a1Result.asInferredType())), | ||
85 | () -> assertThat(a3Result.merge(sut.getUnknownType(), TruthValue.TRUE), is(a3Result.asInferredType())), | ||
86 | () -> assertThat(a1Result.merge(a1Result.asInferredType(), TruthValue.TRUE), | ||
87 | is(a1Result.asInferredType())) | ||
88 | ); | ||
89 | } | ||
90 | |||
91 | @Test | ||
92 | void consistentMayNotTest() { | ||
93 | var a1Result = tester.getPreservedType(a1); | ||
94 | var a3Result = tester.getPreservedType(a3); | ||
95 | var a4Result = tester.getPreservedType(a4); | ||
96 | assertAll( | ||
97 | () -> assertThat(a1Result.merge(a3Result.asInferredType(), TruthValue.FALSE), | ||
98 | is(new InferredType(Set.of(a3, c3), Set.of(c3), c3))), | ||
99 | () -> assertThat(a3Result.merge(a1Result.asInferredType(), TruthValue.FALSE), | ||
100 | is(new InferredType(Set.of(a1, a4, c1), Set.of(c1), c1))), | ||
101 | () -> assertThat(a4Result.merge(a3Result.asInferredType(), TruthValue.FALSE), | ||
102 | is(new InferredType(Set.of(a3, c3), Set.of(c3), c3))), | ||
103 | () -> assertThat(a3Result.merge(a4Result.asInferredType(), TruthValue.FALSE), | ||
104 | is(new InferredType(Set.of(a4), Set.of(c1, c4), c1))), | ||
105 | () -> assertThat(a1Result.merge(sut.getUnknownType(), TruthValue.FALSE), | ||
106 | is(new InferredType(Set.of(), Set.of(c3, c4), null))), | ||
107 | () -> assertThat(a3Result.merge(sut.getUnknownType(), TruthValue.FALSE), | ||
108 | is(new InferredType(Set.of(), Set.of(c1, c4), null))), | ||
109 | () -> assertThat(a4Result.merge(sut.getUnknownType(), TruthValue.FALSE), | ||
110 | is(new InferredType(Set.of(), Set.of(c3), null))) | ||
111 | ); | ||
112 | } | ||
113 | |||
114 | @Test | ||
115 | void consistentErrorTest() { | ||
116 | var c1Result = tester.getPreservedType(c1); | ||
117 | var a4Result = tester.getPreservedType(a4); | ||
118 | var expected = new InferredType(Set.of(c1, a1, a4), Set.of(), null); | ||
119 | assertAll( | ||
120 | () -> assertThat(c1Result.merge(a4Result.asInferredType(), TruthValue.ERROR), is(expected)), | ||
121 | () -> assertThat(a4Result.merge(c1Result.asInferredType(), TruthValue.ERROR), is(expected)) | ||
122 | ); | ||
123 | } | ||
124 | |||
125 | @Test | ||
126 | void consistentUnknownTest() { | ||
127 | var c1Result = tester.getPreservedType(c1); | ||
128 | var a4Result = tester.getPreservedType(a4); | ||
129 | assertAll( | ||
130 | () -> assertThat(c1Result.merge(a4Result.asInferredType(), TruthValue.UNKNOWN), | ||
131 | is(a4Result.asInferredType())), | ||
132 | () -> assertThat(a4Result.merge(c1Result.asInferredType(), TruthValue.UNKNOWN), | ||
133 | is(c1Result.asInferredType())) | ||
134 | ); | ||
135 | } | ||
136 | |||
137 | @Test | ||
138 | void inconsistentMustTest() { | ||
139 | var a1Result = tester.getPreservedType(a1); | ||
140 | var c3Result = tester.getPreservedType(c3); | ||
141 | assertAll( | ||
142 | () -> assertThat(a1Result.merge(c3Result.asInferredType(), TruthValue.TRUE), | ||
143 | is(new InferredType(Set.of(a1, a3, c3), Set.of(), null))), | ||
144 | () -> assertThat(c3Result.merge(a1Result.asInferredType(), TruthValue.TRUE), | ||
145 | is(new InferredType(Set.of(a1, a3, a4, c3), Set.of(), null))) | ||
146 | ); | ||
147 | } | ||
148 | |||
149 | @Test | ||
150 | void inconsistentMayNotTest() { | ||
151 | var a1Result = tester.getPreservedType(a1); | ||
152 | var a4Result = tester.getPreservedType(a4); | ||
153 | var c1Result = tester.getPreservedType(c1); | ||
154 | assertAll( | ||
155 | () -> assertThat(a4Result.merge(a1Result.asInferredType(), TruthValue.FALSE), | ||
156 | is(new InferredType(Set.of(a1, a4), Set.of(), null))), | ||
157 | () -> assertThat(a1Result.merge(c1Result.asInferredType(), TruthValue.FALSE), | ||
158 | is(new InferredType(Set.of(a1, a4, c1), Set.of(), null))), | ||
159 | () -> assertThat(a4Result.merge(c1Result.asInferredType(), TruthValue.FALSE), | ||
160 | is(new InferredType(Set.of(a1, a4, c1), Set.of(), null))), | ||
161 | () -> assertThat(a1Result.merge(a1Result.asInferredType(), TruthValue.FALSE), | ||
162 | is(new InferredType(Set.of(a1, a4), Set.of(), null))) | ||
163 | ); | ||
164 | } | ||
165 | |||
166 | @Test | ||
167 | void vacuousMustTest() { | ||
168 | var c1Result = tester.getPreservedType(c1); | ||
169 | var a5Result = tester.getPreservedType(a5); | ||
170 | assertAll( | ||
171 | () -> assertThat(c1Result.merge(a5Result.asInferredType(), TruthValue.TRUE), | ||
172 | is(new InferredType(Set.of(a1, a4, a5, c1), Set.of(), null))), | ||
173 | () -> assertThat(a5Result.merge(c1Result.asInferredType(), TruthValue.TRUE), | ||
174 | is(new InferredType(Set.of(a1, a4, a5, c1), Set.of(), null))) | ||
175 | ); | ||
176 | } | ||
177 | |||
178 | @Test | ||
179 | void vacuousMayNotTest() { | ||
180 | var c1Result = tester.getPreservedType(c1); | ||
181 | var a5Result = tester.getPreservedType(a5); | ||
182 | assertAll( | ||
183 | () -> assertThat(c1Result.merge(a5Result.asInferredType(), TruthValue.FALSE), | ||
184 | is(a5Result.asInferredType())), | ||
185 | () -> assertThat(a5Result.merge(c1Result.asInferredType(), TruthValue.FALSE), | ||
186 | is(c1Result.asInferredType())) | ||
187 | ); | ||
188 | } | ||
189 | |||
190 | @Test | ||
191 | void vacuousErrorTest() { | ||
192 | var c1Result = tester.getPreservedType(c1); | ||
193 | var a5Result = tester.getPreservedType(a5); | ||
194 | assertAll( | ||
195 | () -> assertThat(c1Result.merge(a5Result.asInferredType(), TruthValue.ERROR), | ||
196 | is(new InferredType(Set.of(a1, a4, a5, c1), Set.of(), null))), | ||
197 | () -> assertThat(a5Result.merge(c1Result.asInferredType(), TruthValue.ERROR), | ||
198 | is(new InferredType(Set.of(a1, a4, a5, c1), Set.of(), null))), | ||
199 | () -> assertThat(a5Result.merge(a5Result.asInferredType(), TruthValue.ERROR), | ||
200 | is(a5Result.asInferredType())) | ||
201 | ); | ||
202 | } | ||
203 | } | ||
diff --git a/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTest.java b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTest.java new file mode 100644 index 00000000..b7b69ed8 --- /dev/null +++ b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTest.java | |||
@@ -0,0 +1,200 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import org.junit.jupiter.api.Test; | ||
4 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
5 | import tools.refinery.store.representation.TruthValue; | ||
6 | |||
7 | import java.util.LinkedHashMap; | ||
8 | import java.util.Set; | ||
9 | |||
10 | import static org.hamcrest.MatcherAssert.assertThat; | ||
11 | import static org.hamcrest.Matchers.is; | ||
12 | import static org.junit.jupiter.api.Assertions.assertAll; | ||
13 | import static org.junit.jupiter.api.Assertions.assertThrows; | ||
14 | |||
15 | class TypeAnalyzerTest { | ||
16 | @Test | ||
17 | void directSupertypesTest() { | ||
18 | var c1 = new PartialRelation("C1", 1); | ||
19 | var c2 = new PartialRelation("C2", 1); | ||
20 | var c3 = new PartialRelation("C3", 1); | ||
21 | var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>(); | ||
22 | typeInfoMap.put(c1, TypeInfo.builder().supertypes(c2, c3).build()); | ||
23 | typeInfoMap.put(c2, TypeInfo.builder().supertype(c3).build()); | ||
24 | typeInfoMap.put(c3, TypeInfo.builder().build()); | ||
25 | |||
26 | var sut = new TypeAnalyzer(typeInfoMap); | ||
27 | var tester = new TypeAnalyzerTester(sut); | ||
28 | |||
29 | assertAll( | ||
30 | () -> tester.assertConcreteType(c1), | ||
31 | () -> tester.assertConcreteType(c2, c1), | ||
32 | () -> tester.assertConcreteType(c3, c2) | ||
33 | ); | ||
34 | } | ||
35 | |||
36 | @Test | ||
37 | void typeEliminationAbstractToConcreteTest() { | ||
38 | var c1 = new PartialRelation("C1", 1); | ||
39 | var c2 = new PartialRelation("C2", 1); | ||
40 | var a11 = new PartialRelation("A11", 1); | ||
41 | var a12 = new PartialRelation("A12", 1); | ||
42 | var a21 = new PartialRelation("A21", 1); | ||
43 | var a22 = new PartialRelation("A22", 1); | ||
44 | var a3 = new PartialRelation("A3", 1); | ||
45 | var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>(); | ||
46 | typeInfoMap.put(a3, TypeInfo.builder().abstractType().build()); | ||
47 | typeInfoMap.put(a21, TypeInfo.builder().abstractType().supertype(a3).build()); | ||
48 | typeInfoMap.put(a22, TypeInfo.builder().abstractType().supertype(a3).build()); | ||
49 | typeInfoMap.put(a11, TypeInfo.builder().abstractType().supertypes(a21, a22).build()); | ||
50 | typeInfoMap.put(a12, TypeInfo.builder().abstractType().supertypes(a21, a22).build()); | ||
51 | typeInfoMap.put(c1, TypeInfo.builder().supertypes(a11, a12).build()); | ||
52 | typeInfoMap.put(c2, TypeInfo.builder().supertype(a3).build()); | ||
53 | |||
54 | var sut = new TypeAnalyzer(typeInfoMap); | ||
55 | var tester = new TypeAnalyzerTester(sut); | ||
56 | |||
57 | assertAll( | ||
58 | () -> tester.assertConcreteType(c1), | ||
59 | () -> tester.assertConcreteType(c2), | ||
60 | () -> tester.assertEliminatedType(a11, c1), | ||
61 | () -> tester.assertEliminatedType(a12, c1), | ||
62 | () -> tester.assertEliminatedType(a21, c1), | ||
63 | () -> tester.assertEliminatedType(a22, c1), | ||
64 | () -> tester.assertAbstractType(a3, c1, c2) | ||
65 | ); | ||
66 | } | ||
67 | |||
68 | @Test | ||
69 | void typeEliminationConcreteToAbstractTest() { | ||
70 | var c1 = new PartialRelation("C1", 1); | ||
71 | var c2 = new PartialRelation("C2", 1); | ||
72 | var a11 = new PartialRelation("A11", 1); | ||
73 | var a12 = new PartialRelation("A12", 1); | ||
74 | var a21 = new PartialRelation("A21", 1); | ||
75 | var a22 = new PartialRelation("A22", 1); | ||
76 | var a3 = new PartialRelation("A3", 1); | ||
77 | var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>(); | ||
78 | typeInfoMap.put(c1, TypeInfo.builder().supertypes(a11, a12).build()); | ||
79 | typeInfoMap.put(c2, TypeInfo.builder().supertype(a3).build()); | ||
80 | typeInfoMap.put(a11, TypeInfo.builder().abstractType().supertypes(a21, a22).build()); | ||
81 | typeInfoMap.put(a12, TypeInfo.builder().abstractType().supertypes(a21, a22).build()); | ||
82 | typeInfoMap.put(a21, TypeInfo.builder().abstractType().supertype(a3).build()); | ||
83 | typeInfoMap.put(a22, TypeInfo.builder().abstractType().supertype(a3).build()); | ||
84 | typeInfoMap.put(a3, TypeInfo.builder().abstractType().build()); | ||
85 | |||
86 | var sut = new TypeAnalyzer(typeInfoMap); | ||
87 | var tester = new TypeAnalyzerTester(sut); | ||
88 | |||
89 | assertAll( | ||
90 | () -> tester.assertConcreteType(c1), | ||
91 | () -> tester.assertConcreteType(c2), | ||
92 | () -> tester.assertEliminatedType(a11, c1), | ||
93 | () -> tester.assertEliminatedType(a12, c1), | ||
94 | () -> tester.assertEliminatedType(a21, c1), | ||
95 | () -> tester.assertEliminatedType(a22, c1), | ||
96 | () -> tester.assertAbstractType(a3, c1, c2) | ||
97 | ); | ||
98 | } | ||
99 | |||
100 | @Test | ||
101 | void preserveConcreteTypeTest() { | ||
102 | var c1 = new PartialRelation("C1", 1); | ||
103 | var a1 = new PartialRelation("A1", 1); | ||
104 | var c2 = new PartialRelation("C2", 1); | ||
105 | var a2 = new PartialRelation("A2", 1); | ||
106 | var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>(); | ||
107 | typeInfoMap.put(c1, TypeInfo.builder().supertype(a1).build()); | ||
108 | typeInfoMap.put(a1, TypeInfo.builder().abstractType().supertype(c2).build()); | ||
109 | typeInfoMap.put(c2, TypeInfo.builder().supertype(a2).build()); | ||
110 | typeInfoMap.put(a2, TypeInfo.builder().abstractType().build()); | ||
111 | |||
112 | var sut = new TypeAnalyzer(typeInfoMap); | ||
113 | var tester = new TypeAnalyzerTester(sut); | ||
114 | |||
115 | assertAll( | ||
116 | () -> tester.assertConcreteType(c1), | ||
117 | () -> tester.assertEliminatedType(a1, c1), | ||
118 | () -> tester.assertConcreteType(c2, c1), | ||
119 | () -> tester.assertEliminatedType(a2, c2) | ||
120 | ); | ||
121 | } | ||
122 | |||
123 | @Test | ||
124 | void mostGeneralCurrentTypeTest() { | ||
125 | var c1 = new PartialRelation("C1", 1); | ||
126 | var c2 = new PartialRelation("C2", 1); | ||
127 | var c3 = new PartialRelation("C3", 1); | ||
128 | var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>(); | ||
129 | typeInfoMap.put(c1, TypeInfo.builder().supertype(c3).build()); | ||
130 | typeInfoMap.put(c2, TypeInfo.builder().supertype(c3).build()); | ||
131 | typeInfoMap.put(c3, TypeInfo.builder().build()); | ||
132 | |||
133 | var sut = new TypeAnalyzer(typeInfoMap); | ||
134 | var tester = new TypeAnalyzerTester(sut); | ||
135 | var c3Result = tester.getPreservedType(c3); | ||
136 | |||
137 | var expected = new InferredType(Set.of(c3), Set.of(c1, c2, c3), c3); | ||
138 | assertAll( | ||
139 | () -> assertThat(tester.getInferredType(c3), is(expected)), | ||
140 | () -> assertThat(c3Result.merge(sut.getUnknownType(), TruthValue.TRUE), is(expected)) | ||
141 | ); | ||
142 | } | ||
143 | |||
144 | @Test | ||
145 | void preferFirstConcreteTypeTest() { | ||
146 | var a1 = new PartialRelation("A1", 1); | ||
147 | var c1 = new PartialRelation("C1", 1); | ||
148 | var c2 = new PartialRelation("C2", 1); | ||
149 | var c3 = new PartialRelation("C3", 1); | ||
150 | var c4 = new PartialRelation("C4", 1); | ||
151 | var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>(); | ||
152 | typeInfoMap.put(c1, TypeInfo.builder().supertype(a1).build()); | ||
153 | typeInfoMap.put(c2, TypeInfo.builder().supertype(a1).build()); | ||
154 | typeInfoMap.put(c3, TypeInfo.builder().supertype(a1).build()); | ||
155 | typeInfoMap.put(c4, TypeInfo.builder().supertype(c3).build()); | ||
156 | typeInfoMap.put(a1, TypeInfo.builder().abstractType().build()); | ||
157 | |||
158 | var sut = new TypeAnalyzer(typeInfoMap); | ||
159 | var tester = new TypeAnalyzerTester(sut); | ||
160 | var c1Result = tester.getPreservedType(c1); | ||
161 | var a1Result = tester.getPreservedType(a1); | ||
162 | |||
163 | assertThat(c1Result.merge(a1Result.asInferredType(), TruthValue.FALSE), | ||
164 | is(new InferredType(Set.of(a1), Set.of(c2, c3, c4), c2))); | ||
165 | } | ||
166 | |||
167 | @Test | ||
168 | void preferFirstMostGeneralConcreteTypeTest() { | ||
169 | var a1 = new PartialRelation("A1", 1); | ||
170 | var c1 = new PartialRelation("C1", 1); | ||
171 | var c2 = new PartialRelation("C2", 1); | ||
172 | var c3 = new PartialRelation("C3", 1); | ||
173 | var c4 = new PartialRelation("C4", 1); | ||
174 | var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>(); | ||
175 | typeInfoMap.put(c4, TypeInfo.builder().supertype(c3).build()); | ||
176 | typeInfoMap.put(c3, TypeInfo.builder().supertype(a1).build()); | ||
177 | typeInfoMap.put(c2, TypeInfo.builder().supertype(a1).build()); | ||
178 | typeInfoMap.put(c1, TypeInfo.builder().supertype(a1).build()); | ||
179 | typeInfoMap.put(a1, TypeInfo.builder().abstractType().build()); | ||
180 | |||
181 | var sut = new TypeAnalyzer(typeInfoMap); | ||
182 | var tester = new TypeAnalyzerTester(sut); | ||
183 | var c1Result = tester.getPreservedType(c1); | ||
184 | var a1Result = tester.getPreservedType(a1); | ||
185 | |||
186 | assertThat(c1Result.merge(a1Result.asInferredType(), TruthValue.FALSE), | ||
187 | is(new InferredType(Set.of(a1), Set.of(c2, c3, c4), c3))); | ||
188 | } | ||
189 | |||
190 | @Test | ||
191 | void circularTypeHierarchyTest() { | ||
192 | var c1 = new PartialRelation("C1", 1); | ||
193 | var c2 = new PartialRelation("C2", 1); | ||
194 | var typeInfoMap = new LinkedHashMap<PartialRelation, TypeInfo>(); | ||
195 | typeInfoMap.put(c1, TypeInfo.builder().supertype(c2).build()); | ||
196 | typeInfoMap.put(c2, TypeInfo.builder().supertype(c1).build()); | ||
197 | |||
198 | assertThrows(IllegalArgumentException.class, () -> new TypeAnalyzer(typeInfoMap)); | ||
199 | } | ||
200 | } | ||
diff --git a/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTester.java b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTester.java new file mode 100644 index 00000000..56407730 --- /dev/null +++ b/subprojects/store-reasoning/src/test/java/tools/refinery/store/reasoning/translator/typehierarchy/TypeAnalyzerTester.java | |||
@@ -0,0 +1,51 @@ | |||
1 | package tools.refinery.store.reasoning.translator.typehierarchy; | ||
2 | |||
3 | import tools.refinery.store.reasoning.representation.PartialRelation; | ||
4 | |||
5 | import static org.hamcrest.MatcherAssert.assertThat; | ||
6 | import static org.hamcrest.Matchers.*; | ||
7 | import static org.hamcrest.Matchers.is; | ||
8 | |||
9 | class TypeAnalyzerTester { | ||
10 | private final TypeAnalyzer sut; | ||
11 | |||
12 | public TypeAnalyzerTester(TypeAnalyzer sut) { | ||
13 | this.sut = sut; | ||
14 | } | ||
15 | |||
16 | public void assertAbstractType(PartialRelation partialRelation, PartialRelation... directSubtypes) { | ||
17 | assertPreservedType(partialRelation, true, false, directSubtypes); | ||
18 | } | ||
19 | |||
20 | public void assertVacuousType(PartialRelation partialRelation) { | ||
21 | assertPreservedType(partialRelation, true, true); | ||
22 | } | ||
23 | |||
24 | public void assertConcreteType(PartialRelation partialRelation, PartialRelation... directSubtypes) { | ||
25 | assertPreservedType(partialRelation, false, false, directSubtypes); | ||
26 | } | ||
27 | |||
28 | private void assertPreservedType(PartialRelation partialRelation, boolean isAbstract, boolean isVacuous, | ||
29 | PartialRelation... directSubtypes) { | ||
30 | var result = sut.getAnalysisResults().get(partialRelation); | ||
31 | assertThat(result, is(instanceOf(PreservedType.class))); | ||
32 | var preservedResult = (PreservedType) result; | ||
33 | assertThat(preservedResult.isAbstractType(), is(isAbstract)); | ||
34 | assertThat(preservedResult.isVacuous(), is(isVacuous)); | ||
35 | assertThat(preservedResult.getDirectSubtypes(), hasItems(directSubtypes)); | ||
36 | } | ||
37 | |||
38 | public void assertEliminatedType(PartialRelation partialRelation, PartialRelation replacement) { | ||
39 | var result = sut.getAnalysisResults().get(partialRelation); | ||
40 | assertThat(result, is(instanceOf(EliminatedType.class))); | ||
41 | assertThat(((EliminatedType) result).replacement(), is(replacement)); | ||
42 | } | ||
43 | |||
44 | public PreservedType getPreservedType(PartialRelation partialRelation) { | ||
45 | return (PreservedType) sut.getAnalysisResults().get(partialRelation); | ||
46 | } | ||
47 | |||
48 | public InferredType getInferredType(PartialRelation partialRelation) { | ||
49 | return getPreservedType(partialRelation).asInferredType(); | ||
50 | } | ||
51 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/map/Cursors.java b/subprojects/store/src/main/java/tools/refinery/store/map/Cursors.java new file mode 100644 index 00000000..fc8e628b --- /dev/null +++ b/subprojects/store/src/main/java/tools/refinery/store/map/Cursors.java | |||
@@ -0,0 +1,36 @@ | |||
1 | package tools.refinery.store.map; | ||
2 | |||
3 | public final class Cursors { | ||
4 | private Cursors() { | ||
5 | throw new IllegalStateException("This is a static utility class and should not be instantiated directly"); | ||
6 | } | ||
7 | |||
8 | public static <K, V> Cursor<K, V> empty() { | ||
9 | return new Empty<>(); | ||
10 | } | ||
11 | |||
12 | private static class Empty<K, V> implements Cursor<K, V> { | ||
13 | private boolean terminated = false; | ||
14 | |||
15 | @Override | ||
16 | public K getKey() { | ||
17 | return null; | ||
18 | } | ||
19 | |||
20 | @Override | ||
21 | public V getValue() { | ||
22 | return null; | ||
23 | } | ||
24 | |||
25 | @Override | ||
26 | public boolean isTerminated() { | ||
27 | return terminated; | ||
28 | } | ||
29 | |||
30 | @Override | ||
31 | public boolean move() { | ||
32 | terminated = true; | ||
33 | return false; | ||
34 | } | ||
35 | } | ||
36 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretation.java b/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretation.java deleted file mode 100644 index 331fa294..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretation.java +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | package tools.refinery.store.partial; | ||
2 | |||
3 | import tools.refinery.store.adapter.ModelAdapterBuilderFactory; | ||
4 | import tools.refinery.store.model.ModelStoreBuilder; | ||
5 | import tools.refinery.store.partial.internal.PartialInterpretationBuilderImpl; | ||
6 | |||
7 | public final class PartialInterpretation extends ModelAdapterBuilderFactory<PartialInterpretationAdapter, | ||
8 | PartialInterpretationStoreAdapter, PartialInterpretationBuilder> { | ||
9 | public static final PartialInterpretation ADAPTER = new PartialInterpretation(); | ||
10 | |||
11 | private PartialInterpretation() { | ||
12 | super(PartialInterpretationAdapter.class, PartialInterpretationStoreAdapter.class, PartialInterpretationBuilder.class); | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public PartialInterpretationBuilder createBuilder(ModelStoreBuilder storeBuilder) { | ||
17 | return new PartialInterpretationBuilderImpl(storeBuilder); | ||
18 | } | ||
19 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationAdapter.java b/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationAdapter.java deleted file mode 100644 index 2c83a200..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationAdapter.java +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | package tools.refinery.store.partial; | ||
2 | |||
3 | import tools.refinery.store.adapter.ModelAdapter; | ||
4 | |||
5 | public interface PartialInterpretationAdapter extends ModelAdapter { | ||
6 | @Override | ||
7 | PartialInterpretationStoreAdapter getStoreAdapter(); | ||
8 | } | ||
9 | |||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationBuilder.java b/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationBuilder.java deleted file mode 100644 index 0ec13836..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationBuilder.java +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | package tools.refinery.store.partial; | ||
2 | |||
3 | import tools.refinery.store.adapter.ModelAdapterBuilder; | ||
4 | import tools.refinery.store.model.ModelStore; | ||
5 | |||
6 | public interface PartialInterpretationBuilder extends ModelAdapterBuilder { | ||
7 | @Override | ||
8 | PartialInterpretationStoreAdapter createStoreAdapter(ModelStore store); | ||
9 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationStoreAdapter.java b/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationStoreAdapter.java deleted file mode 100644 index d4eb770d..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/partial/PartialInterpretationStoreAdapter.java +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | package tools.refinery.store.partial; | ||
2 | |||
3 | import tools.refinery.store.adapter.ModelStoreAdapter; | ||
4 | import tools.refinery.store.model.Model; | ||
5 | |||
6 | public interface PartialInterpretationStoreAdapter extends ModelStoreAdapter { | ||
7 | @Override | ||
8 | PartialInterpretationAdapter createModelAdapter(Model model); | ||
9 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationAdapterImpl.java b/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationAdapterImpl.java deleted file mode 100644 index 4b3977c0..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationAdapterImpl.java +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | package tools.refinery.store.partial.internal; | ||
2 | |||
3 | import tools.refinery.store.model.Model; | ||
4 | import tools.refinery.store.partial.PartialInterpretationAdapter; | ||
5 | |||
6 | public class PartialInterpretationAdapterImpl implements PartialInterpretationAdapter { | ||
7 | private final Model model; | ||
8 | private final PartialInterpretationStoreAdapterImpl storeAdapter; | ||
9 | |||
10 | PartialInterpretationAdapterImpl(Model model, PartialInterpretationStoreAdapterImpl storeAdapter) { | ||
11 | this.model = model; | ||
12 | this.storeAdapter = storeAdapter; | ||
13 | } | ||
14 | |||
15 | @Override | ||
16 | public Model getModel() { | ||
17 | return model; | ||
18 | } | ||
19 | |||
20 | @Override | ||
21 | public PartialInterpretationStoreAdapterImpl getStoreAdapter() { | ||
22 | return storeAdapter; | ||
23 | } | ||
24 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationBuilderImpl.java b/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationBuilderImpl.java deleted file mode 100644 index 4609dc32..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationBuilderImpl.java +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | package tools.refinery.store.partial.internal; | ||
2 | |||
3 | import tools.refinery.store.adapter.AbstractModelAdapterBuilder; | ||
4 | import tools.refinery.store.model.ModelStore; | ||
5 | import tools.refinery.store.model.ModelStoreBuilder; | ||
6 | import tools.refinery.store.partial.PartialInterpretationBuilder; | ||
7 | |||
8 | public class PartialInterpretationBuilderImpl extends AbstractModelAdapterBuilder implements PartialInterpretationBuilder { | ||
9 | public PartialInterpretationBuilderImpl(ModelStoreBuilder storeBuilder) { | ||
10 | super(storeBuilder); | ||
11 | } | ||
12 | |||
13 | @Override | ||
14 | public PartialInterpretationStoreAdapterImpl createStoreAdapter(ModelStore store) { | ||
15 | return null; | ||
16 | } | ||
17 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationStoreAdapterImpl.java b/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationStoreAdapterImpl.java deleted file mode 100644 index 970b802b..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/partial/internal/PartialInterpretationStoreAdapterImpl.java +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | package tools.refinery.store.partial.internal; | ||
2 | |||
3 | import tools.refinery.store.model.Model; | ||
4 | import tools.refinery.store.model.ModelStore; | ||
5 | import tools.refinery.store.partial.PartialInterpretationStoreAdapter; | ||
6 | |||
7 | public class PartialInterpretationStoreAdapterImpl implements PartialInterpretationStoreAdapter { | ||
8 | private final ModelStore store; | ||
9 | |||
10 | PartialInterpretationStoreAdapterImpl(ModelStore store) { | ||
11 | this.store = store; | ||
12 | } | ||
13 | |||
14 | @Override | ||
15 | public ModelStore getStore() { | ||
16 | return store; | ||
17 | } | ||
18 | |||
19 | @Override | ||
20 | public PartialInterpretationAdapterImpl createModelAdapter(Model model) { | ||
21 | return new PartialInterpretationAdapterImpl(model, this); | ||
22 | } | ||
23 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/DNF.java b/subprojects/store/src/main/java/tools/refinery/store/query/DNF.java deleted file mode 100644 index 95c5d787..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/DNF.java +++ /dev/null | |||
@@ -1,169 +0,0 @@ | |||
1 | package tools.refinery.store.query; | ||
2 | |||
3 | import tools.refinery.store.query.atom.DNFAtom; | ||
4 | |||
5 | import java.util.*; | ||
6 | |||
7 | public final class DNF implements RelationLike { | ||
8 | private final String name; | ||
9 | |||
10 | private final String uniqueName; | ||
11 | |||
12 | private final List<Variable> parameters; | ||
13 | |||
14 | private final List<FunctionalDependency<Variable>> functionalDependencies; | ||
15 | |||
16 | private final List<DNFAnd> clauses; | ||
17 | |||
18 | private DNF(String name, List<Variable> parameters, List<FunctionalDependency<Variable>> functionalDependencies, | ||
19 | List<DNFAnd> clauses) { | ||
20 | validateFunctionalDependencies(parameters, functionalDependencies); | ||
21 | this.name = name; | ||
22 | this.uniqueName = DNFUtils.generateUniqueName(name); | ||
23 | this.parameters = parameters; | ||
24 | this.functionalDependencies = functionalDependencies; | ||
25 | this.clauses = clauses; | ||
26 | } | ||
27 | |||
28 | private static void validateFunctionalDependencies( | ||
29 | Collection<Variable> parameters, Collection<FunctionalDependency<Variable>> functionalDependencies) { | ||
30 | var parameterSet = new HashSet<>(parameters); | ||
31 | for (var functionalDependency : functionalDependencies) { | ||
32 | validateParameters(parameters, parameterSet, functionalDependency.forEach(), functionalDependency); | ||
33 | validateParameters(parameters, parameterSet, functionalDependency.unique(), functionalDependency); | ||
34 | } | ||
35 | } | ||
36 | |||
37 | private static void validateParameters(Collection<Variable> parameters, Set<Variable> parameterSet, | ||
38 | Collection<Variable> toValidate, | ||
39 | FunctionalDependency<Variable> functionalDependency) { | ||
40 | for (var variable : toValidate) { | ||
41 | if (!parameterSet.contains(variable)) { | ||
42 | throw new IllegalArgumentException( | ||
43 | "Variable %s of functional dependency %s does not appear in the parameter list %s" | ||
44 | .formatted(variable, functionalDependency, parameters)); | ||
45 | } | ||
46 | } | ||
47 | } | ||
48 | |||
49 | @Override | ||
50 | public String name() { | ||
51 | return name; | ||
52 | } | ||
53 | |||
54 | public String getUniqueName() { | ||
55 | return uniqueName; | ||
56 | } | ||
57 | |||
58 | public List<Variable> getParameters() { | ||
59 | return parameters; | ||
60 | } | ||
61 | |||
62 | public List<FunctionalDependency<Variable>> getFunctionalDependencies() { | ||
63 | return functionalDependencies; | ||
64 | } | ||
65 | |||
66 | @Override | ||
67 | public int arity() { | ||
68 | return parameters.size(); | ||
69 | } | ||
70 | |||
71 | public List<DNFAnd> getClauses() { | ||
72 | return clauses; | ||
73 | } | ||
74 | |||
75 | public static Builder builder() { | ||
76 | return builder(null); | ||
77 | } | ||
78 | |||
79 | public static Builder builder(String name) { | ||
80 | return new Builder(name); | ||
81 | } | ||
82 | |||
83 | @SuppressWarnings("UnusedReturnValue") | ||
84 | public static class Builder { | ||
85 | private final String name; | ||
86 | |||
87 | private final List<Variable> parameters = new ArrayList<>(); | ||
88 | |||
89 | private final List<FunctionalDependency<Variable>> functionalDependencies = new ArrayList<>(); | ||
90 | |||
91 | private final List<List<DNFAtom>> clauses = new ArrayList<>(); | ||
92 | |||
93 | private Builder(String name) { | ||
94 | this.name = name; | ||
95 | } | ||
96 | |||
97 | public Builder parameter(Variable variable) { | ||
98 | parameters.add(variable); | ||
99 | return this; | ||
100 | } | ||
101 | |||
102 | public Builder parameters(Variable... variables) { | ||
103 | return parameters(List.of(variables)); | ||
104 | } | ||
105 | |||
106 | public Builder parameters(Collection<Variable> variables) { | ||
107 | parameters.addAll(variables); | ||
108 | return this; | ||
109 | } | ||
110 | |||
111 | public Builder functionalDependencies(Collection<FunctionalDependency<Variable>> functionalDependencies) { | ||
112 | this.functionalDependencies.addAll(functionalDependencies); | ||
113 | return this; | ||
114 | } | ||
115 | |||
116 | public Builder functionalDependency(FunctionalDependency<Variable> functionalDependency) { | ||
117 | functionalDependencies.add(functionalDependency); | ||
118 | return this; | ||
119 | } | ||
120 | |||
121 | public Builder functionalDependency(Set<Variable> forEach, Set<Variable> unique) { | ||
122 | return functionalDependency(new FunctionalDependency<>(forEach, unique)); | ||
123 | } | ||
124 | |||
125 | public Builder clause(DNFAtom... atoms) { | ||
126 | clauses.add(List.of(atoms)); | ||
127 | return this; | ||
128 | } | ||
129 | |||
130 | public Builder clause(Collection<DNFAtom> atoms) { | ||
131 | clauses.add(List.copyOf(atoms)); | ||
132 | return this; | ||
133 | } | ||
134 | |||
135 | public Builder clause(DNFAnd clause) { | ||
136 | return clause(clause.constraints()); | ||
137 | } | ||
138 | |||
139 | public Builder clauses(DNFAnd... clauses) { | ||
140 | for (var clause : clauses) { | ||
141 | this.clause(clause); | ||
142 | } | ||
143 | return this; | ||
144 | } | ||
145 | |||
146 | public Builder clauses(Collection<DNFAnd> clauses) { | ||
147 | for (var clause : clauses) { | ||
148 | this.clause(clause); | ||
149 | } | ||
150 | return this; | ||
151 | } | ||
152 | |||
153 | public DNF build() { | ||
154 | var postProcessedClauses = new ArrayList<DNFAnd>(); | ||
155 | for (var constraints : clauses) { | ||
156 | var variables = new HashSet<Variable>(); | ||
157 | for (var constraint : constraints) { | ||
158 | constraint.collectAllVariables(variables); | ||
159 | } | ||
160 | parameters.forEach(variables::remove); | ||
161 | postProcessedClauses.add(new DNFAnd(Collections.unmodifiableSet(variables), | ||
162 | Collections.unmodifiableList(constraints))); | ||
163 | } | ||
164 | return new DNF(name, Collections.unmodifiableList(parameters), | ||
165 | Collections.unmodifiableList(functionalDependencies), | ||
166 | Collections.unmodifiableList(postProcessedClauses)); | ||
167 | } | ||
168 | } | ||
169 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/DNFAnd.java b/subprojects/store/src/main/java/tools/refinery/store/query/DNFAnd.java deleted file mode 100644 index 8c3bf05d..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/DNFAnd.java +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | package tools.refinery.store.query; | ||
2 | |||
3 | import tools.refinery.store.query.atom.DNFAtom; | ||
4 | |||
5 | import java.util.List; | ||
6 | import java.util.Set; | ||
7 | |||
8 | public record DNFAnd(Set<Variable> quantifiedVariables, List<DNFAtom> constraints) { | ||
9 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/RelationLike.java b/subprojects/store/src/main/java/tools/refinery/store/query/RelationLike.java deleted file mode 100644 index 8c784d8b..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/RelationLike.java +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | package tools.refinery.store.query; | ||
2 | |||
3 | public interface RelationLike { | ||
4 | String name(); | ||
5 | |||
6 | int arity(); | ||
7 | |||
8 | default boolean invalidIndex(int i) { | ||
9 | return i < 0 || i >= arity(); | ||
10 | } | ||
11 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/ResultSet.java b/subprojects/store/src/main/java/tools/refinery/store/query/ResultSet.java deleted file mode 100644 index 3542e252..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/ResultSet.java +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | package tools.refinery.store.query; | ||
2 | |||
3 | import tools.refinery.store.tuple.Tuple; | ||
4 | import tools.refinery.store.tuple.TupleLike; | ||
5 | |||
6 | import java.util.Optional; | ||
7 | import java.util.stream.Stream; | ||
8 | |||
9 | public interface ResultSet { | ||
10 | boolean hasResult(); | ||
11 | |||
12 | boolean hasResult(Tuple parameters); | ||
13 | |||
14 | Optional<TupleLike> oneResult(); | ||
15 | |||
16 | Optional<TupleLike> oneResult(Tuple parameters); | ||
17 | |||
18 | Stream<TupleLike> allResults(); | ||
19 | |||
20 | Stream<TupleLike> allResults(Tuple parameters); | ||
21 | |||
22 | int countResults(); | ||
23 | |||
24 | int countResults(Tuple parameters); | ||
25 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/Variable.java b/subprojects/store/src/main/java/tools/refinery/store/query/Variable.java deleted file mode 100644 index 3632f3c5..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/Variable.java +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | package tools.refinery.store.query; | ||
2 | |||
3 | import java.util.Objects; | ||
4 | |||
5 | public class Variable { | ||
6 | private final String name; | ||
7 | private final String uniqueName; | ||
8 | |||
9 | public Variable() { | ||
10 | this(null); | ||
11 | } | ||
12 | |||
13 | public Variable(String name) { | ||
14 | super(); | ||
15 | this.name = name; | ||
16 | this.uniqueName = DNFUtils.generateUniqueName(name); | ||
17 | |||
18 | } | ||
19 | public String getName() { | ||
20 | return name; | ||
21 | } | ||
22 | |||
23 | public String getUniqueName() { | ||
24 | return uniqueName; | ||
25 | } | ||
26 | |||
27 | public boolean isNamed() { | ||
28 | return name != null; | ||
29 | } | ||
30 | |||
31 | @Override | ||
32 | public boolean equals(Object o) { | ||
33 | if (this == o) return true; | ||
34 | if (o == null || getClass() != o.getClass()) return false; | ||
35 | Variable variable = (Variable) o; | ||
36 | return Objects.equals(uniqueName, variable.uniqueName); | ||
37 | } | ||
38 | |||
39 | @Override | ||
40 | public int hashCode() { | ||
41 | return Objects.hash(uniqueName); | ||
42 | } | ||
43 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallAtom.java deleted file mode 100644 index 47121870..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/CallAtom.java +++ /dev/null | |||
@@ -1,80 +0,0 @@ | |||
1 | package tools.refinery.store.query.atom; | ||
2 | |||
3 | import tools.refinery.store.query.Variable; | ||
4 | import tools.refinery.store.query.RelationLike; | ||
5 | |||
6 | import java.util.List; | ||
7 | import java.util.Objects; | ||
8 | import java.util.Set; | ||
9 | |||
10 | public abstract class CallAtom<T extends RelationLike> implements DNFAtom { | ||
11 | private final CallPolarity polarity; | ||
12 | private final T target; | ||
13 | private final List<Variable> substitution; | ||
14 | |||
15 | protected CallAtom(CallPolarity polarity, T target, List<Variable> substitution) { | ||
16 | if (substitution.size() != target.arity()) { | ||
17 | throw new IllegalArgumentException("%s needs %d arguments, but got %s".formatted(target.name(), | ||
18 | target.arity(), substitution.size())); | ||
19 | } | ||
20 | if (polarity.isTransitive() && target.arity() != 2) { | ||
21 | throw new IllegalArgumentException("Transitive closures can only take binary relations"); | ||
22 | } | ||
23 | this.polarity = polarity; | ||
24 | this.target = target; | ||
25 | this.substitution = substitution; | ||
26 | } | ||
27 | |||
28 | protected CallAtom(CallPolarity polarity, T target, Variable... substitution) { | ||
29 | this(polarity, target, List.of(substitution)); | ||
30 | } | ||
31 | |||
32 | protected CallAtom(boolean positive, T target, List<Variable> substitution) { | ||
33 | this(CallPolarity.fromBoolean(positive), target, substitution); | ||
34 | } | ||
35 | |||
36 | protected CallAtom(boolean positive, T target, Variable... substitution) { | ||
37 | this(positive, target, List.of(substitution)); | ||
38 | } | ||
39 | |||
40 | protected CallAtom(T target, List<Variable> substitution) { | ||
41 | this(true, target, substitution); | ||
42 | } | ||
43 | |||
44 | protected CallAtom(T target, Variable... substitution) { | ||
45 | this(target, List.of(substitution)); | ||
46 | } | ||
47 | |||
48 | public CallPolarity getPolarity() { | ||
49 | return polarity; | ||
50 | } | ||
51 | |||
52 | public T getTarget() { | ||
53 | return target; | ||
54 | } | ||
55 | |||
56 | public List<Variable> getSubstitution() { | ||
57 | return substitution; | ||
58 | } | ||
59 | |||
60 | @Override | ||
61 | public void collectAllVariables(Set<Variable> variables) { | ||
62 | if (polarity.isPositive()) { | ||
63 | variables.addAll(substitution); | ||
64 | } | ||
65 | } | ||
66 | |||
67 | @Override | ||
68 | public boolean equals(Object o) { | ||
69 | if (this == o) return true; | ||
70 | if (o == null || getClass() != o.getClass()) return false; | ||
71 | CallAtom<?> callAtom = (CallAtom<?>) o; | ||
72 | return polarity == callAtom.polarity && Objects.equals(target, callAtom.target) && Objects.equals(substitution | ||
73 | , callAtom.substitution); | ||
74 | } | ||
75 | |||
76 | @Override | ||
77 | public int hashCode() { | ||
78 | return Objects.hash(polarity, target, substitution); | ||
79 | } | ||
80 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/ConstantAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/ConstantAtom.java deleted file mode 100644 index 13dae7d0..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/ConstantAtom.java +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | package tools.refinery.store.query.atom; | ||
2 | |||
3 | import tools.refinery.store.query.Variable; | ||
4 | |||
5 | import java.util.Set; | ||
6 | |||
7 | public record ConstantAtom(Variable variable, int nodeId) implements DNFAtom { | ||
8 | @Override | ||
9 | public void collectAllVariables(Set<Variable> variables) { | ||
10 | variables.add(variable); | ||
11 | } | ||
12 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFAtom.java deleted file mode 100644 index ebf71236..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFAtom.java +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | package tools.refinery.store.query.atom; | ||
2 | |||
3 | import tools.refinery.store.query.Variable; | ||
4 | |||
5 | import java.util.Set; | ||
6 | |||
7 | public interface DNFAtom { | ||
8 | void collectAllVariables(Set<Variable> variables); | ||
9 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFCallAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFCallAtom.java deleted file mode 100644 index 3b4f5cd1..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/DNFCallAtom.java +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | package tools.refinery.store.query.atom; | ||
2 | |||
3 | import tools.refinery.store.query.DNF; | ||
4 | import tools.refinery.store.query.Variable; | ||
5 | |||
6 | import java.util.List; | ||
7 | |||
8 | public class DNFCallAtom extends CallAtom<DNF> { | ||
9 | public DNFCallAtom(CallPolarity polarity, DNF target, List<Variable> substitution) { | ||
10 | super(polarity, target, substitution); | ||
11 | } | ||
12 | |||
13 | public DNFCallAtom(CallPolarity polarity, DNF target, Variable... substitution) { | ||
14 | super(polarity, target, substitution); | ||
15 | } | ||
16 | |||
17 | public DNFCallAtom(boolean positive, DNF target, List<Variable> substitution) { | ||
18 | super(positive, target, substitution); | ||
19 | } | ||
20 | |||
21 | public DNFCallAtom(boolean positive, DNF target, Variable... substitution) { | ||
22 | super(positive, target, substitution); | ||
23 | } | ||
24 | |||
25 | public DNFCallAtom(DNF target, List<Variable> substitution) { | ||
26 | super(target, substitution); | ||
27 | } | ||
28 | |||
29 | public DNFCallAtom(DNF target, Variable... substitution) { | ||
30 | super(target, substitution); | ||
31 | } | ||
32 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/EquivalenceAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/EquivalenceAtom.java deleted file mode 100644 index b1b3a6f7..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/EquivalenceAtom.java +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | package tools.refinery.store.query.atom; | ||
2 | |||
3 | import tools.refinery.store.query.Variable; | ||
4 | |||
5 | import java.util.Set; | ||
6 | |||
7 | public record EquivalenceAtom(boolean positive, Variable left, Variable right) implements DNFAtom { | ||
8 | public EquivalenceAtom(Variable left, Variable right) { | ||
9 | this(true, left, right); | ||
10 | } | ||
11 | |||
12 | @Override | ||
13 | public void collectAllVariables(Set<Variable> variables) { | ||
14 | variables.add(left); | ||
15 | variables.add(right); | ||
16 | } | ||
17 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/query/atom/RelationViewAtom.java b/subprojects/store/src/main/java/tools/refinery/store/query/atom/RelationViewAtom.java deleted file mode 100644 index a2b176c4..00000000 --- a/subprojects/store/src/main/java/tools/refinery/store/query/atom/RelationViewAtom.java +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | package tools.refinery.store.query.atom; | ||
2 | |||
3 | import tools.refinery.store.query.Variable; | ||
4 | import tools.refinery.store.query.view.AnyRelationView; | ||
5 | |||
6 | import java.util.List; | ||
7 | |||
8 | public final class RelationViewAtom extends CallAtom<AnyRelationView> { | ||
9 | public RelationViewAtom(CallPolarity polarity, AnyRelationView target, List<Variable> substitution) { | ||
10 | super(polarity, target, substitution); | ||
11 | } | ||
12 | |||
13 | public RelationViewAtom(CallPolarity polarity, AnyRelationView target, Variable... substitution) { | ||
14 | super(polarity, target, substitution); | ||
15 | } | ||
16 | |||
17 | public RelationViewAtom(boolean positive, AnyRelationView target, List<Variable> substitution) { | ||
18 | super(positive, target, substitution); | ||
19 | } | ||
20 | |||
21 | public RelationViewAtom(boolean positive, AnyRelationView target, Variable... substitution) { | ||
22 | super(positive, target, substitution); | ||
23 | } | ||
24 | |||
25 | public RelationViewAtom(AnyRelationView target, List<Variable> substitution) { | ||
26 | super(target, substitution); | ||
27 | } | ||
28 | |||
29 | public RelationViewAtom(AnyRelationView target, Variable... substitution) { | ||
30 | super(target, substitution); | ||
31 | } | ||
32 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/representation/AbstractDomain.java b/subprojects/store/src/main/java/tools/refinery/store/representation/AbstractDomain.java new file mode 100644 index 00000000..18903ead --- /dev/null +++ b/subprojects/store/src/main/java/tools/refinery/store/representation/AbstractDomain.java | |||
@@ -0,0 +1,29 @@ | |||
1 | package tools.refinery.store.representation; | ||
2 | |||
3 | import java.util.Optional; | ||
4 | |||
5 | public non-sealed interface AbstractDomain<A, C> extends AnyAbstractDomain { | ||
6 | @Override | ||
7 | Class<A> abstractType(); | ||
8 | |||
9 | @Override | ||
10 | Class<C> concreteType(); | ||
11 | |||
12 | A toAbstract(C concreteValue); | ||
13 | |||
14 | Optional<C> toConcrete(A abstractValue); | ||
15 | |||
16 | default boolean isConcrete(A abstractValue) { | ||
17 | return toConcrete(abstractValue).isPresent(); | ||
18 | } | ||
19 | |||
20 | boolean isRefinement(A originalValue, A refinedValue); | ||
21 | |||
22 | A commonRefinement(A leftValue, A rightValue); | ||
23 | |||
24 | A commonAncestor(A leftValue, A rightValue); | ||
25 | |||
26 | A unknown(); | ||
27 | |||
28 | boolean isError(A abstractValue); | ||
29 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/representation/AnyAbstractDomain.java b/subprojects/store/src/main/java/tools/refinery/store/representation/AnyAbstractDomain.java new file mode 100644 index 00000000..4c428a1e --- /dev/null +++ b/subprojects/store/src/main/java/tools/refinery/store/representation/AnyAbstractDomain.java | |||
@@ -0,0 +1,7 @@ | |||
1 | package tools.refinery.store.representation; | ||
2 | |||
3 | public sealed interface AnyAbstractDomain permits AbstractDomain { | ||
4 | Class<?> abstractType(); | ||
5 | |||
6 | Class<?> concreteType(); | ||
7 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/representation/Symbol.java b/subprojects/store/src/main/java/tools/refinery/store/representation/Symbol.java index 85ea15f4..30b1c03f 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/representation/Symbol.java +++ b/subprojects/store/src/main/java/tools/refinery/store/representation/Symbol.java | |||
@@ -1,12 +1,6 @@ | |||
1 | package tools.refinery.store.representation; | 1 | package tools.refinery.store.representation; |
2 | 2 | ||
3 | import java.util.Objects; | ||
4 | |||
5 | public record Symbol<T>(String name, int arity, Class<T> valueType, T defaultValue) implements AnySymbol { | 3 | public record Symbol<T>(String name, int arity, Class<T> valueType, T defaultValue) implements AnySymbol { |
6 | public boolean isDefaultValue(T value) { | ||
7 | return Objects.equals(defaultValue, value); | ||
8 | } | ||
9 | |||
10 | @Override | 4 | @Override |
11 | public boolean equals(Object o) { | 5 | public boolean equals(Object o) { |
12 | return this == o; | 6 | return this == o; |
diff --git a/subprojects/store/src/main/java/tools/refinery/store/representation/TruthValueDomain.java b/subprojects/store/src/main/java/tools/refinery/store/representation/TruthValueDomain.java new file mode 100644 index 00000000..29858bce --- /dev/null +++ b/subprojects/store/src/main/java/tools/refinery/store/representation/TruthValueDomain.java | |||
@@ -0,0 +1,60 @@ | |||
1 | package tools.refinery.store.representation; | ||
2 | |||
3 | import java.util.Optional; | ||
4 | |||
5 | public final class TruthValueDomain implements AbstractDomain<TruthValue, Boolean> { | ||
6 | public static final TruthValueDomain INSTANCE = new TruthValueDomain(); | ||
7 | |||
8 | private TruthValueDomain() { | ||
9 | } | ||
10 | |||
11 | @Override | ||
12 | public Class<TruthValue> abstractType() { | ||
13 | return null; | ||
14 | } | ||
15 | |||
16 | @Override | ||
17 | public Class<Boolean> concreteType() { | ||
18 | return null; | ||
19 | } | ||
20 | |||
21 | @Override | ||
22 | public TruthValue toAbstract(Boolean concreteValue) { | ||
23 | return null; | ||
24 | } | ||
25 | |||
26 | @Override | ||
27 | public Optional<Boolean> toConcrete(TruthValue abstractValue) { | ||
28 | return Optional.empty(); | ||
29 | } | ||
30 | |||
31 | @Override | ||
32 | public boolean isConcrete(TruthValue abstractValue) { | ||
33 | return AbstractDomain.super.isConcrete(abstractValue); | ||
34 | } | ||
35 | |||
36 | @Override | ||
37 | public boolean isRefinement(TruthValue originalValue, TruthValue refinedValue) { | ||
38 | return false; | ||
39 | } | ||
40 | |||
41 | @Override | ||
42 | public TruthValue commonRefinement(TruthValue leftValue, TruthValue rightValue) { | ||
43 | return null; | ||
44 | } | ||
45 | |||
46 | @Override | ||
47 | public TruthValue commonAncestor(TruthValue leftValue, TruthValue rightValue) { | ||
48 | return null; | ||
49 | } | ||
50 | |||
51 | @Override | ||
52 | public TruthValue unknown() { | ||
53 | return null; | ||
54 | } | ||
55 | |||
56 | @Override | ||
57 | public boolean isError(TruthValue abstractValue) { | ||
58 | return false; | ||
59 | } | ||
60 | } | ||
diff --git a/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleLike.java b/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleLike.java index 470ca298..953ea9f8 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleLike.java +++ b/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleLike.java | |||
@@ -1,5 +1,8 @@ | |||
1 | package tools.refinery.store.tuple; | 1 | package tools.refinery.store.tuple; |
2 | 2 | ||
3 | import java.util.stream.Collectors; | ||
4 | import java.util.stream.IntStream; | ||
5 | |||
3 | public interface TupleLike { | 6 | public interface TupleLike { |
4 | int getSize(); | 7 | int getSize(); |
5 | 8 | ||
@@ -22,4 +25,11 @@ public interface TupleLike { | |||
22 | default -> Tuple.of(toArray()); | 25 | default -> Tuple.of(toArray()); |
23 | }; | 26 | }; |
24 | } | 27 | } |
28 | |||
29 | static String toString(TupleLike tuple) { | ||
30 | var valuesString = IntStream.range(0, tuple.getSize()) | ||
31 | .mapToObj(i -> Integer.toString(tuple.get(i))) | ||
32 | .collect(Collectors.joining(", ")); | ||
33 | return "[" + valuesString + "]"; | ||
34 | } | ||
25 | } | 35 | } |
diff --git a/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleN.java b/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleN.java index 15fd063b..c3aed847 100644 --- a/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleN.java +++ b/subprojects/store/src/main/java/tools/refinery/store/tuple/TupleN.java | |||
@@ -1,7 +1,6 @@ | |||
1 | package tools.refinery.store.tuple; | 1 | package tools.refinery.store.tuple; |
2 | 2 | ||
3 | import java.util.Arrays; | 3 | import java.util.Arrays; |
4 | import java.util.stream.Collectors; | ||
5 | 4 | ||
6 | public record TupleN(int[] values) implements Tuple { | 5 | public record TupleN(int[] values) implements Tuple { |
7 | static final int CUSTOM_TUPLE_SIZE = 2; | 6 | static final int CUSTOM_TUPLE_SIZE = 2; |
@@ -29,8 +28,7 @@ public record TupleN(int[] values) implements Tuple { | |||
29 | 28 | ||
30 | @Override | 29 | @Override |
31 | public String toString() { | 30 | public String toString() { |
32 | var valuesString = Arrays.stream(values).mapToObj(Integer::toString).collect(Collectors.joining(", ")); | 31 | return TupleLike.toString(this); |
33 | return "[" + valuesString + "]"; | ||
34 | } | 32 | } |
35 | 33 | ||
36 | @Override | 34 | @Override |
diff --git a/subprojects/store/src/main/java/tools/refinery/store/util/CycleDetectingMapper.java b/subprojects/store/src/main/java/tools/refinery/store/util/CycleDetectingMapper.java new file mode 100644 index 00000000..8a151d01 --- /dev/null +++ b/subprojects/store/src/main/java/tools/refinery/store/util/CycleDetectingMapper.java | |||
@@ -0,0 +1,52 @@ | |||
1 | package tools.refinery.store.util; | ||
2 | |||
3 | import java.util.*; | ||
4 | import java.util.function.Function; | ||
5 | import java.util.stream.Collectors; | ||
6 | |||
7 | public class CycleDetectingMapper<T, R> { | ||
8 | private static final String SEPARATOR = " -> "; | ||
9 | |||
10 | private final Function<T, String> getName; | ||
11 | |||
12 | private final Function<T, R> doMap; | ||
13 | |||
14 | private final Set<T> inProgress = new LinkedHashSet<>(); | ||
15 | |||
16 | private final Map<T, R> results = new HashMap<>(); | ||
17 | |||
18 | public CycleDetectingMapper(Function<T, String> getName, Function<T, R> doMap) { | ||
19 | this.getName = getName; | ||
20 | this.doMap = doMap; | ||
21 | } | ||
22 | |||
23 | public R map(T input) { | ||
24 | if (inProgress.contains(input)) { | ||
25 | var path = inProgress.stream().map(getName).collect(Collectors.joining(SEPARATOR)); | ||
26 | throw new IllegalArgumentException("Circular reference %s%s%s detected".formatted(path, SEPARATOR, | ||
27 | getName.apply(input))); | ||
28 | } | ||
29 | // We can't use computeIfAbsent here, because translating referenced queries calls this method in a reentrant | ||
30 | // way, which would cause a ConcurrentModificationException with computeIfAbsent. | ||
31 | @SuppressWarnings("squid:S3824") | ||
32 | var result = results.get(input); | ||
33 | if (result == null) { | ||
34 | inProgress.add(input); | ||
35 | try { | ||
36 | result = doMap.apply(input); | ||
37 | results.put(input, result); | ||
38 | } finally { | ||
39 | inProgress.remove(input); | ||
40 | } | ||
41 | } | ||
42 | return result; | ||
43 | } | ||
44 | |||
45 | public List<T> getInProgress() { | ||
46 | return List.copyOf(inProgress); | ||
47 | } | ||
48 | |||
49 | public R getAlreadyMapped(T input) { | ||
50 | return results.get(input); | ||
51 | } | ||
52 | } | ||
diff --git a/subprojects/store/src/test/java/tools/refinery/store/model/tests/ModelTest.java b/subprojects/store/src/test/java/tools/refinery/store/model/tests/ModelTest.java index 371b5e47..9536a444 100644 --- a/subprojects/store/src/test/java/tools/refinery/store/model/tests/ModelTest.java +++ b/subprojects/store/src/test/java/tools/refinery/store/model/tests/ModelTest.java | |||
@@ -49,7 +49,7 @@ class ModelTest { | |||
49 | 49 | ||
50 | assertEquals(3, ageInterpretation.get(Tuple.of(0))); | 50 | assertEquals(3, ageInterpretation.get(Tuple.of(0))); |
51 | assertEquals(1, ageInterpretation.get(Tuple.of(1))); | 51 | assertEquals(1, ageInterpretation.get(Tuple.of(1))); |
52 | assertNull(ageInterpretation.get( Tuple.of(2))); | 52 | assertNull(ageInterpretation.get(Tuple.of(2))); |
53 | 53 | ||
54 | assertTrue(friendInterpretation.get(Tuple.of(0, 1))); | 54 | assertTrue(friendInterpretation.get(Tuple.of(0, 1))); |
55 | assertFalse(friendInterpretation.get(Tuple.of(0, 5))); | 55 | assertFalse(friendInterpretation.get(Tuple.of(0, 5))); |
@@ -140,9 +140,9 @@ __metadata: | |||
140 | languageName: node | 140 | languageName: node |
141 | linkType: hard | 141 | linkType: hard |
142 | 142 | ||
143 | "@babel/helper-define-polyfill-provider@npm:^0.3.2": | 143 | "@babel/helper-define-polyfill-provider@npm:^0.3.2, @babel/helper-define-polyfill-provider@npm:^0.3.3": |
144 | version: 0.3.2 | 144 | version: 0.3.3 |
145 | resolution: "@babel/helper-define-polyfill-provider@npm:0.3.2" | 145 | resolution: "@babel/helper-define-polyfill-provider@npm:0.3.3" |
146 | dependencies: | 146 | dependencies: |
147 | "@babel/helper-compilation-targets": "npm:^7.17.7" | 147 | "@babel/helper-compilation-targets": "npm:^7.17.7" |
148 | "@babel/helper-plugin-utils": "npm:^7.16.7" | 148 | "@babel/helper-plugin-utils": "npm:^7.16.7" |
@@ -152,7 +152,7 @@ __metadata: | |||
152 | semver: "npm:^6.1.2" | 152 | semver: "npm:^6.1.2" |
153 | peerDependencies: | 153 | peerDependencies: |
154 | "@babel/core": ^7.4.0-0 | 154 | "@babel/core": ^7.4.0-0 |
155 | checksum: ceebf63084b4e975bd121eff699c632820c9645c2fac36fb61f2ea456bbfe1c6e836dac8ebda54f3f8d9270a402ea400a1c53c20bc9e7f9d17aeef445576672b | 155 | checksum: 2991b9b87f6c3248c343a394c0bb09c14a6f9b5b1c22cd2e51b6127f79d08fb6ea5d65e889b2331466f154e9d407e47b891de2eab2a6dafa4c62b3c59ff1720c |
156 | languageName: node | 156 | languageName: node |
157 | linkType: hard | 157 | linkType: hard |
158 | 158 | ||
@@ -649,17 +649,6 @@ __metadata: | |||
649 | languageName: node | 649 | languageName: node |
650 | linkType: hard | 650 | linkType: hard |
651 | 651 | ||
652 | "@babel/plugin-syntax-jsx@npm:^7.17.12": | ||
653 | version: 7.18.6 | ||
654 | resolution: "@babel/plugin-syntax-jsx@npm:7.18.6" | ||
655 | dependencies: | ||
656 | "@babel/helper-plugin-utils": "npm:^7.18.6" | ||
657 | peerDependencies: | ||
658 | "@babel/core": ^7.0.0-0 | ||
659 | checksum: 93aa8b4803ade912560529ffebed69cf29617f5025fdd39eeea3b2c60fa16f7120dee3e310931fd8faf14e2bd0bc5227210efea987bd393e61dcb4287d9aac8b | ||
660 | languageName: node | ||
661 | linkType: hard | ||
662 | |||
663 | "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": | 652 | "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": |
664 | version: 7.10.4 | 653 | version: 7.10.4 |
665 | resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" | 654 | resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" |
@@ -1228,12 +1217,19 @@ __metadata: | |||
1228 | languageName: node | 1217 | languageName: node |
1229 | linkType: hard | 1218 | linkType: hard |
1230 | 1219 | ||
1231 | "@babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7": | 1220 | "@babel/regjsgen@npm:^0.8.0": |
1232 | version: 7.20.7 | 1221 | version: 0.8.0 |
1233 | resolution: "@babel/runtime@npm:7.20.7" | 1222 | resolution: "@babel/regjsgen@npm:0.8.0" |
1223 | checksum: 26a6ef60f1d4b392fc81dd0dbfae4e0fb08c21c8556f16735f02d07ebc89de349ddae48d804b1fe0a450b62eaa119db584c639ae11c3e5a95ccee4e88e88ea7b | ||
1224 | languageName: node | ||
1225 | linkType: hard | ||
1226 | |||
1227 | "@babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7": | ||
1228 | version: 7.21.0 | ||
1229 | resolution: "@babel/runtime@npm:7.21.0" | ||
1234 | dependencies: | 1230 | dependencies: |
1235 | regenerator-runtime: "npm:^0.13.11" | 1231 | regenerator-runtime: "npm:^0.13.11" |
1236 | checksum: b22b904439569fa3b28627fc398d9bb9619f14bc9165cdf63ab5fa248660a10104ae81514607cbe55e4e26fe0d4048a89263f47f1f3da1e37f8e670b95acf244 | 1232 | checksum: adff473f615f797cffbd64d6839a5e3816e6e7942a6c9bfc23369e6d89a18c92eda974e2f538540a0ce543c28e3d637c59a0a8c391cee978e0b7dc31b606ef08 |
1237 | languageName: node | 1233 | languageName: node |
1238 | linkType: hard | 1234 | linkType: hard |
1239 | 1235 | ||
@@ -1277,9 +1273,9 @@ __metadata: | |||
1277 | languageName: node | 1273 | languageName: node |
1278 | linkType: hard | 1274 | linkType: hard |
1279 | 1275 | ||
1280 | "@codemirror/autocomplete@npm:^6.4.0": | 1276 | "@codemirror/autocomplete@npm:^6.4.2": |
1281 | version: 6.4.0 | 1277 | version: 6.4.2 |
1282 | resolution: "@codemirror/autocomplete@npm:6.4.0" | 1278 | resolution: "@codemirror/autocomplete@npm:6.4.2" |
1283 | dependencies: | 1279 | dependencies: |
1284 | "@codemirror/language": "npm:^6.0.0" | 1280 | "@codemirror/language": "npm:^6.0.0" |
1285 | "@codemirror/state": "npm:^6.0.0" | 1281 | "@codemirror/state": "npm:^6.0.0" |
@@ -1290,25 +1286,25 @@ __metadata: | |||
1290 | "@codemirror/state": ^6.0.0 | 1286 | "@codemirror/state": ^6.0.0 |
1291 | "@codemirror/view": ^6.0.0 | 1287 | "@codemirror/view": ^6.0.0 |
1292 | "@lezer/common": ^1.0.0 | 1288 | "@lezer/common": ^1.0.0 |
1293 | checksum: 71c2e3911063937e6b99cbf5932006a8b06f2bf3712431e97b80d1cd4bbd1cd91db6b2b31efd07b1e59cf284d95cd991175f6ce33d4eace23c4a5e750d0eec57 | 1289 | checksum: d87cb8f208a1c11877522caf93cc6528aff156d52c0ca43833c7789017fe9664c91c39790d4217e9c6ac822b3b523319ccd971ca951b389edd07d526ce70ef02 |
1294 | languageName: node | 1290 | languageName: node |
1295 | linkType: hard | 1291 | linkType: hard |
1296 | 1292 | ||
1297 | "@codemirror/commands@npm:^6.2.0": | 1293 | "@codemirror/commands@npm:^6.2.2": |
1298 | version: 6.2.0 | 1294 | version: 6.2.2 |
1299 | resolution: "@codemirror/commands@npm:6.2.0" | 1295 | resolution: "@codemirror/commands@npm:6.2.2" |
1300 | dependencies: | 1296 | dependencies: |
1301 | "@codemirror/language": "npm:^6.0.0" | 1297 | "@codemirror/language": "npm:^6.0.0" |
1302 | "@codemirror/state": "npm:^6.2.0" | 1298 | "@codemirror/state": "npm:^6.2.0" |
1303 | "@codemirror/view": "npm:^6.0.0" | 1299 | "@codemirror/view": "npm:^6.0.0" |
1304 | "@lezer/common": "npm:^1.0.0" | 1300 | "@lezer/common": "npm:^1.0.0" |
1305 | checksum: 8acb4a0cc0276a5370770378a38952c079a730c80310ccd08a0c51223af9de1955fecff107cbce3df18850ab4dcc7427fcefd734e99cae8e36a0d6242b52f01f | 1301 | checksum: 079e661a0c9ac6eabb0a390ce643af29a35d9a5eeda512b392185d94f36f2493f46889b0e20d156cae6addf8e22746dbc14fcf2f87e151f15ec9995a96c42337 |
1306 | languageName: node | 1302 | languageName: node |
1307 | linkType: hard | 1303 | linkType: hard |
1308 | 1304 | ||
1309 | "@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.4.0": | 1305 | "@codemirror/language@npm:^6.0.0, @codemirror/language@npm:^6.6.0": |
1310 | version: 6.4.0 | 1306 | version: 6.6.0 |
1311 | resolution: "@codemirror/language@npm:6.4.0" | 1307 | resolution: "@codemirror/language@npm:6.6.0" |
1312 | dependencies: | 1308 | dependencies: |
1313 | "@codemirror/state": "npm:^6.0.0" | 1309 | "@codemirror/state": "npm:^6.0.0" |
1314 | "@codemirror/view": "npm:^6.0.0" | 1310 | "@codemirror/view": "npm:^6.0.0" |
@@ -1316,29 +1312,29 @@ __metadata: | |||
1316 | "@lezer/highlight": "npm:^1.0.0" | 1312 | "@lezer/highlight": "npm:^1.0.0" |
1317 | "@lezer/lr": "npm:^1.0.0" | 1313 | "@lezer/lr": "npm:^1.0.0" |
1318 | style-mod: "npm:^4.0.0" | 1314 | style-mod: "npm:^4.0.0" |
1319 | checksum: 3840114395e07837e72396110d3e44e01767fd682f215891a46a843700cad2513ae966c384477860f5de48439a25e545f5481959beb763b1a627ad4aab1c7de0 | 1315 | checksum: f0186b896733a44342c139ee7edd8be91192bb99f56cdda2b4b999636d4bc661618cfd97c6c4cc4581533cfa11be449adf9e6748b844f3dd54ed50d6161bb83e |
1320 | languageName: node | 1316 | languageName: node |
1321 | linkType: hard | 1317 | linkType: hard |
1322 | 1318 | ||
1323 | "@codemirror/lint@npm:^6.1.0": | 1319 | "@codemirror/lint@npm:^6.2.0": |
1324 | version: 6.1.0 | 1320 | version: 6.2.0 |
1325 | resolution: "@codemirror/lint@npm:6.1.0" | 1321 | resolution: "@codemirror/lint@npm:6.2.0" |
1326 | dependencies: | 1322 | dependencies: |
1327 | "@codemirror/state": "npm:^6.0.0" | 1323 | "@codemirror/state": "npm:^6.0.0" |
1328 | "@codemirror/view": "npm:^6.0.0" | 1324 | "@codemirror/view": "npm:^6.0.0" |
1329 | crelt: "npm:^1.0.5" | 1325 | crelt: "npm:^1.0.5" |
1330 | checksum: 076c60e87aea52c666b171ff4c4e738e208170d2b384386c1f6ba3b1f09474eaa1530548b69ed865168df7cc13b441bc68c4f6dfd90016cc4eb4267f4555f144 | 1326 | checksum: 638e4b55a477580225e0f97045769891182756a5d74909b2a264dd8ca96d755d7687df88514f7c61abf17bf2ae6c2af927e18c6850169e9ae404489366f277b2 |
1331 | languageName: node | 1327 | languageName: node |
1332 | linkType: hard | 1328 | linkType: hard |
1333 | 1329 | ||
1334 | "@codemirror/search@npm:^6.2.3": | 1330 | "@codemirror/search@npm:^6.3.0": |
1335 | version: 6.2.3 | 1331 | version: 6.3.0 |
1336 | resolution: "@codemirror/search@npm:6.2.3" | 1332 | resolution: "@codemirror/search@npm:6.3.0" |
1337 | dependencies: | 1333 | dependencies: |
1338 | "@codemirror/state": "npm:^6.0.0" | 1334 | "@codemirror/state": "npm:^6.0.0" |
1339 | "@codemirror/view": "npm:^6.0.0" | 1335 | "@codemirror/view": "npm:^6.0.0" |
1340 | crelt: "npm:^1.0.5" | 1336 | crelt: "npm:^1.0.5" |
1341 | checksum: dc283e6fb390f43eec342664e525bb2ac7b317b1c89b1d16403ccfadf29815ba054d2dce5b5d58aa4575e45c9b406053c55f5da83f490a64485137c1ff498609 | 1337 | checksum: 1f098a1d2f194c6fdf2405938d5fb69d88a6ec9d5ceb1121b163f9f1db293c1c8d524ef41f3895bad379bc2540c4ba5f85f7d03711f0715a0fe4846545026bee |
1342 | languageName: node | 1338 | languageName: node |
1343 | linkType: hard | 1339 | linkType: hard |
1344 | 1340 | ||
@@ -1349,23 +1345,22 @@ __metadata: | |||
1349 | languageName: node | 1345 | languageName: node |
1350 | linkType: hard | 1346 | linkType: hard |
1351 | 1347 | ||
1352 | "@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.6.0, @codemirror/view@npm:^6.7.3": | 1348 | "@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.6.0, @codemirror/view@npm:^6.9.3": |
1353 | version: 6.7.3 | 1349 | version: 6.9.3 |
1354 | resolution: "@codemirror/view@npm:6.7.3" | 1350 | resolution: "@codemirror/view@npm:6.9.3" |
1355 | dependencies: | 1351 | dependencies: |
1356 | "@codemirror/state": "npm:^6.1.4" | 1352 | "@codemirror/state": "npm:^6.1.4" |
1357 | style-mod: "npm:^4.0.0" | 1353 | style-mod: "npm:^4.0.0" |
1358 | w3c-keyname: "npm:^2.2.4" | 1354 | w3c-keyname: "npm:^2.2.4" |
1359 | checksum: 361e941980f3a2b8826fa4a63e74f56b092d340196a9a3b2df06d9e8cea692a561fef870e8a06b566ba1a02602300c544eb55e9b0a707e5161c9154ab0fdb5c9 | 1355 | checksum: ab856cd03a87f4a045965ddb1cd051e2120898348593dafa8bd216e79d18f4b6250c463bb35b7ba4d235cfd319a54deecdc54d944e7830337a0145f5e1a21229 |
1360 | languageName: node | 1356 | languageName: node |
1361 | linkType: hard | 1357 | linkType: hard |
1362 | 1358 | ||
1363 | "@emotion/babel-plugin@npm:^11.10.5": | 1359 | "@emotion/babel-plugin@npm:^11.10.6": |
1364 | version: 11.10.5 | 1360 | version: 11.10.6 |
1365 | resolution: "@emotion/babel-plugin@npm:11.10.5" | 1361 | resolution: "@emotion/babel-plugin@npm:11.10.6" |
1366 | dependencies: | 1362 | dependencies: |
1367 | "@babel/helper-module-imports": "npm:^7.16.7" | 1363 | "@babel/helper-module-imports": "npm:^7.16.7" |
1368 | "@babel/plugin-syntax-jsx": "npm:^7.17.12" | ||
1369 | "@babel/runtime": "npm:^7.18.3" | 1364 | "@babel/runtime": "npm:^7.18.3" |
1370 | "@emotion/hash": "npm:^0.9.0" | 1365 | "@emotion/hash": "npm:^0.9.0" |
1371 | "@emotion/memoize": "npm:^0.8.0" | 1366 | "@emotion/memoize": "npm:^0.8.0" |
@@ -1376,9 +1371,7 @@ __metadata: | |||
1376 | find-root: "npm:^1.1.0" | 1371 | find-root: "npm:^1.1.0" |
1377 | source-map: "npm:^0.5.7" | 1372 | source-map: "npm:^0.5.7" |
1378 | stylis: "npm:4.1.3" | 1373 | stylis: "npm:4.1.3" |
1379 | peerDependencies: | 1374 | checksum: 859004f5af7b6d426d9ede5ba5917da51764f62bd4c915efd2f769dd8fb513a8c792c6e2fa5b3f50fe8101816220beb6fb6e93fb51310d83a038afed8247d05e |
1380 | "@babel/core": ^7.0.0 | ||
1381 | checksum: 71d95f306740a8547d021e3149db4302348f3dd5f9f15ee8969e8f809b0bdf6d9efe9842055848d255b8d921e823ac1def3a1c4620f81d2f41bbfc11fa807f76 | ||
1382 | languageName: node | 1375 | languageName: node |
1383 | linkType: hard | 1376 | linkType: hard |
1384 | 1377 | ||
@@ -1418,12 +1411,12 @@ __metadata: | |||
1418 | languageName: node | 1411 | languageName: node |
1419 | linkType: hard | 1412 | linkType: hard |
1420 | 1413 | ||
1421 | "@emotion/react@npm:^11.10.5": | 1414 | "@emotion/react@npm:^11.10.6": |
1422 | version: 11.10.5 | 1415 | version: 11.10.6 |
1423 | resolution: "@emotion/react@npm:11.10.5" | 1416 | resolution: "@emotion/react@npm:11.10.6" |
1424 | dependencies: | 1417 | dependencies: |
1425 | "@babel/runtime": "npm:^7.18.3" | 1418 | "@babel/runtime": "npm:^7.18.3" |
1426 | "@emotion/babel-plugin": "npm:^11.10.5" | 1419 | "@emotion/babel-plugin": "npm:^11.10.6" |
1427 | "@emotion/cache": "npm:^11.10.5" | 1420 | "@emotion/cache": "npm:^11.10.5" |
1428 | "@emotion/serialize": "npm:^1.1.1" | 1421 | "@emotion/serialize": "npm:^1.1.1" |
1429 | "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0" | 1422 | "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0" |
@@ -1431,14 +1424,11 @@ __metadata: | |||
1431 | "@emotion/weak-memoize": "npm:^0.3.0" | 1424 | "@emotion/weak-memoize": "npm:^0.3.0" |
1432 | hoist-non-react-statics: "npm:^3.3.1" | 1425 | hoist-non-react-statics: "npm:^3.3.1" |
1433 | peerDependencies: | 1426 | peerDependencies: |
1434 | "@babel/core": ^7.0.0 | ||
1435 | react: ">=16.8.0" | 1427 | react: ">=16.8.0" |
1436 | peerDependenciesMeta: | 1428 | peerDependenciesMeta: |
1437 | "@babel/core": | ||
1438 | optional: true | ||
1439 | "@types/react": | 1429 | "@types/react": |
1440 | optional: true | 1430 | optional: true |
1441 | checksum: 068fece54080e4809e7e61e1a0aa5531e03c0891d395b01ba32cb2bebce10fdb55be602532efe5f7ebc6484ed4ffaf17d67a4270850118e944846380b20938a3 | 1431 | checksum: b43bed600827bef5d5243bd141f25c66f18a1250e652ad7e32dae868a89290105df9e9f248e7e8f4f36879da75b397c5a1572e140a61a9d7a6c3b990c225c896 |
1442 | languageName: node | 1432 | languageName: node |
1443 | linkType: hard | 1433 | linkType: hard |
1444 | 1434 | ||
@@ -1462,26 +1452,23 @@ __metadata: | |||
1462 | languageName: node | 1452 | languageName: node |
1463 | linkType: hard | 1453 | linkType: hard |
1464 | 1454 | ||
1465 | "@emotion/styled@npm:^11.10.5": | 1455 | "@emotion/styled@npm:^11.10.6": |
1466 | version: 11.10.5 | 1456 | version: 11.10.6 |
1467 | resolution: "@emotion/styled@npm:11.10.5" | 1457 | resolution: "@emotion/styled@npm:11.10.6" |
1468 | dependencies: | 1458 | dependencies: |
1469 | "@babel/runtime": "npm:^7.18.3" | 1459 | "@babel/runtime": "npm:^7.18.3" |
1470 | "@emotion/babel-plugin": "npm:^11.10.5" | 1460 | "@emotion/babel-plugin": "npm:^11.10.6" |
1471 | "@emotion/is-prop-valid": "npm:^1.2.0" | 1461 | "@emotion/is-prop-valid": "npm:^1.2.0" |
1472 | "@emotion/serialize": "npm:^1.1.1" | 1462 | "@emotion/serialize": "npm:^1.1.1" |
1473 | "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0" | 1463 | "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0" |
1474 | "@emotion/utils": "npm:^1.2.0" | 1464 | "@emotion/utils": "npm:^1.2.0" |
1475 | peerDependencies: | 1465 | peerDependencies: |
1476 | "@babel/core": ^7.0.0 | ||
1477 | "@emotion/react": ^11.0.0-rc.0 | 1466 | "@emotion/react": ^11.0.0-rc.0 |
1478 | react: ">=16.8.0" | 1467 | react: ">=16.8.0" |
1479 | peerDependenciesMeta: | 1468 | peerDependenciesMeta: |
1480 | "@babel/core": | ||
1481 | optional: true | ||
1482 | "@types/react": | 1469 | "@types/react": |
1483 | optional: true | 1470 | optional: true |
1484 | checksum: 9a135212e9be199ca180b4a92f1bed208880ae8994143f2b0f3689a3549746484454302e301d5b5c4166f6ba51862cee923ba5ac8676b2369a7f62e29fd6d27f | 1471 | checksum: a3d861dc9c3c01dfbea03f981516ccd8228415df65e485365b577e3e5572d1d54552381c0d9e9819a75ee1f496f06fe34f915455e427bed4c30b04dd8108b99f |
1485 | languageName: node | 1472 | languageName: node |
1486 | linkType: hard | 1473 | linkType: hard |
1487 | 1474 | ||
@@ -1515,174 +1502,199 @@ __metadata: | |||
1515 | languageName: node | 1502 | languageName: node |
1516 | linkType: hard | 1503 | linkType: hard |
1517 | 1504 | ||
1518 | "@esbuild/android-arm64@npm:0.16.17": | 1505 | "@esbuild/android-arm64@npm:0.17.14": |
1519 | version: 0.16.17 | 1506 | version: 0.17.14 |
1520 | resolution: "@esbuild/android-arm64@npm:0.16.17" | 1507 | resolution: "@esbuild/android-arm64@npm:0.17.14" |
1521 | conditions: os=android & cpu=arm64 | 1508 | conditions: os=android & cpu=arm64 |
1522 | languageName: node | 1509 | languageName: node |
1523 | linkType: hard | 1510 | linkType: hard |
1524 | 1511 | ||
1525 | "@esbuild/android-arm@npm:0.16.17": | 1512 | "@esbuild/android-arm@npm:0.17.14": |
1526 | version: 0.16.17 | 1513 | version: 0.17.14 |
1527 | resolution: "@esbuild/android-arm@npm:0.16.17" | 1514 | resolution: "@esbuild/android-arm@npm:0.17.14" |
1528 | conditions: os=android & cpu=arm | 1515 | conditions: os=android & cpu=arm |
1529 | languageName: node | 1516 | languageName: node |
1530 | linkType: hard | 1517 | linkType: hard |
1531 | 1518 | ||
1532 | "@esbuild/android-x64@npm:0.16.17": | 1519 | "@esbuild/android-x64@npm:0.17.14": |
1533 | version: 0.16.17 | 1520 | version: 0.17.14 |
1534 | resolution: "@esbuild/android-x64@npm:0.16.17" | 1521 | resolution: "@esbuild/android-x64@npm:0.17.14" |
1535 | conditions: os=android & cpu=x64 | 1522 | conditions: os=android & cpu=x64 |
1536 | languageName: node | 1523 | languageName: node |
1537 | linkType: hard | 1524 | linkType: hard |
1538 | 1525 | ||
1539 | "@esbuild/darwin-arm64@npm:0.16.17": | 1526 | "@esbuild/darwin-arm64@npm:0.17.14": |
1540 | version: 0.16.17 | 1527 | version: 0.17.14 |
1541 | resolution: "@esbuild/darwin-arm64@npm:0.16.17" | 1528 | resolution: "@esbuild/darwin-arm64@npm:0.17.14" |
1542 | conditions: os=darwin & cpu=arm64 | 1529 | conditions: os=darwin & cpu=arm64 |
1543 | languageName: node | 1530 | languageName: node |
1544 | linkType: hard | 1531 | linkType: hard |
1545 | 1532 | ||
1546 | "@esbuild/darwin-x64@npm:0.16.17": | 1533 | "@esbuild/darwin-x64@npm:0.17.14": |
1547 | version: 0.16.17 | 1534 | version: 0.17.14 |
1548 | resolution: "@esbuild/darwin-x64@npm:0.16.17" | 1535 | resolution: "@esbuild/darwin-x64@npm:0.17.14" |
1549 | conditions: os=darwin & cpu=x64 | 1536 | conditions: os=darwin & cpu=x64 |
1550 | languageName: node | 1537 | languageName: node |
1551 | linkType: hard | 1538 | linkType: hard |
1552 | 1539 | ||
1553 | "@esbuild/freebsd-arm64@npm:0.16.17": | 1540 | "@esbuild/freebsd-arm64@npm:0.17.14": |
1554 | version: 0.16.17 | 1541 | version: 0.17.14 |
1555 | resolution: "@esbuild/freebsd-arm64@npm:0.16.17" | 1542 | resolution: "@esbuild/freebsd-arm64@npm:0.17.14" |
1556 | conditions: os=freebsd & cpu=arm64 | 1543 | conditions: os=freebsd & cpu=arm64 |
1557 | languageName: node | 1544 | languageName: node |
1558 | linkType: hard | 1545 | linkType: hard |
1559 | 1546 | ||
1560 | "@esbuild/freebsd-x64@npm:0.16.17": | 1547 | "@esbuild/freebsd-x64@npm:0.17.14": |
1561 | version: 0.16.17 | 1548 | version: 0.17.14 |
1562 | resolution: "@esbuild/freebsd-x64@npm:0.16.17" | 1549 | resolution: "@esbuild/freebsd-x64@npm:0.17.14" |
1563 | conditions: os=freebsd & cpu=x64 | 1550 | conditions: os=freebsd & cpu=x64 |
1564 | languageName: node | 1551 | languageName: node |
1565 | linkType: hard | 1552 | linkType: hard |
1566 | 1553 | ||
1567 | "@esbuild/linux-arm64@npm:0.16.17": | 1554 | "@esbuild/linux-arm64@npm:0.17.14": |
1568 | version: 0.16.17 | 1555 | version: 0.17.14 |
1569 | resolution: "@esbuild/linux-arm64@npm:0.16.17" | 1556 | resolution: "@esbuild/linux-arm64@npm:0.17.14" |
1570 | conditions: os=linux & cpu=arm64 | 1557 | conditions: os=linux & cpu=arm64 |
1571 | languageName: node | 1558 | languageName: node |
1572 | linkType: hard | 1559 | linkType: hard |
1573 | 1560 | ||
1574 | "@esbuild/linux-arm@npm:0.16.17": | 1561 | "@esbuild/linux-arm@npm:0.17.14": |
1575 | version: 0.16.17 | 1562 | version: 0.17.14 |
1576 | resolution: "@esbuild/linux-arm@npm:0.16.17" | 1563 | resolution: "@esbuild/linux-arm@npm:0.17.14" |
1577 | conditions: os=linux & cpu=arm | 1564 | conditions: os=linux & cpu=arm |
1578 | languageName: node | 1565 | languageName: node |
1579 | linkType: hard | 1566 | linkType: hard |
1580 | 1567 | ||
1581 | "@esbuild/linux-ia32@npm:0.16.17": | 1568 | "@esbuild/linux-ia32@npm:0.17.14": |
1582 | version: 0.16.17 | 1569 | version: 0.17.14 |
1583 | resolution: "@esbuild/linux-ia32@npm:0.16.17" | 1570 | resolution: "@esbuild/linux-ia32@npm:0.17.14" |
1584 | conditions: os=linux & cpu=ia32 | 1571 | conditions: os=linux & cpu=ia32 |
1585 | languageName: node | 1572 | languageName: node |
1586 | linkType: hard | 1573 | linkType: hard |
1587 | 1574 | ||
1588 | "@esbuild/linux-loong64@npm:0.16.17": | 1575 | "@esbuild/linux-loong64@npm:0.17.14": |
1589 | version: 0.16.17 | 1576 | version: 0.17.14 |
1590 | resolution: "@esbuild/linux-loong64@npm:0.16.17" | 1577 | resolution: "@esbuild/linux-loong64@npm:0.17.14" |
1591 | conditions: os=linux & cpu=loong64 | 1578 | conditions: os=linux & cpu=loong64 |
1592 | languageName: node | 1579 | languageName: node |
1593 | linkType: hard | 1580 | linkType: hard |
1594 | 1581 | ||
1595 | "@esbuild/linux-mips64el@npm:0.16.17": | 1582 | "@esbuild/linux-mips64el@npm:0.17.14": |
1596 | version: 0.16.17 | 1583 | version: 0.17.14 |
1597 | resolution: "@esbuild/linux-mips64el@npm:0.16.17" | 1584 | resolution: "@esbuild/linux-mips64el@npm:0.17.14" |
1598 | conditions: os=linux & cpu=mips64el | 1585 | conditions: os=linux & cpu=mips64el |
1599 | languageName: node | 1586 | languageName: node |
1600 | linkType: hard | 1587 | linkType: hard |
1601 | 1588 | ||
1602 | "@esbuild/linux-ppc64@npm:0.16.17": | 1589 | "@esbuild/linux-ppc64@npm:0.17.14": |
1603 | version: 0.16.17 | 1590 | version: 0.17.14 |
1604 | resolution: "@esbuild/linux-ppc64@npm:0.16.17" | 1591 | resolution: "@esbuild/linux-ppc64@npm:0.17.14" |
1605 | conditions: os=linux & cpu=ppc64 | 1592 | conditions: os=linux & cpu=ppc64 |
1606 | languageName: node | 1593 | languageName: node |
1607 | linkType: hard | 1594 | linkType: hard |
1608 | 1595 | ||
1609 | "@esbuild/linux-riscv64@npm:0.16.17": | 1596 | "@esbuild/linux-riscv64@npm:0.17.14": |
1610 | version: 0.16.17 | 1597 | version: 0.17.14 |
1611 | resolution: "@esbuild/linux-riscv64@npm:0.16.17" | 1598 | resolution: "@esbuild/linux-riscv64@npm:0.17.14" |
1612 | conditions: os=linux & cpu=riscv64 | 1599 | conditions: os=linux & cpu=riscv64 |
1613 | languageName: node | 1600 | languageName: node |
1614 | linkType: hard | 1601 | linkType: hard |
1615 | 1602 | ||
1616 | "@esbuild/linux-s390x@npm:0.16.17": | 1603 | "@esbuild/linux-s390x@npm:0.17.14": |
1617 | version: 0.16.17 | 1604 | version: 0.17.14 |
1618 | resolution: "@esbuild/linux-s390x@npm:0.16.17" | 1605 | resolution: "@esbuild/linux-s390x@npm:0.17.14" |
1619 | conditions: os=linux & cpu=s390x | 1606 | conditions: os=linux & cpu=s390x |
1620 | languageName: node | 1607 | languageName: node |
1621 | linkType: hard | 1608 | linkType: hard |
1622 | 1609 | ||
1623 | "@esbuild/linux-x64@npm:0.16.17": | 1610 | "@esbuild/linux-x64@npm:0.17.14": |
1624 | version: 0.16.17 | 1611 | version: 0.17.14 |
1625 | resolution: "@esbuild/linux-x64@npm:0.16.17" | 1612 | resolution: "@esbuild/linux-x64@npm:0.17.14" |
1626 | conditions: os=linux & cpu=x64 | 1613 | conditions: os=linux & cpu=x64 |
1627 | languageName: node | 1614 | languageName: node |
1628 | linkType: hard | 1615 | linkType: hard |
1629 | 1616 | ||
1630 | "@esbuild/netbsd-x64@npm:0.16.17": | 1617 | "@esbuild/netbsd-x64@npm:0.17.14": |
1631 | version: 0.16.17 | 1618 | version: 0.17.14 |
1632 | resolution: "@esbuild/netbsd-x64@npm:0.16.17" | 1619 | resolution: "@esbuild/netbsd-x64@npm:0.17.14" |
1633 | conditions: os=netbsd & cpu=x64 | 1620 | conditions: os=netbsd & cpu=x64 |
1634 | languageName: node | 1621 | languageName: node |
1635 | linkType: hard | 1622 | linkType: hard |
1636 | 1623 | ||
1637 | "@esbuild/openbsd-x64@npm:0.16.17": | 1624 | "@esbuild/openbsd-x64@npm:0.17.14": |
1638 | version: 0.16.17 | 1625 | version: 0.17.14 |
1639 | resolution: "@esbuild/openbsd-x64@npm:0.16.17" | 1626 | resolution: "@esbuild/openbsd-x64@npm:0.17.14" |
1640 | conditions: os=openbsd & cpu=x64 | 1627 | conditions: os=openbsd & cpu=x64 |
1641 | languageName: node | 1628 | languageName: node |
1642 | linkType: hard | 1629 | linkType: hard |
1643 | 1630 | ||
1644 | "@esbuild/sunos-x64@npm:0.16.17": | 1631 | "@esbuild/sunos-x64@npm:0.17.14": |
1645 | version: 0.16.17 | 1632 | version: 0.17.14 |
1646 | resolution: "@esbuild/sunos-x64@npm:0.16.17" | 1633 | resolution: "@esbuild/sunos-x64@npm:0.17.14" |
1647 | conditions: os=sunos & cpu=x64 | 1634 | conditions: os=sunos & cpu=x64 |
1648 | languageName: node | 1635 | languageName: node |
1649 | linkType: hard | 1636 | linkType: hard |
1650 | 1637 | ||
1651 | "@esbuild/win32-arm64@npm:0.16.17": | 1638 | "@esbuild/win32-arm64@npm:0.17.14": |
1652 | version: 0.16.17 | 1639 | version: 0.17.14 |
1653 | resolution: "@esbuild/win32-arm64@npm:0.16.17" | 1640 | resolution: "@esbuild/win32-arm64@npm:0.17.14" |
1654 | conditions: os=win32 & cpu=arm64 | 1641 | conditions: os=win32 & cpu=arm64 |
1655 | languageName: node | 1642 | languageName: node |
1656 | linkType: hard | 1643 | linkType: hard |
1657 | 1644 | ||
1658 | "@esbuild/win32-ia32@npm:0.16.17": | 1645 | "@esbuild/win32-ia32@npm:0.17.14": |
1659 | version: 0.16.17 | 1646 | version: 0.17.14 |
1660 | resolution: "@esbuild/win32-ia32@npm:0.16.17" | 1647 | resolution: "@esbuild/win32-ia32@npm:0.17.14" |
1661 | conditions: os=win32 & cpu=ia32 | 1648 | conditions: os=win32 & cpu=ia32 |
1662 | languageName: node | 1649 | languageName: node |
1663 | linkType: hard | 1650 | linkType: hard |
1664 | 1651 | ||
1665 | "@esbuild/win32-x64@npm:0.16.17": | 1652 | "@esbuild/win32-x64@npm:0.17.14": |
1666 | version: 0.16.17 | 1653 | version: 0.17.14 |
1667 | resolution: "@esbuild/win32-x64@npm:0.16.17" | 1654 | resolution: "@esbuild/win32-x64@npm:0.17.14" |
1668 | conditions: os=win32 & cpu=x64 | 1655 | conditions: os=win32 & cpu=x64 |
1669 | languageName: node | 1656 | languageName: node |
1670 | linkType: hard | 1657 | linkType: hard |
1671 | 1658 | ||
1672 | "@eslint/eslintrc@npm:^1.4.1": | 1659 | "@eslint-community/eslint-utils@npm:^4.2.0": |
1673 | version: 1.4.1 | 1660 | version: 4.4.0 |
1674 | resolution: "@eslint/eslintrc@npm:1.4.1" | 1661 | resolution: "@eslint-community/eslint-utils@npm:4.4.0" |
1662 | dependencies: | ||
1663 | eslint-visitor-keys: "npm:^3.3.0" | ||
1664 | peerDependencies: | ||
1665 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 | ||
1666 | checksum: b9d700a83a743f2e152b4038d02a4bf807bc7363d59efeafec93b9498e59a3aa4d2604d206c213b91966416d628f33d88a4b773b8ff0d384b44353e8072ba922 | ||
1667 | languageName: node | ||
1668 | linkType: hard | ||
1669 | |||
1670 | "@eslint-community/regexpp@npm:^4.4.0": | ||
1671 | version: 4.5.0 | ||
1672 | resolution: "@eslint-community/regexpp@npm:4.5.0" | ||
1673 | checksum: 14f8f9f865bfe07a41e7f274ce5eddc456e194d5e5fe7928b6520f5eaf7312c2da683be06133f3cd775af41fc9992f4181b71dd12e370cfab94a82e9bb74169a | ||
1674 | languageName: node | ||
1675 | linkType: hard | ||
1676 | |||
1677 | "@eslint/eslintrc@npm:^2.0.2": | ||
1678 | version: 2.0.2 | ||
1679 | resolution: "@eslint/eslintrc@npm:2.0.2" | ||
1675 | dependencies: | 1680 | dependencies: |
1676 | ajv: "npm:^6.12.4" | 1681 | ajv: "npm:^6.12.4" |
1677 | debug: "npm:^4.3.2" | 1682 | debug: "npm:^4.3.2" |
1678 | espree: "npm:^9.4.0" | 1683 | espree: "npm:^9.5.1" |
1679 | globals: "npm:^13.19.0" | 1684 | globals: "npm:^13.19.0" |
1680 | ignore: "npm:^5.2.0" | 1685 | ignore: "npm:^5.2.0" |
1681 | import-fresh: "npm:^3.2.1" | 1686 | import-fresh: "npm:^3.2.1" |
1682 | js-yaml: "npm:^4.1.0" | 1687 | js-yaml: "npm:^4.1.0" |
1683 | minimatch: "npm:^3.1.2" | 1688 | minimatch: "npm:^3.1.2" |
1684 | strip-json-comments: "npm:^3.1.1" | 1689 | strip-json-comments: "npm:^3.1.1" |
1685 | checksum: 4e469ed508c3154078503b1f22b9d7f2498e76e770ff3f8c61c9961a16760c817e977f2f00b02201d1e91d6a4ebc766c1c67aae9189b00d5c1fe2e7205b6ad72 | 1690 | checksum: 95c94b88d32373e07b14c6697df329f952ad79b0d8a1388f90e7753dfaba4c17d80295c9537e812056385a93b09971108a4c647d56e2c81e0856e9968d4062ac |
1691 | languageName: node | ||
1692 | linkType: hard | ||
1693 | |||
1694 | "@eslint/js@npm:8.37.0": | ||
1695 | version: 8.37.0 | ||
1696 | resolution: "@eslint/js@npm:8.37.0" | ||
1697 | checksum: 4c2ec3cc0eed454e101d91402334cbb75c96e326960fab0326e2fb9a7d2fb137fd9047bcf5bf6114204dc1d43e7027bf02fd676f2806aa95bd5714c79cfdd821 | ||
1686 | languageName: node | 1698 | languageName: node |
1687 | linkType: hard | 1699 | linkType: hard |
1688 | 1700 | ||
@@ -1700,10 +1712,10 @@ __metadata: | |||
1700 | languageName: node | 1712 | languageName: node |
1701 | linkType: hard | 1713 | linkType: hard |
1702 | 1714 | ||
1703 | "@gar/promisify@npm:^1.0.1": | 1715 | "@gar/promisify@npm:^1.1.3": |
1704 | version: 1.1.2 | 1716 | version: 1.1.3 |
1705 | resolution: "@gar/promisify@npm:1.1.2" | 1717 | resolution: "@gar/promisify@npm:1.1.3" |
1706 | checksum: aa6792cfe42659321bfffa8ea42c623b0bcaed96e735a48b226417a220a1e18df0c1284d1e69bfdc263948ed926e9509843951de8d6d1b11078ba693a8b95b0f | 1718 | checksum: 3fadc40481a783ddb90397f5759f92650b57465f7a4a778056bd24b47060595012e9181a55ae547d57a893d37d9776abe9e368f1f6918e37225eb6a83f9a75f8 |
1707 | languageName: node | 1719 | languageName: node |
1708 | linkType: hard | 1720 | linkType: hard |
1709 | 1721 | ||
@@ -1813,12 +1825,12 @@ __metadata: | |||
1813 | languageName: node | 1825 | languageName: node |
1814 | linkType: hard | 1826 | linkType: hard |
1815 | 1827 | ||
1816 | "@lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.3": | 1828 | "@lezer/highlight@npm:^1.0.0, @lezer/highlight@npm:^1.1.4": |
1817 | version: 1.1.3 | 1829 | version: 1.1.4 |
1818 | resolution: "@lezer/highlight@npm:1.1.3" | 1830 | resolution: "@lezer/highlight@npm:1.1.4" |
1819 | dependencies: | 1831 | dependencies: |
1820 | "@lezer/common": "npm:^1.0.0" | 1832 | "@lezer/common": "npm:^1.0.0" |
1821 | checksum: d74ec9ff4fd276c2ef771964eb8a19c07016afd22b945b38190b95eb19c85be2cd3674dcc1c213911087ea184b42b372dc07fcb5b7ab04b321c02c19f6fedcc9 | 1833 | checksum: 226d43d12d2237e9b0f6a3765034e37c27e3c4a55faa7ec0a7cc241cb2961f4faee7a048930b5f2168985d0241d14714cd8e88a68e1f77be554ff609fa5a51b0 |
1822 | languageName: node | 1834 | languageName: node |
1823 | linkType: hard | 1835 | linkType: hard |
1824 | 1836 | ||
@@ -1838,15 +1850,15 @@ __metadata: | |||
1838 | languageName: node | 1850 | languageName: node |
1839 | linkType: hard | 1851 | linkType: hard |
1840 | 1852 | ||
1841 | "@mui/base@npm:5.0.0-alpha.116": | 1853 | "@mui/base@npm:5.0.0-alpha.123": |
1842 | version: 5.0.0-alpha.116 | 1854 | version: 5.0.0-alpha.123 |
1843 | resolution: "@mui/base@npm:5.0.0-alpha.116" | 1855 | resolution: "@mui/base@npm:5.0.0-alpha.123" |
1844 | dependencies: | 1856 | dependencies: |
1845 | "@babel/runtime": "npm:^7.20.7" | 1857 | "@babel/runtime": "npm:^7.21.0" |
1846 | "@emotion/is-prop-valid": "npm:^1.2.0" | 1858 | "@emotion/is-prop-valid": "npm:^1.2.0" |
1847 | "@mui/types": "npm:^7.2.3" | 1859 | "@mui/types": "npm:^7.2.3" |
1848 | "@mui/utils": "npm:^5.11.7" | 1860 | "@mui/utils": "npm:^5.11.13" |
1849 | "@popperjs/core": "npm:^2.11.6" | 1861 | "@popperjs/core": "npm:^2.11.7" |
1850 | clsx: "npm:^1.2.1" | 1862 | clsx: "npm:^1.2.1" |
1851 | prop-types: "npm:^15.8.1" | 1863 | prop-types: "npm:^15.8.1" |
1852 | react-is: "npm:^18.2.0" | 1864 | react-is: "npm:^18.2.0" |
@@ -1857,22 +1869,22 @@ __metadata: | |||
1857 | peerDependenciesMeta: | 1869 | peerDependenciesMeta: |
1858 | "@types/react": | 1870 | "@types/react": |
1859 | optional: true | 1871 | optional: true |
1860 | checksum: 183dfc581e8a349a92ce44a7775173b0c3037885df986bf09ae07f922f6e9445406a4b9b8da59dd6cf23beb3bef8d80a97aa23e3ccfded986321a38a050c1cd6 | 1872 | checksum: 85e446722e14ec8d4e1c70dc1c245e4c952d967b2f5c939f48fa4b88ec16c0bd02a4ee7e1e9a9738b2ab55a61d6bc860d8f5b9c612cb414ba2d7a763edb33186 |
1861 | languageName: node | 1873 | languageName: node |
1862 | linkType: hard | 1874 | linkType: hard |
1863 | 1875 | ||
1864 | "@mui/core-downloads-tracker@npm:^5.11.7": | 1876 | "@mui/core-downloads-tracker@npm:^5.11.15": |
1865 | version: 5.11.7 | 1877 | version: 5.11.15 |
1866 | resolution: "@mui/core-downloads-tracker@npm:5.11.7" | 1878 | resolution: "@mui/core-downloads-tracker@npm:5.11.15" |
1867 | checksum: 23d69fcdfe089e08edceb5692c221266f83bc2f1d62070e7d2fa9acd3f62bb02fc4bf48106ee82035da068da86b74d3b6b75b33ff31ed1cf2735d5db39fe9879 | 1879 | checksum: e47f71d5ca91fceacbb469b3e1fb8e895957f8eabac1407d6de5729dce19db0e6c0587be3c534ce8c56b1736e5b9e54455703086f225d46eb4af2e0ff41c27e0 |
1868 | languageName: node | 1880 | languageName: node |
1869 | linkType: hard | 1881 | linkType: hard |
1870 | 1882 | ||
1871 | "@mui/icons-material@npm:5.11.0": | 1883 | "@mui/icons-material@npm:5.11.11": |
1872 | version: 5.11.0 | 1884 | version: 5.11.11 |
1873 | resolution: "@mui/icons-material@npm:5.11.0" | 1885 | resolution: "@mui/icons-material@npm:5.11.11" |
1874 | dependencies: | 1886 | dependencies: |
1875 | "@babel/runtime": "npm:^7.20.6" | 1887 | "@babel/runtime": "npm:^7.21.0" |
1876 | peerDependencies: | 1888 | peerDependencies: |
1877 | "@mui/material": ^5.0.0 | 1889 | "@mui/material": ^5.0.0 |
1878 | "@types/react": ^17.0.0 || ^18.0.0 | 1890 | "@types/react": ^17.0.0 || ^18.0.0 |
@@ -1880,20 +1892,20 @@ __metadata: | |||
1880 | peerDependenciesMeta: | 1892 | peerDependenciesMeta: |
1881 | "@types/react": | 1893 | "@types/react": |
1882 | optional: true | 1894 | optional: true |
1883 | checksum: b6d7e860415ed1870b438afc7f79339a1f828b0103d852dea040b5b2195e9c229bc03c1a4902fa47a47483f77a6a61e906d30e0e8d037bfef3b302b951372571 | 1895 | checksum: 5aae14a311366773a2553595c5a7cf7ba7bc15d8be940d7b4a495d8aa1c5cc13080f2a798d422f4b5bf3a43507cac9519dca4e453c60955620e9f7ca29d60eac |
1884 | languageName: node | 1896 | languageName: node |
1885 | linkType: hard | 1897 | linkType: hard |
1886 | 1898 | ||
1887 | "@mui/material@npm:5.11.7": | 1899 | "@mui/material@npm:5.11.15": |
1888 | version: 5.11.7 | 1900 | version: 5.11.15 |
1889 | resolution: "@mui/material@npm:5.11.7" | 1901 | resolution: "@mui/material@npm:5.11.15" |
1890 | dependencies: | 1902 | dependencies: |
1891 | "@babel/runtime": "npm:^7.20.7" | 1903 | "@babel/runtime": "npm:^7.21.0" |
1892 | "@mui/base": "npm:5.0.0-alpha.116" | 1904 | "@mui/base": "npm:5.0.0-alpha.123" |
1893 | "@mui/core-downloads-tracker": "npm:^5.11.7" | 1905 | "@mui/core-downloads-tracker": "npm:^5.11.15" |
1894 | "@mui/system": "npm:^5.11.7" | 1906 | "@mui/system": "npm:^5.11.15" |
1895 | "@mui/types": "npm:^7.2.3" | 1907 | "@mui/types": "npm:^7.2.3" |
1896 | "@mui/utils": "npm:^5.11.7" | 1908 | "@mui/utils": "npm:^5.11.13" |
1897 | "@types/react-transition-group": "npm:^4.4.5" | 1909 | "@types/react-transition-group": "npm:^4.4.5" |
1898 | clsx: "npm:^1.2.1" | 1910 | clsx: "npm:^1.2.1" |
1899 | csstype: "npm:^3.1.1" | 1911 | csstype: "npm:^3.1.1" |
@@ -1913,16 +1925,16 @@ __metadata: | |||
1913 | optional: true | 1925 | optional: true |
1914 | "@types/react": | 1926 | "@types/react": |
1915 | optional: true | 1927 | optional: true |
1916 | checksum: a123f3466775c50bd87c9238c187a3d4ca05806d18c93352e167c331ae8405780b8dba394917e40226425c70aa7f8192c4e7057e1b4fc8174d7d0e0c85ca98e5 | 1928 | checksum: f252dda54044f4eec330e74112b2a9c63a9ee8d3c1ab1665f1f0d0bdb2665a0005314121fd8166b069a4956888370784bedd30a9a71ae6a3e430ec3fdb8e0b97 |
1917 | languageName: node | 1929 | languageName: node |
1918 | linkType: hard | 1930 | linkType: hard |
1919 | 1931 | ||
1920 | "@mui/private-theming@npm:^5.11.7": | 1932 | "@mui/private-theming@npm:^5.11.13": |
1921 | version: 5.11.7 | 1933 | version: 5.11.13 |
1922 | resolution: "@mui/private-theming@npm:5.11.7" | 1934 | resolution: "@mui/private-theming@npm:5.11.13" |
1923 | dependencies: | 1935 | dependencies: |
1924 | "@babel/runtime": "npm:^7.20.7" | 1936 | "@babel/runtime": "npm:^7.21.0" |
1925 | "@mui/utils": "npm:^5.11.7" | 1937 | "@mui/utils": "npm:^5.11.13" |
1926 | prop-types: "npm:^15.8.1" | 1938 | prop-types: "npm:^15.8.1" |
1927 | peerDependencies: | 1939 | peerDependencies: |
1928 | "@types/react": ^17.0.0 || ^18.0.0 | 1940 | "@types/react": ^17.0.0 || ^18.0.0 |
@@ -1930,15 +1942,15 @@ __metadata: | |||
1930 | peerDependenciesMeta: | 1942 | peerDependenciesMeta: |
1931 | "@types/react": | 1943 | "@types/react": |
1932 | optional: true | 1944 | optional: true |
1933 | checksum: d6838f349a18eb35019b12151d12882c8da67968bcdf1570b4a3b989f35939ed917239ef6fd486161b129f8e97bc0fd9a18b451906c9572dc43e17e312cd00de | 1945 | checksum: 9028e6be77b517dc4bf902daa4e966441ea982b0c19731028de459272132cfb824c71e8daddb96d2d2c79ed95eb680a322fb1621f464a458e1e04a143bd315c5 |
1934 | languageName: node | 1946 | languageName: node |
1935 | linkType: hard | 1947 | linkType: hard |
1936 | 1948 | ||
1937 | "@mui/styled-engine@npm:^5.11.0": | 1949 | "@mui/styled-engine@npm:^5.11.11": |
1938 | version: 5.11.0 | 1950 | version: 5.11.11 |
1939 | resolution: "@mui/styled-engine@npm:5.11.0" | 1951 | resolution: "@mui/styled-engine@npm:5.11.11" |
1940 | dependencies: | 1952 | dependencies: |
1941 | "@babel/runtime": "npm:^7.20.6" | 1953 | "@babel/runtime": "npm:^7.21.0" |
1942 | "@emotion/cache": "npm:^11.10.5" | 1954 | "@emotion/cache": "npm:^11.10.5" |
1943 | csstype: "npm:^3.1.1" | 1955 | csstype: "npm:^3.1.1" |
1944 | prop-types: "npm:^15.8.1" | 1956 | prop-types: "npm:^15.8.1" |
@@ -1951,19 +1963,19 @@ __metadata: | |||
1951 | optional: true | 1963 | optional: true |
1952 | "@emotion/styled": | 1964 | "@emotion/styled": |
1953 | optional: true | 1965 | optional: true |
1954 | checksum: c070526fec81d7c280b1a797106b872795e3869d52813aa55bc3d133e87656babbd6774ae97ff0c2c058606a551dfd0a5ee56f4e2aeca43068f97238fd296b1e | 1966 | checksum: a4e3408749e6f7069962b98fd6912f3e6c85587c14d578bcc381cafdb681faa7af05a644d4ce6dbcaaa0c3388745a1b83f9542ecafb037c2984ddf2d91fc1b47 |
1955 | languageName: node | 1967 | languageName: node |
1956 | linkType: hard | 1968 | linkType: hard |
1957 | 1969 | ||
1958 | "@mui/system@npm:^5.11.7": | 1970 | "@mui/system@npm:^5.11.15": |
1959 | version: 5.11.7 | 1971 | version: 5.11.15 |
1960 | resolution: "@mui/system@npm:5.11.7" | 1972 | resolution: "@mui/system@npm:5.11.15" |
1961 | dependencies: | 1973 | dependencies: |
1962 | "@babel/runtime": "npm:^7.20.7" | 1974 | "@babel/runtime": "npm:^7.21.0" |
1963 | "@mui/private-theming": "npm:^5.11.7" | 1975 | "@mui/private-theming": "npm:^5.11.13" |
1964 | "@mui/styled-engine": "npm:^5.11.0" | 1976 | "@mui/styled-engine": "npm:^5.11.11" |
1965 | "@mui/types": "npm:^7.2.3" | 1977 | "@mui/types": "npm:^7.2.3" |
1966 | "@mui/utils": "npm:^5.11.7" | 1978 | "@mui/utils": "npm:^5.11.13" |
1967 | clsx: "npm:^1.2.1" | 1979 | clsx: "npm:^1.2.1" |
1968 | csstype: "npm:^3.1.1" | 1980 | csstype: "npm:^3.1.1" |
1969 | prop-types: "npm:^15.8.1" | 1981 | prop-types: "npm:^15.8.1" |
@@ -1979,7 +1991,7 @@ __metadata: | |||
1979 | optional: true | 1991 | optional: true |
1980 | "@types/react": | 1992 | "@types/react": |
1981 | optional: true | 1993 | optional: true |
1982 | checksum: 754add2a130f5e3330cdf7a7fc11e794faab56177c59418295547c130d5fe0bf92165c3d0e1c1a3a4f6a09d819c48650893860fb80ee31001e9dbf2221cf7d30 | 1994 | checksum: 8dd447cc52931f68306dcdea2eea6934c4e9e714571af6f679ce7db41e791b46c9a69afb36180d44ef0f040c3f0d674b39f7801e7cfca2f99cc4c04f5b6d226c |
1983 | languageName: node | 1995 | languageName: node |
1984 | linkType: hard | 1996 | linkType: hard |
1985 | 1997 | ||
@@ -1995,18 +2007,18 @@ __metadata: | |||
1995 | languageName: node | 2007 | languageName: node |
1996 | linkType: hard | 2008 | linkType: hard |
1997 | 2009 | ||
1998 | "@mui/utils@npm:^5.11.7": | 2010 | "@mui/utils@npm:^5.11.13": |
1999 | version: 5.11.7 | 2011 | version: 5.11.13 |
2000 | resolution: "@mui/utils@npm:5.11.7" | 2012 | resolution: "@mui/utils@npm:5.11.13" |
2001 | dependencies: | 2013 | dependencies: |
2002 | "@babel/runtime": "npm:^7.20.7" | 2014 | "@babel/runtime": "npm:^7.21.0" |
2003 | "@types/prop-types": "npm:^15.7.5" | 2015 | "@types/prop-types": "npm:^15.7.5" |
2004 | "@types/react-is": "npm:^16.7.1 || ^17.0.0" | 2016 | "@types/react-is": "npm:^16.7.1 || ^17.0.0" |
2005 | prop-types: "npm:^15.8.1" | 2017 | prop-types: "npm:^15.8.1" |
2006 | react-is: "npm:^18.2.0" | 2018 | react-is: "npm:^18.2.0" |
2007 | peerDependencies: | 2019 | peerDependencies: |
2008 | react: ^17.0.0 || ^18.0.0 | 2020 | react: ^17.0.0 || ^18.0.0 |
2009 | checksum: df465709713a6e51d7941694741237b0519869856093086e4dba8d8fc512733802afa6407cdc01192550e751f923a15c66f8b402e82e205c1fa910e36ba7ab37 | 2021 | checksum: 8ca3debcb4a506e8b97bde4cfcd7e7358ba5e3b90bc375e36175b623212f509a10caf58621b84de1991a6304b695a7041adbc54cac923d4be19b52f15ef4fff9 |
2010 | languageName: node | 2022 | languageName: node |
2011 | linkType: hard | 2023 | linkType: hard |
2012 | 2024 | ||
@@ -2037,23 +2049,23 @@ __metadata: | |||
2037 | languageName: node | 2049 | languageName: node |
2038 | linkType: hard | 2050 | linkType: hard |
2039 | 2051 | ||
2040 | "@npmcli/fs@npm:^1.0.0": | 2052 | "@npmcli/fs@npm:^2.1.0": |
2041 | version: 1.1.0 | 2053 | version: 2.1.2 |
2042 | resolution: "@npmcli/fs@npm:1.1.0" | 2054 | resolution: "@npmcli/fs@npm:2.1.2" |
2043 | dependencies: | 2055 | dependencies: |
2044 | "@gar/promisify": "npm:^1.0.1" | 2056 | "@gar/promisify": "npm:^1.1.3" |
2045 | semver: "npm:^7.3.5" | 2057 | semver: "npm:^7.3.5" |
2046 | checksum: adf61b4c4708d6f070c50ed08e112cb8ea3fa05a1dc674e8e65c2c01485cc68053c1b0a5b5d6dbf75b49bb843cde050dcf50278ecd3890ef97c016b9d404ac44 | 2058 | checksum: 82bc61f832f45e2033ea3522f66a94de50e5561577b1f3af226576ad5467c240375eba948d4ea1ca146e7871740fb3005e7c4f3f1ab616e79a5a5cedd9fdb789 |
2047 | languageName: node | 2059 | languageName: node |
2048 | linkType: hard | 2060 | linkType: hard |
2049 | 2061 | ||
2050 | "@npmcli/move-file@npm:^1.0.1": | 2062 | "@npmcli/move-file@npm:^2.0.0": |
2051 | version: 1.1.2 | 2063 | version: 2.0.1 |
2052 | resolution: "@npmcli/move-file@npm:1.1.2" | 2064 | resolution: "@npmcli/move-file@npm:2.0.1" |
2053 | dependencies: | 2065 | dependencies: |
2054 | mkdirp: "npm:^1.0.4" | 2066 | mkdirp: "npm:^1.0.4" |
2055 | rimraf: "npm:^3.0.2" | 2067 | rimraf: "npm:^3.0.2" |
2056 | checksum: 6fdcd5e51041da8d3d84f6ba89ff290900bf3adb736816c4b441b1fc8a41045db7253860c54a4ccdeb0e84e1c9548551bfb893f7392423de752a016a2a16952a | 2068 | checksum: 3557a12cd18dfb5bcd5d5cf910b783832af50ffba28fd5bb510c3c56b2df0481558b9ec6d3008e8eeefb9f2944bdc1d34832b1a8bbf6ad1cd2f256bf12c84ff0 |
2057 | languageName: node | 2069 | languageName: node |
2058 | linkType: hard | 2070 | linkType: hard |
2059 | 2071 | ||
@@ -2071,10 +2083,10 @@ __metadata: | |||
2071 | languageName: node | 2083 | languageName: node |
2072 | linkType: hard | 2084 | linkType: hard |
2073 | 2085 | ||
2074 | "@popperjs/core@npm:^2.11.6": | 2086 | "@popperjs/core@npm:^2.11.7": |
2075 | version: 2.11.6 | 2087 | version: 2.11.7 |
2076 | resolution: "@popperjs/core@npm:2.11.6" | 2088 | resolution: "@popperjs/core@npm:2.11.7" |
2077 | checksum: 39ed8d02c4d16dbe90bc537f7d4702320a95276d1fd902f74a48f544c6214a89a51a13f81603cb08786156350734f54834c41e011857637ae25340519d6160df | 2089 | checksum: 6d9dfd4ce852e6c6d6f4d27ae955d29869bc6f511fefcf1b80881029b072fe663d70f7fc7959ad6f3e6ad1a686d1141658a46e1d44c15d88c12f14907a2c352a |
2078 | languageName: node | 2090 | languageName: node |
2079 | linkType: hard | 2091 | linkType: hard |
2080 | 2092 | ||
@@ -2082,46 +2094,47 @@ __metadata: | |||
2082 | version: 0.0.0-use.local | 2094 | version: 0.0.0-use.local |
2083 | resolution: "@refinery/frontend@workspace:subprojects/frontend" | 2095 | resolution: "@refinery/frontend@workspace:subprojects/frontend" |
2084 | dependencies: | 2096 | dependencies: |
2085 | "@codemirror/autocomplete": "npm:^6.4.0" | 2097 | "@codemirror/autocomplete": "npm:^6.4.2" |
2086 | "@codemirror/commands": "npm:^6.2.0" | 2098 | "@codemirror/commands": "npm:^6.2.2" |
2087 | "@codemirror/language": "npm:^6.4.0" | 2099 | "@codemirror/language": "npm:^6.6.0" |
2088 | "@codemirror/lint": "npm:^6.1.0" | 2100 | "@codemirror/lint": "npm:^6.2.0" |
2089 | "@codemirror/search": "npm:^6.2.3" | 2101 | "@codemirror/search": "npm:^6.3.0" |
2090 | "@codemirror/state": "npm:^6.2.0" | 2102 | "@codemirror/state": "npm:^6.2.0" |
2091 | "@codemirror/view": "npm:^6.7.3" | 2103 | "@codemirror/view": "npm:^6.9.3" |
2092 | "@emotion/react": "npm:^11.10.5" | 2104 | "@emotion/react": "npm:^11.10.6" |
2093 | "@emotion/styled": "npm:^11.10.5" | 2105 | "@emotion/styled": "npm:^11.10.6" |
2094 | "@fontsource/inter": "npm:^4.5.15" | 2106 | "@fontsource/inter": "npm:^4.5.15" |
2095 | "@fontsource/jetbrains-mono": "npm:^4.5.12" | 2107 | "@fontsource/jetbrains-mono": "npm:^4.5.12" |
2096 | "@lezer/common": "npm:^1.0.2" | 2108 | "@lezer/common": "npm:^1.0.2" |
2097 | "@lezer/generator": "npm:^1.2.2" | 2109 | "@lezer/generator": "npm:^1.2.2" |
2098 | "@lezer/highlight": "npm:^1.1.3" | 2110 | "@lezer/highlight": "npm:^1.1.4" |
2099 | "@lezer/lr": "npm:^1.3.3" | 2111 | "@lezer/lr": "npm:^1.3.3" |
2100 | "@material-icons/svg": "npm:^1.0.33" | 2112 | "@material-icons/svg": "npm:^1.0.33" |
2101 | "@mui/icons-material": "npm:5.11.0" | 2113 | "@mui/icons-material": "npm:5.11.11" |
2102 | "@mui/material": "npm:5.11.7" | 2114 | "@mui/material": "npm:5.11.15" |
2103 | "@tsconfig/node18-strictest-esm": "npm:^1.0.1" | 2115 | "@tsconfig/strictest": "npm:^2.0.0" |
2104 | "@types/eslint": "npm:^8.21.0" | 2116 | "@types/eslint": "npm:^8.37.0" |
2105 | "@types/html-minifier-terser": "npm:^7.0.0" | 2117 | "@types/html-minifier-terser": "npm:^7.0.0" |
2106 | "@types/lodash-es": "npm:^4.17.6" | 2118 | "@types/lodash-es": "npm:^4.17.7" |
2107 | "@types/micromatch": "npm:^4.0.2" | 2119 | "@types/micromatch": "npm:^4.0.2" |
2108 | "@types/ms": "npm:^0.7.31" | 2120 | "@types/ms": "npm:^0.7.31" |
2109 | "@types/node": "npm:^18.11.18" | 2121 | "@types/node": "npm:^18.15.11" |
2110 | "@types/prettier": "npm:^2.7.2" | 2122 | "@types/prettier": "npm:^2.7.2" |
2111 | "@types/react": "npm:^18.0.27" | 2123 | "@types/react": "npm:^18.0.31" |
2112 | "@types/react-dom": "npm:^18.0.10" | 2124 | "@types/react-dom": "npm:^18.0.11" |
2113 | "@typescript-eslint/eslint-plugin": "npm:^5.50.0" | 2125 | "@typescript-eslint/eslint-plugin": "npm:^5.57.0" |
2114 | "@typescript-eslint/parser": "npm:^5.50.0" | 2126 | "@typescript-eslint/parser": "npm:^5.57.0" |
2115 | "@vitejs/plugin-react-swc": "npm:^3.1.0" | 2127 | "@vitejs/plugin-react-swc": "npm:^3.2.0" |
2116 | "@xstate/cli": "npm:^0.4.2" | 2128 | "@xstate/cli": "npm:^0.4.2" |
2117 | ansi-styles: "npm:^6.2.1" | 2129 | ansi-styles: "npm:^6.2.1" |
2118 | cross-env: "npm:^7.0.3" | 2130 | cross-env: "npm:^7.0.3" |
2131 | csstype: "npm:^3.1.1" | ||
2119 | escape-string-regexp: "npm:^5.0.0" | 2132 | escape-string-regexp: "npm:^5.0.0" |
2120 | eslint: "npm:^8.33.0" | 2133 | eslint: "npm:^8.37.0" |
2121 | eslint-config-airbnb: "npm:^19.0.4" | 2134 | eslint-config-airbnb: "npm:^19.0.4" |
2122 | eslint-config-airbnb-typescript: "npm:^17.0.0" | 2135 | eslint-config-airbnb-typescript: "npm:^17.0.0" |
2123 | eslint-config-prettier: "npm:^8.6.0" | 2136 | eslint-config-prettier: "npm:^8.8.0" |
2124 | eslint-import-resolver-typescript: "npm:^3.5.3" | 2137 | eslint-import-resolver-typescript: "npm:^3.5.4" |
2125 | eslint-plugin-import: "npm:^2.27.5" | 2138 | eslint-plugin-import: "npm:^2.27.5" |
2126 | eslint-plugin-jsx-a11y: "npm:^6.7.1" | 2139 | eslint-plugin-jsx-a11y: "npm:^6.7.1" |
2127 | eslint-plugin-mobx: "npm:^0.0.9" | 2140 | eslint-plugin-mobx: "npm:^0.0.9" |
@@ -2133,20 +2146,20 @@ __metadata: | |||
2133 | loglevel: "npm:^1.8.1" | 2146 | loglevel: "npm:^1.8.1" |
2134 | loglevel-plugin-prefix: "npm:^0.8.4" | 2147 | loglevel-plugin-prefix: "npm:^0.8.4" |
2135 | micromatch: "npm:^4.0.5" | 2148 | micromatch: "npm:^4.0.5" |
2136 | mobx: "npm:^6.7.0" | 2149 | mobx: "npm:^6.9.0" |
2137 | mobx-react-lite: "npm:^3.4.0" | 2150 | mobx-react-lite: "npm:^3.4.3" |
2138 | ms: "npm:^2.1.3" | 2151 | ms: "npm:^2.1.3" |
2139 | nanoid: "npm:^4.0.0" | 2152 | nanoid: "npm:^4.0.2" |
2140 | notistack: "npm:^2.0.8" | 2153 | notistack: "npm:^3.0.1" |
2141 | prettier: "npm:^2.8.3" | 2154 | prettier: "npm:^2.8.7" |
2142 | react: "npm:^18.2.0" | 2155 | react: "npm:^18.2.0" |
2143 | react-dom: "npm:^18.2.0" | 2156 | react-dom: "npm:^18.2.0" |
2144 | typescript: "npm:4.9.5" | 2157 | typescript: "npm:5.0.3" |
2145 | vite: "npm:^4.1.1" | 2158 | vite: "npm:^4.2.1" |
2146 | vite-plugin-pwa: "npm:^0.14.1" | 2159 | vite-plugin-pwa: "npm:^0.14.7" |
2147 | workbox-window: "npm:^6.5.4" | 2160 | workbox-window: "npm:^6.5.4" |
2148 | xstate: "npm:^4.35.4" | 2161 | xstate: "npm:^4.37.1" |
2149 | zod: "npm:^3.20.2" | 2162 | zod: "npm:^3.21.4" |
2150 | languageName: unknown | 2163 | languageName: unknown |
2151 | linkType: soft | 2164 | linkType: soft |
2152 | 2165 | ||
@@ -2154,8 +2167,8 @@ __metadata: | |||
2154 | version: 0.0.0-use.local | 2167 | version: 0.0.0-use.local |
2155 | resolution: "@refinery/root@workspace:." | 2168 | resolution: "@refinery/root@workspace:." |
2156 | dependencies: | 2169 | dependencies: |
2157 | eslint: "npm:^8.33.0" | 2170 | eslint: "npm:^8.37.0" |
2158 | typescript: "npm:4.9.5" | 2171 | typescript: "npm:5.0.3" |
2159 | languageName: unknown | 2172 | languageName: unknown |
2160 | linkType: soft | 2173 | linkType: soft |
2161 | 2174 | ||
@@ -2260,90 +2273,90 @@ __metadata: | |||
2260 | languageName: node | 2273 | languageName: node |
2261 | linkType: hard | 2274 | linkType: hard |
2262 | 2275 | ||
2263 | "@swc/core-darwin-arm64@npm:1.3.32": | 2276 | "@swc/core-darwin-arm64@npm:1.3.36": |
2264 | version: 1.3.32 | 2277 | version: 1.3.36 |
2265 | resolution: "@swc/core-darwin-arm64@npm:1.3.32" | 2278 | resolution: "@swc/core-darwin-arm64@npm:1.3.36" |
2266 | conditions: os=darwin & cpu=arm64 | 2279 | conditions: os=darwin & cpu=arm64 |
2267 | languageName: node | 2280 | languageName: node |
2268 | linkType: hard | 2281 | linkType: hard |
2269 | 2282 | ||
2270 | "@swc/core-darwin-x64@npm:1.3.32": | 2283 | "@swc/core-darwin-x64@npm:1.3.36": |
2271 | version: 1.3.32 | 2284 | version: 1.3.36 |
2272 | resolution: "@swc/core-darwin-x64@npm:1.3.32" | 2285 | resolution: "@swc/core-darwin-x64@npm:1.3.36" |
2273 | conditions: os=darwin & cpu=x64 | 2286 | conditions: os=darwin & cpu=x64 |
2274 | languageName: node | 2287 | languageName: node |
2275 | linkType: hard | 2288 | linkType: hard |
2276 | 2289 | ||
2277 | "@swc/core-linux-arm-gnueabihf@npm:1.3.32": | 2290 | "@swc/core-linux-arm-gnueabihf@npm:1.3.36": |
2278 | version: 1.3.32 | 2291 | version: 1.3.36 |
2279 | resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.32" | 2292 | resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.36" |
2280 | conditions: os=linux & cpu=arm | 2293 | conditions: os=linux & cpu=arm |
2281 | languageName: node | 2294 | languageName: node |
2282 | linkType: hard | 2295 | linkType: hard |
2283 | 2296 | ||
2284 | "@swc/core-linux-arm64-gnu@npm:1.3.32": | 2297 | "@swc/core-linux-arm64-gnu@npm:1.3.36": |
2285 | version: 1.3.32 | 2298 | version: 1.3.36 |
2286 | resolution: "@swc/core-linux-arm64-gnu@npm:1.3.32" | 2299 | resolution: "@swc/core-linux-arm64-gnu@npm:1.3.36" |
2287 | conditions: os=linux & cpu=arm64 & libc=glibc | 2300 | conditions: os=linux & cpu=arm64 & libc=glibc |
2288 | languageName: node | 2301 | languageName: node |
2289 | linkType: hard | 2302 | linkType: hard |
2290 | 2303 | ||
2291 | "@swc/core-linux-arm64-musl@npm:1.3.32": | 2304 | "@swc/core-linux-arm64-musl@npm:1.3.36": |
2292 | version: 1.3.32 | 2305 | version: 1.3.36 |
2293 | resolution: "@swc/core-linux-arm64-musl@npm:1.3.32" | 2306 | resolution: "@swc/core-linux-arm64-musl@npm:1.3.36" |
2294 | conditions: os=linux & cpu=arm64 & libc=musl | 2307 | conditions: os=linux & cpu=arm64 & libc=musl |
2295 | languageName: node | 2308 | languageName: node |
2296 | linkType: hard | 2309 | linkType: hard |
2297 | 2310 | ||
2298 | "@swc/core-linux-x64-gnu@npm:1.3.32": | 2311 | "@swc/core-linux-x64-gnu@npm:1.3.36": |
2299 | version: 1.3.32 | 2312 | version: 1.3.36 |
2300 | resolution: "@swc/core-linux-x64-gnu@npm:1.3.32" | 2313 | resolution: "@swc/core-linux-x64-gnu@npm:1.3.36" |
2301 | conditions: os=linux & cpu=x64 & libc=glibc | 2314 | conditions: os=linux & cpu=x64 & libc=glibc |
2302 | languageName: node | 2315 | languageName: node |
2303 | linkType: hard | 2316 | linkType: hard |
2304 | 2317 | ||
2305 | "@swc/core-linux-x64-musl@npm:1.3.32": | 2318 | "@swc/core-linux-x64-musl@npm:1.3.36": |
2306 | version: 1.3.32 | 2319 | version: 1.3.36 |
2307 | resolution: "@swc/core-linux-x64-musl@npm:1.3.32" | 2320 | resolution: "@swc/core-linux-x64-musl@npm:1.3.36" |
2308 | conditions: os=linux & cpu=x64 & libc=musl | 2321 | conditions: os=linux & cpu=x64 & libc=musl |
2309 | languageName: node | 2322 | languageName: node |
2310 | linkType: hard | 2323 | linkType: hard |
2311 | 2324 | ||
2312 | "@swc/core-win32-arm64-msvc@npm:1.3.32": | 2325 | "@swc/core-win32-arm64-msvc@npm:1.3.36": |
2313 | version: 1.3.32 | 2326 | version: 1.3.36 |
2314 | resolution: "@swc/core-win32-arm64-msvc@npm:1.3.32" | 2327 | resolution: "@swc/core-win32-arm64-msvc@npm:1.3.36" |
2315 | conditions: os=win32 & cpu=arm64 | 2328 | conditions: os=win32 & cpu=arm64 |
2316 | languageName: node | 2329 | languageName: node |
2317 | linkType: hard | 2330 | linkType: hard |
2318 | 2331 | ||
2319 | "@swc/core-win32-ia32-msvc@npm:1.3.32": | 2332 | "@swc/core-win32-ia32-msvc@npm:1.3.36": |
2320 | version: 1.3.32 | 2333 | version: 1.3.36 |
2321 | resolution: "@swc/core-win32-ia32-msvc@npm:1.3.32" | 2334 | resolution: "@swc/core-win32-ia32-msvc@npm:1.3.36" |
2322 | conditions: os=win32 & cpu=ia32 | 2335 | conditions: os=win32 & cpu=ia32 |
2323 | languageName: node | 2336 | languageName: node |
2324 | linkType: hard | 2337 | linkType: hard |
2325 | 2338 | ||
2326 | "@swc/core-win32-x64-msvc@npm:1.3.32": | 2339 | "@swc/core-win32-x64-msvc@npm:1.3.36": |
2327 | version: 1.3.32 | 2340 | version: 1.3.36 |
2328 | resolution: "@swc/core-win32-x64-msvc@npm:1.3.32" | 2341 | resolution: "@swc/core-win32-x64-msvc@npm:1.3.36" |
2329 | conditions: os=win32 & cpu=x64 | 2342 | conditions: os=win32 & cpu=x64 |
2330 | languageName: node | 2343 | languageName: node |
2331 | linkType: hard | 2344 | linkType: hard |
2332 | 2345 | ||
2333 | "@swc/core@npm:^1.3.30": | 2346 | "@swc/core@npm:^1.3.35": |
2334 | version: 1.3.32 | 2347 | version: 1.3.36 |
2335 | resolution: "@swc/core@npm:1.3.32" | 2348 | resolution: "@swc/core@npm:1.3.36" |
2336 | dependencies: | 2349 | dependencies: |
2337 | "@swc/core-darwin-arm64": "npm:1.3.32" | 2350 | "@swc/core-darwin-arm64": "npm:1.3.36" |
2338 | "@swc/core-darwin-x64": "npm:1.3.32" | 2351 | "@swc/core-darwin-x64": "npm:1.3.36" |
2339 | "@swc/core-linux-arm-gnueabihf": "npm:1.3.32" | 2352 | "@swc/core-linux-arm-gnueabihf": "npm:1.3.36" |
2340 | "@swc/core-linux-arm64-gnu": "npm:1.3.32" | 2353 | "@swc/core-linux-arm64-gnu": "npm:1.3.36" |
2341 | "@swc/core-linux-arm64-musl": "npm:1.3.32" | 2354 | "@swc/core-linux-arm64-musl": "npm:1.3.36" |
2342 | "@swc/core-linux-x64-gnu": "npm:1.3.32" | 2355 | "@swc/core-linux-x64-gnu": "npm:1.3.36" |
2343 | "@swc/core-linux-x64-musl": "npm:1.3.32" | 2356 | "@swc/core-linux-x64-musl": "npm:1.3.36" |
2344 | "@swc/core-win32-arm64-msvc": "npm:1.3.32" | 2357 | "@swc/core-win32-arm64-msvc": "npm:1.3.36" |
2345 | "@swc/core-win32-ia32-msvc": "npm:1.3.32" | 2358 | "@swc/core-win32-ia32-msvc": "npm:1.3.36" |
2346 | "@swc/core-win32-x64-msvc": "npm:1.3.32" | 2359 | "@swc/core-win32-x64-msvc": "npm:1.3.36" |
2347 | dependenciesMeta: | 2360 | dependenciesMeta: |
2348 | "@swc/core-darwin-arm64": | 2361 | "@swc/core-darwin-arm64": |
2349 | optional: true | 2362 | optional: true |
@@ -2365,21 +2378,21 @@ __metadata: | |||
2365 | optional: true | 2378 | optional: true |
2366 | "@swc/core-win32-x64-msvc": | 2379 | "@swc/core-win32-x64-msvc": |
2367 | optional: true | 2380 | optional: true |
2368 | checksum: 546738f03411454070721ec64387761b0a817649d63c9328e5eed838f0104d4c5d79b8697bde73a20adc72eef9479715e374fad1687c2ed9dd5f1712f0591de9 | 2381 | checksum: eeb878fd88a5df1dda67b49657c92f333e0210b6b7469879bf8a22d71a35abfc6f2d40385ecdf5ae1dc3e0afaccf7567a3b1ee180a1f49be42482512aa9e6f10 |
2369 | languageName: node | 2382 | languageName: node |
2370 | linkType: hard | 2383 | linkType: hard |
2371 | 2384 | ||
2372 | "@tootallnate/once@npm:1": | 2385 | "@tootallnate/once@npm:2": |
2373 | version: 1.1.2 | 2386 | version: 2.0.0 |
2374 | resolution: "@tootallnate/once@npm:1.1.2" | 2387 | resolution: "@tootallnate/once@npm:2.0.0" |
2375 | checksum: 6d907308b0b5eaa8536a862e4292ab506ec56eb3df9fc45c3fa84b66e7053a1508ba26a7d8345295f332a06a320b80ae09af03d167e4b4d2ef9e595d3a9fa492 | 2388 | checksum: d9f7f2130a0a2e1ea50f3bc90b83a8b99c913bbb80d7a1706f7f4730292ef299d18443c3b57a42dfb17c6559c9085e13f751b1b6c969bcff7bee3eeaf9da4dec |
2376 | languageName: node | 2389 | languageName: node |
2377 | linkType: hard | 2390 | linkType: hard |
2378 | 2391 | ||
2379 | "@tsconfig/node18-strictest-esm@npm:^1.0.1": | 2392 | "@tsconfig/strictest@npm:^2.0.0": |
2380 | version: 1.0.1 | 2393 | version: 2.0.0 |
2381 | resolution: "@tsconfig/node18-strictest-esm@npm:1.0.1" | 2394 | resolution: "@tsconfig/strictest@npm:2.0.0" |
2382 | checksum: e60cd8fc182df4a1f982fed1efcefca660b44cae6740531aaf8b6e9d5e86409e7f81ec2d4e2f9f590eb6eb3cdb2024b81cd0863ceed69d12210ee7707dd10dc4 | 2395 | checksum: d3a0f23cc1b0bdfd3d4470dec51e83cb5750c4b867f3e4d74f6900160497d256a291cbc94f700fcb0cf77444618490f637b69d5eeeebe149c6164691f27dc3cd |
2383 | languageName: node | 2396 | languageName: node |
2384 | linkType: hard | 2397 | linkType: hard |
2385 | 2398 | ||
@@ -2390,13 +2403,13 @@ __metadata: | |||
2390 | languageName: node | 2403 | languageName: node |
2391 | linkType: hard | 2404 | linkType: hard |
2392 | 2405 | ||
2393 | "@types/eslint@npm:^8.21.0": | 2406 | "@types/eslint@npm:^8.37.0": |
2394 | version: 8.21.0 | 2407 | version: 8.37.0 |
2395 | resolution: "@types/eslint@npm:8.21.0" | 2408 | resolution: "@types/eslint@npm:8.37.0" |
2396 | dependencies: | 2409 | dependencies: |
2397 | "@types/estree": "npm:*" | 2410 | "@types/estree": "npm:*" |
2398 | "@types/json-schema": "npm:*" | 2411 | "@types/json-schema": "npm:*" |
2399 | checksum: ddb802f77b1a850666704019704588c0e3e1a5971865dc56a87b2722f3d5aa7290ccfff39ba59d7a13ee7c1c93150470029343e51b198a22d1596237fb9e5b95 | 2412 | checksum: 5a1b547b4fbebeb173fd3e4a717de868021a14322cb7bd1bc2b432f3ac3cfec2e268623d24543a4ca7787fe64c59dd310a6ee329199e9f16b0d168d26a2da026 |
2400 | languageName: node | 2413 | languageName: node |
2401 | linkType: hard | 2414 | linkType: hard |
2402 | 2415 | ||
@@ -2435,12 +2448,12 @@ __metadata: | |||
2435 | languageName: node | 2448 | languageName: node |
2436 | linkType: hard | 2449 | linkType: hard |
2437 | 2450 | ||
2438 | "@types/lodash-es@npm:^4.17.6": | 2451 | "@types/lodash-es@npm:^4.17.7": |
2439 | version: 4.17.6 | 2452 | version: 4.17.7 |
2440 | resolution: "@types/lodash-es@npm:4.17.6" | 2453 | resolution: "@types/lodash-es@npm:4.17.7" |
2441 | dependencies: | 2454 | dependencies: |
2442 | "@types/lodash": "npm:*" | 2455 | "@types/lodash": "npm:*" |
2443 | checksum: 78b7a3b9626bce41ca3b04fce5df499a983cd2396c25bff0d86c1437de73f82d1bbe13ef025e1e9d1848233ba248d696b43f8c49e34cb14f68a44d93ae707d2c | 2456 | checksum: 4dfde517db4cfc7b25b5a20a0851244c0ca4aebbdae272eebe77a3f3388eae6a4f47d7850cca712e0256c033a30bfebd366948b4286743e20e2c862c7c3830ad |
2444 | languageName: node | 2457 | languageName: node |
2445 | linkType: hard | 2458 | linkType: hard |
2446 | 2459 | ||
@@ -2467,10 +2480,10 @@ __metadata: | |||
2467 | languageName: node | 2480 | languageName: node |
2468 | linkType: hard | 2481 | linkType: hard |
2469 | 2482 | ||
2470 | "@types/node@npm:*, @types/node@npm:^18.11.18": | 2483 | "@types/node@npm:*, @types/node@npm:^18.15.11": |
2471 | version: 18.11.18 | 2484 | version: 18.15.11 |
2472 | resolution: "@types/node@npm:18.11.18" | 2485 | resolution: "@types/node@npm:18.15.11" |
2473 | checksum: bd39552701928d4a1613bc46adf8b65f8212064c2b5475a67161b6c4cef21ddb0a5c2ba062673213f8f5301ef6e171241a9e274a9b59c9fc1f5e2b69764740eb | 2486 | checksum: 2ad6c7aeb0841a821d5f0556ccbc9c0cec597cb31b5fe58b085740983f6b01a21a3c62c37ca642dd92b5de8935d6084896634af19f1f022e8d173049ad258a60 |
2474 | languageName: node | 2487 | languageName: node |
2475 | linkType: hard | 2488 | linkType: hard |
2476 | 2489 | ||
@@ -2495,12 +2508,12 @@ __metadata: | |||
2495 | languageName: node | 2508 | languageName: node |
2496 | linkType: hard | 2509 | linkType: hard |
2497 | 2510 | ||
2498 | "@types/react-dom@npm:^18.0.10": | 2511 | "@types/react-dom@npm:^18.0.11": |
2499 | version: 18.0.10 | 2512 | version: 18.0.11 |
2500 | resolution: "@types/react-dom@npm:18.0.10" | 2513 | resolution: "@types/react-dom@npm:18.0.11" |
2501 | dependencies: | 2514 | dependencies: |
2502 | "@types/react": "npm:*" | 2515 | "@types/react": "npm:*" |
2503 | checksum: 2c191e8dbe394e0690f8e5caacdb5ef710491478a95ceefc97cc8697e6e7e02c6a2fc3562b37791f92a4c08a6a82dd9dc57d42e8f98bce5f7e7110965845c068 | 2516 | checksum: 429119548045bb8ca6f34522c2698973fb92a0ebb1f1b2afa061e41ae9d091d10d0cc9bbbfd52b3cfe948486898cfaaf29d3721650a6d52dc0d3ab81c0245b82 |
2504 | languageName: node | 2517 | languageName: node |
2505 | linkType: hard | 2518 | linkType: hard |
2506 | 2519 | ||
@@ -2522,14 +2535,14 @@ __metadata: | |||
2522 | languageName: node | 2535 | languageName: node |
2523 | linkType: hard | 2536 | linkType: hard |
2524 | 2537 | ||
2525 | "@types/react@npm:*, @types/react@npm:^18.0.27": | 2538 | "@types/react@npm:*, @types/react@npm:^18.0.31": |
2526 | version: 18.0.27 | 2539 | version: 18.0.31 |
2527 | resolution: "@types/react@npm:18.0.27" | 2540 | resolution: "@types/react@npm:18.0.31" |
2528 | dependencies: | 2541 | dependencies: |
2529 | "@types/prop-types": "npm:*" | 2542 | "@types/prop-types": "npm:*" |
2530 | "@types/scheduler": "npm:*" | 2543 | "@types/scheduler": "npm:*" |
2531 | csstype: "npm:^3.0.2" | 2544 | csstype: "npm:^3.0.2" |
2532 | checksum: 75c0b64773dc36bd094b3cc7fff5fb4cc385f60d7696bec2e0243806de69f2a2e35bec25d31f51bbbd6681639d8682a2d6eb94379759c70afc2f3ef5f87927b5 | 2545 | checksum: 566a40c89bf50695e8feba6188e5bc390db2895a9d9cc05e3285a9365d13e3abe695c25947758955bea21b94ce112bafb0c21d9c6e9240bea801de070bf29d59 |
2533 | languageName: node | 2546 | languageName: node |
2534 | linkType: hard | 2547 | linkType: hard |
2535 | 2548 | ||
@@ -2563,18 +2576,18 @@ __metadata: | |||
2563 | languageName: node | 2576 | languageName: node |
2564 | linkType: hard | 2577 | linkType: hard |
2565 | 2578 | ||
2566 | "@typescript-eslint/eslint-plugin@npm:^5.50.0": | 2579 | "@typescript-eslint/eslint-plugin@npm:^5.57.0": |
2567 | version: 5.50.0 | 2580 | version: 5.57.0 |
2568 | resolution: "@typescript-eslint/eslint-plugin@npm:5.50.0" | 2581 | resolution: "@typescript-eslint/eslint-plugin@npm:5.57.0" |
2569 | dependencies: | 2582 | dependencies: |
2570 | "@typescript-eslint/scope-manager": "npm:5.50.0" | 2583 | "@eslint-community/regexpp": "npm:^4.4.0" |
2571 | "@typescript-eslint/type-utils": "npm:5.50.0" | 2584 | "@typescript-eslint/scope-manager": "npm:5.57.0" |
2572 | "@typescript-eslint/utils": "npm:5.50.0" | 2585 | "@typescript-eslint/type-utils": "npm:5.57.0" |
2586 | "@typescript-eslint/utils": "npm:5.57.0" | ||
2573 | debug: "npm:^4.3.4" | 2587 | debug: "npm:^4.3.4" |
2574 | grapheme-splitter: "npm:^1.0.4" | 2588 | grapheme-splitter: "npm:^1.0.4" |
2575 | ignore: "npm:^5.2.0" | 2589 | ignore: "npm:^5.2.0" |
2576 | natural-compare-lite: "npm:^1.4.0" | 2590 | natural-compare-lite: "npm:^1.4.0" |
2577 | regexpp: "npm:^3.2.0" | ||
2578 | semver: "npm:^7.3.7" | 2591 | semver: "npm:^7.3.7" |
2579 | tsutils: "npm:^3.21.0" | 2592 | tsutils: "npm:^3.21.0" |
2580 | peerDependencies: | 2593 | peerDependencies: |
@@ -2583,43 +2596,43 @@ __metadata: | |||
2583 | peerDependenciesMeta: | 2596 | peerDependenciesMeta: |
2584 | typescript: | 2597 | typescript: |
2585 | optional: true | 2598 | optional: true |
2586 | checksum: 92b4c1747ddf077214fe1860c64474153966ef38ddc49713a929bfa0f11853c07b41621a5105c8a453c70f6cb993f82245af3c4b95a95ff748f7fe453a530095 | 2599 | checksum: 91f9484747d8fad9d12516f52994e9792ae3529650bbc09277feed4b1880ca944280746278c550a0974512d87b93309e9fbf08974c3baa0b0eaffc8d55555b6f |
2587 | languageName: node | 2600 | languageName: node |
2588 | linkType: hard | 2601 | linkType: hard |
2589 | 2602 | ||
2590 | "@typescript-eslint/parser@npm:^5.50.0": | 2603 | "@typescript-eslint/parser@npm:^5.57.0": |
2591 | version: 5.50.0 | 2604 | version: 5.57.0 |
2592 | resolution: "@typescript-eslint/parser@npm:5.50.0" | 2605 | resolution: "@typescript-eslint/parser@npm:5.57.0" |
2593 | dependencies: | 2606 | dependencies: |
2594 | "@typescript-eslint/scope-manager": "npm:5.50.0" | 2607 | "@typescript-eslint/scope-manager": "npm:5.57.0" |
2595 | "@typescript-eslint/types": "npm:5.50.0" | 2608 | "@typescript-eslint/types": "npm:5.57.0" |
2596 | "@typescript-eslint/typescript-estree": "npm:5.50.0" | 2609 | "@typescript-eslint/typescript-estree": "npm:5.57.0" |
2597 | debug: "npm:^4.3.4" | 2610 | debug: "npm:^4.3.4" |
2598 | peerDependencies: | 2611 | peerDependencies: |
2599 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 | 2612 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 |
2600 | peerDependenciesMeta: | 2613 | peerDependenciesMeta: |
2601 | typescript: | 2614 | typescript: |
2602 | optional: true | 2615 | optional: true |
2603 | checksum: 67d5b5b714456b6c52fbf945869becb7f337f49312197120fc8dda82373d1fe310b3fa8fcac2ef92d967bceca6192bfc4a9f355df5d0c862d57ee3203cb7fe2d | 2616 | checksum: 147c20b5c08a1ce02fd79473ab8a6e6d12eb107b1e591dccdbb434db5f21347b9e63e4ef0db6836233442191c2e1c5e1bf78afd654164b46ede6ca35990a2e2d |
2604 | languageName: node | 2617 | languageName: node |
2605 | linkType: hard | 2618 | linkType: hard |
2606 | 2619 | ||
2607 | "@typescript-eslint/scope-manager@npm:5.50.0": | 2620 | "@typescript-eslint/scope-manager@npm:5.57.0": |
2608 | version: 5.50.0 | 2621 | version: 5.57.0 |
2609 | resolution: "@typescript-eslint/scope-manager@npm:5.50.0" | 2622 | resolution: "@typescript-eslint/scope-manager@npm:5.57.0" |
2610 | dependencies: | 2623 | dependencies: |
2611 | "@typescript-eslint/types": "npm:5.50.0" | 2624 | "@typescript-eslint/types": "npm:5.57.0" |
2612 | "@typescript-eslint/visitor-keys": "npm:5.50.0" | 2625 | "@typescript-eslint/visitor-keys": "npm:5.57.0" |
2613 | checksum: 06ab882dc92f11febac75d7a6989eef38882568dd7c9d1a6aafae9cb0d13f3d4b2e9761f81e54e145b4a4e4676a15ee70e510bfd979ac0b83919785385728ac9 | 2626 | checksum: 21b5b6b5793c6d9797e0106c1ab13e356283de7a34d95eeb49ece8016bad7977140689403a7d529828dacf9f1de314bc36961a96ffc39d81193cb2addbe86b7f |
2614 | languageName: node | 2627 | languageName: node |
2615 | linkType: hard | 2628 | linkType: hard |
2616 | 2629 | ||
2617 | "@typescript-eslint/type-utils@npm:5.50.0": | 2630 | "@typescript-eslint/type-utils@npm:5.57.0": |
2618 | version: 5.50.0 | 2631 | version: 5.57.0 |
2619 | resolution: "@typescript-eslint/type-utils@npm:5.50.0" | 2632 | resolution: "@typescript-eslint/type-utils@npm:5.57.0" |
2620 | dependencies: | 2633 | dependencies: |
2621 | "@typescript-eslint/typescript-estree": "npm:5.50.0" | 2634 | "@typescript-eslint/typescript-estree": "npm:5.57.0" |
2622 | "@typescript-eslint/utils": "npm:5.50.0" | 2635 | "@typescript-eslint/utils": "npm:5.57.0" |
2623 | debug: "npm:^4.3.4" | 2636 | debug: "npm:^4.3.4" |
2624 | tsutils: "npm:^3.21.0" | 2637 | tsutils: "npm:^3.21.0" |
2625 | peerDependencies: | 2638 | peerDependencies: |
@@ -2627,23 +2640,23 @@ __metadata: | |||
2627 | peerDependenciesMeta: | 2640 | peerDependenciesMeta: |
2628 | typescript: | 2641 | typescript: |
2629 | optional: true | 2642 | optional: true |
2630 | checksum: 6559b90d56516d114cd620da3caea3898200cbfd93896932753951ae4cb3ffe2caf932784e6997d2fceaf273979546519d65f5ba7512a7252cd3867a0f0aad02 | 2643 | checksum: 42ffcee993ceb67a18f09e9db5cd0cc69711dfd24b22a0990b61e551d7041538ddd24973f631d03070faa4501e62db30d421fa19eb3b8760aa6094147ca3f4fa |
2631 | languageName: node | 2644 | languageName: node |
2632 | linkType: hard | 2645 | linkType: hard |
2633 | 2646 | ||
2634 | "@typescript-eslint/types@npm:5.50.0": | 2647 | "@typescript-eslint/types@npm:5.57.0": |
2635 | version: 5.50.0 | 2648 | version: 5.57.0 |
2636 | resolution: "@typescript-eslint/types@npm:5.50.0" | 2649 | resolution: "@typescript-eslint/types@npm:5.57.0" |
2637 | checksum: a872c53714db51c27e66429f19671bdf089c044ec023a2e05fde527d2fd2e04b6d9e5ac006f6609dc99a3c39cf6d77929dd0c5392be9473fae9bb66bcab2fa92 | 2650 | checksum: 0395cb9abb12534019033d9802798a072662bc184d79f0a4365294b2086c5e3617e78a76451ec7461f73e3b41327467f8ec124543ae812fa8c61060bbb297e1d |
2638 | languageName: node | 2651 | languageName: node |
2639 | linkType: hard | 2652 | linkType: hard |
2640 | 2653 | ||
2641 | "@typescript-eslint/typescript-estree@npm:5.50.0": | 2654 | "@typescript-eslint/typescript-estree@npm:5.57.0": |
2642 | version: 5.50.0 | 2655 | version: 5.57.0 |
2643 | resolution: "@typescript-eslint/typescript-estree@npm:5.50.0" | 2656 | resolution: "@typescript-eslint/typescript-estree@npm:5.57.0" |
2644 | dependencies: | 2657 | dependencies: |
2645 | "@typescript-eslint/types": "npm:5.50.0" | 2658 | "@typescript-eslint/types": "npm:5.57.0" |
2646 | "@typescript-eslint/visitor-keys": "npm:5.50.0" | 2659 | "@typescript-eslint/visitor-keys": "npm:5.57.0" |
2647 | debug: "npm:^4.3.4" | 2660 | debug: "npm:^4.3.4" |
2648 | globby: "npm:^11.1.0" | 2661 | globby: "npm:^11.1.0" |
2649 | is-glob: "npm:^4.0.3" | 2662 | is-glob: "npm:^4.0.3" |
@@ -2652,46 +2665,46 @@ __metadata: | |||
2652 | peerDependenciesMeta: | 2665 | peerDependenciesMeta: |
2653 | typescript: | 2666 | typescript: |
2654 | optional: true | 2667 | optional: true |
2655 | checksum: 66ae8bbcc8fa556613c9d4f77677cc765b008e81f46b7c7425fa6d9a3c470ee0bd4df82d816aefcab748d0f88b6ac817e304157cdb04a21b22ca9c4a8d444f9c | 2668 | checksum: 34f7e4186f938d319a6df51dcdadba548e22d20674d7c826a3ffedce2723224e42982ff76547bc28f3357580a32ab27d107f3e312607924156fe15985c9431ee |
2656 | languageName: node | 2669 | languageName: node |
2657 | linkType: hard | 2670 | linkType: hard |
2658 | 2671 | ||
2659 | "@typescript-eslint/utils@npm:5.50.0": | 2672 | "@typescript-eslint/utils@npm:5.57.0": |
2660 | version: 5.50.0 | 2673 | version: 5.57.0 |
2661 | resolution: "@typescript-eslint/utils@npm:5.50.0" | 2674 | resolution: "@typescript-eslint/utils@npm:5.57.0" |
2662 | dependencies: | 2675 | dependencies: |
2676 | "@eslint-community/eslint-utils": "npm:^4.2.0" | ||
2663 | "@types/json-schema": "npm:^7.0.9" | 2677 | "@types/json-schema": "npm:^7.0.9" |
2664 | "@types/semver": "npm:^7.3.12" | 2678 | "@types/semver": "npm:^7.3.12" |
2665 | "@typescript-eslint/scope-manager": "npm:5.50.0" | 2679 | "@typescript-eslint/scope-manager": "npm:5.57.0" |
2666 | "@typescript-eslint/types": "npm:5.50.0" | 2680 | "@typescript-eslint/types": "npm:5.57.0" |
2667 | "@typescript-eslint/typescript-estree": "npm:5.50.0" | 2681 | "@typescript-eslint/typescript-estree": "npm:5.57.0" |
2668 | eslint-scope: "npm:^5.1.1" | 2682 | eslint-scope: "npm:^5.1.1" |
2669 | eslint-utils: "npm:^3.0.0" | ||
2670 | semver: "npm:^7.3.7" | 2683 | semver: "npm:^7.3.7" |
2671 | peerDependencies: | 2684 | peerDependencies: |
2672 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 | 2685 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 |
2673 | checksum: 8279671c4e36d26bf708a71658efddd49699aa99f02e47d4bba3ebc4f4f03e7e49bf836f5b76509f429d98c271436613623c2d6d45cc8c6720622272f62f909b | 2686 | checksum: 5b3007f7db5dfdf1eb1befbef69bb2dfd1352cc8c21f78f31727c02c075eab06a3d59a4a30f4a417589a3f635f4c541a0180efa4b05baf6003911005029d5b05 |
2674 | languageName: node | 2687 | languageName: node |
2675 | linkType: hard | 2688 | linkType: hard |
2676 | 2689 | ||
2677 | "@typescript-eslint/visitor-keys@npm:5.50.0": | 2690 | "@typescript-eslint/visitor-keys@npm:5.57.0": |
2678 | version: 5.50.0 | 2691 | version: 5.57.0 |
2679 | resolution: "@typescript-eslint/visitor-keys@npm:5.50.0" | 2692 | resolution: "@typescript-eslint/visitor-keys@npm:5.57.0" |
2680 | dependencies: | 2693 | dependencies: |
2681 | "@typescript-eslint/types": "npm:5.50.0" | 2694 | "@typescript-eslint/types": "npm:5.57.0" |
2682 | eslint-visitor-keys: "npm:^3.3.0" | 2695 | eslint-visitor-keys: "npm:^3.3.0" |
2683 | checksum: e8b79a969e7c64e90b527c808c7998fe4f4e329905578018b527bdc58ad1f48b5339fbd232afbebacb1754a1bac335f06a86f184b2b10ab35cf90766c4576a08 | 2696 | checksum: 19a09590cf2a4218dbc5a5ddf09acf989a450a635c881d9ca77ae2f7075fc5f14386fa4cf9ceb2bdbfd4166e81ff0089ab1b6c6ee999ed32830374ff25f87ea1 |
2684 | languageName: node | 2697 | languageName: node |
2685 | linkType: hard | 2698 | linkType: hard |
2686 | 2699 | ||
2687 | "@vitejs/plugin-react-swc@npm:^3.1.0": | 2700 | "@vitejs/plugin-react-swc@npm:^3.2.0": |
2688 | version: 3.1.0 | 2701 | version: 3.2.0 |
2689 | resolution: "@vitejs/plugin-react-swc@npm:3.1.0" | 2702 | resolution: "@vitejs/plugin-react-swc@npm:3.2.0" |
2690 | dependencies: | 2703 | dependencies: |
2691 | "@swc/core": "npm:^1.3.30" | 2704 | "@swc/core": "npm:^1.3.35" |
2692 | peerDependencies: | 2705 | peerDependencies: |
2693 | vite: ^4 | 2706 | vite: ^4 |
2694 | checksum: 550634924cee9edb6545a1519b4ad577c53d650ffe3ae26c437a36b329278d09f35ea36d96e0ccd4a35fcabe202f8a797e58a5a871f2294c5adaf45476a53ea6 | 2707 | checksum: cd5da8d9f96261d5b062f588393576748d75c245242fa8cd88ec1a983510cd3d5aeadc58f543f5a8a51e214866d966492a743b0f284197b531a00a202487b32c |
2695 | languageName: node | 2708 | languageName: node |
2696 | linkType: hard | 2709 | linkType: hard |
2697 | 2710 | ||
@@ -2737,7 +2750,7 @@ __metadata: | |||
2737 | languageName: node | 2750 | languageName: node |
2738 | linkType: hard | 2751 | linkType: hard |
2739 | 2752 | ||
2740 | "abbrev@npm:1": | 2753 | "abbrev@npm:^1.0.0": |
2741 | version: 1.1.1 | 2754 | version: 1.1.1 |
2742 | resolution: "abbrev@npm:1.1.1" | 2755 | resolution: "abbrev@npm:1.1.1" |
2743 | checksum: 76e7fb9283b13208d5cf55df46669f9cf5e72007cb66595849be2d5e96c0a43704132d030c5705f9447266183986e1e8a4fc3e9578cb60a1f19cf0157664f957 | 2756 | checksum: 76e7fb9283b13208d5cf55df46669f9cf5e72007cb66595849be2d5e96c0a43704132d030c5705f9447266183986e1e8a4fc3e9578cb60a1f19cf0157664f957 |
@@ -2754,11 +2767,11 @@ __metadata: | |||
2754 | linkType: hard | 2767 | linkType: hard |
2755 | 2768 | ||
2756 | "acorn@npm:^8.5.0, acorn@npm:^8.8.0": | 2769 | "acorn@npm:^8.5.0, acorn@npm:^8.8.0": |
2757 | version: 8.8.0 | 2770 | version: 8.8.2 |
2758 | resolution: "acorn@npm:8.8.0" | 2771 | resolution: "acorn@npm:8.8.2" |
2759 | bin: | 2772 | bin: |
2760 | acorn: bin/acorn | 2773 | acorn: bin/acorn |
2761 | checksum: 15b10fb381a8a0394a718eba147e120b9d1ae6ed087e61612ee5fda94f98182e5fcd78ef6725c027dc3c5677ce920617c14c359d7777e8ef6a058d2ba113f81f | 2774 | checksum: 5a47325f0aa08202080cb167d5b8103720d8a1d199f57988afa48bdfbc3c9973270b00e38c2c874240a49929625beaaae8c4ec683f5272b5f07f1119a457e5d0 |
2762 | languageName: node | 2775 | languageName: node |
2763 | linkType: hard | 2776 | linkType: hard |
2764 | 2777 | ||
@@ -2771,14 +2784,14 @@ __metadata: | |||
2771 | languageName: node | 2784 | languageName: node |
2772 | linkType: hard | 2785 | linkType: hard |
2773 | 2786 | ||
2774 | "agentkeepalive@npm:^4.1.3": | 2787 | "agentkeepalive@npm:^4.2.1": |
2775 | version: 4.1.4 | 2788 | version: 4.3.0 |
2776 | resolution: "agentkeepalive@npm:4.1.4" | 2789 | resolution: "agentkeepalive@npm:4.3.0" |
2777 | dependencies: | 2790 | dependencies: |
2778 | debug: "npm:^4.1.0" | 2791 | debug: "npm:^4.1.0" |
2779 | depd: "npm:^1.1.2" | 2792 | depd: "npm:^2.0.0" |
2780 | humanize-ms: "npm:^1.2.1" | 2793 | humanize-ms: "npm:^1.2.1" |
2781 | checksum: c9bb9b8537c540a5bdf25f5e9fa0ef924339ec013761b3272395ea1791f9adee3e6eb6fc8cfe006fe4fb90fc638186a1e1900eb808b07af23cb92707d3d2258f | 2794 | checksum: b3cce4e2faf86c01bad23b471a67f4aa2e6001b833bc2f63a3d5a8b2a671636f8aac7d215e6f8243ce1c07c7a5d8d5fa90ab894ff0d9f0c3e05c2cda801103fb |
2782 | languageName: node | 2795 | languageName: node |
2783 | linkType: hard | 2796 | linkType: hard |
2784 | 2797 | ||
@@ -2805,14 +2818,14 @@ __metadata: | |||
2805 | linkType: hard | 2818 | linkType: hard |
2806 | 2819 | ||
2807 | "ajv@npm:^8.6.0": | 2820 | "ajv@npm:^8.6.0": |
2808 | version: 8.11.0 | 2821 | version: 8.12.0 |
2809 | resolution: "ajv@npm:8.11.0" | 2822 | resolution: "ajv@npm:8.12.0" |
2810 | dependencies: | 2823 | dependencies: |
2811 | fast-deep-equal: "npm:^3.1.1" | 2824 | fast-deep-equal: "npm:^3.1.1" |
2812 | json-schema-traverse: "npm:^1.0.0" | 2825 | json-schema-traverse: "npm:^1.0.0" |
2813 | require-from-string: "npm:^2.0.2" | 2826 | require-from-string: "npm:^2.0.2" |
2814 | uri-js: "npm:^4.2.2" | 2827 | uri-js: "npm:^4.2.2" |
2815 | checksum: 08625cf91d13177f3064cf333c7e041bba66f8aa811884a2de5c08b420add67b481779368b0bbf8fc232400b7a3f47aa78459d48ac73e60568c5afec538aa02b | 2828 | checksum: adab5a15cfce05aa97767b5f01da510f79f351021c643b5593b001dc5063aac3822d9265da94f7e39fd32cc4054277e43728aa522f83d82daca50858a5c29361 |
2816 | languageName: node | 2829 | languageName: node |
2817 | linkType: hard | 2830 | linkType: hard |
2818 | 2831 | ||
@@ -2849,12 +2862,12 @@ __metadata: | |||
2849 | linkType: hard | 2862 | linkType: hard |
2850 | 2863 | ||
2851 | "anymatch@npm:~3.1.2": | 2864 | "anymatch@npm:~3.1.2": |
2852 | version: 3.1.2 | 2865 | version: 3.1.3 |
2853 | resolution: "anymatch@npm:3.1.2" | 2866 | resolution: "anymatch@npm:3.1.3" |
2854 | dependencies: | 2867 | dependencies: |
2855 | normalize-path: "npm:^3.0.0" | 2868 | normalize-path: "npm:^3.0.0" |
2856 | picomatch: "npm:^2.0.4" | 2869 | picomatch: "npm:^2.0.4" |
2857 | checksum: b9266228a3e1406086ece57c20f9cbfc9755375218697c79a71fba9245ad23a672687314422e97753fbb3bccd245d7c76974d7c15ba513386b499de6ba002300 | 2870 | checksum: 0d50ce459783767bb68ce635c0a8f3e7de9843ebd6e6733accd59e13a49421a84944b8be5d68b5acecf74eca767a06229e07cae48151757744618e1a32dda0ed |
2858 | languageName: node | 2871 | languageName: node |
2859 | linkType: hard | 2872 | linkType: hard |
2860 | 2873 | ||
@@ -2865,13 +2878,13 @@ __metadata: | |||
2865 | languageName: node | 2878 | languageName: node |
2866 | linkType: hard | 2879 | linkType: hard |
2867 | 2880 | ||
2868 | "are-we-there-yet@npm:^2.0.0": | 2881 | "are-we-there-yet@npm:^3.0.0": |
2869 | version: 2.0.0 | 2882 | version: 3.0.1 |
2870 | resolution: "are-we-there-yet@npm:2.0.0" | 2883 | resolution: "are-we-there-yet@npm:3.0.1" |
2871 | dependencies: | 2884 | dependencies: |
2872 | delegates: "npm:^1.0.0" | 2885 | delegates: "npm:^1.0.0" |
2873 | readable-stream: "npm:^3.6.0" | 2886 | readable-stream: "npm:^3.6.0" |
2874 | checksum: 8e178f4924d1062cf04df1afb27927f005429805027ea5f8d751cb66287910a3584b9f0548d0a7aa490dff60a0600e1f31da0bb53344f65f0836234529908d3a | 2887 | checksum: 7137e25713c611cf38054434ba377e2f7ad3a4bbdb7ac3565ed5caac786080d1c86ed0b280edd917b4c1001ee0d6ed7bdd53effd69b5af4251e5a4fd18d09fbe |
2875 | languageName: node | 2888 | languageName: node |
2876 | linkType: hard | 2889 | linkType: hard |
2877 | 2890 | ||
@@ -2891,6 +2904,16 @@ __metadata: | |||
2891 | languageName: node | 2904 | languageName: node |
2892 | linkType: hard | 2905 | linkType: hard |
2893 | 2906 | ||
2907 | "array-buffer-byte-length@npm:^1.0.0": | ||
2908 | version: 1.0.0 | ||
2909 | resolution: "array-buffer-byte-length@npm:1.0.0" | ||
2910 | dependencies: | ||
2911 | call-bind: "npm:^1.0.2" | ||
2912 | is-array-buffer: "npm:^3.0.1" | ||
2913 | checksum: ff6fd5a16868943441dc2b8de7c0a8b070677457f1953d13b366e6fd01d7bf187a29268412ca5115f14031d3c00cea22c832af6da61569351d9967d8a5d803cb | ||
2914 | languageName: node | ||
2915 | linkType: hard | ||
2916 | |||
2894 | "array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": | 2917 | "array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": |
2895 | version: 3.1.6 | 2918 | version: 3.1.6 |
2896 | resolution: "array-includes@npm:3.1.6" | 2919 | resolution: "array-includes@npm:3.1.6" |
@@ -2986,9 +3009,9 @@ __metadata: | |||
2986 | linkType: hard | 3009 | linkType: hard |
2987 | 3010 | ||
2988 | "axe-core@npm:^4.6.2": | 3011 | "axe-core@npm:^4.6.2": |
2989 | version: 4.6.2 | 3012 | version: 4.6.3 |
2990 | resolution: "axe-core@npm:4.6.2" | 3013 | resolution: "axe-core@npm:4.6.3" |
2991 | checksum: d46654e4008499efe8cfb47c4de7ec4fd7ccd03dcd37dde3e37d1d3035ec5d784dac1112a0671d60f5f9ff116c25b9984dd3805f3db3fdd2ca3b4b254c2e2076 | 3014 | checksum: 0dea15ef524fdc92071f15958485cfc2d5b2c1820b79d542cf7368a5eade9fb9e03f9735ac6f03444238ec1aa544ddc93846925105c2f4edfb302e520c4c3076 |
2992 | languageName: node | 3015 | languageName: node |
2993 | linkType: hard | 3016 | linkType: hard |
2994 | 3017 | ||
@@ -3022,15 +3045,15 @@ __metadata: | |||
3022 | linkType: hard | 3045 | linkType: hard |
3023 | 3046 | ||
3024 | "babel-plugin-polyfill-corejs2@npm:^0.3.2": | 3047 | "babel-plugin-polyfill-corejs2@npm:^0.3.2": |
3025 | version: 0.3.2 | 3048 | version: 0.3.3 |
3026 | resolution: "babel-plugin-polyfill-corejs2@npm:0.3.2" | 3049 | resolution: "babel-plugin-polyfill-corejs2@npm:0.3.3" |
3027 | dependencies: | 3050 | dependencies: |
3028 | "@babel/compat-data": "npm:^7.17.7" | 3051 | "@babel/compat-data": "npm:^7.17.7" |
3029 | "@babel/helper-define-polyfill-provider": "npm:^0.3.2" | 3052 | "@babel/helper-define-polyfill-provider": "npm:^0.3.3" |
3030 | semver: "npm:^6.1.1" | 3053 | semver: "npm:^6.1.1" |
3031 | peerDependencies: | 3054 | peerDependencies: |
3032 | "@babel/core": ^7.0.0-0 | 3055 | "@babel/core": ^7.0.0-0 |
3033 | checksum: 1faae7c9107ca2e851c063b5da13878669ab44b2c09a270f521f1de8d30dbef7cae2af2b98d2c70bf164d975efeadf848e28f6c1eed5dea9ec62228750754074 | 3056 | checksum: a7a7dd4b47129eadcc1cb50ab16ca9876c0353a16dbfb4a8ebe44afd5beb576bb1dc852b6819658695e5f19988517f7428cb5003d86586f977e5bbd2a982689e |
3034 | languageName: node | 3057 | languageName: node |
3035 | linkType: hard | 3058 | linkType: hard |
3036 | 3059 | ||
@@ -3047,13 +3070,13 @@ __metadata: | |||
3047 | linkType: hard | 3070 | linkType: hard |
3048 | 3071 | ||
3049 | "babel-plugin-polyfill-regenerator@npm:^0.4.0": | 3072 | "babel-plugin-polyfill-regenerator@npm:^0.4.0": |
3050 | version: 0.4.0 | 3073 | version: 0.4.1 |
3051 | resolution: "babel-plugin-polyfill-regenerator@npm:0.4.0" | 3074 | resolution: "babel-plugin-polyfill-regenerator@npm:0.4.1" |
3052 | dependencies: | 3075 | dependencies: |
3053 | "@babel/helper-define-polyfill-provider": "npm:^0.3.2" | 3076 | "@babel/helper-define-polyfill-provider": "npm:^0.3.3" |
3054 | peerDependencies: | 3077 | peerDependencies: |
3055 | "@babel/core": ^7.0.0-0 | 3078 | "@babel/core": ^7.0.0-0 |
3056 | checksum: 43880dfd6b1ca5947acb82af3083180b58adb0032fcb55ee5d808405d1c997e3571cdcf3d1d1fc8df7bffbfb3f4f7d05f02b48f49302b75801eff77f9a557895 | 3079 | checksum: dfa6c1448285c90720cbac9a3237a1de0dce442492dfe20dd3755c7b2bc97f71f364ea1f2a7669785aaa50c058ed19998baff046de625e12da66072994a418ae |
3057 | languageName: node | 3080 | languageName: node |
3058 | linkType: hard | 3081 | linkType: hard |
3059 | 3082 | ||
@@ -3099,17 +3122,17 @@ __metadata: | |||
3099 | languageName: node | 3122 | languageName: node |
3100 | linkType: hard | 3123 | linkType: hard |
3101 | 3124 | ||
3102 | "browserslist@npm:^4.21.3": | 3125 | "browserslist@npm:^4.21.3, browserslist@npm:^4.21.5": |
3103 | version: 4.21.3 | 3126 | version: 4.21.5 |
3104 | resolution: "browserslist@npm:4.21.3" | 3127 | resolution: "browserslist@npm:4.21.5" |
3105 | dependencies: | 3128 | dependencies: |
3106 | caniuse-lite: "npm:^1.0.30001370" | 3129 | caniuse-lite: "npm:^1.0.30001449" |
3107 | electron-to-chromium: "npm:^1.4.202" | 3130 | electron-to-chromium: "npm:^1.4.284" |
3108 | node-releases: "npm:^2.0.6" | 3131 | node-releases: "npm:^2.0.8" |
3109 | update-browserslist-db: "npm:^1.0.5" | 3132 | update-browserslist-db: "npm:^1.0.10" |
3110 | bin: | 3133 | bin: |
3111 | browserslist: cli.js | 3134 | browserslist: cli.js |
3112 | checksum: 1c12b4b9b69138e1697aee58ad8b7e706fc868a90c03f9973ad8cf2bc5b283ccda07b4e7e751b7301b6df4726a41c6e8a9245e18ab3b11e0e4bc2cbfaeabaff3 | 3135 | checksum: 66c055357fda71fcde8a9dc1f5af7e5bd320670ad5199196275703e305b77f92969c07a70a383e8130cd0f8c98a8b6d2a211b57ee6b5b4c2ac37779d9800a6c4 |
3113 | languageName: node | 3136 | languageName: node |
3114 | linkType: hard | 3137 | linkType: hard |
3115 | 3138 | ||
@@ -3127,29 +3150,29 @@ __metadata: | |||
3127 | languageName: node | 3150 | languageName: node |
3128 | linkType: hard | 3151 | linkType: hard |
3129 | 3152 | ||
3130 | "cacache@npm:^15.2.0": | 3153 | "cacache@npm:^16.1.0": |
3131 | version: 15.3.0 | 3154 | version: 16.1.3 |
3132 | resolution: "cacache@npm:15.3.0" | 3155 | resolution: "cacache@npm:16.1.3" |
3133 | dependencies: | 3156 | dependencies: |
3134 | "@npmcli/fs": "npm:^1.0.0" | 3157 | "@npmcli/fs": "npm:^2.1.0" |
3135 | "@npmcli/move-file": "npm:^1.0.1" | 3158 | "@npmcli/move-file": "npm:^2.0.0" |
3136 | chownr: "npm:^2.0.0" | 3159 | chownr: "npm:^2.0.0" |
3137 | fs-minipass: "npm:^2.0.0" | 3160 | fs-minipass: "npm:^2.1.0" |
3138 | glob: "npm:^7.1.4" | 3161 | glob: "npm:^8.0.1" |
3139 | infer-owner: "npm:^1.0.4" | 3162 | infer-owner: "npm:^1.0.4" |
3140 | lru-cache: "npm:^6.0.0" | 3163 | lru-cache: "npm:^7.7.1" |
3141 | minipass: "npm:^3.1.1" | 3164 | minipass: "npm:^3.1.6" |
3142 | minipass-collect: "npm:^1.0.2" | 3165 | minipass-collect: "npm:^1.0.2" |
3143 | minipass-flush: "npm:^1.0.5" | 3166 | minipass-flush: "npm:^1.0.5" |
3144 | minipass-pipeline: "npm:^1.2.2" | 3167 | minipass-pipeline: "npm:^1.2.4" |
3145 | mkdirp: "npm:^1.0.3" | 3168 | mkdirp: "npm:^1.0.4" |
3146 | p-map: "npm:^4.0.0" | 3169 | p-map: "npm:^4.0.0" |
3147 | promise-inflight: "npm:^1.0.1" | 3170 | promise-inflight: "npm:^1.0.1" |
3148 | rimraf: "npm:^3.0.2" | 3171 | rimraf: "npm:^3.0.2" |
3149 | ssri: "npm:^8.0.1" | 3172 | ssri: "npm:^9.0.0" |
3150 | tar: "npm:^6.0.2" | 3173 | tar: "npm:^6.1.11" |
3151 | unique-filename: "npm:^1.1.1" | 3174 | unique-filename: "npm:^2.0.0" |
3152 | checksum: 7ee6c3ca9cddcb35071cfa592b54ef195b944b8df9dc844a2a4a5cb9a7dee1debb53b7bab4ec77b295d7310d59183829457c80bf55c56045bc3d8547c4e89d50 | 3175 | checksum: 54f39565219c47ac624e0efeae123551b5391844f18ae69d0c344f51ce2b9ae4adec62316e5eae7e11cf83c3c21f726a0117d55400182779dce687887ce3f50e |
3153 | languageName: node | 3176 | languageName: node |
3154 | linkType: hard | 3177 | linkType: hard |
3155 | 3178 | ||
@@ -3180,10 +3203,10 @@ __metadata: | |||
3180 | languageName: node | 3203 | languageName: node |
3181 | linkType: hard | 3204 | linkType: hard |
3182 | 3205 | ||
3183 | "caniuse-lite@npm:^1.0.30001370": | 3206 | "caniuse-lite@npm:^1.0.30001449": |
3184 | version: 1.0.30001370 | 3207 | version: 1.0.30001473 |
3185 | resolution: "caniuse-lite@npm:1.0.30001370" | 3208 | resolution: "caniuse-lite@npm:1.0.30001473" |
3186 | checksum: 8a8d8e9ab026aa8165da80e34a5f4814703314fef3197888ca30f6faca0af5c07532c16b45048d47fdfab9b9b110666c6ff541cc0e0dabf02b6b826a11d844c8 | 3209 | checksum: cdd4672faf6fec985579a9156d4e2e0bfbfdab1307c64e50f1b1d79a1b756e4a161dc98d19e0f47a940b58bb455b430c656faaba3799bb64956e24a9c9dbea02 |
3187 | languageName: node | 3210 | languageName: node |
3188 | linkType: hard | 3211 | linkType: hard |
3189 | 3212 | ||
@@ -3289,7 +3312,7 @@ __metadata: | |||
3289 | languageName: node | 3312 | languageName: node |
3290 | linkType: hard | 3313 | linkType: hard |
3291 | 3314 | ||
3292 | "color-support@npm:^1.1.2": | 3315 | "color-support@npm:^1.1.3": |
3293 | version: 1.1.3 | 3316 | version: 1.1.3 |
3294 | resolution: "color-support@npm:1.1.3" | 3317 | resolution: "color-support@npm:1.1.3" |
3295 | bin: | 3318 | bin: |
@@ -3313,9 +3336,9 @@ __metadata: | |||
3313 | linkType: hard | 3336 | linkType: hard |
3314 | 3337 | ||
3315 | "commander@npm:^9.4.1": | 3338 | "commander@npm:^9.4.1": |
3316 | version: 9.4.1 | 3339 | version: 9.5.0 |
3317 | resolution: "commander@npm:9.4.1" | 3340 | resolution: "commander@npm:9.5.0" |
3318 | checksum: 7d4c1f3bd4ad451f43fce51b9c73dc2d61fca00a9249196aa2d3d66fc46f2460c917c73ea9221c278fb8d35f496384f5125806e69108581a8e8bc673752c94e6 | 3341 | checksum: 1d09146ccb60400550629bcded4b72eeb100728207ecb2538dd827b19571dc16d3b0ee5da762d9bdbbe680ed5cca6658cac5bfce262b1b73eabe5ef8c15cdd9d |
3319 | languageName: node | 3342 | languageName: node |
3320 | linkType: hard | 3343 | linkType: hard |
3321 | 3344 | ||
@@ -3334,13 +3357,13 @@ __metadata: | |||
3334 | linkType: hard | 3357 | linkType: hard |
3335 | 3358 | ||
3336 | "confusing-browser-globals@npm:^1.0.10": | 3359 | "confusing-browser-globals@npm:^1.0.10": |
3337 | version: 1.0.10 | 3360 | version: 1.0.11 |
3338 | resolution: "confusing-browser-globals@npm:1.0.10" | 3361 | resolution: "confusing-browser-globals@npm:1.0.11" |
3339 | checksum: 152167105914af30de63f941a3405eb1973253d07b7c25a9705bc96ace915e8b9337a2cf8194523749832c52d47c1f7afea70dfccc6281be8dc174b4dd212a3e | 3362 | checksum: 1e2de021f111bd078564c4c6e03f1259260e297499de229875c583fac9de2de0719c75169bc24ed53020329e6f167c8c598c1228611baa72c6cf309204ddc192 |
3340 | languageName: node | 3363 | languageName: node |
3341 | linkType: hard | 3364 | linkType: hard |
3342 | 3365 | ||
3343 | "console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0": | 3366 | "console-control-strings@npm:^1.1.0": |
3344 | version: 1.1.0 | 3367 | version: 1.1.0 |
3345 | resolution: "console-control-strings@npm:1.1.0" | 3368 | resolution: "console-control-strings@npm:1.1.0" |
3346 | checksum: d286ffd439aac97472557325e6aa4cc3a2eefe495a70a9640b89508880db4bba1bd1b29bb011608c23033d884c84cac8da95c8f12ca0ec69ccc70d6d5f39c618 | 3369 | checksum: d286ffd439aac97472557325e6aa4cc3a2eefe495a70a9640b89508880db4bba1bd1b29bb011608c23033d884c84cac8da95c8f12ca0ec69ccc70d6d5f39c618 |
@@ -3348,34 +3371,31 @@ __metadata: | |||
3348 | linkType: hard | 3371 | linkType: hard |
3349 | 3372 | ||
3350 | "convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.7.0": | 3373 | "convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.7.0": |
3351 | version: 1.8.0 | 3374 | version: 1.9.0 |
3352 | resolution: "convert-source-map@npm:1.8.0" | 3375 | resolution: "convert-source-map@npm:1.9.0" |
3353 | dependencies: | 3376 | checksum: 7c665ec75a792623eff22413a59fb6646770063eb871efe7550cfba4f17177137ea300f964c2763db69355384398de491126fbe064fa83b25e3023b87711b6e4 |
3354 | safe-buffer: "npm:~5.1.1" | ||
3355 | checksum: 1548dbc3808672aec5942ada45bf57ceb2287ac2566e9935e35d95ffeab562f33ee1221922ec2ea7f3ff4b85828c8247599144069fae81a86e295cc932190dcf | ||
3356 | languageName: node | 3377 | languageName: node |
3357 | linkType: hard | 3378 | linkType: hard |
3358 | 3379 | ||
3359 | "core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.22.1": | 3380 | "core-js-compat@npm:^3.21.0, core-js-compat@npm:^3.22.1": |
3360 | version: 3.24.1 | 3381 | version: 3.29.1 |
3361 | resolution: "core-js-compat@npm:3.24.1" | 3382 | resolution: "core-js-compat@npm:3.29.1" |
3362 | dependencies: | 3383 | dependencies: |
3363 | browserslist: "npm:^4.21.3" | 3384 | browserslist: "npm:^4.21.5" |
3364 | semver: "npm:7.0.0" | 3385 | checksum: 83bf140005baa05ea461f1bc02fad065b9f5cb59c82259af9f79e44ff4b2844bb6402cf4a699a076bcf67e7a55c9f5138f348e406b2a9a4e29d5ab9778663eff |
3365 | checksum: 6e2180c33e614357bfb9bb933e2ed112d21c1d7e18e61a9c5ed1786d85f7c89f88a9bb54bb342ca4e8ae240dbb64749021db02612e1e6c7a4b3f43a954fc908f | ||
3366 | languageName: node | 3386 | languageName: node |
3367 | linkType: hard | 3387 | linkType: hard |
3368 | 3388 | ||
3369 | "cosmiconfig@npm:^7.0.0": | 3389 | "cosmiconfig@npm:^7.0.0": |
3370 | version: 7.0.1 | 3390 | version: 7.1.0 |
3371 | resolution: "cosmiconfig@npm:7.0.1" | 3391 | resolution: "cosmiconfig@npm:7.1.0" |
3372 | dependencies: | 3392 | dependencies: |
3373 | "@types/parse-json": "npm:^4.0.0" | 3393 | "@types/parse-json": "npm:^4.0.0" |
3374 | import-fresh: "npm:^3.2.1" | 3394 | import-fresh: "npm:^3.2.1" |
3375 | parse-json: "npm:^5.0.0" | 3395 | parse-json: "npm:^5.0.0" |
3376 | path-type: "npm:^4.0.0" | 3396 | path-type: "npm:^4.0.0" |
3377 | yaml: "npm:^1.10.0" | 3397 | yaml: "npm:^1.10.0" |
3378 | checksum: f5b0588faeb39d1bcb846504cb6693121bf6af4d09a5a0523a9201d189a769a067db33e36d6c6fe23937cc24f9771ad0e76ecb3056a4e244697867d62aa50ec0 | 3398 | checksum: 8add352f0abd55fc5eaef0823937c33992e5ae670831418c8ff98bb301952260467533b09b8e9257dc360baa270610a7a92b288d94eb25d6f577a0d7e507801b |
3379 | languageName: node | 3399 | languageName: node |
3380 | linkType: hard | 3400 | linkType: hard |
3381 | 3401 | ||
@@ -3430,7 +3450,7 @@ __metadata: | |||
3430 | languageName: node | 3450 | languageName: node |
3431 | linkType: hard | 3451 | linkType: hard |
3432 | 3452 | ||
3433 | "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4": | 3453 | "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": |
3434 | version: 4.3.4 | 3454 | version: 4.3.4 |
3435 | resolution: "debug@npm:4.3.4" | 3455 | resolution: "debug@npm:4.3.4" |
3436 | dependencies: | 3456 | dependencies: |
@@ -3484,9 +3504,9 @@ __metadata: | |||
3484 | linkType: hard | 3504 | linkType: hard |
3485 | 3505 | ||
3486 | "deepmerge@npm:^4.2.2": | 3506 | "deepmerge@npm:^4.2.2": |
3487 | version: 4.2.2 | 3507 | version: 4.3.1 |
3488 | resolution: "deepmerge@npm:4.2.2" | 3508 | resolution: "deepmerge@npm:4.3.1" |
3489 | checksum: f37e1f5e8cfca71833a43a5d14ad1bf533689b1e5acff72eefa9bdd26f1a4fe80153e29238e8b3052e5f8c4169a95992456f3b60cd50a9db94a84680712a9aca | 3509 | checksum: 367ae28f98c94b2807dd6eba48f4c3d051742c2ab431f1037d60f5cb5af989aac2b170b6a891d5617679bcb95881b4e22a0616161a1f2154894b349b13d384e0 |
3490 | languageName: node | 3510 | languageName: node |
3491 | linkType: hard | 3511 | linkType: hard |
3492 | 3512 | ||
@@ -3498,12 +3518,12 @@ __metadata: | |||
3498 | linkType: hard | 3518 | linkType: hard |
3499 | 3519 | ||
3500 | "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": | 3520 | "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": |
3501 | version: 1.1.4 | 3521 | version: 1.2.0 |
3502 | resolution: "define-properties@npm:1.1.4" | 3522 | resolution: "define-properties@npm:1.2.0" |
3503 | dependencies: | 3523 | dependencies: |
3504 | has-property-descriptors: "npm:^1.0.0" | 3524 | has-property-descriptors: "npm:^1.0.0" |
3505 | object-keys: "npm:^1.1.1" | 3525 | object-keys: "npm:^1.1.1" |
3506 | checksum: 94a6a24f787300c11c53b76e207e53908c86fd508f0dacf0bab49afff62b20439513e14318cebdb3223eef7a49d572eaf7f069a21af80e3ca3f898bbf22c9c8e | 3526 | checksum: f7d87afb83055124b9c0d18d1abb349ca0741d3c5c38e79422447ac800cea5ee1d0ffbc01f121f059964fd0f17e4d80602ba5533427b9dec18df0fa6b9c91585 |
3507 | languageName: node | 3527 | languageName: node |
3508 | linkType: hard | 3528 | linkType: hard |
3509 | 3529 | ||
@@ -3514,10 +3534,10 @@ __metadata: | |||
3514 | languageName: node | 3534 | languageName: node |
3515 | linkType: hard | 3535 | linkType: hard |
3516 | 3536 | ||
3517 | "depd@npm:^1.1.2": | 3537 | "depd@npm:^2.0.0": |
3518 | version: 1.1.2 | 3538 | version: 2.0.0 |
3519 | resolution: "depd@npm:1.1.2" | 3539 | resolution: "depd@npm:2.0.0" |
3520 | checksum: e9fb93771e7cf3d88c4e38ca95742f7c58cae31928eb5e67a1a14d970325a02755451bb7fafc2db72333a5cf7fc14e07e4f8d709c0df70143355e77e8d090bac | 3540 | checksum: 170e90bfa90081462303140623fdf938aeba2f066b1c7a9a1c599b257ea8127d36b9d39fad5a9d71f5282a3bb5a8ca287ce4d8c6cecd0f65e6bf3779cc6091be |
3521 | languageName: node | 3541 | languageName: node |
3522 | linkType: hard | 3542 | linkType: hard |
3523 | 3543 | ||
@@ -3569,20 +3589,20 @@ __metadata: | |||
3569 | linkType: hard | 3589 | linkType: hard |
3570 | 3590 | ||
3571 | "ejs@npm:^3.1.6": | 3591 | "ejs@npm:^3.1.6": |
3572 | version: 3.1.8 | 3592 | version: 3.1.9 |
3573 | resolution: "ejs@npm:3.1.8" | 3593 | resolution: "ejs@npm:3.1.9" |
3574 | dependencies: | 3594 | dependencies: |
3575 | jake: "npm:^10.8.5" | 3595 | jake: "npm:^10.8.5" |
3576 | bin: | 3596 | bin: |
3577 | ejs: bin/cli.js | 3597 | ejs: bin/cli.js |
3578 | checksum: 0135c63a1e0745cbbad1a44f64674535f46821b58a30f55b14f25812cdd8dc3036b70bdbb6fe79f8d7c438fb10ede54adcd2ac3f5a88a4734d0dee48b91e614f | 3598 | checksum: c970131c2c9831dc260d2420055c1e69500a75a460301cf3cac3bab8ff19cb15de2fcc2c695051420b123cd9f8c20c2a18154916d3494b4870ea68a0d677ac12 |
3579 | languageName: node | 3599 | languageName: node |
3580 | linkType: hard | 3600 | linkType: hard |
3581 | 3601 | ||
3582 | "electron-to-chromium@npm:^1.4.202": | 3602 | "electron-to-chromium@npm:^1.4.284": |
3583 | version: 1.4.202 | 3603 | version: 1.4.347 |
3584 | resolution: "electron-to-chromium@npm:1.4.202" | 3604 | resolution: "electron-to-chromium@npm:1.4.347" |
3585 | checksum: 731fbbc1977346d9877fdf1586f10b13db0c957d29d2ad97576841f6005defe1aa24aad86c7426a01d81b680c1ccd2a713829de7d98948887466fa090324a1e3 | 3605 | checksum: a8363b679c0aee9d4fcbd224e3625e9c52e608dfe3525b773b0c400c3c83cc50253f45e022f463d0ff2fb04d7eec4919babe79b6c1bfb5ada19d84876646763c |
3586 | languageName: node | 3606 | languageName: node |
3587 | linkType: hard | 3607 | linkType: hard |
3588 | 3608 | ||
@@ -3600,7 +3620,7 @@ __metadata: | |||
3600 | languageName: node | 3620 | languageName: node |
3601 | linkType: hard | 3621 | linkType: hard |
3602 | 3622 | ||
3603 | "encoding@npm:^0.1.12": | 3623 | "encoding@npm:^0.1.13": |
3604 | version: 0.1.13 | 3624 | version: 0.1.13 |
3605 | resolution: "encoding@npm:0.1.13" | 3625 | resolution: "encoding@npm:0.1.13" |
3606 | dependencies: | 3626 | dependencies: |
@@ -3609,13 +3629,13 @@ __metadata: | |||
3609 | languageName: node | 3629 | languageName: node |
3610 | linkType: hard | 3630 | linkType: hard |
3611 | 3631 | ||
3612 | "enhanced-resolve@npm:^5.10.0": | 3632 | "enhanced-resolve@npm:^5.12.0": |
3613 | version: 5.10.0 | 3633 | version: 5.12.0 |
3614 | resolution: "enhanced-resolve@npm:5.10.0" | 3634 | resolution: "enhanced-resolve@npm:5.12.0" |
3615 | dependencies: | 3635 | dependencies: |
3616 | graceful-fs: "npm:^4.2.4" | 3636 | graceful-fs: "npm:^4.2.4" |
3617 | tapable: "npm:^2.2.0" | 3637 | tapable: "npm:^2.2.0" |
3618 | checksum: 97f2cb6318920931b84ea1209b220b7f0324581eef434f16c1df95d1997a4bbd80cceabd6be81465cf450060dee84b265d317ac23276369756b2d8a3ca68e9d6 | 3638 | checksum: 37c59d96743be343aa8cf32540745675175125b105d0b9a4f72cfc9e8a5218e17139304a7e56e289f5795feb4d3b342345242f4d7c4d9f7df0e16aa1a8eede3e |
3619 | languageName: node | 3639 | languageName: node |
3620 | linkType: hard | 3640 | linkType: hard |
3621 | 3641 | ||
@@ -3649,51 +3669,73 @@ __metadata: | |||
3649 | languageName: node | 3669 | languageName: node |
3650 | linkType: hard | 3670 | linkType: hard |
3651 | 3671 | ||
3652 | "es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.5, es-abstract@npm:^1.20.4": | 3672 | "es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": |
3653 | version: 1.20.4 | 3673 | version: 1.21.2 |
3654 | resolution: "es-abstract@npm:1.20.4" | 3674 | resolution: "es-abstract@npm:1.21.2" |
3655 | dependencies: | 3675 | dependencies: |
3676 | array-buffer-byte-length: "npm:^1.0.0" | ||
3677 | available-typed-arrays: "npm:^1.0.5" | ||
3656 | call-bind: "npm:^1.0.2" | 3678 | call-bind: "npm:^1.0.2" |
3679 | es-set-tostringtag: "npm:^2.0.1" | ||
3657 | es-to-primitive: "npm:^1.2.1" | 3680 | es-to-primitive: "npm:^1.2.1" |
3658 | function-bind: "npm:^1.1.1" | ||
3659 | function.prototype.name: "npm:^1.1.5" | 3681 | function.prototype.name: "npm:^1.1.5" |
3660 | get-intrinsic: "npm:^1.1.3" | 3682 | get-intrinsic: "npm:^1.2.0" |
3661 | get-symbol-description: "npm:^1.0.0" | 3683 | get-symbol-description: "npm:^1.0.0" |
3684 | globalthis: "npm:^1.0.3" | ||
3685 | gopd: "npm:^1.0.1" | ||
3662 | has: "npm:^1.0.3" | 3686 | has: "npm:^1.0.3" |
3663 | has-property-descriptors: "npm:^1.0.0" | 3687 | has-property-descriptors: "npm:^1.0.0" |
3688 | has-proto: "npm:^1.0.1" | ||
3664 | has-symbols: "npm:^1.0.3" | 3689 | has-symbols: "npm:^1.0.3" |
3665 | internal-slot: "npm:^1.0.3" | 3690 | internal-slot: "npm:^1.0.5" |
3691 | is-array-buffer: "npm:^3.0.2" | ||
3666 | is-callable: "npm:^1.2.7" | 3692 | is-callable: "npm:^1.2.7" |
3667 | is-negative-zero: "npm:^2.0.2" | 3693 | is-negative-zero: "npm:^2.0.2" |
3668 | is-regex: "npm:^1.1.4" | 3694 | is-regex: "npm:^1.1.4" |
3669 | is-shared-array-buffer: "npm:^1.0.2" | 3695 | is-shared-array-buffer: "npm:^1.0.2" |
3670 | is-string: "npm:^1.0.7" | 3696 | is-string: "npm:^1.0.7" |
3697 | is-typed-array: "npm:^1.1.10" | ||
3671 | is-weakref: "npm:^1.0.2" | 3698 | is-weakref: "npm:^1.0.2" |
3672 | object-inspect: "npm:^1.12.2" | 3699 | object-inspect: "npm:^1.12.3" |
3673 | object-keys: "npm:^1.1.1" | 3700 | object-keys: "npm:^1.1.1" |
3674 | object.assign: "npm:^4.1.4" | 3701 | object.assign: "npm:^4.1.4" |
3675 | regexp.prototype.flags: "npm:^1.4.3" | 3702 | regexp.prototype.flags: "npm:^1.4.3" |
3676 | safe-regex-test: "npm:^1.0.0" | 3703 | safe-regex-test: "npm:^1.0.0" |
3677 | string.prototype.trimend: "npm:^1.0.5" | 3704 | string.prototype.trim: "npm:^1.2.7" |
3678 | string.prototype.trimstart: "npm:^1.0.5" | 3705 | string.prototype.trimend: "npm:^1.0.6" |
3706 | string.prototype.trimstart: "npm:^1.0.6" | ||
3707 | typed-array-length: "npm:^1.0.4" | ||
3679 | unbox-primitive: "npm:^1.0.2" | 3708 | unbox-primitive: "npm:^1.0.2" |
3680 | checksum: afe27b8a805e0d46799b505c828c6331e7c3624ff62a237ea2b8040881c10a332eb685cb5443d27a99438764191f3c52fde54efca063098483f4c0a735948103 | 3709 | which-typed-array: "npm:^1.1.9" |
3710 | checksum: 63800c131f77145c020be1a4340031f8322f03c6c73cd1336d5893cab09bce257f6c217e60a60188539096f72bc1f4885f474e8bbae8fa949edc8679f905dfd2 | ||
3681 | languageName: node | 3711 | languageName: node |
3682 | linkType: hard | 3712 | linkType: hard |
3683 | 3713 | ||
3684 | "es-get-iterator@npm:^1.1.2": | 3714 | "es-get-iterator@npm:^1.1.2": |
3685 | version: 1.1.2 | 3715 | version: 1.1.3 |
3686 | resolution: "es-get-iterator@npm:1.1.2" | 3716 | resolution: "es-get-iterator@npm:1.1.3" |
3687 | dependencies: | 3717 | dependencies: |
3688 | call-bind: "npm:^1.0.2" | 3718 | call-bind: "npm:^1.0.2" |
3689 | get-intrinsic: "npm:^1.1.0" | 3719 | get-intrinsic: "npm:^1.1.3" |
3690 | has-symbols: "npm:^1.0.1" | 3720 | has-symbols: "npm:^1.0.3" |
3691 | is-arguments: "npm:^1.1.0" | 3721 | is-arguments: "npm:^1.1.1" |
3692 | is-map: "npm:^2.0.2" | 3722 | is-map: "npm:^2.0.2" |
3693 | is-set: "npm:^2.0.2" | 3723 | is-set: "npm:^2.0.2" |
3694 | is-string: "npm:^1.0.5" | 3724 | is-string: "npm:^1.0.7" |
3695 | isarray: "npm:^2.0.5" | 3725 | isarray: "npm:^2.0.5" |
3696 | checksum: 65ec8b2482715444bc92121a2e63d8795ca2026ddc29efaca925eba16331a74b0f3edee0530708932a3710dfe42855a35dd039dc9bb794874ee793ff2cbd1f09 | 3726 | stop-iteration-iterator: "npm:^1.0.0" |
3727 | checksum: a4f7676e8cc1d4bb5ab1f725bd0b7880dbb3d3bf1b696fd405486c811fb10451fd071924ae6ff18083ae5bd74416e60de032530282dab3e33f0a6dd410d7cb60 | ||
3728 | languageName: node | ||
3729 | linkType: hard | ||
3730 | |||
3731 | "es-set-tostringtag@npm:^2.0.1": | ||
3732 | version: 2.0.1 | ||
3733 | resolution: "es-set-tostringtag@npm:2.0.1" | ||
3734 | dependencies: | ||
3735 | get-intrinsic: "npm:^1.1.3" | ||
3736 | has: "npm:^1.0.3" | ||
3737 | has-tostringtag: "npm:^1.0.0" | ||
3738 | checksum: fecdbc1f62b901b58b33d47e2daa6b43105b33dd233792643dc7aa1d7256d2fa13c47816d1e03e121e948d01d009faa366466e436baefb886afa18720945d439 | ||
3697 | languageName: node | 3739 | languageName: node |
3698 | linkType: hard | 3740 | linkType: hard |
3699 | 3741 | ||
@@ -3717,32 +3759,32 @@ __metadata: | |||
3717 | languageName: node | 3759 | languageName: node |
3718 | linkType: hard | 3760 | linkType: hard |
3719 | 3761 | ||
3720 | "esbuild@npm:^0.16.14": | 3762 | "esbuild@npm:^0.17.5": |
3721 | version: 0.16.17 | 3763 | version: 0.17.14 |
3722 | resolution: "esbuild@npm:0.16.17" | 3764 | resolution: "esbuild@npm:0.17.14" |
3723 | dependencies: | 3765 | dependencies: |
3724 | "@esbuild/android-arm": "npm:0.16.17" | 3766 | "@esbuild/android-arm": "npm:0.17.14" |
3725 | "@esbuild/android-arm64": "npm:0.16.17" | 3767 | "@esbuild/android-arm64": "npm:0.17.14" |
3726 | "@esbuild/android-x64": "npm:0.16.17" | 3768 | "@esbuild/android-x64": "npm:0.17.14" |
3727 | "@esbuild/darwin-arm64": "npm:0.16.17" | 3769 | "@esbuild/darwin-arm64": "npm:0.17.14" |
3728 | "@esbuild/darwin-x64": "npm:0.16.17" | 3770 | "@esbuild/darwin-x64": "npm:0.17.14" |
3729 | "@esbuild/freebsd-arm64": "npm:0.16.17" | 3771 | "@esbuild/freebsd-arm64": "npm:0.17.14" |
3730 | "@esbuild/freebsd-x64": "npm:0.16.17" | 3772 | "@esbuild/freebsd-x64": "npm:0.17.14" |
3731 | "@esbuild/linux-arm": "npm:0.16.17" | 3773 | "@esbuild/linux-arm": "npm:0.17.14" |
3732 | "@esbuild/linux-arm64": "npm:0.16.17" | 3774 | "@esbuild/linux-arm64": "npm:0.17.14" |
3733 | "@esbuild/linux-ia32": "npm:0.16.17" | 3775 | "@esbuild/linux-ia32": "npm:0.17.14" |
3734 | "@esbuild/linux-loong64": "npm:0.16.17" | 3776 | "@esbuild/linux-loong64": "npm:0.17.14" |
3735 | "@esbuild/linux-mips64el": "npm:0.16.17" | 3777 | "@esbuild/linux-mips64el": "npm:0.17.14" |
3736 | "@esbuild/linux-ppc64": "npm:0.16.17" | 3778 | "@esbuild/linux-ppc64": "npm:0.17.14" |
3737 | "@esbuild/linux-riscv64": "npm:0.16.17" | 3779 | "@esbuild/linux-riscv64": "npm:0.17.14" |
3738 | "@esbuild/linux-s390x": "npm:0.16.17" | 3780 | "@esbuild/linux-s390x": "npm:0.17.14" |
3739 | "@esbuild/linux-x64": "npm:0.16.17" | 3781 | "@esbuild/linux-x64": "npm:0.17.14" |
3740 | "@esbuild/netbsd-x64": "npm:0.16.17" | 3782 | "@esbuild/netbsd-x64": "npm:0.17.14" |
3741 | "@esbuild/openbsd-x64": "npm:0.16.17" | 3783 | "@esbuild/openbsd-x64": "npm:0.17.14" |
3742 | "@esbuild/sunos-x64": "npm:0.16.17" | 3784 | "@esbuild/sunos-x64": "npm:0.17.14" |
3743 | "@esbuild/win32-arm64": "npm:0.16.17" | 3785 | "@esbuild/win32-arm64": "npm:0.17.14" |
3744 | "@esbuild/win32-ia32": "npm:0.16.17" | 3786 | "@esbuild/win32-ia32": "npm:0.17.14" |
3745 | "@esbuild/win32-x64": "npm:0.16.17" | 3787 | "@esbuild/win32-x64": "npm:0.17.14" |
3746 | dependenciesMeta: | 3788 | dependenciesMeta: |
3747 | "@esbuild/android-arm": | 3789 | "@esbuild/android-arm": |
3748 | optional: true | 3790 | optional: true |
@@ -3790,7 +3832,7 @@ __metadata: | |||
3790 | optional: true | 3832 | optional: true |
3791 | bin: | 3833 | bin: |
3792 | esbuild: bin/esbuild | 3834 | esbuild: bin/esbuild |
3793 | checksum: a5fdcf450570aa4486216ac219789f381c1ba52f658e637e7fdce1daa3595f2c67050bdde622cb2c2cd3b2ee885192db163fcbb3d3e84891f5dca40369d093d4 | 3835 | checksum: b69bc210efc10fcb1fd9521ed143a1e9384ee2fd1c502e0509022785e0cb128bf6bd330b4a307f8a4e7de17ca0926b6c60049a08708968bff158d638b3db6bfe |
3794 | languageName: node | 3836 | languageName: node |
3795 | linkType: hard | 3837 | linkType: hard |
3796 | 3838 | ||
@@ -3868,14 +3910,14 @@ __metadata: | |||
3868 | languageName: node | 3910 | languageName: node |
3869 | linkType: hard | 3911 | linkType: hard |
3870 | 3912 | ||
3871 | "eslint-config-prettier@npm:^8.6.0": | 3913 | "eslint-config-prettier@npm:^8.8.0": |
3872 | version: 8.6.0 | 3914 | version: 8.8.0 |
3873 | resolution: "eslint-config-prettier@npm:8.6.0" | 3915 | resolution: "eslint-config-prettier@npm:8.8.0" |
3874 | peerDependencies: | 3916 | peerDependencies: |
3875 | eslint: ">=7.0.0" | 3917 | eslint: ">=7.0.0" |
3876 | bin: | 3918 | bin: |
3877 | eslint-config-prettier: bin/cli.js | 3919 | eslint-config-prettier: bin/cli.js |
3878 | checksum: 2aeb302e532b739d4a440a22463dab157c2aee4a5b89da168deade0feccdf2e645a1a40add6f3b9c635d30fd0a7a4d61339dc7df5d7c57f0a19b04eed0a0ab81 | 3920 | checksum: 942d0b9d162729967a1816a23107066ae176e5f3f3ebaa3be9fd05cc3dbc1d10e389f127a298fbd564f9cc3e419c9635623a974de9327042289d96469dd91528 |
3879 | languageName: node | 3921 | languageName: node |
3880 | linkType: hard | 3922 | linkType: hard |
3881 | 3923 | ||
@@ -3890,21 +3932,21 @@ __metadata: | |||
3890 | languageName: node | 3932 | languageName: node |
3891 | linkType: hard | 3933 | linkType: hard |
3892 | 3934 | ||
3893 | "eslint-import-resolver-typescript@npm:^3.5.3": | 3935 | "eslint-import-resolver-typescript@npm:^3.5.4": |
3894 | version: 3.5.3 | 3936 | version: 3.5.4 |
3895 | resolution: "eslint-import-resolver-typescript@npm:3.5.3" | 3937 | resolution: "eslint-import-resolver-typescript@npm:3.5.4" |
3896 | dependencies: | 3938 | dependencies: |
3897 | debug: "npm:^4.3.4" | 3939 | debug: "npm:^4.3.4" |
3898 | enhanced-resolve: "npm:^5.10.0" | 3940 | enhanced-resolve: "npm:^5.12.0" |
3899 | get-tsconfig: "npm:^4.2.0" | 3941 | get-tsconfig: "npm:^4.5.0" |
3900 | globby: "npm:^13.1.2" | 3942 | globby: "npm:^13.1.3" |
3901 | is-core-module: "npm:^2.10.0" | 3943 | is-core-module: "npm:^2.11.0" |
3902 | is-glob: "npm:^4.0.3" | 3944 | is-glob: "npm:^4.0.3" |
3903 | synckit: "npm:^0.8.4" | 3945 | synckit: "npm:^0.8.5" |
3904 | peerDependencies: | 3946 | peerDependencies: |
3905 | eslint: "*" | 3947 | eslint: "*" |
3906 | eslint-plugin-import: "*" | 3948 | eslint-plugin-import: "*" |
3907 | checksum: 0775904784f39582f0e3f26530a26a5994a8147a9d3f403f020514af1a625ee0062b2bd54b0306e686245910c2001172c130cf42e7f0a28b4146c81ff4cec537 | 3949 | checksum: 63c46e28f5c7aa7c37bf581184535251a291949f9cbd44ff65101cb1ff70767ac8a3a303d5c3ac5543e966182235a75b31bba5dd7641487537dcaa5c0f230221 |
3908 | languageName: node | 3950 | languageName: node |
3909 | linkType: hard | 3951 | linkType: hard |
3910 | 3952 | ||
@@ -4049,36 +4091,21 @@ __metadata: | |||
4049 | languageName: node | 4091 | languageName: node |
4050 | linkType: hard | 4092 | linkType: hard |
4051 | 4093 | ||
4052 | "eslint-utils@npm:^3.0.0": | 4094 | "eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.0": |
4053 | version: 3.0.0 | 4095 | version: 3.4.0 |
4054 | resolution: "eslint-utils@npm:3.0.0" | 4096 | resolution: "eslint-visitor-keys@npm:3.4.0" |
4055 | dependencies: | 4097 | checksum: c55d5b9300877e364e3c3c7929735408e2e75411faf1b02e634b29b737d938a93ec9a134883454572454125ee8831eb5a2c5d2b02bb3edc0f9365de9687ea79f |
4056 | eslint-visitor-keys: "npm:^2.0.0" | ||
4057 | peerDependencies: | ||
4058 | eslint: ">=5" | ||
4059 | checksum: c7941cb26c5a1dea52fd7588e2e7ca2c12f28a6769119b3697074170f8e9d32a820dbaf822d30361dc54949eb95e8da3509f76fae77dbf8d53499932a828cb65 | ||
4060 | languageName: node | ||
4061 | linkType: hard | ||
4062 | |||
4063 | "eslint-visitor-keys@npm:^2.0.0": | ||
4064 | version: 2.1.0 | ||
4065 | resolution: "eslint-visitor-keys@npm:2.1.0" | ||
4066 | checksum: fba2e0be2450d1bc52c74b42008e3da7480fc38cb588b3e0474552c290ed0056465d8754cf579503bdb239d3001c91733e3ff26f659f2479e85baf6bf6559b84 | ||
4067 | languageName: node | ||
4068 | linkType: hard | ||
4069 | |||
4070 | "eslint-visitor-keys@npm:^3.3.0": | ||
4071 | version: 3.3.0 | ||
4072 | resolution: "eslint-visitor-keys@npm:3.3.0" | ||
4073 | checksum: 37b1372b3481e978856692724f065da7e3ded80c1a57fd347ad9c63692b6310756d0eb432badb5afaa125f0d4fcbc7692ba93ae85b17bd8e628bd8c8bcd03c1d | ||
4074 | languageName: node | 4098 | languageName: node |
4075 | linkType: hard | 4099 | linkType: hard |
4076 | 4100 | ||
4077 | "eslint@npm:^8.33.0": | 4101 | "eslint@npm:^8.37.0": |
4078 | version: 8.33.0 | 4102 | version: 8.37.0 |
4079 | resolution: "eslint@npm:8.33.0" | 4103 | resolution: "eslint@npm:8.37.0" |
4080 | dependencies: | 4104 | dependencies: |
4081 | "@eslint/eslintrc": "npm:^1.4.1" | 4105 | "@eslint-community/eslint-utils": "npm:^4.2.0" |
4106 | "@eslint-community/regexpp": "npm:^4.4.0" | ||
4107 | "@eslint/eslintrc": "npm:^2.0.2" | ||
4108 | "@eslint/js": "npm:8.37.0" | ||
4082 | "@humanwhocodes/config-array": "npm:^0.11.8" | 4109 | "@humanwhocodes/config-array": "npm:^0.11.8" |
4083 | "@humanwhocodes/module-importer": "npm:^1.0.1" | 4110 | "@humanwhocodes/module-importer": "npm:^1.0.1" |
4084 | "@nodelib/fs.walk": "npm:^1.2.8" | 4111 | "@nodelib/fs.walk": "npm:^1.2.8" |
@@ -4089,10 +4116,9 @@ __metadata: | |||
4089 | doctrine: "npm:^3.0.0" | 4116 | doctrine: "npm:^3.0.0" |
4090 | escape-string-regexp: "npm:^4.0.0" | 4117 | escape-string-regexp: "npm:^4.0.0" |
4091 | eslint-scope: "npm:^7.1.1" | 4118 | eslint-scope: "npm:^7.1.1" |
4092 | eslint-utils: "npm:^3.0.0" | 4119 | eslint-visitor-keys: "npm:^3.4.0" |
4093 | eslint-visitor-keys: "npm:^3.3.0" | 4120 | espree: "npm:^9.5.1" |
4094 | espree: "npm:^9.4.0" | 4121 | esquery: "npm:^1.4.2" |
4095 | esquery: "npm:^1.4.0" | ||
4096 | esutils: "npm:^2.0.2" | 4122 | esutils: "npm:^2.0.2" |
4097 | fast-deep-equal: "npm:^3.1.3" | 4123 | fast-deep-equal: "npm:^3.1.3" |
4098 | file-entry-cache: "npm:^6.0.1" | 4124 | file-entry-cache: "npm:^6.0.1" |
@@ -4113,24 +4139,23 @@ __metadata: | |||
4113 | minimatch: "npm:^3.1.2" | 4139 | minimatch: "npm:^3.1.2" |
4114 | natural-compare: "npm:^1.4.0" | 4140 | natural-compare: "npm:^1.4.0" |
4115 | optionator: "npm:^0.9.1" | 4141 | optionator: "npm:^0.9.1" |
4116 | regexpp: "npm:^3.2.0" | ||
4117 | strip-ansi: "npm:^6.0.1" | 4142 | strip-ansi: "npm:^6.0.1" |
4118 | strip-json-comments: "npm:^3.1.0" | 4143 | strip-json-comments: "npm:^3.1.0" |
4119 | text-table: "npm:^0.2.0" | 4144 | text-table: "npm:^0.2.0" |
4120 | bin: | 4145 | bin: |
4121 | eslint: bin/eslint.js | 4146 | eslint: bin/eslint.js |
4122 | checksum: 616877cf98325f619070e6c85b1bb4734fe99202871f5f43cbb9c56b13d7cacf8caa499c61c0a112541067be3b6143cd0497d1319950a4a1d355adeff8504596 | 4147 | checksum: b2a3a4d5bca66dd8df2af7f5fbc2d983c065d958ee7682cd54ee17902dc3016c2cddddad593d56e6357fe863f65fe44c0996886f369d142026f3c1a8b95530be |
4123 | languageName: node | 4148 | languageName: node |
4124 | linkType: hard | 4149 | linkType: hard |
4125 | 4150 | ||
4126 | "espree@npm:^9.4.0": | 4151 | "espree@npm:^9.5.1": |
4127 | version: 9.4.0 | 4152 | version: 9.5.1 |
4128 | resolution: "espree@npm:9.4.0" | 4153 | resolution: "espree@npm:9.5.1" |
4129 | dependencies: | 4154 | dependencies: |
4130 | acorn: "npm:^8.8.0" | 4155 | acorn: "npm:^8.8.0" |
4131 | acorn-jsx: "npm:^5.3.2" | 4156 | acorn-jsx: "npm:^5.3.2" |
4132 | eslint-visitor-keys: "npm:^3.3.0" | 4157 | eslint-visitor-keys: "npm:^3.4.0" |
4133 | checksum: a40ed725d7e29557f17c6b9613c71cee4a0b81303cb7c4d6a5b41ad9c367daf19ffab21f1f8ded287b8e341bf334025e7442d28bec73fc4fc14ac3543050c5d1 | 4158 | checksum: cdf0058252cbbbac5a36bf34809de1675558233fc04b74809a6e7f30b0cb41187044e816e596efb910d2f000e8a107d96d341efaf190c4cb9777d29da440aad0 |
4134 | languageName: node | 4159 | languageName: node |
4135 | linkType: hard | 4160 | linkType: hard |
4136 | 4161 | ||
@@ -4144,12 +4169,12 @@ __metadata: | |||
4144 | languageName: node | 4169 | languageName: node |
4145 | linkType: hard | 4170 | linkType: hard |
4146 | 4171 | ||
4147 | "esquery@npm:^1.4.0": | 4172 | "esquery@npm:^1.4.2": |
4148 | version: 1.4.0 | 4173 | version: 1.5.0 |
4149 | resolution: "esquery@npm:1.4.0" | 4174 | resolution: "esquery@npm:1.5.0" |
4150 | dependencies: | 4175 | dependencies: |
4151 | estraverse: "npm:^5.1.0" | 4176 | estraverse: "npm:^5.1.0" |
4152 | checksum: 7f287f5390f12feed1b2b4dd42f3a4501774effcbcbb76c340e5b9a3c25a133739dc18657c6103cb520dd4a8814d33ff732587c7de42f0ff51a0deaf4c190428 | 4177 | checksum: 4bde95396273b2960a330c296e921d88b7d3fb5c9cbc84a1e29cf75664c318b194b1a8b46f507fce30222a68b64527f70e09bdd5863e14248fa2f6da5e78fdfd |
4153 | languageName: node | 4178 | languageName: node |
4154 | linkType: hard | 4179 | linkType: hard |
4155 | 4180 | ||
@@ -4239,11 +4264,11 @@ __metadata: | |||
4239 | linkType: hard | 4264 | linkType: hard |
4240 | 4265 | ||
4241 | "fastq@npm:^1.6.0": | 4266 | "fastq@npm:^1.6.0": |
4242 | version: 1.13.0 | 4267 | version: 1.15.0 |
4243 | resolution: "fastq@npm:1.13.0" | 4268 | resolution: "fastq@npm:1.15.0" |
4244 | dependencies: | 4269 | dependencies: |
4245 | reusify: "npm:^1.0.4" | 4270 | reusify: "npm:^1.0.4" |
4246 | checksum: 150b77dcf0d1e023aaed9bb5f9789f9c8828497fa44b050ba79b039798aeee6c4bcab7e533b5bacb6476811ca9c0eb7f1d021fd7ff8da54f67e3db9b35efd84c | 4271 | checksum: 9c256d4b1c55c2a494ef198632ad19b801f98fb05b804c761c8c733da58b8f63888fdfe5e4c8ec7144f369135b71f23da1457e71b3aebaa943d2d5337bb86262 |
4247 | languageName: node | 4272 | languageName: node |
4248 | linkType: hard | 4273 | linkType: hard |
4249 | 4274 | ||
@@ -4302,9 +4327,9 @@ __metadata: | |||
4302 | linkType: hard | 4327 | linkType: hard |
4303 | 4328 | ||
4304 | "flatted@npm:^3.1.0": | 4329 | "flatted@npm:^3.1.0": |
4305 | version: 3.2.4 | 4330 | version: 3.2.7 |
4306 | resolution: "flatted@npm:3.2.4" | 4331 | resolution: "flatted@npm:3.2.7" |
4307 | checksum: 1f74183120a8e5a2db88e2a321aa589c3dcfa47ba89748d1d96e8e9dfd2dd22b33fe46775a49a9de751b485bc58907a61171988921cccd94366d5bcb4f4135f4 | 4332 | checksum: d57a559a56f8743f48067b992e70f222921bec6656de4617ee60dab5e531c2aeba67ace287965b759cca80fa0d3f0c7ffc39341ccc9bc874594f4b73c0fea48c |
4308 | languageName: node | 4333 | languageName: node |
4309 | linkType: hard | 4334 | linkType: hard |
4310 | 4335 | ||
@@ -4329,7 +4354,7 @@ __metadata: | |||
4329 | languageName: node | 4354 | languageName: node |
4330 | linkType: hard | 4355 | linkType: hard |
4331 | 4356 | ||
4332 | "fs-minipass@npm:^2.0.0": | 4357 | "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": |
4333 | version: 2.1.0 | 4358 | version: 2.1.0 |
4334 | resolution: "fs-minipass@npm:2.1.0" | 4359 | resolution: "fs-minipass@npm:2.1.0" |
4335 | dependencies: | 4360 | dependencies: |
@@ -4390,20 +4415,19 @@ __metadata: | |||
4390 | languageName: node | 4415 | languageName: node |
4391 | linkType: hard | 4416 | linkType: hard |
4392 | 4417 | ||
4393 | "gauge@npm:^4.0.0": | 4418 | "gauge@npm:^4.0.3": |
4394 | version: 4.0.0 | 4419 | version: 4.0.4 |
4395 | resolution: "gauge@npm:4.0.0" | 4420 | resolution: "gauge@npm:4.0.4" |
4396 | dependencies: | 4421 | dependencies: |
4397 | ansi-regex: "npm:^5.0.1" | ||
4398 | aproba: "npm:^1.0.3 || ^2.0.0" | 4422 | aproba: "npm:^1.0.3 || ^2.0.0" |
4399 | color-support: "npm:^1.1.2" | 4423 | color-support: "npm:^1.1.3" |
4400 | console-control-strings: "npm:^1.0.0" | 4424 | console-control-strings: "npm:^1.1.0" |
4401 | has-unicode: "npm:^2.0.1" | 4425 | has-unicode: "npm:^2.0.1" |
4402 | signal-exit: "npm:^3.0.0" | 4426 | signal-exit: "npm:^3.0.7" |
4403 | string-width: "npm:^4.2.3" | 4427 | string-width: "npm:^4.2.3" |
4404 | strip-ansi: "npm:^6.0.1" | 4428 | strip-ansi: "npm:^6.0.1" |
4405 | wide-align: "npm:^1.1.2" | 4429 | wide-align: "npm:^1.1.5" |
4406 | checksum: bc5860ab4bd40ba081ea0bba3a16b093c5d6297b46ddebe99790ee5820c692567bf8f65bfcb225ceb171510fc330dbfd7d1ff75c9d7a4f73a4675c4245354123 | 4430 | checksum: 4fc68f770dba9962a326918f33f58f2458eddea08442c2d716238357e4291dee4223a812ce11084b54f928d607e4dfb6f380ba28d435b2721de94a22d5600669 |
4407 | languageName: node | 4431 | languageName: node |
4408 | linkType: hard | 4432 | linkType: hard |
4409 | 4433 | ||
@@ -4414,14 +4438,14 @@ __metadata: | |||
4414 | languageName: node | 4438 | languageName: node |
4415 | linkType: hard | 4439 | linkType: hard |
4416 | 4440 | ||
4417 | "get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3": | 4441 | "get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0": |
4418 | version: 1.1.3 | 4442 | version: 1.2.0 |
4419 | resolution: "get-intrinsic@npm:1.1.3" | 4443 | resolution: "get-intrinsic@npm:1.2.0" |
4420 | dependencies: | 4444 | dependencies: |
4421 | function-bind: "npm:^1.1.1" | 4445 | function-bind: "npm:^1.1.1" |
4422 | has: "npm:^1.0.3" | 4446 | has: "npm:^1.0.3" |
4423 | has-symbols: "npm:^1.0.3" | 4447 | has-symbols: "npm:^1.0.3" |
4424 | checksum: 885245c0964b0acf38383792a1174022f00db91624239fa0338b6101f865601df0f17dbef15083dc875374d9b50c64bb4177e411a5a40edb0e5cd0e60829caad | 4448 | checksum: 6db1e521478d0a0f4e61c94c23e7a731b163d2904067b1b6efcac78e8b015404883dab4acb5570517df55aab6eb23eeef6a8d7310de76d9570fcbce4a3f80b18 |
4425 | languageName: node | 4449 | languageName: node |
4426 | linkType: hard | 4450 | linkType: hard |
4427 | 4451 | ||
@@ -4442,10 +4466,10 @@ __metadata: | |||
4442 | languageName: node | 4466 | languageName: node |
4443 | linkType: hard | 4467 | linkType: hard |
4444 | 4468 | ||
4445 | "get-tsconfig@npm:^4.2.0": | 4469 | "get-tsconfig@npm:^4.5.0": |
4446 | version: 4.2.0 | 4470 | version: 4.5.0 |
4447 | resolution: "get-tsconfig@npm:4.2.0" | 4471 | resolution: "get-tsconfig@npm:4.5.0" |
4448 | checksum: 9bdb940c9a30bbc87818e2c1c46fdf39708b913388e71fe0d30a3e8f6b4146d871d6fc9d6834220de84ece85f45872f41a1a8207f709bbfa7f9dcb38909a1a99 | 4472 | checksum: 55326d2fdfcf0f07096e948928ada42560d0bfc6b215232393da09738301ea19200c0e94f0214d223a3264f0ec72fbbb38a3769502076f2c34edd01f006ed6d9 |
4449 | languageName: node | 4473 | languageName: node |
4450 | linkType: hard | 4474 | linkType: hard |
4451 | 4475 | ||
@@ -4481,6 +4505,19 @@ __metadata: | |||
4481 | languageName: node | 4505 | languageName: node |
4482 | linkType: hard | 4506 | linkType: hard |
4483 | 4507 | ||
4508 | "glob@npm:^8.0.1": | ||
4509 | version: 8.1.0 | ||
4510 | resolution: "glob@npm:8.1.0" | ||
4511 | dependencies: | ||
4512 | fs.realpath: "npm:^1.0.0" | ||
4513 | inflight: "npm:^1.0.4" | ||
4514 | inherits: "npm:2" | ||
4515 | minimatch: "npm:^5.0.1" | ||
4516 | once: "npm:^1.3.0" | ||
4517 | checksum: b2d53aa8d54a3e5b3998f52e72140deea385d292a68719144cda70148c335aa956bd03a643f50f6e4f685ee40ae538ee62a96278cc7b797f731a50a3babfcf63 | ||
4518 | languageName: node | ||
4519 | linkType: hard | ||
4520 | |||
4484 | "globals@npm:^11.1.0": | 4521 | "globals@npm:^11.1.0": |
4485 | version: 11.12.0 | 4522 | version: 11.12.0 |
4486 | resolution: "globals@npm:11.12.0" | 4523 | resolution: "globals@npm:11.12.0" |
@@ -4489,11 +4526,20 @@ __metadata: | |||
4489 | linkType: hard | 4526 | linkType: hard |
4490 | 4527 | ||
4491 | "globals@npm:^13.19.0": | 4528 | "globals@npm:^13.19.0": |
4492 | version: 13.19.0 | 4529 | version: 13.20.0 |
4493 | resolution: "globals@npm:13.19.0" | 4530 | resolution: "globals@npm:13.20.0" |
4494 | dependencies: | 4531 | dependencies: |
4495 | type-fest: "npm:^0.20.2" | 4532 | type-fest: "npm:^0.20.2" |
4496 | checksum: 3f3d6606b78da1731d7a2837e75c5e941e7db414ca4a5ad90e456f771b68552095214457295f88a2b1580cd60b430c72020a3e10e39be1093c55c9331b5889ce | 4533 | checksum: 1ba80ad03f29b8ca83b066c9d9ae305e7f0ee46164de36efac286fc3a58efc48986d688bf1f427f164f2a65bb1bdfa53beb8c56ae3092be255fc097bdcab1f1a |
4534 | languageName: node | ||
4535 | linkType: hard | ||
4536 | |||
4537 | "globalthis@npm:^1.0.3": | ||
4538 | version: 1.0.3 | ||
4539 | resolution: "globalthis@npm:1.0.3" | ||
4540 | dependencies: | ||
4541 | define-properties: "npm:^1.1.3" | ||
4542 | checksum: 712d9e130f2c47067e6590cb1eee418df1106f53ffeddaadb4c8b0793ac0f46039e5f71008c44089523aa2b58d270bb2c4e5721795ddad114bc23d9eb63ec6d5 | ||
4497 | languageName: node | 4543 | languageName: node |
4498 | linkType: hard | 4544 | linkType: hard |
4499 | 4545 | ||
@@ -4518,16 +4564,16 @@ __metadata: | |||
4518 | languageName: node | 4564 | languageName: node |
4519 | linkType: hard | 4565 | linkType: hard |
4520 | 4566 | ||
4521 | "globby@npm:^13.1.2": | 4567 | "globby@npm:^13.1.3": |
4522 | version: 13.1.2 | 4568 | version: 13.1.3 |
4523 | resolution: "globby@npm:13.1.2" | 4569 | resolution: "globby@npm:13.1.3" |
4524 | dependencies: | 4570 | dependencies: |
4525 | dir-glob: "npm:^3.0.1" | 4571 | dir-glob: "npm:^3.0.1" |
4526 | fast-glob: "npm:^3.2.11" | 4572 | fast-glob: "npm:^3.2.11" |
4527 | ignore: "npm:^5.2.0" | 4573 | ignore: "npm:^5.2.0" |
4528 | merge2: "npm:^1.4.1" | 4574 | merge2: "npm:^1.4.1" |
4529 | slash: "npm:^4.0.0" | 4575 | slash: "npm:^4.0.0" |
4530 | checksum: 9b418983d4b2dab9599cf9b2d1535c547d206e96796a699086e7a6b0e5d8ba63ee7653b1e3e3afa1747e1accf70fdc58fcb246dec282b3235a23a0b03fe14a7c | 4576 | checksum: a4b8f38a118310286f684c0146301f375f40b9550fa172f37a668f7de0b52d955f7f5c05e83885b517cedb39ebfc523a7155efa8e3366c375d3fff14e5924af4 |
4531 | languageName: node | 4577 | languageName: node |
4532 | linkType: hard | 4578 | linkType: hard |
4533 | 4579 | ||
@@ -4538,6 +4584,15 @@ __metadata: | |||
4538 | languageName: node | 4584 | languageName: node |
4539 | linkType: hard | 4585 | linkType: hard |
4540 | 4586 | ||
4587 | "goober@npm:^2.0.33": | ||
4588 | version: 2.1.12 | ||
4589 | resolution: "goober@npm:2.1.12" | ||
4590 | peerDependencies: | ||
4591 | csstype: ^3.0.10 | ||
4592 | checksum: 160fa271ad7782c1763cf903d65001a4a25065de2d2c502cd6733d0700767032ad5218c60da98fea1a31d0f8579b52b9900c9c0c00bb24a23423c7569cf9c09b | ||
4593 | languageName: node | ||
4594 | linkType: hard | ||
4595 | |||
4541 | "gopd@npm:^1.0.1": | 4596 | "gopd@npm:^1.0.1": |
4542 | version: 1.0.1 | 4597 | version: 1.0.1 |
4543 | resolution: "gopd@npm:1.0.1" | 4598 | resolution: "gopd@npm:1.0.1" |
@@ -4548,9 +4603,9 @@ __metadata: | |||
4548 | linkType: hard | 4603 | linkType: hard |
4549 | 4604 | ||
4550 | "graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": | 4605 | "graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": |
4551 | version: 4.2.10 | 4606 | version: 4.2.11 |
4552 | resolution: "graceful-fs@npm:4.2.10" | 4607 | resolution: "graceful-fs@npm:4.2.11" |
4553 | checksum: 6b5f9b5aeaee0459b9c37bdbf9624f788703ce291d6bf2d7751f5003942e853f232ca613aec818d1ff7622379bc8b434c635bfda99db93e0b9b8da80ec3d844d | 4608 | checksum: 0228fc1080e6cb20d31920aff457e5d44f137b8864220c204b5ba6461d2d46d30361557a4c054373a8c04a03b59c92a42d40230104bb59c5ea737072bc15709c |
4554 | languageName: node | 4609 | languageName: node |
4555 | linkType: hard | 4610 | linkType: hard |
4556 | 4611 | ||
@@ -4591,7 +4646,14 @@ __metadata: | |||
4591 | languageName: node | 4646 | languageName: node |
4592 | linkType: hard | 4647 | linkType: hard |
4593 | 4648 | ||
4594 | "has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": | 4649 | "has-proto@npm:^1.0.1": |
4650 | version: 1.0.1 | ||
4651 | resolution: "has-proto@npm:1.0.1" | ||
4652 | checksum: 0aa0de6013c2132a79fb8b885dc0274b99362807195bed0c69e2469eb0de41bf1695067d5e41adcd4bbd8daed8684250716c55db17478249f225ae3d0846e6bf | ||
4653 | languageName: node | ||
4654 | linkType: hard | ||
4655 | |||
4656 | "has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": | ||
4595 | version: 1.0.3 | 4657 | version: 1.0.3 |
4596 | resolution: "has-symbols@npm:1.0.3" | 4658 | resolution: "has-symbols@npm:1.0.3" |
4597 | checksum: 2d0abb3382da2945b1b8d9a4afebc8a0770fe07198e727b4fbd7f616c70796f040bf2bd8d6db47e0c590507812a2680594fc77f871238289f6c7870318cf62c9 | 4659 | checksum: 2d0abb3382da2945b1b8d9a4afebc8a0770fe07198e727b4fbd7f616c70796f040bf2bd8d6db47e0c590507812a2680594fc77f871238289f6c7870318cf62c9 |
@@ -4623,7 +4685,7 @@ __metadata: | |||
4623 | languageName: node | 4685 | languageName: node |
4624 | linkType: hard | 4686 | linkType: hard |
4625 | 4687 | ||
4626 | "hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1": | 4688 | "hoist-non-react-statics@npm:^3.3.1": |
4627 | version: 3.3.2 | 4689 | version: 3.3.2 |
4628 | resolution: "hoist-non-react-statics@npm:3.3.2" | 4690 | resolution: "hoist-non-react-statics@npm:3.3.2" |
4629 | dependencies: | 4691 | dependencies: |
@@ -4656,24 +4718,24 @@ __metadata: | |||
4656 | languageName: node | 4718 | languageName: node |
4657 | linkType: hard | 4719 | linkType: hard |
4658 | 4720 | ||
4659 | "http-proxy-agent@npm:^4.0.1": | 4721 | "http-proxy-agent@npm:^5.0.0": |
4660 | version: 4.0.1 | 4722 | version: 5.0.0 |
4661 | resolution: "http-proxy-agent@npm:4.0.1" | 4723 | resolution: "http-proxy-agent@npm:5.0.0" |
4662 | dependencies: | 4724 | dependencies: |
4663 | "@tootallnate/once": "npm:1" | 4725 | "@tootallnate/once": "npm:2" |
4664 | agent-base: "npm:6" | 4726 | agent-base: "npm:6" |
4665 | debug: "npm:4" | 4727 | debug: "npm:4" |
4666 | checksum: 469cd61a706ceebddbdec12624b793e2b467537b6db97b040325558b6ebc2cff66fc2960406dcf29957906a0001ea724f6a0180a88c6ea0349a0ca96fac6ded1 | 4728 | checksum: b59a9b4bdd7c1d3450956a2974cb7b685517c758853a873064a536f5a831879ac92a28c717f69eb60ff3c924b262cb5aaf80cf62f5c2c24d1129d2b8dadf1e7c |
4667 | languageName: node | 4729 | languageName: node |
4668 | linkType: hard | 4730 | linkType: hard |
4669 | 4731 | ||
4670 | "https-proxy-agent@npm:^5.0.0": | 4732 | "https-proxy-agent@npm:^5.0.0": |
4671 | version: 5.0.0 | 4733 | version: 5.0.1 |
4672 | resolution: "https-proxy-agent@npm:5.0.0" | 4734 | resolution: "https-proxy-agent@npm:5.0.1" |
4673 | dependencies: | 4735 | dependencies: |
4674 | agent-base: "npm:6" | 4736 | agent-base: "npm:6" |
4675 | debug: "npm:4" | 4737 | debug: "npm:4" |
4676 | checksum: 77d11b0e2c164d1f63f689247551b821b67c3daa7f13fe2d0445989d9ad224f67f2af8ebda09599de3f4be490b343c82bb37024d8a669c004fd4f38dc12a4d23 | 4738 | checksum: 8e767faec977400c31bca2ef0f5338b843b781b63fd985c00d199adac2d6c8a5ecc6e553588a6821a058198960f167a3c83f014bd64bef9a15b176d992d29dfe |
4677 | languageName: node | 4739 | languageName: node |
4678 | linkType: hard | 4740 | linkType: hard |
4679 | 4741 | ||
@@ -4696,16 +4758,16 @@ __metadata: | |||
4696 | linkType: hard | 4758 | linkType: hard |
4697 | 4759 | ||
4698 | "idb@npm:^7.0.1": | 4760 | "idb@npm:^7.0.1": |
4699 | version: 7.0.2 | 4761 | version: 7.1.1 |
4700 | resolution: "idb@npm:7.0.2" | 4762 | resolution: "idb@npm:7.1.1" |
4701 | checksum: 54612e6c597a4f3e641104f5abace53a2d78aa7344b2b4cabdbc795e90e57e6ec81b35b6902517076ccfdde8086a84adbf6372fca180cba10c6e02b601e13ce7 | 4763 | checksum: 9f9a55d7ef9409d37a0270104b89137cdd2a29fbc5cab65561a1dc1d4cdb25f1239ce9dcd1abdb25b81bf81269fad0e601be7d3bd3d8f06f2060c4c65d059748 |
4702 | languageName: node | 4764 | languageName: node |
4703 | linkType: hard | 4765 | linkType: hard |
4704 | 4766 | ||
4705 | "ignore@npm:^5.2.0": | 4767 | "ignore@npm:^5.2.0": |
4706 | version: 5.2.0 | 4768 | version: 5.2.4 |
4707 | resolution: "ignore@npm:5.2.0" | 4769 | resolution: "ignore@npm:5.2.4" |
4708 | checksum: 0086b6992b2e2c9ec23f009e5939022323f1b4ad291607507045cc67b0a3b5d9724fc425f5300b3ba6d10ef74311bdf71cd26040227c30a182cf1b2a5971226b | 4770 | checksum: 55c58d848bb753a2b7e0b4a19352f9212eae2e4a05e4a12753e90b921108a6caa140adf958a5084b144bedd886b44e3bc93f6b4839e5aba1fb4a72c6625da4c1 |
4709 | languageName: node | 4771 | languageName: node |
4710 | linkType: hard | 4772 | linkType: hard |
4711 | 4773 | ||
@@ -4757,25 +4819,25 @@ __metadata: | |||
4757 | languageName: node | 4819 | languageName: node |
4758 | linkType: hard | 4820 | linkType: hard |
4759 | 4821 | ||
4760 | "internal-slot@npm:^1.0.3": | 4822 | "internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5": |
4761 | version: 1.0.3 | 4823 | version: 1.0.5 |
4762 | resolution: "internal-slot@npm:1.0.3" | 4824 | resolution: "internal-slot@npm:1.0.5" |
4763 | dependencies: | 4825 | dependencies: |
4764 | get-intrinsic: "npm:^1.1.0" | 4826 | get-intrinsic: "npm:^1.2.0" |
4765 | has: "npm:^1.0.3" | 4827 | has: "npm:^1.0.3" |
4766 | side-channel: "npm:^1.0.4" | 4828 | side-channel: "npm:^1.0.4" |
4767 | checksum: b08401f1c652927be5238b68ace42c65fda969289b5d38b212389a547762db2602f4f2984c4e83a7b10dd0ca26f3faa1ab609828f0a6f3bfed8aca5ad7a91941 | 4829 | checksum: 7ba9f797e33d9f7fb623ed4eb63a8f4697da1423e8dd47a336c759707a14aebc9d2e04c7df286a493f4eac30c178c6ffad89f559beb3e9641992b6a57f933088 |
4768 | languageName: node | 4830 | languageName: node |
4769 | linkType: hard | 4831 | linkType: hard |
4770 | 4832 | ||
4771 | "ip@npm:^1.1.5": | 4833 | "ip@npm:^2.0.0": |
4772 | version: 1.1.5 | 4834 | version: 2.0.0 |
4773 | resolution: "ip@npm:1.1.5" | 4835 | resolution: "ip@npm:2.0.0" |
4774 | checksum: bf1e24b6571eda04959cb77e8c52f507c326a6282bf347d888c3121c80c8ca1b1b01f83b38ce413988fcd9bdac35208666db56f012e0314180a8f42ea49e591d | 4836 | checksum: 42a7cf251b844d98a4c3373d06997b991cd1a7f8a5d43bcf2b4f610517d39c5504f6eb3e73e77f5c1453ac766690e82dab28a8a05a49a6fd7d4a40fad93640e9 |
4775 | languageName: node | 4837 | languageName: node |
4776 | linkType: hard | 4838 | linkType: hard |
4777 | 4839 | ||
4778 | "is-arguments@npm:^1.1.0, is-arguments@npm:^1.1.1": | 4840 | "is-arguments@npm:^1.1.1": |
4779 | version: 1.1.1 | 4841 | version: 1.1.1 |
4780 | resolution: "is-arguments@npm:1.1.1" | 4842 | resolution: "is-arguments@npm:1.1.1" |
4781 | dependencies: | 4843 | dependencies: |
@@ -4785,14 +4847,14 @@ __metadata: | |||
4785 | languageName: node | 4847 | languageName: node |
4786 | linkType: hard | 4848 | linkType: hard |
4787 | 4849 | ||
4788 | "is-array-buffer@npm:^3.0.1": | 4850 | "is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": |
4789 | version: 3.0.1 | 4851 | version: 3.0.2 |
4790 | resolution: "is-array-buffer@npm:3.0.1" | 4852 | resolution: "is-array-buffer@npm:3.0.2" |
4791 | dependencies: | 4853 | dependencies: |
4792 | call-bind: "npm:^1.0.2" | 4854 | call-bind: "npm:^1.0.2" |
4793 | get-intrinsic: "npm:^1.1.3" | 4855 | get-intrinsic: "npm:^1.2.0" |
4794 | is-typed-array: "npm:^1.1.10" | 4856 | is-typed-array: "npm:^1.1.10" |
4795 | checksum: b0af6728a739bc5f3f045df4471accacb791fcdbc29b2ea54038729e61ac2dd05c33231d9ce8486d32575f01eeb1268cf88d92d3d63fa0e8ab8078d6955ff6f2 | 4857 | checksum: a16f8a01bef76922e75984bd33e38dff931c512d8bb7b8e994898643513fbfedfd7c270f375d4a9c41819c5161b23d9e7fff6c9cbcbd97189a97c1f934a3f7c0 |
4796 | languageName: node | 4858 | languageName: node |
4797 | linkType: hard | 4859 | linkType: hard |
4798 | 4860 | ||
@@ -4838,7 +4900,7 @@ __metadata: | |||
4838 | languageName: node | 4900 | languageName: node |
4839 | linkType: hard | 4901 | linkType: hard |
4840 | 4902 | ||
4841 | "is-core-module@npm:^2.10.0, is-core-module@npm:^2.11.0, is-core-module@npm:^2.9.0": | 4903 | "is-core-module@npm:^2.11.0, is-core-module@npm:^2.9.0": |
4842 | version: 2.11.0 | 4904 | version: 2.11.0 |
4843 | resolution: "is-core-module@npm:2.11.0" | 4905 | resolution: "is-core-module@npm:2.11.0" |
4844 | dependencies: | 4906 | dependencies: |
@@ -4917,11 +4979,11 @@ __metadata: | |||
4917 | linkType: hard | 4979 | linkType: hard |
4918 | 4980 | ||
4919 | "is-number-object@npm:^1.0.4": | 4981 | "is-number-object@npm:^1.0.4": |
4920 | version: 1.0.6 | 4982 | version: 1.0.7 |
4921 | resolution: "is-number-object@npm:1.0.6" | 4983 | resolution: "is-number-object@npm:1.0.7" |
4922 | dependencies: | 4984 | dependencies: |
4923 | has-tostringtag: "npm:^1.0.0" | 4985 | has-tostringtag: "npm:^1.0.0" |
4924 | checksum: da78381e641f96531851cb9092a8a19c655effb5591a9ab15b16b3fd6f3a86430c1abc3f72e88cced238baa0d2836eca242efe48a3ee3877a38587977ab14874 | 4986 | checksum: fd67ff18bad5c64ce2054a03d92c9f264f0f0cd197ea6951207c3dd1b9bea5b40e933be440e7673ea2f1e2a6b265c1842651c94c12d16efd84bbe9310d9cc600 |
4925 | languageName: node | 4987 | languageName: node |
4926 | linkType: hard | 4988 | linkType: hard |
4927 | 4989 | ||
@@ -5004,7 +5066,7 @@ __metadata: | |||
5004 | languageName: node | 5066 | languageName: node |
5005 | linkType: hard | 5067 | linkType: hard |
5006 | 5068 | ||
5007 | "is-typed-array@npm:^1.1.10": | 5069 | "is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.9": |
5008 | version: 1.1.10 | 5070 | version: 1.1.10 |
5009 | resolution: "is-typed-array@npm:1.1.10" | 5071 | resolution: "is-typed-array@npm:1.1.10" |
5010 | dependencies: | 5072 | dependencies: |
@@ -5092,9 +5154,9 @@ __metadata: | |||
5092 | linkType: hard | 5154 | linkType: hard |
5093 | 5155 | ||
5094 | "js-sdsl@npm:^4.1.4": | 5156 | "js-sdsl@npm:^4.1.4": |
5095 | version: 4.1.4 | 5157 | version: 4.4.0 |
5096 | resolution: "js-sdsl@npm:4.1.4" | 5158 | resolution: "js-sdsl@npm:4.4.0" |
5097 | checksum: bf97179276b433ff4f138bd53fe411549893999f5571cc0da7cc5d16bc24cd50631bad83a61c32ed7e6f4ded7cc2ae06ad5ad4d56e05ed70d5c6993fc4553c41 | 5159 | checksum: 8c85413f74e8bce8390d49474c8b0ff9d99626bd913ab41ad36f92ad297b89c50198daca84ff56bfb0dd1d5b4e64abfbd0e3ea8b016739dc64b5f076784d3b79 |
5098 | languageName: node | 5160 | languageName: node |
5099 | linkType: hard | 5161 | linkType: hard |
5100 | 5162 | ||
@@ -5169,7 +5231,7 @@ __metadata: | |||
5169 | languageName: node | 5231 | languageName: node |
5170 | linkType: hard | 5232 | linkType: hard |
5171 | 5233 | ||
5172 | "json5@npm:^1.0.1": | 5234 | "json5@npm:^1.0.2": |
5173 | version: 1.0.2 | 5235 | version: 1.0.2 |
5174 | resolution: "json5@npm:1.0.2" | 5236 | resolution: "json5@npm:1.0.2" |
5175 | dependencies: | 5237 | dependencies: |
@@ -5220,9 +5282,9 @@ __metadata: | |||
5220 | linkType: hard | 5282 | linkType: hard |
5221 | 5283 | ||
5222 | "language-subtag-registry@npm:~0.3.2": | 5284 | "language-subtag-registry@npm:~0.3.2": |
5223 | version: 0.3.21 | 5285 | version: 0.3.22 |
5224 | resolution: "language-subtag-registry@npm:0.3.21" | 5286 | resolution: "language-subtag-registry@npm:0.3.22" |
5225 | checksum: 52e0593bc0b1d69d487339961458bd89a76ddbfac23ffe973fcadad64bd305b20880b2f159b93283cb3593869cc1d7a480548b3eb665be276c5d49d892ff98a0 | 5287 | checksum: 5d97350e417c3e06add9d30a7d39f40885578fa06210e9e07ca2eb527b580a16842bfc76ab1a71a7891d3f908a2928d335a8d8712f0049a183ebe2d4d60fee56 |
5226 | languageName: node | 5288 | languageName: node |
5227 | linkType: hard | 5289 | linkType: hard |
5228 | 5290 | ||
@@ -5346,6 +5408,13 @@ __metadata: | |||
5346 | languageName: node | 5408 | languageName: node |
5347 | linkType: hard | 5409 | linkType: hard |
5348 | 5410 | ||
5411 | "lru-cache@npm:^7.7.1": | ||
5412 | version: 7.18.3 | ||
5413 | resolution: "lru-cache@npm:7.18.3" | ||
5414 | checksum: 884c7cb51963cc45bc0d864c704d141c904c93db1bbc236be0eed759e35fc44b5e794a34b0666e193926e5a4320b66e787b1cf531f4f89ed8514a97156f07cb1 | ||
5415 | languageName: node | ||
5416 | linkType: hard | ||
5417 | |||
5349 | "magic-string@npm:^0.25.0, magic-string@npm:^0.25.7": | 5418 | "magic-string@npm:^0.25.0, magic-string@npm:^0.25.7": |
5350 | version: 0.25.9 | 5419 | version: 0.25.9 |
5351 | resolution: "magic-string@npm:0.25.9" | 5420 | resolution: "magic-string@npm:0.25.9" |
@@ -5364,27 +5433,27 @@ __metadata: | |||
5364 | languageName: node | 5433 | languageName: node |
5365 | linkType: hard | 5434 | linkType: hard |
5366 | 5435 | ||
5367 | "make-fetch-happen@npm:^9.1.0": | 5436 | "make-fetch-happen@npm:^10.0.3": |
5368 | version: 9.1.0 | 5437 | version: 10.2.1 |
5369 | resolution: "make-fetch-happen@npm:9.1.0" | 5438 | resolution: "make-fetch-happen@npm:10.2.1" |
5370 | dependencies: | 5439 | dependencies: |
5371 | agentkeepalive: "npm:^4.1.3" | 5440 | agentkeepalive: "npm:^4.2.1" |
5372 | cacache: "npm:^15.2.0" | 5441 | cacache: "npm:^16.1.0" |
5373 | http-cache-semantics: "npm:^4.1.0" | 5442 | http-cache-semantics: "npm:^4.1.0" |
5374 | http-proxy-agent: "npm:^4.0.1" | 5443 | http-proxy-agent: "npm:^5.0.0" |
5375 | https-proxy-agent: "npm:^5.0.0" | 5444 | https-proxy-agent: "npm:^5.0.0" |
5376 | is-lambda: "npm:^1.0.1" | 5445 | is-lambda: "npm:^1.0.1" |
5377 | lru-cache: "npm:^6.0.0" | 5446 | lru-cache: "npm:^7.7.1" |
5378 | minipass: "npm:^3.1.3" | 5447 | minipass: "npm:^3.1.6" |
5379 | minipass-collect: "npm:^1.0.2" | 5448 | minipass-collect: "npm:^1.0.2" |
5380 | minipass-fetch: "npm:^1.3.2" | 5449 | minipass-fetch: "npm:^2.0.3" |
5381 | minipass-flush: "npm:^1.0.5" | 5450 | minipass-flush: "npm:^1.0.5" |
5382 | minipass-pipeline: "npm:^1.2.4" | 5451 | minipass-pipeline: "npm:^1.2.4" |
5383 | negotiator: "npm:^0.6.2" | 5452 | negotiator: "npm:^0.6.3" |
5384 | promise-retry: "npm:^2.0.1" | 5453 | promise-retry: "npm:^2.0.1" |
5385 | socks-proxy-agent: "npm:^6.0.0" | 5454 | socks-proxy-agent: "npm:^7.0.0" |
5386 | ssri: "npm:^8.0.0" | 5455 | ssri: "npm:^9.0.0" |
5387 | checksum: b2458728fe9e4db3bd1624b8385bf30b20d42b456a2eca7623306b37b08e5eb0ee4420e618d8382b6988c9cf808ff94f1f66c2f036afe09f4b1d5e062cd6e5ea | 5456 | checksum: cf0d4b94fb0b022d41373fe7ce0f2a170a7c2668c7404f985c4fa6fe465c24cc3d1a6a84e0a6d4b2cd60cf7d41ec26cc5205d258e15f06c33179c14a31a5e4bd |
5388 | languageName: node | 5457 | languageName: node |
5389 | linkType: hard | 5458 | linkType: hard |
5390 | 5459 | ||
@@ -5422,18 +5491,18 @@ __metadata: | |||
5422 | linkType: hard | 5491 | linkType: hard |
5423 | 5492 | ||
5424 | "minimatch@npm:^5.0.1": | 5493 | "minimatch@npm:^5.0.1": |
5425 | version: 5.1.0 | 5494 | version: 5.1.6 |
5426 | resolution: "minimatch@npm:5.1.0" | 5495 | resolution: "minimatch@npm:5.1.6" |
5427 | dependencies: | 5496 | dependencies: |
5428 | brace-expansion: "npm:^2.0.1" | 5497 | brace-expansion: "npm:^2.0.1" |
5429 | checksum: cf8124b47d19be2d6a4b2cab80114999239ab6a01062e2f0abe666b779de120b6f85ed9a73e3a27b61fa088fb45957929a8fcc727bd20de829d3e4e659ad01ff | 5498 | checksum: 0c0446ede579b1736bfea4efb288c2dea17ce80fd0339d00547625ed97a60ed403c7c2fb141211119937a811bc635b3f0f44debeb9d7870b3f58cf0fe78ddccc |
5430 | languageName: node | 5499 | languageName: node |
5431 | linkType: hard | 5500 | linkType: hard |
5432 | 5501 | ||
5433 | "minimist@npm:^1.2.0, minimist@npm:^1.2.6": | 5502 | "minimist@npm:^1.2.0, minimist@npm:^1.2.6": |
5434 | version: 1.2.6 | 5503 | version: 1.2.8 |
5435 | resolution: "minimist@npm:1.2.6" | 5504 | resolution: "minimist@npm:1.2.8" |
5436 | checksum: b0286df020a110fa0173e71d8c9903748eb2cc939396d04a61bc224635393c564bc264d04a16e36d51e5489be513f98d7dbe5c2cf11598da11c91f6a18b9449e | 5505 | checksum: 8598f846f2b7546b22b01ce486df27da216a302367afe17f2a032da12fcb8d33bfbf2c523051230864abf0b806748bd60d4cd0863fae35fe104da1ff6194a185 |
5437 | languageName: node | 5506 | languageName: node |
5438 | linkType: hard | 5507 | linkType: hard |
5439 | 5508 | ||
@@ -5446,18 +5515,18 @@ __metadata: | |||
5446 | languageName: node | 5515 | languageName: node |
5447 | linkType: hard | 5516 | linkType: hard |
5448 | 5517 | ||
5449 | "minipass-fetch@npm:^1.3.2": | 5518 | "minipass-fetch@npm:^2.0.3": |
5450 | version: 1.4.1 | 5519 | version: 2.1.2 |
5451 | resolution: "minipass-fetch@npm:1.4.1" | 5520 | resolution: "minipass-fetch@npm:2.1.2" |
5452 | dependencies: | 5521 | dependencies: |
5453 | encoding: "npm:^0.1.12" | 5522 | encoding: "npm:^0.1.13" |
5454 | minipass: "npm:^3.1.0" | 5523 | minipass: "npm:^3.1.6" |
5455 | minipass-sized: "npm:^1.0.3" | 5524 | minipass-sized: "npm:^1.0.3" |
5456 | minizlib: "npm:^2.0.0" | 5525 | minizlib: "npm:^2.1.2" |
5457 | dependenciesMeta: | 5526 | dependenciesMeta: |
5458 | encoding: | 5527 | encoding: |
5459 | optional: true | 5528 | optional: true |
5460 | checksum: e9e37b5688791c97f4d56a7fd93c8930e0a26dce98274ff9b48f4a5e18db994884c7cc34060c8c5d2ccfd6d6711307ee2b81725ae81e0676c94867c9357e89ba | 5529 | checksum: 8ec17c0895d8890b863bbdf860e25bc2f81580c0bbc2cfc05d220f8b5bc255203ee1931f54821e299fd1d5a53d63bfaca20a813a2f45e881423d096c24940366 |
5461 | languageName: node | 5530 | languageName: node |
5462 | linkType: hard | 5531 | linkType: hard |
5463 | 5532 | ||
@@ -5470,7 +5539,7 @@ __metadata: | |||
5470 | languageName: node | 5539 | languageName: node |
5471 | linkType: hard | 5540 | linkType: hard |
5472 | 5541 | ||
5473 | "minipass-pipeline@npm:^1.2.2, minipass-pipeline@npm:^1.2.4": | 5542 | "minipass-pipeline@npm:^1.2.4": |
5474 | version: 1.2.4 | 5543 | version: 1.2.4 |
5475 | resolution: "minipass-pipeline@npm:1.2.4" | 5544 | resolution: "minipass-pipeline@npm:1.2.4" |
5476 | dependencies: | 5545 | dependencies: |
@@ -5488,16 +5557,23 @@ __metadata: | |||
5488 | languageName: node | 5557 | languageName: node |
5489 | linkType: hard | 5558 | linkType: hard |
5490 | 5559 | ||
5491 | "minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": | 5560 | "minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": |
5492 | version: 3.1.6 | 5561 | version: 3.3.6 |
5493 | resolution: "minipass@npm:3.1.6" | 5562 | resolution: "minipass@npm:3.3.6" |
5494 | dependencies: | 5563 | dependencies: |
5495 | yallist: "npm:^4.0.0" | 5564 | yallist: "npm:^4.0.0" |
5496 | checksum: 352a2f87eca475d11c9a486233a2d2c19ce1425309370f42545ca934345bb95ec42a6f0b1e9ac4ee81b7f0046d6cc701feccf7243571d34e655b50c2534ffca6 | 5565 | checksum: 9704cf677a05e82174c1a0765260f877ce3b4f09858b6c80a07a38a41ff661a2913a482f82faa73b89fc23ee3bcc4cff04d7e8ce6951de4fc2c2108d360b6f1f |
5566 | languageName: node | ||
5567 | linkType: hard | ||
5568 | |||
5569 | "minipass@npm:^4.0.0": | ||
5570 | version: 4.2.5 | ||
5571 | resolution: "minipass@npm:4.2.5" | ||
5572 | checksum: 9663cd373005095bc6b9f1c779e6beef3269e171a4049c2c6532ae430dea93647bfa6cf4fab43fc908f9e8ad333a3dbaadca20c15eb4ba9b697c764b7be90d65 | ||
5497 | languageName: node | 5573 | languageName: node |
5498 | linkType: hard | 5574 | linkType: hard |
5499 | 5575 | ||
5500 | "minizlib@npm:^2.0.0, minizlib@npm:^2.1.1": | 5576 | "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": |
5501 | version: 2.1.2 | 5577 | version: 2.1.2 |
5502 | resolution: "minizlib@npm:2.1.2" | 5578 | resolution: "minizlib@npm:2.1.2" |
5503 | dependencies: | 5579 | dependencies: |
@@ -5516,9 +5592,9 @@ __metadata: | |||
5516 | languageName: node | 5592 | languageName: node |
5517 | linkType: hard | 5593 | linkType: hard |
5518 | 5594 | ||
5519 | "mobx-react-lite@npm:^3.4.0": | 5595 | "mobx-react-lite@npm:^3.4.3": |
5520 | version: 3.4.0 | 5596 | version: 3.4.3 |
5521 | resolution: "mobx-react-lite@npm:3.4.0" | 5597 | resolution: "mobx-react-lite@npm:3.4.3" |
5522 | peerDependencies: | 5598 | peerDependencies: |
5523 | mobx: ^6.1.0 | 5599 | mobx: ^6.1.0 |
5524 | react: ^16.8.0 || ^17 || ^18 | 5600 | react: ^16.8.0 || ^17 || ^18 |
@@ -5527,14 +5603,14 @@ __metadata: | |||
5527 | optional: true | 5603 | optional: true |
5528 | react-native: | 5604 | react-native: |
5529 | optional: true | 5605 | optional: true |
5530 | checksum: 7363315f2e566c7e601bdad118f1a64534226941deb937c5ee7ce09dc7d59f960653f54b31528757757463c1cc32471460098f9875801f8c78506e6bffee7390 | 5606 | checksum: d7291f504c95e4f83ffca732698c58ec1acee0fc882ffabade5ac29d2f04ff44fc5a027dd7787ebd5ca3be795cf19c5b43b715948d972b685adf89d8826ec1f6 |
5531 | languageName: node | 5607 | languageName: node |
5532 | linkType: hard | 5608 | linkType: hard |
5533 | 5609 | ||
5534 | "mobx@npm:^6.7.0": | 5610 | "mobx@npm:^6.9.0": |
5535 | version: 6.7.0 | 5611 | version: 6.9.0 |
5536 | resolution: "mobx@npm:6.7.0" | 5612 | resolution: "mobx@npm:6.9.0" |
5537 | checksum: d74a61a4becb421c6b9822807188048386b800a71e153a524906dcd7425932c7a25216781f89fe443cc264983a99e2bfe1f4f3e53a899d84015aeb0a4f69c285 | 5613 | checksum: 8e4899424940d3e0e46621ad003c4f629d981fc72873fe3cb2cd01e4e0359895a0ee9c78aa975981dec7e69977dd463b6f8c8c30303bb1169e3d42bec759a32f |
5538 | languageName: node | 5614 | languageName: node |
5539 | linkType: hard | 5615 | linkType: hard |
5540 | 5616 | ||
@@ -5553,20 +5629,20 @@ __metadata: | |||
5553 | linkType: hard | 5629 | linkType: hard |
5554 | 5630 | ||
5555 | "nanoid@npm:^3.3.4": | 5631 | "nanoid@npm:^3.3.4": |
5556 | version: 3.3.4 | 5632 | version: 3.3.6 |
5557 | resolution: "nanoid@npm:3.3.4" | 5633 | resolution: "nanoid@npm:3.3.6" |
5558 | bin: | 5634 | bin: |
5559 | nanoid: bin/nanoid.cjs | 5635 | nanoid: bin/nanoid.cjs |
5560 | checksum: 53d605377c76614170df4b5a8d3fa21f13c7077453a77e2393a9fe3df5722022f6b94a671f406b51f81e9c937a6928555c1589e3c46a0d9d29f31872d1362246 | 5636 | checksum: c6f3fad3b9132b17f72f9ca018ff12caf5a9fd474d08881156deffe7c77cc76220e49610232e570e2a33e3aa941214c08634762390a87b1fb9816d6108aa9e64 |
5561 | languageName: node | 5637 | languageName: node |
5562 | linkType: hard | 5638 | linkType: hard |
5563 | 5639 | ||
5564 | "nanoid@npm:^4.0.0": | 5640 | "nanoid@npm:^4.0.2": |
5565 | version: 4.0.0 | 5641 | version: 4.0.2 |
5566 | resolution: "nanoid@npm:4.0.0" | 5642 | resolution: "nanoid@npm:4.0.2" |
5567 | bin: | 5643 | bin: |
5568 | nanoid: bin/nanoid.js | 5644 | nanoid: bin/nanoid.js |
5569 | checksum: b6263a2a2425999b5aecabd18b25442ae4ef13048b2809ff173e0b0066f376b6fb2605d423763d1d26512cb095e71beee3d8b927f984603e05e169e171d8f6f0 | 5645 | checksum: 0e28bade6b10396bc0936980c7569e9710341b3dd8775bcd0645b7d23f59ff64e59c4413f48836bc336711ef1cc4f61f6453946a3bf69c4c235fab9d221f9216 |
5570 | languageName: node | 5646 | languageName: node |
5571 | linkType: hard | 5647 | linkType: hard |
5572 | 5648 | ||
@@ -5584,7 +5660,7 @@ __metadata: | |||
5584 | languageName: node | 5660 | languageName: node |
5585 | linkType: hard | 5661 | linkType: hard |
5586 | 5662 | ||
5587 | "negotiator@npm:^0.6.2": | 5663 | "negotiator@npm:^0.6.3": |
5588 | version: 0.6.3 | 5664 | version: 0.6.3 |
5589 | resolution: "negotiator@npm:0.6.3" | 5665 | resolution: "negotiator@npm:0.6.3" |
5590 | checksum: d8e3b42d99638b1f363ce114c98e6906ade395c230058e50644417bd398b01381133dbca4bc49f30f6b1c93254e4b5a2d50cc47adcdabf2a8476b6f16311ad5d | 5666 | checksum: d8e3b42d99638b1f363ce114c98e6906ade395c230058e50644417bd398b01381133dbca4bc49f30f6b1c93254e4b5a2d50cc47adcdabf2a8476b6f16311ad5d |
@@ -5602,14 +5678,14 @@ __metadata: | |||
5602 | linkType: hard | 5678 | linkType: hard |
5603 | 5679 | ||
5604 | "node-gyp@npm:latest": | 5680 | "node-gyp@npm:latest": |
5605 | version: 8.4.1 | 5681 | version: 9.3.1 |
5606 | resolution: "node-gyp@npm:8.4.1" | 5682 | resolution: "node-gyp@npm:9.3.1" |
5607 | dependencies: | 5683 | dependencies: |
5608 | env-paths: "npm:^2.2.0" | 5684 | env-paths: "npm:^2.2.0" |
5609 | glob: "npm:^7.1.4" | 5685 | glob: "npm:^7.1.4" |
5610 | graceful-fs: "npm:^4.2.6" | 5686 | graceful-fs: "npm:^4.2.6" |
5611 | make-fetch-happen: "npm:^9.1.0" | 5687 | make-fetch-happen: "npm:^10.0.3" |
5612 | nopt: "npm:^5.0.0" | 5688 | nopt: "npm:^6.0.0" |
5613 | npmlog: "npm:^6.0.0" | 5689 | npmlog: "npm:^6.0.0" |
5614 | rimraf: "npm:^3.0.2" | 5690 | rimraf: "npm:^3.0.2" |
5615 | semver: "npm:^7.3.5" | 5691 | semver: "npm:^7.3.5" |
@@ -5617,25 +5693,25 @@ __metadata: | |||
5617 | which: "npm:^2.0.2" | 5693 | which: "npm:^2.0.2" |
5618 | bin: | 5694 | bin: |
5619 | node-gyp: bin/node-gyp.js | 5695 | node-gyp: bin/node-gyp.js |
5620 | checksum: 9dc3f289bf1eb3ef62242d5476db4d3a6010aaa74f56f545bde897caf1f3d581ada85b704f346734ce46da4fad2d5ca2e37501ea32065fc44e92470f0a6c91e4 | 5696 | checksum: 40aca5b9b3cc5715d5407101d69826927db9a2cf140f113ac52e239a10b15fbae277844ff815c05bcaa9c9fc5256e4e23b3ce3bdace573429d929e3b5df99845 |
5621 | languageName: node | 5697 | languageName: node |
5622 | linkType: hard | 5698 | linkType: hard |
5623 | 5699 | ||
5624 | "node-releases@npm:^2.0.6": | 5700 | "node-releases@npm:^2.0.8": |
5625 | version: 2.0.6 | 5701 | version: 2.0.10 |
5626 | resolution: "node-releases@npm:2.0.6" | 5702 | resolution: "node-releases@npm:2.0.10" |
5627 | checksum: 6d4a77d1566d9cf13d835bb2a9c4080c667417353260ba69092d570313c492772a030b5733f52838d90608e6ad558ab969673c67bc948e29143e527661e265b3 | 5703 | checksum: 2047e77c66497fde77318ac163feb8ee18a3bca67c87b76642aeb0549bd01edcc88d7e002691b982513ebb46c809c456c7e027e38848ce9d2f915473552490b6 |
5628 | languageName: node | 5704 | languageName: node |
5629 | linkType: hard | 5705 | linkType: hard |
5630 | 5706 | ||
5631 | "nopt@npm:^5.0.0": | 5707 | "nopt@npm:^6.0.0": |
5632 | version: 5.0.0 | 5708 | version: 6.0.0 |
5633 | resolution: "nopt@npm:5.0.0" | 5709 | resolution: "nopt@npm:6.0.0" |
5634 | dependencies: | 5710 | dependencies: |
5635 | abbrev: "npm:1" | 5711 | abbrev: "npm:^1.0.0" |
5636 | bin: | 5712 | bin: |
5637 | nopt: bin/nopt.js | 5713 | nopt: bin/nopt.js |
5638 | checksum: cb0f3672738e989b12d8459f30366e8a89f79462581a09816cbbd575e272bc0ae2a135ac0b60647748be64100787d631cd0ac18157d519021336ae277e3362a3 | 5714 | checksum: 6ae5c083c5b205d0850f3b00c093cb0b1d4fb28fb69c68c3f933048e666695b1f218db6a4a7f61a4bae2f127268f526a7f2764223208e4dd527c51c56c49a5c7 |
5639 | languageName: node | 5715 | languageName: node |
5640 | linkType: hard | 5716 | linkType: hard |
5641 | 5717 | ||
@@ -5646,36 +5722,28 @@ __metadata: | |||
5646 | languageName: node | 5722 | languageName: node |
5647 | linkType: hard | 5723 | linkType: hard |
5648 | 5724 | ||
5649 | "notistack@npm:^2.0.8": | 5725 | "notistack@npm:^3.0.1": |
5650 | version: 2.0.8 | 5726 | version: 3.0.1 |
5651 | resolution: "notistack@npm:2.0.8" | 5727 | resolution: "notistack@npm:3.0.1" |
5652 | dependencies: | 5728 | dependencies: |
5653 | clsx: "npm:^1.1.0" | 5729 | clsx: "npm:^1.1.0" |
5654 | hoist-non-react-statics: "npm:^3.3.0" | 5730 | goober: "npm:^2.0.33" |
5655 | peerDependencies: | 5731 | peerDependencies: |
5656 | "@emotion/react": ^11.4.1 | ||
5657 | "@emotion/styled": ^11.3.0 | ||
5658 | "@mui/material": ^5.0.0 | ||
5659 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 | 5732 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 |
5660 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 | 5733 | react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 |
5661 | peerDependenciesMeta: | 5734 | checksum: 2b9f69de8544089501a7b762ca64483eb93b95b1bf4448bc0b2576c9b1aaa44e7f2ea671220a11fb818f2826fe7bb80271b76b3735f7608fef8643394676fc09 |
5662 | "@emotion/react": | ||
5663 | optional: true | ||
5664 | "@emotion/styled": | ||
5665 | optional: true | ||
5666 | checksum: f64e6232127f03e7b2e9b40cbd2f0893bda586359ba6c8bb368ee2520745f14d956076aa0aff2b07f31795a693247da37eaee1e6f5b4170a7cfa7b11bbe4bb3d | ||
5667 | languageName: node | 5735 | languageName: node |
5668 | linkType: hard | 5736 | linkType: hard |
5669 | 5737 | ||
5670 | "npmlog@npm:^6.0.0": | 5738 | "npmlog@npm:^6.0.0": |
5671 | version: 6.0.0 | 5739 | version: 6.0.2 |
5672 | resolution: "npmlog@npm:6.0.0" | 5740 | resolution: "npmlog@npm:6.0.2" |
5673 | dependencies: | 5741 | dependencies: |
5674 | are-we-there-yet: "npm:^2.0.0" | 5742 | are-we-there-yet: "npm:^3.0.0" |
5675 | console-control-strings: "npm:^1.1.0" | 5743 | console-control-strings: "npm:^1.1.0" |
5676 | gauge: "npm:^4.0.0" | 5744 | gauge: "npm:^4.0.3" |
5677 | set-blocking: "npm:^2.0.0" | 5745 | set-blocking: "npm:^2.0.0" |
5678 | checksum: 3a7b5b27a201953d468fd78c201b2326dec106bef62b523fb7c5ad070f7f96d3b0e1d97b65ced4d6564e3a116beb515e1a78cb285b8b65a63f5bf6c8751e90cf | 5746 | checksum: c04307b2991f128df6f3bb71c36fa56a65397f56f02a565ed269786ecd5609818e6cae36de3371555e52fdf049a5649a3591ac3bb432a2a0146d67093c4be93c |
5679 | languageName: node | 5747 | languageName: node |
5680 | linkType: hard | 5748 | linkType: hard |
5681 | 5749 | ||
@@ -5686,10 +5754,10 @@ __metadata: | |||
5686 | languageName: node | 5754 | languageName: node |
5687 | linkType: hard | 5755 | linkType: hard |
5688 | 5756 | ||
5689 | "object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": | 5757 | "object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": |
5690 | version: 1.12.2 | 5758 | version: 1.12.3 |
5691 | resolution: "object-inspect@npm:1.12.2" | 5759 | resolution: "object-inspect@npm:1.12.3" |
5692 | checksum: 46e3fc4cb6a51a37c21c68bdf682befc2e50a0d1643d1f7cbdce9a5fd13e9d44ae8cbbf1b05f0c8daf739c02eb9044d825544e25c3aef2a7d315980c8c7ccb71 | 5760 | checksum: 052c374ab0a4c85201480374c1039dddac0aaa8ef0fcbe1b04026f4c832c5632db6cb63617d6403b2b9dca08d4302d781aeb6c4d0260de4a84118ecaf1b5ebda |
5693 | languageName: node | 5761 | languageName: node |
5694 | linkType: hard | 5762 | linkType: hard |
5695 | 5763 | ||
@@ -5775,13 +5843,13 @@ __metadata: | |||
5775 | linkType: hard | 5843 | linkType: hard |
5776 | 5844 | ||
5777 | "open@npm:^8.4.0": | 5845 | "open@npm:^8.4.0": |
5778 | version: 8.4.0 | 5846 | version: 8.4.2 |
5779 | resolution: "open@npm:8.4.0" | 5847 | resolution: "open@npm:8.4.2" |
5780 | dependencies: | 5848 | dependencies: |
5781 | define-lazy-prop: "npm:^2.0.0" | 5849 | define-lazy-prop: "npm:^2.0.0" |
5782 | is-docker: "npm:^2.1.1" | 5850 | is-docker: "npm:^2.1.1" |
5783 | is-wsl: "npm:^2.2.0" | 5851 | is-wsl: "npm:^2.2.0" |
5784 | checksum: 287db1bc10b3927b247d7c125d3ef998c410f57f434619a9d93f3e1384ff025ef12c18c1cfde1cb8f23f1326fb2bfe2634c789737bb65c18183015b5de81f594 | 5852 | checksum: 132803ca71c3bb0f66bd2db969efbb9a2511d05588c02f7141dd346e74ca817dc605a28ab1426bbeb8cb43c9deb9697bbbe26ad5a8488603677c70c4b84959bd |
5785 | languageName: node | 5853 | languageName: node |
5786 | linkType: hard | 5854 | linkType: hard |
5787 | 5855 | ||
@@ -5943,12 +6011,12 @@ __metadata: | |||
5943 | languageName: node | 6011 | languageName: node |
5944 | linkType: hard | 6012 | linkType: hard |
5945 | 6013 | ||
5946 | "prettier@npm:^2.8.3": | 6014 | "prettier@npm:^2.8.7": |
5947 | version: 2.8.3 | 6015 | version: 2.8.7 |
5948 | resolution: "prettier@npm:2.8.3" | 6016 | resolution: "prettier@npm:2.8.7" |
5949 | bin: | 6017 | bin: |
5950 | prettier: bin-prettier.js | 6018 | prettier: bin-prettier.js |
5951 | checksum: 9daf1c05e07337a96fec26b5518ce787e4f98bfd1a5eb72af988cf123ea7ed56584f10c0cc4fc3073bf9504d157a8604d93a8e17752c483ae114614a0c557b36 | 6019 | checksum: ec15b2e0a2a34a4987cca4ee72b2df56c7f4a4c62322d9a0f3c9efccb2cc0e3efdb791bb2764f2268e69e05946dc72108e5b5957d4bb2c1a41a11733b8b09153 |
5952 | languageName: node | 6020 | languageName: node |
5953 | linkType: hard | 6021 | linkType: hard |
5954 | 6022 | ||
@@ -5960,9 +6028,9 @@ __metadata: | |||
5960 | linkType: hard | 6028 | linkType: hard |
5961 | 6029 | ||
5962 | "pretty-bytes@npm:^6.0.0": | 6030 | "pretty-bytes@npm:^6.0.0": |
5963 | version: 6.0.0 | 6031 | version: 6.1.0 |
5964 | resolution: "pretty-bytes@npm:6.0.0" | 6032 | resolution: "pretty-bytes@npm:6.1.0" |
5965 | checksum: 9033b687324fe83d1a74b2c69637e4eb26693da76010a3446bb24bdec1508106ed930fcfe61a7661a227c32ea2e499b1aa0493fe370c844dfb329e4c7c3ff0ff | 6033 | checksum: 6c2df1578394426e89388c1b482138480b9468daa618ceb8c974d0048ea3002d28dc80d61553be978aedaf67b2b2909a1d10280f9d00bb9ff693b088db44e3e1 |
5966 | languageName: node | 6034 | languageName: node |
5967 | linkType: hard | 6035 | linkType: hard |
5968 | 6036 | ||
@@ -5995,9 +6063,9 @@ __metadata: | |||
5995 | linkType: hard | 6063 | linkType: hard |
5996 | 6064 | ||
5997 | "punycode@npm:^2.1.0": | 6065 | "punycode@npm:^2.1.0": |
5998 | version: 2.1.1 | 6066 | version: 2.3.0 |
5999 | resolution: "punycode@npm:2.1.1" | 6067 | resolution: "punycode@npm:2.3.0" |
6000 | checksum: fd728ef9db90e7b4db37d5c4937d6c6302cf4f64748b2dea3abbf1efd21e6193bb670efb7814766c858b2e1ccdb65ce34e44b498d734922e1dcb2a8623a925d8 | 6068 | checksum: c2b408c805927a6614ef581bd3d00deca1fef9f2da0ec95cecaedf6a985d8596a29e931e31f80f7313f94257895f9ac6cf4c2ae81cdca04964daf9c3c3d221c1 |
6001 | languageName: node | 6069 | languageName: node |
6002 | linkType: hard | 6070 | linkType: hard |
6003 | 6071 | ||
@@ -6068,13 +6136,13 @@ __metadata: | |||
6068 | linkType: hard | 6136 | linkType: hard |
6069 | 6137 | ||
6070 | "readable-stream@npm:^3.6.0": | 6138 | "readable-stream@npm:^3.6.0": |
6071 | version: 3.6.0 | 6139 | version: 3.6.2 |
6072 | resolution: "readable-stream@npm:3.6.0" | 6140 | resolution: "readable-stream@npm:3.6.2" |
6073 | dependencies: | 6141 | dependencies: |
6074 | inherits: "npm:^2.0.3" | 6142 | inherits: "npm:^2.0.3" |
6075 | string_decoder: "npm:^1.1.1" | 6143 | string_decoder: "npm:^1.1.1" |
6076 | util-deprecate: "npm:^1.0.1" | 6144 | util-deprecate: "npm:^1.0.1" |
6077 | checksum: bda7b24d3910bf0ec4a1df3c540e1b97b1ed3ca49ea0ddc0d2c6bf29d3997251a7244608de1d842555641d1c115d9b3566167fef9225ee6ef147c9e6a539395b | 6145 | checksum: b1cbe0fea6b407fc75bfbe4f6c54d48899e638d54a8a1207b5040c60566dd5f65059b32c3edf0ac0ce621ea46929b3337e8a19410870eff98b8be5a3ba543b7a |
6078 | languageName: node | 6146 | languageName: node |
6079 | linkType: hard | 6147 | linkType: hard |
6080 | 6148 | ||
@@ -6099,12 +6167,12 @@ __metadata: | |||
6099 | languageName: node | 6167 | languageName: node |
6100 | linkType: hard | 6168 | linkType: hard |
6101 | 6169 | ||
6102 | "regenerate-unicode-properties@npm:^10.0.1": | 6170 | "regenerate-unicode-properties@npm:^10.1.0": |
6103 | version: 10.0.1 | 6171 | version: 10.1.0 |
6104 | resolution: "regenerate-unicode-properties@npm:10.0.1" | 6172 | resolution: "regenerate-unicode-properties@npm:10.1.0" |
6105 | dependencies: | 6173 | dependencies: |
6106 | regenerate: "npm:^1.4.2" | 6174 | regenerate: "npm:^1.4.2" |
6107 | checksum: 551c4eb58bcde309e942b2e721271d07c728381456cb86a98c522e73e47a95b91d07bd7d932d38b7444f3e5d348242b005f87217d9ac0c496ebb66d87cefb23e | 6175 | checksum: 8abc8d628a7b4733e69a6e113e79fee348d2cecade5b9a65442167ca17410c1aea5213ac4f5e1b7897013b6bae98238703fda09303acd763a6e5eaf849cc0830 |
6108 | languageName: node | 6176 | languageName: node |
6109 | linkType: hard | 6177 | linkType: hard |
6110 | 6178 | ||
@@ -6123,11 +6191,11 @@ __metadata: | |||
6123 | linkType: hard | 6191 | linkType: hard |
6124 | 6192 | ||
6125 | "regenerator-transform@npm:^0.15.0": | 6193 | "regenerator-transform@npm:^0.15.0": |
6126 | version: 0.15.0 | 6194 | version: 0.15.1 |
6127 | resolution: "regenerator-transform@npm:0.15.0" | 6195 | resolution: "regenerator-transform@npm:0.15.1" |
6128 | dependencies: | 6196 | dependencies: |
6129 | "@babel/runtime": "npm:^7.8.4" | 6197 | "@babel/runtime": "npm:^7.8.4" |
6130 | checksum: 275bd346e27f3f3e3940ef27ff10fce579941d13be545465649860b3e9d01304ef39d3045a0a7fd70a0d48bac28ccc4ef054cd126b2c5cd473093c31fc8f995f | 6198 | checksum: a3e4421b918fa650962898274588073dce1c49eb08d3a9b3dd7a4859c17cf362c72e5ae23dffef493d44c26cda2ac56ab3c47ad5b9874e2709f6c67c36b52391 |
6131 | languageName: node | 6199 | languageName: node |
6132 | linkType: hard | 6200 | linkType: hard |
6133 | 6201 | ||
@@ -6142,42 +6210,28 @@ __metadata: | |||
6142 | languageName: node | 6210 | languageName: node |
6143 | linkType: hard | 6211 | linkType: hard |
6144 | 6212 | ||
6145 | "regexpp@npm:^3.2.0": | ||
6146 | version: 3.2.0 | ||
6147 | resolution: "regexpp@npm:3.2.0" | ||
6148 | checksum: b171774d3380c053d3bd4af6b4f60f2e28c837dd4daeafb183d656e2f439dc606ee428bb44f14cbaa5a715524d2e8d88d168817445b4156d1ea06337f29eb405 | ||
6149 | languageName: node | ||
6150 | linkType: hard | ||
6151 | |||
6152 | "regexpu-core@npm:^5.1.0": | 6213 | "regexpu-core@npm:^5.1.0": |
6153 | version: 5.1.0 | 6214 | version: 5.3.2 |
6154 | resolution: "regexpu-core@npm:5.1.0" | 6215 | resolution: "regexpu-core@npm:5.3.2" |
6155 | dependencies: | 6216 | dependencies: |
6217 | "@babel/regjsgen": "npm:^0.8.0" | ||
6156 | regenerate: "npm:^1.4.2" | 6218 | regenerate: "npm:^1.4.2" |
6157 | regenerate-unicode-properties: "npm:^10.0.1" | 6219 | regenerate-unicode-properties: "npm:^10.1.0" |
6158 | regjsgen: "npm:^0.6.0" | 6220 | regjsparser: "npm:^0.9.1" |
6159 | regjsparser: "npm:^0.8.2" | ||
6160 | unicode-match-property-ecmascript: "npm:^2.0.0" | 6221 | unicode-match-property-ecmascript: "npm:^2.0.0" |
6161 | unicode-match-property-value-ecmascript: "npm:^2.0.0" | 6222 | unicode-match-property-value-ecmascript: "npm:^2.1.0" |
6162 | checksum: eb3c2d2a9a85a3559e001c52c8f42cfea8cbbcebdc841e0f71a540fa92a3dcf0e1e24312269d01df1478f20a838b9051c66038281fe0426603c6fd1f408b621a | 6223 | checksum: bf3f31464f6f11161f6d19659abe771d69210ff148f7fb873074a1dc6a31f6494771e5424f6f9fb97fc708783fec5591efaa4bbc3943fac703775bb4653a39ad |
6163 | languageName: node | ||
6164 | linkType: hard | ||
6165 | |||
6166 | "regjsgen@npm:^0.6.0": | ||
6167 | version: 0.6.0 | ||
6168 | resolution: "regjsgen@npm:0.6.0" | ||
6169 | checksum: 194b4e28d881448023ffc08c06e2602e88115d44cdd38021bad5c5c77c18833598889c683859b87ca8d3fc20df37a8a124bfac0dbc98ca05fb44b9994a793f14 | ||
6170 | languageName: node | 6224 | languageName: node |
6171 | linkType: hard | 6225 | linkType: hard |
6172 | 6226 | ||
6173 | "regjsparser@npm:^0.8.2": | 6227 | "regjsparser@npm:^0.9.1": |
6174 | version: 0.8.4 | 6228 | version: 0.9.1 |
6175 | resolution: "regjsparser@npm:0.8.4" | 6229 | resolution: "regjsparser@npm:0.9.1" |
6176 | dependencies: | 6230 | dependencies: |
6177 | jsesc: "npm:~0.5.0" | 6231 | jsesc: "npm:~0.5.0" |
6178 | bin: | 6232 | bin: |
6179 | regjsparser: bin/parser | 6233 | regjsparser: bin/parser |
6180 | checksum: 8d370d309ad77094d5b2fa57d5ccf9e37929f5d1ef7e5374eb233d8e470b5e41bbe150fad9629959393f57855ca0a54ea5472fc91e933f695adb17198382424f | 6234 | checksum: c706fb5d31aabd1951c0aa5fdfdb193bac82f9bec0e0ba77ab794e1260ec0589fdb270532387b8831124c9191ffccaf4eaceb7cd7df3f0be9572808d47c44266 |
6181 | languageName: node | 6235 | languageName: node |
6182 | linkType: hard | 6236 | linkType: hard |
6183 | 6237 | ||
@@ -6307,9 +6361,9 @@ __metadata: | |||
6307 | languageName: node | 6361 | languageName: node |
6308 | linkType: hard | 6362 | linkType: hard |
6309 | 6363 | ||
6310 | "rollup@npm:^3.10.0, rollup@npm:^3.7.2": | 6364 | "rollup@npm:^3.18.0, rollup@npm:^3.7.2": |
6311 | version: 3.12.1 | 6365 | version: 3.20.2 |
6312 | resolution: "rollup@npm:3.12.1" | 6366 | resolution: "rollup@npm:3.20.2" |
6313 | dependencies: | 6367 | dependencies: |
6314 | fsevents: "npm:~2.3.2" | 6368 | fsevents: "npm:~2.3.2" |
6315 | dependenciesMeta: | 6369 | dependenciesMeta: |
@@ -6317,7 +6371,7 @@ __metadata: | |||
6317 | optional: true | 6371 | optional: true |
6318 | bin: | 6372 | bin: |
6319 | rollup: dist/bin/rollup | 6373 | rollup: dist/bin/rollup |
6320 | checksum: 9bf000f17910c383cbc3121dcb9e4c3814ea97939cfe817ef41dd19265a1214df2d77a0d612069ca6ad81d1df131c4910417dc892863bc6e3ff2b82ad15f37f9 | 6374 | checksum: 170a0db203640593b9e500ca2c4a969ec0897154bf1bf9e354f6e6d2a1ee481791d360b9e80a61feff85407989c104b9cb37aab498c17ba58bdabf1940c50f80 |
6321 | languageName: node | 6375 | languageName: node |
6322 | linkType: hard | 6376 | linkType: hard |
6323 | 6377 | ||
@@ -6337,13 +6391,6 @@ __metadata: | |||
6337 | languageName: node | 6391 | languageName: node |
6338 | linkType: hard | 6392 | linkType: hard |
6339 | 6393 | ||
6340 | "safe-buffer@npm:~5.1.1": | ||
6341 | version: 5.1.2 | ||
6342 | resolution: "safe-buffer@npm:5.1.2" | ||
6343 | checksum: 86939c6de6b62c1d39b7da860a56d5e50ede9b0ab35a91b0620bff8a96f1f798084ff910059f605087c2c500dc23dfdf77ff5bc3bcc8d4d38e3d634de2e3e426 | ||
6344 | languageName: node | ||
6345 | linkType: hard | ||
6346 | |||
6347 | "safe-regex-test@npm:^1.0.0": | 6394 | "safe-regex-test@npm:^1.0.0": |
6348 | version: 1.0.0 | 6395 | version: 1.0.0 |
6349 | resolution: "safe-regex-test@npm:1.0.0" | 6396 | resolution: "safe-regex-test@npm:1.0.0" |
@@ -6371,15 +6418,6 @@ __metadata: | |||
6371 | languageName: node | 6418 | languageName: node |
6372 | linkType: hard | 6419 | linkType: hard |
6373 | 6420 | ||
6374 | "semver@npm:7.0.0": | ||
6375 | version: 7.0.0 | ||
6376 | resolution: "semver@npm:7.0.0" | ||
6377 | bin: | ||
6378 | semver: bin/semver.js | ||
6379 | checksum: c0b7fdd720c6ee955cd71172ef8d63f41976d70049f02aa7569edff0ab89846ee035e39c82f3733fd2af3285f6ca6e14c3778e8de84cd8ea6ec1a33c68bf072a | ||
6380 | languageName: node | ||
6381 | linkType: hard | ||
6382 | |||
6383 | "semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0": | 6421 | "semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0": |
6384 | version: 6.3.0 | 6422 | version: 6.3.0 |
6385 | resolution: "semver@npm:6.3.0" | 6423 | resolution: "semver@npm:6.3.0" |
@@ -6390,13 +6428,13 @@ __metadata: | |||
6390 | linkType: hard | 6428 | linkType: hard |
6391 | 6429 | ||
6392 | "semver@npm:^7.3.5, semver@npm:^7.3.7": | 6430 | "semver@npm:^7.3.5, semver@npm:^7.3.7": |
6393 | version: 7.3.7 | 6431 | version: 7.3.8 |
6394 | resolution: "semver@npm:7.3.7" | 6432 | resolution: "semver@npm:7.3.8" |
6395 | dependencies: | 6433 | dependencies: |
6396 | lru-cache: "npm:^6.0.0" | 6434 | lru-cache: "npm:^6.0.0" |
6397 | bin: | 6435 | bin: |
6398 | semver: bin/semver.js | 6436 | semver: bin/semver.js |
6399 | checksum: 67bcf24790dcba9c20b2cd4c8ade19eebbcb10c8868453570749b47b77bd5c7da503478997a7a3f663d5b2976ac39c545f38d2d9e7dfcc693cb87f4068f93f8e | 6437 | checksum: 94ad80ee14889020cb4a14d809fb99d16cbf4ff3dc7f4c564fc72efe2c5763a60090a1c16a9fd18ceeb1e993a1303a4d870c0a22f26adaf435b368b46a7d8462 |
6400 | languageName: node | 6438 | languageName: node |
6401 | linkType: hard | 6439 | linkType: hard |
6402 | 6440 | ||
@@ -6443,7 +6481,7 @@ __metadata: | |||
6443 | languageName: node | 6481 | languageName: node |
6444 | linkType: hard | 6482 | linkType: hard |
6445 | 6483 | ||
6446 | "signal-exit@npm:^3.0.0": | 6484 | "signal-exit@npm:^3.0.7": |
6447 | version: 3.0.7 | 6485 | version: 3.0.7 |
6448 | resolution: "signal-exit@npm:3.0.7" | 6486 | resolution: "signal-exit@npm:3.0.7" |
6449 | checksum: 5cf7525c55a72d8d104d914acf2e470f74b2c156197277ad7b331bc5de3d8790170fed3c82ff98c7c31adaa8ff941bfd5ba44f55171cbe8ed0e939fa82a8322a | 6487 | checksum: 5cf7525c55a72d8d104d914acf2e470f74b2c156197277ad7b331bc5de3d8790170fed3c82ff98c7c31adaa8ff941bfd5ba44f55171cbe8ed0e939fa82a8322a |
@@ -6464,31 +6502,31 @@ __metadata: | |||
6464 | languageName: node | 6502 | languageName: node |
6465 | linkType: hard | 6503 | linkType: hard |
6466 | 6504 | ||
6467 | "smart-buffer@npm:^4.1.0": | 6505 | "smart-buffer@npm:^4.2.0": |
6468 | version: 4.2.0 | 6506 | version: 4.2.0 |
6469 | resolution: "smart-buffer@npm:4.2.0" | 6507 | resolution: "smart-buffer@npm:4.2.0" |
6470 | checksum: 898a5ce4651108164625916aa54b6f7c13e86279a31dd321737d27c4b795cfaaeb1c30417f8809029d80d20710d8a5045998afd35e0f1080b32648f5670aa99b | 6508 | checksum: 898a5ce4651108164625916aa54b6f7c13e86279a31dd321737d27c4b795cfaaeb1c30417f8809029d80d20710d8a5045998afd35e0f1080b32648f5670aa99b |
6471 | languageName: node | 6509 | languageName: node |
6472 | linkType: hard | 6510 | linkType: hard |
6473 | 6511 | ||
6474 | "socks-proxy-agent@npm:^6.0.0": | 6512 | "socks-proxy-agent@npm:^7.0.0": |
6475 | version: 6.1.1 | 6513 | version: 7.0.0 |
6476 | resolution: "socks-proxy-agent@npm:6.1.1" | 6514 | resolution: "socks-proxy-agent@npm:7.0.0" |
6477 | dependencies: | 6515 | dependencies: |
6478 | agent-base: "npm:^6.0.2" | 6516 | agent-base: "npm:^6.0.2" |
6479 | debug: "npm:^4.3.1" | 6517 | debug: "npm:^4.3.3" |
6480 | socks: "npm:^2.6.1" | 6518 | socks: "npm:^2.6.2" |
6481 | checksum: 94cd50706b762a25644f6733a9f557e87e590ac4546d7d4bfe3963724c931cadce3d393dc7ab7fd0ad872d42f9e16e2d2080950fe1324fdb6104377e5b9ec8ae | 6519 | checksum: d57c2c68a2c16a2ac0af30971e1c4899e80cab3bbe405fe2fa3fce26ccd007fe855110b97c0e6d96ddc56926e1e5927a868070cb09185a768d1ad8cbe1a68aa5 |
6482 | languageName: node | 6520 | languageName: node |
6483 | linkType: hard | 6521 | linkType: hard |
6484 | 6522 | ||
6485 | "socks@npm:^2.6.1": | 6523 | "socks@npm:^2.6.2": |
6486 | version: 2.6.1 | 6524 | version: 2.7.1 |
6487 | resolution: "socks@npm:2.6.1" | 6525 | resolution: "socks@npm:2.7.1" |
6488 | dependencies: | 6526 | dependencies: |
6489 | ip: "npm:^1.1.5" | 6527 | ip: "npm:^2.0.0" |
6490 | smart-buffer: "npm:^4.1.0" | 6528 | smart-buffer: "npm:^4.2.0" |
6491 | checksum: 9bd84957676b7fcd88f6f70ef2a35d0d0b4f2fb4060c4fb70eac58b4629a22342daae2b9db4463283e420934c642b9357056bf71dc3181d345f1788feb9edc26 | 6529 | checksum: a8026d6abfcd168a661240848f6989fbba66276e8fa97ff1cb1079c2f3c6907dcc8284fcbc4f6d3fee8d071afb4fc8313da7e5fbf6d8768f206347a671f1542b |
6492 | languageName: node | 6530 | languageName: node |
6493 | linkType: hard | 6531 | linkType: hard |
6494 | 6532 | ||
@@ -6539,12 +6577,21 @@ __metadata: | |||
6539 | languageName: node | 6577 | languageName: node |
6540 | linkType: hard | 6578 | linkType: hard |
6541 | 6579 | ||
6542 | "ssri@npm:^8.0.0, ssri@npm:^8.0.1": | 6580 | "ssri@npm:^9.0.0": |
6543 | version: 8.0.1 | 6581 | version: 9.0.1 |
6544 | resolution: "ssri@npm:8.0.1" | 6582 | resolution: "ssri@npm:9.0.1" |
6545 | dependencies: | 6583 | dependencies: |
6546 | minipass: "npm:^3.1.1" | 6584 | minipass: "npm:^3.1.1" |
6547 | checksum: b004b327d00f6ef93089a79c8d5822b991c007438e3134368f9540d89c43614df80461f3ed6273c8d3f30846cdc979e8d35b5ef8a8affb13cff2910cd81bd6be | 6585 | checksum: ec9e6fbb74ccb030391fc33aa1a8373014f1cdde570e389cf25f201604d6889035fc8b4409a6e8e787d75ddad892839c0e5a4ea6b67e7ab91f3c619e5e6e087a |
6586 | languageName: node | ||
6587 | linkType: hard | ||
6588 | |||
6589 | "stop-iteration-iterator@npm:^1.0.0": | ||
6590 | version: 1.0.0 | ||
6591 | resolution: "stop-iteration-iterator@npm:1.0.0" | ||
6592 | dependencies: | ||
6593 | internal-slot: "npm:^1.0.4" | ||
6594 | checksum: 272fb892a8ab6217163a32284463e6f03720e4d897b77d23e1731d09f1cd9e1ba94473d3f9e965970527e2243d60985147ec4380cb0965c1dd812cc470f704bd | ||
6548 | languageName: node | 6595 | languageName: node |
6549 | linkType: hard | 6596 | linkType: hard |
6550 | 6597 | ||
@@ -6575,25 +6622,36 @@ __metadata: | |||
6575 | languageName: node | 6622 | languageName: node |
6576 | linkType: hard | 6623 | linkType: hard |
6577 | 6624 | ||
6578 | "string.prototype.trimend@npm:^1.0.5": | 6625 | "string.prototype.trim@npm:^1.2.7": |
6579 | version: 1.0.5 | 6626 | version: 1.2.7 |
6580 | resolution: "string.prototype.trimend@npm:1.0.5" | 6627 | resolution: "string.prototype.trim@npm:1.2.7" |
6628 | dependencies: | ||
6629 | call-bind: "npm:^1.0.2" | ||
6630 | define-properties: "npm:^1.1.4" | ||
6631 | es-abstract: "npm:^1.20.4" | ||
6632 | checksum: 424e6ba5ec9778a637c225c2c06461882367fa91e03b30ab78a50b275ec95e6516f25cb44439e1b98d43931a4a1d9d023bd5d2dd0f9b203d468b541b7ea205f5 | ||
6633 | languageName: node | ||
6634 | linkType: hard | ||
6635 | |||
6636 | "string.prototype.trimend@npm:^1.0.6": | ||
6637 | version: 1.0.6 | ||
6638 | resolution: "string.prototype.trimend@npm:1.0.6" | ||
6581 | dependencies: | 6639 | dependencies: |
6582 | call-bind: "npm:^1.0.2" | 6640 | call-bind: "npm:^1.0.2" |
6583 | define-properties: "npm:^1.1.4" | 6641 | define-properties: "npm:^1.1.4" |
6584 | es-abstract: "npm:^1.19.5" | 6642 | es-abstract: "npm:^1.20.4" |
6585 | checksum: b09b83119d8fd21d5125be72bc7e2a117a6313e35ce1f39ace2e4ead574834699a48b24587a5e92f6059335178ca139debc755cb9ec68f39bc7a4a41d6eba024 | 6643 | checksum: 0c6b262932e2f065b4097fd3b17254b8fa2ac953f26d190e4defa2f01bca3313067c6672ff8b853f66edc2b4743af196f00ecd3c75f131d53fa772b16692cbf8 |
6586 | languageName: node | 6644 | languageName: node |
6587 | linkType: hard | 6645 | linkType: hard |
6588 | 6646 | ||
6589 | "string.prototype.trimstart@npm:^1.0.5": | 6647 | "string.prototype.trimstart@npm:^1.0.6": |
6590 | version: 1.0.5 | 6648 | version: 1.0.6 |
6591 | resolution: "string.prototype.trimstart@npm:1.0.5" | 6649 | resolution: "string.prototype.trimstart@npm:1.0.6" |
6592 | dependencies: | 6650 | dependencies: |
6593 | call-bind: "npm:^1.0.2" | 6651 | call-bind: "npm:^1.0.2" |
6594 | define-properties: "npm:^1.1.4" | 6652 | define-properties: "npm:^1.1.4" |
6595 | es-abstract: "npm:^1.19.5" | 6653 | es-abstract: "npm:^1.20.4" |
6596 | checksum: 59b07da535af429b595a3a3e639dc6bc5b3022bd8e4b04a5f63e4845609e5ddf763477cc9bed1a856432bd30d89bd7faa734e6653fb4745a2d347815b103821f | 6654 | checksum: 87a4f42e4c0bde3508cb8d95260919c73ae4af5573fdbca1cd173d9ce53153d83b0fc3d218d49b9cabdca440ae71cd44b85a659cddd477b27b3f1344dc023a65 |
6597 | languageName: node | 6655 | languageName: node |
6598 | linkType: hard | 6656 | linkType: hard |
6599 | 6657 | ||
@@ -6648,9 +6706,9 @@ __metadata: | |||
6648 | linkType: hard | 6706 | linkType: hard |
6649 | 6707 | ||
6650 | "style-mod@npm:^4.0.0": | 6708 | "style-mod@npm:^4.0.0": |
6651 | version: 4.0.0 | 6709 | version: 4.0.2 |
6652 | resolution: "style-mod@npm:4.0.0" | 6710 | resolution: "style-mod@npm:4.0.2" |
6653 | checksum: 1722a8287c60b0f696df0e5fee787fc50c3bf0b84660df90284435964ef35b6c49aa321a4a07f4e3973f6a897535413ff2ab788fff1bdf0e5f8b2fdd9bf083e9 | 6711 | checksum: 299f82cba0bfeca6cb2c223f4d5f3902012f783e11807eedd32790556ea8509a34e9a62eaff8afddbda10f1ea74578daab5068b1a326488878c9005fcbce8e08 |
6654 | languageName: node | 6712 | languageName: node |
6655 | linkType: hard | 6713 | linkType: hard |
6656 | 6714 | ||
@@ -6686,13 +6744,13 @@ __metadata: | |||
6686 | languageName: node | 6744 | languageName: node |
6687 | linkType: hard | 6745 | linkType: hard |
6688 | 6746 | ||
6689 | "synckit@npm:^0.8.4": | 6747 | "synckit@npm:^0.8.5": |
6690 | version: 0.8.4 | 6748 | version: 0.8.5 |
6691 | resolution: "synckit@npm:0.8.4" | 6749 | resolution: "synckit@npm:0.8.5" |
6692 | dependencies: | 6750 | dependencies: |
6693 | "@pkgr/utils": "npm:^2.3.1" | 6751 | "@pkgr/utils": "npm:^2.3.1" |
6694 | tslib: "npm:^2.4.0" | 6752 | tslib: "npm:^2.5.0" |
6695 | checksum: 4e48556558263008c05df5f747b20b34ba919d7b41dda61e0756d3a7e26ade65b1b2c30e2772f8a5782fac01a6973d6bb5cd9d5636c8f04f61a1bded9e9feea7 | 6753 | checksum: 4f8cad99ececb0f22d91780c9882d1ef51fd551051cbd53f4674876771007e3b0ed6adcf17622a9bca8f9f8b16f49d91c4cc37d25888bc9d7ab3470e496bc4a6 |
6696 | languageName: node | 6754 | languageName: node |
6697 | linkType: hard | 6755 | linkType: hard |
6698 | 6756 | ||
@@ -6703,17 +6761,17 @@ __metadata: | |||
6703 | languageName: node | 6761 | languageName: node |
6704 | linkType: hard | 6762 | linkType: hard |
6705 | 6763 | ||
6706 | "tar@npm:^6.0.2, tar@npm:^6.1.2": | 6764 | "tar@npm:^6.1.11, tar@npm:^6.1.2": |
6707 | version: 6.1.11 | 6765 | version: 6.1.13 |
6708 | resolution: "tar@npm:6.1.11" | 6766 | resolution: "tar@npm:6.1.13" |
6709 | dependencies: | 6767 | dependencies: |
6710 | chownr: "npm:^2.0.0" | 6768 | chownr: "npm:^2.0.0" |
6711 | fs-minipass: "npm:^2.0.0" | 6769 | fs-minipass: "npm:^2.0.0" |
6712 | minipass: "npm:^3.0.0" | 6770 | minipass: "npm:^4.0.0" |
6713 | minizlib: "npm:^2.1.1" | 6771 | minizlib: "npm:^2.1.1" |
6714 | mkdirp: "npm:^1.0.3" | 6772 | mkdirp: "npm:^1.0.3" |
6715 | yallist: "npm:^4.0.0" | 6773 | yallist: "npm:^4.0.0" |
6716 | checksum: 5499de6e1998ca602c327f3359d085f6ab41e63a0ce530fb15de13089d3795262b6dfb7731989b7e1d0289a76658d715d8e1239fc06f70ae49349205e3a5fbcc | 6774 | checksum: b1254685cb870858a072a6863d7f769c5c27f964166cacdf2fee4aac526dc8949fb9cd609a9e0a77e5cb8f993e2d38c966c52de0e71827e8f14a3d4cd43209db |
6717 | languageName: node | 6775 | languageName: node |
6718 | linkType: hard | 6776 | linkType: hard |
6719 | 6777 | ||
@@ -6737,8 +6795,8 @@ __metadata: | |||
6737 | linkType: hard | 6795 | linkType: hard |
6738 | 6796 | ||
6739 | "terser@npm:^5.0.0, terser@npm:^5.15.1": | 6797 | "terser@npm:^5.0.0, terser@npm:^5.15.1": |
6740 | version: 5.15.1 | 6798 | version: 5.16.8 |
6741 | resolution: "terser@npm:5.15.1" | 6799 | resolution: "terser@npm:5.16.8" |
6742 | dependencies: | 6800 | dependencies: |
6743 | "@jridgewell/source-map": "npm:^0.3.2" | 6801 | "@jridgewell/source-map": "npm:^0.3.2" |
6744 | acorn: "npm:^8.5.0" | 6802 | acorn: "npm:^8.5.0" |
@@ -6746,7 +6804,7 @@ __metadata: | |||
6746 | source-map-support: "npm:~0.5.20" | 6804 | source-map-support: "npm:~0.5.20" |
6747 | bin: | 6805 | bin: |
6748 | terser: bin/terser | 6806 | terser: bin/terser |
6749 | checksum: 4d0c2a858eb2857fd8b58b2e2382865e3ecad30a8573b20d325cb6789d670f4057f3f84ac6e7437556033ec0c6fff9e913e5bbc05b67cdeac1a35b3da173c295 | 6807 | checksum: 2dfbb8417f3621450d5b47be89d5ebcdbe52abdb454bf45e32e243bf52bf917d89b98cc168fcc9cd38adf72ff3df016fbbc9d10dd413457d307f726783871028 |
6750 | languageName: node | 6808 | languageName: node |
6751 | linkType: hard | 6809 | linkType: hard |
6752 | 6810 | ||
@@ -6793,14 +6851,14 @@ __metadata: | |||
6793 | linkType: hard | 6851 | linkType: hard |
6794 | 6852 | ||
6795 | "tsconfig-paths@npm:^3.14.1": | 6853 | "tsconfig-paths@npm:^3.14.1": |
6796 | version: 3.14.1 | 6854 | version: 3.14.2 |
6797 | resolution: "tsconfig-paths@npm:3.14.1" | 6855 | resolution: "tsconfig-paths@npm:3.14.2" |
6798 | dependencies: | 6856 | dependencies: |
6799 | "@types/json5": "npm:^0.0.29" | 6857 | "@types/json5": "npm:^0.0.29" |
6800 | json5: "npm:^1.0.1" | 6858 | json5: "npm:^1.0.2" |
6801 | minimist: "npm:^1.2.6" | 6859 | minimist: "npm:^1.2.6" |
6802 | strip-bom: "npm:^3.0.0" | 6860 | strip-bom: "npm:^3.0.0" |
6803 | checksum: 7f856252e523597e8fc3234b2f992d6d76a807793cb59bd2d924db9beb2594bfe7a18ee93898088733cb55b1cce4be306924a5da5f760eff137d4c2d7bf85fad | 6861 | checksum: e320ed312e798282cbdb037a0de88f7cf9c36514d38e21f1f538da8cfc436e199f44a9faa5073417f1110ef3db76256d873cf14dae1836bce5d541963ddf2c1b |
6804 | languageName: node | 6862 | languageName: node |
6805 | linkType: hard | 6863 | linkType: hard |
6806 | 6864 | ||
@@ -6811,10 +6869,10 @@ __metadata: | |||
6811 | languageName: node | 6869 | languageName: node |
6812 | linkType: hard | 6870 | linkType: hard |
6813 | 6871 | ||
6814 | "tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.4.0": | 6872 | "tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.4.0, tslib@npm:^2.5.0": |
6815 | version: 2.4.1 | 6873 | version: 2.5.0 |
6816 | resolution: "tslib@npm:2.4.1" | 6874 | resolution: "tslib@npm:2.5.0" |
6817 | checksum: a739a21e3ff059e62c7c3c0845333fbc9c081bcc91e015f2d246a31eeaf1fb0e29b10c0913c7d22f692b3203bb469fd60ca5288aa4f27d351a969df2d0714899 | 6875 | checksum: 5a6ee935f56cd653af29de928483acbab7323f964b053e98b6b318abc69431fb0e4f660c4f4a396e2e93852510bef25eeb9f1d951d060b2d7bcc313811e5da6f |
6818 | languageName: node | 6876 | languageName: node |
6819 | linkType: hard | 6877 | linkType: hard |
6820 | 6878 | ||
@@ -6852,23 +6910,34 @@ __metadata: | |||
6852 | languageName: node | 6910 | languageName: node |
6853 | linkType: hard | 6911 | linkType: hard |
6854 | 6912 | ||
6855 | "typescript@npm:4.9.5": | 6913 | "typed-array-length@npm:^1.0.4": |
6856 | version: 4.9.5 | 6914 | version: 1.0.4 |
6857 | resolution: "typescript@npm:4.9.5" | 6915 | resolution: "typed-array-length@npm:1.0.4" |
6916 | dependencies: | ||
6917 | call-bind: "npm:^1.0.2" | ||
6918 | for-each: "npm:^0.3.3" | ||
6919 | is-typed-array: "npm:^1.1.9" | ||
6920 | checksum: bd196be0cb6c267e1fc8c3d54f19c1059d1082e0baf0f6735b39ed2a01e9dd2fef0593b1b03e0bdb9c29d1e6e34bbb1498f951a19b4c78bc5c7af6786fc3c6b6 | ||
6921 | languageName: node | ||
6922 | linkType: hard | ||
6923 | |||
6924 | "typescript@npm:5.0.3": | ||
6925 | version: 5.0.3 | ||
6926 | resolution: "typescript@npm:5.0.3" | ||
6858 | bin: | 6927 | bin: |
6859 | tsc: bin/tsc | 6928 | tsc: bin/tsc |
6860 | tsserver: bin/tsserver | 6929 | tsserver: bin/tsserver |
6861 | checksum: 550217a465c00b1d7ef0e0ddc3a6a0b2ae1fd7c1b9f53cde5a1cfe56aa457c7a43fa83792c1b98b2185d2156d0467c9ad6f6600515ad4f4fc2acee54c4bd320e | 6930 | checksum: 45ee631503499861d77d7a7b1d49fb5c62ae6bb5a99cdf5110f3e21c627397f5f76cf3d67ee0b223a33cfad469ea18de7650cab7a529b1376f5218a27b81671e |
6862 | languageName: node | 6931 | languageName: node |
6863 | linkType: hard | 6932 | linkType: hard |
6864 | 6933 | ||
6865 | "typescript@patch:typescript@npm%3A4.9.5#optional!builtin<compat/typescript>": | 6934 | "typescript@patch:typescript@npm%3A5.0.3#optional!builtin<compat/typescript>": |
6866 | version: 4.9.5 | 6935 | version: 5.0.3 |
6867 | resolution: "typescript@patch:typescript@npm%3A4.9.5#optional!builtin<compat/typescript>::version=4.9.5&hash=23ec76" | 6936 | resolution: "typescript@patch:typescript@npm%3A5.0.3#optional!builtin<compat/typescript>::version=5.0.3&hash=b5f058" |
6868 | bin: | 6937 | bin: |
6869 | tsc: bin/tsc | 6938 | tsc: bin/tsc |
6870 | tsserver: bin/tsserver | 6939 | tsserver: bin/tsserver |
6871 | checksum: 09f82f25664c79d5cccc389502175093becf51d691b443c79294303681544a399fb42f8384b535ddeba48cadb64e7d14b42de40d8ade4418bb43174989dd8685 | 6940 | checksum: 66967b1418927f8c780bcec443e6e1572d0c88314e3b45797d22bffc8981b3c8e687a37f24bcad00e2d349722df225e758678559e810a6673f4773b8f44eb5d2 |
6872 | languageName: node | 6941 | languageName: node |
6873 | linkType: hard | 6942 | linkType: hard |
6874 | 6943 | ||
@@ -6901,35 +6970,35 @@ __metadata: | |||
6901 | languageName: node | 6970 | languageName: node |
6902 | linkType: hard | 6971 | linkType: hard |
6903 | 6972 | ||
6904 | "unicode-match-property-value-ecmascript@npm:^2.0.0": | 6973 | "unicode-match-property-value-ecmascript@npm:^2.1.0": |
6905 | version: 2.0.0 | 6974 | version: 2.1.0 |
6906 | resolution: "unicode-match-property-value-ecmascript@npm:2.0.0" | 6975 | resolution: "unicode-match-property-value-ecmascript@npm:2.1.0" |
6907 | checksum: 8b5ce98e39c6cd30ce1b150916135103fd0e541c9b08bb718a1fe8c4981c6d27ae43fd808476b963bceb2678f805e43ef1eceac24c58d91f91a3dace27ae4ba3 | 6976 | checksum: ed36ed18f4e49d95634712960967511b8a0da1a808e673e89ade10a317b29c636dbc19138656ff6cb5e90e1999c3ff3c40464d20846d21347b4300eac84698b9 |
6908 | languageName: node | 6977 | languageName: node |
6909 | linkType: hard | 6978 | linkType: hard |
6910 | 6979 | ||
6911 | "unicode-property-aliases-ecmascript@npm:^2.0.0": | 6980 | "unicode-property-aliases-ecmascript@npm:^2.0.0": |
6912 | version: 2.0.0 | 6981 | version: 2.1.0 |
6913 | resolution: "unicode-property-aliases-ecmascript@npm:2.0.0" | 6982 | resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" |
6914 | checksum: 3e123410a4399a1e45390a0ef546d15e18d2d5c722e478414232291e69b732cf5cca70ba90e9b4a45fc9ce39b6afc776fddff26ec6b1533cc459d1363e1243f7 | 6983 | checksum: 2a731ceba0a6d8e6b9bc576843f54f4ce5af36c1984a5a6023e012ceaa73f76a06dfc104b12a6b06f06decbd447d88980ec6787b44f708259b190d3594a84b85 |
6915 | languageName: node | 6984 | languageName: node |
6916 | linkType: hard | 6985 | linkType: hard |
6917 | 6986 | ||
6918 | "unique-filename@npm:^1.1.1": | 6987 | "unique-filename@npm:^2.0.0": |
6919 | version: 1.1.1 | 6988 | version: 2.0.1 |
6920 | resolution: "unique-filename@npm:1.1.1" | 6989 | resolution: "unique-filename@npm:2.0.1" |
6921 | dependencies: | 6990 | dependencies: |
6922 | unique-slug: "npm:^2.0.0" | 6991 | unique-slug: "npm:^3.0.0" |
6923 | checksum: 8330bc7e98bd55c86baaa1aba4d0fef4b2e32d7230b3f7421142e728fda8dfcede4ba6a898429a28707ffec06911649dc2aeea5d0e18eee4c7e2b573b9ee3145 | 6992 | checksum: 1efaebd1b9df4770537f73b040adc8ef2b7da29b837388d97d6d78a4a739dc67bc491e45d381a377bc80ee838e7e1dc904193b3e73cd6c117d96f92b3a09ed46 |
6924 | languageName: node | 6993 | languageName: node |
6925 | linkType: hard | 6994 | linkType: hard |
6926 | 6995 | ||
6927 | "unique-slug@npm:^2.0.0": | 6996 | "unique-slug@npm:^3.0.0": |
6928 | version: 2.0.2 | 6997 | version: 3.0.0 |
6929 | resolution: "unique-slug@npm:2.0.2" | 6998 | resolution: "unique-slug@npm:3.0.0" |
6930 | dependencies: | 6999 | dependencies: |
6931 | imurmurhash: "npm:^0.1.4" | 7000 | imurmurhash: "npm:^0.1.4" |
6932 | checksum: 9c1111d986ecb9266678f02356a2e9f6485eca8ab2e82d5a5b4b9df1b4d6f11322bf893ed3c44d125039c76cb3e8dcf778b1eac85ff9df878e6317921319e7e2 | 7001 | checksum: ae31bb1d8126400e512385ec239b3ca40f6a8790af9d6dedb0842b340b3ecc0a7de413ff270f3ea3dae1565c6f745ab6e28363387cd32ecddbe0fc72ee247303 |
6933 | languageName: node | 7002 | languageName: node |
6934 | linkType: hard | 7003 | linkType: hard |
6935 | 7004 | ||
@@ -6956,9 +7025,9 @@ __metadata: | |||
6956 | languageName: node | 7025 | languageName: node |
6957 | linkType: hard | 7026 | linkType: hard |
6958 | 7027 | ||
6959 | "update-browserslist-db@npm:^1.0.5": | 7028 | "update-browserslist-db@npm:^1.0.10": |
6960 | version: 1.0.5 | 7029 | version: 1.0.10 |
6961 | resolution: "update-browserslist-db@npm:1.0.5" | 7030 | resolution: "update-browserslist-db@npm:1.0.10" |
6962 | dependencies: | 7031 | dependencies: |
6963 | escalade: "npm:^3.1.1" | 7032 | escalade: "npm:^3.1.1" |
6964 | picocolors: "npm:^1.0.0" | 7033 | picocolors: "npm:^1.0.0" |
@@ -6966,7 +7035,7 @@ __metadata: | |||
6966 | browserslist: ">= 4.21.0" | 7035 | browserslist: ">= 4.21.0" |
6967 | bin: | 7036 | bin: |
6968 | browserslist-lint: cli.js | 7037 | browserslist-lint: cli.js |
6969 | checksum: 53d12ebf5b266acd5795a4e2231b58cfefd2f0549a3cf4eb4e619370a35178293bcfad4d84f37b30a8df699a41e3bee77bcb17c8a5cf9b3b23d57042971493b1 | 7038 | checksum: e55ee7f0562821e40808b5f265e4dfbc1436cdddd4c436dfe73ae4e71215302907d4b430807d45fabbb4c23aa2d67757f26dbd8f93fc9718f814566536b386d0 |
6970 | languageName: node | 7039 | languageName: node |
6971 | linkType: hard | 7040 | linkType: hard |
6972 | 7041 | ||
@@ -6986,9 +7055,9 @@ __metadata: | |||
6986 | languageName: node | 7055 | languageName: node |
6987 | linkType: hard | 7056 | linkType: hard |
6988 | 7057 | ||
6989 | "vite-plugin-pwa@npm:^0.14.1": | 7058 | "vite-plugin-pwa@npm:^0.14.7": |
6990 | version: 0.14.1 | 7059 | version: 0.14.7 |
6991 | resolution: "vite-plugin-pwa@npm:0.14.1" | 7060 | resolution: "vite-plugin-pwa@npm:0.14.7" |
6992 | dependencies: | 7061 | dependencies: |
6993 | "@rollup/plugin-replace": "npm:^5.0.1" | 7062 | "@rollup/plugin-replace": "npm:^5.0.1" |
6994 | debug: "npm:^4.3.4" | 7063 | debug: "npm:^4.3.4" |
@@ -7001,19 +7070,19 @@ __metadata: | |||
7001 | vite: ^3.1.0 || ^4.0.0 | 7070 | vite: ^3.1.0 || ^4.0.0 |
7002 | workbox-build: ^6.5.4 | 7071 | workbox-build: ^6.5.4 |
7003 | workbox-window: ^6.5.4 | 7072 | workbox-window: ^6.5.4 |
7004 | checksum: 96ae0d392e05ea55e64138138ce300820949ee7fce807af4a49fea8617b039cc46e5f00fd9749275dfeb3b0fa763b180493d918d1b1815364baf8beb2e39414a | 7073 | checksum: f66ba146bdaae2bb0fad9dfa5289689d0a0b2cca9aeef5b759388ce8786d17787655a4d70745240a3ebbb7a51c0b4679f6811581a47853ab75adaf5ff6b64690 |
7005 | languageName: node | 7074 | languageName: node |
7006 | linkType: hard | 7075 | linkType: hard |
7007 | 7076 | ||
7008 | "vite@npm:^4.1.1": | 7077 | "vite@npm:^4.2.1": |
7009 | version: 4.1.1 | 7078 | version: 4.2.1 |
7010 | resolution: "vite@npm:4.1.1" | 7079 | resolution: "vite@npm:4.2.1" |
7011 | dependencies: | 7080 | dependencies: |
7012 | esbuild: "npm:^0.16.14" | 7081 | esbuild: "npm:^0.17.5" |
7013 | fsevents: "npm:~2.3.2" | 7082 | fsevents: "npm:~2.3.2" |
7014 | postcss: "npm:^8.4.21" | 7083 | postcss: "npm:^8.4.21" |
7015 | resolve: "npm:^1.22.1" | 7084 | resolve: "npm:^1.22.1" |
7016 | rollup: "npm:^3.10.0" | 7085 | rollup: "npm:^3.18.0" |
7017 | peerDependencies: | 7086 | peerDependencies: |
7018 | "@types/node": ">= 14" | 7087 | "@types/node": ">= 14" |
7019 | less: "*" | 7088 | less: "*" |
@@ -7039,14 +7108,14 @@ __metadata: | |||
7039 | optional: true | 7108 | optional: true |
7040 | bin: | 7109 | bin: |
7041 | vite: bin/vite.js | 7110 | vite: bin/vite.js |
7042 | checksum: 1214e901a0836cfad0b20abe3ba03684c5c6d1a5d486e7ddd55e56e2c786677cecd7c1822b97540a001867164a9e38e52aa5c14480cdc50afd2561ed4bc2f89b | 7111 | checksum: 9b784639d35a074b12b72f60764ba6d6eedcaa112ac4b5df00a706e2d5a01d7d4b9ce19ddc5ce8b65260770e56e084fcf2ae7b7c763a0880a2d9f3bfb5fa3450 |
7043 | languageName: node | 7112 | languageName: node |
7044 | linkType: hard | 7113 | linkType: hard |
7045 | 7114 | ||
7046 | "w3c-keyname@npm:^2.2.4": | 7115 | "w3c-keyname@npm:^2.2.4": |
7047 | version: 2.2.4 | 7116 | version: 2.2.6 |
7048 | resolution: "w3c-keyname@npm:2.2.4" | 7117 | resolution: "w3c-keyname@npm:2.2.6" |
7049 | checksum: a82b6f64fb21f761276eaec81727c9930b6c6ec2d4f226ebed5766ccb8c0b52ac3ae3abcb2a1c1c6e6b81b134969314e31b023de1ec5108e84a998ea91c974e0 | 7118 | checksum: ba0adb6be65ca5bc8dca4860e00784b4ff2bee5c8e028bc5bda95d15f435439094316dbafce06cc3989552110bd33a3311a5f76b5176b689545573fd8490e464 |
7050 | languageName: node | 7119 | languageName: node |
7051 | linkType: hard | 7120 | linkType: hard |
7052 | 7121 | ||
@@ -7118,7 +7187,7 @@ __metadata: | |||
7118 | languageName: node | 7187 | languageName: node |
7119 | linkType: hard | 7188 | linkType: hard |
7120 | 7189 | ||
7121 | "wide-align@npm:^1.1.2": | 7190 | "wide-align@npm:^1.1.5": |
7122 | version: 1.1.5 | 7191 | version: 1.1.5 |
7123 | resolution: "wide-align@npm:1.1.5" | 7192 | resolution: "wide-align@npm:1.1.5" |
7124 | dependencies: | 7193 | dependencies: |
@@ -7331,10 +7400,10 @@ __metadata: | |||
7331 | languageName: node | 7400 | languageName: node |
7332 | linkType: hard | 7401 | linkType: hard |
7333 | 7402 | ||
7334 | "xstate@npm:^4.33.4, xstate@npm:^4.35.4": | 7403 | "xstate@npm:^4.33.4, xstate@npm:^4.37.1": |
7335 | version: 4.35.4 | 7404 | version: 4.37.1 |
7336 | resolution: "xstate@npm:4.35.4" | 7405 | resolution: "xstate@npm:4.37.1" |
7337 | checksum: 6bf12ea9369c3f2df6a040c1541666e263f0a018715d6820fd7ad308198a53991899c9c3b1e6afe6dd092ee0f4c3a228f1180e92498bbbe377b9013d1a809d48 | 7406 | checksum: 56b8d7fe1f648684b7e708549d9ba647413ce20467b184dfbf80257e83262f2de8256d157515f7838bc38977c68451dab90dd7aac54d398e8ad125f095c03e4c |
7338 | languageName: node | 7407 | languageName: node |
7339 | linkType: hard | 7408 | linkType: hard |
7340 | 7409 | ||
@@ -7359,9 +7428,9 @@ __metadata: | |||
7359 | languageName: node | 7428 | languageName: node |
7360 | linkType: hard | 7429 | linkType: hard |
7361 | 7430 | ||
7362 | "zod@npm:^3.20.2": | 7431 | "zod@npm:^3.21.4": |
7363 | version: 3.20.2 | 7432 | version: 3.21.4 |
7364 | resolution: "zod@npm:3.20.2" | 7433 | resolution: "zod@npm:3.21.4" |
7365 | checksum: 4afdc2d9962456e1f4dfd6e44791d3017280e0f2f365fd45f85336ea5a850d009ff2f6d671638db47f8b237dd153fe73c0417f9cc300fcf201afb4fff9051c8d | 7434 | checksum: f25f384f380c49d05a11541093a8d26f07688aa39f6a8adbd6dc338b43f63617bf138734fb1b79800ba374523f6a1bb561f7d401b3cc051fed2715eae5577d0a |
7366 | languageName: node | 7435 | languageName: node |
7367 | linkType: hard | 7436 | linkType: hard |