@equinor/fusion-framework-cli 14.0.3 â 14.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/bin/build/bin.mjs +1 -1
- package/dist/esm/lib/utils/resolve-annotations.js +22 -3
- package/dist/esm/lib/utils/resolve-annotations.js.map +1 -1
- package/dist/esm/lib/utils/resolve-git-branch.js +18 -0
- package/dist/esm/lib/utils/resolve-git-branch.js.map +1 -0
- package/dist/esm/lib/utils/tests/resolve-annotations.test.js +153 -0
- package/dist/esm/lib/utils/tests/resolve-annotations.test.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/lib/utils/resolve-git-branch.d.ts +8 -0
- package/dist/types/lib/utils/tests/resolve-annotations.test.d.ts +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
package/bin/build/bin.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{loadConfigFromFile as e,mergeConfig as t,build as n}from"vite";import r from"chalk";import i from"vite-tsconfig-paths";import o,{dirname as s,resolve as a,basename as c,extname as l,relative as u}from"node:path";import{readPackageUp as f}from"read-package-up";import p,{fileURLToPath as d}from"node:url";import h from"url";import m from"node:module";import g from"util";import v,{accessSync as y,constants as E,readFileSync as b,statSync as w,existsSync as L,mkdirSync as C,writeFileSync as S}from"node:fs";import{stat as _,mkdir as I}from"node:fs/promises";import{importConfig as D,FileNotFoundError as N}from"@equinor/fusion-imports";import O from"deepmerge";import{rawImportsPlugin as P}from"@equinor/fusion-framework-vite-plugin-raw-imports";import A from"node:assert";import{execSync as R}from"node:child_process";import{coerce as T,SemVer as $,satisfies as x}from"semver";import F,{z as U}from"zod";import k from"fs";import B from"path";import G from"zlib";import M from"crypto";import j from"ora";import{createDevServer as z,processServices as H}from"@equinor/fusion-framework-dev-server";import{enableAuthModule as q}from"@equinor/fusion-framework-module-msal-node";function V(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var W,K,Z,Y;function X(){if(K)return W;K=1;const e="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return W=e}function J(){if(Y)return Z;Y=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return Z={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}var Q,ee,te,ne,re,ie,oe,se,ae,ce,le,ue,fe,pe={exports:{}};function de(){return Q||(Q=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=J(),o=X(),s=(t=e.exports={}).re=[],a=t.safeRe=[],c=t.src=[],l=t.safeSrc=[],u=t.t={};let f=0;const p="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",i],[p,r]],h=(e,t,n)=>{const r=(e=>{for(const[t,n]of d)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e})(t),i=f++;o(e,i,t),u[e]=i,c[i]=t,l[i]=r,s[i]=new RegExp(t,n?"g":void 0),a[i]=new RegExp(r,n?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),h("MAINVERSION",`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASE",`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${p}+`),h("BUILD",`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),h("FULL",`^${c[u.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),h("LOOSE",`^${c[u.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),h("XRANGE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h("COERCE",`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?`+`(?:${c[u.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",c[u.COERCE],!0),h("COERCERTLFULL",c[u.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${c[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${c[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(pe,pe.exports)),pe.exports}function he(){if(oe)return ie;oe=1;const e=X(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=J(),{safeRe:r,t:i}=de(),o=function(){if(te)return ee;te=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return ee=n=>n?"object"!=typeof n?e:n:t}(),{compareIdentifiers:s}=function(){if(re)return ne;re=1;const e=/^[0-9]+$/,t=(t,n)=>{if("number"==typeof t&&"number"==typeof n)return t===n?0:t<n?-1:1;const r=e.test(t),i=e.test(n);return r&&i&&(t=+t,n=+n),t===n?0:r&&!i?-1:i&&!r?1:t<n?-1:1};return ne={compareIdentifiers:t,rcompareIdentifiers:(e,n)=>t(n,e)}}();class a{constructor(s,c){if(c=o(c),s instanceof a){if(s.loose===!!c.loose&&s.includePrerelease===!!c.includePrerelease)return s;s=s.version}else if("string"!=typeof s)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof s}".`);if(s.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",s,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const l=s.trim().match(c.loose?r[i.LOOSE]:r[i.FULL]);if(!l)throw new TypeError(`Invalid Version: ${s}`);if(this.raw=s,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");l[4]?this.prerelease=l[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<n)return t}return e}):this.prerelease=[],this.build=l[5]?l[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(t){if(e("SemVer.compare",this.version,this.options,t),!(t instanceof a)){if("string"==typeof t&&t===this.version)return 0;t=new a(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(e){return e instanceof a||(e=new a(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(t){if(t instanceof a||(t=new a(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{const r=this.prerelease[n],i=t.prerelease[n];if(e("prerelease compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}compareBuild(t){t instanceof a||(t=new a(t,this.options));let n=0;do{const r=this.build[n],i=t.build[n];if(e("build compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}inc(e,t,n){if(e.startsWith("pre")){if(!t&&!1===n)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?r[i.PRERELEASELOOSE]:r[i.PRERELEASE]);if(!e||e[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,n),this.inc("pre",t,n);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,n),this.inc("pre",t,n);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(n)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);if(-1===r){if(t===this.prerelease.join(".")&&!1===n)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let r=[t,e];!1===n&&(r=[t]),0===s(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return ie=a}function me(){if(ae)return se;ae=1;const e=he();return se=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(e){if(!r)return null;throw e}},se}var ge,ve,ye,Ee,be,we,Le,Ce,Se,_e,Ie=["0BSD","3D-Slicer-1.0","AAL","ADSL","AFL-1.1","AFL-1.2","AFL-2.0","AFL-2.1","AFL-3.0","AGPL-1.0-only","AGPL-1.0-or-later","AGPL-3.0-only","AGPL-3.0-or-later","AMD-newlib","AMDPLPA","AML","AML-glslang","AMPAS","ANTLR-PD","ANTLR-PD-fallback","APAFML","APL-1.0","APSL-1.0","APSL-1.1","APSL-1.2","APSL-2.0","ASWF-Digital-Assets-1.0","ASWF-Digital-Assets-1.1","Abstyles","AdaCore-doc","Adobe-2006","Adobe-Display-PostScript","Adobe-Glyph","Adobe-Utopia","Afmparse","Aladdin","Apache-1.0","Apache-1.1","Apache-2.0","App-s2p","Arphic-1999","Artistic-1.0","Artistic-1.0-Perl","Artistic-1.0-cl8","Artistic-2.0","Artistic-dist","Aspell-RU","BSD-1-Clause","BSD-2-Clause","BSD-2-Clause-Darwin","BSD-2-Clause-Patent","BSD-2-Clause-Views","BSD-2-Clause-first-lines","BSD-2-Clause-pkgconf-disclaimer","BSD-3-Clause","BSD-3-Clause-Attribution","BSD-3-Clause-Clear","BSD-3-Clause-HP","BSD-3-Clause-LBNL","BSD-3-Clause-Modification","BSD-3-Clause-No-Military-License","BSD-3-Clause-No-Nuclear-License","BSD-3-Clause-No-Nuclear-License-2014","BSD-3-Clause-No-Nuclear-Warranty","BSD-3-Clause-Open-MPI","BSD-3-Clause-Sun","BSD-3-Clause-acpica","BSD-3-Clause-flex","BSD-4-Clause","BSD-4-Clause-Shortened","BSD-4-Clause-UC","BSD-4.3RENO","BSD-4.3TAHOE","BSD-Advertising-Acknowledgement","BSD-Attribution-HPND-disclaimer","BSD-Inferno-Nettverk","BSD-Protection","BSD-Source-Code","BSD-Source-beginning-file","BSD-Systemics","BSD-Systemics-W3Works","BSL-1.0","BUSL-1.1","Baekmuk","Bahyph","Barr","Beerware","BitTorrent-1.0","BitTorrent-1.1","Bitstream-Charter","Bitstream-Vera","BlueOak-1.0.0","Boehm-GC","Boehm-GC-without-fee","Borceux","Brian-Gladman-2-Clause","Brian-Gladman-3-Clause","C-UDA-1.0","CAL-1.0","CAL-1.0-Combined-Work-Exception","CATOSL-1.1","CC-BY-1.0","CC-BY-2.0","CC-BY-2.5","CC-BY-2.5-AU","CC-BY-3.0","CC-BY-3.0-AT","CC-BY-3.0-AU","CC-BY-3.0-DE","CC-BY-3.0-IGO","CC-BY-3.0-NL","CC-BY-3.0-US","CC-BY-4.0","CC-BY-NC-1.0","CC-BY-NC-2.0","CC-BY-NC-2.5","CC-BY-NC-3.0","CC-BY-NC-3.0-DE","CC-BY-NC-4.0","CC-BY-NC-ND-1.0","CC-BY-NC-ND-2.0","CC-BY-NC-ND-2.5","CC-BY-NC-ND-3.0","CC-BY-NC-ND-3.0-DE","CC-BY-NC-ND-3.0-IGO","CC-BY-NC-ND-4.0","CC-BY-NC-SA-1.0","CC-BY-NC-SA-2.0","CC-BY-NC-SA-2.0-DE","CC-BY-NC-SA-2.0-FR","CC-BY-NC-SA-2.0-UK","CC-BY-NC-SA-2.5","CC-BY-NC-SA-3.0","CC-BY-NC-SA-3.0-DE","CC-BY-NC-SA-3.0-IGO","CC-BY-NC-SA-4.0","CC-BY-ND-1.0","CC-BY-ND-2.0","CC-BY-ND-2.5","CC-BY-ND-3.0","CC-BY-ND-3.0-DE","CC-BY-ND-4.0","CC-BY-SA-1.0","CC-BY-SA-2.0","CC-BY-SA-2.0-UK","CC-BY-SA-2.1-JP","CC-BY-SA-2.5","CC-BY-SA-3.0","CC-BY-SA-3.0-AT","CC-BY-SA-3.0-DE","CC-BY-SA-3.0-IGO","CC-BY-SA-4.0","CC-PDDC","CC-PDM-1.0","CC-SA-1.0","CC0-1.0","CDDL-1.0","CDDL-1.1","CDL-1.0","CDLA-Permissive-1.0","CDLA-Permissive-2.0","CDLA-Sharing-1.0","CECILL-1.0","CECILL-1.1","CECILL-2.0","CECILL-2.1","CECILL-B","CECILL-C","CERN-OHL-1.1","CERN-OHL-1.2","CERN-OHL-P-2.0","CERN-OHL-S-2.0","CERN-OHL-W-2.0","CFITSIO","CMU-Mach","CMU-Mach-nodoc","CNRI-Jython","CNRI-Python","CNRI-Python-GPL-Compatible","COIL-1.0","CPAL-1.0","CPL-1.0","CPOL-1.02","CUA-OPL-1.0","Caldera","Caldera-no-preamble","Catharon","ClArtistic","Clips","Community-Spec-1.0","Condor-1.1","Cornell-Lossless-JPEG","Cronyx","Crossword","CryptoSwift","CrystalStacker","Cube","D-FSL-1.0","DEC-3-Clause","DL-DE-BY-2.0","DL-DE-ZERO-2.0","DOC","DRL-1.0","DRL-1.1","DSDP","DocBook-DTD","DocBook-Schema","DocBook-Stylesheet","DocBook-XML","Dotseqn","ECL-1.0","ECL-2.0","EFL-1.0","EFL-2.0","EPICS","EPL-1.0","EPL-2.0","EUDatagrid","EUPL-1.0","EUPL-1.1","EUPL-1.2","Elastic-2.0","Entessa","ErlPL-1.1","Eurosym","FBM","FDK-AAC","FSFAP","FSFAP-no-warranty-disclaimer","FSFUL","FSFULLR","FSFULLRSD","FSFULLRWD","FSL-1.1-ALv2","FSL-1.1-MIT","FTL","Fair","Ferguson-Twofish","Frameworx-1.0","FreeBSD-DOC","FreeImage","Furuseth","GCR-docs","GD","GFDL-1.1-invariants-only","GFDL-1.1-invariants-or-later","GFDL-1.1-no-invariants-only","GFDL-1.1-no-invariants-or-later","GFDL-1.1-only","GFDL-1.1-or-later","GFDL-1.2-invariants-only","GFDL-1.2-invariants-or-later","GFDL-1.2-no-invariants-only","GFDL-1.2-no-invariants-or-later","GFDL-1.2-only","GFDL-1.2-or-later","GFDL-1.3-invariants-only","GFDL-1.3-invariants-or-later","GFDL-1.3-no-invariants-only","GFDL-1.3-no-invariants-or-later","GFDL-1.3-only","GFDL-1.3-or-later","GL2PS","GLWTPL","GPL-1.0-only","GPL-1.0-or-later","GPL-2.0-only","GPL-2.0-or-later","GPL-3.0-only","GPL-3.0-or-later","Game-Programming-Gems","Giftware","Glide","Glulxe","Graphics-Gems","Gutmann","HDF5","HIDAPI","HP-1986","HP-1989","HPND","HPND-DEC","HPND-Fenneberg-Livingston","HPND-INRIA-IMAG","HPND-Intel","HPND-Kevlin-Henney","HPND-MIT-disclaimer","HPND-Markus-Kuhn","HPND-Netrek","HPND-Pbmplus","HPND-UC","HPND-UC-export-US","HPND-doc","HPND-doc-sell","HPND-export-US","HPND-export-US-acknowledgement","HPND-export-US-modify","HPND-export2-US","HPND-merchantability-variant","HPND-sell-MIT-disclaimer-xserver","HPND-sell-regexpr","HPND-sell-variant","HPND-sell-variant-MIT-disclaimer","HPND-sell-variant-MIT-disclaimer-rev","HTMLTIDY","HaskellReport","Hippocratic-2.1","IBM-pibs","ICU","IEC-Code-Components-EULA","IJG","IJG-short","IPA","IPL-1.0","ISC","ISC-Veillard","ImageMagick","Imlib2","Info-ZIP","Inner-Net-2.0","InnoSetup","Intel","Intel-ACPI","Interbase-1.0","JPL-image","JPNIC","JSON","Jam","JasPer-2.0","Kastrup","Kazlib","Knuth-CTAN","LAL-1.2","LAL-1.3","LGPL-2.0-only","LGPL-2.0-or-later","LGPL-2.1-only","LGPL-2.1-or-later","LGPL-3.0-only","LGPL-3.0-or-later","LGPLLR","LOOP","LPD-document","LPL-1.0","LPL-1.02","LPPL-1.0","LPPL-1.1","LPPL-1.2","LPPL-1.3a","LPPL-1.3c","LZMA-SDK-9.11-to-9.20","LZMA-SDK-9.22","Latex2e","Latex2e-translated-notice","Leptonica","LiLiQ-P-1.1","LiLiQ-R-1.1","LiLiQ-Rplus-1.1","Libpng","Linux-OpenIB","Linux-man-pages-1-para","Linux-man-pages-copyleft","Linux-man-pages-copyleft-2-para","Linux-man-pages-copyleft-var","Lucida-Bitmap-Fonts","MIPS","MIT","MIT-0","MIT-CMU","MIT-Click","MIT-Festival","MIT-Khronos-old","MIT-Modern-Variant","MIT-Wu","MIT-advertising","MIT-enna","MIT-feh","MIT-open-group","MIT-testregex","MITNFA","MMIXware","MPEG-SSG","MPL-1.0","MPL-1.1","MPL-2.0","MPL-2.0-no-copyleft-exception","MS-LPL","MS-PL","MS-RL","MTLL","Mackerras-3-Clause","Mackerras-3-Clause-acknowledgment","MakeIndex","Martin-Birgmeier","McPhee-slideshow","Minpack","MirOS","Motosoto","MulanPSL-1.0","MulanPSL-2.0","Multics","Mup","NAIST-2003","NASA-1.3","NBPL-1.0","NCBI-PD","NCGL-UK-2.0","NCL","NCSA","NGPL","NICTA-1.0","NIST-PD","NIST-PD-fallback","NIST-Software","NLOD-1.0","NLOD-2.0","NLPL","NOSL","NPL-1.0","NPL-1.1","NPOSL-3.0","NRL","NTIA-PD","NTP","NTP-0","Naumen","NetCDF","Newsletr","Nokia","Noweb","O-UDA-1.0","OAR","OCCT-PL","OCLC-2.0","ODC-By-1.0","ODbL-1.0","OFFIS","OFL-1.0","OFL-1.0-RFN","OFL-1.0-no-RFN","OFL-1.1","OFL-1.1-RFN","OFL-1.1-no-RFN","OGC-1.0","OGDL-Taiwan-1.0","OGL-Canada-2.0","OGL-UK-1.0","OGL-UK-2.0","OGL-UK-3.0","OGTSL","OLDAP-1.1","OLDAP-1.2","OLDAP-1.3","OLDAP-1.4","OLDAP-2.0","OLDAP-2.0.1","OLDAP-2.1","OLDAP-2.2","OLDAP-2.2.1","OLDAP-2.2.2","OLDAP-2.3","OLDAP-2.4","OLDAP-2.5","OLDAP-2.6","OLDAP-2.7","OLDAP-2.8","OLFL-1.3","OML","OPL-1.0","OPL-UK-3.0","OPUBL-1.0","OSET-PL-2.1","OSL-1.0","OSL-1.1","OSL-2.0","OSL-2.1","OSL-3.0","OpenPBS-2.3","OpenSSL","OpenSSL-standalone","OpenVision","PADL","PDDL-1.0","PHP-3.0","PHP-3.01","PPL","PSF-2.0","Parity-6.0.0","Parity-7.0.0","Pixar","Plexus","PolyForm-Noncommercial-1.0.0","PolyForm-Small-Business-1.0.0","PostgreSQL","Python-2.0","Python-2.0.1","QPL-1.0","QPL-1.0-INRIA-2004","Qhull","RHeCos-1.1","RPL-1.1","RPL-1.5","RPSL-1.0","RSA-MD","RSCPL","Rdisc","Ruby","Ruby-pty","SAX-PD","SAX-PD-2.0","SCEA","SGI-B-1.0","SGI-B-1.1","SGI-B-2.0","SGI-OpenGL","SGP4","SHL-0.5","SHL-0.51","SISSL","SISSL-1.2","SL","SMAIL-GPL","SMLNJ","SMPPL","SNIA","SOFA","SPL-1.0","SSH-OpenSSH","SSH-short","SSLeay-standalone","SSPL-1.0","SUL-1.0","SWL","Saxpath","SchemeReport","Sendmail","Sendmail-8.23","Sendmail-Open-Source-1.1","SimPL-2.0","Sleepycat","Soundex","Spencer-86","Spencer-94","Spencer-99","SugarCRM-1.1.3","Sun-PPP","Sun-PPP-2000","SunPro","Symlinks","TAPR-OHL-1.0","TCL","TCP-wrappers","TGPPL-1.0","TMate","TORQUE-1.1","TOSL","TPDL","TPL-1.0","TTWL","TTYP0","TU-Berlin-1.0","TU-Berlin-2.0","TermReadKey","ThirdEye","TrustedQSL","UCAR","UCL-1.0","UMich-Merit","UPL-1.0","URT-RLE","Ubuntu-font-1.0","Unicode-3.0","Unicode-DFS-2015","Unicode-DFS-2016","Unicode-TOU","UnixCrypt","Unlicense","Unlicense-libtelnet","Unlicense-libwhirlpool","VOSTROM","VSL-1.0","Vim","W3C","W3C-19980720","W3C-20150513","WTFPL","Watcom-1.0","Widget-Workshop","Wsuipa","X11","X11-distribute-modifications-variant","X11-swapped","XFree86-1.1","XSkat","Xdebug-1.03","Xerox","Xfig","Xnet","YPL-1.0","YPL-1.1","ZPL-1.1","ZPL-2.0","ZPL-2.1","Zed","Zeeff","Zend-2.0","Zimbra-1.3","Zimbra-1.4","Zlib","any-OSI","any-OSI-perl-modules","bcrypt-Solar-Designer","blessing","bzip2-1.0.6","check-cvs","checkmk","copyleft-next-0.3.0","copyleft-next-0.3.1","curl","cve-tou","diffmark","dtoa","dvipdfm","eGenix","etalab-2.0","fwlw","gSOAP-1.3b","generic-xts","gnuplot","gtkbook","hdparm","iMatix","jove","libpng-1.6.35","libpng-2.0","libselinux-1.0","libtiff","libutil-David-Nugent","lsof","magaz","mailprio","man2html","metamail","mpi-permissive","mpich2","mplus","ngrep","pkgconf","pnmstitch","psfrag","psutils","python-ldap","radvd","snprintf","softSurfer","ssh-keyscan","swrule","threeparttable","ulem","w3m","wwl","xinetd","xkeyboard-config-Zinoviev","xlock","xpp","xzoom","zlib-acknowledgement"],De=["AGPL-1.0","AGPL-3.0","BSD-2-Clause-FreeBSD","BSD-2-Clause-NetBSD","GFDL-1.1","GFDL-1.2","GFDL-1.3","GPL-1.0","GPL-2.0","GPL-2.0-with-GCC-exception","GPL-2.0-with-autoconf-exception","GPL-2.0-with-bison-exception","GPL-2.0-with-classpath-exception","GPL-2.0-with-font-exception","GPL-3.0","GPL-3.0-with-GCC-exception","GPL-3.0-with-autoconf-exception","LGPL-2.0","LGPL-2.1","LGPL-3.0","Net-SNMP","Nunit","StandardML-NJ","bzip2-1.0.5","eCos-2.0","wxWindows"],Ne=["389-exception","Asterisk-exception","Autoconf-exception-2.0","Autoconf-exception-3.0","Autoconf-exception-generic","Autoconf-exception-generic-3.0","Autoconf-exception-macro","Bison-exception-1.24","Bison-exception-2.2","Bootloader-exception","Classpath-exception-2.0","CLISP-exception-2.0","cryptsetup-OpenSSL-exception","DigiRule-FOSS-exception","eCos-exception-2.0","Fawkes-Runtime-exception","FLTK-exception","fmt-exception","Font-exception-2.0","freertos-exception-2.0","GCC-exception-2.0","GCC-exception-2.0-note","GCC-exception-3.1","Gmsh-exception","GNAT-exception","GNOME-examples-exception","GNU-compiler-exception","gnu-javamail-exception","GPL-3.0-interface-exception","GPL-3.0-linking-exception","GPL-3.0-linking-source-exception","GPL-CC-1.0","GStreamer-exception-2005","GStreamer-exception-2008","i2p-gpl-java-exception","KiCad-libraries-exception","LGPL-3.0-linking-exception","libpri-OpenH323-exception","Libtool-exception","Linux-syscall-note","LLGPL","LLVM-exception","LZMA-exception","mif-exception","OCaml-LGPL-linking-exception","OCCT-exception-1.0","OpenJDK-assembly-exception-1.0","openvpn-openssl-exception","PS-or-PDF-font-exception-20170817","QPL-1.0-INRIA-2004-exception","Qt-GPL-exception-1.0","Qt-LGPL-exception-1.1","Qwt-exception-1.0","SANE-exception","SHL-2.0","SHL-2.1","stunnel-exception","SWI-exception","Swift-exception","Texinfo-exception","u-boot-exception-2.0","UBDL-exception","Universal-FOSS-exception-1.0","vsftpd-openssl-exception","WxWindows-exception-3.1","x11vnc-openssl-exception"];function Oe(){if(ve)return ge;ve=1;var e=[].concat(Ie).concat(De),t=Ne;return ge=function(n){var r=0;function i(){return r<n.length}function o(e){if(e instanceof RegExp){var t=n.slice(r).match(e);if(t)return r+=t[0].length,t[0]}else if(n.indexOf(e,r)===r)return r+=e.length,e}function s(){o(/[ ]*/)}function a(){return o(/[A-Za-z0-9-.]+/)}function c(){var e=a();if(!e)throw new Error("Expected idstring at offset "+r);return e}function l(){return function(){for(var e,t=["WITH","AND","OR","(",")",":","+"],i=0;i<t.length&&!(e=o(t[i]));i++);if("+"===e&&r>1&&" "===n[r-2])throw new Error("Space before `+`");return e&&{type:"OPERATOR",string:e}}()||function(){if(o("DocumentRef-"))return{type:"DOCUMENTREF",string:c()}}()||function(){if(o("LicenseRef-"))return{type:"LICENSEREF",string:c()}}()||(i=r,s=a(),-1!==e.indexOf(s)?{type:"LICENSE",string:s}:-1!==t.indexOf(s)?{type:"EXCEPTION",string:s}:void(r=i));var i,s}for(var u=[];i()&&(s(),i());){var f=l();if(!f)throw new Error("Unexpected `"+n[r]+"` at offset "+r);u.push(f)}return u}}function Pe(){return Ee?ye:(Ee=1,ye=function(e){var t=0;function n(){return t<e.length}function r(){return n()?e[t]:null}function i(){if(!n())throw new Error;t++}function o(e){var t=r();if(t&&"OPERATOR"===t.type&&e===t.string)return i(),t.string}function s(){var e=r();if(e&&"LICENSE"===e.type){i();var t={license:e.string};o("+")&&(t.plus=!0);var n=function(){if(o("WITH")){var e=r();if(e&&"EXCEPTION"===e.type)return i(),e.string;throw new Error("Expected exception after `WITH`")}}();return n&&(t.exception=n),t}}function a(e,t){return function n(){var r=t();if(r){if(!o(e))return r;var i=n();if(!i)throw new Error("Expected expression");return{left:r,conjunction:e.toLowerCase(),right:i}}}}var c=a("AND",function(){return function(){if(o("(")){var e=l();if(!o(")"))throw new Error("Expected `)`");return e}}()||function(){var e=t,n="",s=r();if("DOCUMENTREF"===s.type&&(i(),n+="DocumentRef-"+s.string+":",!o(":")))throw new Error("Expected `:` after `DocumentRef-...`");if("LICENSEREF"===(s=r()).type)return i(),{license:n+="LicenseRef-"+s.string};t=e}()||s()}),l=a("OR",c),u=l();if(!u||n())throw new Error("Syntax error");return u})}function Ae(){if(we)return be;we=1;var e=Oe(),t=Pe();return be=function(n){return t(e(n))}}function Re(){if(_e)return Se;_e=1;var e=Ae(),t=function(){if(Ce)return Le;Ce=1;var e=Ae(),t=Ie;function n(t){try{return e(t),!0}catch(e){return!1}}function r(e,t){var n=t[0].length-e[0].length;return 0!==n?n:e[0].toUpperCase().localeCompare(t[0].toUpperCase())}var i=[["APGL","AGPL"],["Gpl","GPL"],["GLP","GPL"],["APL","Apache"],["ISD","ISC"],["GLP","GPL"],["IST","ISC"],["Claude","Clause"],[" or later","+"],[" International",""],["GNU","GPL"],["GUN","GPL"],["+",""],["GNU GPL","GPL"],["GNU LGPL","LGPL"],["GNU/GPL","GPL"],["GNU GLP","GPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL"],["GNU Lesser General Public License","LGPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["GNU Lesser General Public License","LGPL-2.1"],["LESSER GENERAL PUBLIC LICENSE","LGPL"],["Lesser General Public License","LGPL"],["LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["Lesser General Public License","LGPL-2.1"],["GNU General Public License","GPL"],["Gnu public license","GPL"],["GNU Public License","GPL"],["GNU GENERAL PUBLIC LICENSE","GPL"],["MTI","MIT"],["Mozilla Public License","MPL"],["Universal Permissive License","UPL"],["WTH","WTF"],["WTFGPL","WTFPL"],["-License",""]].sort(r),o=[function(e){return e.toUpperCase()},function(e){return e.trim()},function(e){return e.replace(/\./g,"")},function(e){return e.replace(/\s+/g,"")},function(e){return e.replace(/\s+/g,"-")},function(e){return e.replace("v","-")},function(e){return e.replace(/,?\s*(\d)/,"-$1")},function(e){return e.replace(/,?\s*(\d)/,"-$1.0")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2.0")},function(e){return e[0].toUpperCase()+e.slice(1)},function(e){return e.replace("/","-")},function(e){return e.replace(/\s*V\s*(\d)/,"-$1").replace(/(\d)$/,"$1.0")},function(e){return-1!==e.indexOf("3.0")?e+"-or-later":e+"-only"},function(e){return e+"only"},function(e){return e.replace(/(\d)$/,"-$1.0")},function(e){return e.replace(/(-| )?(\d)$/,"-$2-Clause")},function(e){return e.replace(/(-| )clause(-| )(\d)/,"-$3-Clause")},function(e){return e.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i,"BSD-3-Clause")},function(e){return e.replace(/\bSimplified(-| )?BSD((-| )License)?/i,"BSD-2-Clause")},function(e){return e.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i,"BSD-2-Clause-$1BSD")},function(e){return e.replace(/\bClear(-| )?BSD((-| )License)?/i,"BSD-3-Clause-Clear")},function(e){return e.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i,"BSD-4-Clause")},function(e){return"CC-"+e},function(e){return"CC-"+e+"-4.0"},function(e){return e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")},function(e){return"CC-"+e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")+"-4.0"}],s=t.map(function(e){var t=/^(.*)-\d+\.\d+$/.exec(e);return t?[t[0],t[1]]:[e,null]}).reduce(function(e,t){var n=t[1];return e[n]=e[n]||[],e[n].push(t[0]),e},{}),a=Object.keys(s).map(function(e){return[e,s[e]]}).filter(function(e){return 1===e[1].length&&null!==e[0]&&"APL"!==e[0]}).map(function(e){return[e[0],e[1][0]]});s=void 0;var c=[["UNLI","Unlicense"],["WTF","WTFPL"],["2 CLAUSE","BSD-2-Clause"],["2-CLAUSE","BSD-2-Clause"],["3 CLAUSE","BSD-3-Clause"],["3-CLAUSE","BSD-3-Clause"],["AFFERO","AGPL-3.0-or-later"],["AGPL","AGPL-3.0-or-later"],["APACHE","Apache-2.0"],["ARTISTIC","Artistic-2.0"],["Affero","AGPL-3.0-or-later"],["BEER","Beerware"],["BOOST","BSL-1.0"],["BSD","BSD-2-Clause"],["CDDL","CDDL-1.1"],["ECLIPSE","EPL-1.0"],["FUCK","WTFPL"],["GNU","GPL-3.0-or-later"],["LGPL","LGPL-3.0-or-later"],["GPLV1","GPL-1.0-only"],["GPL-1","GPL-1.0-only"],["GPLV2","GPL-2.0-only"],["GPL-2","GPL-2.0-only"],["GPL","GPL-3.0-or-later"],["MIT +NO-FALSE-ATTRIBS","MITNFA"],["MIT","MIT"],["MPL","MPL-2.0"],["X11","X11"],["ZLIB","Zlib"]].concat(a).sort(r),l=function(e){for(var t=0;t<o.length;t++){var r=o[t](e).trim();if(r!==e&&n(r))return r}return null},u=function(e){for(var t=e.toUpperCase(),n=0;n<c.length;n++){var r=c[n];if(t.indexOf(r[0])>-1)return r[1]}return null},f=function(e,t){for(var n=0;n<i.length;n++){var r=i[n],o=r[0];if(e.indexOf(o)>-1){var s=t(e.replace(o,r[1]));if(null!==s)return s}}return null};return Le=function(e,t){var r=void 0===(t=t||{}).upgrade||!!t.upgrade;function i(e){return r?function(e){return-1!==["GPL-1.0","LGPL-1.0","AGPL-1.0","GPL-2.0","LGPL-2.0","AGPL-2.0","LGPL-2.1"].indexOf(e)?e+"-only":-1!==["GPL-1.0+","GPL-2.0+","GPL-3.0+","LGPL-2.0+","LGPL-2.1+","LGPL-3.0+","AGPL-1.0+","AGPL-3.0+"].indexOf(e)?e.replace(/\+$/,"-or-later"):-1!==["GPL-3.0","LGPL-3.0","AGPL-3.0"].indexOf(e)?e+"-or-later":e}(e):e}if("string"!=typeof e||0===e.trim().length)throw Error("Invalid argument. Expected non-empty string.");if(n(e=e.trim()))return i(e);var o=e.replace(/\+$/,"").trim();if(n(o))return i(o);var s=l(e);return null!==s||null!==(s=f(e,function(e){return n(e)?e:l(e)}))||null!==(s=u(e))||null!==(s=f(e,u))?i(s):null}}(),n='license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"',r=/^SEE LICEN[CS]E IN (.+)$/;function i(e,t){return t.slice(0,e.length)===e}function o(e){if(e.hasOwnProperty("license")){var t=e.license;return i("LicenseRef",t)||i("DocumentRef",t)}return o(e.left)||o(e.right)}return Se=function(i){var s;try{s=e(i)}catch(e){var a;if("UNLICENSED"===i||"UNLICENCED"===i)return{validForOldPackages:!0,validForNewPackages:!0,unlicensed:!0};if(a=r.exec(i))return{validForOldPackages:!0,validForNewPackages:!0,inFile:a[1]};var c={validForOldPackages:!1,validForNewPackages:!1,warnings:[n]};if(0!==i.trim().length){var l=t(i);l&&c.warnings.push('license is similar to the valid expression "'+l+'"')}return c}return o(s)?{validForNewPackages:!1,validForOldPackages:!1,spdx:!0,warnings:[n]}:{validForNewPackages:!0,validForOldPackages:!0,spdx:!0}}}var Te,$e,xe,Fe,Ue,ke,Be,Ge,Me,je,ze,He={};function qe(){if(Te)return He;Te=1,Object.defineProperty(He,"__esModule",{value:!0}),He.LRUCache=void 0;var e="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date,t=new Set,n="object"==typeof process&&process?process:{},r=(e,t,r,i)=>{"function"==typeof n.emitWarning?n.emitWarning(e,t,r,i):console.error(`[${r}] ${t}: ${e}`)},i=globalThis.AbortController,o=globalThis.AbortSignal;if(typeof i>"u"){o=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(e,t){this._onabort.push(t)}},i=class{constructor(){t()}signal=new o;abort(e){if(!this.signal.aborted){this.signal.reason=e,this.signal.aborted=!0;for(let t of this.signal._onabort)t(e);this.signal.onabort?.(e)}}};let e="1"!==n.env?.LRU_CACHE_IGNORE_AC_WARNING,t=()=>{e&&(e=!1,r("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}var s=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),a=e=>s(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?c:null:null,c=class extends Array{constructor(e){super(e),this.fill(0)}},l=class e{heap;length;static#e=!1;static create(t){let n=a(t);if(!n)return[];e.#e=!0;let r=new e(t,n);return e.#e=!1,r}constructor(t,n){if(!e.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new n(t),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},u=class n{#e;#t;#n;#r;#i;#o;#s;#a;get perf(){return this.#a}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#c;#l;#u;#f;#p;#d;#h;#m;#g;#v;#y;#E;#b;#w;#L;#C;#S;#_;#I;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#w,autopurgeTimers:e.#L,sizes:e.#E,keyMap:e.#u,keyList:e.#f,valList:e.#p,next:e.#d,prev:e.#h,get head(){return e.#m},get tail(){return e.#g},free:e.#v,isBackgroundFetch:t=>e.#D(t),backgroundFetch:(t,n,r,i)=>e.#N(t,n,r,i),moveToTail:t=>e.#O(t),indexes:t=>e.#P(t),rindexes:t=>e.#A(t),isStale:t=>e.#R(t)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#l}get size(){return this.#c}get fetchMethod(){return this.#o}get memoMethod(){return this.#s}get dispose(){return this.#n}get onInsert(){return this.#r}get disposeAfter(){return this.#i}constructor(i){let{max:o=0,ttl:c,ttlResolution:u=1,ttlAutopurge:f,updateAgeOnGet:p,updateAgeOnHas:d,allowStale:h,dispose:m,onInsert:g,disposeAfter:v,noDisposeOnSet:y,noUpdateTTL:E,maxSize:b=0,maxEntrySize:w=0,sizeCalculation:L,fetchMethod:C,memoMethod:S,noDeleteOnFetchRejection:_,noDeleteOnStaleGet:I,allowStaleOnFetchRejection:D,allowStaleOnFetchAbort:N,ignoreFetchAbort:O,perf:P}=i;if(void 0!==P&&"function"!=typeof P?.now)throw new TypeError("perf option must have a now() method if specified");if(this.#a=P??e,0!==o&&!s(o))throw new TypeError("max option must be a nonnegative integer");let A=o?a(o):Array;if(!A)throw new Error("invalid max value: "+o);if(this.#e=o,this.#t=b,this.maxEntrySize=w||this.#t,this.sizeCalculation=L,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw new TypeError("sizeCalculation set to non-function")}if(void 0!==S&&"function"!=typeof S)throw new TypeError("memoMethod must be a function if defined");if(this.#s=S,void 0!==C&&"function"!=typeof C)throw new TypeError("fetchMethod must be a function if specified");if(this.#o=C,this.#S=!!C,this.#u=new Map,this.#f=new Array(o).fill(void 0),this.#p=new Array(o).fill(void 0),this.#d=new A(o),this.#h=new A(o),this.#m=0,this.#g=0,this.#v=l.create(o),this.#c=0,this.#l=0,"function"==typeof m&&(this.#n=m),"function"==typeof g&&(this.#r=g),"function"==typeof v?(this.#i=v,this.#y=[]):(this.#i=void 0,this.#y=void 0),this.#C=!!this.#n,this.#I=!!this.#r,this.#_=!!this.#i,this.noDisposeOnSet=!!y,this.noUpdateTTL=!!E,this.noDeleteOnFetchRejection=!!_,this.allowStaleOnFetchRejection=!!D,this.allowStaleOnFetchAbort=!!N,this.ignoreFetchAbort=!!O,0!==this.maxEntrySize){if(0!==this.#t&&!s(this.#t))throw new TypeError("maxSize must be a positive integer if specified");if(!s(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#T()}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!I,this.updateAgeOnGet=!!p,this.updateAgeOnHas=!!d,this.ttlResolution=s(u)||0===u?u:1,this.ttlAutopurge=!!f,this.ttl=c||0,this.ttl){if(!s(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#$()}if(0===this.#e&&0===this.ttl&&0===this.#t)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#e&&!this.#t){let e="LRU_CACHE_UNBOUNDED";(e=>!t.has(e))(e)&&(t.add(e),r("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",e,n))}}getRemainingTTL(e){return this.#u.has(e)?1/0:0}#$(){let e=new c(this.#e),t=new c(this.#e);this.#w=e,this.#b=t;let n=this.ttlAutopurge?new Array(this.#e):void 0;this.#L=n,this.#x=(n,i,o=this.#a.now())=>{t[n]=0!==i?o:0,e[n]=i,r(n,i)},this.#F=n=>{t[n]=0!==e[n]?this.#a.now():0,r(n,e[n])};let r=this.ttlAutopurge?(e,t)=>{if(n?.[e]&&(clearTimeout(n[e]),n[e]=void 0),t&&0!==t&&n){let r=setTimeout(()=>{this.#R(e)&&this.#U(this.#f[e],"expire")},t+1);r.unref&&r.unref(),n[e]=r}}:()=>{};this.#k=(n,r)=>{if(e[r]){let s=e[r],a=t[r];if(!s||!a)return;n.ttl=s,n.start=a,n.now=i||o();let c=n.now-a;n.remainingTTL=s-c}};let i=0,o=()=>{let e=this.#a.now();if(this.ttlResolution>0){i=e;let t=setTimeout(()=>i=0,this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=n=>{let r=this.#u.get(n);if(void 0===r)return 0;let s=e[r],a=t[r];return s&&a?s-((i||o())-a):1/0},this.#R=n=>{let r=t[n],s=e[n];return!!s&&!!r&&(i||o())-r>s}}#F=()=>{};#k=()=>{};#x=()=>{};#R=()=>!1;#T(){let e=new c(this.#e);this.#l=0,this.#E=e,this.#B=t=>{this.#l-=e[t],e[t]=0},this.#G=(e,t,n,r)=>{if(this.#D(t))return 0;if(!s(n)){if(!r)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if("function"!=typeof r)throw new TypeError("sizeCalculation must be a function");if(n=r(t,e),!s(n))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return n},this.#M=(t,n,r)=>{if(e[t]=n,this.#t){let n=this.#t-e[t];for(;this.#l>n;)this.#j(!0)}this.#l+=e[t],r&&(r.entrySize=n,r.totalCalculatedSize=this.#l)}}#B=e=>{};#M=(e,t,n)=>{};#G=(e,t,n,r)=>{if(n||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#P({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#g;this.#z(t)&&((e||!this.#R(t))&&(yield t),t!==this.#m);)t=this.#h[t]}*#A({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#m;this.#z(t)&&((e||!this.#R(t))&&(yield t),t!==this.#g);)t=this.#d[t]}#z(e){return void 0!==e&&this.#u.get(this.#f[e])===e}*entries(){for(let e of this.#P())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*rentries(){for(let e of this.#A())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*keys(){for(let e of this.#P()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*rkeys(){for(let e of this.#A()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*values(){for(let e of this.#P())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}*rvalues(){for(let e of this.#A())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(let n of this.#P()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0!==i&&e(i,this.#f[n],this))return this.get(this.#f[n],t)}}forEach(e,t=this){for(let n of this.#P()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}rforEach(e,t=this){for(let n of this.#A()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}purgeStale(){let e=!1;for(let t of this.#A({allowStale:!0}))this.#R(t)&&(this.#U(this.#f[t],"expire"),e=!0);return e}info(e){let t=this.#u.get(e);if(void 0===t)return;let n=this.#p[t],r=this.#D(n)?n.__staleWhileFetching:n;if(void 0===r)return;let i={value:r};if(this.#w&&this.#b){let e=this.#w[t],n=this.#b[t];if(e&&n){let t=e-(this.#a.now()-n);i.ttl=t,i.start=Date.now()}}return this.#E&&(i.size=this.#E[t]),i}dump(){let e=[];for(let t of this.#P({allowStale:!0})){let n=this.#f[t],r=this.#p[t],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0===i||void 0===n)continue;let o={value:i};if(this.#w&&this.#b){o.ttl=this.#w[t];let e=this.#a.now()-this.#b[t];o.start=Math.floor(Date.now()-e)}this.#E&&(o.size=this.#E[t]),e.unshift([n,o])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let e=Date.now()-n.start;n.start=this.#a.now()-e}this.set(t,n.value,n)}}set(e,t,n={}){if(void 0===t)return this.delete(e),this;let{ttl:r=this.ttl,start:i,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:s=this.sizeCalculation,status:a}=n,{noUpdateTTL:c=this.noUpdateTTL}=n,l=this.#G(e,t,n.size||0,s);if(this.maxEntrySize&&l>this.maxEntrySize)return a&&(a.set="miss",a.maxEntrySizeExceeded=!0),this.#U(e,"set"),this;let u=0===this.#c?void 0:this.#u.get(e);if(void 0===u)u=0===this.#c?this.#g:0!==this.#v.length?this.#v.pop():this.#c===this.#e?this.#j(!1):this.#c,this.#f[u]=e,this.#p[u]=t,this.#u.set(e,u),this.#d[this.#g]=u,this.#h[u]=this.#g,this.#g=u,this.#c++,this.#M(u,l,a),a&&(a.set="add"),c=!1,this.#I&&this.#r?.(t,e,"add");else{this.#O(u);let n=this.#p[u];if(t!==n){if(this.#S&&this.#D(n)){n.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:t}=n;void 0!==t&&!o&&(this.#C&&this.#n?.(t,e,"set"),this.#_&&this.#y?.push([t,e,"set"]))}else o||(this.#C&&this.#n?.(n,e,"set"),this.#_&&this.#y?.push([n,e,"set"]));if(this.#B(u),this.#M(u,l,a),this.#p[u]=t,a){a.set="replace";let e=n&&this.#D(n)?n.__staleWhileFetching:n;void 0!==e&&(a.oldValue=e)}}else a&&(a.set="update");this.#I&&this.onInsert?.(t,e,t===n?"update":"replace")}if(0!==r&&!this.#w&&this.#$(),this.#w&&(c||this.#x(u,r,i),a&&this.#k(a,u)),!o&&this.#_&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return this}pop(){try{for(;this.#c;){let e=this.#p[this.#m];if(this.#j(!0),this.#D(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(void 0!==e)return e}}finally{if(this.#_&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}}#j(e){let t=this.#m,n=this.#f[t],r=this.#p[t];return this.#S&&this.#D(r)?r.__abortController.abort(new Error("evicted")):(this.#C||this.#_)&&(this.#C&&this.#n?.(r,n,"evict"),this.#_&&this.#y?.push([r,n,"evict"])),this.#B(t),this.#L?.[t]&&(clearTimeout(this.#L[t]),this.#L[t]=void 0),e&&(this.#f[t]=void 0,this.#p[t]=void 0,this.#v.push(t)),1===this.#c?(this.#m=this.#g=0,this.#v.length=0):this.#m=this.#d[t],this.#u.delete(n),this.#c--,t}has(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:r}=t,i=this.#u.get(e);if(void 0!==i){let e=this.#p[i];if(this.#D(e)&&void 0===e.__staleWhileFetching)return!1;if(!this.#R(i))return n&&this.#F(i),r&&(r.has="hit",this.#k(r,i)),!0;r&&(r.has="stale",this.#k(r,i))}else r&&(r.has="miss");return!1}peek(e,t={}){let{allowStale:n=this.allowStale}=t,r=this.#u.get(e);if(void 0===r||!n&&this.#R(r))return;let i=this.#p[r];return this.#D(i)?i.__staleWhileFetching:i}#N(e,t,n,r){let o=void 0===t?void 0:this.#p[t];if(this.#D(o))return o;let s=new i,{signal:a}=n;a?.addEventListener("abort",()=>s.abort(a.reason),{signal:s.signal});let c={signal:s.signal,options:n,context:r},l=(r,i=!1)=>{let{aborted:o}=s.signal,a=n.ignoreFetchAbort&&void 0!==r,l=n.ignoreFetchAbort||!(!n.allowStaleOnFetchAbort||void 0===r);if(n.status&&(o&&!i?(n.status.fetchAborted=!0,n.status.fetchError=s.signal.reason,a&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),o&&!a&&!i)return u(s.signal.reason,l);let p=f,d=this.#p[t];return(d===f||a&&i&&void 0===d)&&(void 0===r?void 0!==p.__staleWhileFetching?this.#p[t]=p.__staleWhileFetching:this.#U(e,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.set(e,r,c.options))),r},u=(r,i)=>{let{aborted:o}=s.signal,a=o&&n.allowStaleOnFetchAbort,c=a||n.allowStaleOnFetchRejection,l=c||n.noDeleteOnFetchRejection,u=f;if(this.#p[t]===f&&(!l||!i&&void 0===u.__staleWhileFetching?this.#U(e,"fetch"):a||(this.#p[t]=u.__staleWhileFetching)),c)return n.status&&void 0!==u.__staleWhileFetching&&(n.status.returnedStale=!0),u.__staleWhileFetching;if(u.__returned===u)throw r};n.status&&(n.status.fetchDispatched=!0);let f=new Promise((t,r)=>{let i=this.#o?.(e,o,c);i&&i instanceof Promise&&i.then(e=>t(void 0===e?void 0:e),r),s.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(t(void 0),n.allowStaleOnFetchAbort&&(t=e=>l(e,!0)))})}).then(l,e=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=e),u(e,!1))),p=Object.assign(f,{__abortController:s,__staleWhileFetching:o,__returned:void 0});return void 0===t?(this.set(e,p,{...c.options,status:void 0}),t=this.#u.get(e)):this.#p[t]=p,p}#D(e){if(!this.#S)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof i}async fetch(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:s=this.noDisposeOnSet,size:a=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:l=this.noUpdateTTL,noDeleteOnFetchRejection:u=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:f=this.allowStaleOnFetchRejection,ignoreFetchAbort:p=this.ignoreFetchAbort,allowStaleOnFetchAbort:d=this.allowStaleOnFetchAbort,context:h,forceRefresh:m=!1,status:g,signal:v}=t;if(!this.#S)return g&&(g.fetch="get"),this.get(e,{allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,status:g});let y={allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,ttl:o,noDisposeOnSet:s,size:a,sizeCalculation:c,noUpdateTTL:l,noDeleteOnFetchRejection:u,allowStaleOnFetchRejection:f,allowStaleOnFetchAbort:d,ignoreFetchAbort:p,status:g,signal:v},E=this.#u.get(e);if(void 0===E){g&&(g.fetch="miss");let t=this.#N(e,E,y,h);return t.__returned=t}{let t=this.#p[E];if(this.#D(t)){let e=n&&void 0!==t.__staleWhileFetching;return g&&(g.fetch="inflight",e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}let i=this.#R(E);if(!m&&!i)return g&&(g.fetch="hit"),this.#O(E),r&&this.#F(E),g&&this.#k(g,E),t;let o=this.#N(e,E,y,h),s=void 0!==o.__staleWhileFetching&&n;return g&&(g.fetch=i?"stale":"refresh",s&&i&&(g.returnedStale=!0)),s?o.__staleWhileFetching:o.__returned=o}}async forceFetch(e,t={}){let n=await this.fetch(e,t);if(void 0===n)throw new Error("fetch() returned undefined");return n}memo(e,t={}){let n=this.#s;if(!n)throw new Error("no memoMethod provided to constructor");let{context:r,forceRefresh:i,...o}=t,s=this.get(e,o);if(!i&&void 0!==s)return s;let a=n(e,s,{options:o,context:r});return this.set(e,a,o),a}get(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:o}=t,s=this.#u.get(e);if(void 0!==s){let t=this.#p[s],a=this.#D(t);return o&&this.#k(o,s),this.#R(s)?(o&&(o.get="stale"),a?(o&&n&&void 0!==t.__staleWhileFetching&&(o.returnedStale=!0),n?t.__staleWhileFetching:void 0):(i||this.#U(e,"expire"),o&&n&&(o.returnedStale=!0),n?t:void 0)):(o&&(o.get="hit"),a?t.__staleWhileFetching:(this.#O(s),r&&this.#F(s),t))}o&&(o.get="miss")}#H(e,t){this.#h[t]=e,this.#d[e]=t}#O(e){e!==this.#g&&(e===this.#m?this.#m=this.#d[e]:this.#H(this.#h[e],this.#d[e]),this.#H(this.#g,e),this.#g=e)}delete(e){return this.#U(e,"delete")}#U(e,t){let n=!1;if(0!==this.#c){let r=this.#u.get(e);if(void 0!==r)if(this.#L?.[r]&&(clearTimeout(this.#L?.[r]),this.#L[r]=void 0),n=!0,1===this.#c)this.#q(t);else{this.#B(r);let n=this.#p[r];if(this.#D(n)?n.__abortController.abort(new Error("deleted")):(this.#C||this.#_)&&(this.#C&&this.#n?.(n,e,t),this.#_&&this.#y?.push([n,e,t])),this.#u.delete(e),this.#f[r]=void 0,this.#p[r]=void 0,r===this.#g)this.#g=this.#h[r];else if(r===this.#m)this.#m=this.#d[r];else{let e=this.#h[r];this.#d[e]=this.#d[r];let t=this.#d[r];this.#h[t]=this.#h[r]}this.#c--,this.#v.push(r)}}if(this.#_&&this.#y?.length){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return n}clear(){return this.#q("delete")}#q(e){for(let t of this.#A({allowStale:!0})){let n=this.#p[t];if(this.#D(n))n.__abortController.abort(new Error("deleted"));else{let r=this.#f[t];this.#C&&this.#n?.(n,r,e),this.#_&&this.#y?.push([n,r,e])}}if(this.#u.clear(),this.#p.fill(void 0),this.#f.fill(void 0),this.#w&&this.#b){this.#w.fill(0),this.#b.fill(0);for(let e of this.#L??[])void 0!==e&&clearTimeout(e);this.#L?.fill(void 0)}if(this.#E&&this.#E.fill(0),this.#m=0,this.#g=0,this.#v.length=0,this.#l=0,this.#c=0,this.#_&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}};return He.LRUCache=u,He}function Ve(){if(Ue)return Fe;Ue=1;const e=h,t=(e,t,n)=>{const r=e.indexOf(n);return e.lastIndexOf(t,r>-1?r:1/0)},n=t=>{try{return new e.URL(t)}catch{}};return Fe=(e,r)=>{const i=r?((e,t)=>{const n=e.indexOf(":"),r=e.slice(0,n+1);if(Object.prototype.hasOwnProperty.call(t,r))return e;if("://"===e.substr(n,3))return e;const i=e.indexOf("@");return i>-1?i>n?`git+ssh://${e}`:e:`${e.slice(0,n+1)}//${e.slice(n+1)}`})(e,r):e;return n(i)||n((e=>{const n=t(e,"@","#"),r=t(e,":","#");return r>n&&(e=e.slice(0,r)+"/"+e.slice(r+1)),-1===t(e,":","#")&&-1===e.indexOf("//")&&(e=`git+ssh://${e}`),e})(i))}}function We(){if(Be)return ke;Be=1;const e=Ve();return ke=(t,n,{gitHosts:r,protocols:i})=>{if(!t)return;const o=(e=>{const t=e.indexOf("#"),n=e.indexOf("/"),r=e.indexOf("/",n+1),i=e.indexOf(":"),o=/\s/.exec(e),s=e.indexOf("@"),a=!o||t>-1&&o.index>t,c=-1===s||t>-1&&s>t,l=-1===i||t>-1&&i>t,u=-1===r||t>-1&&r>t,f=n>0,p=t>-1?"/"!==e[t-1]:!e.endsWith("/"),d=!e.startsWith(".");return a&&f&&p&&d&&c&&l&&u})(t)?`github:${t}`:t,s=e(o,i);if(!s)return;const a=r.byShortcut[s.protocol],c=r.byDomain[s.hostname.startsWith("www.")?s.hostname.slice(4):s.hostname],l=a||c;if(!l)return;const u=r[a||c];let f=null;i[s.protocol]?.auth&&(s.username||s.password)&&(f=`${s.username}${s.password?":"+s.password:""}`);let p=null,d=null,h=null,m=null;try{if(a){let e=s.pathname.startsWith("/")?s.pathname.slice(1):s.pathname;const t=e.indexOf("@");t>-1&&(e=e.slice(t+1));const n=e.lastIndexOf("/");n>-1?(d=decodeURIComponent(e.slice(0,n)),d||(d=null),h=decodeURIComponent(e.slice(n+1))):h=decodeURIComponent(e),h.endsWith(".git")&&(h=h.slice(0,-4)),s.hash&&(p=decodeURIComponent(s.hash.slice(1))),m="shortcut"}else{if(!u.protocols.includes(s.protocol))return;const e=u.extract(s);if(!e)return;d=e.user&&decodeURIComponent(e.user),h=decodeURIComponent(e.project),p=decodeURIComponent(e.committish),m=i[s.protocol]?.name||s.protocol.slice(0,-1)}}catch(e){if(e instanceof URIError)return;throw e}return[l,d,f,h,p,m,n]}}function Ke(){if(Me)return Ge;Me=1;const{LRUCache:e}=qe(),t=function(){if(xe)return $e;xe=1;const e=(...e)=>e.every(e=>e)?e.join(""):"",t=e=>e?encodeURIComponent(e):"",n=e=>e.toLowerCase().replace(/^\W+/g,"").replace(/(?<!\W)\W+$/,"").replace(/\//g,"").replace(/\W+/g,"-"),r={sshtemplate:({domain:t,user:n,project:r,committish:i})=>`git@${t}:${n}/${r}.git${e("#",i)}`,sshurltemplate:({domain:t,user:n,project:r,committish:i})=>`git+ssh://git@${t}/${n}/${r}.git${e("#",i)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s,path:a})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a)}`,browsetemplate:({domain:n,user:r,project:i,committish:o,treepath:s})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o))}`,browsetreetemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,browseblobtemplate:({domain:n,user:r,project:i,committish:o,blobpath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,docstemplate:({domain:n,user:r,project:i,treepath:o,committish:s})=>`https://${n}/${r}/${i}${e("/",o,"/",t(s))}#readme`,httpstemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git+https://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/raw/${t(i||"HEAD")}/${o}`,shortcuttemplate:({type:t,user:n,project:r,committish:i})=>`${t}:${n}/${r}${e("#",i)}`,pathtemplate:({user:t,project:n,committish:r})=>`${t}/${n}${e("#",r)}`,bugstemplate:({domain:e,user:t,project:n})=>`https://${e}/${t}/${n}/issues`,hashformat:n},i={};i.github={protocols:["git:","http:","git+ssh:","git+https:","ssh:","https:"],domain:"github.com",treepath:"tree",blobpath:"blob",editpath:"edit",filetemplate:({auth:n,user:r,project:i,committish:o,path:s})=>`https://${e(n,"@")}raw.githubusercontent.com/${r}/${i}/${t(o||"HEAD")}/${s}`,gittemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://codeload.${e}/${n}/${r}/tar.gz/${t(i||"HEAD")}`,extract:e=>{let[,t,n,r,i]=e.pathname.split("/",5);if((!r||"tree"===r)&&(r||(i=e.hash.slice(1)),n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:i}}},i.bitbucket={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"bitbucket.org",treepath:"src",blobpath:"src",editpath:"?mode=edit",edittemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,editpath:c})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a,c)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/get/${t(i||"HEAD")}.tar.gz`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["get"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}},i.gitlab={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"gitlab.com",treepath:"tree",blobpath:"tree",editpath:"-/edit",tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/repository/archive.tar.gz?ref=${t(i||"HEAD")}`,extract:e=>{const t=e.pathname.slice(1);if(t.includes("/-/")||t.includes("/archive.tar.gz"))return;const n=t.split("/");let r=n.pop();r.endsWith(".git")&&(r=r.slice(0,-4));const i=n.join("/");return i&&r?{user:i,project:r,committish:e.hash.slice(1)}:void 0}},i.gist={protocols:["git:","git+ssh:","git+https:","ssh:","https:"],domain:"gist.github.com",editpath:"edit",sshtemplate:({domain:t,project:n,committish:r})=>`git@${t}:${n}.git${e("#",r)}`,sshurltemplate:({domain:t,project:n,committish:r})=>`git+ssh://git@${t}/${n}.git${e("#",r)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s})=>`https://${n}/${r}/${i}${e("/",t(o))}/${s}`,browsetemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,browsetreetemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,browseblobtemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,docstemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,httpstemplate:({domain:t,project:n,committish:r})=>`git+https://${t}/${n}.git${e("#",r)}`,filetemplate:({user:n,project:r,committish:i,path:o})=>`https://gist.githubusercontent.com/${n}/${r}/raw${e("/",t(i))}/${o}`,shortcuttemplate:({type:t,project:n,committish:r})=>`${t}:${n}${e("#",r)}`,pathtemplate:({project:t,committish:n})=>`${t}${e("#",n)}`,bugstemplate:({domain:e,project:t})=>`https://${e}/${t}`,gittemplate:({domain:t,project:n,committish:r})=>`git://${t}/${n}.git${e("#",r)}`,tarballtemplate:({project:e,committish:n})=>`https://codeload.github.com/gist/${e}/tar.gz/${t(n||"HEAD")}`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if("raw"!==r){if(!n){if(!t)return;n=t,t=null}return n.endsWith(".git")&&(n=n.slice(0,-4)),{user:t,project:n,committish:e.hash.slice(1)}}},hashformat:function(e){return e&&"file-"+n(e)}},i.sourcehut={protocols:["git+ssh:","https:"],domain:"git.sr.ht",treepath:"tree",blobpath:"tree",filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/blob/${t(i)||"HEAD"}/${o}`,httpstemplate:({domain:t,user:n,project:r,committish:i})=>`https://${t}/${n}/${r}.git${e("#",i)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/archive/${t(i)||"HEAD"}.tar.gz`,bugstemplate:()=>null,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["archive"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}};for(const[e,t]of Object.entries(i))i[e]=Object.assign({},r,t);return $e=i}(),n=We(),r=Ve(),i=new e({max:1e3});class o{constructor(e,t,n,r,i,s,a={}){Object.assign(this,o.#V[e],{type:e,user:t,auth:n,project:r,committish:i,default:s,opts:a})}static#V={byShortcut:{},byDomain:{}};static#W={"git+ssh:":{name:"sshurl"},"ssh:":{name:"sshurl"},"git+https:":{name:"https",auth:!0},"git:":{auth:!0},"http:":{auth:!0},"https:":{auth:!0},"git+http:":{auth:!0}};static addHost(e,t){o.#V[e]=t,o.#V.byDomain[t.domain]=e,o.#V.byShortcut[`${e}:`]=e,o.#W[`${e}:`]={name:e}}static fromUrl(e,t){if("string"!=typeof e)return;const r=e+JSON.stringify(t||{});if(!i.has(r)){const s=n(e,t,{gitHosts:o.#V,protocols:o.#W});i.set(r,s?new o(...s):void 0)}return i.get(r)}static fromManifest(e,t={}){if(!e||"object"!=typeof e)return;const n=e.repository,r=n&&("string"==typeof n?n:"object"==typeof n&&"string"==typeof n.url?n.url:null);if(!r)throw new Error("no repository");const i=r&&o.fromUrl(r.replace(/^git\+/,""),t)||null;if(i)return i;const s=function(e){try{const{protocol:t,hostname:n,pathname:r}=new URL(e);if(!n)return null;return`${/(?:git\+)http:$/.test(t)?"http:":"https:"}//${n}${r.replace(/\.git$/,"")}`}catch{return null}}(r);return o.fromUrl(s,t)||s}static parseUrl(e){return r(e)}#K(e,t){if("function"!=typeof e)return null;const n={...this,...this.opts,...t};n.path||(n.path=""),n.path.startsWith("/")&&(n.path=n.path.slice(1)),n.noCommittish&&(n.committish=null);const r=e(n);return n.noGitPlus&&r.startsWith("git+")?r.slice(4):r}hash(){return this.committish?`#${this.committish}`:""}ssh(e){return this.#K(this.sshtemplate,e)}sshurl(e){return this.#K(this.sshurltemplate,e)}browse(e,...t){return"string"!=typeof e?this.#K(this.browsetemplate,e):"string"!=typeof t[0]?this.#K(this.browsetreetemplate,{...t[0],path:e}):this.#K(this.browsetreetemplate,{...t[1],fragment:t[0],path:e})}browseFile(e,...t){return"string"!=typeof t[0]?this.#K(this.browseblobtemplate,{...t[0],path:e}):this.#K(this.browseblobtemplate,{...t[1],fragment:t[0],path:e})}docs(e){return this.#K(this.docstemplate,e)}bugs(e){return this.#K(this.bugstemplate,e)}https(e){return this.#K(this.httpstemplate,e)}git(e){return this.#K(this.gittemplate,e)}shortcut(e){return this.#K(this.shortcuttemplate,e)}path(e){return this.#K(this.pathtemplate,e)}tarball(e){return this.#K(this.tarballtemplate,{...e,noCommittish:!1})}file(e,t){return this.#K(this.filetemplate,{...t,path:e})}edit(e,t){return this.#K(this.edittemplate,{...t,path:e})}getDefaultRepresentation(){return this.default}toString(e){return this.default&&"function"==typeof this[this.default]?this[this.default](e):this.sshurl(e)}}for(const[e,n]of Object.entries(t))o.addHost(e,n);return Ge=o}var Ze,Ye,Xe={topLevel:{dependancies:"dependencies",dependecies:"dependencies",depdenencies:"dependencies",devEependencies:"devDependencies",depends:"dependencies","dev-dependencies":"devDependencies",devDependences:"devDependencies",devDepenencies:"devDependencies",devdependencies:"devDependencies",repostitory:"repository",repo:"repository",prefereGlobal:"preferGlobal",hompage:"homepage",hampage:"homepage",autohr:"author",autor:"author",contributers:"contributors",publicationConfig:"publishConfig",script:"scripts"},bugs:{web:"url",name:"url"},script:{server:"start",tests:"test"}};function Je(){if(Ye)return Ze;Ye=1;var{URL:e}=p,t=function(){if(le)return ce;le=1;const e=me();return ce=(t,n)=>{const r=e(t,n);return r?r.version:null},ce}(),n=function(){if(fe)return ue;fe=1;const e=me();return ue=(t,n)=>{const r=e(t.trim().replace(/^[=v]+/,""),n);return r?r.version:null},ue}(),r=Re(),i=Ke(),{isBuiltin:o}=m,s=["dependencies","devDependencies","optionalDependencies"],a=ze?je:(ze=1,je=function(e){if(!e)return;if("ERROR: No README data found!"===e)return;e=e.trim().split("\n");let t=0;for(;e[t]&&e[t].trim().match(/^(#|$)/);)t++;const n=e.length;let r=t+1;for(;r<n&&e[r].trim();)r++;return e.slice(t,r).join(" ").trim()}),c=Xe,l=e=>e.includes("@")&&e.indexOf("@")<e.lastIndexOf(".");function u(e,t){return e.author&&(e.author=t(e.author)),["maintainers","contributors"].forEach(function(n){Array.isArray(e[n])&&(e[n]=e[n].map(t))}),e}function f(e){if("string"==typeof e)return e;var t=e.name||"",n=e.url||e.web,r=n?" ("+n+")":"",i=e.email||e.mail;return t+(i?" <"+i+">":"")+r}function d(e){if("string"!=typeof e)return e;var t=e.match(/^([^(<]+)/),n=e.match(/\(([^()]+)\)/),r=e.match(/<([^<>]+)>/),i={};return t&&t[0].trim()&&(i.name=t[0].trim()),r&&(i.email=r[1]),n&&(i.url=n[1]),i}return Ze={warn:function(){},fixRepositoryField:function(e){if(e.repositories&&(this.warn("repositories"),e.repository=e.repositories[0]),!e.repository)return this.warn("missingRepository");"string"==typeof e.repository&&(e.repository={type:"git",url:e.repository});var t=e.repository.url||"";if(t){var n=i.fromUrl(t);n&&(t=e.repository.url="shortcut"===n.getDefaultRepresentation()?n.https():n.toString())}t.match(/github.com\/[^/]+\/[^/]+\.git\.git$/)&&this.warn("brokenGitUrl",t)},fixTypos:function(e){Object.keys(c.topLevel).forEach(function(t){Object.prototype.hasOwnProperty.call(e,t)&&this.warn("typo",t,c.topLevel[t])},this)},fixScriptsField:function(e){if(e.scripts)return"object"!=typeof e.scripts?(this.warn("nonObjectScripts"),void delete e.scripts):void Object.keys(e.scripts).forEach(function(t){"string"!=typeof e.scripts[t]?(this.warn("nonStringScript"),delete e.scripts[t]):c.script[t]&&!e.scripts[c.script[t]]&&this.warn("typo",t,c.script[t],"scripts")},this)},fixFilesField:function(e){var t=e.files;t&&!Array.isArray(t)?(this.warn("nonArrayFiles"),delete e.files):e.files&&(e.files=e.files.filter(function(e){return!(!e||"string"!=typeof e)||(this.warn("invalidFilename",e),!1)},this))},fixBinField:function(e){if(e.bin&&"string"==typeof e.bin){var t,n={};(t=e.name.match(/^@[^/]+[/](.*)$/))?n[t[1]]=e.bin:n[e.name]=e.bin,e.bin=n}},fixManField:function(e){e.man&&"string"==typeof e.man&&(e.man=[e.man])},fixBundleDependenciesField:function(e){var t="bundledDependencies",n="bundleDependencies";e[t]&&!e[n]&&(e[n]=e[t],delete e[t]),e[n]&&!Array.isArray(e[n])?(this.warn("nonArrayBundleDependencies"),delete e[n]):e[n]&&(e[n]=e[n].filter(function(t){return t&&"string"==typeof t?(e.dependencies||(e.dependencies={}),Object.prototype.hasOwnProperty.call(e.dependencies,t)||(this.warn("nonDependencyBundleDependency",t),e.dependencies[t]="*"),!0):(this.warn("nonStringBundleDependency",t),!1)},this))},fixDependencies:function(e){!function(e,t){s.forEach(function(n){e[n]&&(e[n]=function(e,t,n){if(!e)return{};"string"==typeof e&&(e=e.trim().split(/[\n\r\s\t ,]+/));if(!Array.isArray(e))return e;n("deprecatedArrayDependencies",t);var r={};return e.filter(function(e){return"string"==typeof e}).forEach(function(e){var t=(e=e.trim().split(/(:?[@\s><=])/)).shift(),n=e.join("");n=(n=n.trim()).replace(/^@/,""),r[t]=n}),r}(e[n],n,t))})}(e,this.warn),function(e){var t=e.optionalDependencies;if(!t)return;var n=e.dependencies||{};Object.keys(t).forEach(function(e){n[e]=t[e]}),e.dependencies=n}(e,this.warn),this.fixBundleDependenciesField(e),["dependencies","devDependencies"].forEach(function(t){if(t in e)return e[t]&&"object"==typeof e[t]?void Object.keys(e[t]).forEach(function(n){var r=e[t][n];"string"!=typeof r&&(this.warn("nonStringDependency",n,JSON.stringify(r)),delete e[t][n]);var o=i.fromUrl(e[t][n]);o&&(e[t][n]=o.toString())},this):(this.warn("nonObjectDependencies",t),void delete e[t])},this)},fixModulesField:function(e){e.modules&&(this.warn("deprecatedModules"),delete e.modules)},fixKeywordsField:function(e){"string"==typeof e.keywords&&(e.keywords=e.keywords.split(/,\s+/)),e.keywords&&!Array.isArray(e.keywords)?(delete e.keywords,this.warn("nonArrayKeywords")):e.keywords&&(e.keywords=e.keywords.filter(function(e){return!("string"!=typeof e||!e)||(this.warn("nonStringKeyword"),!1)},this))},fixVersionField:function(e,r){var i=!r;if(!e.version)return e.version="",!0;if(!t(e.version,i))throw new Error('Invalid version: "'+e.version+'"');return e.version=n(e.version,i),!0},fixPeople:function(e){u(e,f),u(e,d)},fixNameField:function(e,t){"boolean"==typeof t?t={strict:t}:void 0===t&&(t={});var n=t.strict;if(e.name||n){if("string"!=typeof e.name)throw new Error("name field must be a string.");n||(e.name=e.name.trim()),function(e,t,n){if("."===e.charAt(0)||!function(e){if("@"!==e.charAt(0))return!1;var t=e.slice(1).split("/");if(2!==t.length)return!1;return t[0]&&t[1]&&t[0]===encodeURIComponent(t[0])&&t[1]===encodeURIComponent(t[1])}(e)&&(r=e,r.match(/[/@\s+%:]/)||r!==encodeURIComponent(r))||t&&!n&&e!==e.toLowerCase()||"node_modules"===e.toLowerCase()||"favicon.ico"===e.toLowerCase())throw new Error("Invalid name: "+JSON.stringify(e));var r}(e.name,n,t.allowLegacyCase),o(e.name)&&this.warn("conflictingName",e.name)}else e.name=""},fixDescriptionField:function(e){e.description&&"string"!=typeof e.description&&(this.warn("nonStringDescription"),delete e.description),e.readme&&!e.description&&(e.description=a(e.readme)),void 0===e.description&&delete e.description,e.description||this.warn("missingDescription")},fixReadmeField:function(e){e.readme||(this.warn("missingReadme"),e.readme="ERROR: No README data found!")},fixBugsField:function(t){if(!t.bugs&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.bugs()&&(t.bugs={url:n.bugs()})}else if(t.bugs){if("string"==typeof t.bugs)l(t.bugs)?t.bugs={email:t.bugs}:e.canParse(t.bugs)?t.bugs={url:t.bugs}:this.warn("nonEmailUrlBugsString");else{!function(e,t){if(!e)return;Object.keys(e).forEach(function(n){c.bugs[n]&&(t("typo",n,c.bugs[n],"bugs"),e[c.bugs[n]]=e[n],delete e[n])})}(t.bugs,this.warn);var r=t.bugs;t.bugs={},r.url&&(e.canParse(r.url)?t.bugs.url=r.url:this.warn("nonUrlBugsUrlField")),r.email&&("string"==typeof r.email&&l(r.email)?t.bugs.email=r.email:this.warn("nonEmailBugsEmailField"))}t.bugs.email||t.bugs.url||(delete t.bugs,this.warn("emptyNormalizedBugs"))}},fixHomepageField:function(t){if(!t.homepage&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.docs()&&(t.homepage=n.docs())}if(t.homepage)return"string"!=typeof t.homepage?(this.warn("nonUrlHomepage"),delete t.homepage):void(e.canParse(t.homepage)||(t.homepage="http://"+t.homepage))},fixLicenseField:function(e){const t=e.license||e.licence;return t?"string"!=typeof t||t.length<1||""===t.trim()?this.warn("invalidLicense"):r(t).validForNewPackages?void 0:this.warn("invalidLicense"):this.warn("missingLicense")}},Ze}var Qe,et,tt,nt,rt={repositories:"'repositories' (plural) Not supported. Please pick one as the 'repository' field",missingRepository:"No repository field.",brokenGitUrl:"Probably broken git url: %s",nonObjectScripts:"scripts must be an object",nonStringScript:"script values must be string commands",nonArrayFiles:"Invalid 'files' member",invalidFilename:"Invalid filename in 'files' list: %s",nonArrayBundleDependencies:"Invalid 'bundleDependencies' list. Must be array of package names",nonStringBundleDependency:"Invalid bundleDependencies member: %s",nonDependencyBundleDependency:"Non-dependency in bundleDependencies: %s",nonObjectDependencies:"%s field must be an object",nonStringDependency:"Invalid dependency: %s %s",deprecatedArrayDependencies:"specifying %s as array is deprecated",deprecatedModules:"modules field is deprecated",nonArrayKeywords:"keywords should be an array of strings",nonStringKeyword:"keywords should be an array of strings",conflictingName:"%s is also the name of a node core module.",nonStringDescription:"'description' field should be a string",missingDescription:"No description",missingReadme:"No README data",missingLicense:"No license field.",nonEmailUrlBugsString:"Bug string field must be url, email, or {email,url}",nonUrlBugsUrlField:"bugs.url field must be a string url. Deleted.",nonEmailBugsEmailField:"bugs.email field must be a string email. Deleted.",emptyNormalizedBugs:"Normalized value of bugs field is an empty object. Deleted.",nonUrlHomepage:"homepage field must be a string url. Deleted.",invalidLicense:"license should be a valid SPDX license expression",typo:"%s should probably be %s."};function it(){if(et)return Qe;et=1;var e=g,t=rt;function n(n,r,i){return i&&(n=i+"['"+n+"']",r=i+"['"+r+"']"),e.format(t.typo,n,r)}return Qe=function(){var r=Array.prototype.slice.call(arguments,0),i=r.shift();if("typo"===i)return n.apply(null,r);var o=t[i]?t[i]:i+": '%s'";return r.unshift(o),e.format.apply(null,r)},Qe}var ot=function(){if(nt)return tt;nt=1,tt=r;var e=Je();r.fixer=e;var t=it(),n=["name","version","description","repository","modules","scripts","files","bin","man","bugs","keywords","readme","homepage","license"].map(function(e){return i(e)+"Field"});function r(r,o,s){!0===o&&(o=null,s=!0),s||(s=!1),o&&!r.private||(o=function(){}),r.scripts&&"node-gyp rebuild"===r.scripts.install&&!r.scripts.preinstall&&(r.gypfile=!0),e.warn=function(){o(t.apply(null,arguments))},n.forEach(function(t){e["fix"+i(t)](r,s)}),r._id=r.name+"@"+r.version}function i(e){return e.charAt(0).toUpperCase()+e.slice(1)}return n=n.concat(["dependencies","people","typos"]),tt}(),st=V(ot);const at=(e,t)=>{try{return y(e,E.F_OK),!0}catch(e){return!1}},ct=["index.ts","index.tsx","main.ts","main.tsx"],lt=(e,t,n)=>{const r=a(e??process.cwd(),"src"),i=ct,o=i.map(e=>a(r,e)).find(e=>at(e));if(!o)throw new Error(`Unable to resolve entry point, ensure ${i.join(", ")} exists in ${r}`);return o},ut=(e,t)=>O(e,t,{arrayMerge:(e,t)=>{const n=t[0]??e[0];return"object"==typeof n&&"match"in n&&"middleware"in n?((e,t,n)=>{const r=n.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),i={...t.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),...r};return Object.values(i)})("match",e,t):[...new Set([...e,...t])]}}),ft=/import\s*{\s*[^}]*\b(route|index|layout|prefix)\b[^}]*}\s*from\s*['"]@equinor\/fusion-framework-react-router(?:\/routes)?['"]/g,pt=/\b(route|index|layout|prefix)\s*\(/g,dt=/import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)/g,ht=/\b(index|layout)\s*\(\s*['"]([^'"]+)['"]\s*\)/g,mt=/\blayout\s*\(\s*import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)\s*,\s*[^)]+\s*\)/g,gt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*[^)]+\s*\)/g,vt=/\broute\s*\(\s*[^,]+,\s*['"]([^'"]+)['"]\s*\)/g,yt=/\bindex\s*\(\s*['"]([^'"]+)['"]\s*\)/g,Et=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*\)\s*(?!,)/g,bt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*/g,wt=/\broute\s*\(\s*([^,]+)\s*,\s*['"]([^'"]+)['"]\s*\)/g,Lt=/\bprefix\s*\(\s*([^,]+)\s*,\s*\[/g,Ct=/import\s*{\s*[^}]*\b(route|index|layout|prefix)\b[^}]*}\s*from\s*['"]@equinor\/fusion-framework-react-router(?:\/routes)?['"];?\s*/g,St=/export\s+const\s+\w+\s*=\s*/g,_t=/^import\s+.*?;$/gm,It=/export\s+default|export\s*{\s*default\s*}/,Dt=e=>new RegExp(`\\bexport\\s+(const|function|class|async\\s+function)\\s+${e}\\b`),Nt=e=>new RegExp(`export\\s*{\\s*[^}]*${e}[^}]*}\\s*from`);function Ot(e,t,n){const r=new Set;try{const i=function(e,t){const n=o.resolve(t,e);if(v.existsSync(n))return n;const r=[".tsx",".ts",".jsx",".js"];for(const e of r){const t=n+e;if(v.existsSync(t))return t}return null}(e,o.dirname(t));if(!i)return n&&console.warn(`[fusion:react-router] File not found: ${e} (resolved from: ${t})`),r;const s=v.readFileSync(i,"utf-8");s.match(It)&&r.add("default");const a=["clientLoader","action","handle","ErrorElement","HydrateFallback"];for(const e of a)(s.match(Dt(e))||s.match(Nt(e)))&&r.add(e)}catch(t){n&&console.warn(`[fusion:react-router] Error reading file ${e}:`,t)}return r}function Pt(e){const t=[];return e.availableExports.has("default")&&t.push(`Component: ${e.component}`),e.clientLoader&&t.push(`loader: ${e.clientLoader}`),e.action&&t.push(`action: ${e.action}`),e.handle&&t.push(`handle: ${e.handle}`),e.errorElement&&t.push(`errorElement: ${e.errorElement}`),e.hydrateFallback&&t.push(`HydrateFallback: ${e.hydrateFallback}`),t.join(",\n ")}function At(e,t,n,r){let i=1,o=t+1;for(;o<e.length&&i>0;){if(e[o]===n&&i++,e[o]===r&&i--,0===i)return o;o++}return null}const Rt=(e={})=>{const{debug:t=!1}=e;let n;return{name:"fusion:react-router",config(e){n=e.root??process.cwd(),t&&console.log("[fusion:react-router] Project root:",n)},transform(e,r){try{if(!n||!r.startsWith(n)||r.includes("node_modules"))return null;if(!e.match(ft))return null;if(!e.match(pt))return t&&console.log("[fusion:react-router] File has DSL imports but no route calls, skipping transformation"),null;t&&console.log("[fusion:react-router] Transforming file:",r.replace(n,""));const i=function(e){const t=new Set,n=e=>{var n;e&&((n=e).startsWith("./")||n.startsWith("../"))&&t.add(e)};let r=dt.exec(e);for(;null!==r;)n(r[1]),r=dt.exec(e);for(r=ht.exec(e);null!==r;)n(r[2]),r=ht.exec(e);for(r=mt.exec(e);null!==r;)n(r[1]),r=mt.exec(e);for(r=gt.exec(e);null!==r;)n(r[1]),r=gt.exec(e);for(r=vt.exec(e);null!==r;)n(r[1]),r=vt.exec(e);return t}(e);if(0===i.size)return null;const s=new Map;i.forEach(e=>{const n=function(e){const t=o.basename(e,o.extname(e));return t.charAt(0).toUpperCase()+t.slice(1).replace(/[-_](.)/g,(e,t)=>t.toUpperCase())}(e),i=Ot(e,r,t);s.set(e,{component:n,clientLoader:i.has("clientLoader")?`clientLoader${n}`:void 0,action:i.has("action")?`action${n}`:void 0,handle:i.has("handle")?`handle${n}`:void 0,errorElement:i.has("ErrorElement")?`ErrorElement${n}`:void 0,hydrateFallback:i.has("HydrateFallback")?`HydrateFallback${n}`:void 0,availableExports:i})});const a=function(e,t){const n=[];return t&&n.push("import React from 'react';","import { useLoaderData, useActionData, useRouteError, useRouterContext, routerContext } from '@equinor/fusion-framework-react-router';"),e.forEach((e,t)=>{const r=[];e.availableExports.has("default")&&r.push(`default as ${e.component}`),e.clientLoader&&r.push(`clientLoader as ${e.clientLoader}`),e.action&&r.push(`action as ${e.action}`),e.handle&&r.push(`handle as ${e.handle}`),e.errorElement&&r.push(`ErrorElement as ${e.errorElement}`),e.hydrateFallback&&r.push(`HydrateFallback as ${e.hydrateFallback}`),r.length>0&&n.push(`import {\n ${r.join(",\n ")}\n} from '${t}';`)}),n}(s,i.size>0);let c=e;return c=c.replace(dt,'"$1"'),c=c.replace(yt,(e,t)=>{const n=s.get(t);if(!n)return e;return`{\n index: true,\n ${Pt(n)}\n }`}),c=c.replace(Et,(e,t)=>{const n=s.get(t);if(!n)return e;return`{\n ${Pt(n)}\n }`}),c=function(e,t,n,r,i){let o=e,s=!0;for(;s;){s=!1;const e=Array.from(o.matchAll(t));for(const t of e){const e=t.index??-1;if(e<0)continue;const a=t[1],c=e+t[0].length,l=o.indexOf("(",e);if(-1===l)continue;const u=At(o,l,"(",")");if(null===u)continue;const f=o.slice(c,u).trim();if(n.test(f))continue;const p=r(a,f,i.get(a));if(null!==p){const t=o.slice(0,e),n=o.slice(u+1);o=t+p+n,s=!0;break}}}return o}(c,bt,/\blayout\s*\(/,(e,t,n)=>{if(!n)return null;return`{\n ${Pt(n)},\n children: ${t}\n }`},s),c=c.replace(wt,(e,t,n)=>{const r=s.get(n);if(!r)return e;return`{\n path: ${t},\n ${Pt(r)}\n }`}),c=function(e){let t=e,n=!0;for(;n;){n=!1;let e=Lt.exec(t);for(;null!==e;){const r=e.index,i=e[1],o=e.index+e[0].length-1,s=At(t,o,"[","]");if(null===s){e=Lt.exec(t);continue}const a=t.slice(o+1,s);if(/\bprefix\s*\(/.test(a)){e=Lt.exec(t);continue}const c=t.indexOf(")",s);if(-1===c){e=Lt.exec(t);continue}const l=t.slice(0,r),u=t.slice(c+1);t=`${l}{\n path: ${i},\n children: [${a}]\n }${u}`,n=!0;break}}return t}(c),c=c.replace(Ct,""),c=function(e){let t=e,n=St.exec(t);for(;null!==n;){const e=n.index+n[0].length;let r=e;for(;r<t.length&&/\s/.test(t[r]);)r++;if("{"===t[r]){const i=At(t,r,"{","}");if(null!==i){const o=t.slice(r,i+1);if(o.includes("Component:")&&!t.slice(e,r).trim().startsWith("[")){const r=t.slice(0,e),s=t.slice(i+1);t=`${r}[${o}]${s}`,St.lastIndex=0,n=St.exec(t);continue}}}n=St.exec(t)}return t}(c),c=function(e,t){const n=e.match(_t);if(n&&n.length>0){const r=n[n.length-1],i=e.lastIndexOf(r)+r.length;return e.slice(0,i)+"\n"+t.join("\n")+"\n"+e.slice(i)}return`${t.join("\n")}\n${e}`}(c,a),c}catch(t){return console.error("[fusion:react-router] Error during transformation:",t),e}}}},Tt=async(n,r)=>{const{packageJson:o,root:a}=r,{config:u}=await e(n)??{},f=o.main??o.module??"./dist/bundle.js",p=lt(a);if("build"===n.command){if(s(f)===a)throw new Error("outDir cannot be root, please specify package.main or package.module in package.json");if("src"===s(f))throw new Error("outDir cannot be src, please specify package.main or package.module in package.json");if(s(f)===process.cwd())throw new Error("outDir cannot be the current working directory, please specify package.main or package.module in package.json")}return t({root:a,plugins:[i(),Rt({debug:!0}),P({extensions:[".md"]})],define:{"process.env.NODE_ENV":JSON.stringify(n.mode),"process.env.NODE_DEBUG":"production"!==n.mode,"process.env.FUSION_LOG_LEVEL":"production"===n.mode?1:3},build:{outDir:s(f),lib:{entry:p,fileName:c(f,l(f)),formats:["es"]},emptyOutDir:!0}},u??{})};function $t(e,t){A("object"==typeof e,t)}const xt=e=>{if(e.repository)return"string"==typeof e.repository?e.repository:e.repository.url},Ft=()=>{try{return R("git remote get-url origin").toString().trim().replace("git@github.com:","https://github.com/").replace(/\.git$/,"")}catch(e){return}},Ut=(e="HEAD")=>{try{return R(`git rev-parse ${e}`).toString().trim()}catch(e){return}},kt="14.0.3",Bt=()=>{const e={cliVersion:kt,source:"local",reason:"manual"};if(process.env.GITHUB_ACTIONS){const t=(()=>{const e=process.env.GITHUB_EVENT_NAME||"unknown",t=process.env.GITHUB_ACTOR||"unknown",n=process.env.GITHUB_RUN_ID||"unknown",r=process.env.GITHUB_REPOSITORY||"unknown",i=process.env.GITHUB_WORKFLOW||"unknown",o=process.env.GITHUB_SERVER_URL||"https://github.com";let s="unknown";"unknown"!==r&&"unknown"!==n&&(s=`${o.replace(/\/$/,"")}/${r}/actions/runs/${n}`);const a={eventName:e,actor:t,runId:n,runUrl:s,workflow:i};if(process.env.GITHUB_EVENT_PATH)try{const e=b(process.env.GITHUB_EVENT_PATH,"utf8");Object.assign(a,JSON.parse(e))}catch{console.error("Failed to parse GitHub event payload")}return a})(),n={...e,source:"github",reason:t.eventName,workflow:t.workflow,runId:t.runId,runUrl:t.runUrl,commitId:t.head_commit?.id,repository:t.repository?.name,repository_homepage:t.repository?.homepage,repository_license:t.repository?.license?.name,repository_owner:t.repository?.owner?.login,repository_owner_avatar_url:t.repository?.owner?.avatar_url,actor:t.actor,sender_login:t.sender?.login,sender_avatar_url:t.sender?.avatar_url};return t.pull_request?{...n,branch:t.pull_request.head?.ref,commitId:t.pull_request.head?.sha,htmlUrl:t.pull_request.html_url}:t.release?{...n,tag:t.release.tag_name,htmlUrl:t.release.html_url}:n}if(process.env.SYSTEM_TEAMPROJECT){const t=(()=>{const e=process.env.BUILD_BUILDID||"unknown",t=process.env.BUILD_DEFINITIONNAME||"unknown",n=process.env.BUILD_REPOSITORY_NAME||"unknown",r=process.env.SYSTEM_TEAMPROJECT||"unknown",i=process.env.SYSTEM_COLLECTIONURI||"unknown",o=process.env.BUILD_REQUESTEDFOR||"unknown",s=process.env.BUILD_SOURCEBRANCH||"unknown",a=process.env.BUILD_SOURCEVERSION||"unknown",c=process.env.BUILD_REASON||"unknown";let l="unknown";return"unknown"!==i&&"unknown"!==r&&"unknown"!==e&&(l=`${i.replace(/\/$/,"")}${r}/_build/results?buildId=${e}`),{runId:e,pipelineName:t,repository:n,project:r,orgUrl:i,actor:o,branch:s,commitId:a,runUrl:l,reason:c}})();return{...e,source:"azure_devops",reason:t.reason,repository:t.repository,runId:t.runId,runUrl:t.runUrl,actor:t.actor,branch:t.branch,commitId:t.commitId,workflow:t.pipelineName}}return e},Gt=["png","jpg","jpeg","gif","svg","ico","webp","mp4","webm","mp3","woff2","woff","eot","ttf","otf","pdf","md","txt"];const Mt=(e,t,n)=>{$t(t,"expected packageJson"),A(t.name,"expected [name] in packageJson"),A(t.version,"expected [version] in packageJson");const r=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/app-bundle.js":lt(e.root))(e,t),i=t.name.replace(/^@|\w.*\//gm,""),o=n?.snapshot?function(e,t){const n=T(e)?.version;if(!n)throw new Error(`Invalid semantic version: "${e}". Expected format: major.minor.patch`);const r=Math.floor(Date.now()/1e3);return`${n}-${"string"==typeof t?`${t}.${r}`:`snapshot.${r}`}`}(t.version,n.snapshot):t.version,s="build"===e.command?void 0:`/bundles/apps/${i}@${o}`,a=xt(t)??Ft();return{appKey:i,displayName:t.name,description:t.description||"",keywords:t.keywords,type:"standalone",build:{entryPoint:r,assetPath:s,githubRepo:a,version:o,timestamp:(new Date).toISOString(),commitSha:Ut(),annotations:Bt(),projectPage:t.homepage,allowedExtensions:Gt.map(e=>`.${e}`)}}},jt=(e,t)=>O(e,t),zt=U.object({environment:U.record(U.string(),U.any()).describe("Key-value map of environment-specific variables for the application. Defaults to an empty object if not provided.").optional().default({}),endpoints:U.record(U.string(),U.object({url:U.string({message:"The endpoint URL. This field is required."}),scopes:U.array(U.string()).optional().default([]).describe("List of scopes required for accessing this endpoint. Defaults to an empty array.")})).describe("A mapping of endpoint names to their configuration objects. Each endpoint must specify a URL and may specify scopes.").optional()}).describe("The API application configuration schema, defining environment variables and endpoints for the application."),Ht=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],qt=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],Vt=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],Wt=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Kt=(e,t,n)=>{let r=e;return"string"==typeof t||Array.isArray(t)?r=e.toLocaleString(t,n):!0!==t&&void 0===n||(r=e.toLocaleString(void 0,n)),r},Zt=e=>{if("number"==typeof e)return Math.log10(e);const t=e.toString(10);return t.length+Math.log10(`0.${t.slice(0,15)}`)},Yt=(e,t)=>{if(void 0===t)return e;if("number"!=typeof t||!Number.isSafeInteger(t)||t<0)throw new TypeError(`Expected fixedWidth to be a non-negative integer, got ${typeof t}: ${t}`);return 0===t?e:e.length<t?e.padStart(t," "):e};function Xt(e,t){if("bigint"!=typeof e&&!Number.isFinite(e))throw new TypeError(`Expected a finite number, got ${typeof e}: ${e}`);const n=(t={bits:!1,binary:!1,space:!0,nonBreakingSpace:!1,...t}).bits?t.binary?Wt:Vt:t.binary?qt:Ht,r=t.space?t.nonBreakingSpace?" ":" ":"",i="number"==typeof e?0===e:0n===e;if(t.signed&&i){return Yt(` 0${r}${n[0]}`,t.fixedWidth)}const o=e<0,s=o?"-":t.signed?"+":"";o&&(e=-e);const a=(e=>{const{minimumFractionDigits:t,maximumFractionDigits:n}=e;if(void 0!==t||void 0!==n)return{...void 0!==t&&{minimumFractionDigits:t},...void 0!==n&&{maximumFractionDigits:n},roundingMode:"trunc"}})(t);let c;if(e<1){c=s+Kt(e,t.locale,a)+r+n[0]}else{const i=Math.min(Math.floor(t.binary?("number"==typeof(l=e)?Math.log(l):Zt(l)*Math.log(10))/Math.log(1024):Zt(e)/3),n.length-1);if(e=((e,t)=>{if("number"==typeof e)return e/t;const n=e/BigInt(t),r=e%BigInt(t);return Number(n)+Number(r)/t})(e,(t.binary?1024:1e3)**i),!a){const t=Math.max(3,Math.floor(e).toString().length);e=e.toPrecision(t)}c=s+Kt(Number(e),t.locale,a)+r+n[i]}var l;return Yt(c,t.fixedWidth)}const Jt=(e,t)=>r.blueBright(t?.relative?`./${u(t?.cwd??process.cwd(),e)}`:e),Qt=e=>"string"==typeof e?Qt(w(e).size):r.yellowBright(Xt(e)),en=async(e,t,n)=>{const i=Mt(e,t.packageJson,{snapshot:n?.snapshot});try{n?.log?.start("loading application package...");const{manifest:t,path:r}=await(async(e,t)=>{const n=t?.file??[`app.manifest.${e.environment}`,"app.manifest","app.manifest.config"],r=await D(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};if("function"==typeof n.default){const t=await n.default(e,{base:r});return jt(r,t??{})}return jt(r,n.default??{})}}});return{manifest:r.config,path:r.path,extension:r.extension}})(e,{base:i,file:n?.manifestPath});if(!t.build)throw new Error(`Application manifest for ${t.appKey} does not contain build information, please check the manifest file.`);return"serve"===e.command&&(t.build.assetPath=`/bundles/apps/${t.appKey}/${t.build.version}`),n?.log?.succeed("generated manifest from",Jt(r,{relative:!0})),t}catch(e){if(e instanceof N){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${Jt(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(r.dim("no local manifest config applied, using default generated from package")),i}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?Jt(n?.manifestPath):""}`),e}};async function tn(e){e?.start("resolve project package");try{const t=await(async e=>{const t=await f({...e,normalize:!1});if(!t)throw new Error("failed to find package.json");const n={...t.packageJson};return st(n),{packageJson:{...n,version:t.packageJson.version},path:t.path,root:s(t.path)}})();return e?.succeed("ðĶ",r.yellowBright([t.packageJson.name,t.packageJson.version].join("@"))),e?.info("ð ",r.blueBright(t.root)),t}catch(t){throw e?.fail("â ïļ","failed to resolve project package"),t}}const nn=async e=>{const{log:t}=e??{},n=await tn(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await en(r,n,{log:t,manifestPath:e?.manifest,snapshot:e?.snapshot});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},rn=async e=>{const{log:t,snapshot:i}=e??{};t?.log(r.bold("Starting to build application"));const{manifest:o,pkg:s,env:a}=await nn({log:t,manifest:e?.manifest,snapshot:i});t?.start("loading vite config...");const c=await Tt(a,s);t?.succeed("vite config applied"),t?.debug("vite config:",c),t?.start("ðĪðŧ","building application..."),t?.startNativeConsoleCapture(),await n(c),t?.stopNativeConsoleCapture(),t?.succeed("build completed ð");return{pkg:s,manifest:o,outDir:c.build.outDir}};var on,sn,an={exports:{}};function cn(){return sn?on:(sn=1,on={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24})}var ln,un,fn,pn,dn,hn,mn,gn,vn={};function yn(){return ln||(ln=1,function(e){const t={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function n(e){return function(...t){return t.length&&(e=e.replace(/\{(\d)\}/g,(e,n)=>t[n]||"")),new Error("ADM-ZIP: "+e)}}for(const r of Object.keys(t))e[r]=n(t[r])}(vn)),vn}function En(){return gn||(gn=1,an.exports=function(){if(fn)return un;fn=1;const e=k,t=B,n=cn(),r=yn(),i="object"==typeof process&&"win32"===process.platform,o=e=>"object"==typeof e&&null!==e,s=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=3988292384^t>>>1:t>>>=1;return t>>>0});function a(n){this.sep=t.sep,this.fs=e,o(n)&&o(n.fs)&&"function"==typeof n.fs.statSync&&(this.fs=n.fs)}return un=a,a.prototype.makeDir=function(e){const t=this;!function(e){let n=e.split(t.sep)[0];e.split(t.sep).forEach(function(e){if(e&&":"!==e.substr(-1,1)){var i;n+=t.sep+e;try{i=t.fs.statSync(n)}catch(e){t.fs.mkdirSync(n)}if(i&&i.isFile())throw r.FILE_IN_THE_WAY(`"${n}"`)}})}(e)},a.prototype.writeFileTo=function(e,n,r,i){const o=this;if(o.fs.existsSync(e)){if(!r)return!1;if(o.fs.statSync(e).isDirectory())return!1}var s,a=t.dirname(e);o.fs.existsSync(a)||o.makeDir(a);try{s=o.fs.openSync(e,"w",438)}catch(t){o.fs.chmodSync(e,438),s=o.fs.openSync(e,"w",438)}if(s)try{o.fs.writeSync(s,n,0,n.length,0)}finally{o.fs.closeSync(s)}return o.fs.chmodSync(e,i||438),!0},a.prototype.writeFileToAsync=function(e,n,r,i,o){"function"==typeof i&&(o=i,i=void 0);const s=this;s.fs.exists(e,function(a){if(a&&!r)return o(!1);s.fs.stat(e,function(r,c){if(a&&c.isDirectory())return o(!1);var l=t.dirname(e);s.fs.exists(l,function(t){t||s.makeDir(l),s.fs.open(e,"w",438,function(t,r){t?s.fs.chmod(e,438,function(){s.fs.open(e,"w",438,function(t,r){s.fs.write(r,n,0,n.length,0,function(){s.fs.close(r,function(){s.fs.chmod(e,i||438,function(){o(!0)})})})})}):r?s.fs.write(r,n,0,n.length,0,function(){s.fs.close(r,function(){s.fs.chmod(e,i||438,function(){o(!0)})})}):s.fs.chmod(e,i||438,function(){o(!0)})})})})})},a.prototype.findFiles=function(e){const n=this;return function e(r,i,o){let s=[];return n.fs.readdirSync(r).forEach(function(a){const c=t.join(r,a),l=n.fs.statSync(c);s.push(t.normalize(c)+(l.isDirectory()?n.sep:"")),l.isDirectory()&&o&&(s=s.concat(e(c,i,o)))}),s}(e,void 0,!0)},a.prototype.findFilesAsync=function(e,n){const r=this;let i=[];r.fs.readdir(e,function(o,s){if(o)return n(o);let a=s.length;if(!a)return n(null,i);s.forEach(function(o){o=t.join(e,o),r.fs.stat(o,function(e,s){if(e)return n(e);s&&(i.push(t.normalize(o)+(s.isDirectory()?r.sep:"")),s.isDirectory()?r.findFilesAsync(o,function(e,t){if(e)return n(e);i=i.concat(t),--a||n(null,i)}):--a||n(null,i))})})})},a.prototype.getAttributes=function(){},a.prototype.setAttributes=function(){},a.crc32update=function(e,t){return s[255&(e^t)]^e>>>8},a.crc32=function(e){"string"==typeof e&&(e=Buffer.from(e,"utf8"));let t=e.length,n=-1;for(let r=0;r<t;)n=a.crc32update(n,e[r++]);return~n>>>0},a.methodToString=function(e){switch(e){case n.STORED:return"STORED ("+e+")";case n.DEFLATED:return"DEFLATED ("+e+")";default:return"UNSUPPORTED ("+e+")"}},a.canonical=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.join(".",n)},a.zipnamefix=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.posix.join(".",n)},a.findLast=function(e,t){if(!Array.isArray(e))throw new TypeError("arr is not array");for(let n=(e.length>>>0)-1;n>=0;n--)if(t(e[n],n,e))return e[n]},a.sanitize=function(e,n){e=t.resolve(t.normalize(e));for(var r=n.split("/"),i=0,o=r.length;i<o;i++){var s=t.normalize(t.join(e,r.slice(i,o).join(t.sep)));if(0===s.indexOf(e))return s}return t.normalize(t.join(e,t.basename(n)))},a.toBuffer=function(e,t){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e):"string"==typeof e?t(e):Buffer.alloc(0)},a.readBigUInt64LE=function(e,t){var n=Buffer.from(e.slice(t,t+8));return n.swap64(),parseInt(`0x${n.toString("hex")}`)},a.fromDOS2Date=function(e){return new Date(1980+(e>>25&127),Math.max((e>>21&15)-1,0),Math.max(e>>16&31,1),e>>11&31,e>>5&63,(31&e)<<1)},a.fromDate2DOS=function(e){let t=0,n=0;return e.getFullYear()>1979&&(t=(e.getFullYear()-1980&127)<<9|e.getMonth()+1<<5|e.getDate(),n=e.getHours()<<11|e.getMinutes()<<5|e.getSeconds()>>1),t<<16|n},a.isWin=i,a.crcTable=s,un}(),an.exports.Constants=cn(),an.exports.Errors=yn(),an.exports.FileAttr=function(){if(dn)return pn;dn=1;const e=B;return pn=function(t,{fs:n}){var r=t||"",i={directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0},o=null;return r&&n.existsSync(r)?(o=n.statSync(r),i.directory=o.isDirectory(),i.mtime=o.mtime,i.atime=o.atime,i.executable=!!(73&o.mode),i.readonly=!(128&o.mode),i.hidden="."===e.basename(r)[0]):console.warn("Invalid path: "+r),{get directory(){return i.directory},get readOnly(){return i.readonly},get hidden(){return i.hidden},get mtime(){return i.mtime},get atime(){return i.atime},get executable(){return i.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:r,isDirectory:i.directory,isReadOnly:i.readonly,isHidden:i.hidden,isExecutable:i.executable,mTime:i.mtime,aTime:i.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}},pn}(),an.exports.decoder=mn?hn:(mn=1,hn={efs:!0,encode:e=>Buffer.from(e,"utf8"),decode:e=>e.toString("utf8")})),an.exports}var bn,wn,Ln,Cn,Sn,_n={};function In(){if(wn)return bn;wn=1;var e=En(),t=e.Constants;return bn=function(){var n=20,r=10,i=0,o=0,s=0,a=0,c=0,l=0,u=0,f=0,p=0,d=0,h=0,m=0,g=0;n|=e.isWin?2560:768,i|=t.FLG_EFS;const v={extraLen:0},y=e=>Math.max(0,e)>>>0;return s=e.fromDate2DOS(new Date),{get made(){return n},set made(e){n=e},get version(){return r},set version(e){r=e},get flags(){return i},set flags(e){i=e},get flags_efs(){return(i&t.FLG_EFS)>0},set flags_efs(e){e?i|=t.FLG_EFS:i&=~t.FLG_EFS},get flags_desc(){return(i&t.FLG_DESC)>0},set flags_desc(e){e?i|=t.FLG_DESC:i&=~t.FLG_DESC},get method(){return o},set method(e){switch(e){case t.STORED:this.version=10;case t.DEFLATED:default:this.version=20}o=e},get time(){return e.fromDOS2Date(this.timeval)},set time(t){this.timeval=e.fromDate2DOS(t)},get timeval(){return s},set timeval(e){s=y(e)},get timeHighByte(){return e=s>>>8,255&Math.max(0,e);var e},get crc(){return a},set crc(e){a=y(e)},get compressedSize(){return c},set compressedSize(e){c=y(e)},get size(){return l},set size(e){l=y(e)},get fileNameLength(){return u},set fileNameLength(e){u=e},get extraLength(){return f},set extraLength(e){f=e},get extraLocalLength(){return v.extraLen},set extraLocalLength(e){v.extraLen=e},get commentLength(){return p},set commentLength(e){p=e},get diskNumStart(){return d},set diskNumStart(e){d=y(e)},get inAttr(){return h},set inAttr(e){h=y(e)},get attr(){return m},set attr(e){m=y(e)},get fileAttr(){return(m||0)>>16&4095},get offset(){return g},set offset(e){g=y(e)},get encrypted(){return(i&t.FLG_ENC)===t.FLG_ENC},get centralHeaderSize(){return t.CENHDR+u+f+p},get realDataOffset(){return g+t.LOCHDR+v.fnameLen+v.extraLen},get localHeader(){return v},loadLocalHeaderFromBinary:function(n){var r=n.slice(g,g+t.LOCHDR);if(r.readUInt32LE(0)!==t.LOCSIG)throw e.Errors.INVALID_LOC();v.version=r.readUInt16LE(t.LOCVER),v.flags=r.readUInt16LE(t.LOCFLG),v.method=r.readUInt16LE(t.LOCHOW),v.time=r.readUInt32LE(t.LOCTIM),v.crc=r.readUInt32LE(t.LOCCRC),v.compressedSize=r.readUInt32LE(t.LOCSIZ),v.size=r.readUInt32LE(t.LOCLEN),v.fnameLen=r.readUInt16LE(t.LOCNAM),v.extraLen=r.readUInt16LE(t.LOCEXT);const i=g+t.LOCHDR+v.fnameLen,o=i+v.extraLen;return n.slice(i,o)},loadFromBinary:function(v){if(v.length!==t.CENHDR||v.readUInt32LE(0)!==t.CENSIG)throw e.Errors.INVALID_CEN();n=v.readUInt16LE(t.CENVEM),r=v.readUInt16LE(t.CENVER),i=v.readUInt16LE(t.CENFLG),o=v.readUInt16LE(t.CENHOW),s=v.readUInt32LE(t.CENTIM),a=v.readUInt32LE(t.CENCRC),c=v.readUInt32LE(t.CENSIZ),l=v.readUInt32LE(t.CENLEN),u=v.readUInt16LE(t.CENNAM),f=v.readUInt16LE(t.CENEXT),p=v.readUInt16LE(t.CENCOM),d=v.readUInt16LE(t.CENDSK),h=v.readUInt16LE(t.CENATT),m=v.readUInt32LE(t.CENATX),g=v.readUInt32LE(t.CENOFF)},localHeaderToBinary:function(){var e=Buffer.alloc(t.LOCHDR);return e.writeUInt32LE(t.LOCSIG,0),e.writeUInt16LE(r,t.LOCVER),e.writeUInt16LE(i,t.LOCFLG),e.writeUInt16LE(o,t.LOCHOW),e.writeUInt32LE(s,t.LOCTIM),e.writeUInt32LE(a,t.LOCCRC),e.writeUInt32LE(c,t.LOCSIZ),e.writeUInt32LE(l,t.LOCLEN),e.writeUInt16LE(u,t.LOCNAM),e.writeUInt16LE(v.extraLen,t.LOCEXT),e},centralHeaderToBinary:function(){var e=Buffer.alloc(t.CENHDR+u+f+p);return e.writeUInt32LE(t.CENSIG,0),e.writeUInt16LE(n,t.CENVEM),e.writeUInt16LE(r,t.CENVER),e.writeUInt16LE(i,t.CENFLG),e.writeUInt16LE(o,t.CENHOW),e.writeUInt32LE(s,t.CENTIM),e.writeUInt32LE(a,t.CENCRC),e.writeUInt32LE(c,t.CENSIZ),e.writeUInt32LE(l,t.CENLEN),e.writeUInt16LE(u,t.CENNAM),e.writeUInt16LE(f,t.CENEXT),e.writeUInt16LE(p,t.CENCOM),e.writeUInt16LE(d,t.CENDSK),e.writeUInt16LE(h,t.CENATT),e.writeUInt32LE(m,t.CENATX),e.writeUInt32LE(g,t.CENOFF),e},toJSON:function(){const s=function(e){return e+" bytes"};return{made:n,version:r,flags:i,method:e.methodToString(o),time:this.time,crc:"0x"+a.toString(16).toUpperCase(),compressedSize:s(c),size:s(l),fileNameLength:s(u),extraLength:s(f),commentLength:s(p),diskNumStart:d,inAttr:h,attr:m,offset:g,centralHeaderSize:s(t.CENHDR+u+f+p)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}function Dn(){return Sn||(Sn=1,_n.EntryHeader=In(),_n.MainHeader=function(){if(Cn)return Ln;Cn=1;var e=En(),t=e.Constants;return Ln=function(){var n=0,r=0,i=0,o=0,s=0;return{get diskEntries(){return n},set diskEntries(e){n=r=e},get totalEntries(){return r},set totalEntries(e){r=n=e},get size(){return i},set size(e){i=e},get offset(){return o},set offset(e){o=e},get commentLength(){return s},set commentLength(e){s=e},get mainHeaderSize(){return t.ENDHDR+s},loadFromBinary:function(a){if((a.length!==t.ENDHDR||a.readUInt32LE(0)!==t.ENDSIG)&&(a.length<t.ZIP64HDR||a.readUInt32LE(0)!==t.ZIP64SIG))throw e.Errors.INVALID_END();a.readUInt32LE(0)===t.ENDSIG?(n=a.readUInt16LE(t.ENDSUB),r=a.readUInt16LE(t.ENDTOT),i=a.readUInt32LE(t.ENDSIZ),o=a.readUInt32LE(t.ENDOFF),s=a.readUInt16LE(t.ENDCOM)):(n=e.readBigUInt64LE(a,t.ZIP64SUB),r=e.readBigUInt64LE(a,t.ZIP64TOT),i=e.readBigUInt64LE(a,t.ZIP64SIZE),o=e.readBigUInt64LE(a,t.ZIP64OFF),s=0)},toBinary:function(){var e=Buffer.alloc(t.ENDHDR+s);return e.writeUInt32LE(t.ENDSIG,0),e.writeUInt32LE(0,4),e.writeUInt16LE(n,t.ENDSUB),e.writeUInt16LE(r,t.ENDTOT),e.writeUInt32LE(i,t.ENDSIZ),e.writeUInt32LE(o,t.ENDOFF),e.writeUInt16LE(s,t.ENDCOM),e.fill(" ",t.ENDHDR),e},toJSON:function(){return{diskEntries:n,totalEntries:r,size:i+" bytes",offset:function(e,t){let n=e.toString(16).toUpperCase();for(;n.length<t;)n="0"+n;return"0x"+n}(o,4),commentLength:s}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}()),_n}var Nn,On,Pn,An,Rn,Tn,$n,xn,Fn,Un,kn,Bn,Gn,Mn={};function jn(){if(Tn)return Rn;Tn=1;const{randomFillSync:e}=M,t=yn(),n=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;return t>>>0}),r=(e,t)=>Math.imul(e,t)>>>0,i=(e,t)=>n[255&(e^t)]^e>>>8,o=()=>"function"==typeof e?e(Buffer.alloc(12)):o.node();o.node=()=>{const e=Buffer.alloc(12),t=e.length;for(let n=0;n<t;n++)e[n]=256*Math.random()&255;return e};const s={genSalt:o};function a(e){const t=Buffer.isBuffer(e)?e:Buffer.from(e);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let e=0;e<t.length;e++)this.updateKeys(t[e])}return a.prototype.updateKeys=function(e){const t=this.keys;return t[0]=i(t[0],e),t[1]+=255&t[0],t[1]=r(t[1],134775813)+1,t[2]=i(t[2],t[1]>>>24),e},a.prototype.next=function(){const e=(2|this.keys[2])>>>0;return r(e,1^e)>>8&255},Rn={decrypt:function(e,n,r){if(!e||!Buffer.isBuffer(e)||e.length<12)return Buffer.alloc(0);const i=function(e){const t=new a(e);return function(e){const n=Buffer.alloc(e.length);let r=0;for(let i of e)n[r++]=t.updateKeys(i^t.next());return n}}(r),o=i(e.slice(0,12)),s=8&~n.flags?n.crc>>>24:n.timeHighByte;if(o[11]!==s)throw t.WRONG_PASSWORD();return i(e.slice(12))},encrypt:function(e,t,n,r=!1){null==e&&(e=Buffer.alloc(0)),Buffer.isBuffer(e)||(e=Buffer.from(e.toString()));const i=function(e){const t=new a(e);return function(e,n,r=0){n||(n=Buffer.alloc(e.length));for(let i of e){const e=t.next();n[r++]=i^e,t.updateKeys(i)}return n}}(n),o=s.genSalt();o[11]=t.crc>>>24&255,r&&(o[10]=t.crc>>>16&255);const c=Buffer.alloc(e.length+12);return i(o,c),i(e,c,12)},_salter:function(e){Buffer.isBuffer(e)&&e.length>=12?s.genSalt=function(){return e.slice(0,12)}:s.genSalt="node"===e?o.node:o}}}function zn(){return $n||($n=1,Mn.Deflater=On?Nn:(On=1,Nn=function(e){var t=G,n={chunkSize:1024*(parseInt(e.length/1024)+1)};return{deflate:function(){return t.deflateRawSync(e,n)},deflateAsync:function(r){var i=t.createDeflateRaw(n),o=[],s=0;i.on("data",function(e){o.push(e),s+=e.length}),i.on("end",function(){var e=Buffer.alloc(s),t=0;e.fill(0);for(var n=0;n<o.length;n++){var i=o[n];i.copy(e,t),t+=i.length}r&&r(e)}),i.end(e)}}}),Mn.Inflater=function(){if(An)return Pn;An=1;const e=+(process.versions?process.versions.node:"").split(".")[0]||0;return Pn=function(t,n){var r=G;const i=e>=15&&n>0?{maxOutputLength:n}:{};return{inflate:function(){return r.inflateRawSync(t,i)},inflateAsync:function(e){var n=r.createInflateRaw(i),o=[],s=0;n.on("data",function(e){o.push(e),s+=e.length}),n.on("end",function(){var t=Buffer.alloc(s),n=0;t.fill(0);for(var r=0;r<o.length;r++){var i=o[r];i.copy(t,n),n+=i.length}e&&e(t)}),n.end(t)}}}}(),Mn.ZipCrypto=jn()),Mn}function Hn(){if(Fn)return xn;Fn=1;var e=En(),t=Dn(),n=e.Constants,r=zn();return xn=function(i,o){var s=new t.EntryHeader,a=Buffer.alloc(0),c=Buffer.alloc(0),l=!1,u=null,f=Buffer.alloc(0),p=Buffer.alloc(0),d=!0;const h=i,m="object"==typeof h.decoder?h.decoder:e.decoder;function g(){return o&&o instanceof Uint8Array?(p=s.loadLocalHeaderFromBinary(o),o.slice(s.realDataOffset,s.realDataOffset+s.compressedSize)):Buffer.alloc(0)}function v(t){if(s.flags_desc){const r={},i=s.realDataOffset+s.compressedSize;if(o.readUInt32LE(i)==n.LOCSIG||o.readUInt32LE(i)==n.CENSIG)throw e.Errors.DESCRIPTOR_NOT_EXIST();if(o.readUInt32LE(i)==n.EXTSIG)r.crc=o.readUInt32LE(i+n.EXTCRC),r.compressedSize=o.readUInt32LE(i+n.EXTSIZ),r.size=o.readUInt32LE(i+n.EXTLEN);else{if(19280!==o.readUInt16LE(i+12))throw e.Errors.DESCRIPTOR_UNKNOWN();r.crc=o.readUInt32LE(i+n.EXTCRC-4),r.compressedSize=o.readUInt32LE(i+n.EXTSIZ-4),r.size=o.readUInt32LE(i+n.EXTLEN-4)}if(r.compressedSize!==s.compressedSize||r.size!==s.size||r.crc!==s.crc)throw e.Errors.DESCRIPTOR_FAULTY();if(e.crc32(t)!==r.crc)return!1}else if(e.crc32(t)!==s.localHeader.crc)return!1;return!0}function y(t,n,i){if(void 0===n&&"string"==typeof t&&(i=t,t=void 0),l)return t&&n&&n(Buffer.alloc(0),e.Errors.DIRECTORY_CONTENT_ERROR()),Buffer.alloc(0);var o=g();if(0===o.length)return t&&n&&n(o),o;if(s.encrypted){if("string"!=typeof i&&!Buffer.isBuffer(i))throw e.Errors.INVALID_PASS_PARAM();o=r.ZipCrypto.decrypt(o,s,i)}var c=Buffer.alloc(s.size);switch(s.method){case e.Constants.STORED:if(o.copy(c),v(c))return t&&n&&n(c),c;throw t&&n&&n(c,e.Errors.BAD_CRC()),e.Errors.BAD_CRC();case e.Constants.DEFLATED:var u=new r.Inflater(o,s.size);if(!t){if(u.inflate(c).copy(c,0),!v(c))throw e.Errors.BAD_CRC(`"${m.decode(a)}"`);return c}u.inflateAsync(function(t){t.copy(t,0),n&&(v(t)?n(t):n(t,e.Errors.BAD_CRC()))});break;default:throw t&&n&&n(Buffer.alloc(0),e.Errors.UNKNOWN_METHOD()),e.Errors.UNKNOWN_METHOD()}}function E(t,n){if((!u||!u.length)&&Buffer.isBuffer(o))return t&&n&&n(g()),g();if(u.length&&!l){var i;switch(s.method){case e.Constants.STORED:return s.compressedSize=s.size,i=Buffer.alloc(u.length),u.copy(i),t&&n&&n(i),i;default:case e.Constants.DEFLATED:var a=new r.Deflater(u);if(!t){var c=a.deflate();return s.compressedSize=c.length,c}a.deflateAsync(function(e){i=Buffer.alloc(e.length),s.compressedSize=e.length,e.copy(i),n&&n(i)}),a=null}}else{if(!t||!n)return Buffer.alloc(0);n(Buffer.alloc(0))}}function b(e,t){return(e.readUInt32LE(t+4)<<4)+e.readUInt32LE(t)}function w(e){var t,r,i,o;e.length>=n.EF_ZIP64_SCOMP&&(t=b(e,n.EF_ZIP64_SUNCOMP),s.size===n.EF_ZIP64_OR_32&&(s.size=t)),e.length>=n.EF_ZIP64_RHO&&(r=b(e,n.EF_ZIP64_SCOMP),s.compressedSize===n.EF_ZIP64_OR_32&&(s.compressedSize=r)),e.length>=n.EF_ZIP64_DSN&&(i=b(e,n.EF_ZIP64_RHO),s.offset===n.EF_ZIP64_OR_32&&(s.offset=i)),e.length>=n.EF_ZIP64_DSN+4&&(o=e.readUInt32LE(n.EF_ZIP64_DSN),s.diskNumStart===n.EF_ZIP64_OR_16&&(s.diskNumStart=o))}return d=!!m.hasOwnProperty("efs")&&m.efs,{get entryName(){return m.decode(a)},get rawEntryName(){return a},set entryName(t){var n=(a=e.toBuffer(t,m.encode))[a.length-1];l=47===n||92===n,s.fileNameLength=a.length},get efs(){return"function"==typeof d?d(this.entryName):d},get extra(){return f},set extra(t){f=t,s.extraLength=t.length,function(t){try{for(var r,i,o,s=0;s+4<t.length;)r=t.readUInt16LE(s),s+=2,i=t.readUInt16LE(s),s+=2,o=t.slice(s,s+i),s+=i,n.ID_ZIP64===r&&w(o)}catch(t){throw e.Errors.EXTRA_FIELD_PARSE_ERROR()}}(t)},get comment(){return m.decode(c)},set comment(t){if(c=e.toBuffer(t,m.encode),s.commentLength=c.length,c.length>65535)throw e.Errors.COMMENT_TOO_LONG()},get name(){var e=m.decode(a);return l?e.substr(e.length-1).split("/").pop():e.split("/").pop()},get isDirectory(){return l},getCompressedData:function(){return E(!1,null)},getCompressedDataAsync:function(e){E(!0,e)},setData:function(t){u=e.toBuffer(t,e.decoder.encode),!l&&u.length?(s.size=u.length,s.method=e.Constants.DEFLATED,s.crc=e.crc32(t),s.changed=!0):s.method=e.Constants.STORED},getData:function(e){return s.changed?u:y(!1,null,e)},getDataAsync:function(e,t){s.changed?e(u):y(!0,e,t)},set attr(e){s.attr=e},get attr(){return s.attr},set header(e){s.loadFromBinary(e)},get header(){return s},packCentralHeader:function(){s.flags_efs=this.efs,s.extraLength=f.length;var t=s.centralHeaderToBinary(),n=e.Constants.CENHDR;return a.copy(t,n),n+=a.length,f.copy(t,n),n+=s.extraLength,c.copy(t,n),t},packLocalHeader:function(){let e=0;s.flags_efs=this.efs,s.extraLocalLength=p.length;const t=s.localHeaderToBinary(),n=Buffer.alloc(t.length+a.length+s.extraLocalLength);return t.copy(n,e),e+=t.length,a.copy(n,e),e+=a.length,p.copy(n,e),e+=p.length,n},toJSON:function(){const e=function(e){return"<"+(e&&e.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:s.toJSON(),compressedData:e(o),data:e(u)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}},xn}function qn(){if(kn)return Un;kn=1;const e=Hn(),t=Dn(),n=En();return Un=function(r,i){var o=[],s={},a=Buffer.alloc(0),c=new t.MainHeader,l=!1;const u=new Set,f=i,{noSort:p,decoder:d}=f;function h(){if(l=!0,s={},c.diskEntries>(r.length-c.offset)/n.Constants.CENHDR)throw n.Errors.DISK_ENTRY_TOO_LARGE();o=new Array(c.diskEntries);for(var t=c.offset,i=0;i<o.length;i++){var a=t,p=new e(f,r);p.header=r.slice(a,a+=n.Constants.CENHDR),p.entryName=r.slice(a,a+=p.header.fileNameLength),p.header.extraLength&&(p.extra=r.slice(a,a+=p.header.extraLength)),p.header.commentLength&&(p.comment=r.slice(a,a+p.header.commentLength)),t+=p.header.centralHeaderSize,o[i]=p,s[p.entryName]=p}u.clear(),function(){const t=new Set;for(const e of Object.keys(s)){const n=e.split("/");if(n.pop(),n.length)for(let e=0;e<n.length;e++){const r=n.slice(0,e+1).join("/")+"/";t.add(r)}}for(const n of t)if(!(n in s)){const t=new e(f);t.entryName=n,t.attr=16,t.temporary=!0,o.push(t),s[t.entryName]=t,u.add(t)}}()}function m(){o.length>1&&!p&&o.sort((e,t)=>e.entryName.toLowerCase().localeCompare(t.entryName.toLowerCase()))}return r?function(e){var t=r.length-n.Constants.ENDHDR,i=Math.max(0,t-65535),o=i,s=r.length,l=-1,u=0;"boolean"==typeof f.trailingSpace&&f.trailingSpace&&(i=0);for(;t>=o;t--)if(80===r[t])if(r.readUInt32LE(t)!==n.Constants.ENDSIG)if(r.readUInt32LE(t)!==n.Constants.END64SIG){if(r.readUInt32LE(t)===n.Constants.ZIP64SIG){l=t,s=t+n.readBigUInt64LE(r,t+n.Constants.ZIP64SIZE)+n.Constants.ZIP64LEAD;break}}else o=i;else l=t,u=t,s=t+n.Constants.ENDHDR,o=t-n.Constants.END64HDR;if(-1==l)throw n.Errors.INVALID_FORMAT();c.loadFromBinary(r.slice(l,s)),c.commentLength&&(a=r.slice(u+n.Constants.ENDHDR));e&&h()}(f.readEntries):l=!0,{get entries(){return l||h(),o.filter(e=>!u.has(e))},get comment(){return d.decode(a)},set comment(e){a=n.toBuffer(e,d.encode),c.commentLength=a.length},getEntryCount:function(){return l?o.length:c.diskEntries},forEach:function(e){this.entries.forEach(e)},getEntry:function(e){return l||h(),s[e]||null},setEntry:function(e){l||h(),o.push(e),s[e.entryName]=e,c.totalEntries=o.length},deleteFile:function(e,t=!0){l||h();const n=s[e];this.getEntryChildren(n,t).map(e=>e.entryName).forEach(this.deleteEntry)},deleteEntry:function(e){l||h();const t=s[e],n=o.indexOf(t);n>=0&&(o.splice(n,1),delete s[e],c.totalEntries=o.length)},getEntryChildren:function(e,t=!0){if(l||h(),"object"==typeof e){if(e.isDirectory&&t){const t=[],n=e.entryName;for(const e of o)e.entryName.startsWith(n)&&t.push(e);return t}return[e]}return[]},getChildCount:function(e){if(e&&e.isDirectory){const t=this.getEntryChildren(e);return t.includes(e)?t.length-1:t.length}return 0},compressToBuffer:function(){l||h(),m();const e=[],t=[];let i=0,o=0;c.size=0,c.offset=0;let s=0;for(const n of this.entries){const r=n.getCompressedData();n.header.offset=o;const a=n.packLocalHeader(),l=a.length+r.length;o+=l,e.push(a),e.push(r);const u=n.packCentralHeader();t.push(u),c.size+=u.length,i+=l+u.length,s++}i+=c.mainHeaderSize,c.offset=o,c.totalEntries=s,o=0;const u=Buffer.alloc(i);for(const t of e)t.copy(u,o),o+=t.length;for(const e of t)e.copy(u,o),o+=e.length;const f=c.toBinary();return a&&a.copy(f,n.Constants.ENDHDR),f.copy(u,o),r=u,l=!1,u},toAsyncBuffer:function(e,t,i,o){try{l||h(),m();const t=[],s=[];let u=0,f=0,p=0;c.size=0,c.offset=0;const d=function(h){if(h.length>0){const e=h.shift(),n=e.entryName+e.extra.toString();i&&i(n),e.getCompressedDataAsync(function(r){o&&o(n),e.header.offset=f;const i=e.packLocalHeader(),a=i.length+r.length;f+=a,t.push(i),t.push(r);const l=e.packCentralHeader();s.push(l),c.size+=l.length,u+=a+l.length,p++,d(h)})}else{u+=c.mainHeaderSize,c.offset=f,c.totalEntries=p,f=0;const i=Buffer.alloc(u);t.forEach(function(e){e.copy(i,f),f+=e.length}),s.forEach(function(e){e.copy(i,f),f+=e.length});const o=c.toBinary();a&&a.copy(o,n.Constants.ENDHDR),o.copy(i,f),r=i,l=!1,e(i)}};d(Array.from(this.entries))}catch(e){t(e)}}}},Un}var Vn=function(){if(Gn)return Bn;Gn=1;const e=En(),t=B,n=Hn(),r=qn(),i=(...t)=>e.findLast(t,e=>"boolean"==typeof e),o=(...t)=>e.findLast(t,e=>"string"==typeof e),s={noSort:!1,readEntries:!1,method:e.Constants.NONE,fs:null};return Bn=function(a,c){let l=null;const u=Object.assign(Object.create(null),s);a&&"object"==typeof a&&(a instanceof Uint8Array||(Object.assign(u,a),a=u.input?u.input:void 0,u.input&&delete u.input),Buffer.isBuffer(a)&&(l=a,u.method=e.Constants.BUFFER,a=void 0)),Object.assign(u,c);const f=new e(u);if("object"==typeof u.decoder&&"function"==typeof u.decoder.encode&&"function"==typeof u.decoder.decode||(u.decoder=e.decoder),a&&"string"==typeof a){if(!f.fs.existsSync(a))throw e.Errors.INVALID_FILENAME();u.method=e.Constants.FILE,u.filename=a,l=f.fs.readFileSync(a)}const p=new r(l,u),{canonical:d,sanitize:h,zipnamefix:m}=e;function g(e){var n;if(e&&p&&("string"==typeof e&&(n=p.getEntry(t.posix.normalize(e))),"object"==typeof e&&void 0!==e.entryName&&void 0!==e.header&&(n=p.getEntry(e.entryName)),n))return n;return null}function v(e){const{join:n,normalize:r,sep:i}=t.posix;return n(".",r(i+e.split("\\").join(i)+i))}function y(e){return e instanceof RegExp?(t=e,function(e){return t.test(e)}):"function"!=typeof e?()=>!0:e;var t}const E=(e,n)=>{let r=n.slice(-1);return r=r===f.sep?f.sep:"",t.relative(e,n)+r};return{readFile:function(e,t){var n=g(e);return n&&n.getData(t)||null},childCount:function(e){const t=g(e);if(t)return p.getChildCount(t)},readFileAsync:function(e,t){var n=g(e);n?n.getDataAsync(t):t(null,"getEntry failed for:"+e)},readAsText:function(e,t){var n=g(e);if(n){var r=n.getData();if(r&&r.length)return r.toString(t||"utf8")}return""},readAsTextAsync:function(e,t,n){var r=g(e);r?r.getDataAsync(function(e,r){r?t(e,r):e&&e.length?t(e.toString(n||"utf8")):t("")}):t("")},deleteFile:function(e,t=!0){var n=g(e);n&&p.deleteFile(n.entryName,t)},deleteEntry:function(e){var t=g(e);t&&p.deleteEntry(t.entryName)},addZipComment:function(e){p.comment=e},getZipComment:function(){return p.comment||""},addZipEntryComment:function(e,t){var n=g(e);n&&(n.comment=t)},getZipEntryComment:function(e){var t=g(e);return t&&t.comment||""},updateFile:function(e,t){var n=g(e);n&&n.setData(t)},addLocalFile:function(n,r,i,o){if(!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{r=r?v(r):"";const e=t.win32.basename(t.win32.normalize(n));r+=i||e;const s=f.fs.statSync(n),a=s.isFile()?f.fs.readFileSync(n):Buffer.alloc(0);s.isDirectory()&&(r+=f.sep),this.addFile(r,a,o,s)}},addLocalFileAsync:function(e,n){e="object"==typeof e?e:{localPath:e};const r=t.resolve(e.localPath),{comment:i}=e;let{zipPath:o,zipName:s}=e;const a=this;f.fs.stat(r,function(e,c){if(e)return n(e,!1);o=o?v(o):"";const l=t.win32.basename(t.win32.normalize(r));if(o+=s||l,c.isFile())f.fs.readFile(r,function(e,t){return e?n(e,!1):(a.addFile(o,t,i,c),setImmediate(n,void 0,!0))});else if(c.isDirectory())return o+=f.sep,a.addFile(o,Buffer.alloc(0),i,c),setImmediate(n,void 0,!0)})},addLocalFolder:function(n,r,i){if(i=y(i),r=r?v(r):"",n=t.normalize(n),!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{const e=f.findFiles(n),o=this;if(e.length)for(const s of e){const e=t.join(r,E(n,s));i(e)&&o.addLocalFile(s,t.dirname(e))}}},addLocalFolderAsync:function(n,r,i,o){o=y(o),i=i?v(i):"",n=t.normalize(n);var s=this;f.fs.open(n,"r",function(t){if(t&&"ENOENT"===t.code)r(void 0,e.Errors.FILE_NOT_FOUND(n));else if(t)r(void 0,t);else{var a=f.findFiles(n),c=-1,l=function(){if((c+=1)<a.length){var e=a[c],t=E(n,e).split("\\").join("/");t=t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),o(t)?f.fs.stat(e,function(n,o){n&&r(void 0,n),o.isFile()?f.fs.readFile(e,function(e,n){e?r(void 0,e):(s.addFile(i+t,n,"",o),l())}):(s.addFile(i+t+"/",Buffer.alloc(0),"",o),l())}):process.nextTick(()=>{l()})}else r(!0,void 0)};l()}})},addLocalFolderAsync2:function(n,r){const i=this;n="object"==typeof n?n:{localPath:n},localPath=t.resolve(v(n.localPath));let{zipPath:o,filter:s,namefix:a}=n;var c;s instanceof RegExp?(c=s,s=function(e){return c.test(e)}):"function"!=typeof s&&(s=function(){return!0}),o=o?v(o):"","latin1"==a&&(a=e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")),"function"!=typeof a&&(a=e=>e);const l=e=>t.join(o,a(E(localPath,e))),u=e=>t.win32.basename(t.win32.normalize(a(e)));f.fs.open(localPath,"r",function(n){n&&"ENOENT"===n.code?r(void 0,e.Errors.FILE_NOT_FOUND(localPath)):n?r(void 0,n):f.findFilesAsync(localPath,function(e,n){if(e)return r(e);(n=n.filter(e=>s(l(e)))).length||r(void 0,!1),setImmediate(n.reverse().reduce(function(e,n){return function(r,o){if(r||!1===o)return setImmediate(e,r,!1);i.addLocalFileAsync({localPath:n,zipPath:t.dirname(l(n)),zipName:u(n)},e)}},r))})})},addLocalFolderPromise:function(e,t){return new Promise((n,r)=>{this.addLocalFolderAsync2(Object.assign({localPath:e},t),(e,t)=>{e&&r(e),t&&n(this)})})},addFile:function(e,t,r,i){let o=g(e=m(e));const s=null!=o;s||(o=new n(u),o.entryName=e),o.comment=r||"";const a="object"==typeof i&&i instanceof f.fs.Stats;a&&(o.header.time=i.mtime);var c=o.isDirectory?16:0;let l=o.isDirectory?16384:32768;return l|=a?4095&i.mode:"number"==typeof i?4095&i:o.isDirectory?493:420,c=(c|l<<16)>>>0,o.attr=c,o.setData(t),s||p.setEntry(o),o},getEntries:function(e){return p.password=e,p?p.entries:[]},getEntry:function(e){return g(e)},getEntryCount:function(){return p.getEntryCount()},forEach:function(e){return p.forEach(e)},extractEntryTo:function(n,r,s,a,c,l){a=i(!1,a),c=i(!1,c),s=i(!0,s),l=o(c,l);var u=g(n);if(!u)throw e.Errors.NO_ENTRY();var m=d(u.entryName),v=h(r,l&&!u.isDirectory?l:s?m:t.basename(m));if(u.isDirectory)return p.getEntryChildren(u).forEach(function(n){if(n.isDirectory)return;var i=n.getData();if(!i)throw e.Errors.CANT_EXTRACT_FILE();var o=d(n.entryName),l=h(r,s?o:t.basename(o));const u=c?n.header.fileAttr:void 0;f.writeFileTo(l,i,a,u)}),!0;var y=u.getData(p.password);if(!y)throw e.Errors.CANT_EXTRACT_FILE();if(f.fs.existsSync(v)&&!a)throw e.Errors.CANT_OVERRIDE();const E=c?n.header.fileAttr:void 0;return f.writeFileTo(v,y,a,E),!0},test:function(e){if(!p)return!1;for(var t in p.entries)try{if(t.isDirectory)continue;if(!p.entries[t].getData(e))return!1}catch(e){return!1}return!0},extractAllTo:function(t,n,r,s){if(r=i(!1,r),s=o(r,s),n=i(!1,n),!p)throw e.Errors.NO_ZIP();p.entries.forEach(function(i){var o=h(t,d(i.entryName));if(i.isDirectory)return void f.makeDir(o);var a=i.getData(s);if(!a)throw e.Errors.CANT_EXTRACT_FILE();const c=r?i.header.fileAttr:void 0;f.writeFileTo(o,a,n,c);try{f.fs.utimesSync(o,i.header.time,i.header.time)}catch(t){throw e.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(n,r,o,s){if(s=((...t)=>e.findLast(t,e=>"function"==typeof e))(r,o,s),o=i(!1,o),r=i(!1,r),!s)return new Promise((e,t)=>{this.extractAllToAsync(n,r,o,function(n){n?t(n):e(this)})});if(!p)return void s(e.Errors.NO_ZIP());n=t.resolve(n);const a=e=>h(n,t.normalize(d(e.entryName))),c=(e,t)=>new Error(e+': "'+t+'"'),l=[],u=[];p.entries.forEach(e=>{e.isDirectory?l.push(e):u.push(e)});for(const e of l){const t=a(e),n=o?e.header.fileAttr:void 0;try{f.makeDir(t),n&&f.fs.chmodSync(t,n),f.fs.utimesSync(t,e.header.time,e.header.time)}catch(e){s(c("Unable to create folder",t))}}u.reverse().reduce(function(i,s){return function(a){if(a)i(a);else{const a=t.normalize(d(s.entryName)),l=h(n,a);s.getDataAsync(function(t,n){if(n)i(n);else if(t){const e=o?s.header.fileAttr:void 0;f.writeFileToAsync(l,t,r,e,function(e){e||i(c("Unable to write file",l)),f.fs.utimes(l,s.header.time,s.header.time,function(e){e?i(c("Unable to set times",l)):i()})})}else i(e.Errors.CANT_EXTRACT_FILE())})}}},s)()},writeZip:function(e,t){if(1===arguments.length&&"function"==typeof e&&(t=e,e=""),!e&&u.filename&&(e=u.filename),e){var n=p.compressToBuffer();if(n){var r=f.writeFileTo(e,n,!0);"function"==typeof t&&t(r?null:new Error("failed"),"")}}},writeZipPromise:function(e,t){const{overwrite:n,perm:r}=Object.assign({overwrite:!0},t);return new Promise((t,i)=>{!e&&u.filename&&(e=u.filename),e||i("ADM-ZIP: ZIP File Name Missing"),this.toBufferPromise().then(o=>{f.writeFileToAsync(e,o,n,r,e=>e?t(e):i("ADM-ZIP: Wasn't able to write zip file"))},i)})},toBufferPromise:function(){return new Promise((e,t)=>{p.toAsyncBuffer(e,t)})},toBuffer:function(e,t,n,r){return"function"==typeof e?(p.toAsyncBuffer(e,t,n,r),null):p.compressToBuffer()}}},Bn}(),Wn=V(Vn);class Kn{#Z;get ora(){return this.#Z}set attachConsole(e){e?(console.log=this.info.bind(this),console.info=this.info.bind(this)):console=Xn}static Global(e){return Zn=new Kn(e),Zn}static Clone(e){const{prefixText:t}=e||Zn;return new Kn({prefixText:t})}static get Current(){return Zn}static set Current(e){Zn=e}constructor(e){this.#Z=j(e)}get prefixText(){return this.#Z.prefixText}info(...e){this.#Z.info(Yn(e))}succeed(...e){this.#Z.succeed(Yn(e))}start(...e){this.#Z.start(Yn(e))}fail(...e){this.#Z.fail(Yn(e))}warn(...e){this.#Z.warn(Yn(e))}clear(){this.#Z.clear()}stop(){this.#Z.stop()}stopAndPersist(...e){this.#Z.stopAndPersist(...e)}}let Zn=new Kn;const Yn=e=>e.length?e.join(" "):void 0,Xn=console;class Jn{spinner;debugMode;constructor(e,t){this.spinner=new Kn({prefixText:e}),this.debugMode=t?.debug??!1}start(...e){this.spinner.start(...e)}succeed(...e){this.spinner.succeed(...e)}fail(...e){this.spinner.fail(...e)}error(...e){console.log(...e)}warn(...e){this.spinner.warn(...e)}info(...e){this.spinner.info(...e)}log(...e){this.spinner.info(...e)}debug(...e){this.debugMode&&console.debug(...e)}startNativeConsoleCapture(){this.spinner.attachConsole=!0}stopNativeConsoleCapture(){this.spinner.attachConsole=!1}}const Qn=e=>({portal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.portal:void 0,msal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.msal:void 0,proxy:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.serviceWorker?.resources:void 0,serviceDiscoveryUrl:e.api.serviceDiscoveryUrl,routes:e.api.routes}),er=e=>{const t={spa:{templateEnv:(n=e.template,{portal:{id:"@equinor/fusion-framework-dev-portal"},title:"Fusion Dev Portal",serviceDiscovery:{url:"/@fusion-services",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},msal:{clientId:"9b707e3a-3e90-41ed-a47e-652a1e3b53d0",tenantId:"3aa4a235-b6e2-48d5-9195-7fcf05b459b0",redirectUri:"/authentication/login-callback",requiresAuth:"true"},serviceWorker:{resources:[{url:"/apps-proxy",rewrite:"/@fusion-api/apps",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/help-proxy",rewrite:"/@fusion-api/help",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/portal-proxy",rewrite:"/@fusion-api/portal-config",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]}]},...n})},api:{serviceDiscoveryUrl:"https://discovery.fusion.equinor.com/service-registry/environments/ci/services/",processServices:(e,t)=>{const{data:n,routes:r}=H(e,t);return{data:n.concat({key:"portals",name:"Portal Service - MOCK",uri:"/@fusion-api/portals"}),routes:r}}}};var n;return e.app&&((e,t,n)=>{const{build:r,appKey:i}=t;if(!r)throw new Error("App manifest does not contain build information");e.api.routes??=[],e.api.routes.push({match:[`/apps/bundles/apps/${i}/${r.version}/*path`,`/apps/bundles/apps/${i}@${r.version}/*path`],middleware:async(e,t,n)=>{const r=e.params?.path;!1===Array.isArray(r)&&n(),t.writeHead(302,{"content-type":"application/javascript",location:`/${r.join("/")}`}),t.end()}}),e.api.routes.push({match:`/apps/persons/me/apps/${i}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify({id:"dev-server-generated-id",...t}))}}),e.api.routes.push({match:`/apps/apps/${i}/builds/${r.version}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(t,e.app.manifest,e.app.config),e.portal&&((e,t,n)=>{e.api.routes??=[];const r="portal-config";e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify(t))}}),n&&e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(t,e.portal.manifest,e.portal.config),t},tr=async(e,t,n)=>{const{overrides:r,log:i}=n??{},o=er(t);i?.debug("\nBase dev server config:",Qn(o)),i?.debug("\nCreating dev server with overrides:",r);try{const{path:t,config:n}=await(async(e,t,n)=>D("dev-server.config",{baseDir:e.root,extensions:n?.extensions,script:{resolve:async n=>{let r;if("function"==typeof n.default){const i={...t};r=await n.default(e,{base:i})}else r=n.default;return ut(t,r??{})}}}))(e,o);i?.debug(`\nLoaded dev server config from ${t}`),i?.debug("\nLoaded dev server config:",Qn(n));const s=((e,t)=>({name:"fusion:dev-server-config-watcher",configureServer(n){n.watcher.add(e),n.watcher.on("change",r=>{r===e&&(t?.info(`\n${e} changed, restarting dev server...`),n.restart())}),t?.debug(`Watching dev-server.config.ts at: ${e}`)}}))(t,i),a={...r,plugins:[...r?.plugins??[],s]};return z(n,a)}catch(e){return i?.warn("\nFailed to load dev server config:",e instanceof Error?e.message:String(e)),z(o,r)}},nr="fusion-framework-cli",rr={"X-Fusion-CLI-Name":nr,"X-Fusion-CLI-Version":kt,"User-Agent":`${nr}/${kt}`},ir="https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md",or="https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/application.md";function sr(){if(process.env.FUSION_TOKEN)return[r.bold("ðĄ FUSION_TOKEN detected"),r.dim(" The CLI is using this token instead of your interactive login session."),r.dim(" If this is unintended, unset the variable and retry, or verify that the token has the correct scope/audience.")].join("\n")}function ar(e,t){switch(e){case 401:return function(e){const t=["",r.redBright(`ðŦ Authentication failed: unable to ${e}`),""," No valid token was provided or the token has expired.",""],n=sr();return n&&t.push(n,""),t.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} For CI/CD, verify that ${r.bold("FUSION_TOKEN")} is set and the token has not expired.`,` ${r.cyan("2.")} For local development, run ${r.greenBright.bold("ffc auth login")} to refresh your credentials.`,` ${r.cyan("3.")} Verify that ${r.bold("--scope")} targets the correct API audience for your environment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(ir)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(or)}`,""),t.join("\n")}(t);case 403:return function(e){const t=["",r.redBright(`ðŦ Authorization failed: not permitted to ${e}`),"","â ïļ Your token is valid but does not have the required permissions for this operation.",""],n=sr();return n&&t.push(n,""),t.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} Verify that your user or service principal has publish permissions for this application.`,` ${r.cyan("2.")} Check that the token's ${r.bold("scope / audience")} matches the target environment.`,` ${r.cyan("3.")} Confirm that the application is registered and your account has the correct role assignment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(ir)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(or)}`,""),t.join("\n")}(t);default:return}}function cr(e,t){if(!(e instanceof Error))return;const n="SilentTokenAcquisitionError"===e.name,i=e.response?e.response.status:void 0,o=401===i||403===i;let s=!1,a=e.cause;for(let e=0;e<5&&a&&a instanceof Error;e++){if("SilentTokenAcquisitionError"===a.name){s=!0;break}a=a.cause}if(!n&&!o&&!s)return;if(o&&!n&&!s)return ar(i,t);const c=function(e){let t=e;for(let e=0;e<5&&t;e++){if(!(t instanceof Error)){if("object"==typeof t&&"errorMessage"in t){const e=t.errorMessage;if("string"==typeof e){const t=e.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return t?.[1]?.trim()??e.split(" - ")[0]?.trim()}break}break}{const e=t;if("string"==typeof e.errorMessage){const t=e.errorMessage,n=t.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return n?.[1]?.trim()??t.split(" - ")[0]?.trim()}t=t.cause}}}(e),l=["",r.redBright(`ð Token acquisition failed: unable to ${t}`),"",r.yellow(`â ïļ ${c??"The CLI could not silently acquire an access token for this operation."}`),""],u=sr();return u&&l.push(u,""),l.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} Run ${r.greenBright.bold("ffc auth login")} to refresh your local credentials.`,` ${r.cyan("2.")} For CI/CD, set a fresh ${r.bold("FUSION_TOKEN")} â cached refresh tokens may have expired.`,` ${r.cyan("3.")} Verify that ${r.bold("--scope")} targets the correct API audience for your environment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(ir)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(or)}`,""),l.join("\n")}const lr=(e,t,n)=>{const r=s(String(e));L(r)||C(r,{recursive:!0}),S(e,t,n)},ur=["package.json","LICENSE.md","README.md","CHANGELOG.md"],fr=async(e,t)=>{const{archive:n,log:i}=t??{},o=s(e.path),c=t?.buildDir??"dist",l=a(o,c);if(!(await _(l)).isDirectory())throw new Error(`Build directory ${c} does not exist`);i?.log(r.bold("Starting to pack bundle"));const u=new Wn;if(u.addLocalFolder(l,c),t?.content)for(const[e,n]of Object.entries(t.content))u.addFile(e,Buffer.from(n)),i?.info("ð",Jt(e,{relative:!0}));i?.info("ð",Jt(l,{relative:!0}));for(const t of ur.concat(e.packageJson.files??[])){const e=a(o,t),n=s(e.replace(o,""));at(e)?(u.addLocalFile(e,n),i?.info("ð",Jt(e,{relative:!0}))):i?.warn(r.dim("ð",Jt(e,{relative:!0})))}return n&&(at(s(n))||await I(s(n),{recursive:!0}),i?.start("compressing content"),await u.writeZipPromise(n),i?.succeed("ð",Jt(n,{relative:!0}),Qt(n))),u},pr=async e=>{const{log:t,manifest:n,snapshot:r}=e;process.env.NODE_ENV,process.cwd();const{pkg:i,manifest:o}=await rn({log:t,manifest:n,snapshot:r});if(!o.build)throw new Error("Manifest build config not found");return{archive:await fr(i,{log:t,archive:e?.archive,content:{"app-manifest.json":JSON.stringify(o.build,null,2),"metadata.json":JSON.stringify({appKey:o.appKey,name:o.appKey,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o}},dr=async(e,t)=>{const{log:n}=t;try{n?.start("create application configuration"),n?.info(`generating config with ${r.red.dim(e.command)} command in ${r.green.dim(e.mode)} mode`);const i=await((e,t)=>{const n=t?.file??[`app.config.${e.environment}`,"app.config"];return D(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{environment:{}};if("function"==typeof n.default){const t=await n.default(e,{base:r})??r;return zt.parse(t??r)}return zt.parse(n.default??r)}}})})(e,{file:t?.config});return n?.succeed("âïļ generated config from ",Jt(i.path,{relative:!0})),i.config}catch(e){if(e instanceof N){if(!t.config)return n?.succeed(r.dim("âïļ no local application config applied, using built-in")),{environment:{}};n?.warn(`failed to load config file ${Jt(t.config)}, please check the path.`)}throw n?.fail("failed to resolve application config"),n?.debug(e),e}},hr=async e=>{const{log:t}=e??{};let n;try{t?.start("resolve project package"),n=await tn(null),t?.succeed("ðĶ",r.yellowBright([n.packageJson.name,n.packageJson.version].join("@"))),t?.info("ð ",r.blueBright(n.root))}catch{t?.info("Failed to resolve project package, using current directory as root")}const i=n?.root??process.cwd(),o={command:"build",mode:process.env.NODE_ENV??"production",root:i,...e?.env},s=await dr(o,{log:t,config:e?.config});if(t?.debug("config:",s),e?.output){t?.start("writing config to file");try{await lr(e.output,JSON.stringify(s,null,2)),t?.succeed("config written successfully",Jt(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:s,pkg:n}};class mr extends Error{response;static Name="HttpResponseError";constructor(e,t,n){super(e,n),this.response=t}}class gr extends mr{static Name="HttpJsonResponseError";data;constructor(e,t,n){super(e,t,n),this.name=gr.Name,this.data=n?.data}}class vr extends mr{static Name="ServerSentEventResponseError";constructor(e,t,n){super(e,t,n),this.name=vr.Name}}const yr=async e=>{const{log:t,config:n,appKey:r,buildVersion:i,framework:o}=e;try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("ð","Executing request to:",Jt(e.uri))}),t?.start("Publishing application config");const s=await e.json(`/apps/${r}/builds/${i}/config`,{method:"PUT",body:n,headers:rr});t?.debug("Response:",s),t?.succeed("Published application config")}catch(e){if(e instanceof gr)switch(e.response.status){case 410:t?.fail("ðĪŽ",`App ${r} is deleted from apps-service. Please check the app key and try again.`);break;case 404:t?.fail("ðĪŽ",`App ${r} not found. Please check the app key and try again.`);break;case 403:case 401:{const n=ar(e.response.status,`publish config for ${r}`);t?.fail("ð","Authentication/authorization error publishing app config."),n&&t?.error(n),process.exit(1);break}default:t?.fail("ðĪŽ","Failed to publish application config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const n=cr(e,`publish config for ${r}`);n&&(t?.fail("ð",`Token acquisition failed publishing config for ${r}`),t?.error(n),process.exit(1)),t?.fail("ðĪŽ","Failed to publish app config:",e instanceof Error?e.message:String(e)),process.exit(1)}},Er=async e=>{const{log:n}=e??{},r="@equinor/fusion-framework-dev-portal",i=await tn(n),o={root:i.root,environment:"local",...e?.env,mode:"development",command:"serve"},a=await en(o,i,{log:n,manifestPath:e?.manifest}),c=await dr(o,{log:n,config:e?.config});let l,u;const p=d(import.meta.resolve(r));at(p)?(l=p,u=await f({cwd:p}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${r} is external, skipping entry point resolution`);const h=await Tt(o,i),m=u?[i.root,u]:[i.root];n?.debug(`File system access allowed for: \n${m.join("\n")}\n`);const g=t(h,{server:{port:e?.port||3e3,host:e?.host||h.server?.host||"localhost",fs:{allow:m}}}),v={template:{portal:{id:r}},app:{manifest:a,config:c}};l&&(v.portal={manifest:{name:r,build:{templateEntry:l,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",g),n?.debug("dev server config:",v),n?.start("Starting app development server...");const y=await tr(o,v,{overrides:g,log:n});await y.listen(),n?.succeed("App development server started successfully");const E=y.config.server.https?"https":"http",b=y.config.server.host||"localhost",w=y.config.server.port||5173;return n?.info(`App development server is running at: ${E}://${b}:${w}/apps/${a.appKey}`),y},br=async e=>{const{log:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve application");const c="@equinor/fusion-framework-dev-portal",l=await tn(n);n?.start("Loading Vite config...");const u=await Tt({root:l.root,command:"build",mode:"production"},l);n?.succeed("Vite config loaded");const p=r||(u.build?.outDir||"dist"),h=a(l.root,p),m={root:l.root,environment:"local",mode:"production",command:"serve",isPreview:!0},g=await en(m,l,{log:n,manifestPath:e?.manifest}),v=await dr(m,{log:n,config:e?.config});if(n?.debug("Output directory:",h),!L(h))throw new Error(`Build directory does not exist: ${h}\nPlease build the application first using \`ffc app build\``);let y,E;const b=d(import.meta.resolve(c));at(b)?(y=b,E=await f({cwd:b}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${c} is external, skipping entry point resolution`);const w=await Tt(m,l),C=E?[l.root,E,h]:[l.root,h];n?.debug(`File system access allowed for: \n${C.join("\n")}\n`);const S=t(w,{server:{port:i,host:o||w.server?.host||"localhost",fs:{allow:C}}}),_={template:{portal:{id:c}},app:{manifest:g,config:v}};y&&(_.portal={manifest:{name:c,build:{templateEntry:y,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",S),n?.debug("dev server config:",_),n?.start("Starting preview server with dev-portal...");try{const e=await tr(m,_,{overrides:S,log:n});await e.listen(),n?.succeed("Preview server started successfully");const t=e.config.server?.https?"https":"http",r=e.config.server?.host||o,s=e.config.server?.port||i;return n?.info(`Preview server is running at: ${t}://${r}:${s}`),g.appKey&&n?.info(`App URL: ${t}://${r}:${s}/apps/${g.appKey}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}};class wr extends ${satisfies(e){return x(this,e)}}var Lr=function(e,t){return Lr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Lr(e,t)};function Cr(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}Lr(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Sr=function(){return Sr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Sr.apply(this,arguments)};function _r(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,a)}c((r=r.apply(e,t||[])).next())})}function Ir(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function Dr(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Nr(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function Or(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function Pr(e){return this instanceof Pr?(this.v=e,this):new Pr(e)}function Ar(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",function(e){return function(t){return Promise.resolve(t).then(e,l)}}),r[Symbol.asyncIterator]=function(){return this},r;function s(e,t){i[e]&&(r[e]=function(t){return new Promise(function(n,r){o.push([e,t,n,r])>1||a(e,t)})},t&&(r[e]=t(r[e])))}function a(e,t){try{(n=i[e](t)).value instanceof Pr?Promise.resolve(n.value.v).then(c,l):u(o[0][2],n)}catch(e){u(o[0][3],e)}var n}function c(e){a("next",e)}function l(e){a("throw",e)}function u(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function Rr(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Dr(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,i){(function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)})(r,i,(t=e[n](t)).done,t.value)})}}}function Tr(e){return"function"==typeof e}function $r(e){var t=e(function(e){Error.call(e),e.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}"function"==typeof SuppressedError&&SuppressedError;var xr=$r(function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}});function Fr(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var Ur=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}var t;return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=Dr(o),a=s.next();!a.done;a=s.next()){a.value.remove(this)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(Tr(c))try{c()}catch(e){i=e instanceof xr?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=Dr(l),f=u.next();!f.done;f=u.next()){var p=f.value;try{Gr(p)}catch(e){i=null!=i?i:[],e instanceof xr?i=Or(Or([],Nr(i)),Nr(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new xr(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)Gr(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&Fr(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&Fr(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=((t=new e).closed=!0,t),e}(),kr=Ur.EMPTY;function Br(e){return e instanceof Ur||e&&"closed"in e&&Tr(e.remove)&&Tr(e.add)&&Tr(e.unsubscribe)}function Gr(e){Tr(e)?e():e.unsubscribe()}var Mr={Promise:void 0},jr=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Or([e,t],Nr(n)))};function zr(e){jr(function(){throw e})}function Hr(){}function qr(e){e()}var Vr=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,Br(t)&&t.add(n)):n.destination=Yr,n}return Cr(t,e),t.create=function(e,t,n){return new Kr(e,t,n)},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(Ur),Wr=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){Zr(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){Zr(e)}else Zr(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){Zr(e)}},e}(),Kr=function(e){function t(t,n,r){var i,o=e.call(this)||this;return i=Tr(t)||!t?{next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:t,o.destination=new Wr(i),o}return Cr(t,e),t}(Vr);function Zr(e){zr(e)}var Yr={closed:!0,next:Hr,error:function(e){throw e},complete:Hr},Xr="function"==typeof Symbol&&Symbol.observable||"@@observable";function Jr(e){return e}var Qr=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r,i=this,o=(r=e)&&r instanceof Vr||function(e){return e&&Tr(e.next)&&Tr(e.error)&&Tr(e.complete)}(r)&&Br(r)?e:new Kr(e,t,n);return qr(function(){var e=i,t=e.operator,n=e.source;o.add(t?t.call(o,n):n?i._subscribe(o):i._trySubscribe(o))}),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=ei(t))(function(t,r){var i=new Kr({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)})},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[Xr]=function(){return this},e.prototype.pipe=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return(0===(e=t).length?Jr:1===e.length?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)})(this)},e.prototype.toPromise=function(e){var t=this;return new(e=ei(e))(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function ei(e){var t;return null!==(t=null!=e?e:Mr.Promise)&&void 0!==t?t:Promise}function ti(e){return function(t){if(function(e){return Tr(null==e?void 0:e.lift)}(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw new TypeError("Unable to lift unknown Observable type")}}function ni(e,t,n,r,i){return new ri(e,t,n,r,i)}var ri=function(e){function t(t,n,r,i,o,s){var a=e.call(this,t)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,a._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,a._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,a}return Cr(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(Vr),ii=$r(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),oi=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return Cr(t,e),t.prototype.lift=function(e){var t=new si(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new ii},t.prototype.next=function(e){var t=this;qr(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=Dr(t.currentObservers),o=i.next();!o.done;o=i.next()){o.value.next(e)}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},t.prototype.error=function(e){var t=this;qr(function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}})},t.prototype.complete=function(){var e=this;qr(function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,o=n.observers;return r||i?kr:(this.currentObservers=null,o.push(e),new Ur(function(){t.currentObservers=null,Fr(o,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new Qr;return e.source=this,e},t.create=function(e,t){return new si(e,t)},t}(Qr),si=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return Cr(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:kr},t}(oi),ai=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return Cr(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(oi),ci={now:function(){return(ci.delegate||Date).now()},delegate:void 0},li=function(e){function t(t,n,r){void 0===t&&(t=1/0),void 0===n&&(n=1/0),void 0===r&&(r=ci);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,n),i}return Cr(t,e),t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,s=n._timestampProvider,a=n._windowTime;r||(i.push(t),!o&&i.push(s.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),i=0;i<r.length&&!e.closed;i+=n?1:2)e.next(r[i]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,i=e._infiniteTimeWindow,o=(i?1:2)*t;if(t<1/0&&o<r.length&&r.splice(0,r.length-o),!i){for(var s=n.now(),a=0,c=1;c<r.length&&r[c]<=s;c+=2)a=c;a&&r.splice(0,a+1)}},t}(oi),ui=function(e){function t(t,n){return e.call(this)||this}return Cr(t,e),t.prototype.schedule=function(e,t){return this},t}(Ur),fi=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Or([e,t],Nr(n)))},pi=function(e){return clearInterval(e)},di=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return Cr(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(i,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),fi(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&pi(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Fr(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(ui),hi=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=ci.now,e}(),mi=function(e){function t(t,n){void 0===n&&(n=hi.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return Cr(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(hi),gi=new mi(di),vi=gi,yi=new Qr(function(e){return e.complete()});function Ei(e){return e&&Tr(e.schedule)}function bi(e){return e[e.length-1]}var wi=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function Li(e){return Tr(null==e?void 0:e.then)}function Ci(e){return Tr(e[Xr])}function Si(e){return Symbol.asyncIterator&&Tr(null==e?void 0:e[Symbol.asyncIterator])}function _i(e){return new TypeError("You provided "+(null!==e&&"object"==typeof e?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var Ii="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function Di(e){return Tr(null==e?void 0:e[Ii])}function Ni(e){return Ar(this,arguments,function(){var t,n,r;return Ir(this,function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,Pr(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,Pr(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,Pr(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Oi(e){return Tr(null==e?void 0:e.getReader)}function Pi(e){if(e instanceof Qr)return e;if(null!=e){if(Ci(e))return i=e,new Qr(function(e){var t=i[Xr]();if(Tr(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(wi(e))return r=e,new Qr(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()});if(Li(e))return n=e,new Qr(function(e){n.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,zr)});if(Si(e))return Ai(e);if(Di(e))return t=e,new Qr(function(e){var n,r;try{for(var i=Dr(t),o=i.next();!o.done;o=i.next()){var s=o.value;if(e.next(s),e.closed)return}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()});if(Oi(e))return Ai(Ni(e))}var t,n,r,i;throw _i(e)}function Ai(e){return new Qr(function(t){(function(e,t){var n,r,i,o;return _r(this,void 0,void 0,function(){var s,a;return Ir(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=Rr(e),c.label=1;case 1:return[4,n.next()];case 2:if((r=c.sent()).done)return[3,4];if(s=r.value,t.next(s),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),i={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})})(e,t).catch(function(e){return t.error(e)})})}function Ri(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=t.schedule(function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function Ti(e,t){return void 0===t&&(t=0),ti(function(n,r){n.subscribe(ni(r,function(n){return Ri(r,e,function(){return r.next(n)},t)},function(){return Ri(r,e,function(){return r.complete()},t)},function(n){return Ri(r,e,function(){return r.error(n)},t)}))})}function $i(e,t){return void 0===t&&(t=0),ti(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function xi(e,t){if(!e)throw new Error("Iterable cannot be null");return new Qr(function(n){Ri(n,t,function(){var r=e[Symbol.asyncIterator]();Ri(n,t,function(){r.next().then(function(e){e.done?n.complete():n.next(e.value)})},0,!0)})})}function Fi(e,t){if(null!=e){if(Ci(e))return function(e,t){return Pi(e).pipe($i(t),Ti(t))}(e,t);if(wi(e))return function(e,t){return new Qr(function(n){var r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}(e,t);if(Li(e))return function(e,t){return Pi(e).pipe($i(t),Ti(t))}(e,t);if(Si(e))return xi(e,t);if(Di(e))return function(e,t){return new Qr(function(n){var r;return Ri(n,t,function(){r=e[Ii](),Ri(n,t,function(){var e,t,i;try{t=(e=r.next()).value,i=e.done}catch(e){return void n.error(e)}i?n.complete():n.next(t)},0,!0)}),function(){return Tr(null==r?void 0:r.return)&&r.return()}})}(e,t);if(Oi(e))return function(e,t){return xi(Ni(e),t)}(e,t)}throw _i(e)}function Ui(e,t){return t?Fi(e,t):Pi(e)}function ki(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=function(e){return Ei(bi(e))?e.pop():void 0}(e);return Ui(e,n)}var Bi=$r(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function Gi(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o,s=!1;e.subscribe({next:function(e){o=e,s=!0},error:i,complete:function(){s?r(o):n?r(t.defaultValue):i(new Bi)}})})}function Mi(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o=new Kr({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Bi)}});e.subscribe(o)})}function ji(e){return e instanceof Date&&!isNaN(e)}var zi=$r(function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function Hi(e){throw new zi(e)}function qi(e,t){return ti(function(n,r){var i=0;n.subscribe(ni(r,function(n){r.next(e.call(t,n,i++))}))})}var Vi=Array.isArray;function Wi(e){return qi(function(t){return function(e,t){return Vi(t)?e.apply(void 0,Or([],Nr(t))):e(t)}(e,t)})}function Ki(e,t,n,r,i,o,s,a){var c=[],l=0,u=0,f=!1,p=function(){!f||c.length||l||t.complete()},d=function(e){return l<r?h(e):c.push(e)},h=function(e){o&&t.next(e),l++;var a=!1;Pi(n(e,u++)).subscribe(ni(t,function(e){null==i||i(e),o?d(e):t.next(e)},function(){a=!0},void 0,function(){if(a)try{l--;for(var e=function(){var e=c.shift();s||h(e)};c.length&&l<r;)e();p()}catch(e){t.error(e)}}))};return e.subscribe(ni(t,d,function(){f=!0,p()})),function(){null==a||a()}}function Zi(e,t,n){return void 0===n&&(n=1/0),Tr(t)?Zi(function(n,r){return qi(function(e,i){return t(n,e,r,i)})(Pi(e(n,r)))},n):("number"==typeof t&&(n=t),ti(function(t,r){return Ki(t,r,e,n)}))}var Yi=["addListener","removeListener"],Xi=["addEventListener","removeEventListener"],Ji=["on","off"];function Qi(e,t,n,r){if(Tr(n)&&(r=n,n=void 0),r)return Qi(e,t,n).pipe(Wi(r));var i=Nr(function(e){return Tr(e.addEventListener)&&Tr(e.removeEventListener)}(e)?Xi.map(function(r){return function(i){return e[r](t,i,n)}}):function(e){return Tr(e.addListener)&&Tr(e.removeListener)}(e)?Yi.map(eo(e,t)):function(e){return Tr(e.on)&&Tr(e.off)}(e)?Ji.map(eo(e,t)):[],2),o=i[0],s=i[1];if(!o&&wi(e))return Zi(function(e){return Qi(e,t,n)})(Pi(e));if(!o)throw new TypeError("Invalid event target");return new Qr(function(e){var t=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1<t.length?t:t[0])};return o(t),function(){return s(t)}})}function eo(e,t){return function(n){return function(r){return e[n](t,r)}}}function to(e,t,n){void 0===e&&(e=0),void 0===n&&(n=vi);var r=-1;return null!=t&&(Ei(t)?n=t:r=t),new Qr(function(t){var i=ji(e)?+e-n.now():e;i<0&&(i=0);var o=0;return n.schedule(function(){t.closed||(t.next(o++),0<=r?this.schedule(void 0,r):t.complete())},i)})}function no(e,t){return ti(function(n,r){var i=0;n.subscribe(ni(r,function(n){return e.call(t,n,i++)&&r.next(n)}))})}function ro(e){return ti(function(t,n){var r,i=null,o=!1;i=t.subscribe(ni(n,void 0,void 0,function(s){r=Pi(e(s,ro(e)(t))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(n))})}function io(e,t,n,r,i){return function(o,s){var a=n,c=t,l=0;o.subscribe(ni(s,function(t){var n=l++;c=a?e(c,t,n):(a=!0,t),r&&s.next(c)},i&&function(){a&&s.next(c),s.complete()}))}}function oo(e,t){return ti(io(e,t,arguments.length>=2,!1,!0))}function so(e){return ti(function(t,n){var r=!1;t.subscribe(ni(n,function(e){r=!0,n.next(e)},function(){r||n.next(e),n.complete()}))})}function ao(e,t){return void 0===t&&(t=Jr),e=null!=e?e:co,ti(function(n,r){var i,o=!0;n.subscribe(ni(r,function(n){var s=t(n);!o&&e(i,s)||(o=!1,i=s,r.next(n))}))})}function co(e,t){return e===t}function lo(e){return void 0===e&&(e=uo),ti(function(t,n){var r=!1;t.subscribe(ni(n,function(e){r=!0,n.next(e)},function(){return r?n.complete():n.error(e())}))})}function uo(){return new Bi}function fo(e){return ti(function(t,n){try{t.subscribe(n)}finally{n.add(e)}})}function po(e,t){var n=arguments.length>=2;return function(e){return e.pipe(Jr,(r=1)<=0?function(){return yi}:ti(function(e,t){var n=[];e.subscribe(ni(t,function(e){n.push(e),r<n.length&&n.shift()},function(){var e,r;try{for(var i=Dr(n),o=i.next();!o.done;o=i.next()){var s=o.value;t.next(s)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}t.complete()},void 0,function(){n=null}))}),n?so(t):lo(function(){return new Bi}));var r}}function ho(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var i=new Kr({next:function(){i.unsubscribe(),e()}});return Pi(t.apply(void 0,Or([],Nr(n)))).subscribe(i)}}else e()}function mo(e,t){return ti(function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(ni(r,function(n){null==i||i.unsubscribe();var s=0,c=o++;Pi(e(n,c)).subscribe(i=ni(r,function(e){return r.next(t?t(n,e,c,s++):e)},function(){i=null,a()}))},function(){s=!0,a()}))})}function go(e){return ti(function(t,n){Pi(e).subscribe(ni(n,function(){return n.complete()},Hr)),!n.closed&&t.subscribe(n)})}function vo(e,t,n){var r=Tr(e)||t||n?{next:e,error:t,complete:n}:e;return r?ti(function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;e.subscribe(ni(t,function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)},function(){var e;i=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()},function(e){var n;i=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)},function(){var e,t;i&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)}))}):Jr}function yo(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n,r=Tr(bi(n=e))?n.pop():void 0;return ti(function(t,n){for(var i=e.length,o=new Array(i),s=e.map(function(){return!1}),a=!1,c=function(t){Pi(e[t]).subscribe(ni(n,function(e){o[t]=e,a||s[t]||(s[t]=!0,(a=s.every(Jr))&&(s=null))},Hr))},l=0;l<i;l++)c(l);t.subscribe(ni(n,function(e){if(a){var t=Or([e],Nr(o));n.next(r?r.apply(void 0,Or([],Nr(t))):t)}}))})}const Eo=(e,t,n)=>{const r="string"==typeof t?t.split("."):t,i=r.shift();return i&&(e[i]??={},r.length?Eo(e[i],r,n):Object.assign(e,{[i]:n})),e};class bo{#Y={};createConfig(e,t){return Ui(this._createConfig(e,t))}async createConfigAsync(e,t){return Gi(this.createConfig(e,t))}_set(e,t){const n="function"==typeof t?t:async()=>t;this.#Y[e]=n}_get(e){return this.#Y[e]}_has(e){return e in this.#Y}_createConfig(e,t){return Ui(this._buildConfig(e,t)).pipe(mo(t=>this._processConfig(t,e)))}_buildConfig(e,t){return Ui(Object.entries(this.#Y)).pipe(Zi(([t,n])=>Ui(n(e)).pipe(no(e=>void 0!==e),qi(e=>({target:t,value:e})),ro(e=>(console.error(`Failed to execute config callback: ${n.name} for attribute: '${t}'`,e),yi)))),oo((e,{target:t,value:n})=>Eo(e,t,n),t??{}))}_processConfig(e,t){return ki(e)}}var wo;!function(e){e[e.Debug=0]="Debug",e[e.Information=1]="Information",e[e.Warning=2]="Warning",e[e.Error=3]="Error",e[e.Critical=4]="Critical"}(wo||(wo={}));class Lo{static[Symbol.hasInstance](e){if(null!==e&&"object"==typeof e&&"version"in e&&"dispose"in e){const t=e,n=T(String(t.version)),r=t.dispose;return!!n&&"function"==typeof r}return!1}#X;#J;get version(){return this.#X}constructor(e){const{version:t}=e;this.#X=new wr(t),this.#J=new Ur}_addTeardown(e){return this.#J.add(e),()=>this.#J.remove(e)}dispose(){this.#J.unsubscribe()}}class Co extends Error{constructor(){super("Module initialization timed out"),this.name="RequiredModuleTimeoutError"}}class So{static className="ModulesConfigurator";get version(){return"6.0.0"}#Q=new li(100);get event$(){return this.#Q.asObservable()}_configs=[];_afterConfiguration=[];_afterInit=[];_modules;constructor(e){this._modules=new Set(e)}get modules(){return[...this._modules]}configure(...e){for(const t of e)this.addConfig(t)}addConfig(e){const{module:t,afterConfig:n,afterInit:r,configure:i}=e;this._modules.add(t),this._registerEvent({level:wo.Debug,name:"moduleConfigAdded",message:`Module configurator added for ${t.name}`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown",configure:!!i,afterConfig:!!n,afterInit:!!r}}),i&&this._configs.push((e,n)=>i(e[t.name],n)),n&&this._afterConfiguration.push(e=>n(e[t.name])),r&&this._afterInit.push(e=>r(e[t.name]))}onConfigured(e){this._afterConfiguration.push(e),this._registerEvent({level:wo.Debug,name:"addOnConfigured",message:"Added onConfigured callback",properties:{count:this._afterConfiguration.length,name:e.name||"anonymous"}})}onInitialized(e){this._afterInit.push(e),this._registerEvent({level:wo.Debug,name:"addOnInitialized",message:"Added onInitialized callback",properties:{count:this._afterInit.length,name:e.name||"anonymous"}})}async initialize(e){const t=performance.now(),n=await this._configure(e),r=Math.round(performance.now()-t);this._registerEvent({level:wo.Debug,name:"initialize.configLoaded",message:`Modules configured in ${r}ms`,properties:{modules:this.modules.map(e=>e.name).join(", "),count:this.modules.length,loadTime:r},metric:r});const i=performance.now(),o=await this._initialize(n,e),s=Math.round(performance.now()-i);this._registerEvent({level:wo.Debug,name:"initialize.instanceInitialized",message:`Modules initialized in ${s}ms`,properties:{modules:this.modules.map(e=>e.name).join(", "),count:this.modules.length,loadTime:s},metric:s});const a=r+s;return this._registerEvent({level:wo.Information,name:"initialize",message:`initialize in ${a}ms`,properties:{modules:this.modules.map(e=>e.name).join(", "),configLoadTime:r,instanceLoadTime:s,totalLoadTime:a},metric:a}),await this._postInitialize(o,e),Object.seal(Object.assign({},o,{dispose:()=>this.dispose(o)}))}_registerEvent(e){const t=e.name.split("::");this.#Q.next({...e,name:`${this.constructor.className}::${t[t.length-1]}`})}async _configure(e){const t=await this._createConfig(e);return await Promise.all(this._configs.map(n=>Promise.resolve(n(t,e)))),await this._postConfigure(t),t}_createConfig(e){const{modules:t,_afterConfiguration:n,_afterInit:r}=this;return Gi(Ui(t).pipe(Zi(async t=>{const n=performance.now();try{const r=await(t.configure?.(e)),i=Math.round(performance.now()-n);return this._registerEvent({level:wo.Debug,name:"_createConfig.configuratorCreated",message:`Configurator created for ${t.name} in ${i}ms`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown",configLoadTime:i},metric:i}),{[t.name]:r}}catch(e){throw this._registerEvent({level:wo.Error,name:"_createConfig.configuratorFailed",message:`Failed to create configurator for ${t.name}`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown"},metric:Math.round(performance.now()-n),error:e}),e}}),oo((e,t)=>Object.assign(e,t),{onAfterConfiguration(e){n.push(e)},onAfterInit(e){r.push(e)}})))}async _postConfigure(e){const{modules:t,_afterConfiguration:n}=this;if(await Promise.allSettled(t.filter(e=>!!e.postConfigure).map(async t=>{try{const n=performance.now();await(t.postConfigure?.(e)),this._registerEvent({level:wo.Debug,name:"_postConfigure.modulePostConfigured",message:`Module ${t.name} post-configured successfully`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown",postConfigTime:Math.round(performance.now()-n)}})}catch(e){this._registerEvent({level:wo.Warning,name:"_postConfigure.modulePostConfigureError",message:`Module ${t.name} post-configure failed`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown"},error:e})}})),n.length)try{this._registerEvent({level:wo.Debug,name:"_postConfigure.hooks",message:`Post configure hooks [${n.length}] called`});const t=performance.now();await Promise.allSettled(n.map(t=>Promise.resolve(t(e))));const r=Math.round(performance.now()-t);this._registerEvent({level:wo.Debug,name:"_postConfigure.hooksComplete",message:"Post configure hooks complete",properties:{count:n.length,postConfigHooksTime:r},metric:r})}catch(e){this._registerEvent({level:wo.Warning,name:"_postConfigure.hooksError",message:"Post configure hook failed",error:e})}}async _initialize(e,t){const n=this.modules.map(e=>e.name),r=new ai({}),i=e=>n.includes(e),o=(e,t=60)=>{if(!n.includes(e)){const n=new Error(`Cannot require [${String(e)}] since module is not defined!`);throw n.name="ModuleNotDefinedError",this._registerEvent({level:wo.Error,name:"_initialize.requireInstance.moduleNotDefined",message:n.message,properties:{moduleName:String(e),wait:t},error:n}),n}if(r.value[e])return this._registerEvent({level:wo.Debug,name:"_initialize.requireInstance.moduleAlreadyInitialized",message:`Module [${String(e)}] is already initialized, skipping queue`,properties:{moduleName:String(e),wait:t}}),Promise.resolve(r.value[e]);const i=performance.now();return this._registerEvent({level:wo.Debug,name:"_initialize.requireInstance.awaiting",message:`Awaiting module [${String(e)}] initialization, timeout ${t}s`,properties:{moduleName:String(e),wait:t}}),Mi(r.pipe(no(t=>!!t[e]),qi(t=>t[e]),function(e){var t=ji(e)?{first:e}:"number"==typeof e?{each:e}:e,n=t.first,r=t.each,i=t.with,o=void 0===i?Hi:i,s=t.scheduler,a=void 0===s?gi:s,c=t.meta,l=void 0===c?null:c;if(null==n&&null==r)throw new TypeError("No timeout provided.");return ti(function(e,t){var i,s,c=null,u=0,f=function(e){s=Ri(t,a,function(){try{i.unsubscribe(),Pi(o({meta:l,lastValue:c,seen:u})).subscribe(t)}catch(e){t.error(e)}},e)};i=e.subscribe(ni(t,function(e){null==s||s.unsubscribe(),u++,t.next(c=e),r>0&&f(r)},void 0,void 0,function(){(null==s?void 0:s.closed)||null==s||s.unsubscribe(),c=null})),!u&&f(null!=n?"number"==typeof n?n:+n-a.now():r)})}({each:1e3*t,with:()=>{return r=Tr(n=()=>{const n=new Co;return this._registerEvent({level:wo.Error,name:"_initialize.requireInstance.timeout",message:`Module [${String(e)}] initialization timed out after ${t}s`,properties:{moduleName:String(e),wait:t},error:n}),n})?n:function(){return n},new Qr(function(e){return e.error(r())});var n,r}}),vo(()=>{const n=Math.round(performance.now()-i);this._registerEvent({level:wo.Debug,name:"_initialize.requireInstance.moduleResolved",message:`Module [${String(e)}] required in ${n}ms`,properties:{moduleName:String(e),wait:t,requireTime:n},metric:n})})))},s=Ui(this.modules).pipe(Zi(n=>{const r=n.name;if(!n.initialize){const e=new Error(`Module ${n.name} does not have initialize method`);throw e.name="ModuleInitializeError",this._registerEvent({level:wo.Error,name:"_initialize.moduleInitializeError",message:e.message,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"},error:e}),e}this._registerEvent({level:wo.Debug,name:"_initialize.moduleInitializing",message:`Initializing module ${n.name}`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"}});const s=performance.now();return Ui(Promise.resolve(n.initialize({ref:t,config:e[r],requireInstance:o,hasModule:i}))).pipe(qi(e=>{e instanceof Lo||this._registerEvent({level:wo.Warning,name:"_initialize.providerNotBaseModuleProvider",message:`Provider for module ${n.name} does not extend BaseModuleProvider`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"}}),e.version||this._registerEvent({level:wo.Warning,name:"_initialize.providerVersionWarning",message:`Provider for module ${n.name} does not expose version`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"}});const t=Math.round(performance.now()-s);return this._registerEvent({level:wo.Debug,name:"_initialize.moduleInitialized",message:`Module ${n.name} initialized in ${t}ms`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown",providerName:typeof e,providerVersion:e.version?.toString()||"unknown",moduleInitTime:t},metric:t}),[r,e]}))})),a=performance.now();s.pipe(so([])).subscribe({next:([e,t])=>{r.next(Object.assign(r.value,{[e]:t}))},error:e=>{this._registerEvent({level:wo.Error,name:"_initialize.moduleInitializationError",message:`Failed to initialize module ${e.name||"unknown"}`,error:e}),r.error(e)},complete:()=>{const e=Math.round(performance.now()-a);return this._registerEvent({level:wo.Debug,name:"_initialize.moduleInitializationComplete",message:`All modules initialized in ${e}ms`,properties:{modules:Object.keys(r.value).join(", "),loadTime:e},metric:e}),r.complete()}});const c=performance.now(),l=await Gi(r),u=Math.round(performance.now()-c);return this._registerEvent({level:wo.Debug,name:"_initialize.complete",message:`Modules instance created in ${u}ms`,properties:{modules:Object.keys(l).join(", "),initTime:u},metric:u}),Object.seal(l),l}async _postInitialize(e,t){const{modules:n,_afterInit:r}=this,i=Ui(n).pipe(no(e=>!!e.postInitialize),vo(e=>{this._registerEvent({level:wo.Debug,name:"_postInitialize.modulePostInitializing",message:`Module ${e.name} is being post-initialized`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}})}),Zi(n=>{const r=performance.now();return Ui(n.postInitialize({ref:t,modules:e,instance:e[n.name]})).pipe(vo(()=>{const e=Math.round(performance.now()-r);this._registerEvent({level:wo.Debug,name:"_postInitialize.modulePostInitialized",message:`Module ${n.name} has been post-initialized in ${e}ms`,metric:e,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown",postInitTime:e}})}),so(null),ro(e=>(this._registerEvent({level:wo.Warning,name:"_postInitialize.modulePostInitializeError",message:`Module ${n.name} post-initialize failed`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"},error:e}),yi)))}),so(null));this._registerEvent({level:wo.Debug,name:"_postInitialize.modulesPostInitializing",message:`Post-initializing all modules [${Object.keys(e).length}]`,properties:{modules:Object.keys(e).join(", ")}});const o=performance.now();await Gi(i);const s=Math.round(performance.now()-o);if(this._registerEvent({level:wo.Debug,name:"_postInitialize.modulesPostInitializeComplete",message:`Post-initialization of all modules completed in ${s}ms`,properties:{modules:Object.keys(e).join(", "),postInitTime:s},metric:s}),r.length)try{this._registerEvent({level:wo.Debug,name:"_postInitialize.afterInitHooks",message:`Executing post-initialize hooks [${r.length}]`,properties:{hooks:r.map(e=>e.name||"anonymous").join(", ")}});const t=performance.now();await Promise.allSettled(r.map(t=>Promise.resolve(t(e))));const n=Math.round(performance.now()-t);this._registerEvent({level:wo.Debug,name:"_postInitialize.afterInitHooksComplete",message:`Post-initialize hooks completed in ${n}ms`,properties:{hooks:r.map(e=>e.name||"anonymous").join(", "),afterInitTime:n},metric:n})}catch(e){this._registerEvent({level:wo.Warning,name:"_postInitialize.afterInitHooksError",message:"Post-initialize hooks failed",properties:{hooks:r.map(e=>e.name||"anonymous").join(", ")},error:e})}const a=Math.round(performance.now()-o);this._registerEvent({level:wo.Debug,name:"_postInitialize.complete",message:"Post-initialization complete",properties:{modules:Object.keys(e).join(", "),postInitCompleteTime:a}})}async dispose(e,t){this._registerEvent({level:wo.Debug,name:"dispose",message:"Disposing modules instance",properties:{modules:Object.keys(e).join(", ")}}),await Promise.allSettled(this.modules.filter(e=>!!e.dispose).map(async n=>{if(n.dispose)try{await n.dispose({ref:t,modules:e,instance:e[n.name]}),this._registerEvent({level:wo.Debug,name:"dispose.moduleDisposed",message:`Module ${n.name} disposed successfully`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"}})}catch(e){this._registerEvent({level:wo.Warning,name:"dispose.moduleDisposeError",message:`Module ${n.name} dispose failed`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"},error:e})}})),this.#Q.complete()}}class _o{_operators;get operators(){return this._operators}constructor(e){this._operators=e&&"operators"in e?{...e.operators}:e??{}}add(e,t){if(Object.keys(this._operators).includes(e))throw Error(`Operator [${e}] already defined`);return this.set(e,t)}set(e,t){return this._operators[e]=t,this}remove(e){return delete this._operators[e],this}get(e){return this._operators[e]}process(e){return Object.values(this._operators).length?Ui(Object.values(this._operators)).pipe((t=(e,t)=>Promise.resolve(t(e)).then(t=>t??e),n=e,r=1,ti(function(e,i){var o=n;return Ki(e,i,function(e,n){return t(o,e,n)},r,function(e){o=e},!1,void 0,function(){return o=null})})),po()):ki(e);var t,n,r}}class Io extends _o{setHeader(e,t){const n=((e,t)=>n=>{const r=new Headers(n.headers);return r.append(e,t),{...n,headers:r}})(e,t);return this.set("header-"+e,n)}}class Do extends _o{}const No=U.object({attributionReporting:U.object({eventSourceEligible:U.boolean().optional(),triggerEligible:U.boolean().optional()}).optional(),body:U.union([U.string(),U.instanceof(Blob),U.instanceof(ArrayBuffer),U.instanceof(FormData),U.instanceof(URLSearchParams),U.instanceof(ReadableStream)]).optional(),browsingTopics:U.boolean().optional(),cache:U.enum(["default","no-store","reload","no-cache","force-cache","only-if-cached"]).optional(),credentials:U.enum(["omit","same-origin","include"]).optional(),headers:U.record(U.string(),U.string()).optional().or(U.instanceof(Headers)),integrity:U.string().optional(),keepalive:U.boolean().optional(),method:U.enum(["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","CONNECT","TRACE"],{message:"Invalid request method. Expected one of: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, CONNECT, TRACE. See RFC 2615 Section 9 for more information: https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html"}).optional().optional(),mode:U.enum(["same-origin","cors","no-cors","navigate","websocket"]).optional(),priority:U.enum(["low","high","auto"]).optional(),redirect:U.enum(["follow","error","manual"]).optional(),referrer:U.string().optional(),referrerPolicy:U.enum(["no-referrer","no-referrer-when-downgrade","origin","origin-when-cross-origin","same-origin","strict-origin","strict-origin-when-cross-origin","unsafe-url"]).optional(),signal:U.instanceof(AbortSignal).optional()}).extend({uri:U.string(),path:U.string().optional()}),Oo=e=>e=>{const{error:t,success:n,data:r}=U.string().optional().refine(e=>void 0===e||e===e?.toUpperCase(),{message:["Provided HTTP method must be in uppercase.","See RFC 7231 Section 4.1 for more information","https://www.rfc-editor.org/rfc/rfc7231#section-4.1"].join(" ")}).safeParse(e.method);if(e.method=n?r:e.method?.toUpperCase(),t)for(const e of t.issues)console.warn(e.message);return e},Po=e=>e=>{const{strict:t,parse:n}={},r=t?No:No.passthrough();try{const t=r.parse(e);return n?t:void 0}catch(e){if(n)throw e;console.error("Invalid request options",e.message)}},Ao=e=>{try{return JSON.parse(e)}catch{return e}};function*Ro(e,t){const n=e.split("\n\n"),r=t?.dataParser||Ao;for(const e of n){if(!e.trim())continue;const t=e.split("\n").reduce((e,t)=>{if(!t)return e;const n=t.indexOf(":");if(-1===n)return e;const i=t.slice(0,n).trim(),o=t.slice(n+1).trim();return"data"===i?e.data=r(o):e[i]=o,e},{});Object.keys(t).length&&(yield t)}}const To=e=>t=>{if(!t.ok)throw new vr(`HTTP error! Status: ${t.status}`,t);if(!t.body)throw new vr("Response body is not readable",t);if(!t.headers.get("Content-Type")?.includes("text/event-stream"))throw new vr("Response is not a text/event-stream",t);const n=t.body.getReader();return Ui(async function*(e,t){const n=!!t?.skipHeartbeats,r=t?.eventFilter?Array.isArray(t.eventFilter)?t.eventFilter:[t.eventFilter]:null,i=new TextDecoder;for(;;){const{done:o,value:s}=await e.read();if(o)break;const a=Ro(i.decode(s,{stream:!0}),{dataParser:t?.dataParser});for(const e of a)if(e.retry)await new Promise(t=>setTimeout(t,Number.parseInt(e.retry??"300",10)));else{if(n){if(!e.event&&!e.data&&!e.id)continue;if(e.event&&["heartbeat","ping"].includes(e.event))continue}(!r||e.event&&r.includes(e.event))&&(yield e)}}}(n,{dataParser:e?.dataParser,skipHeartbeats:e?.skipHeartbeats,eventFilter:e?.eventFilter})).pipe(go(e?.abortSignal?Qi(e.abortSignal,"abort"):yi),fo(async()=>{await n.cancel().catch(()=>{}),n.releaseLock()}))};class $o{_clients={};get clients(){return{...this._clients}}defaultHttpClientCtor;defaultHttpRequestHandler=new Io({"capitalize-method":Oo(),"request-validation":Po()});constructor(e){this.defaultHttpClientCtor=e}hasClient(e){return Object.keys(this._clients).includes(e)}configureClient(e,t){const n="string"==typeof t?{baseUri:t}:t,r="function"==typeof n?{onCreate:n}:n;return this._clients[e]={...this._clients[e],...r},this}}class xo extends Error{}const Fo=["http:","https:","ws:","wss:"];class Uo extends Lo{config;get defaultHttpRequestHandler(){return this.config.defaultHttpRequestHandler}constructor(e){super({version:"8.0.0",config:e}),this.config=e}hasClient(e){return Object.keys(this.config.clients).includes(e)}createClient(e){const t=this._resolveConfig(e),{baseUri:n,defaultScopes:r=[],onCreate:i,ctor:o=this.config.defaultHttpClientCtor,requestHandler:s=this.defaultHttpRequestHandler,responseHandler:a}=t,c=new o(n||"",{requestHandler:s,responseHandler:a});return Object.assign(c,{defaultScopes:r}),i?.(c),c}createCustomClient(e){return this.createClient(e)}_resolveConfig(e){if("string"==typeof e){const n=this.config.clients[e];if(!n&&(e=>{try{const t=new URL(e);return Fo.includes(t.protocol)}catch{return!1}})(e))return{baseUri:e};if(!n&&!(t=e).includes(" ")&&/^[a-z\d]([a-z\d-]*\.)+[a-z]{2,}/i.test(t))return console.warn(`[HttpClientProvider] "${e}" looks like a URL but is missing the http:// or https:// protocol. Treating it as "https://${e}". Pass a fully-qualified URL to silence this warning.`),{baseUri:`https://${e}`};if(!n)throw new xo(`No registered http client for key [${e}]`);return n}var t;return e}}function ko(e,t){void 0===t&&(t={});var n=t.selector,r=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}(t,["selector"]);return new Qr(function(t){var i=new AbortController,o=i.signal,s=!0,a=r.signal;if(a)if(a.aborted)i.abort();else{var c=function(){o.aborted||i.abort()};a.addEventListener("abort",c),t.add(function(){return a.removeEventListener("abort",c)})}var l=Sr(Sr({},r),{signal:o}),u=function(e){s=!1,t.error(e)};return fetch(e,l).then(function(e){n?Pi(n(e)).subscribe(ni(t,void 0,function(){s=!1,t.complete()},u)):(s=!1,t.next(e),t.complete())}).catch(u),function(){s&&i.abort()}})}const Bo=async e=>{if(204===e.status)return Promise.resolve();try{const t=await e.json();if(!e.ok)throw new gr("network response was not OK",e,{data:t});return t}catch(t){if(t instanceof gr)throw t;throw new gr("failed to parse response",e,{cause:t})}},Go=async e=>{if(!e.ok)throw new Error("network response was not OK");if(204===e.status)throw new Error("no content");const t=e.headers.get("content-disposition")?.split(";").find(e=>e.includes("filename="))?.replace("filename=","")?.trim();try{return{filename:t,blob:await e.blob()}}catch(e){throw Error("failed to parse response")}};class Mo{uri;requestHandler;responseHandler;_request$=new oi;_response$=new oi;_abort$=new oi;get request$(){return this._request$.asObservable()}get response$(){return this._response$.asObservable()}constructor(e,t){this.uri=e,this.requestHandler=new Io(t?.requestHandler),this.responseHandler=new Do(t?.responseHandler),this._init()}_init(){}fetch$(e,t){return this._fetch$(e,t)}fetch(e,t){return Mi(this.fetch$(e,t))}fetchAsync(e,t){return this.fetch(e,t)}json$(e,t){const n="object"==typeof t?.body?JSON.stringify(t?.body):t?.body,r=t?.selector??Bo,i=new Headers(t?.headers);return i.append("Accept","application/json"),i.append("Content-Type","application/json"),this.fetch$(e,{...t,body:n,selector:r,headers:i})}json(e,t){return Mi(this.json$(e,t))}blob$(e,t){const n=t?.selector??Go,r={...t,selector:n};return this.fetch$(e,r)}blob(e,t){return Mi(this.blob$(e,t))}sse$(e,t,n){const r=new Headers(t?.headers);r.append("Accept","text/event-stream"),r.append("Content-Type","text/event-stream"),r.append("Cache-Control","no-cache"),r.append("Connection","keep-alive");const i=To({...n,abortSignal:t?.signal});return this._fetch$(e,{selector:i,...t,headers:r})}jsonAsync(e,t){return this.json(e,t)}execute(e,t,n){return this[e](t,n)}abort(){this._abort$.next()}_fetch$(e,t){const{selector:n,...r}=t||{};return ki({...r,path:e,uri:this._resolveUrl(e)}).pipe(mo(e=>this._prepareRequest(e)),vo(e=>this._request$.next(e)),mo(({uri:e,path:t,...n})=>ko(e,n)),mo(e=>this._prepareResponse(e)),vo(e=>this._response$.next(e)),mo(e=>{if(n)try{return n(e)}catch(t){throw new mr("failed to execute response selector",e,{cause:t})}return ki(e)}),go(this._abort$))}_prepareRequest(e){return this.requestHandler.process(e)}_prepareResponse(e){return this.responseHandler.process(e)}_resolveUrl(e){const{origin:t,pathname:n}=new URL(this.uri,this.uri.startsWith("http")?void 0:window.location.origin),r=[n,e].join("/").replace(/\/{2,}/g,"/");return new URL(r,t).href}}class jo extends Mo{defaultScopes=[];fetch$(e,t){const n={...t,scopes:this.defaultScopes.concat(t?.scopes||[])};return super._fetch$(e,n)}}const zo={name:"http",configure:()=>new $o(jo),initialize:async({config:e,hasModule:t,requireInstance:n})=>{const r=new Uo(e);if(t("auth")){const e=await n("auth");r.defaultHttpRequestHandler.set("MSAL",async t=>{const{scopes:n=[]}=t;if(n.length){const r=await e.acquireAccessToken({request:{scopes:n}});if(r){const e=new Headers(t.headers);return e.set("Authorization",`Bearer ${r}`),{...t,headers:e}}}})}return r}},Ho=(...e)=>t=>t.pipe(function(e,t){return Tr(t)?Zi(e,t,1):Zi(e,1)}(...e)),qo=(...e)=>t=>t.pipe(Zi(...e)),Vo=(...e)=>t=>t.pipe(mo(...e)),Wo=e=>e.pipe(qi(e=>e.value));var Ko=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function Zo(e){if(!function(e){return"string"==typeof e&&Ko.test(e)}(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>8,255&t,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)}const Yo=[];for(let e=0;e<256;++e)Yo.push((e+256).toString(16).slice(1));function Xo(e,t=0){return(Yo[e[t+0]]+Yo[e[t+1]]+Yo[e[t+2]]+Yo[e[t+3]]+"-"+Yo[e[t+4]]+Yo[e[t+5]]+"-"+Yo[e[t+6]]+Yo[e[t+7]]+"-"+Yo[e[t+8]]+Yo[e[t+9]]+"-"+Yo[e[t+10]]+Yo[e[t+11]]+Yo[e[t+12]]+Yo[e[t+13]]+Yo[e[t+14]]+Yo[e[t+15]]).toLowerCase()}let Jo;const Qo=new Uint8Array(16);function es(e,t,n,r,i,o){const s="string"==typeof n?function(e){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}(n):n,a="string"==typeof r?Zo(r):r;if("string"==typeof r&&(r=Zo(r)),16!==r?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+s.length);if(c.set(a),c.set(s,a.length),c=t(c),c[6]=15&c[6]|e,c[8]=63&c[8]|128,i){o=o||0;for(let e=0;e<16;++e)i[o+e]=c[e];return i}return Xo(c)}var ts={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function ns(e,t,n){const r=(e=e||{}).random??e.rng?.()??function(){if(!Jo){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Jo=crypto.getRandomValues.bind(crypto)}return Jo(Qo)}();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=15&r[6]|64,r[8]=63&r[8]|128,Xo(r)}function rs(e,t,n){return ts.randomUUID&&!e?ts.randomUUID():ns(e)}function is(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function os(e,t){return e<<t|e>>>32-t}function ss(e){const t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],r=new Uint8Array(e.length+1);r.set(e),r[e.length]=128;const i=(e=r).length/4+2,o=Math.ceil(i/16),s=new Array(o);for(let t=0;t<o;++t){const n=new Uint32Array(16);for(let r=0;r<16;++r)n[r]=e[64*t+4*r]<<24|e[64*t+4*r+1]<<16|e[64*t+4*r+2]<<8|e[64*t+4*r+3];s[t]=n}s[o-1][14]=8*(e.length-1)/Math.pow(2,32),s[o-1][14]=Math.floor(s[o-1][14]),s[o-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<o;++e){const r=new Uint32Array(80);for(let t=0;t<16;++t)r[t]=s[e][t];for(let e=16;e<80;++e)r[e]=os(r[e-3]^r[e-8]^r[e-14]^r[e-16],1);let i=n[0],o=n[1],a=n[2],c=n[3],l=n[4];for(let e=0;e<80;++e){const n=Math.floor(e/20),s=os(i,5)+is(n,o,a,c)+l+t[n]+r[e]>>>0;l=c,c=a,a=os(o,30)>>>0,o=i,i=s}n[0]=n[0]+i>>>0,n[1]=n[1]+o>>>0,n[2]=n[2]+a>>>0,n[3]=n[3]+c>>>0,n[4]=n[4]+l>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}function as(e,t,n,r){return es(80,ss,e,t,n,r)}as.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",as.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";class cs extends Error{type;request;constructor(e,t){super(t.message,{cause:t.cause}),this.type=e,this.name="QueryClientError",this.request=t.request}}var ls=Symbol.for("immer-nothing"),us=Symbol.for("immer-draftable"),fs=Symbol.for("immer-state"),ps="production"!==process.env.NODE_ENV?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function ds(e,...t){if("production"!==process.env.NODE_ENV){const n=ps[e],r=Fs(n)?n.apply(null,t):n;throw new Error(`[Immer] ${r}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var hs=Object,ms=hs.getPrototypeOf,gs="constructor",vs="prototype",ys="configurable",Es="enumerable",bs="writable",ws="value",Ls=e=>!!e&&!!e[fs];function Cs(e){return!!e&&(Is(e)||Rs(e)||!!e[us]||!!e[gs]?.[us]||Ts(e)||$s(e))}var Ss=hs[vs][gs].toString(),_s=new WeakMap;function Is(e){if(!e||!xs(e))return!1;const t=ms(e);if(null===t||t===hs[vs])return!0;const n=hs.hasOwnProperty.call(t,gs)&&t[gs];if(n===Object)return!0;if(!Fs(n))return!1;let r=_s.get(n);return void 0===r&&(r=Function.toString.call(n),_s.set(n,r)),r===Ss}function Ds(e,t,n=!0){if(0===Ns(e)){(n?Reflect.ownKeys(e):hs.keys(e)).forEach(n=>{t(n,e[n],e)})}else e.forEach((n,r)=>t(r,n,e))}function Ns(e){const t=e[fs];return t?t.type_:Rs(e)?1:Ts(e)?2:$s(e)?3:0}var Os=(e,t,n=Ns(e))=>2===n?e.has(t):hs[vs].hasOwnProperty.call(e,t),Ps=(e,t,n=Ns(e))=>2===n?e.get(t):e[t],As=(e,t,n,r=Ns(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n};var Rs=Array.isArray,Ts=e=>e instanceof Map,$s=e=>e instanceof Set,xs=e=>"object"==typeof e,Fs=e=>"function"==typeof e,Us=e=>"boolean"==typeof e;var ks=e=>e.copy_||e.base_,Bs=e=>e.modified_?e.copy_:e.base_;function Gs(e,t){if(Ts(e))return new Map(e);if($s(e))return new Set(e);if(Rs(e))return Array[vs].slice.call(e);const n=Is(e);if(!0===t||"class_only"===t&&!n){const t=hs.getOwnPropertyDescriptors(e);delete t[fs];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const i=n[r],o=t[i];!1===o[bs]&&(o[bs]=!0,o[ys]=!0),(o.get||o.set)&&(t[i]={[ys]:!0,[bs]:!0,[Es]:o[Es],[ws]:e[i]})}return hs.create(ms(e),t)}{const t=ms(e);if(null!==t&&n)return{...e};const r=hs.create(t);return hs.assign(r,e)}}function Ms(e,t=!1){return zs(e)||Ls(e)||!Cs(e)||(Ns(e)>1&&hs.defineProperties(e,{set:js,add:js,clear:js,delete:js}),hs.freeze(e),t&&Ds(e,(e,t)=>{Ms(t,!0)},!1)),e}var js={[ws]:function(){ds(2)}};function zs(e){return null===e||!xs(e)||hs.isFrozen(e)}var Hs="MapSet",qs="Patches",Vs="ArrayMethods",Ws={};function Ks(e){const t=Ws[e];return t||ds(0,e),t}var Zs,Ys=e=>!!Ws[e],Xs=()=>Zs;function Js(e,t){t&&(e.patchPlugin_=Ks(qs),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Qs(e){ea(e),e.drafts_.forEach(na),e.drafts_=null}function ea(e){e===Zs&&(Zs=e.parent_)}var ta=e=>Zs={drafts_:[],parent_:Zs,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Ys(Hs)?Ks(Hs):void 0,arrayMethodsPlugin_:Ys(Vs)?Ks(Vs):void 0};function na(e){const t=e[fs];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function ra(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[fs].modified_&&(Qs(t),ds(4)),Cs(e)&&(e=ia(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[fs].base_,e,t)}else e=ia(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ms(t,n)}(t,e,!0),Qs(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==ls?e:void 0}function ia(e,t){if(zs(t))return t;const n=t[fs];if(!n){return ua(t,e.handledSet_,e)}if(!sa(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:t}=n;if(t)for(;t.length>0;){t.pop()(e)}la(n,e)}return n.copy_}function oa(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var sa=(e,t)=>e.scope_===t,aa=[];function ca(e,t,n,r){const i=ks(e),o=e.type_;if(void 0!==r){if(Ps(i,r,o)===t)return void As(i,r,n,o)}if(!e.draftLocations_){const t=e.draftLocations_=new Map;Ds(i,(e,n)=>{if(Ls(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const s=e.draftLocations_.get(t)??aa;for(const e of s)As(i,e,n,o)}function la(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:n}=t;if(n){const r=n.getPath(e);r&&n.generatePatches_(e,r,t)}oa(e)}}function ua(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Ls(e)||t.has(e)||!Cs(e)||zs(e)||(t.add(e),Ds(e,(r,i)=>{if(Ls(i)){const t=i[fs];if(sa(t,n)){const n=Bs(t);As(e,r,n,e.type_),oa(t)}}else Cs(i)&&ua(i,t,n)})),e}var fa={get(e,t){if(t===fs)return e;let n=e.scope_.arrayMethodsPlugin_;const r=1===e.type_&&"string"==typeof t;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const i=ks(e);if(!Os(i,t,e.type_))return function(e,t,n){const r=ha(t,n);return r?ws in r?r[ws]:r.get?.call(e.draft_):void 0}(e,i,t);const o=i[t];if(e.finalized_||!Cs(o))return o;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return o;if(o===da(e.base_,t)){ga(e);const n=1===e.type_?+t:t,r=va(e.scope_,o,e,n);return e.copy_[n]=r}return o},has:(e,t)=>t in ks(e),ownKeys:e=>Reflect.ownKeys(ks(e)),set(e,t,n){const r=ha(ks(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=da(ks(e),t),s=r?.[fs];if(s&&s.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(((i=n)===(o=r)?0!==i||1/i==1/o:i!=i&&o!=o)&&(void 0!==n||Os(e.base_,t,e.type_)))return!0;ga(e),ma(e)}var i,o;return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),function(e,t,n){const{scope_:r}=e;if(Ls(n)){const i=n[fs];sa(i,r)&&i.callbacks_.push(function(){ga(e);const r=Bs(i);ca(e,n,r,t)})}else Cs(n)&&e.callbacks_.push(function(){const i=ks(e);3===e.type_?i.has(n)&&ua(n,r.handledSet_,r):Ps(i,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&ua(Ps(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(ga(e),void 0!==da(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),ma(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=ks(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[bs]:!0,[ys]:1!==e.type_||"length"!==t,[Es]:r[Es],[ws]:n[t]}:r},defineProperty(){ds(11)},getPrototypeOf:e=>ms(e.base_),setPrototypeOf(){ds(12)}},pa={};for(let e in fa){let t=fa[e];pa[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function da(e,t){const n=e[fs];return(n?ks(n):e)[t]}function ha(e,t){if(!(t in e))return;let n=ms(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=ms(n)}}function ma(e){e.modified_||(e.modified_=!0,e.parent_&&ma(e.parent_))}function ga(e){e.copy_||(e.assigned_=new Map,e.copy_=Gs(e.base_,e.scope_.immer_.useStrictShallowCopy_))}pa.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&ds(13),pa.set.call(this,e,t,void 0)},pa.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&ds(14),fa.set.call(this,e[0],t,n,e[0])};function va(e,t,n,r){const[i,o]=Ts(t)?Ks(Hs).proxyMap_(t,n):$s(t)?Ks(Hs).proxySet_(t,n):function(e,t){const n=Rs(e),r={type_:n?1:0,scope_:t?t.scope_:Xs(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,o=fa;n&&(i=[r],o=pa);const{revoke:s,proxy:a}=Proxy.revocable(i,o);return r.draft_=a,r.revoke_=s,[a,r]}(t,n);return(n?.scope_??Xs()).drafts_.push(i),o.callbacks_=n?.callbacks_??[],o.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const i=t;if(!i||!sa(i,r))return;r.mapSetPlugin_?.fixSetContents(i);const o=Bs(i);ca(e,i.draft_??i,o,n),la(i,r)})}(n,o,r):o.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(o);const{patchPlugin_:t}=e;o.modified_&&t&&t.generatePatches_(o,[],e)}),i}function ya(e){if(!Cs(e)||zs(e))return e;const t=e[fs];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Gs(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Gs(e,!0);return Ds(n,(e,t)=>{As(n,e,ya(t))},r),t&&(t.finalized_=!1),n}var Ea=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Fs(e)&&!Fs(t)){const n=t;t=e;const r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}let r;if(Fs(t)||ds(6),void 0===n||Fs(n)||ds(7),Cs(e)){const i=ta(this),o=va(i,e,void 0);let s=!0;try{r=t(o),s=!1}finally{s?Qs(i):ea(i)}return Js(i,n),ra(r,i)}if(!e||!xs(e)){if(r=t(e),void 0===r&&(r=e),r===ls&&(r=void 0),this.autoFreeze_&&Ms(r,!0),n){const t=[],i=[];Ks(qs).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}ds(1,e)},this.produceWithPatches=(e,t)=>{if(Fs(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Us(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Us(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Us(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Cs(e)||ds(8),Ls(e)&&(e=function(e){Ls(e)||ds(10,e);return ya(e)}(e));const t=ta(this),n=va(t,e,void 0);return n[fs].isManual_=!0,ea(t),n}finishDraft(e,t){const n=e&&e[fs];n&&n.isManual_||ds(9);const{scope_:r}=n;return Js(r,t),ra(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=Ks(qs).applyPatches_;return Ls(e)?r(e,t):this.produce(e,e=>r(e,t))}},ba=Ea.produce;const wa=(...e)=>no(t=>e.includes(t.type));class La extends Qr{#ee=new oi;#te;get action$(){return this.#ee.asObservable()}get value(){return this.#te.value}get closed(){return this.#te.closed||this.#ee.closed}constructor(e,t){super(e=>this.#te.subscribe(e));const n="getInitialState"in e?e.getInitialState():t;this.#te=new ai(n),this.#ee.pipe(function(e,t){return ti(io(e,t,arguments.length>=2,!0))}(e,n),ao()).subscribe(this.#te),this.reset=()=>this.#te.next(n)}reset;next(e){this.#ee.next(e)}select(e,t){return this.#te.pipe(qi(e),ao(t))}addEffect(e,t){const n="function"==typeof e?this.action$:Array.isArray(e)?this.action$.pipe(wa(...e)):this.action$.pipe(wa(e)),r=t||e;return n.pipe(Zi(e=>Ui(new Promise((t,n)=>{try{t(r(e,this.value))}catch(e){n(e)}})).pipe(ro(e=>(console.warn("unhandled effect",e),yi)))),no(e=>!!e),Ti(gi)).subscribe(this.#ee)}addEpic(e){return this.addFlow(e)}addFlow(e){const t=e(this.action$,this);if(!t)throw new TypeError(`addEpic: one of the provided effects "${e.name||"<anonymous>"}" does not return a stream. Double check you're not missing a return statement!`);return t.pipe(ro(e=>(console.trace("unhandled exception, epic closed!",e),yi)),Ti(gi)).subscribe(this.#ee)}unsubscribe(){this.#ee.unsubscribe(),this.#te.unsubscribe()}complete(){this.#ee.complete(),this.#te.complete()}asObservable(){return this.#te.asObservable()}}function Ca(e,t){function n(...n){if(t){const r=t(...n);if(!r)throw new Error("prepareAction did not return an object");return{type:e,payload:r.payload,..."meta"in r&&{meta:r.meta},..."error"in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>t.type===e,n}const Sa="::";function _a(e,t,n,r){const i=Ca([e,"request"].join(Sa),t);return n&&Object.assign(i,{success:Ca([e,"success"].join(Sa),n)}),r&&Object.assign(i,{failure:Ca([e,"failure"].join(Sa),r)}),i}function Ia(e){return Cs(e)?ba(e,()=>{}):e}function Da(e,t){const[n,r,i]=function(e){const t={},n=[];let r;const i={addCase(e,o){if("production"!==process.env.NODE_ENV){if(n.length>0)throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`");if(r)throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`")}const s="string"==typeof e?e:e.type;if(s in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[s]=o,i},addMatcher(e,t){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addDefaultCase` can only be called once");return r=e,i}};return e(i),[t,n,r]}(t);let o;if("function"==typeof e)o=()=>Ia(e());else{const t=Ia(e);o=()=>t}function s(e,t){let s=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return i&&0===s.filter(e=>!!e).length&&(s=[i]),s.reduce((e,n)=>{if(n){if(Ls(e)){const r=n(e,t);return void 0===r?e:r}if(Cs(e))return ba(e,e=>n(e,t));{const r=n(e,t);if(void 0===r){if(null===e)return e;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}}return e},e??o())}return s.getInitialState=o,s}const Na={request:Ca("client/request",(e,t)=>({payload:{args:e,options:t},meta:{transaction:rs(),created:Date.now()}})),execute:_a("client/execute",e=>({payload:e,meta:{transaction:e,created:Date.now()}}),e=>({payload:e,meta:{transaction:e.transaction,created:Date.now()}}),(e,t)=>({payload:{error:e},meta:{transaction:t,created:Date.now()}})),cancel:Ca("client/cancel",(e,t)=>({payload:{transaction:e,reason:t},meta:{transaction:e,created:Date.now()}})),error:Ca("client/error",(e,t)=>({payload:{transaction:e,error:t},meta:{transaction:e,created:Date.now()}}))},Oa=e=>e.pipe(no(Na.request.match),qi(e=>Na.execute(e.meta.transaction)));class Pa extends Qr{#ne=new ai("idle");get status(){return this.#ne.value}get status$(){return this.#ne.asObservable()}#re;#ie;get transaction(){return this.#ie}created=Date.now();get closed(){return"complete"===this.status||"error"===this.status||"canceled"===this.status}constructor(e,t,n){super(t=>{const{transaction:r}=this,i=e.action$.pipe(no(e=>e.meta.transaction===r));t.add(e.state$.pipe(no(e=>!!e[r]),qi(e=>e[r])).subscribe(e=>{this.#ne.next(e.status)})),t.add(i.pipe(no(Na.execute.success.match),qi(({payload:e})=>e)).subscribe(e=>{this.#ne.next("complete"),t.next(e),t.complete()})),t.add(i.pipe(no(Na.error.match),qi(({payload:e})=>e)).subscribe(e=>{this.#ne.next("error"),t.error(e.error)})),t.add(i.pipe(no(Na.cancel.match)).subscribe(e=>{this.#ne.next("canceled"),t.error(new cs("abort",{message:e.payload.reason||`job: ${r} was canceled`,request:this.#re.getRequest(e.meta.transaction)}))})),n?.signal&&t.add(Qi(n?.signal,"abort").pipe(qi(()=>Na.cancel(r,`job: ${r} was aborted on signal from caller: ${n?.ref}`))).subscribe(t=>e.next(t))),t.add(()=>{this.complete()})}),this.#re=e;const r=Na.request(t,{ref:n?.ref,retry:n?.retry});this.#ie=r.meta.transaction,this.#re.next(r)}complete(e){this.closed||this.cancel(e??`job: ${this.transaction} was completed`)}cancel(e){const t=this.transaction;this.#re.cancel(t,e??`job: ${t} was canceled`)}[Symbol.dispose](){this.complete()}}class Aa{type;transaction;data;constructor(e,t,n){this.type=e,this.transaction=t,this.data=n}}class Ra extends Qr{#te;#oe;#se;_registerEvent(e,t,n){this.#se.next(new Aa(e,t,n))}get closed(){return this.#te.closed}get state$(){return this.#te.asObservable()}get action$(){return this.#te.action$}get event$(){return this.#se.asObservable()}get success$(){return this.action$.pipe(no(Na.execute.success.match),qi(({payload:e})=>e))}get error$(){return this.action$.pipe(wa("client/error"),yo(this.#te),qi(([e,t])=>{const{payload:n,meta:{transaction:r}}=e,i=t[r];return new cs("error",{request:i,message:`job: ${r} failed`,cause:n})}))}constructor(e,t){super(e=>this.#te.subscribe(e)),this.#te=new La(((e={})=>Da(e,e=>{e.addCase(Na.request,(e,t)=>{e[t.meta.transaction]={...t.payload,...t.meta,execution:[],errors:[],status:"idle"}}),e.addCase(Na.execute,(e,t)=>{const n=e[t.payload];n&&(n.execution.push(Date.now()),n.status="active")}),e.addCase(Na.execute.success,(e,t)=>{delete e[t.payload.transaction]}),e.addCase(Na.execute.failure,(e,t)=>{const n=e[t.meta.transaction];n&&(n.errors.push(t.payload.error),n.status="failed")}),e.addCase(Na.error,(e,t)=>{delete e[t.meta.transaction]}),e.addCase(Na.cancel,(e,t)=>{delete e[t.meta.transaction]})}))({})),this.#oe=new Ur(()=>{this.#te.complete(),this.#se.complete()}),this.#se=new oi,this.#oe.add(this.#te.addFlow(Oa)),this.#oe.add(this.#te.addFlow((e=>(t,n)=>t.pipe(no(Na.execute.match),yo(n),Zi(([n,r])=>{const i=n.payload,o=r[i],s=new AbortController,a=t.pipe(no(Na.cancel.match),no(e=>e.payload.transaction===i),vo(()=>{s.signal.aborted||s.abort()}));try{return Ui(e(o.args,s.signal)).pipe(qi(e=>Na.execute.success({...o,status:"complete",completed:Date.now(),value:e})),ro(e=>ki(Na.execute.failure(e,i))),go(a))}catch(e){return ki(Na.execute.failure(e,i))}})))(e))),this.#oe.add(this.#te.addFlow((e=>(t,n)=>t.pipe(no(Na.execute.failure.match),yo(n),Zi(([t,r])=>{const{transaction:i}=t.meta,o=r[i];if(!o)return ki(Na.error(i,new cs("error",{message:"request not found, cannot retry request, most likely removed while scheduled for retry!"})));const s=o.execution.length,a=Object.assign({},e,o.options?.retry),c=o.errors?.slice(-1)[0]??new cs("error",{message:"no errors registered for request!",request:o});if(s>a.count){const e=0===a.count?c:new cs("error",{message:"maximum retries executed!",cause:o.errors,request:o});return ki(Na.error(i,e))}return("function"==typeof a.delay?Ui(a.delay(c)).pipe(ro(e=>ki(Na.error(i,new cs("error",{message:"retry delay callback failed!",cause:[...o.errors??[],e],request:o}))))):to(a.delay)).pipe(yo(n),no(([e,t])=>!!t[i]),vo(([,e])=>{if(!e[i])throw new cs("error",{message:"request not found, most likely removed while scheduled for retry",cause:o.errors,request:o})}),qi(()=>Na.execute(i)))})))(Object.assign({count:0,delay:0},t?.retry)))),this.#te.addEffect(Na.request.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_requested",t,e)}),this.#te.addEffect(Na.execute.type,({meta:{transaction:e}})=>{this._registerEvent("query_client_job_executing",e)}),this.#te.addEffect(Na.execute.success.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_completed",t,{payload:e})}),this.#te.addEffect(Na.execute.failure.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_failed",t,{error:n})}),this.#te.addEffect(Na.cancel.type,({payload:{reason:e},meta:{transaction:t}})=>{this._registerEvent("query_client_job_canceled",t,{reason:e||"no reason provided"})}),this.#te.addEffect(Na.error.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_error",t,{error:n})})}next(e){this.#te.next(e)}query(e,t){const n=new Pa(this,e,t),r=n.pipe(function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new oi}:t,r=e.resetOnError,i=void 0===r||r,o=e.resetOnComplete,s=void 0===o||o,a=e.resetOnRefCountZero,c=void 0===a||a;return function(e){var t,r,o,a=0,l=!1,u=!1,f=function(){null==r||r.unsubscribe(),r=void 0},p=function(){f(),t=o=void 0,l=u=!1},d=function(){var e=t;p(),null==e||e.unsubscribe()};return ti(function(e,h){a++,u||l||f();var m=o=null!=o?o:n();h.add(function(){0!==--a||u||l||(r=ho(d,c))}),m.subscribe(h),!t&&a>0&&(t=new Kr({next:function(e){return m.next(e)},error:function(e){u=!0,f(),r=ho(p,i,e),m.error(e)},complete:function(){l=!0,f(),r=ho(p,s),m.complete()}}),Pi(e).subscribe(t))})(e)}}({connector:()=>new li,resetOnRefCountZero:!1}));return Object.defineProperties(r,{transaction:{get:()=>n.transaction},created:{get:()=>n.created},status:{get:()=>n.status},closed:{get:()=>n.closed},cancel:{value:e=>n.cancel(e)},complete:{value:()=>n.complete()}}),r}async nextAsync(e,t){return Mi(this.query(e,t))}getRequest(e){return this.#te.value[e]}getRequestByRef(e){return Object.values(this.#te.value).find(t=>t.ref===e)}cancelTaskByRef(e,t){const n=this.getRequestByRef(e);n?.ref&&this.cancel(n.transaction,t)}cancel(e,t){if(e)this.#te.value[e]&&(t??=`cancelation requested for job: ${e}`,this.#te.next(Na.cancel(e,t)));else for(const e of Object.keys(this.#te.value))this.cancel(e,"all transactions requested canceled")}on(e,t){return this.#te.addEffect(Na[e].type,e=>{t(e,this)})}complete(){this.#oe.unsubscribe()}}const Ta={set:Ca("cache/set",(e,t)=>({payload:{key:e,record:t}})),insert:Ca("cache/insert",(e,t)=>({payload:{key:e,entry:t}})),remove:Ca("cache/remove",e=>({payload:e})),invalidate:Ca("cache/invalidate",(e,t)=>({payload:e,meta:{item:t}})),mutate:Ca("cache/mutate",(e,t,n)=>({payload:{...t,key:e},meta:{item:n}})),trim:Ca("cache/trim",e=>({payload:e}))},$a=(e,t)=>(t.updated??0)-(e.updated??0);class xa{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class Fa{#te;#se;get state(){return this.#te.value}get state$(){return this.#te.asObservable()}get action$(){return this.#te.action$}_registerEvent(e,t){this.#se.next(new xa(e,t?.key,t?.data))}get event$(){return this.#se.asObservable()}constructor(e){const{trimming:t,initial:n}=e??{};this.#te=new La(function(e,t={}){return Da(t,t=>t.addCase(e.set,(e,t)=>{const{key:n,record:r}=t.payload;e[n]=r}).addCase(e.insert,(e,t)=>{const{key:n,entry:r}=t.payload,i=e[n];if(i)i.updated=Date.now(),i.updates??=0,i.updates++,i.value=r.value,i.transaction=r.transaction,i.mutated=void 0;else{const t=Date.now();e[n]={...r,created:t,updated:t}}}).addCase(e.remove,(e,t)=>{delete e[t.payload]}).addCase(e.invalidate,(e,t)=>{const n=t.payload?[t.payload]:Object.keys(e);for(const t of n){const n=e[t];n&&(n.updated=void 0)}}).addCase(e.mutate,(e,t)=>{const{key:n,value:r,updated:i}=t.payload,o=e[n];o&&(o.value=r,o.updated=i,o.mutated=Date.now(),o.updates??=0,o.updates++)}).addCase(e.trim,(e,t)=>{const{payload:n}=t,r=n.sort??$a,i=Object.keys(e),o=Object.entries(e).filter(([e,t])=>!n.validate||n.validate(t)).sort((e,t)=>r(e[1],t[1])).slice(0,n.size??Number.MAX_SAFE_INTEGER).map(([e])=>e);if(i.length!==o.length)for(const t of i){const n=o.indexOf(t);-1!==n?o.splice(n,1):delete e[t]}}))}(Ta,n)),t&&this.#te.addEffect("cache/set",()=>this.#te.next(Ta.trim(t))),this.#se=new oi}has(e){return e in this.#te.value}setItem(e,t){const{args:n,transaction:r,value:i}=t;this.#te.next(Ta.insert(e,{args:n,transaction:r,value:i})),this._registerEvent("query_cache_entry_inserted",{key:e,data:{value:i,args:n,transaction:r}})}getItem(e){return this.#te.value[e]}removeItem(e){this.#te.next(Ta.remove(e)),this._registerEvent("query_cache_entry_removed",{key:e})}invalidate(e){const t=e?this.#te.value[e]:void 0;this.#te.next(Ta.invalidate(e,t)),e&&this._registerEvent("query_cache_entry_invalidated",{key:e,data:{previousValue:t?.value}})}mutate(e,t){const n=e in this.#te.value?this.#te.value[e]:void 0;if(!n)throw new Error(`Cannot mutate cache item with key ${e}: item not found`);const r="function"==typeof t?t(n?.value):t;return this.#te.next(Ta.mutate(e,r,n)),this._registerEvent("query_cache_entry_mutated",{key:e,data:{previousValue:n.value,newValue:r,mutation:r}}),()=>this.#te.next(Ta.set(e,n))}trim(e){const t=new Set(Object.keys(this.#te.value));this.#te.next(Ta.trim(e));const n=new Set(Object.keys(this.#te.value)),r=Array.from(t).filter(e=>!n.has(e));this._registerEvent("query_cache_trimmed",{data:{removedKeys:r,criteria:e}})}reset(){this.#te.reset(),this._registerEvent("query_cache_reset")}complete(){this.#te.complete(),this.#se.complete()}}class Ua extends oi{key;args;options;#ae=Date.now();get created(){return this.#ae}#ce=rs();get uuid(){return this.#ce}constructor(e,t,n){super(),this.key=e,this.args=t,this.options=n}processJob(e){return e.pipe(qi(t=>{const{key:n,uuid:r,created:i}=this;return{key:n,uuid:r,created:i,status:"complete",transaction:e.transaction,complete:t.completed,value:t.value}}),fo(()=>{e.complete()})).subscribe(this)}}class ka{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class Ba{static extractQueryValue=Wo;#oe=new Ur;#re;#le;#ue=new oi;#fe={};#pe;#de;#he=rs();#Q;get client(){return this.#re}_registerEvent(e,t,n){this.#Q.next(new ka(e,t,n))}get cache(){return this.#le}get event$(){return this.#Q.asObservable()}constructor(e){this.#Q=new oi,this.#pe=t=>as(e.key(t),this.#he),this.#de=e?.validate??((e=0)=>t=>(t.updated??0)+e>Date.now())(e?.expire),e.client instanceof Ra?this.#re=e.client:(this.#re=new Ra(e.client.fn,{...e.client.options}),this.#oe.add(()=>this.#re.complete())),this.#oe.add(this.#re.event$.subscribe({next:e=>this.#Q.next(e)})),e.cache instanceof Fa?this.#le=e.cache:(this.#le=new Fa(e.cache||{}),this.#oe.add(()=>this.#le.complete())),this.#oe.add(this.#le.event$.subscribe({next:e=>this.#Q.next(e)}));const t=((e="switch")=>"function"==typeof e?e:(()=>{switch(e){case"concat":return Ho;case"merge":return qo;case"switch":return Vo;default:throw new Error(`Invalid queue operator: ${e}`)}})())(e.queueOperator);var n,r;this.#oe.add(()=>this.#ue.complete()),this.#oe.add(this.#ue.pipe(vo(e=>{this._registerEvent("query_queued",e)}),no(e=>!!(e in this.#fe)),t(e=>{const t=this.#fe[e],{args:n,options:r,uuid:i}=t;if(this._registerEvent("query_job_selected",e,{taskId:i,args:n,options:r}),!t?.observed)return this._registerEvent("query_job_skipped",e,{taskId:i,args:n,options:r}),delete this.#fe[e],yi;const o=this.#re.query(n,{...r,ref:t.uuid});return new Qr(s=>{const{transaction:a}=o;var c,l;this._registerEvent("query_job_started",e,{taskId:i,transaction:a,args:n,options:r}),s.add(()=>{this._registerEvent("query_job_closed",e,{taskId:i,transaction:a,args:n,options:r}),o.complete("task closed"),delete this.#fe[e]}),s.add((c=10,void 0===l&&(l=gi),to(c,c,l)).pipe(no(()=>!t.observed)).subscribe(()=>{o.cancel(`task: ${t.uuid} is not observed`),s.complete()})),s.add(t.processJob(o).add(()=>{this._registerEvent("query_job_completed",e,{taskId:i,transaction:a,args:n,options:r})})),o.pipe(qi(e=>({result:e,task:t})),ro(()=>yi)).subscribe(s)})}),(n=()=>!this.#re.closed,void 0===r&&(r=!1),ti(function(e,t){var i=0;e.subscribe(ni(t,function(e){var o=n(e,i++);(o||r)&&t.next(e),!o&&t.complete()}))}))).subscribe(e=>{const{value:t,transaction:n}=e.result,{args:r,key:i,uuid:o}=e.task;this._registerEvent("query_cache_added",i,{data:t,taskId:o,args:r,transaction:n}),this._registerEvent("query_completed",i,{data:t,hasValidCache:!0}),this.#le.setItem(i,{value:t,args:r,transaction:n})}))}query(e,t){return this._query(e,t)}queryAsync(e,t){const{skipResolve:n,...r}=t||{},i=n?Mi:Gi;return new Promise((n,o)=>{t?.signal&&t.signal.addEventListener("abort",()=>o(new Error("Query aborted"))),i(this._query(e,r).pipe(lo())).then(n,o)})}persistentQuery(e,t){const n=this.#pe(e),r=this._query(e,t);return new Qr(i=>{i.add(r.subscribe({next:i.next.bind(i),error:i.error.bind(i)}));const o=t?.cache?.validate||this.#de;i.add(this.cache.state$.pipe(no(e=>n in e),qi(t=>({...t[n],key:n,status:"cache",hasValidCache:o(t[n],e)}))).subscribe(i))}).pipe(ao((e,t)=>e.transaction===t.transaction&&e.mutated===t.mutated))}generateCacheKey(e){return this.#pe(e)}mutate(e,t,n){const r=this.#pe(e);if(r in this.cache.state==!1){if(void 0===n?.allowCreation)throw new Error(`Cannot mutate cache item with key ${r}: item not found and option "allowCreation" is false`);if(!1===n.allowCreation)return()=>{};const{value:i}="function"==typeof t?t():t;this.cache.setItem(r,{args:e,transaction:rs(),value:i})}return this.#le.mutate(r,t)}invalidate(e){this.#le.invalidate(e&&this.#pe(e))}complete(){this.#oe.unsubscribe(),this.#Q?.complete()}onInvalidate(e){const t=this.#le.action$.pipe(wa("cache/invalidate")).subscribe(t=>e({detail:{item:t.meta.item}}));return()=>t.unsubscribe()}onMutate(e){const t=this.#le.action$.pipe(wa("cache/mutate")).subscribe(t=>e({detail:{changes:t.payload,current:t.meta.item}}));return()=>t.unsubscribe()}_query(e,t){const n=this.#pe(e),r=this._createTask(n,e,t);return this._registerEvent("query_created",n,{args:e,options:t}),r}_createTask(e,t,n){return new Qr(r=>{if(n?.signal){if(n?.signal.aborted)return this._registerEvent("query_aborted",e),r.complete();r.add(Qi(n?.signal,"abort").subscribe(()=>{this._registerEvent("query_aborted",e),r.complete()}))}const i=this.#le.getItem(e);if(i){this._registerEvent("query_cache_hit",e,{cacheEntry:i});const o=n?.cache?.suppressInvalid??!1,s=(n?.cache?.validate||this.#de)(i,t),a={...i,key:e,status:"cache",hasValidCache:s};if(r.next(a),s||o)return this._registerEvent("query_completed",e,{data:i.value,hasValidCache:s}),r.complete();this._registerEvent("query_cache_miss",e)}const o=e in this.#fe;o?this._registerEvent("query_connected",e,{isExistingTask:!0}):(this.#fe[e]=new Ua(e,t,n),this._registerEvent("query_job_created",e,{taskId:this.#fe[e].uuid,args:t,options:n}));const s=this.#fe[e];r.add(s.subscribe(r)),o||this.#ue.next(e)})}}const Ga=F.object({key:F.string().describe("The key used to identify the service"),uri:F.string().describe("The URI of the service"),id:F.string().optional().describe("The ID of the service"),environment:F.string().optional().describe("The environment of the service"),name:F.string().optional().describe("The name of the service"),scopes:F.array(F.string()).optional().default([]).describe("Endpoint authentication scopes"),tags:F.array(F.string()).optional().describe("Tags for the service")}).describe("A service from the service discovery API").transform(e=>({...e,get defaultScopes(){return e.scopes??[]}})),Ma=F.array(Ga).describe("A list of services from the service discovery API");class ja{#me;endpoint;http;constructor(e){this.http=e.http,this.endpoint=e.endpoint;const t=e.postProcess;this.#me=new Ba({client:{fn:()=>this.http.fetch$(this.endpoint??"",{selector:e=>((e,t)=>{const n=Ui(Bo(e)).pipe(qi(e=>Ma.default([]).parse(e)));return t?n.pipe(t):n})(e,t)})},key:()=>"services",expire:3e5})}resolveServices(e){return(e?Mi:Gi)(Ba.extractQueryValue(this.#me.query()))}async resolveService(e,t){const n=(await this.resolveServices(t)).find(t=>t.key===e);if(!n)throw Error(`Failed to resolve service, invalid key [${e}]`);return n}}class za extends bo{async _createConfig(e,t){if(!e.hasModule("http"))throw new Error("http module is required");if(!this._has("discoveryClient")){(await e.requireInstance("http")).hasClient("service_discovery")&&this.configureServiceDiscoveryClientByClientKey("service_discovery")}return Gi(Ui(super._createConfig(e,t)))}_processConfig(e,t){if(!e.discoveryClient)throw new Error("discoveryClient is required, please configure it");return super._processConfig(e,t)}setServiceDiscoveryClient(e){this._set("discoveryClient","function"==typeof e?e:async()=>e)}configureServiceDiscoveryClient(e){this.setServiceDiscoveryClient(async t=>{const{httpClient:n,endpoint:r}=await Gi(Ui(e(t)))??{};if(n)return new ja({http:n,endpoint:r,postProcess:qi(e=>{const t="undefined"!=typeof globalThis?globalThis.sessionStorage:void 0;if(!t)return e;try{const n=JSON.parse(t.getItem("overriddenServiceDiscoveryUrls")||"{}");for(const[t,{url:r,scopes:i}]of Object.entries(n)){const n=e.find(e=>e.key===t);n&&(n.uri=r,n.scopes=i,n.overridden=!0)}}catch(e){console.error('Failed to JSON parse session overrides: "overriddenServiceDiscoveryUrls"',e)}return e})});throw Error("httpClient is required")})}configureServiceDiscoveryClientByClientKey(e,t){this.configureServiceDiscoveryClient(async({requireInstance:n})=>({httpClient:(await n("http")).createClient(e),endpoint:t}))}}class Ha extends Lo{config;_http;constructor(e,t){super({version:"10.0.0",config:e}),this.config=e,this._http=t}resolveServices(){return this.config.discoveryClient.resolveServices()}async resolveService(e){return this.config.discoveryClient.resolveService(e)}async createClient(e,t){const n=await this.resolveService(e);if(!n)throw Error(`Could not load configuration of service [${e}]`);return this._http.createClient({...t,baseUri:n.uri,defaultScopes:n.scopes})}async configureClient(e,t){const{key:n,alias:r}="string"==typeof e?{key:e,alias:e}:e,{uri:i,scopes:o}=await this.resolveService(n);var s,a;t.addConfig((s=r,a={baseUri:i,defaultScopes:o},{module:zo,configure:e=>{e.configureClient(s,a)}}))}}const qa={name:"serviceDiscovery",configure:()=>new za,initialize:async e=>{const{requireInstance:t,ref:n}=e,r=await e.config.createConfigAsync(e,{...n?.serviceDiscovery?.config}),i=await t("http");return new Ha(r,i)}},Va=(e,t)=>{e.addConfig((e=>({module:qa,configure:t=>e(t)}))(()=>Promise.resolve()))};var Wa,Ka,Za,Ya={},Xa=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE",pr:{env:"AC_GIT_PR",ne:"false"}},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN",pr:{env:"CODEBUILD_WEBHOOK_EVENT",any:["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{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:"Cloudflare Pages",constant:"CLOUDFLARE_PAGES",env:"CF_PAGES"},{name:"Cloudflare Workers",constant:"CLOUDFLARE_WORKERS",env:"WORKERS_CI"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{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:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{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:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{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:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{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:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}];function Ja(){return Wa||(Wa=1,function(e){const t=Xa,n=process.env;function r(e){return"string"==typeof e?!!n[e]:"env"in e?n[e.env]&&n[e.env].includes(e.includes):"any"in e?e.any.some(function(e){return!!n[e]}):Object.keys(e).every(function(t){return n[t]===e[t]})}Object.defineProperty(e,"_vendors",{value:t.map(function(e){return e.constant})}),e.name=null,e.isPR=null,e.id=null,"false"!==n.CI&&t.forEach(function(t){const i=(Array.isArray(t.env)?t.env:[t.env]).every(function(e){return r(e)});e[t.constant]=i,i&&(e.name=t.name,e.isPR=function(e){switch(typeof e.pr){case"string":return!!n[e.pr];case"object":return"env"in e.pr?"any"in e.pr?e.pr.any.some(function(t){return n[e.pr.env]===t}):e.pr.env in n&&n[e.pr.env]!==e.pr.ne:"any"in e.pr?e.pr.any.some(function(e){return!!n[e]}):r(e.pr);default:return null}}(t),e.id=t.constant)}),e.isCI=!("false"===n.CI||!(n.BUILD_ID||n.BUILD_NUMBER||n.CI||n.CI_APP_ID||n.CI_BUILD_ID||n.CI_BUILD_NUMBER||n.CI_NAME||n.CONTINUOUS_INTEGRATION||n.RUN_ID||e.name))}(Ya)),Ya}var Qa=V(Za?Ka:(Za=1,Ka=Ja().isCI));const ec=["5a842df8-3238-415d-b168-9f16a6a6031b/.default"];var tc;!function(e){e.ContinuesIntegration="ci",e.QualityAssurance="fqa",e.Training="tr",e.Production="fprd",e.Development="dev"}(tc||(tc={}));const nc=e=>e&&!Qa?tc.Development:tc.ContinuesIntegration,rc=e=>{const t=new So,n=e.env??tc.ContinuesIntegration;return t.addConfig({module:zo,configure:t=>{const r=n===tc.Development?tc.ContinuesIntegration:n,i=e.serviceDiscovery?.url??new URL(`/service-registry/environments/${r}/services`,"https://discovery.fusion.equinor.com").toString(),o=e.serviceDiscovery?.scope??ec;t.configureClient("service_discovery",{baseUri:i,defaultScopes:o})}}),Va(t),q(t,t=>{const{auth:n}=e;if("token"in n&&n.token){const{token:e}=n;return t.setMode("token_only"),void t.setAccessToken(e)}const{clientId:r,tenantId:i,interactive:o}=n;if(!r||!i)throw new Error("clientId and tenantId are required for auth module");if(t.setClientConfig(i,r),t.setMode(o?"interactive":"silent"),o){const{server:e}=n;if(!e.port)throw new Error("server.port is required for interactive mode");t.setServerPort(e.port),t.setServerOnOpen(e.onOpen)}}),t},ic=async e=>{const t=rc(e);return await t.initialize()},oc=e=>{const t=e.getEntry("metadata.json");if(!t)throw new Error("Metadata file not found in bundle");return new Promise((e,n)=>{t.getDataAsync((t,r)=>{if(r)return n(new Error("Failed to read metadata file",{cause:r}));try{return e(JSON.parse(String(t)))}catch(e){n(new Error("Failed to parse metadata file",{cause:e}))}})})},sc=async e=>{const{log:t,bundle:n}=e;let r;if(n)try{t?.info("ðïļ","Using artifact-based validation from bundle:",n);const e=new Wn(n),i=await(async e=>{const t=await oc(e);if(!t.appKey||"string"!=typeof t.appKey||""===t.appKey.trim())throw new Error("App manifest is missing required appKey field");return t})(e);r=i.appKey,t?.info("ðĶ",`Resolved app key "${r}" from bundle artifact`)}catch(e){return t?.fail("ðŦ","Failed to resolve app information from bundle:",e instanceof Error?e.message:String(e)),!1}else{t?.info("ð","Using traditional validation from local project files");const e=await tn(t);r=(await en({command:"build",mode:"production"},e,{log:t})).appKey}t?.start("Initializing Fusion Framework...");const i=await ic({env:e.environment,auth:"token"in e.auth?{token:e.auth.token}:e.auth});t?.succeed("Initialized Fusion Framework");try{const e=await i.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)}),t?.info("Checking if",r,"is registered in app store");const n=await e.fetch(`/apps/${r}`,{method:"HEAD",headers:rr});if(n.ok)return t?.succeed("ð",`Application ${r} is registered in app store`),!0;if(404===n.status)return t?.fail("ð",`Application ${r} is not registered in app store`),!1;if(410===n.status)return t?.fail("ð",`Application ${r} is deleted from app store`),!1;const o=ar(n.status,`check registration for ${r}`);throw o&&(t?.fail("ð",`Authentication/authorization error checking ${r}`),t?.error(o),process.exit(1)),new Error(`Unexpected response status: ${n.status}`)}catch(e){const n=cr(e,`check registration for ${r}`);return n&&(t?.fail("ð",`Token acquisition failed checking ${r}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Error checking application registration"),t?.error("Error checking application registration:",e instanceof Error?e.message:e),!1}};const ac=async e=>{const{log:t,framework:n}=e,i="string"==typeof e.fileOrBundle?new Wn(e.fileOrBundle):e.fileOrBundle,{appKey:o}=e.appKey?{appKey:e.appKey}:await oc(i).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)});t?.info("ðĶ",`Uploading application bundle for ${r.bold(o)}`),t?.debug("Bundle contents:",(await i.getEntries()).map(e=>e.entryName));const s=await i.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const e=await n.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)});const i=await e.fetch(`/bundles/apps/${o}`,{method:"POST",body:new Blob([s],{type:"application/zip"}),headers:{...rr,"Content-Type":"application/zip"}});if(!i.ok){try{const{error:e}=await i.json();t?.debug("Error:",e),e.message&&t?.warn(r.red(`ðĪŊ error: ${e.code}\n`),r.yellowBright(e.message),"\n")}catch(e){t?.debug("Error:",i.statusText)}!function(e,t,n){const r=ar(e.status,`upload bundle for ${t}`);let i;switch(r&&(n?.fail("ð",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion app store`;break;case 404:i=`${e.status} - ${t} not found, please add your application in App Admin before publishing`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("ð
ââïļ",i),process.exit(1)}(i,o,t)}t?.succeed("Successfully uploaded application bundle"),t?.debug("Response:",i);try{return{appKey:o,version:(await i.json()).version}}catch(e){t?.fail("ð
ââïļ",`Failed to parse response from app service: ${e instanceof Error?e.message:e}`),process.exit(1)}}catch(e){const n=cr(e,`upload bundle for ${o}`);n&&(t?.fail("ð",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Failed to upload application bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},cc=async e=>{const{tag:t,appKey:n,version:i,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("ðĪŠ","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("ðĪŠ",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("ðĪŠ","Application key is required."),process.exit(1)),i||(s?.fail("ðĪŠ","Version is required."),process.exit(1));try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("ð","Executing request to:",Jt(e.uri))}),s?.start("Publishing application config");const a=await e.json(`/apps/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:rr});return s?.debug("Response:",a),s?.succeed("Tagged application successfully",r.greenBright(`${n}@${i} - ${t}`)),a}catch(e){if(e instanceof gr)switch(e.response.status){case 410:s?.fail("ðĪŽ",`App ${n} is deleted from apps-service. Please check the app key and try again.`);break;case 404:s?.fail("ðĪŽ",`App ${n} not found. Please check the app key and try again.`);break;case 403:case 401:{const t=ar(e.response.status,`tag ${n}@${i}`);s?.fail("ð","Authentication/authorization error tagging application."),t&&s?.error(t),process.exit(1);break}default:s?.fail("ðĪŽ","Failed to tag application",`Status code: ${e.response.status}`,`Error: ${e.message}`)}const t=cr(e,`tag ${n}@${i}`);t&&(s?.fail("ð",`Token acquisition failed tagging ${n}@${i}`),s?.error(t),process.exit(1)),s?.fail("ðĪŽ","Failed to tag application:",e instanceof Error?e.message:String(e)),process.exit(1)}},lc=U.object({templateEntry:U.string({message:"templateEntry must be a string"}).describe("Main entry point for the portal"),schemaEntry:U.string({message:"schemaEntry must be a string"}).describe("Schema file for portal validation"),assetPath:U.string({message:"assetPath must be a string"}).optional().describe("Asset path for dev/preview builds"),githubRepo:U.string({message:"githubRepo must be a string"}).optional().describe("GitHub repo URL or local git remote"),version:U.string({message:"version must be a string"}).describe("Version from package.json"),timestamp:U.string({message:"timestamp must be a string"}).describe("Current build timestamp (ISO8601)"),commitSha:U.string({message:"commitSha must be a string"}).describe("Current git commit SHA"),annotations:U.record(U.string(),U.string().nullish()).optional().transform(e=>{if(e)return Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e))}).describe("Optional build annotations"),projectPage:U.string({message:"projectPage must be a string"}).optional().describe("Optional project homepage"),allowedExtensions:U.array(U.string({message:"Each allowed extension must be a string"}),{message:"allowedExtensions must be an array of strings"}).describe("List of allowed asset extensions (with leading dot)"),schema:U.record(U.string(),U.unknown()).optional().describe("Optional schema for the portal"),config:U.record(U.string(),U.unknown()).optional().describe("Optional configuration for the portal")}),uc=U.object({name:U.string({message:"name must be a string"}).describe("Short app key (unscoped, derived from package name)"),displayName:U.string({message:"displayName must be a string"}).optional().describe("Full package name, may include scope"),description:U.string({message:"description must be a string"}).optional().describe("Description of the portal"),build:lc}),fc=(e,t)=>{$t(t,"expected packageJson"),A(t.name,"expected [name] in packageJson"),A(t.version,"expected [version] in packageJson");const n=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/bundle.js":lt(e.root))(e,t),r=t.name.replace(/^@|\w.*\//gm,""),i=t.version,o="build"===e.command?void 0:"/@fs",s=xt(t)??Ft(),a={name:r,displayName:t.name,description:t.description||"",build:{templateEntry:n,schemaEntry:"portal.schema.json",assetPath:o,githubRepo:s,version:i,timestamp:(new Date).toISOString(),commitSha:Ut(),annotations:{...Bt()},projectPage:t.homepage,allowedExtensions:Gt.map(e=>`.${e}`)}},c=uc.safeParse(a);if(!c.success){const e=c.error.issues.map(e=>`- ${e.path.join(".")}: ${e.message}`).join("\n");throw new Error(["Invalid portal manifest generated from package.json:",e].join("\n"))}return c.data},pc=async(e,t,n)=>{const i=fc(e,t.packageJson);try{n?.log?.start("loading manifest...");const t=await(async(e,t)=>{const n=t?.file??[`portal.manifest.${e.environment}`,"portal.manifest"],r=await D(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};let i;return i="function"==typeof n.default?await n.default(e,{base:r})??void 0:n.default,i?O(r,i):r}}}),i=r.config,o=uc.safeParse(i);if(!o.success)throw new Error(`Invalid portal manifest: ${o.error.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join("; ")}`);return{manifest:i,path:r.path,extension:r.extension}})(e,{base:i});return n?.log?.succeed("generated manifest from",Jt(t.path,{relative:!0})),t.manifest}catch(e){if(e instanceof N){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${Jt(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(r.dim("no local manifest config applied, using default generated from package")),i}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?Jt(n?.manifestPath):""}`),e}},dc=async(e,t)=>{const{log:n}=t;try{n?.start("create portal configuration"),n?.info(`generating config with ${r.red.dim(e.command)} command in ${r.green.dim(e.mode)} mode`);const i=await((e,t)=>{const n=t?.file??[`portal.config.${e.environment}`,"portal.config"];return D(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.schema??F.object({}).passthrough(),i=t?.base??{};if("function"==typeof n.default){const t=await n.default(i,e)??i;return r.parse(t)}return r.parse(n.default??i)}}})})(e,{file:t?.config});return n?.succeed("âïļ generated config from ",Jt(i.path,{relative:!0})),i.config}catch(e){if(e instanceof N){if(!t.config)return n?.succeed(r.dim("âïļ no local portal config applied, using built-in")),{};n?.warn(`failed to load config file ${Jt(t.config)}, please check the path.`)}throw n?.fail("failed to resolve portal config"),n?.debug(e),e}},hc=async e=>{const{log:n}=e??{},r=await tn(n),i={root:r.root,environment:"local",...e?.env,mode:"development",command:"serve"},o=await pc(i,r,{log:n,manifestPath:e?.manifest}),s=await dc(i,{log:n,config:e?.config}),a=t(await Tt(i,r),{server:{port:e?.server?.port,fs:{allow:[r.root]}}}),c={template:{portal:{id:o.name}},portal:{manifest:o,config:s}};n?.debug("vite config:",a),n?.debug("dev server config:",c),n?.start("Starting app development server...");const l=await tr(i,c,{overrides:a,log:n});return await l.listen(),n?.succeed(`Started app development server on ${l.resolvedUrls?.local?.[0]}`),l},mc=async e=>{const{log:t}=e??{},n=await tn(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await pc(r,n,{log:t,manifestPath:e?.manifest});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},gc=async e=>{const{log:t}=e??{};t?.log(r.bold("Starting to build portal"));const{manifest:i,pkg:o,env:s}=await mc({log:t,manifest:e?.manifest});t?.start("loading vite config...");const a=await Tt(s,o);t?.succeed("vite config applied"),t?.debug("vite config:",a),t?.start("ðĪðŧ","building portal..."),t?.startNativeConsoleCapture(),await n(a),t?.stopNativeConsoleCapture(),t?.succeed("build completed ð");return{pkg:o,manifest:i,outDir:a.build.outDir}},vc=async e=>{const{log:t,manifest:n}=e,r={command:"build",mode:process.env.NODE_ENV??"production",environment:null,root:process.cwd()},{pkg:i,manifest:o}=await gc({log:t,manifest:n});if(!o.build)throw new Error("Manifest build config not found");const s=await(async(e,t)=>{const n=t?.file??[`portal.schema.${e.environment}`,"portal.schema"],r=await D(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async t=>{const n="function"==typeof t.default?await Promise.resolve(t.default(e)):t.default;if(!n)throw new Error("Schema function did not return a valid schema");return n}}});return{schema:r.config,path:r.path,extension:r.extension}})(r,{file:e?.schema});t?.debug("Schema:",s);return{archive:await fr(i,{log:t,archive:e?.archive,content:{"portal-template-manifest.json":JSON.stringify(o.build,null,2),"portal.schema.json":JSON.stringify(s.schema,null,2),"metadata.json":JSON.stringify({name:o.name,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o,schema:s.schema}},yc=async e=>{const{log:t}=e??{},n=await tn(t),r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env},i=await dc(r,{log:t,config:e?.config});if(t?.debug("config:",i),e?.output){t?.start("writing config to file");try{await lr(e.output,JSON.stringify(i,null,2)),t?.succeed("config written successfully",Jt(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:i,pkg:n}},Ec=async e=>{const{log:t,portal:n}=e,{config:i}=await yc({log:t,config:e.config,env:{environment:e.environment}});t?.start("Initializing Fusion Framework...");const o=await ic({env:e.environment,auth:e.auth});t?.succeed("Initialized Fusion Framework");try{const s=await o.serviceDiscovery.createClient("portals");s.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("ð","Executing request to:",Jt(e.uri))}),t?.start("Publishing portal config"),t?.info("Using environment:",r.redBright(e.environment));const a=await s.json(`/portals/${n.name}@${n.version}/config`,{method:"PUT",body:i,headers:rr});t?.debug("Response:",a),t?.succeed("Published portal config")}catch(e){if(e instanceof gr)switch(e.response.status){case 410:t?.fail("ðĪŽ",`Portal ${n.name} is deleted from portals-service. Please check the portal key and try again.`);break;case 404:t?.fail("ðĪŽ",`Portal ${n.name} not found. Please check the portal key and try again.`);break;case 403:case 401:{const r=ar(e.response.status,`publish config for portal ${n.name}`);t?.fail("ð","Authentication/authorization error publishing portal config."),r&&t?.error(r),process.exit(1);break}default:t?.fail("ðĪŽ","Failed to publish portal config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const r=cr(e,`publish config for portal ${n.name}`);r&&(t?.fail("ð",`Token acquisition failed publishing config for ${n.name}`),t?.error(r),process.exit(1)),t?.fail("ðĪŽ","Failed to publish portal config:",e instanceof Error?e.message:String(e)),process.exit(1)}};const bc=async e=>{const{log:t,framework:n}=e,i="string"==typeof e.fileOrBundle?new Wn(e.fileOrBundle):e.fileOrBundle,{name:o}=e.name?{name:e.name}:await oc(i).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)}),s=await i.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const e=await n.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)});const i=await e.fetch(`/bundles/templates/${o}`,{method:"POST",body:new Blob([s],{type:"application/zip"}),headers:{...rr,"Content-Type":"application/zip"}});if(!i.ok){try{const{error:e}=await i.json();t?.debug("Error:",e),e.message&&t?.warn(r.red(`ðĪŊ error: ${e.code}\n`),r.yellowBright(e.message),"\n")}catch(e){t?.debug("Error:",i.statusText)}!function(e,t,n){const r=ar(e.status,`upload portal bundle for ${t}`);let i;switch(r&&(n?.fail("ð",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion`;break;case 404:i=`${e.status} - ${t} not found`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("ð
ââïļ",i),process.exit(1)}(i,o,t)}t?.succeed("Successfully uploaded portal bundle"),t?.debug("Response:",i)}catch(e){const n=cr(e,`upload portal bundle for ${o}`);n&&(t?.fail("ð",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Failed to upload portal bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},wc=async e=>{const{tag:t,name:n,version:i,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("ðĪŠ","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("ðĪŠ",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("ðĪŠ","Portal name is required."),process.exit(1)),i||(s?.fail("ðĪŠ","Version is required."),process.exit(1)),s?.info("Tagging portal:",r.greenBright(`${n}@${t}`,i));try{const e=await o.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("ð","Executing request to:",Jt(e.uri))}),s?.start("Tagging portal template...");const r=await e.json(`/templates/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:rr});s?.debug("Response:",r),s?.succeed("Tagged portal template successfully"),s?.info("ð",JSON.stringify(r))}catch(e){if(e instanceof gr){const{data:t,response:o}=e;switch(s?.debug("Error:",t),t&&s?.warn(r.red(`ðĪŊ error: ${t.code}\n`),r.yellowBright(t.message),"\n"),o?.status){case 410:s?.fail(`ðĪŽ - ${o?.status} -`,`${n} is deleted. Please check the name and try again.`);break;case 404:s?.fail(`ðĪŽ - ${o?.status} -`,`${n} not found. Please check the name and try again.`);break;case 403:case 401:{const e=ar(o?.status??401,`tag portal ${n}@${i}`);s?.fail("ð","Authentication/authorization error tagging portal."),e&&s?.error(e),process.exit(1);break}default:s?.fail(`ðĪŽ - ${o?.status} -`,"Failed to tag",`Error: ${e.message}`)}}const t=cr(e,`tag portal ${n}@${i}`);t&&(s?.fail("ð",`Token acquisition failed tagging ${n}@${i}`),s?.error(t),process.exit(1)),s?.fail("ðĪŽ","Failed to tag portal:",e instanceof Error?e.message:String(e)),process.exit(1)}};export{Jn as ConsoleLogger,tc as FusionEnv,rn as buildApplication,gc as buildPortal,pr as bundleApp,vc as bundlePortal,sc as checkApp,rc as configureFramework,hr as generateApplicationConfig,yc as generatePortalConfig,ic as initializeFramework,nn as loadAppManifest,mc as loadPortalManifest,fr as pack,yr as publishAppConfig,Ec as publishPortalConfig,nc as resolveDefaultEnv,br as serveApplication,Er as startAppDevServer,hc as startPortalDevServer,cc as tagApplication,wc as tagPortal,ac as uploadApplication,bc as uploadPortalBundle};
|
|
1
|
+
import{loadConfigFromFile as e,mergeConfig as t,build as n}from"vite";import r from"chalk";import i from"vite-tsconfig-paths";import o,{dirname as s,resolve as a,basename as c,extname as l,relative as u}from"node:path";import{readPackageUp as f}from"read-package-up";import p,{fileURLToPath as d}from"node:url";import h from"url";import m from"node:module";import g from"util";import v,{accessSync as y,constants as E,readFileSync as b,statSync as w,existsSync as L,mkdirSync as C,writeFileSync as S}from"node:fs";import{stat as _,mkdir as I}from"node:fs/promises";import{importConfig as D,FileNotFoundError as N}from"@equinor/fusion-imports";import O from"deepmerge";import{rawImportsPlugin as P}from"@equinor/fusion-framework-vite-plugin-raw-imports";import A from"node:assert";import{execSync as R}from"node:child_process";import{coerce as T,SemVer as $,satisfies as x}from"semver";import F,{z as U}from"zod";import k from"fs";import B from"path";import G from"zlib";import M from"crypto";import j from"ora";import{createDevServer as z,processServices as H}from"@equinor/fusion-framework-dev-server";import{enableAuthModule as q}from"@equinor/fusion-framework-module-msal-node";function V(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var W,K,Z,Y;function X(){if(K)return W;K=1;const e="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return W=e}function J(){if(Y)return Z;Y=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return Z={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}var Q,ee,te,ne,re,ie,oe,se,ae,ce,le,ue,fe,pe={exports:{}};function de(){return Q||(Q=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=J(),o=X(),s=(t=e.exports={}).re=[],a=t.safeRe=[],c=t.src=[],l=t.safeSrc=[],u=t.t={};let f=0;const p="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",i],[p,r]],h=(e,t,n)=>{const r=(e=>{for(const[t,n]of d)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e})(t),i=f++;o(e,i,t),u[e]=i,c[i]=t,l[i]=r,s[i]=new RegExp(t,n?"g":void 0),a[i]=new RegExp(r,n?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),h("MAINVERSION",`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASE",`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${p}+`),h("BUILD",`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),h("FULL",`^${c[u.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),h("LOOSE",`^${c[u.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),h("XRANGE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h("COERCE",`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?`+`(?:${c[u.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",c[u.COERCE],!0),h("COERCERTLFULL",c[u.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${c[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${c[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(pe,pe.exports)),pe.exports}function he(){if(oe)return ie;oe=1;const e=X(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=J(),{safeRe:r,t:i}=de(),o=function(){if(te)return ee;te=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return ee=n=>n?"object"!=typeof n?e:n:t}(),{compareIdentifiers:s}=function(){if(re)return ne;re=1;const e=/^[0-9]+$/,t=(t,n)=>{if("number"==typeof t&&"number"==typeof n)return t===n?0:t<n?-1:1;const r=e.test(t),i=e.test(n);return r&&i&&(t=+t,n=+n),t===n?0:r&&!i?-1:i&&!r?1:t<n?-1:1};return ne={compareIdentifiers:t,rcompareIdentifiers:(e,n)=>t(n,e)}}();class a{constructor(s,c){if(c=o(c),s instanceof a){if(s.loose===!!c.loose&&s.includePrerelease===!!c.includePrerelease)return s;s=s.version}else if("string"!=typeof s)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof s}".`);if(s.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",s,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const l=s.trim().match(c.loose?r[i.LOOSE]:r[i.FULL]);if(!l)throw new TypeError(`Invalid Version: ${s}`);if(this.raw=s,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");l[4]?this.prerelease=l[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<n)return t}return e}):this.prerelease=[],this.build=l[5]?l[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(t){if(e("SemVer.compare",this.version,this.options,t),!(t instanceof a)){if("string"==typeof t&&t===this.version)return 0;t=new a(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(e){return e instanceof a||(e=new a(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(t){if(t instanceof a||(t=new a(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{const r=this.prerelease[n],i=t.prerelease[n];if(e("prerelease compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}compareBuild(t){t instanceof a||(t=new a(t,this.options));let n=0;do{const r=this.build[n],i=t.build[n];if(e("build compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}inc(e,t,n){if(e.startsWith("pre")){if(!t&&!1===n)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?r[i.PRERELEASELOOSE]:r[i.PRERELEASE]);if(!e||e[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,n),this.inc("pre",t,n);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,n),this.inc("pre",t,n);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(n)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);if(-1===r){if(t===this.prerelease.join(".")&&!1===n)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let r=[t,e];!1===n&&(r=[t]),0===s(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return ie=a}function me(){if(ae)return se;ae=1;const e=he();return se=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(e){if(!r)return null;throw e}},se}var ge,ve,ye,Ee,be,we,Le,Ce,Se,_e,Ie=["0BSD","3D-Slicer-1.0","AAL","ADSL","AFL-1.1","AFL-1.2","AFL-2.0","AFL-2.1","AFL-3.0","AGPL-1.0-only","AGPL-1.0-or-later","AGPL-3.0-only","AGPL-3.0-or-later","AMD-newlib","AMDPLPA","AML","AML-glslang","AMPAS","ANTLR-PD","ANTLR-PD-fallback","APAFML","APL-1.0","APSL-1.0","APSL-1.1","APSL-1.2","APSL-2.0","ASWF-Digital-Assets-1.0","ASWF-Digital-Assets-1.1","Abstyles","AdaCore-doc","Adobe-2006","Adobe-Display-PostScript","Adobe-Glyph","Adobe-Utopia","Afmparse","Aladdin","Apache-1.0","Apache-1.1","Apache-2.0","App-s2p","Arphic-1999","Artistic-1.0","Artistic-1.0-Perl","Artistic-1.0-cl8","Artistic-2.0","Artistic-dist","Aspell-RU","BSD-1-Clause","BSD-2-Clause","BSD-2-Clause-Darwin","BSD-2-Clause-Patent","BSD-2-Clause-Views","BSD-2-Clause-first-lines","BSD-2-Clause-pkgconf-disclaimer","BSD-3-Clause","BSD-3-Clause-Attribution","BSD-3-Clause-Clear","BSD-3-Clause-HP","BSD-3-Clause-LBNL","BSD-3-Clause-Modification","BSD-3-Clause-No-Military-License","BSD-3-Clause-No-Nuclear-License","BSD-3-Clause-No-Nuclear-License-2014","BSD-3-Clause-No-Nuclear-Warranty","BSD-3-Clause-Open-MPI","BSD-3-Clause-Sun","BSD-3-Clause-acpica","BSD-3-Clause-flex","BSD-4-Clause","BSD-4-Clause-Shortened","BSD-4-Clause-UC","BSD-4.3RENO","BSD-4.3TAHOE","BSD-Advertising-Acknowledgement","BSD-Attribution-HPND-disclaimer","BSD-Inferno-Nettverk","BSD-Protection","BSD-Source-Code","BSD-Source-beginning-file","BSD-Systemics","BSD-Systemics-W3Works","BSL-1.0","BUSL-1.1","Baekmuk","Bahyph","Barr","Beerware","BitTorrent-1.0","BitTorrent-1.1","Bitstream-Charter","Bitstream-Vera","BlueOak-1.0.0","Boehm-GC","Boehm-GC-without-fee","Borceux","Brian-Gladman-2-Clause","Brian-Gladman-3-Clause","C-UDA-1.0","CAL-1.0","CAL-1.0-Combined-Work-Exception","CATOSL-1.1","CC-BY-1.0","CC-BY-2.0","CC-BY-2.5","CC-BY-2.5-AU","CC-BY-3.0","CC-BY-3.0-AT","CC-BY-3.0-AU","CC-BY-3.0-DE","CC-BY-3.0-IGO","CC-BY-3.0-NL","CC-BY-3.0-US","CC-BY-4.0","CC-BY-NC-1.0","CC-BY-NC-2.0","CC-BY-NC-2.5","CC-BY-NC-3.0","CC-BY-NC-3.0-DE","CC-BY-NC-4.0","CC-BY-NC-ND-1.0","CC-BY-NC-ND-2.0","CC-BY-NC-ND-2.5","CC-BY-NC-ND-3.0","CC-BY-NC-ND-3.0-DE","CC-BY-NC-ND-3.0-IGO","CC-BY-NC-ND-4.0","CC-BY-NC-SA-1.0","CC-BY-NC-SA-2.0","CC-BY-NC-SA-2.0-DE","CC-BY-NC-SA-2.0-FR","CC-BY-NC-SA-2.0-UK","CC-BY-NC-SA-2.5","CC-BY-NC-SA-3.0","CC-BY-NC-SA-3.0-DE","CC-BY-NC-SA-3.0-IGO","CC-BY-NC-SA-4.0","CC-BY-ND-1.0","CC-BY-ND-2.0","CC-BY-ND-2.5","CC-BY-ND-3.0","CC-BY-ND-3.0-DE","CC-BY-ND-4.0","CC-BY-SA-1.0","CC-BY-SA-2.0","CC-BY-SA-2.0-UK","CC-BY-SA-2.1-JP","CC-BY-SA-2.5","CC-BY-SA-3.0","CC-BY-SA-3.0-AT","CC-BY-SA-3.0-DE","CC-BY-SA-3.0-IGO","CC-BY-SA-4.0","CC-PDDC","CC-PDM-1.0","CC-SA-1.0","CC0-1.0","CDDL-1.0","CDDL-1.1","CDL-1.0","CDLA-Permissive-1.0","CDLA-Permissive-2.0","CDLA-Sharing-1.0","CECILL-1.0","CECILL-1.1","CECILL-2.0","CECILL-2.1","CECILL-B","CECILL-C","CERN-OHL-1.1","CERN-OHL-1.2","CERN-OHL-P-2.0","CERN-OHL-S-2.0","CERN-OHL-W-2.0","CFITSIO","CMU-Mach","CMU-Mach-nodoc","CNRI-Jython","CNRI-Python","CNRI-Python-GPL-Compatible","COIL-1.0","CPAL-1.0","CPL-1.0","CPOL-1.02","CUA-OPL-1.0","Caldera","Caldera-no-preamble","Catharon","ClArtistic","Clips","Community-Spec-1.0","Condor-1.1","Cornell-Lossless-JPEG","Cronyx","Crossword","CryptoSwift","CrystalStacker","Cube","D-FSL-1.0","DEC-3-Clause","DL-DE-BY-2.0","DL-DE-ZERO-2.0","DOC","DRL-1.0","DRL-1.1","DSDP","DocBook-DTD","DocBook-Schema","DocBook-Stylesheet","DocBook-XML","Dotseqn","ECL-1.0","ECL-2.0","EFL-1.0","EFL-2.0","EPICS","EPL-1.0","EPL-2.0","EUDatagrid","EUPL-1.0","EUPL-1.1","EUPL-1.2","Elastic-2.0","Entessa","ErlPL-1.1","Eurosym","FBM","FDK-AAC","FSFAP","FSFAP-no-warranty-disclaimer","FSFUL","FSFULLR","FSFULLRSD","FSFULLRWD","FSL-1.1-ALv2","FSL-1.1-MIT","FTL","Fair","Ferguson-Twofish","Frameworx-1.0","FreeBSD-DOC","FreeImage","Furuseth","GCR-docs","GD","GFDL-1.1-invariants-only","GFDL-1.1-invariants-or-later","GFDL-1.1-no-invariants-only","GFDL-1.1-no-invariants-or-later","GFDL-1.1-only","GFDL-1.1-or-later","GFDL-1.2-invariants-only","GFDL-1.2-invariants-or-later","GFDL-1.2-no-invariants-only","GFDL-1.2-no-invariants-or-later","GFDL-1.2-only","GFDL-1.2-or-later","GFDL-1.3-invariants-only","GFDL-1.3-invariants-or-later","GFDL-1.3-no-invariants-only","GFDL-1.3-no-invariants-or-later","GFDL-1.3-only","GFDL-1.3-or-later","GL2PS","GLWTPL","GPL-1.0-only","GPL-1.0-or-later","GPL-2.0-only","GPL-2.0-or-later","GPL-3.0-only","GPL-3.0-or-later","Game-Programming-Gems","Giftware","Glide","Glulxe","Graphics-Gems","Gutmann","HDF5","HIDAPI","HP-1986","HP-1989","HPND","HPND-DEC","HPND-Fenneberg-Livingston","HPND-INRIA-IMAG","HPND-Intel","HPND-Kevlin-Henney","HPND-MIT-disclaimer","HPND-Markus-Kuhn","HPND-Netrek","HPND-Pbmplus","HPND-UC","HPND-UC-export-US","HPND-doc","HPND-doc-sell","HPND-export-US","HPND-export-US-acknowledgement","HPND-export-US-modify","HPND-export2-US","HPND-merchantability-variant","HPND-sell-MIT-disclaimer-xserver","HPND-sell-regexpr","HPND-sell-variant","HPND-sell-variant-MIT-disclaimer","HPND-sell-variant-MIT-disclaimer-rev","HTMLTIDY","HaskellReport","Hippocratic-2.1","IBM-pibs","ICU","IEC-Code-Components-EULA","IJG","IJG-short","IPA","IPL-1.0","ISC","ISC-Veillard","ImageMagick","Imlib2","Info-ZIP","Inner-Net-2.0","InnoSetup","Intel","Intel-ACPI","Interbase-1.0","JPL-image","JPNIC","JSON","Jam","JasPer-2.0","Kastrup","Kazlib","Knuth-CTAN","LAL-1.2","LAL-1.3","LGPL-2.0-only","LGPL-2.0-or-later","LGPL-2.1-only","LGPL-2.1-or-later","LGPL-3.0-only","LGPL-3.0-or-later","LGPLLR","LOOP","LPD-document","LPL-1.0","LPL-1.02","LPPL-1.0","LPPL-1.1","LPPL-1.2","LPPL-1.3a","LPPL-1.3c","LZMA-SDK-9.11-to-9.20","LZMA-SDK-9.22","Latex2e","Latex2e-translated-notice","Leptonica","LiLiQ-P-1.1","LiLiQ-R-1.1","LiLiQ-Rplus-1.1","Libpng","Linux-OpenIB","Linux-man-pages-1-para","Linux-man-pages-copyleft","Linux-man-pages-copyleft-2-para","Linux-man-pages-copyleft-var","Lucida-Bitmap-Fonts","MIPS","MIT","MIT-0","MIT-CMU","MIT-Click","MIT-Festival","MIT-Khronos-old","MIT-Modern-Variant","MIT-Wu","MIT-advertising","MIT-enna","MIT-feh","MIT-open-group","MIT-testregex","MITNFA","MMIXware","MPEG-SSG","MPL-1.0","MPL-1.1","MPL-2.0","MPL-2.0-no-copyleft-exception","MS-LPL","MS-PL","MS-RL","MTLL","Mackerras-3-Clause","Mackerras-3-Clause-acknowledgment","MakeIndex","Martin-Birgmeier","McPhee-slideshow","Minpack","MirOS","Motosoto","MulanPSL-1.0","MulanPSL-2.0","Multics","Mup","NAIST-2003","NASA-1.3","NBPL-1.0","NCBI-PD","NCGL-UK-2.0","NCL","NCSA","NGPL","NICTA-1.0","NIST-PD","NIST-PD-fallback","NIST-Software","NLOD-1.0","NLOD-2.0","NLPL","NOSL","NPL-1.0","NPL-1.1","NPOSL-3.0","NRL","NTIA-PD","NTP","NTP-0","Naumen","NetCDF","Newsletr","Nokia","Noweb","O-UDA-1.0","OAR","OCCT-PL","OCLC-2.0","ODC-By-1.0","ODbL-1.0","OFFIS","OFL-1.0","OFL-1.0-RFN","OFL-1.0-no-RFN","OFL-1.1","OFL-1.1-RFN","OFL-1.1-no-RFN","OGC-1.0","OGDL-Taiwan-1.0","OGL-Canada-2.0","OGL-UK-1.0","OGL-UK-2.0","OGL-UK-3.0","OGTSL","OLDAP-1.1","OLDAP-1.2","OLDAP-1.3","OLDAP-1.4","OLDAP-2.0","OLDAP-2.0.1","OLDAP-2.1","OLDAP-2.2","OLDAP-2.2.1","OLDAP-2.2.2","OLDAP-2.3","OLDAP-2.4","OLDAP-2.5","OLDAP-2.6","OLDAP-2.7","OLDAP-2.8","OLFL-1.3","OML","OPL-1.0","OPL-UK-3.0","OPUBL-1.0","OSET-PL-2.1","OSL-1.0","OSL-1.1","OSL-2.0","OSL-2.1","OSL-3.0","OpenPBS-2.3","OpenSSL","OpenSSL-standalone","OpenVision","PADL","PDDL-1.0","PHP-3.0","PHP-3.01","PPL","PSF-2.0","Parity-6.0.0","Parity-7.0.0","Pixar","Plexus","PolyForm-Noncommercial-1.0.0","PolyForm-Small-Business-1.0.0","PostgreSQL","Python-2.0","Python-2.0.1","QPL-1.0","QPL-1.0-INRIA-2004","Qhull","RHeCos-1.1","RPL-1.1","RPL-1.5","RPSL-1.0","RSA-MD","RSCPL","Rdisc","Ruby","Ruby-pty","SAX-PD","SAX-PD-2.0","SCEA","SGI-B-1.0","SGI-B-1.1","SGI-B-2.0","SGI-OpenGL","SGP4","SHL-0.5","SHL-0.51","SISSL","SISSL-1.2","SL","SMAIL-GPL","SMLNJ","SMPPL","SNIA","SOFA","SPL-1.0","SSH-OpenSSH","SSH-short","SSLeay-standalone","SSPL-1.0","SUL-1.0","SWL","Saxpath","SchemeReport","Sendmail","Sendmail-8.23","Sendmail-Open-Source-1.1","SimPL-2.0","Sleepycat","Soundex","Spencer-86","Spencer-94","Spencer-99","SugarCRM-1.1.3","Sun-PPP","Sun-PPP-2000","SunPro","Symlinks","TAPR-OHL-1.0","TCL","TCP-wrappers","TGPPL-1.0","TMate","TORQUE-1.1","TOSL","TPDL","TPL-1.0","TTWL","TTYP0","TU-Berlin-1.0","TU-Berlin-2.0","TermReadKey","ThirdEye","TrustedQSL","UCAR","UCL-1.0","UMich-Merit","UPL-1.0","URT-RLE","Ubuntu-font-1.0","Unicode-3.0","Unicode-DFS-2015","Unicode-DFS-2016","Unicode-TOU","UnixCrypt","Unlicense","Unlicense-libtelnet","Unlicense-libwhirlpool","VOSTROM","VSL-1.0","Vim","W3C","W3C-19980720","W3C-20150513","WTFPL","Watcom-1.0","Widget-Workshop","Wsuipa","X11","X11-distribute-modifications-variant","X11-swapped","XFree86-1.1","XSkat","Xdebug-1.03","Xerox","Xfig","Xnet","YPL-1.0","YPL-1.1","ZPL-1.1","ZPL-2.0","ZPL-2.1","Zed","Zeeff","Zend-2.0","Zimbra-1.3","Zimbra-1.4","Zlib","any-OSI","any-OSI-perl-modules","bcrypt-Solar-Designer","blessing","bzip2-1.0.6","check-cvs","checkmk","copyleft-next-0.3.0","copyleft-next-0.3.1","curl","cve-tou","diffmark","dtoa","dvipdfm","eGenix","etalab-2.0","fwlw","gSOAP-1.3b","generic-xts","gnuplot","gtkbook","hdparm","iMatix","jove","libpng-1.6.35","libpng-2.0","libselinux-1.0","libtiff","libutil-David-Nugent","lsof","magaz","mailprio","man2html","metamail","mpi-permissive","mpich2","mplus","ngrep","pkgconf","pnmstitch","psfrag","psutils","python-ldap","radvd","snprintf","softSurfer","ssh-keyscan","swrule","threeparttable","ulem","w3m","wwl","xinetd","xkeyboard-config-Zinoviev","xlock","xpp","xzoom","zlib-acknowledgement"],De=["AGPL-1.0","AGPL-3.0","BSD-2-Clause-FreeBSD","BSD-2-Clause-NetBSD","GFDL-1.1","GFDL-1.2","GFDL-1.3","GPL-1.0","GPL-2.0","GPL-2.0-with-GCC-exception","GPL-2.0-with-autoconf-exception","GPL-2.0-with-bison-exception","GPL-2.0-with-classpath-exception","GPL-2.0-with-font-exception","GPL-3.0","GPL-3.0-with-GCC-exception","GPL-3.0-with-autoconf-exception","LGPL-2.0","LGPL-2.1","LGPL-3.0","Net-SNMP","Nunit","StandardML-NJ","bzip2-1.0.5","eCos-2.0","wxWindows"],Ne=["389-exception","Asterisk-exception","Autoconf-exception-2.0","Autoconf-exception-3.0","Autoconf-exception-generic","Autoconf-exception-generic-3.0","Autoconf-exception-macro","Bison-exception-1.24","Bison-exception-2.2","Bootloader-exception","Classpath-exception-2.0","CLISP-exception-2.0","cryptsetup-OpenSSL-exception","DigiRule-FOSS-exception","eCos-exception-2.0","Fawkes-Runtime-exception","FLTK-exception","fmt-exception","Font-exception-2.0","freertos-exception-2.0","GCC-exception-2.0","GCC-exception-2.0-note","GCC-exception-3.1","Gmsh-exception","GNAT-exception","GNOME-examples-exception","GNU-compiler-exception","gnu-javamail-exception","GPL-3.0-interface-exception","GPL-3.0-linking-exception","GPL-3.0-linking-source-exception","GPL-CC-1.0","GStreamer-exception-2005","GStreamer-exception-2008","i2p-gpl-java-exception","KiCad-libraries-exception","LGPL-3.0-linking-exception","libpri-OpenH323-exception","Libtool-exception","Linux-syscall-note","LLGPL","LLVM-exception","LZMA-exception","mif-exception","OCaml-LGPL-linking-exception","OCCT-exception-1.0","OpenJDK-assembly-exception-1.0","openvpn-openssl-exception","PS-or-PDF-font-exception-20170817","QPL-1.0-INRIA-2004-exception","Qt-GPL-exception-1.0","Qt-LGPL-exception-1.1","Qwt-exception-1.0","SANE-exception","SHL-2.0","SHL-2.1","stunnel-exception","SWI-exception","Swift-exception","Texinfo-exception","u-boot-exception-2.0","UBDL-exception","Universal-FOSS-exception-1.0","vsftpd-openssl-exception","WxWindows-exception-3.1","x11vnc-openssl-exception"];function Oe(){if(ve)return ge;ve=1;var e=[].concat(Ie).concat(De),t=Ne;return ge=function(n){var r=0;function i(){return r<n.length}function o(e){if(e instanceof RegExp){var t=n.slice(r).match(e);if(t)return r+=t[0].length,t[0]}else if(n.indexOf(e,r)===r)return r+=e.length,e}function s(){o(/[ ]*/)}function a(){return o(/[A-Za-z0-9-.]+/)}function c(){var e=a();if(!e)throw new Error("Expected idstring at offset "+r);return e}function l(){return function(){for(var e,t=["WITH","AND","OR","(",")",":","+"],i=0;i<t.length&&!(e=o(t[i]));i++);if("+"===e&&r>1&&" "===n[r-2])throw new Error("Space before `+`");return e&&{type:"OPERATOR",string:e}}()||function(){if(o("DocumentRef-"))return{type:"DOCUMENTREF",string:c()}}()||function(){if(o("LicenseRef-"))return{type:"LICENSEREF",string:c()}}()||(i=r,s=a(),-1!==e.indexOf(s)?{type:"LICENSE",string:s}:-1!==t.indexOf(s)?{type:"EXCEPTION",string:s}:void(r=i));var i,s}for(var u=[];i()&&(s(),i());){var f=l();if(!f)throw new Error("Unexpected `"+n[r]+"` at offset "+r);u.push(f)}return u}}function Pe(){return Ee?ye:(Ee=1,ye=function(e){var t=0;function n(){return t<e.length}function r(){return n()?e[t]:null}function i(){if(!n())throw new Error;t++}function o(e){var t=r();if(t&&"OPERATOR"===t.type&&e===t.string)return i(),t.string}function s(){var e=r();if(e&&"LICENSE"===e.type){i();var t={license:e.string};o("+")&&(t.plus=!0);var n=function(){if(o("WITH")){var e=r();if(e&&"EXCEPTION"===e.type)return i(),e.string;throw new Error("Expected exception after `WITH`")}}();return n&&(t.exception=n),t}}function a(e,t){return function n(){var r=t();if(r){if(!o(e))return r;var i=n();if(!i)throw new Error("Expected expression");return{left:r,conjunction:e.toLowerCase(),right:i}}}}var c=a("AND",function(){return function(){if(o("(")){var e=l();if(!o(")"))throw new Error("Expected `)`");return e}}()||function(){var e=t,n="",s=r();if("DOCUMENTREF"===s.type&&(i(),n+="DocumentRef-"+s.string+":",!o(":")))throw new Error("Expected `:` after `DocumentRef-...`");if("LICENSEREF"===(s=r()).type)return i(),{license:n+="LicenseRef-"+s.string};t=e}()||s()}),l=a("OR",c),u=l();if(!u||n())throw new Error("Syntax error");return u})}function Ae(){if(we)return be;we=1;var e=Oe(),t=Pe();return be=function(n){return t(e(n))}}function Re(){if(_e)return Se;_e=1;var e=Ae(),t=function(){if(Ce)return Le;Ce=1;var e=Ae(),t=Ie;function n(t){try{return e(t),!0}catch(e){return!1}}function r(e,t){var n=t[0].length-e[0].length;return 0!==n?n:e[0].toUpperCase().localeCompare(t[0].toUpperCase())}var i=[["APGL","AGPL"],["Gpl","GPL"],["GLP","GPL"],["APL","Apache"],["ISD","ISC"],["GLP","GPL"],["IST","ISC"],["Claude","Clause"],[" or later","+"],[" International",""],["GNU","GPL"],["GUN","GPL"],["+",""],["GNU GPL","GPL"],["GNU LGPL","LGPL"],["GNU/GPL","GPL"],["GNU GLP","GPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL"],["GNU Lesser General Public License","LGPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["GNU Lesser General Public License","LGPL-2.1"],["LESSER GENERAL PUBLIC LICENSE","LGPL"],["Lesser General Public License","LGPL"],["LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["Lesser General Public License","LGPL-2.1"],["GNU General Public License","GPL"],["Gnu public license","GPL"],["GNU Public License","GPL"],["GNU GENERAL PUBLIC LICENSE","GPL"],["MTI","MIT"],["Mozilla Public License","MPL"],["Universal Permissive License","UPL"],["WTH","WTF"],["WTFGPL","WTFPL"],["-License",""]].sort(r),o=[function(e){return e.toUpperCase()},function(e){return e.trim()},function(e){return e.replace(/\./g,"")},function(e){return e.replace(/\s+/g,"")},function(e){return e.replace(/\s+/g,"-")},function(e){return e.replace("v","-")},function(e){return e.replace(/,?\s*(\d)/,"-$1")},function(e){return e.replace(/,?\s*(\d)/,"-$1.0")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2.0")},function(e){return e[0].toUpperCase()+e.slice(1)},function(e){return e.replace("/","-")},function(e){return e.replace(/\s*V\s*(\d)/,"-$1").replace(/(\d)$/,"$1.0")},function(e){return-1!==e.indexOf("3.0")?e+"-or-later":e+"-only"},function(e){return e+"only"},function(e){return e.replace(/(\d)$/,"-$1.0")},function(e){return e.replace(/(-| )?(\d)$/,"-$2-Clause")},function(e){return e.replace(/(-| )clause(-| )(\d)/,"-$3-Clause")},function(e){return e.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i,"BSD-3-Clause")},function(e){return e.replace(/\bSimplified(-| )?BSD((-| )License)?/i,"BSD-2-Clause")},function(e){return e.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i,"BSD-2-Clause-$1BSD")},function(e){return e.replace(/\bClear(-| )?BSD((-| )License)?/i,"BSD-3-Clause-Clear")},function(e){return e.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i,"BSD-4-Clause")},function(e){return"CC-"+e},function(e){return"CC-"+e+"-4.0"},function(e){return e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")},function(e){return"CC-"+e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")+"-4.0"}],s=t.map(function(e){var t=/^(.*)-\d+\.\d+$/.exec(e);return t?[t[0],t[1]]:[e,null]}).reduce(function(e,t){var n=t[1];return e[n]=e[n]||[],e[n].push(t[0]),e},{}),a=Object.keys(s).map(function(e){return[e,s[e]]}).filter(function(e){return 1===e[1].length&&null!==e[0]&&"APL"!==e[0]}).map(function(e){return[e[0],e[1][0]]});s=void 0;var c=[["UNLI","Unlicense"],["WTF","WTFPL"],["2 CLAUSE","BSD-2-Clause"],["2-CLAUSE","BSD-2-Clause"],["3 CLAUSE","BSD-3-Clause"],["3-CLAUSE","BSD-3-Clause"],["AFFERO","AGPL-3.0-or-later"],["AGPL","AGPL-3.0-or-later"],["APACHE","Apache-2.0"],["ARTISTIC","Artistic-2.0"],["Affero","AGPL-3.0-or-later"],["BEER","Beerware"],["BOOST","BSL-1.0"],["BSD","BSD-2-Clause"],["CDDL","CDDL-1.1"],["ECLIPSE","EPL-1.0"],["FUCK","WTFPL"],["GNU","GPL-3.0-or-later"],["LGPL","LGPL-3.0-or-later"],["GPLV1","GPL-1.0-only"],["GPL-1","GPL-1.0-only"],["GPLV2","GPL-2.0-only"],["GPL-2","GPL-2.0-only"],["GPL","GPL-3.0-or-later"],["MIT +NO-FALSE-ATTRIBS","MITNFA"],["MIT","MIT"],["MPL","MPL-2.0"],["X11","X11"],["ZLIB","Zlib"]].concat(a).sort(r),l=function(e){for(var t=0;t<o.length;t++){var r=o[t](e).trim();if(r!==e&&n(r))return r}return null},u=function(e){for(var t=e.toUpperCase(),n=0;n<c.length;n++){var r=c[n];if(t.indexOf(r[0])>-1)return r[1]}return null},f=function(e,t){for(var n=0;n<i.length;n++){var r=i[n],o=r[0];if(e.indexOf(o)>-1){var s=t(e.replace(o,r[1]));if(null!==s)return s}}return null};return Le=function(e,t){var r=void 0===(t=t||{}).upgrade||!!t.upgrade;function i(e){return r?function(e){return-1!==["GPL-1.0","LGPL-1.0","AGPL-1.0","GPL-2.0","LGPL-2.0","AGPL-2.0","LGPL-2.1"].indexOf(e)?e+"-only":-1!==["GPL-1.0+","GPL-2.0+","GPL-3.0+","LGPL-2.0+","LGPL-2.1+","LGPL-3.0+","AGPL-1.0+","AGPL-3.0+"].indexOf(e)?e.replace(/\+$/,"-or-later"):-1!==["GPL-3.0","LGPL-3.0","AGPL-3.0"].indexOf(e)?e+"-or-later":e}(e):e}if("string"!=typeof e||0===e.trim().length)throw Error("Invalid argument. Expected non-empty string.");if(n(e=e.trim()))return i(e);var o=e.replace(/\+$/,"").trim();if(n(o))return i(o);var s=l(e);return null!==s||null!==(s=f(e,function(e){return n(e)?e:l(e)}))||null!==(s=u(e))||null!==(s=f(e,u))?i(s):null}}(),n='license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"',r=/^SEE LICEN[CS]E IN (.+)$/;function i(e,t){return t.slice(0,e.length)===e}function o(e){if(e.hasOwnProperty("license")){var t=e.license;return i("LicenseRef",t)||i("DocumentRef",t)}return o(e.left)||o(e.right)}return Se=function(i){var s;try{s=e(i)}catch(e){var a;if("UNLICENSED"===i||"UNLICENCED"===i)return{validForOldPackages:!0,validForNewPackages:!0,unlicensed:!0};if(a=r.exec(i))return{validForOldPackages:!0,validForNewPackages:!0,inFile:a[1]};var c={validForOldPackages:!1,validForNewPackages:!1,warnings:[n]};if(0!==i.trim().length){var l=t(i);l&&c.warnings.push('license is similar to the valid expression "'+l+'"')}return c}return o(s)?{validForNewPackages:!1,validForOldPackages:!1,spdx:!0,warnings:[n]}:{validForNewPackages:!0,validForOldPackages:!0,spdx:!0}}}var Te,$e,xe,Fe,Ue,ke,Be,Ge,Me,je,ze,He={};function qe(){if(Te)return He;Te=1,Object.defineProperty(He,"__esModule",{value:!0}),He.LRUCache=void 0;var e="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date,t=new Set,n="object"==typeof process&&process?process:{},r=(e,t,r,i)=>{"function"==typeof n.emitWarning?n.emitWarning(e,t,r,i):console.error(`[${r}] ${t}: ${e}`)},i=globalThis.AbortController,o=globalThis.AbortSignal;if(typeof i>"u"){o=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(e,t){this._onabort.push(t)}},i=class{constructor(){t()}signal=new o;abort(e){if(!this.signal.aborted){this.signal.reason=e,this.signal.aborted=!0;for(let t of this.signal._onabort)t(e);this.signal.onabort?.(e)}}};let e="1"!==n.env?.LRU_CACHE_IGNORE_AC_WARNING,t=()=>{e&&(e=!1,r("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}var s=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),a=e=>s(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?c:null:null,c=class extends Array{constructor(e){super(e),this.fill(0)}},l=class e{heap;length;static#e=!1;static create(t){let n=a(t);if(!n)return[];e.#e=!0;let r=new e(t,n);return e.#e=!1,r}constructor(t,n){if(!e.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new n(t),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},u=class n{#e;#t;#n;#r;#i;#o;#s;#a;get perf(){return this.#a}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#c;#l;#u;#f;#p;#d;#h;#m;#g;#v;#y;#E;#b;#w;#L;#C;#S;#_;#I;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#w,autopurgeTimers:e.#L,sizes:e.#E,keyMap:e.#u,keyList:e.#f,valList:e.#p,next:e.#d,prev:e.#h,get head(){return e.#m},get tail(){return e.#g},free:e.#v,isBackgroundFetch:t=>e.#D(t),backgroundFetch:(t,n,r,i)=>e.#N(t,n,r,i),moveToTail:t=>e.#O(t),indexes:t=>e.#P(t),rindexes:t=>e.#A(t),isStale:t=>e.#R(t)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#l}get size(){return this.#c}get fetchMethod(){return this.#o}get memoMethod(){return this.#s}get dispose(){return this.#n}get onInsert(){return this.#r}get disposeAfter(){return this.#i}constructor(i){let{max:o=0,ttl:c,ttlResolution:u=1,ttlAutopurge:f,updateAgeOnGet:p,updateAgeOnHas:d,allowStale:h,dispose:m,onInsert:g,disposeAfter:v,noDisposeOnSet:y,noUpdateTTL:E,maxSize:b=0,maxEntrySize:w=0,sizeCalculation:L,fetchMethod:C,memoMethod:S,noDeleteOnFetchRejection:_,noDeleteOnStaleGet:I,allowStaleOnFetchRejection:D,allowStaleOnFetchAbort:N,ignoreFetchAbort:O,perf:P}=i;if(void 0!==P&&"function"!=typeof P?.now)throw new TypeError("perf option must have a now() method if specified");if(this.#a=P??e,0!==o&&!s(o))throw new TypeError("max option must be a nonnegative integer");let A=o?a(o):Array;if(!A)throw new Error("invalid max value: "+o);if(this.#e=o,this.#t=b,this.maxEntrySize=w||this.#t,this.sizeCalculation=L,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw new TypeError("sizeCalculation set to non-function")}if(void 0!==S&&"function"!=typeof S)throw new TypeError("memoMethod must be a function if defined");if(this.#s=S,void 0!==C&&"function"!=typeof C)throw new TypeError("fetchMethod must be a function if specified");if(this.#o=C,this.#S=!!C,this.#u=new Map,this.#f=new Array(o).fill(void 0),this.#p=new Array(o).fill(void 0),this.#d=new A(o),this.#h=new A(o),this.#m=0,this.#g=0,this.#v=l.create(o),this.#c=0,this.#l=0,"function"==typeof m&&(this.#n=m),"function"==typeof g&&(this.#r=g),"function"==typeof v?(this.#i=v,this.#y=[]):(this.#i=void 0,this.#y=void 0),this.#C=!!this.#n,this.#I=!!this.#r,this.#_=!!this.#i,this.noDisposeOnSet=!!y,this.noUpdateTTL=!!E,this.noDeleteOnFetchRejection=!!_,this.allowStaleOnFetchRejection=!!D,this.allowStaleOnFetchAbort=!!N,this.ignoreFetchAbort=!!O,0!==this.maxEntrySize){if(0!==this.#t&&!s(this.#t))throw new TypeError("maxSize must be a positive integer if specified");if(!s(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#T()}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!I,this.updateAgeOnGet=!!p,this.updateAgeOnHas=!!d,this.ttlResolution=s(u)||0===u?u:1,this.ttlAutopurge=!!f,this.ttl=c||0,this.ttl){if(!s(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#$()}if(0===this.#e&&0===this.ttl&&0===this.#t)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#e&&!this.#t){let e="LRU_CACHE_UNBOUNDED";(e=>!t.has(e))(e)&&(t.add(e),r("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",e,n))}}getRemainingTTL(e){return this.#u.has(e)?1/0:0}#$(){let e=new c(this.#e),t=new c(this.#e);this.#w=e,this.#b=t;let n=this.ttlAutopurge?new Array(this.#e):void 0;this.#L=n,this.#x=(n,i,o=this.#a.now())=>{t[n]=0!==i?o:0,e[n]=i,r(n,i)},this.#F=n=>{t[n]=0!==e[n]?this.#a.now():0,r(n,e[n])};let r=this.ttlAutopurge?(e,t)=>{if(n?.[e]&&(clearTimeout(n[e]),n[e]=void 0),t&&0!==t&&n){let r=setTimeout(()=>{this.#R(e)&&this.#U(this.#f[e],"expire")},t+1);r.unref&&r.unref(),n[e]=r}}:()=>{};this.#k=(n,r)=>{if(e[r]){let s=e[r],a=t[r];if(!s||!a)return;n.ttl=s,n.start=a,n.now=i||o();let c=n.now-a;n.remainingTTL=s-c}};let i=0,o=()=>{let e=this.#a.now();if(this.ttlResolution>0){i=e;let t=setTimeout(()=>i=0,this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=n=>{let r=this.#u.get(n);if(void 0===r)return 0;let s=e[r],a=t[r];return s&&a?s-((i||o())-a):1/0},this.#R=n=>{let r=t[n],s=e[n];return!!s&&!!r&&(i||o())-r>s}}#F=()=>{};#k=()=>{};#x=()=>{};#R=()=>!1;#T(){let e=new c(this.#e);this.#l=0,this.#E=e,this.#B=t=>{this.#l-=e[t],e[t]=0},this.#G=(e,t,n,r)=>{if(this.#D(t))return 0;if(!s(n)){if(!r)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if("function"!=typeof r)throw new TypeError("sizeCalculation must be a function");if(n=r(t,e),!s(n))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return n},this.#M=(t,n,r)=>{if(e[t]=n,this.#t){let n=this.#t-e[t];for(;this.#l>n;)this.#j(!0)}this.#l+=e[t],r&&(r.entrySize=n,r.totalCalculatedSize=this.#l)}}#B=e=>{};#M=(e,t,n)=>{};#G=(e,t,n,r)=>{if(n||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#P({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#g;this.#z(t)&&((e||!this.#R(t))&&(yield t),t!==this.#m);)t=this.#h[t]}*#A({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#m;this.#z(t)&&((e||!this.#R(t))&&(yield t),t!==this.#g);)t=this.#d[t]}#z(e){return void 0!==e&&this.#u.get(this.#f[e])===e}*entries(){for(let e of this.#P())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*rentries(){for(let e of this.#A())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*keys(){for(let e of this.#P()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*rkeys(){for(let e of this.#A()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*values(){for(let e of this.#P())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}*rvalues(){for(let e of this.#A())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(let n of this.#P()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0!==i&&e(i,this.#f[n],this))return this.get(this.#f[n],t)}}forEach(e,t=this){for(let n of this.#P()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}rforEach(e,t=this){for(let n of this.#A()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}purgeStale(){let e=!1;for(let t of this.#A({allowStale:!0}))this.#R(t)&&(this.#U(this.#f[t],"expire"),e=!0);return e}info(e){let t=this.#u.get(e);if(void 0===t)return;let n=this.#p[t],r=this.#D(n)?n.__staleWhileFetching:n;if(void 0===r)return;let i={value:r};if(this.#w&&this.#b){let e=this.#w[t],n=this.#b[t];if(e&&n){let t=e-(this.#a.now()-n);i.ttl=t,i.start=Date.now()}}return this.#E&&(i.size=this.#E[t]),i}dump(){let e=[];for(let t of this.#P({allowStale:!0})){let n=this.#f[t],r=this.#p[t],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0===i||void 0===n)continue;let o={value:i};if(this.#w&&this.#b){o.ttl=this.#w[t];let e=this.#a.now()-this.#b[t];o.start=Math.floor(Date.now()-e)}this.#E&&(o.size=this.#E[t]),e.unshift([n,o])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let e=Date.now()-n.start;n.start=this.#a.now()-e}this.set(t,n.value,n)}}set(e,t,n={}){if(void 0===t)return this.delete(e),this;let{ttl:r=this.ttl,start:i,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:s=this.sizeCalculation,status:a}=n,{noUpdateTTL:c=this.noUpdateTTL}=n,l=this.#G(e,t,n.size||0,s);if(this.maxEntrySize&&l>this.maxEntrySize)return a&&(a.set="miss",a.maxEntrySizeExceeded=!0),this.#U(e,"set"),this;let u=0===this.#c?void 0:this.#u.get(e);if(void 0===u)u=0===this.#c?this.#g:0!==this.#v.length?this.#v.pop():this.#c===this.#e?this.#j(!1):this.#c,this.#f[u]=e,this.#p[u]=t,this.#u.set(e,u),this.#d[this.#g]=u,this.#h[u]=this.#g,this.#g=u,this.#c++,this.#M(u,l,a),a&&(a.set="add"),c=!1,this.#I&&this.#r?.(t,e,"add");else{this.#O(u);let n=this.#p[u];if(t!==n){if(this.#S&&this.#D(n)){n.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:t}=n;void 0!==t&&!o&&(this.#C&&this.#n?.(t,e,"set"),this.#_&&this.#y?.push([t,e,"set"]))}else o||(this.#C&&this.#n?.(n,e,"set"),this.#_&&this.#y?.push([n,e,"set"]));if(this.#B(u),this.#M(u,l,a),this.#p[u]=t,a){a.set="replace";let e=n&&this.#D(n)?n.__staleWhileFetching:n;void 0!==e&&(a.oldValue=e)}}else a&&(a.set="update");this.#I&&this.onInsert?.(t,e,t===n?"update":"replace")}if(0!==r&&!this.#w&&this.#$(),this.#w&&(c||this.#x(u,r,i),a&&this.#k(a,u)),!o&&this.#_&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return this}pop(){try{for(;this.#c;){let e=this.#p[this.#m];if(this.#j(!0),this.#D(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(void 0!==e)return e}}finally{if(this.#_&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}}#j(e){let t=this.#m,n=this.#f[t],r=this.#p[t];return this.#S&&this.#D(r)?r.__abortController.abort(new Error("evicted")):(this.#C||this.#_)&&(this.#C&&this.#n?.(r,n,"evict"),this.#_&&this.#y?.push([r,n,"evict"])),this.#B(t),this.#L?.[t]&&(clearTimeout(this.#L[t]),this.#L[t]=void 0),e&&(this.#f[t]=void 0,this.#p[t]=void 0,this.#v.push(t)),1===this.#c?(this.#m=this.#g=0,this.#v.length=0):this.#m=this.#d[t],this.#u.delete(n),this.#c--,t}has(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:r}=t,i=this.#u.get(e);if(void 0!==i){let e=this.#p[i];if(this.#D(e)&&void 0===e.__staleWhileFetching)return!1;if(!this.#R(i))return n&&this.#F(i),r&&(r.has="hit",this.#k(r,i)),!0;r&&(r.has="stale",this.#k(r,i))}else r&&(r.has="miss");return!1}peek(e,t={}){let{allowStale:n=this.allowStale}=t,r=this.#u.get(e);if(void 0===r||!n&&this.#R(r))return;let i=this.#p[r];return this.#D(i)?i.__staleWhileFetching:i}#N(e,t,n,r){let o=void 0===t?void 0:this.#p[t];if(this.#D(o))return o;let s=new i,{signal:a}=n;a?.addEventListener("abort",()=>s.abort(a.reason),{signal:s.signal});let c={signal:s.signal,options:n,context:r},l=(r,i=!1)=>{let{aborted:o}=s.signal,a=n.ignoreFetchAbort&&void 0!==r,l=n.ignoreFetchAbort||!(!n.allowStaleOnFetchAbort||void 0===r);if(n.status&&(o&&!i?(n.status.fetchAborted=!0,n.status.fetchError=s.signal.reason,a&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),o&&!a&&!i)return u(s.signal.reason,l);let p=f,d=this.#p[t];return(d===f||a&&i&&void 0===d)&&(void 0===r?void 0!==p.__staleWhileFetching?this.#p[t]=p.__staleWhileFetching:this.#U(e,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.set(e,r,c.options))),r},u=(r,i)=>{let{aborted:o}=s.signal,a=o&&n.allowStaleOnFetchAbort,c=a||n.allowStaleOnFetchRejection,l=c||n.noDeleteOnFetchRejection,u=f;if(this.#p[t]===f&&(!l||!i&&void 0===u.__staleWhileFetching?this.#U(e,"fetch"):a||(this.#p[t]=u.__staleWhileFetching)),c)return n.status&&void 0!==u.__staleWhileFetching&&(n.status.returnedStale=!0),u.__staleWhileFetching;if(u.__returned===u)throw r};n.status&&(n.status.fetchDispatched=!0);let f=new Promise((t,r)=>{let i=this.#o?.(e,o,c);i&&i instanceof Promise&&i.then(e=>t(void 0===e?void 0:e),r),s.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(t(void 0),n.allowStaleOnFetchAbort&&(t=e=>l(e,!0)))})}).then(l,e=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=e),u(e,!1))),p=Object.assign(f,{__abortController:s,__staleWhileFetching:o,__returned:void 0});return void 0===t?(this.set(e,p,{...c.options,status:void 0}),t=this.#u.get(e)):this.#p[t]=p,p}#D(e){if(!this.#S)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof i}async fetch(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:s=this.noDisposeOnSet,size:a=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:l=this.noUpdateTTL,noDeleteOnFetchRejection:u=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:f=this.allowStaleOnFetchRejection,ignoreFetchAbort:p=this.ignoreFetchAbort,allowStaleOnFetchAbort:d=this.allowStaleOnFetchAbort,context:h,forceRefresh:m=!1,status:g,signal:v}=t;if(!this.#S)return g&&(g.fetch="get"),this.get(e,{allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,status:g});let y={allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,ttl:o,noDisposeOnSet:s,size:a,sizeCalculation:c,noUpdateTTL:l,noDeleteOnFetchRejection:u,allowStaleOnFetchRejection:f,allowStaleOnFetchAbort:d,ignoreFetchAbort:p,status:g,signal:v},E=this.#u.get(e);if(void 0===E){g&&(g.fetch="miss");let t=this.#N(e,E,y,h);return t.__returned=t}{let t=this.#p[E];if(this.#D(t)){let e=n&&void 0!==t.__staleWhileFetching;return g&&(g.fetch="inflight",e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}let i=this.#R(E);if(!m&&!i)return g&&(g.fetch="hit"),this.#O(E),r&&this.#F(E),g&&this.#k(g,E),t;let o=this.#N(e,E,y,h),s=void 0!==o.__staleWhileFetching&&n;return g&&(g.fetch=i?"stale":"refresh",s&&i&&(g.returnedStale=!0)),s?o.__staleWhileFetching:o.__returned=o}}async forceFetch(e,t={}){let n=await this.fetch(e,t);if(void 0===n)throw new Error("fetch() returned undefined");return n}memo(e,t={}){let n=this.#s;if(!n)throw new Error("no memoMethod provided to constructor");let{context:r,forceRefresh:i,...o}=t,s=this.get(e,o);if(!i&&void 0!==s)return s;let a=n(e,s,{options:o,context:r});return this.set(e,a,o),a}get(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:o}=t,s=this.#u.get(e);if(void 0!==s){let t=this.#p[s],a=this.#D(t);return o&&this.#k(o,s),this.#R(s)?(o&&(o.get="stale"),a?(o&&n&&void 0!==t.__staleWhileFetching&&(o.returnedStale=!0),n?t.__staleWhileFetching:void 0):(i||this.#U(e,"expire"),o&&n&&(o.returnedStale=!0),n?t:void 0)):(o&&(o.get="hit"),a?t.__staleWhileFetching:(this.#O(s),r&&this.#F(s),t))}o&&(o.get="miss")}#H(e,t){this.#h[t]=e,this.#d[e]=t}#O(e){e!==this.#g&&(e===this.#m?this.#m=this.#d[e]:this.#H(this.#h[e],this.#d[e]),this.#H(this.#g,e),this.#g=e)}delete(e){return this.#U(e,"delete")}#U(e,t){let n=!1;if(0!==this.#c){let r=this.#u.get(e);if(void 0!==r)if(this.#L?.[r]&&(clearTimeout(this.#L?.[r]),this.#L[r]=void 0),n=!0,1===this.#c)this.#q(t);else{this.#B(r);let n=this.#p[r];if(this.#D(n)?n.__abortController.abort(new Error("deleted")):(this.#C||this.#_)&&(this.#C&&this.#n?.(n,e,t),this.#_&&this.#y?.push([n,e,t])),this.#u.delete(e),this.#f[r]=void 0,this.#p[r]=void 0,r===this.#g)this.#g=this.#h[r];else if(r===this.#m)this.#m=this.#d[r];else{let e=this.#h[r];this.#d[e]=this.#d[r];let t=this.#d[r];this.#h[t]=this.#h[r]}this.#c--,this.#v.push(r)}}if(this.#_&&this.#y?.length){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return n}clear(){return this.#q("delete")}#q(e){for(let t of this.#A({allowStale:!0})){let n=this.#p[t];if(this.#D(n))n.__abortController.abort(new Error("deleted"));else{let r=this.#f[t];this.#C&&this.#n?.(n,r,e),this.#_&&this.#y?.push([n,r,e])}}if(this.#u.clear(),this.#p.fill(void 0),this.#f.fill(void 0),this.#w&&this.#b){this.#w.fill(0),this.#b.fill(0);for(let e of this.#L??[])void 0!==e&&clearTimeout(e);this.#L?.fill(void 0)}if(this.#E&&this.#E.fill(0),this.#m=0,this.#g=0,this.#v.length=0,this.#l=0,this.#c=0,this.#_&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}};return He.LRUCache=u,He}function Ve(){if(Ue)return Fe;Ue=1;const e=h,t=(e,t,n)=>{const r=e.indexOf(n);return e.lastIndexOf(t,r>-1?r:1/0)},n=t=>{try{return new e.URL(t)}catch{}};return Fe=(e,r)=>{const i=r?((e,t)=>{const n=e.indexOf(":"),r=e.slice(0,n+1);if(Object.prototype.hasOwnProperty.call(t,r))return e;if("://"===e.substr(n,3))return e;const i=e.indexOf("@");return i>-1?i>n?`git+ssh://${e}`:e:`${e.slice(0,n+1)}//${e.slice(n+1)}`})(e,r):e;return n(i)||n((e=>{const n=t(e,"@","#"),r=t(e,":","#");return r>n&&(e=e.slice(0,r)+"/"+e.slice(r+1)),-1===t(e,":","#")&&-1===e.indexOf("//")&&(e=`git+ssh://${e}`),e})(i))}}function We(){if(Be)return ke;Be=1;const e=Ve();return ke=(t,n,{gitHosts:r,protocols:i})=>{if(!t)return;const o=(e=>{const t=e.indexOf("#"),n=e.indexOf("/"),r=e.indexOf("/",n+1),i=e.indexOf(":"),o=/\s/.exec(e),s=e.indexOf("@"),a=!o||t>-1&&o.index>t,c=-1===s||t>-1&&s>t,l=-1===i||t>-1&&i>t,u=-1===r||t>-1&&r>t,f=n>0,p=t>-1?"/"!==e[t-1]:!e.endsWith("/"),d=!e.startsWith(".");return a&&f&&p&&d&&c&&l&&u})(t)?`github:${t}`:t,s=e(o,i);if(!s)return;const a=r.byShortcut[s.protocol],c=r.byDomain[s.hostname.startsWith("www.")?s.hostname.slice(4):s.hostname],l=a||c;if(!l)return;const u=r[a||c];let f=null;i[s.protocol]?.auth&&(s.username||s.password)&&(f=`${s.username}${s.password?":"+s.password:""}`);let p=null,d=null,h=null,m=null;try{if(a){let e=s.pathname.startsWith("/")?s.pathname.slice(1):s.pathname;const t=e.indexOf("@");t>-1&&(e=e.slice(t+1));const n=e.lastIndexOf("/");n>-1?(d=decodeURIComponent(e.slice(0,n)),d||(d=null),h=decodeURIComponent(e.slice(n+1))):h=decodeURIComponent(e),h.endsWith(".git")&&(h=h.slice(0,-4)),s.hash&&(p=decodeURIComponent(s.hash.slice(1))),m="shortcut"}else{if(!u.protocols.includes(s.protocol))return;const e=u.extract(s);if(!e)return;d=e.user&&decodeURIComponent(e.user),h=decodeURIComponent(e.project),p=decodeURIComponent(e.committish),m=i[s.protocol]?.name||s.protocol.slice(0,-1)}}catch(e){if(e instanceof URIError)return;throw e}return[l,d,f,h,p,m,n]}}function Ke(){if(Me)return Ge;Me=1;const{LRUCache:e}=qe(),t=function(){if(xe)return $e;xe=1;const e=(...e)=>e.every(e=>e)?e.join(""):"",t=e=>e?encodeURIComponent(e):"",n=e=>e.toLowerCase().replace(/^\W+/g,"").replace(/(?<!\W)\W+$/,"").replace(/\//g,"").replace(/\W+/g,"-"),r={sshtemplate:({domain:t,user:n,project:r,committish:i})=>`git@${t}:${n}/${r}.git${e("#",i)}`,sshurltemplate:({domain:t,user:n,project:r,committish:i})=>`git+ssh://git@${t}/${n}/${r}.git${e("#",i)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s,path:a})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a)}`,browsetemplate:({domain:n,user:r,project:i,committish:o,treepath:s})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o))}`,browsetreetemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,browseblobtemplate:({domain:n,user:r,project:i,committish:o,blobpath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,docstemplate:({domain:n,user:r,project:i,treepath:o,committish:s})=>`https://${n}/${r}/${i}${e("/",o,"/",t(s))}#readme`,httpstemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git+https://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/raw/${t(i||"HEAD")}/${o}`,shortcuttemplate:({type:t,user:n,project:r,committish:i})=>`${t}:${n}/${r}${e("#",i)}`,pathtemplate:({user:t,project:n,committish:r})=>`${t}/${n}${e("#",r)}`,bugstemplate:({domain:e,user:t,project:n})=>`https://${e}/${t}/${n}/issues`,hashformat:n},i={};i.github={protocols:["git:","http:","git+ssh:","git+https:","ssh:","https:"],domain:"github.com",treepath:"tree",blobpath:"blob",editpath:"edit",filetemplate:({auth:n,user:r,project:i,committish:o,path:s})=>`https://${e(n,"@")}raw.githubusercontent.com/${r}/${i}/${t(o||"HEAD")}/${s}`,gittemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://codeload.${e}/${n}/${r}/tar.gz/${t(i||"HEAD")}`,extract:e=>{let[,t,n,r,i]=e.pathname.split("/",5);if((!r||"tree"===r)&&(r||(i=e.hash.slice(1)),n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:i}}},i.bitbucket={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"bitbucket.org",treepath:"src",blobpath:"src",editpath:"?mode=edit",edittemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,editpath:c})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a,c)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/get/${t(i||"HEAD")}.tar.gz`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["get"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}},i.gitlab={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"gitlab.com",treepath:"tree",blobpath:"tree",editpath:"-/edit",tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/repository/archive.tar.gz?ref=${t(i||"HEAD")}`,extract:e=>{const t=e.pathname.slice(1);if(t.includes("/-/")||t.includes("/archive.tar.gz"))return;const n=t.split("/");let r=n.pop();r.endsWith(".git")&&(r=r.slice(0,-4));const i=n.join("/");return i&&r?{user:i,project:r,committish:e.hash.slice(1)}:void 0}},i.gist={protocols:["git:","git+ssh:","git+https:","ssh:","https:"],domain:"gist.github.com",editpath:"edit",sshtemplate:({domain:t,project:n,committish:r})=>`git@${t}:${n}.git${e("#",r)}`,sshurltemplate:({domain:t,project:n,committish:r})=>`git+ssh://git@${t}/${n}.git${e("#",r)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s})=>`https://${n}/${r}/${i}${e("/",t(o))}/${s}`,browsetemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,browsetreetemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,browseblobtemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,docstemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,httpstemplate:({domain:t,project:n,committish:r})=>`git+https://${t}/${n}.git${e("#",r)}`,filetemplate:({user:n,project:r,committish:i,path:o})=>`https://gist.githubusercontent.com/${n}/${r}/raw${e("/",t(i))}/${o}`,shortcuttemplate:({type:t,project:n,committish:r})=>`${t}:${n}${e("#",r)}`,pathtemplate:({project:t,committish:n})=>`${t}${e("#",n)}`,bugstemplate:({domain:e,project:t})=>`https://${e}/${t}`,gittemplate:({domain:t,project:n,committish:r})=>`git://${t}/${n}.git${e("#",r)}`,tarballtemplate:({project:e,committish:n})=>`https://codeload.github.com/gist/${e}/tar.gz/${t(n||"HEAD")}`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if("raw"!==r){if(!n){if(!t)return;n=t,t=null}return n.endsWith(".git")&&(n=n.slice(0,-4)),{user:t,project:n,committish:e.hash.slice(1)}}},hashformat:function(e){return e&&"file-"+n(e)}},i.sourcehut={protocols:["git+ssh:","https:"],domain:"git.sr.ht",treepath:"tree",blobpath:"tree",filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/blob/${t(i)||"HEAD"}/${o}`,httpstemplate:({domain:t,user:n,project:r,committish:i})=>`https://${t}/${n}/${r}.git${e("#",i)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/archive/${t(i)||"HEAD"}.tar.gz`,bugstemplate:()=>null,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["archive"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}};for(const[e,t]of Object.entries(i))i[e]=Object.assign({},r,t);return $e=i}(),n=We(),r=Ve(),i=new e({max:1e3});class o{constructor(e,t,n,r,i,s,a={}){Object.assign(this,o.#V[e],{type:e,user:t,auth:n,project:r,committish:i,default:s,opts:a})}static#V={byShortcut:{},byDomain:{}};static#W={"git+ssh:":{name:"sshurl"},"ssh:":{name:"sshurl"},"git+https:":{name:"https",auth:!0},"git:":{auth:!0},"http:":{auth:!0},"https:":{auth:!0},"git+http:":{auth:!0}};static addHost(e,t){o.#V[e]=t,o.#V.byDomain[t.domain]=e,o.#V.byShortcut[`${e}:`]=e,o.#W[`${e}:`]={name:e}}static fromUrl(e,t){if("string"!=typeof e)return;const r=e+JSON.stringify(t||{});if(!i.has(r)){const s=n(e,t,{gitHosts:o.#V,protocols:o.#W});i.set(r,s?new o(...s):void 0)}return i.get(r)}static fromManifest(e,t={}){if(!e||"object"!=typeof e)return;const n=e.repository,r=n&&("string"==typeof n?n:"object"==typeof n&&"string"==typeof n.url?n.url:null);if(!r)throw new Error("no repository");const i=r&&o.fromUrl(r.replace(/^git\+/,""),t)||null;if(i)return i;const s=function(e){try{const{protocol:t,hostname:n,pathname:r}=new URL(e);if(!n)return null;return`${/(?:git\+)http:$/.test(t)?"http:":"https:"}//${n}${r.replace(/\.git$/,"")}`}catch{return null}}(r);return o.fromUrl(s,t)||s}static parseUrl(e){return r(e)}#K(e,t){if("function"!=typeof e)return null;const n={...this,...this.opts,...t};n.path||(n.path=""),n.path.startsWith("/")&&(n.path=n.path.slice(1)),n.noCommittish&&(n.committish=null);const r=e(n);return n.noGitPlus&&r.startsWith("git+")?r.slice(4):r}hash(){return this.committish?`#${this.committish}`:""}ssh(e){return this.#K(this.sshtemplate,e)}sshurl(e){return this.#K(this.sshurltemplate,e)}browse(e,...t){return"string"!=typeof e?this.#K(this.browsetemplate,e):"string"!=typeof t[0]?this.#K(this.browsetreetemplate,{...t[0],path:e}):this.#K(this.browsetreetemplate,{...t[1],fragment:t[0],path:e})}browseFile(e,...t){return"string"!=typeof t[0]?this.#K(this.browseblobtemplate,{...t[0],path:e}):this.#K(this.browseblobtemplate,{...t[1],fragment:t[0],path:e})}docs(e){return this.#K(this.docstemplate,e)}bugs(e){return this.#K(this.bugstemplate,e)}https(e){return this.#K(this.httpstemplate,e)}git(e){return this.#K(this.gittemplate,e)}shortcut(e){return this.#K(this.shortcuttemplate,e)}path(e){return this.#K(this.pathtemplate,e)}tarball(e){return this.#K(this.tarballtemplate,{...e,noCommittish:!1})}file(e,t){return this.#K(this.filetemplate,{...t,path:e})}edit(e,t){return this.#K(this.edittemplate,{...t,path:e})}getDefaultRepresentation(){return this.default}toString(e){return this.default&&"function"==typeof this[this.default]?this[this.default](e):this.sshurl(e)}}for(const[e,n]of Object.entries(t))o.addHost(e,n);return Ge=o}var Ze,Ye,Xe={topLevel:{dependancies:"dependencies",dependecies:"dependencies",depdenencies:"dependencies",devEependencies:"devDependencies",depends:"dependencies","dev-dependencies":"devDependencies",devDependences:"devDependencies",devDepenencies:"devDependencies",devdependencies:"devDependencies",repostitory:"repository",repo:"repository",prefereGlobal:"preferGlobal",hompage:"homepage",hampage:"homepage",autohr:"author",autor:"author",contributers:"contributors",publicationConfig:"publishConfig",script:"scripts"},bugs:{web:"url",name:"url"},script:{server:"start",tests:"test"}};function Je(){if(Ye)return Ze;Ye=1;var{URL:e}=p,t=function(){if(le)return ce;le=1;const e=me();return ce=(t,n)=>{const r=e(t,n);return r?r.version:null},ce}(),n=function(){if(fe)return ue;fe=1;const e=me();return ue=(t,n)=>{const r=e(t.trim().replace(/^[=v]+/,""),n);return r?r.version:null},ue}(),r=Re(),i=Ke(),{isBuiltin:o}=m,s=["dependencies","devDependencies","optionalDependencies"],a=ze?je:(ze=1,je=function(e){if(!e)return;if("ERROR: No README data found!"===e)return;e=e.trim().split("\n");let t=0;for(;e[t]&&e[t].trim().match(/^(#|$)/);)t++;const n=e.length;let r=t+1;for(;r<n&&e[r].trim();)r++;return e.slice(t,r).join(" ").trim()}),c=Xe,l=e=>e.includes("@")&&e.indexOf("@")<e.lastIndexOf(".");function u(e,t){return e.author&&(e.author=t(e.author)),["maintainers","contributors"].forEach(function(n){Array.isArray(e[n])&&(e[n]=e[n].map(t))}),e}function f(e){if("string"==typeof e)return e;var t=e.name||"",n=e.url||e.web,r=n?" ("+n+")":"",i=e.email||e.mail;return t+(i?" <"+i+">":"")+r}function d(e){if("string"!=typeof e)return e;var t=e.match(/^([^(<]+)/),n=e.match(/\(([^()]+)\)/),r=e.match(/<([^<>]+)>/),i={};return t&&t[0].trim()&&(i.name=t[0].trim()),r&&(i.email=r[1]),n&&(i.url=n[1]),i}return Ze={warn:function(){},fixRepositoryField:function(e){if(e.repositories&&(this.warn("repositories"),e.repository=e.repositories[0]),!e.repository)return this.warn("missingRepository");"string"==typeof e.repository&&(e.repository={type:"git",url:e.repository});var t=e.repository.url||"";if(t){var n=i.fromUrl(t);n&&(t=e.repository.url="shortcut"===n.getDefaultRepresentation()?n.https():n.toString())}t.match(/github.com\/[^/]+\/[^/]+\.git\.git$/)&&this.warn("brokenGitUrl",t)},fixTypos:function(e){Object.keys(c.topLevel).forEach(function(t){Object.prototype.hasOwnProperty.call(e,t)&&this.warn("typo",t,c.topLevel[t])},this)},fixScriptsField:function(e){if(e.scripts)return"object"!=typeof e.scripts?(this.warn("nonObjectScripts"),void delete e.scripts):void Object.keys(e.scripts).forEach(function(t){"string"!=typeof e.scripts[t]?(this.warn("nonStringScript"),delete e.scripts[t]):c.script[t]&&!e.scripts[c.script[t]]&&this.warn("typo",t,c.script[t],"scripts")},this)},fixFilesField:function(e){var t=e.files;t&&!Array.isArray(t)?(this.warn("nonArrayFiles"),delete e.files):e.files&&(e.files=e.files.filter(function(e){return!(!e||"string"!=typeof e)||(this.warn("invalidFilename",e),!1)},this))},fixBinField:function(e){if(e.bin&&"string"==typeof e.bin){var t,n={};(t=e.name.match(/^@[^/]+[/](.*)$/))?n[t[1]]=e.bin:n[e.name]=e.bin,e.bin=n}},fixManField:function(e){e.man&&"string"==typeof e.man&&(e.man=[e.man])},fixBundleDependenciesField:function(e){var t="bundledDependencies",n="bundleDependencies";e[t]&&!e[n]&&(e[n]=e[t],delete e[t]),e[n]&&!Array.isArray(e[n])?(this.warn("nonArrayBundleDependencies"),delete e[n]):e[n]&&(e[n]=e[n].filter(function(t){return t&&"string"==typeof t?(e.dependencies||(e.dependencies={}),Object.prototype.hasOwnProperty.call(e.dependencies,t)||(this.warn("nonDependencyBundleDependency",t),e.dependencies[t]="*"),!0):(this.warn("nonStringBundleDependency",t),!1)},this))},fixDependencies:function(e){!function(e,t){s.forEach(function(n){e[n]&&(e[n]=function(e,t,n){if(!e)return{};"string"==typeof e&&(e=e.trim().split(/[\n\r\s\t ,]+/));if(!Array.isArray(e))return e;n("deprecatedArrayDependencies",t);var r={};return e.filter(function(e){return"string"==typeof e}).forEach(function(e){var t=(e=e.trim().split(/(:?[@\s><=])/)).shift(),n=e.join("");n=(n=n.trim()).replace(/^@/,""),r[t]=n}),r}(e[n],n,t))})}(e,this.warn),function(e){var t=e.optionalDependencies;if(!t)return;var n=e.dependencies||{};Object.keys(t).forEach(function(e){n[e]=t[e]}),e.dependencies=n}(e,this.warn),this.fixBundleDependenciesField(e),["dependencies","devDependencies"].forEach(function(t){if(t in e)return e[t]&&"object"==typeof e[t]?void Object.keys(e[t]).forEach(function(n){var r=e[t][n];"string"!=typeof r&&(this.warn("nonStringDependency",n,JSON.stringify(r)),delete e[t][n]);var o=i.fromUrl(e[t][n]);o&&(e[t][n]=o.toString())},this):(this.warn("nonObjectDependencies",t),void delete e[t])},this)},fixModulesField:function(e){e.modules&&(this.warn("deprecatedModules"),delete e.modules)},fixKeywordsField:function(e){"string"==typeof e.keywords&&(e.keywords=e.keywords.split(/,\s+/)),e.keywords&&!Array.isArray(e.keywords)?(delete e.keywords,this.warn("nonArrayKeywords")):e.keywords&&(e.keywords=e.keywords.filter(function(e){return!("string"!=typeof e||!e)||(this.warn("nonStringKeyword"),!1)},this))},fixVersionField:function(e,r){var i=!r;if(!e.version)return e.version="",!0;if(!t(e.version,i))throw new Error('Invalid version: "'+e.version+'"');return e.version=n(e.version,i),!0},fixPeople:function(e){u(e,f),u(e,d)},fixNameField:function(e,t){"boolean"==typeof t?t={strict:t}:void 0===t&&(t={});var n=t.strict;if(e.name||n){if("string"!=typeof e.name)throw new Error("name field must be a string.");n||(e.name=e.name.trim()),function(e,t,n){if("."===e.charAt(0)||!function(e){if("@"!==e.charAt(0))return!1;var t=e.slice(1).split("/");if(2!==t.length)return!1;return t[0]&&t[1]&&t[0]===encodeURIComponent(t[0])&&t[1]===encodeURIComponent(t[1])}(e)&&(r=e,r.match(/[/@\s+%:]/)||r!==encodeURIComponent(r))||t&&!n&&e!==e.toLowerCase()||"node_modules"===e.toLowerCase()||"favicon.ico"===e.toLowerCase())throw new Error("Invalid name: "+JSON.stringify(e));var r}(e.name,n,t.allowLegacyCase),o(e.name)&&this.warn("conflictingName",e.name)}else e.name=""},fixDescriptionField:function(e){e.description&&"string"!=typeof e.description&&(this.warn("nonStringDescription"),delete e.description),e.readme&&!e.description&&(e.description=a(e.readme)),void 0===e.description&&delete e.description,e.description||this.warn("missingDescription")},fixReadmeField:function(e){e.readme||(this.warn("missingReadme"),e.readme="ERROR: No README data found!")},fixBugsField:function(t){if(!t.bugs&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.bugs()&&(t.bugs={url:n.bugs()})}else if(t.bugs){if("string"==typeof t.bugs)l(t.bugs)?t.bugs={email:t.bugs}:e.canParse(t.bugs)?t.bugs={url:t.bugs}:this.warn("nonEmailUrlBugsString");else{!function(e,t){if(!e)return;Object.keys(e).forEach(function(n){c.bugs[n]&&(t("typo",n,c.bugs[n],"bugs"),e[c.bugs[n]]=e[n],delete e[n])})}(t.bugs,this.warn);var r=t.bugs;t.bugs={},r.url&&(e.canParse(r.url)?t.bugs.url=r.url:this.warn("nonUrlBugsUrlField")),r.email&&("string"==typeof r.email&&l(r.email)?t.bugs.email=r.email:this.warn("nonEmailBugsEmailField"))}t.bugs.email||t.bugs.url||(delete t.bugs,this.warn("emptyNormalizedBugs"))}},fixHomepageField:function(t){if(!t.homepage&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.docs()&&(t.homepage=n.docs())}if(t.homepage)return"string"!=typeof t.homepage?(this.warn("nonUrlHomepage"),delete t.homepage):void(e.canParse(t.homepage)||(t.homepage="http://"+t.homepage))},fixLicenseField:function(e){const t=e.license||e.licence;return t?"string"!=typeof t||t.length<1||""===t.trim()?this.warn("invalidLicense"):r(t).validForNewPackages?void 0:this.warn("invalidLicense"):this.warn("missingLicense")}},Ze}var Qe,et,tt,nt,rt={repositories:"'repositories' (plural) Not supported. Please pick one as the 'repository' field",missingRepository:"No repository field.",brokenGitUrl:"Probably broken git url: %s",nonObjectScripts:"scripts must be an object",nonStringScript:"script values must be string commands",nonArrayFiles:"Invalid 'files' member",invalidFilename:"Invalid filename in 'files' list: %s",nonArrayBundleDependencies:"Invalid 'bundleDependencies' list. Must be array of package names",nonStringBundleDependency:"Invalid bundleDependencies member: %s",nonDependencyBundleDependency:"Non-dependency in bundleDependencies: %s",nonObjectDependencies:"%s field must be an object",nonStringDependency:"Invalid dependency: %s %s",deprecatedArrayDependencies:"specifying %s as array is deprecated",deprecatedModules:"modules field is deprecated",nonArrayKeywords:"keywords should be an array of strings",nonStringKeyword:"keywords should be an array of strings",conflictingName:"%s is also the name of a node core module.",nonStringDescription:"'description' field should be a string",missingDescription:"No description",missingReadme:"No README data",missingLicense:"No license field.",nonEmailUrlBugsString:"Bug string field must be url, email, or {email,url}",nonUrlBugsUrlField:"bugs.url field must be a string url. Deleted.",nonEmailBugsEmailField:"bugs.email field must be a string email. Deleted.",emptyNormalizedBugs:"Normalized value of bugs field is an empty object. Deleted.",nonUrlHomepage:"homepage field must be a string url. Deleted.",invalidLicense:"license should be a valid SPDX license expression",typo:"%s should probably be %s."};function it(){if(et)return Qe;et=1;var e=g,t=rt;function n(n,r,i){return i&&(n=i+"['"+n+"']",r=i+"['"+r+"']"),e.format(t.typo,n,r)}return Qe=function(){var r=Array.prototype.slice.call(arguments,0),i=r.shift();if("typo"===i)return n.apply(null,r);var o=t[i]?t[i]:i+": '%s'";return r.unshift(o),e.format.apply(null,r)},Qe}var ot=function(){if(nt)return tt;nt=1,tt=r;var e=Je();r.fixer=e;var t=it(),n=["name","version","description","repository","modules","scripts","files","bin","man","bugs","keywords","readme","homepage","license"].map(function(e){return i(e)+"Field"});function r(r,o,s){!0===o&&(o=null,s=!0),s||(s=!1),o&&!r.private||(o=function(){}),r.scripts&&"node-gyp rebuild"===r.scripts.install&&!r.scripts.preinstall&&(r.gypfile=!0),e.warn=function(){o(t.apply(null,arguments))},n.forEach(function(t){e["fix"+i(t)](r,s)}),r._id=r.name+"@"+r.version}function i(e){return e.charAt(0).toUpperCase()+e.slice(1)}return n=n.concat(["dependencies","people","typos"]),tt}(),st=V(ot);const at=(e,t)=>{try{return y(e,E.F_OK),!0}catch(e){return!1}},ct=["index.ts","index.tsx","main.ts","main.tsx"],lt=(e,t,n)=>{const r=a(e??process.cwd(),"src"),i=ct,o=i.map(e=>a(r,e)).find(e=>at(e));if(!o)throw new Error(`Unable to resolve entry point, ensure ${i.join(", ")} exists in ${r}`);return o},ut=(e,t)=>O(e,t,{arrayMerge:(e,t)=>{const n=t[0]??e[0];return"object"==typeof n&&"match"in n&&"middleware"in n?((e,t,n)=>{const r=n.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),i={...t.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),...r};return Object.values(i)})("match",e,t):[...new Set([...e,...t])]}}),ft=/import\s*{\s*[^}]*\b(route|index|layout|prefix)\b[^}]*}\s*from\s*['"]@equinor\/fusion-framework-react-router(?:\/routes)?['"]/g,pt=/\b(route|index|layout|prefix)\s*\(/g,dt=/import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)/g,ht=/\b(index|layout)\s*\(\s*['"]([^'"]+)['"]\s*\)/g,mt=/\blayout\s*\(\s*import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)\s*,\s*[^)]+\s*\)/g,gt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*[^)]+\s*\)/g,vt=/\broute\s*\(\s*[^,]+,\s*['"]([^'"]+)['"]\s*\)/g,yt=/\bindex\s*\(\s*['"]([^'"]+)['"]\s*\)/g,Et=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*\)\s*(?!,)/g,bt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*/g,wt=/\broute\s*\(\s*([^,]+)\s*,\s*['"]([^'"]+)['"]\s*\)/g,Lt=/\bprefix\s*\(\s*([^,]+)\s*,\s*\[/g,Ct=/import\s*{\s*[^}]*\b(route|index|layout|prefix)\b[^}]*}\s*from\s*['"]@equinor\/fusion-framework-react-router(?:\/routes)?['"];?\s*/g,St=/export\s+const\s+\w+\s*=\s*/g,_t=/^import\s+.*?;$/gm,It=/export\s+default|export\s*{\s*default\s*}/,Dt=e=>new RegExp(`\\bexport\\s+(const|function|class|async\\s+function)\\s+${e}\\b`),Nt=e=>new RegExp(`export\\s*{\\s*[^}]*${e}[^}]*}\\s*from`);function Ot(e,t,n){const r=new Set;try{const i=function(e,t){const n=o.resolve(t,e);if(v.existsSync(n))return n;const r=[".tsx",".ts",".jsx",".js"];for(const e of r){const t=n+e;if(v.existsSync(t))return t}return null}(e,o.dirname(t));if(!i)return n&&console.warn(`[fusion:react-router] File not found: ${e} (resolved from: ${t})`),r;const s=v.readFileSync(i,"utf-8");s.match(It)&&r.add("default");const a=["clientLoader","action","handle","ErrorElement","HydrateFallback"];for(const e of a)(s.match(Dt(e))||s.match(Nt(e)))&&r.add(e)}catch(t){n&&console.warn(`[fusion:react-router] Error reading file ${e}:`,t)}return r}function Pt(e){const t=[];return e.availableExports.has("default")&&t.push(`Component: ${e.component}`),e.clientLoader&&t.push(`loader: ${e.clientLoader}`),e.action&&t.push(`action: ${e.action}`),e.handle&&t.push(`handle: ${e.handle}`),e.errorElement&&t.push(`errorElement: ${e.errorElement}`),e.hydrateFallback&&t.push(`HydrateFallback: ${e.hydrateFallback}`),t.join(",\n ")}function At(e,t,n,r){let i=1,o=t+1;for(;o<e.length&&i>0;){if(e[o]===n&&i++,e[o]===r&&i--,0===i)return o;o++}return null}const Rt=(e={})=>{const{debug:t=!1}=e;let n;return{name:"fusion:react-router",config(e){n=e.root??process.cwd(),t&&console.log("[fusion:react-router] Project root:",n)},transform(e,r){try{if(!n||!r.startsWith(n)||r.includes("node_modules"))return null;if(!e.match(ft))return null;if(!e.match(pt))return t&&console.log("[fusion:react-router] File has DSL imports but no route calls, skipping transformation"),null;t&&console.log("[fusion:react-router] Transforming file:",r.replace(n,""));const i=function(e){const t=new Set,n=e=>{var n;e&&((n=e).startsWith("./")||n.startsWith("../"))&&t.add(e)};let r=dt.exec(e);for(;null!==r;)n(r[1]),r=dt.exec(e);for(r=ht.exec(e);null!==r;)n(r[2]),r=ht.exec(e);for(r=mt.exec(e);null!==r;)n(r[1]),r=mt.exec(e);for(r=gt.exec(e);null!==r;)n(r[1]),r=gt.exec(e);for(r=vt.exec(e);null!==r;)n(r[1]),r=vt.exec(e);return t}(e);if(0===i.size)return null;const s=new Map;i.forEach(e=>{const n=function(e){const t=o.basename(e,o.extname(e));return t.charAt(0).toUpperCase()+t.slice(1).replace(/[-_](.)/g,(e,t)=>t.toUpperCase())}(e),i=Ot(e,r,t);s.set(e,{component:n,clientLoader:i.has("clientLoader")?`clientLoader${n}`:void 0,action:i.has("action")?`action${n}`:void 0,handle:i.has("handle")?`handle${n}`:void 0,errorElement:i.has("ErrorElement")?`ErrorElement${n}`:void 0,hydrateFallback:i.has("HydrateFallback")?`HydrateFallback${n}`:void 0,availableExports:i})});const a=function(e,t){const n=[];return t&&n.push("import React from 'react';","import { useLoaderData, useActionData, useRouteError, useRouterContext, routerContext } from '@equinor/fusion-framework-react-router';"),e.forEach((e,t)=>{const r=[];e.availableExports.has("default")&&r.push(`default as ${e.component}`),e.clientLoader&&r.push(`clientLoader as ${e.clientLoader}`),e.action&&r.push(`action as ${e.action}`),e.handle&&r.push(`handle as ${e.handle}`),e.errorElement&&r.push(`ErrorElement as ${e.errorElement}`),e.hydrateFallback&&r.push(`HydrateFallback as ${e.hydrateFallback}`),r.length>0&&n.push(`import {\n ${r.join(",\n ")}\n} from '${t}';`)}),n}(s,i.size>0);let c=e;return c=c.replace(dt,'"$1"'),c=c.replace(yt,(e,t)=>{const n=s.get(t);if(!n)return e;return`{\n index: true,\n ${Pt(n)}\n }`}),c=c.replace(Et,(e,t)=>{const n=s.get(t);if(!n)return e;return`{\n ${Pt(n)}\n }`}),c=function(e,t,n,r,i){let o=e,s=!0;for(;s;){s=!1;const e=Array.from(o.matchAll(t));for(const t of e){const e=t.index??-1;if(e<0)continue;const a=t[1],c=e+t[0].length,l=o.indexOf("(",e);if(-1===l)continue;const u=At(o,l,"(",")");if(null===u)continue;const f=o.slice(c,u).trim();if(n.test(f))continue;const p=r(a,f,i.get(a));if(null!==p){const t=o.slice(0,e),n=o.slice(u+1);o=t+p+n,s=!0;break}}}return o}(c,bt,/\blayout\s*\(/,(e,t,n)=>{if(!n)return null;return`{\n ${Pt(n)},\n children: ${t}\n }`},s),c=c.replace(wt,(e,t,n)=>{const r=s.get(n);if(!r)return e;return`{\n path: ${t},\n ${Pt(r)}\n }`}),c=function(e){let t=e,n=!0;for(;n;){n=!1;let e=Lt.exec(t);for(;null!==e;){const r=e.index,i=e[1],o=e.index+e[0].length-1,s=At(t,o,"[","]");if(null===s){e=Lt.exec(t);continue}const a=t.slice(o+1,s);if(/\bprefix\s*\(/.test(a)){e=Lt.exec(t);continue}const c=t.indexOf(")",s);if(-1===c){e=Lt.exec(t);continue}const l=t.slice(0,r),u=t.slice(c+1);t=`${l}{\n path: ${i},\n children: [${a}]\n }${u}`,n=!0;break}}return t}(c),c=c.replace(Ct,""),c=function(e){let t=e,n=St.exec(t);for(;null!==n;){const e=n.index+n[0].length;let r=e;for(;r<t.length&&/\s/.test(t[r]);)r++;if("{"===t[r]){const i=At(t,r,"{","}");if(null!==i){const o=t.slice(r,i+1);if(o.includes("Component:")&&!t.slice(e,r).trim().startsWith("[")){const r=t.slice(0,e),s=t.slice(i+1);t=`${r}[${o}]${s}`,St.lastIndex=0,n=St.exec(t);continue}}}n=St.exec(t)}return t}(c),c=function(e,t){const n=e.match(_t);if(n&&n.length>0){const r=n[n.length-1],i=e.lastIndexOf(r)+r.length;return e.slice(0,i)+"\n"+t.join("\n")+"\n"+e.slice(i)}return`${t.join("\n")}\n${e}`}(c,a),c}catch(t){return console.error("[fusion:react-router] Error during transformation:",t),e}}}},Tt=async(n,r)=>{const{packageJson:o,root:a}=r,{config:u}=await e(n)??{},f=o.main??o.module??"./dist/bundle.js",p=lt(a);if("build"===n.command){if(s(f)===a)throw new Error("outDir cannot be root, please specify package.main or package.module in package.json");if("src"===s(f))throw new Error("outDir cannot be src, please specify package.main or package.module in package.json");if(s(f)===process.cwd())throw new Error("outDir cannot be the current working directory, please specify package.main or package.module in package.json")}return t({root:a,plugins:[i(),Rt({debug:!0}),P({extensions:[".md"]})],define:{"process.env.NODE_ENV":JSON.stringify(n.mode),"process.env.NODE_DEBUG":"production"!==n.mode,"process.env.FUSION_LOG_LEVEL":"production"===n.mode?1:3},build:{outDir:s(f),lib:{entry:p,fileName:c(f,l(f)),formats:["es"]},emptyOutDir:!0}},u??{})};function $t(e,t){A("object"==typeof e,t)}const xt=e=>{if(e.repository)return"string"==typeof e.repository?e.repository:e.repository.url},Ft=()=>{try{return R("git remote get-url origin").toString().trim().replace("git@github.com:","https://github.com/").replace(/\.git$/,"")}catch(e){return}},Ut=(e="HEAD")=>{try{return R(`git rev-parse ${e}`).toString().trim()}catch(e){return}},kt=()=>{try{return R("git branch --show-current").toString().trim()||void 0}catch{return}},Bt="14.1.0",Gt=e=>{if(e?.startsWith("refs/heads/"))return e.slice(11)||void 0},Mt=()=>{const e={cliVersion:Bt,source:"local",reason:"manual"};if("true"===process.env.GITHUB_ACTIONS){const t=(()=>{const e=process.env.GITHUB_EVENT_NAME||"unknown",t=process.env.GITHUB_ACTOR||"unknown",n=process.env.GITHUB_RUN_ID||"unknown",r=process.env.GITHUB_REPOSITORY||"unknown",i=process.env.GITHUB_WORKFLOW||"unknown",o=process.env.GITHUB_SERVER_URL||"https://github.com";let s="unknown";"unknown"!==r&&"unknown"!==n&&(s=`${o.replace(/\/$/,"")}/${r}/actions/runs/${n}`);const a={eventName:e,actor:t,runId:n,runUrl:s,workflow:i};if(process.env.GITHUB_EVENT_PATH)try{const e=b(process.env.GITHUB_EVENT_PATH,"utf8");Object.assign(a,JSON.parse(e))}catch{console.error("Failed to parse GitHub event payload")}return a})(),n={...e,source:"github",reason:t.eventName,workflow:t.workflow,runId:t.runId,runUrl:t.runUrl,commitId:t.head_commit?.id,repository:t.repository?.name,repository_homepage:t.repository?.homepage,repository_license:t.repository?.license?.name,repository_owner:t.repository?.owner?.login,repository_owner_avatar_url:t.repository?.owner?.avatar_url,actor:t.actor,sender_login:t.sender?.login,sender_avatar_url:t.sender?.avatar_url};return t.pull_request?{...n,branch:t.pull_request.head?.ref,commitId:t.pull_request.head?.sha,htmlUrl:t.pull_request.html_url}:t.release?{...n,tag:t.release.tag_name,htmlUrl:t.release.html_url}:{...n,branch:Gt(t.ref??process.env.GITHUB_REF)}}if(process.env.SYSTEM_TEAMPROJECT){const t=(()=>{const e=process.env.BUILD_BUILDID||"unknown",t=process.env.BUILD_DEFINITIONNAME||"unknown",n=process.env.BUILD_REPOSITORY_NAME||"unknown",r=process.env.SYSTEM_TEAMPROJECT||"unknown",i=process.env.SYSTEM_COLLECTIONURI||"unknown",o=process.env.BUILD_REQUESTEDFOR||"unknown",s=process.env.BUILD_SOURCEBRANCH||"unknown",a=process.env.BUILD_SOURCEVERSION||"unknown",c=process.env.BUILD_REASON||"unknown";let l="unknown";return"unknown"!==i&&"unknown"!==r&&"unknown"!==e&&(l=`${i.replace(/\/$/,"")}${r}/_build/results?buildId=${e}`),{runId:e,pipelineName:t,repository:n,project:r,orgUrl:i,actor:o,branch:s,commitId:a,runUrl:l,reason:c}})();return{...e,source:"azure_devops",reason:t.reason,repository:t.repository,runId:t.runId,runUrl:t.runUrl,actor:t.actor,branch:t.branch,commitId:t.commitId,workflow:t.pipelineName}}return{...e,branch:kt()}},jt=["png","jpg","jpeg","gif","svg","ico","webp","mp4","webm","mp3","woff2","woff","eot","ttf","otf","pdf","md","txt"];const zt=(e,t,n)=>{$t(t,"expected packageJson"),A(t.name,"expected [name] in packageJson"),A(t.version,"expected [version] in packageJson");const r=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/app-bundle.js":lt(e.root))(e,t),i=t.name.replace(/^@|\w.*\//gm,""),o=n?.snapshot?function(e,t){const n=T(e)?.version;if(!n)throw new Error(`Invalid semantic version: "${e}". Expected format: major.minor.patch`);const r=Math.floor(Date.now()/1e3);return`${n}-${"string"==typeof t?`${t}.${r}`:`snapshot.${r}`}`}(t.version,n.snapshot):t.version,s="build"===e.command?void 0:`/bundles/apps/${i}@${o}`,a=xt(t)??Ft();return{appKey:i,displayName:t.name,description:t.description||"",keywords:t.keywords,type:"standalone",build:{entryPoint:r,assetPath:s,githubRepo:a,version:o,timestamp:(new Date).toISOString(),commitSha:Ut(),annotations:Mt(),projectPage:t.homepage,allowedExtensions:jt.map(e=>`.${e}`)}}},Ht=(e,t)=>O(e,t),qt=U.object({environment:U.record(U.string(),U.any()).describe("Key-value map of environment-specific variables for the application. Defaults to an empty object if not provided.").optional().default({}),endpoints:U.record(U.string(),U.object({url:U.string({message:"The endpoint URL. This field is required."}),scopes:U.array(U.string()).optional().default([]).describe("List of scopes required for accessing this endpoint. Defaults to an empty array.")})).describe("A mapping of endpoint names to their configuration objects. Each endpoint must specify a URL and may specify scopes.").optional()}).describe("The API application configuration schema, defining environment variables and endpoints for the application."),Vt=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],Wt=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],Kt=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],Zt=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Yt=(e,t,n)=>{let r=e;return"string"==typeof t||Array.isArray(t)?r=e.toLocaleString(t,n):!0!==t&&void 0===n||(r=e.toLocaleString(void 0,n)),r},Xt=e=>{if("number"==typeof e)return Math.log10(e);const t=e.toString(10);return t.length+Math.log10(`0.${t.slice(0,15)}`)},Jt=(e,t)=>{if(void 0===t)return e;if("number"!=typeof t||!Number.isSafeInteger(t)||t<0)throw new TypeError(`Expected fixedWidth to be a non-negative integer, got ${typeof t}: ${t}`);return 0===t?e:e.length<t?e.padStart(t," "):e};function Qt(e,t){if("bigint"!=typeof e&&!Number.isFinite(e))throw new TypeError(`Expected a finite number, got ${typeof e}: ${e}`);const n=(t={bits:!1,binary:!1,space:!0,nonBreakingSpace:!1,...t}).bits?t.binary?Zt:Kt:t.binary?Wt:Vt,r=t.space?t.nonBreakingSpace?" ":" ":"",i="number"==typeof e?0===e:0n===e;if(t.signed&&i){return Jt(` 0${r}${n[0]}`,t.fixedWidth)}const o=e<0,s=o?"-":t.signed?"+":"";o&&(e=-e);const a=(e=>{const{minimumFractionDigits:t,maximumFractionDigits:n}=e;if(void 0!==t||void 0!==n)return{...void 0!==t&&{minimumFractionDigits:t},...void 0!==n&&{maximumFractionDigits:n},roundingMode:"trunc"}})(t);let c;if(e<1){c=s+Yt(e,t.locale,a)+r+n[0]}else{const i=Math.min(Math.floor(t.binary?("number"==typeof(l=e)?Math.log(l):Xt(l)*Math.log(10))/Math.log(1024):Xt(e)/3),n.length-1);if(e=((e,t)=>{if("number"==typeof e)return e/t;const n=e/BigInt(t),r=e%BigInt(t);return Number(n)+Number(r)/t})(e,(t.binary?1024:1e3)**i),!a){const t=Math.max(3,Math.floor(e).toString().length);e=e.toPrecision(t)}c=s+Yt(Number(e),t.locale,a)+r+n[i]}var l;return Jt(c,t.fixedWidth)}const en=(e,t)=>r.blueBright(t?.relative?`./${u(t?.cwd??process.cwd(),e)}`:e),tn=e=>"string"==typeof e?tn(w(e).size):r.yellowBright(Qt(e)),nn=async(e,t,n)=>{const i=zt(e,t.packageJson,{snapshot:n?.snapshot});try{n?.log?.start("loading application package...");const{manifest:t,path:r}=await(async(e,t)=>{const n=t?.file??[`app.manifest.${e.environment}`,"app.manifest","app.manifest.config"],r=await D(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};if("function"==typeof n.default){const t=await n.default(e,{base:r});return Ht(r,t??{})}return Ht(r,n.default??{})}}});return{manifest:r.config,path:r.path,extension:r.extension}})(e,{base:i,file:n?.manifestPath});if(!t.build)throw new Error(`Application manifest for ${t.appKey} does not contain build information, please check the manifest file.`);return"serve"===e.command&&(t.build.assetPath=`/bundles/apps/${t.appKey}/${t.build.version}`),n?.log?.succeed("generated manifest from",en(r,{relative:!0})),t}catch(e){if(e instanceof N){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${en(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(r.dim("no local manifest config applied, using default generated from package")),i}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?en(n?.manifestPath):""}`),e}};async function rn(e){e?.start("resolve project package");try{const t=await(async e=>{const t=await f({...e,normalize:!1});if(!t)throw new Error("failed to find package.json");const n={...t.packageJson};return st(n),{packageJson:{...n,version:t.packageJson.version},path:t.path,root:s(t.path)}})();return e?.succeed("ðĶ",r.yellowBright([t.packageJson.name,t.packageJson.version].join("@"))),e?.info("ð ",r.blueBright(t.root)),t}catch(t){throw e?.fail("â ïļ","failed to resolve project package"),t}}const on=async e=>{const{log:t}=e??{},n=await rn(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await nn(r,n,{log:t,manifestPath:e?.manifest,snapshot:e?.snapshot});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},sn=async e=>{const{log:t,snapshot:i}=e??{};t?.log(r.bold("Starting to build application"));const{manifest:o,pkg:s,env:a}=await on({log:t,manifest:e?.manifest,snapshot:i});t?.start("loading vite config...");const c=await Tt(a,s);t?.succeed("vite config applied"),t?.debug("vite config:",c),t?.start("ðĪðŧ","building application..."),t?.startNativeConsoleCapture(),await n(c),t?.stopNativeConsoleCapture(),t?.succeed("build completed ð");return{pkg:s,manifest:o,outDir:c.build.outDir}};var an,cn,ln={exports:{}};function un(){return cn?an:(cn=1,an={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24})}var fn,pn,dn,hn,mn,gn,vn,yn,En={};function bn(){return fn||(fn=1,function(e){const t={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function n(e){return function(...t){return t.length&&(e=e.replace(/\{(\d)\}/g,(e,n)=>t[n]||"")),new Error("ADM-ZIP: "+e)}}for(const r of Object.keys(t))e[r]=n(t[r])}(En)),En}function wn(){return yn||(yn=1,ln.exports=function(){if(dn)return pn;dn=1;const e=k,t=B,n=un(),r=bn(),i="object"==typeof process&&"win32"===process.platform,o=e=>"object"==typeof e&&null!==e,s=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=3988292384^t>>>1:t>>>=1;return t>>>0});function a(n){this.sep=t.sep,this.fs=e,o(n)&&o(n.fs)&&"function"==typeof n.fs.statSync&&(this.fs=n.fs)}return pn=a,a.prototype.makeDir=function(e){const t=this;!function(e){let n=e.split(t.sep)[0];e.split(t.sep).forEach(function(e){if(e&&":"!==e.substr(-1,1)){var i;n+=t.sep+e;try{i=t.fs.statSync(n)}catch(e){if(!e.message||!e.message.startsWith("ENOENT"))throw e;t.fs.mkdirSync(n)}if(i&&i.isFile())throw r.FILE_IN_THE_WAY(`"${n}"`)}})}(e)},a.prototype.writeFileTo=function(e,n,r,i){const o=this;if(o.fs.existsSync(e)){if(!r)return!1;if(o.fs.statSync(e).isDirectory())return!1}var s,a=t.dirname(e);o.fs.existsSync(a)||o.makeDir(a);try{s=o.fs.openSync(e,"w",438)}catch(t){o.fs.chmodSync(e,438),s=o.fs.openSync(e,"w",438)}if(s)try{o.fs.writeSync(s,n,0,n.length,0)}finally{o.fs.closeSync(s)}return o.fs.chmodSync(e,i||438),!0},a.prototype.writeFileToAsync=function(e,n,r,i,o){"function"==typeof i&&(o=i,i=void 0);const s=this;s.fs.exists(e,function(a){if(a&&!r)return o(!1);s.fs.stat(e,function(r,c){if(a&&c.isDirectory())return o(!1);var l=t.dirname(e);s.fs.exists(l,function(t){t||s.makeDir(l),s.fs.open(e,"w",438,function(t,r){t?s.fs.chmod(e,438,function(){s.fs.open(e,"w",438,function(t,r){s.fs.write(r,n,0,n.length,0,function(){s.fs.close(r,function(){s.fs.chmod(e,i||438,function(){o(!0)})})})})}):r?s.fs.write(r,n,0,n.length,0,function(){s.fs.close(r,function(){s.fs.chmod(e,i||438,function(){o(!0)})})}):s.fs.chmod(e,i||438,function(){o(!0)})})})})})},a.prototype.findFiles=function(e){const n=this;return function e(r,i,o){let s=[];return n.fs.readdirSync(r).forEach(function(a){const c=t.join(r,a),l=n.fs.statSync(c);s.push(t.normalize(c)+(l.isDirectory()?n.sep:"")),l.isDirectory()&&o&&(s=s.concat(e(c,i,o)))}),s}(e,void 0,!0)},a.prototype.findFilesAsync=function(e,n){const r=this;let i=[];r.fs.readdir(e,function(o,s){if(o)return n(o);let a=s.length;if(!a)return n(null,i);s.forEach(function(o){o=t.join(e,o),r.fs.stat(o,function(e,s){if(e)return n(e);s&&(i.push(t.normalize(o)+(s.isDirectory()?r.sep:"")),s.isDirectory()?r.findFilesAsync(o,function(e,t){if(e)return n(e);i=i.concat(t),--a||n(null,i)}):--a||n(null,i))})})})},a.prototype.getAttributes=function(){},a.prototype.setAttributes=function(){},a.crc32update=function(e,t){return s[255&(e^t)]^e>>>8},a.crc32=function(e){"string"==typeof e&&(e=Buffer.from(e,"utf8"));let t=e.length,n=-1;for(let r=0;r<t;)n=a.crc32update(n,e[r++]);return~n>>>0},a.methodToString=function(e){switch(e){case n.STORED:return"STORED ("+e+")";case n.DEFLATED:return"DEFLATED ("+e+")";default:return"UNSUPPORTED ("+e+")"}},a.canonical=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.join(".",n)},a.zipnamefix=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.posix.join(".",n)},a.findLast=function(e,t){if(!Array.isArray(e))throw new TypeError("arr is not array");for(let n=(e.length>>>0)-1;n>=0;n--)if(t(e[n],n,e))return e[n]},a.sanitize=function(e,n){e=t.resolve(t.normalize(e));for(var r=n.split("/"),i=0,o=r.length;i<o;i++){var s=t.normalize(t.join(e,r.slice(i,o).join(t.sep)));if(0===s.indexOf(e))return s}return t.normalize(t.join(e,t.basename(n)))},a.toBuffer=function(e,t){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e):"string"==typeof e?t(e):Buffer.alloc(0)},a.readBigUInt64LE=function(e,t){const n=e.readUInt32LE(t);return 4294967296*e.readUInt32LE(t+4)+n},a.fromDOS2Date=function(e){return new Date(1980+(e>>25&127),Math.max((e>>21&15)-1,0),Math.max(e>>16&31,1),e>>11&31,e>>5&63,(31&e)<<1)},a.fromDate2DOS=function(e){let t=0,n=0;return e.getFullYear()>1979&&(t=(e.getFullYear()-1980&127)<<9|e.getMonth()+1<<5|e.getDate(),n=e.getHours()<<11|e.getMinutes()<<5|e.getSeconds()>>1),t<<16|n},a.isWin=i,a.crcTable=s,pn}(),ln.exports.Constants=un(),ln.exports.Errors=bn(),ln.exports.FileAttr=function(){if(mn)return hn;mn=1;const e=B;return hn=function(t,{fs:n}){var r=t||"",i={directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0},o=null;return r&&n.existsSync(r)?(o=n.statSync(r),i.directory=o.isDirectory(),i.mtime=o.mtime,i.atime=o.atime,i.executable=!!(73&o.mode),i.readonly=!(128&o.mode),i.hidden="."===e.basename(r)[0]):console.warn("Invalid path: "+r),{get directory(){return i.directory},get readOnly(){return i.readonly},get hidden(){return i.hidden},get mtime(){return i.mtime},get atime(){return i.atime},get executable(){return i.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:r,isDirectory:i.directory,isReadOnly:i.readonly,isHidden:i.hidden,isExecutable:i.executable,mTime:i.mtime,aTime:i.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}},hn}(),ln.exports.decoder=vn?gn:(vn=1,gn={efs:!0,encode:e=>Buffer.from(e,"utf8"),decode:e=>e.toString("utf8")})),ln.exports}var Ln,Cn,Sn,_n,In,Dn={};function Nn(){if(Cn)return Ln;Cn=1;var e=wn(),t=e.Constants;return Ln=function(){var n=20,r=10,i=0,o=0,s=0,a=0,c=0,l=0,u=0,f=0,p=0,d=0,h=0,m=0,g=0;n|=e.isWin?2560:768,i|=t.FLG_EFS;const v={extraLen:0},y=e=>Math.max(0,e)>>>0;return s=e.fromDate2DOS(new Date),{get made(){return n},set made(e){n=e},get version(){return r},set version(e){r=e},get flags(){return i},set flags(e){i=e},get flags_efs(){return(i&t.FLG_EFS)>0},set flags_efs(e){e?i|=t.FLG_EFS:i&=~t.FLG_EFS},get flags_desc(){return(i&t.FLG_DESC)>0},set flags_desc(e){e?i|=t.FLG_DESC:i&=~t.FLG_DESC},get method(){return o},set method(e){switch(e){case t.STORED:this.version=10;case t.DEFLATED:default:this.version=20}o=e},get time(){return e.fromDOS2Date(this.timeval)},set time(t){t=new Date(t),this.timeval=e.fromDate2DOS(t)},get timeval(){return s},set timeval(e){s=y(e)},get timeHighByte(){return e=s>>>8,255&Math.max(0,e);var e},get crc(){return a},set crc(e){a=y(e)},get compressedSize(){return c},set compressedSize(e){c=y(e)},get size(){return l},set size(e){l=y(e)},get fileNameLength(){return u},set fileNameLength(e){u=e},get extraLength(){return f},set extraLength(e){f=e},get extraLocalLength(){return v.extraLen},set extraLocalLength(e){v.extraLen=e},get commentLength(){return p},set commentLength(e){p=e},get diskNumStart(){return d},set diskNumStart(e){d=y(e)},get inAttr(){return h},set inAttr(e){h=y(e)},get attr(){return m},set attr(e){m=y(e)},get fileAttr(){return(m||0)>>16&4095},get offset(){return g},set offset(e){g=y(e)},get encrypted(){return(i&t.FLG_ENC)===t.FLG_ENC},get centralHeaderSize(){return t.CENHDR+u+f+p},get realDataOffset(){return g+t.LOCHDR+v.fnameLen+v.extraLen},get localHeader(){return v},loadLocalHeaderFromBinary:function(n){var r=n.slice(g,g+t.LOCHDR);if(r.readUInt32LE(0)!==t.LOCSIG)throw e.Errors.INVALID_LOC();v.version=r.readUInt16LE(t.LOCVER),v.flags=r.readUInt16LE(t.LOCFLG),v.flags_desc=(v.flags&t.FLG_DESC)>0,v.method=r.readUInt16LE(t.LOCHOW),v.time=r.readUInt32LE(t.LOCTIM),v.crc=r.readUInt32LE(t.LOCCRC),v.compressedSize=r.readUInt32LE(t.LOCSIZ),v.size=r.readUInt32LE(t.LOCLEN),v.fnameLen=r.readUInt16LE(t.LOCNAM),v.extraLen=r.readUInt16LE(t.LOCEXT);const i=g+t.LOCHDR+v.fnameLen,o=i+v.extraLen;return n.slice(i,o)},loadFromBinary:function(v){if(v.length!==t.CENHDR||v.readUInt32LE(0)!==t.CENSIG)throw e.Errors.INVALID_CEN();n=v.readUInt16LE(t.CENVEM),r=v.readUInt16LE(t.CENVER),i=v.readUInt16LE(t.CENFLG),o=v.readUInt16LE(t.CENHOW),s=v.readUInt32LE(t.CENTIM),a=v.readUInt32LE(t.CENCRC),c=v.readUInt32LE(t.CENSIZ),l=v.readUInt32LE(t.CENLEN),u=v.readUInt16LE(t.CENNAM),f=v.readUInt16LE(t.CENEXT),p=v.readUInt16LE(t.CENCOM),d=v.readUInt16LE(t.CENDSK),h=v.readUInt16LE(t.CENATT),m=v.readUInt32LE(t.CENATX),g=v.readUInt32LE(t.CENOFF)},localHeaderToBinary:function(){var e=Buffer.alloc(t.LOCHDR);return e.writeUInt32LE(t.LOCSIG,0),e.writeUInt16LE(r,t.LOCVER),e.writeUInt16LE(i,t.LOCFLG),e.writeUInt16LE(o,t.LOCHOW),e.writeUInt32LE(s,t.LOCTIM),e.writeUInt32LE(a,t.LOCCRC),e.writeUInt32LE(c,t.LOCSIZ),e.writeUInt32LE(l,t.LOCLEN),e.writeUInt16LE(u,t.LOCNAM),e.writeUInt16LE(v.extraLen,t.LOCEXT),e},centralHeaderToBinary:function(){var e=Buffer.alloc(t.CENHDR+u+f+p);return e.writeUInt32LE(t.CENSIG,0),e.writeUInt16LE(n,t.CENVEM),e.writeUInt16LE(r,t.CENVER),e.writeUInt16LE(i,t.CENFLG),e.writeUInt16LE(o,t.CENHOW),e.writeUInt32LE(s,t.CENTIM),e.writeUInt32LE(a,t.CENCRC),e.writeUInt32LE(c,t.CENSIZ),e.writeUInt32LE(l,t.CENLEN),e.writeUInt16LE(u,t.CENNAM),e.writeUInt16LE(f,t.CENEXT),e.writeUInt16LE(p,t.CENCOM),e.writeUInt16LE(d,t.CENDSK),e.writeUInt16LE(h,t.CENATT),e.writeUInt32LE(m,t.CENATX),e.writeUInt32LE(g,t.CENOFF),e},toJSON:function(){const s=function(e){return e+" bytes"};return{made:n,version:r,flags:i,method:e.methodToString(o),time:this.time,crc:"0x"+a.toString(16).toUpperCase(),compressedSize:s(c),size:s(l),fileNameLength:s(u),extraLength:s(f),commentLength:s(p),diskNumStart:d,inAttr:h,attr:m,offset:g,centralHeaderSize:s(t.CENHDR+u+f+p)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}function On(){return In||(In=1,Dn.EntryHeader=Nn(),Dn.MainHeader=function(){if(_n)return Sn;_n=1;var e=wn(),t=e.Constants;return Sn=function(){var n=0,r=0,i=0,o=0,s=0;return{get diskEntries(){return n},set diskEntries(e){n=r=e},get totalEntries(){return r},set totalEntries(e){r=n=e},get size(){return i},set size(e){i=e},get offset(){return o},set offset(e){o=e},get commentLength(){return s},set commentLength(e){s=e},get mainHeaderSize(){return t.ENDHDR+s},loadFromBinary:function(a){if((a.length!==t.ENDHDR||a.readUInt32LE(0)!==t.ENDSIG)&&(a.length<t.ZIP64HDR||a.readUInt32LE(0)!==t.ZIP64SIG))throw e.Errors.INVALID_END();a.readUInt32LE(0)===t.ENDSIG?(n=a.readUInt16LE(t.ENDSUB),r=a.readUInt16LE(t.ENDTOT),i=a.readUInt32LE(t.ENDSIZ),o=a.readUInt32LE(t.ENDOFF),s=a.readUInt16LE(t.ENDCOM)):(n=e.readBigUInt64LE(a,t.ZIP64SUB),r=e.readBigUInt64LE(a,t.ZIP64TOT),i=e.readBigUInt64LE(a,t.ZIP64SIZE),o=e.readBigUInt64LE(a,t.ZIP64OFF),s=0)},toBinary:function(){var e=Buffer.alloc(t.ENDHDR+s);return e.writeUInt32LE(t.ENDSIG,0),e.writeUInt32LE(0,4),e.writeUInt16LE(n,t.ENDSUB),e.writeUInt16LE(r,t.ENDTOT),e.writeUInt32LE(i,t.ENDSIZ),e.writeUInt32LE(o,t.ENDOFF),e.writeUInt16LE(s,t.ENDCOM),e.fill(" ",t.ENDHDR),e},toJSON:function(){return{diskEntries:n,totalEntries:r,size:i+" bytes",offset:function(e,t){let n=e.toString(16).toUpperCase();for(;n.length<t;)n="0"+n;return"0x"+n}(o,4),commentLength:s}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}()),Dn}var Pn,An,Rn,Tn,$n,xn,Fn,Un,kn,Bn,Gn,Mn,jn,zn={};function Hn(){if(xn)return $n;xn=1;const{randomFillSync:e}=M,t=bn(),n=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;return t>>>0}),r=(e,t)=>Math.imul(e,t)>>>0,i=(e,t)=>n[255&(e^t)]^e>>>8,o=()=>"function"==typeof e?e(Buffer.alloc(12)):o.node();o.node=()=>{const e=Buffer.alloc(12),t=e.length;for(let n=0;n<t;n++)e[n]=256*Math.random()&255;return e};const s={genSalt:o};function a(e){const t=Buffer.isBuffer(e)?e:Buffer.from(e);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let e=0;e<t.length;e++)this.updateKeys(t[e])}return a.prototype.updateKeys=function(e){const t=this.keys;return t[0]=i(t[0],e),t[1]+=255&t[0],t[1]=r(t[1],134775813)+1,t[2]=i(t[2],t[1]>>>24),e},a.prototype.next=function(){const e=(2|this.keys[2])>>>0;return r(e,1^e)>>8&255},$n={decrypt:function(e,n,r){if(!e||!Buffer.isBuffer(e)||e.length<12)return Buffer.alloc(0);const i=function(e){const t=new a(e);return function(e){const n=Buffer.alloc(e.length);let r=0;for(let i of e)n[r++]=t.updateKeys(i^t.next());return n}}(r),o=i(e.slice(0,12)),s=8&~n.flags?n.crc>>>24:n.timeHighByte;if(o[11]!==s)throw t.WRONG_PASSWORD();return i(e.slice(12))},encrypt:function(e,t,n,r=!1){null==e&&(e=Buffer.alloc(0)),Buffer.isBuffer(e)||(e=Buffer.from(e.toString()));const i=function(e){const t=new a(e);return function(e,n,r=0){n||(n=Buffer.alloc(e.length));for(let i of e){const e=t.next();n[r++]=i^e,t.updateKeys(i)}return n}}(n),o=s.genSalt();o[11]=t.crc>>>24&255,r&&(o[10]=t.crc>>>16&255);const c=Buffer.alloc(e.length+12);return i(o,c),i(e,c,12)},_salter:function(e){Buffer.isBuffer(e)&&e.length>=12?s.genSalt=function(){return e.slice(0,12)}:s.genSalt="node"===e?o.node:o}}}function qn(){return Fn||(Fn=1,zn.Deflater=An?Pn:(An=1,Pn=function(e){var t=G,n={chunkSize:1024*(parseInt(e.length/1024)+1)};return{deflate:function(){return t.deflateRawSync(e,n)},deflateAsync:function(r){var i=t.createDeflateRaw(n),o=[],s=0;i.on("data",function(e){o.push(e),s+=e.length}),i.on("end",function(){var e=Buffer.alloc(s),t=0;e.fill(0);for(var n=0;n<o.length;n++){var i=o[n];i.copy(e,t),t+=i.length}r&&r(e)}),i.end(e)}}}),zn.Inflater=function(){if(Tn)return Rn;Tn=1;const e=+(process.versions?process.versions.node:"").split(".")[0]||0;return Rn=function(t,n){var r=G;const i=e>=15&&n>0?{maxOutputLength:n}:{};return{inflate:function(){return r.inflateRawSync(t,i)},inflateAsync:function(e){var n=r.createInflateRaw(i),o=[],s=0;n.on("data",function(e){o.push(e),s+=e.length}),n.on("end",function(){var t=Buffer.alloc(s),n=0;t.fill(0);for(var r=0;r<o.length;r++){var i=o[r];i.copy(t,n),n+=i.length}e&&e(t)}),n.end(t)}}}}(),zn.ZipCrypto=Hn()),zn}function Vn(){if(kn)return Un;kn=1;var e=wn(),t=On(),n=e.Constants,r=qn();return Un=function(i,o){var s=new t.EntryHeader,a=Buffer.alloc(0),c=Buffer.alloc(0),l=!1,u=null,f=Buffer.alloc(0),p=Buffer.alloc(0),d=!0;const h=i,m="object"==typeof h.decoder?h.decoder:e.decoder;function g(){return o&&o instanceof Uint8Array?(p=s.loadLocalHeaderFromBinary(o),o.slice(s.realDataOffset,s.realDataOffset+s.compressedSize)):Buffer.alloc(0)}function v(t){if(s.flags_desc||s.localHeader.flags_desc){const r={},i=s.realDataOffset+s.compressedSize;if(o.readUInt32LE(i)==n.LOCSIG||o.readUInt32LE(i)==n.CENSIG)throw e.Errors.DESCRIPTOR_NOT_EXIST();if(o.readUInt32LE(i)==n.EXTSIG)r.crc=o.readUInt32LE(i+n.EXTCRC),r.compressedSize=o.readUInt32LE(i+n.EXTSIZ),r.size=o.readUInt32LE(i+n.EXTLEN);else{if(19280!==o.readUInt16LE(i+12))throw e.Errors.DESCRIPTOR_UNKNOWN();r.crc=o.readUInt32LE(i+n.EXTCRC-4),r.compressedSize=o.readUInt32LE(i+n.EXTSIZ-4),r.size=o.readUInt32LE(i+n.EXTLEN-4)}if(r.compressedSize!==s.compressedSize||r.size!==s.size||r.crc!==s.crc)throw e.Errors.DESCRIPTOR_FAULTY();if(e.crc32(t)!==r.crc)return!1}else if(e.crc32(t)!==s.localHeader.crc)return!1;return!0}function y(t,n,i){if(void 0===n&&"string"==typeof t&&(i=t,t=void 0),l)return t&&n&&n(Buffer.alloc(0),e.Errors.DIRECTORY_CONTENT_ERROR()),Buffer.alloc(0);var o=g();if(0===o.length)return t&&n&&n(o),o;if(s.encrypted){if("string"!=typeof i&&!Buffer.isBuffer(i))throw e.Errors.INVALID_PASS_PARAM();o=r.ZipCrypto.decrypt(o,s,i)}var c=Buffer.alloc(s.size);switch(s.method){case e.Constants.STORED:if(o.copy(c),v(c))return t&&n&&n(c),c;throw t&&n&&n(c,e.Errors.BAD_CRC()),e.Errors.BAD_CRC();case e.Constants.DEFLATED:var u=new r.Inflater(o,s.size);if(!t){if(u.inflate(c).copy(c,0),!v(c))throw e.Errors.BAD_CRC(`"${m.decode(a)}"`);return c}u.inflateAsync(function(t){t.copy(t,0),n&&(v(t)?n(t):n(t,e.Errors.BAD_CRC()))});break;default:throw t&&n&&n(Buffer.alloc(0),e.Errors.UNKNOWN_METHOD()),e.Errors.UNKNOWN_METHOD()}}function E(t,n){if((!u||!u.length)&&Buffer.isBuffer(o))return t&&n&&n(g()),g();if(u.length&&!l){var i;switch(s.method){case e.Constants.STORED:return s.compressedSize=s.size,i=Buffer.alloc(u.length),u.copy(i),t&&n&&n(i),i;default:case e.Constants.DEFLATED:var a=new r.Deflater(u);if(!t){var c=a.deflate();return s.compressedSize=c.length,c}a.deflateAsync(function(e){i=Buffer.alloc(e.length),s.compressedSize=e.length,e.copy(i),n&&n(i)}),a=null}}else{if(!t||!n)return Buffer.alloc(0);n(Buffer.alloc(0))}}function b(t,n){return e.readBigUInt64LE(t,n)}function w(e){var t,r,i,o;e.length>=n.EF_ZIP64_SCOMP&&(t=b(e,n.EF_ZIP64_SUNCOMP),s.size===n.EF_ZIP64_OR_32&&(s.size=t)),e.length>=n.EF_ZIP64_RHO&&(r=b(e,n.EF_ZIP64_SCOMP),s.compressedSize===n.EF_ZIP64_OR_32&&(s.compressedSize=r)),e.length>=n.EF_ZIP64_DSN&&(i=b(e,n.EF_ZIP64_RHO),s.offset===n.EF_ZIP64_OR_32&&(s.offset=i)),e.length>=n.EF_ZIP64_DSN+4&&(o=e.readUInt32LE(n.EF_ZIP64_DSN),s.diskNumStart===n.EF_ZIP64_OR_16&&(s.diskNumStart=o))}return d=!!m.hasOwnProperty("efs")&&m.efs,{get entryName(){return m.decode(a)},get rawEntryName(){return a},set entryName(t){var n=(a=e.toBuffer(t,m.encode))[a.length-1];l=47===n||92===n,s.fileNameLength=a.length},get efs(){return"function"==typeof d?d(this.entryName):d},get extra(){return f},set extra(t){f=t,s.extraLength=t.length,function(t){try{for(var r,i,o,s=0;s+4<t.length;)r=t.readUInt16LE(s),s+=2,i=t.readUInt16LE(s),s+=2,o=t.slice(s,s+i),s+=i,n.ID_ZIP64===r&&w(o)}catch(t){throw e.Errors.EXTRA_FIELD_PARSE_ERROR()}}(t)},get comment(){return m.decode(c)},set comment(t){if(c=e.toBuffer(t,m.encode),s.commentLength=c.length,c.length>65535)throw e.Errors.COMMENT_TOO_LONG()},get name(){var e=m.decode(a);return l?e.substr(e.length-1).split("/").pop():e.split("/").pop()},get isDirectory(){return l},getCompressedData:function(){return E(!1,null)},getCompressedDataAsync:function(e){E(!0,e)},setData:function(t){u=e.toBuffer(t,e.decoder.encode),!l&&u.length?(s.size=u.length,s.method=e.Constants.DEFLATED,s.crc=e.crc32(t),s.changed=!0):s.method=e.Constants.STORED},getData:function(e){return s.changed?u:y(!1,null,e)},getDataAsync:function(e,t){s.changed?e(u):y(!0,e,t)},set attr(e){s.attr=e},get attr(){return s.attr},set header(e){s.loadFromBinary(e)},get header(){return s},packCentralHeader:function(){s.flags_efs=this.efs,s.extraLength=f.length;var t=s.centralHeaderToBinary(),n=e.Constants.CENHDR;return a.copy(t,n),n+=a.length,f.copy(t,n),n+=s.extraLength,c.copy(t,n),t},packLocalHeader:function(){let e=0;s.flags_efs=this.efs,s.extraLocalLength=p.length;const t=s.localHeaderToBinary(),n=Buffer.alloc(t.length+a.length+s.extraLocalLength);return t.copy(n,e),e+=t.length,a.copy(n,e),e+=a.length,p.copy(n,e),e+=p.length,n},toJSON:function(){const e=function(e){return"<"+(e&&e.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:s.toJSON(),compressedData:e(o),data:e(u)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}},Un}function Wn(){if(Gn)return Bn;Gn=1;const e=Vn(),t=On(),n=wn();return Bn=function(r,i){var o=[],s={},a=Buffer.alloc(0),c=new t.MainHeader,l=!1;const u=new Set,f=i,{noSort:p,decoder:d}=f;function h(){if(l=!0,s={},c.diskEntries>(r.length-c.offset)/n.Constants.CENHDR)throw n.Errors.DISK_ENTRY_TOO_LARGE();o=new Array(c.diskEntries);for(var t=c.offset,i=0;i<o.length;i++){var a=t,p=new e(f,r);p.header=r.slice(a,a+=n.Constants.CENHDR),p.entryName=r.slice(a,a+=p.header.fileNameLength),p.header.extraLength&&(p.extra=r.slice(a,a+=p.header.extraLength)),p.header.commentLength&&(p.comment=r.slice(a,a+p.header.commentLength)),t+=p.header.centralHeaderSize,o[i]=p,s[p.entryName]=p}u.clear(),function(){const t=new Set;for(const e of Object.keys(s)){const n=e.split("/");if(n.pop(),n.length)for(let e=0;e<n.length;e++){const r=n.slice(0,e+1).join("/")+"/";t.add(r)}}for(const n of t)if(!(n in s)){const t=new e(f);t.entryName=n,t.attr=16,t.temporary=!0,o.push(t),s[t.entryName]=t,u.add(t)}}()}function m(){o.length>1&&!p&&o.sort((e,t)=>e.entryName.toLowerCase().localeCompare(t.entryName.toLowerCase()))}return r?function(e){var t=r.length-n.Constants.ENDHDR,i=Math.max(0,t-65535),o=i,s=r.length,l=-1,u=0;"boolean"==typeof f.trailingSpace&&f.trailingSpace&&(i=0);for(;t>=o;t--)if(80===r[t])if(r.readUInt32LE(t)!==n.Constants.ENDSIG)if(r.readUInt32LE(t)!==n.Constants.END64SIG){if(r.readUInt32LE(t)===n.Constants.ZIP64SIG){l=t,s=t+n.readBigUInt64LE(r,t+n.Constants.ZIP64SIZE)+n.Constants.ZIP64LEAD;break}}else o=i;else l=t,u=t,s=t+n.Constants.ENDHDR,o=t-n.Constants.END64HDR;if(-1==l)throw n.Errors.INVALID_FORMAT();c.loadFromBinary(r.slice(l,s)),c.commentLength&&(a=r.slice(u+n.Constants.ENDHDR));e&&h()}(f.readEntries):l=!0,{get entries(){return l||h(),o.filter(e=>!u.has(e))},get comment(){return d.decode(a)},set comment(e){a=n.toBuffer(e,d.encode),c.commentLength=a.length},getEntryCount:function(){return l?o.length:c.diskEntries},forEach:function(e){this.entries.forEach(e)},getEntry:function(e){return l||h(),s[e]||null},setEntry:function(e){l||h(),o.push(e),s[e.entryName]=e,c.totalEntries=o.length},deleteFile:function(e,t=!0){l||h();const n=s[e];this.getEntryChildren(n,t).map(e=>e.entryName).forEach(this.deleteEntry)},deleteEntry:function(e){l||h();const t=s[e],n=o.indexOf(t);n>=0&&(o.splice(n,1),delete s[e],c.totalEntries=o.length)},getEntryChildren:function(e,t=!0){if(l||h(),"object"==typeof e){if(e.isDirectory&&t){const t=[],n=e.entryName;for(const e of o)e.entryName.startsWith(n)&&t.push(e);return t}return[e]}return[]},getChildCount:function(e){if(e&&e.isDirectory){const t=this.getEntryChildren(e);return t.includes(e)?t.length-1:t.length}return 0},compressToBuffer:function(){l||h(),m();const e=[],t=[];let i=0,o=0;c.size=0,c.offset=0;let s=0;for(const n of this.entries){const r=n.getCompressedData();n.header.offset=o;const a=n.packLocalHeader(),l=a.length+r.length;o+=l,e.push(a),e.push(r);const u=n.packCentralHeader();t.push(u),c.size+=u.length,i+=l+u.length,s++}i+=c.mainHeaderSize,c.offset=o,c.totalEntries=s,o=0;const u=Buffer.alloc(i);for(const t of e)t.copy(u,o),o+=t.length;for(const e of t)e.copy(u,o),o+=e.length;const f=c.toBinary();return a&&a.copy(f,n.Constants.ENDHDR),f.copy(u,o),r=u,l=!1,u},toAsyncBuffer:function(e,t,i,o){try{l||h(),m();const t=[],s=[];let u=0,f=0,p=0;c.size=0,c.offset=0;const d=function(h){if(h.length>0){const e=h.shift(),n=e.entryName+e.extra.toString();i&&i(n),e.getCompressedDataAsync(function(r){o&&o(n),e.header.offset=f;const i=e.packLocalHeader(),a=i.length+r.length;f+=a,t.push(i),t.push(r);const l=e.packCentralHeader();s.push(l),c.size+=l.length,u+=a+l.length,p++,d(h)})}else{u+=c.mainHeaderSize,c.offset=f,c.totalEntries=p,f=0;const i=Buffer.alloc(u);t.forEach(function(e){e.copy(i,f),f+=e.length}),s.forEach(function(e){e.copy(i,f),f+=e.length});const o=c.toBinary();a&&a.copy(o,n.Constants.ENDHDR),o.copy(i,f),r=i,l=!1,e(i)}};d(Array.from(this.entries))}catch(e){t(e)}}}},Bn}var Kn=function(){if(jn)return Mn;jn=1;const e=wn(),t=B,n=Vn(),r=Wn(),i=(...t)=>e.findLast(t,e=>"boolean"==typeof e),o=(...t)=>e.findLast(t,e=>"string"==typeof e),s={noSort:!1,readEntries:!1,method:e.Constants.NONE,fs:null};return Mn=function(a,c){let l=null;const u=Object.assign(Object.create(null),s);a&&"object"==typeof a&&(a instanceof Uint8Array||(Object.assign(u,a),a=u.input?u.input:void 0,u.input&&delete u.input),Buffer.isBuffer(a)&&(l=a,u.method=e.Constants.BUFFER,a=void 0)),Object.assign(u,c);const f=new e(u);if("object"==typeof u.decoder&&"function"==typeof u.decoder.encode&&"function"==typeof u.decoder.decode||(u.decoder=e.decoder),a&&"string"==typeof a){if(!f.fs.existsSync(a))throw e.Errors.INVALID_FILENAME();u.method=e.Constants.FILE,u.filename=a,l=f.fs.readFileSync(a)}const p=new r(l,u),{canonical:d,sanitize:h,zipnamefix:m}=e;function g(e){var n;if(e&&p&&("string"==typeof e&&(n=p.getEntry(t.posix.normalize(e))),"object"==typeof e&&void 0!==e.entryName&&void 0!==e.header&&(n=p.getEntry(e.entryName)),n))return n;return null}function v(e){const{join:n,normalize:r,sep:i}=t.posix;return n(t.isAbsolute(e)?"/":".",r(i+e.split("\\").join(i)+i))}function y(e){return e instanceof RegExp?(t=e,function(e){return t.test(e)}):"function"!=typeof e?()=>!0:e;var t}const E=(e,n)=>{let r=n.slice(-1);return r=r===f.sep?f.sep:"",t.relative(e,n)+r};return{readFile:function(e,t){var n=g(e);return n&&n.getData(t)||null},childCount:function(e){const t=g(e);if(t)return p.getChildCount(t)},readFileAsync:function(e,t){var n=g(e);n?n.getDataAsync(t):t(null,"getEntry failed for:"+e)},readAsText:function(e,t){var n=g(e);if(n){var r=n.getData();if(r&&r.length)return r.toString(t||"utf8")}return""},readAsTextAsync:function(e,t,n){var r=g(e);r?r.getDataAsync(function(e,r){r?t(e,r):e&&e.length?t(e.toString(n||"utf8")):t("")}):t("")},deleteFile:function(e,t=!0){var n=g(e);n&&p.deleteFile(n.entryName,t)},deleteEntry:function(e){var t=g(e);t&&p.deleteEntry(t.entryName)},addZipComment:function(e){p.comment=e},getZipComment:function(){return p.comment||""},addZipEntryComment:function(e,t){var n=g(e);n&&(n.comment=t)},getZipEntryComment:function(e){var t=g(e);return t&&t.comment||""},updateFile:function(e,t){var n=g(e);n&&n.setData(t)},addLocalFile:function(n,r,i,o){if(!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{r=r?v(r):"";const e=t.win32.basename(t.win32.normalize(n));r+=i||e;const s=f.fs.statSync(n),a=s.isFile()?f.fs.readFileSync(n):Buffer.alloc(0);s.isDirectory()&&(r+=f.sep),this.addFile(r,a,o,s)}},addLocalFileAsync:function(e,n){e="object"==typeof e?e:{localPath:e};const r=t.resolve(e.localPath),{comment:i}=e;let{zipPath:o,zipName:s}=e;const a=this;f.fs.stat(r,function(e,c){if(e)return n(e,!1);o=o?v(o):"";const l=t.win32.basename(t.win32.normalize(r));if(o+=s||l,c.isFile())f.fs.readFile(r,function(e,t){return e?n(e,!1):(a.addFile(o,t,i,c),setImmediate(n,void 0,!0))});else if(c.isDirectory())return o+=f.sep,a.addFile(o,Buffer.alloc(0),i,c),setImmediate(n,void 0,!0)})},addLocalFolder:function(n,r,i){if(i=y(i),r=r?v(r):"",n=t.normalize(n),!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{const e=f.findFiles(n),o=this;if(e.length)for(const s of e){const e=t.join(r,E(n,s));i(e)&&o.addLocalFile(s,t.dirname(e))}}},addLocalFolderAsync:function(n,r,i,o){o=y(o),i=i?v(i):"",n=t.normalize(n);var s=this;f.fs.open(n,"r",function(t){if(t&&"ENOENT"===t.code)r(void 0,e.Errors.FILE_NOT_FOUND(n));else if(t)r(void 0,t);else{var a=f.findFiles(n),c=-1,l=function(){if((c+=1)<a.length){var e=a[c],t=E(n,e).split("\\").join("/");t=t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),o(t)?f.fs.stat(e,function(n,o){n&&r(void 0,n),o.isFile()?f.fs.readFile(e,function(e,n){e?r(void 0,e):(s.addFile(i+t,n,"",o),l())}):(s.addFile(i+t+"/",Buffer.alloc(0),"",o),l())}):process.nextTick(()=>{l()})}else r(!0,void 0)};l()}})},addLocalFolderAsync2:function(n,r){const i=this;n="object"==typeof n?n:{localPath:n},localPath=t.resolve(v(n.localPath));let{zipPath:o,filter:s,namefix:a}=n;var c;s instanceof RegExp?(c=s,s=function(e){return c.test(e)}):"function"!=typeof s&&(s=function(){return!0}),o=o?v(o):"","latin1"==a&&(a=e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")),"function"!=typeof a&&(a=e=>e);const l=e=>t.join(o,a(E(localPath,e))),u=e=>t.win32.basename(t.win32.normalize(a(e)));f.fs.open(localPath,"r",function(n){n&&"ENOENT"===n.code?r(void 0,e.Errors.FILE_NOT_FOUND(localPath)):n?r(void 0,n):f.findFilesAsync(localPath,function(e,n){if(e)return r(e);(n=n.filter(e=>s(l(e)))).length||r(void 0,!1),setImmediate(n.reverse().reduce(function(e,n){return function(r,o){if(r||!1===o)return setImmediate(e,r,!1);i.addLocalFileAsync({localPath:n,zipPath:t.dirname(l(n)),zipName:u(n)},e)}},r))})})},addLocalFolderPromise:function(e,t){return new Promise((n,r)=>{this.addLocalFolderAsync2(Object.assign({localPath:e},t),(e,t)=>{e&&r(e),t&&n(this)})})},addFile:function(e,t,r,i){let o=g(e=m(e));const s=null!=o;s||(o=new n(u),o.entryName=e),o.comment=r||"";const a="object"==typeof i&&i instanceof f.fs.Stats;a&&(o.header.time=i.mtime);var c=o.isDirectory?16:0;let l=o.isDirectory?16384:32768;return l|=a?4095&i.mode:"number"==typeof i?4095&i:o.isDirectory?493:420,c=(c|l<<16)>>>0,o.attr=c,o.setData(t),s||p.setEntry(o),o},getEntries:function(e){return p.password=e,p?p.entries:[]},getEntry:function(e){return g(e)},getEntryCount:function(){return p.getEntryCount()},forEach:function(e){return p.forEach(e)},extractEntryTo:function(n,r,s,a,c,l){a=i(!1,a),c=i(!1,c),s=i(!0,s),l=o(c,l);var u=g(n);if(!u)throw e.Errors.NO_ENTRY();var m=d(u.entryName),v=h(r,l&&!u.isDirectory?l:s?m:t.basename(m));if(u.isDirectory)return p.getEntryChildren(u).forEach(function(n){if(n.isDirectory)return;var i=n.getData();if(!i)throw e.Errors.CANT_EXTRACT_FILE();var o=d(n.entryName),l=h(r,s?o:t.basename(o));const u=c?n.header.fileAttr:void 0;f.writeFileTo(l,i,a,u)}),!0;var y=u.getData(p.password);if(!y)throw e.Errors.CANT_EXTRACT_FILE();if(f.fs.existsSync(v)&&!a)throw e.Errors.CANT_OVERRIDE();const E=c?n.header.fileAttr:void 0;return f.writeFileTo(v,y,a,E),!0},test:function(e){if(!p)return!1;for(var t in p.entries)try{if(t.isDirectory)continue;if(!p.entries[t].getData(e))return!1}catch(e){return!1}return!0},extractAllTo:function(t,n,r,s){if(r=i(!1,r),s=o(r,s),n=i(!1,n),!p)throw e.Errors.NO_ZIP();p.entries.forEach(function(i){var o=h(t,d(i.entryName));if(i.isDirectory)return void f.makeDir(o);var a=i.getData(s);if(!a)throw e.Errors.CANT_EXTRACT_FILE();const c=r?i.header.fileAttr:void 0;f.writeFileTo(o,a,n,c);try{f.fs.utimesSync(o,i.header.time,i.header.time)}catch(t){throw e.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(n,r,o,s){if(s=((...t)=>e.findLast(t,e=>"function"==typeof e))(r,o,s),o=i(!1,o),r=i(!1,r),!s)return new Promise((e,t)=>{this.extractAllToAsync(n,r,o,function(n){n?t(n):e(this)})});if(!p)return void s(e.Errors.NO_ZIP());n=t.resolve(n);const a=e=>h(n,t.normalize(d(e.entryName))),c=(e,t)=>new Error(e+': "'+t+'"'),l=[],u=[];p.entries.forEach(e=>{e.isDirectory?l.push(e):u.push(e)});for(const e of l){const t=a(e),n=o?e.header.fileAttr:void 0;try{f.makeDir(t),n&&f.fs.chmodSync(t,n),f.fs.utimesSync(t,e.header.time,e.header.time)}catch(e){s(c("Unable to create folder",t))}}u.reverse().reduce(function(i,s){return function(a){if(a)i(a);else{const a=t.normalize(d(s.entryName)),l=h(n,a);s.getDataAsync(function(t,n){if(n)i(n);else if(t){const e=o?s.header.fileAttr:void 0;f.writeFileToAsync(l,t,r,e,function(e){e||i(c("Unable to write file",l)),f.fs.utimes(l,s.header.time,s.header.time,function(e){e?i(c("Unable to set times",l)):i()})})}else i(e.Errors.CANT_EXTRACT_FILE())})}}},s)()},writeZip:function(e,t){if(1===arguments.length&&"function"==typeof e&&(t=e,e=""),!e&&u.filename&&(e=u.filename),e){var n=p.compressToBuffer();if(n){var r=f.writeFileTo(e,n,!0);"function"==typeof t&&t(r?null:new Error("failed"),"")}}},writeZipPromise:function(e,t){const{overwrite:n,perm:r}=Object.assign({overwrite:!0},t);return new Promise((t,i)=>{!e&&u.filename&&(e=u.filename),e||i("ADM-ZIP: ZIP File Name Missing"),this.toBufferPromise().then(o=>{f.writeFileToAsync(e,o,n,r,e=>e?t(e):i("ADM-ZIP: Wasn't able to write zip file"))},i)})},toBufferPromise:function(){return new Promise((e,t)=>{p.toAsyncBuffer(e,t)})},toBuffer:function(e,t,n,r){return"function"==typeof e?(p.toAsyncBuffer(e,t,n,r),null):p.compressToBuffer()}}},Mn}(),Zn=V(Kn);class Yn{#Z;get ora(){return this.#Z}set attachConsole(e){e?(console.log=this.info.bind(this),console.info=this.info.bind(this)):console=Qn}static Global(e){return Xn=new Yn(e),Xn}static Clone(e){const{prefixText:t}=e||Xn;return new Yn({prefixText:t})}static get Current(){return Xn}static set Current(e){Xn=e}constructor(e){this.#Z=j(e)}get prefixText(){return this.#Z.prefixText}info(...e){this.#Z.info(Jn(e))}succeed(...e){this.#Z.succeed(Jn(e))}start(...e){this.#Z.start(Jn(e))}fail(...e){this.#Z.fail(Jn(e))}warn(...e){this.#Z.warn(Jn(e))}clear(){this.#Z.clear()}stop(){this.#Z.stop()}stopAndPersist(...e){this.#Z.stopAndPersist(...e)}}let Xn=new Yn;const Jn=e=>e.length?e.join(" "):void 0,Qn=console;class er{spinner;debugMode;constructor(e,t){this.spinner=new Yn({prefixText:e}),this.debugMode=t?.debug??!1}start(...e){this.spinner.start(...e)}succeed(...e){this.spinner.succeed(...e)}fail(...e){this.spinner.fail(...e)}error(...e){console.log(...e)}warn(...e){this.spinner.warn(...e)}info(...e){this.spinner.info(...e)}log(...e){this.spinner.info(...e)}debug(...e){this.debugMode&&console.debug(...e)}startNativeConsoleCapture(){this.spinner.attachConsole=!0}stopNativeConsoleCapture(){this.spinner.attachConsole=!1}}const tr=e=>({portal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.portal:void 0,msal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.msal:void 0,proxy:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.serviceWorker?.resources:void 0,serviceDiscoveryUrl:e.api.serviceDiscoveryUrl,routes:e.api.routes}),nr=e=>{const t={spa:{templateEnv:(n=e.template,{portal:{id:"@equinor/fusion-framework-dev-portal"},title:"Fusion Dev Portal",serviceDiscovery:{url:"/@fusion-services",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},msal:{clientId:"9b707e3a-3e90-41ed-a47e-652a1e3b53d0",tenantId:"3aa4a235-b6e2-48d5-9195-7fcf05b459b0",redirectUri:"/authentication/login-callback",requiresAuth:"true"},serviceWorker:{resources:[{url:"/apps-proxy",rewrite:"/@fusion-api/apps",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/help-proxy",rewrite:"/@fusion-api/help",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/portal-proxy",rewrite:"/@fusion-api/portal-config",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]}]},...n})},api:{serviceDiscoveryUrl:"https://discovery.fusion.equinor.com/service-registry/environments/ci/services/",processServices:(e,t)=>{const{data:n,routes:r}=H(e,t);return{data:n.concat({key:"portals",name:"Portal Service - MOCK",uri:"/@fusion-api/portals"}),routes:r}}}};var n;return e.app&&((e,t,n)=>{const{build:r,appKey:i}=t;if(!r)throw new Error("App manifest does not contain build information");e.api.routes??=[],e.api.routes.push({match:[`/apps/bundles/apps/${i}/${r.version}/*path`,`/apps/bundles/apps/${i}@${r.version}/*path`],middleware:async(e,t,n)=>{const r=e.params?.path;!1===Array.isArray(r)&&n(),t.writeHead(302,{"content-type":"application/javascript",location:`/${r.join("/")}`}),t.end()}}),e.api.routes.push({match:`/apps/persons/me/apps/${i}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify({id:"dev-server-generated-id",...t}))}}),e.api.routes.push({match:`/apps/apps/${i}/builds/${r.version}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(t,e.app.manifest,e.app.config),e.portal&&((e,t,n)=>{e.api.routes??=[];const r="portal-config";e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify(t))}}),n&&e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(t,e.portal.manifest,e.portal.config),t},rr=async(e,t,n)=>{const{overrides:r,log:i}=n??{},o=nr(t);i?.debug("\nBase dev server config:",tr(o)),i?.debug("\nCreating dev server with overrides:",r);try{const{path:t,config:n}=await(async(e,t,n)=>D("dev-server.config",{baseDir:e.root,extensions:n?.extensions,script:{resolve:async n=>{let r;if("function"==typeof n.default){const i={...t};r=await n.default(e,{base:i})}else r=n.default;return ut(t,r??{})}}}))(e,o);i?.debug(`\nLoaded dev server config from ${t}`),i?.debug("\nLoaded dev server config:",tr(n));const s=((e,t)=>({name:"fusion:dev-server-config-watcher",configureServer(n){n.watcher.add(e),n.watcher.on("change",r=>{r===e&&(t?.info(`\n${e} changed, restarting dev server...`),n.restart())}),t?.debug(`Watching dev-server.config.ts at: ${e}`)}}))(t,i),a={...r,plugins:[...r?.plugins??[],s]};return z(n,a)}catch(e){return i?.warn("\nFailed to load dev server config:",e instanceof Error?e.message:String(e)),z(o,r)}},ir="fusion-framework-cli",or={"X-Fusion-CLI-Name":ir,"X-Fusion-CLI-Version":Bt,"User-Agent":`${ir}/${Bt}`},sr="https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md",ar="https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/application.md";function cr(){if(process.env.FUSION_TOKEN)return[r.bold("ðĄ FUSION_TOKEN detected"),r.dim(" The CLI is using this token instead of your interactive login session."),r.dim(" If this is unintended, unset the variable and retry, or verify that the token has the correct scope/audience.")].join("\n")}function lr(e,t){switch(e){case 401:return function(e){const t=["",r.redBright(`ðŦ Authentication failed: unable to ${e}`),""," No valid token was provided or the token has expired.",""],n=cr();return n&&t.push(n,""),t.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} For CI/CD, verify that ${r.bold("FUSION_TOKEN")} is set and the token has not expired.`,` ${r.cyan("2.")} For local development, run ${r.greenBright.bold("ffc auth login")} to refresh your credentials.`,` ${r.cyan("3.")} Verify that ${r.bold("--scope")} targets the correct API audience for your environment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(sr)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(ar)}`,""),t.join("\n")}(t);case 403:return function(e){const t=["",r.redBright(`ðŦ Authorization failed: not permitted to ${e}`),"","â ïļ Your token is valid but does not have the required permissions for this operation.",""],n=cr();return n&&t.push(n,""),t.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} Verify that your user or service principal has publish permissions for this application.`,` ${r.cyan("2.")} Check that the token's ${r.bold("scope / audience")} matches the target environment.`,` ${r.cyan("3.")} Confirm that the application is registered and your account has the correct role assignment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(sr)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(ar)}`,""),t.join("\n")}(t);default:return}}function ur(e,t){if(!(e instanceof Error))return;const n="SilentTokenAcquisitionError"===e.name,i=e.response?e.response.status:void 0,o=401===i||403===i;let s=!1,a=e.cause;for(let e=0;e<5&&a&&a instanceof Error;e++){if("SilentTokenAcquisitionError"===a.name){s=!0;break}a=a.cause}if(!n&&!o&&!s)return;if(o&&!n&&!s)return lr(i,t);const c=function(e){let t=e;for(let e=0;e<5&&t;e++){if(!(t instanceof Error)){if("object"==typeof t&&"errorMessage"in t){const e=t.errorMessage;if("string"==typeof e){const t=e.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return t?.[1]?.trim()??e.split(" - ")[0]?.trim()}break}break}{const e=t;if("string"==typeof e.errorMessage){const t=e.errorMessage,n=t.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return n?.[1]?.trim()??t.split(" - ")[0]?.trim()}t=t.cause}}}(e),l=["",r.redBright(`ð Token acquisition failed: unable to ${t}`),"",r.yellow(`â ïļ ${c??"The CLI could not silently acquire an access token for this operation."}`),""],u=cr();return u&&l.push(u,""),l.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} Run ${r.greenBright.bold("ffc auth login")} to refresh your local credentials.`,` ${r.cyan("2.")} For CI/CD, set a fresh ${r.bold("FUSION_TOKEN")} â cached refresh tokens may have expired.`,` ${r.cyan("3.")} Verify that ${r.bold("--scope")} targets the correct API audience for your environment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(sr)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(ar)}`,""),l.join("\n")}const fr=(e,t,n)=>{const r=s(String(e));L(r)||C(r,{recursive:!0}),S(e,t,n)},pr=["package.json","LICENSE.md","README.md","CHANGELOG.md"],dr=async(e,t)=>{const{archive:n,log:i}=t??{},o=s(e.path),c=t?.buildDir??"dist",l=a(o,c);if(!(await _(l)).isDirectory())throw new Error(`Build directory ${c} does not exist`);i?.log(r.bold("Starting to pack bundle"));const u=new Zn;if(u.addLocalFolder(l,c),t?.content)for(const[e,n]of Object.entries(t.content))u.addFile(e,Buffer.from(n)),i?.info("ð",en(e,{relative:!0}));i?.info("ð",en(l,{relative:!0}));for(const t of pr.concat(e.packageJson.files??[])){const e=a(o,t),n=s(e.replace(o,""));at(e)?(u.addLocalFile(e,n),i?.info("ð",en(e,{relative:!0}))):i?.warn(r.dim("ð",en(e,{relative:!0})))}return n&&(at(s(n))||await I(s(n),{recursive:!0}),i?.start("compressing content"),await u.writeZipPromise(n),i?.succeed("ð",en(n,{relative:!0}),tn(n))),u},hr=async e=>{const{log:t,manifest:n,snapshot:r}=e;process.env.NODE_ENV,process.cwd();const{pkg:i,manifest:o}=await sn({log:t,manifest:n,snapshot:r});if(!o.build)throw new Error("Manifest build config not found");return{archive:await dr(i,{log:t,archive:e?.archive,content:{"app-manifest.json":JSON.stringify(o.build,null,2),"metadata.json":JSON.stringify({appKey:o.appKey,name:o.appKey,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o}},mr=async(e,t)=>{const{log:n}=t;try{n?.start("create application configuration"),n?.info(`generating config with ${r.red.dim(e.command)} command in ${r.green.dim(e.mode)} mode`);const i=await((e,t)=>{const n=t?.file??[`app.config.${e.environment}`,"app.config"];return D(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{environment:{}};if("function"==typeof n.default){const t=await n.default(e,{base:r})??r;return qt.parse(t??r)}return qt.parse(n.default??r)}}})})(e,{file:t?.config});return n?.succeed("âïļ generated config from ",en(i.path,{relative:!0})),i.config}catch(e){if(e instanceof N){if(!t.config)return n?.succeed(r.dim("âïļ no local application config applied, using built-in")),{environment:{}};n?.warn(`failed to load config file ${en(t.config)}, please check the path.`)}throw n?.fail("failed to resolve application config"),n?.debug(e),e}},gr=async e=>{const{log:t}=e??{};let n;try{t?.start("resolve project package"),n=await rn(null),t?.succeed("ðĶ",r.yellowBright([n.packageJson.name,n.packageJson.version].join("@"))),t?.info("ð ",r.blueBright(n.root))}catch{t?.info("Failed to resolve project package, using current directory as root")}const i=n?.root??process.cwd(),o={command:"build",mode:process.env.NODE_ENV??"production",root:i,...e?.env},s=await mr(o,{log:t,config:e?.config});if(t?.debug("config:",s),e?.output){t?.start("writing config to file");try{await fr(e.output,JSON.stringify(s,null,2)),t?.succeed("config written successfully",en(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:s,pkg:n}};class vr extends Error{response;static Name="HttpResponseError";constructor(e,t,n){super(e,n),this.response=t}}class yr extends vr{static Name="HttpJsonResponseError";data;constructor(e,t,n){super(e,t,n),this.name=yr.Name,this.data=n?.data}}class Er extends vr{static Name="ServerSentEventResponseError";constructor(e,t,n){super(e,t,n),this.name=Er.Name}}const br=async e=>{const{log:t,config:n,appKey:r,buildVersion:i,framework:o}=e;try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("ð","Executing request to:",en(e.uri))}),t?.start("Publishing application config");const s=await e.json(`/apps/${r}/builds/${i}/config`,{method:"PUT",body:n,headers:or});t?.debug("Response:",s),t?.succeed("Published application config")}catch(e){if(e instanceof yr)switch(e.response.status){case 410:t?.fail("ðĪŽ",`App ${r} is deleted from apps-service. Please check the app key and try again.`);break;case 404:t?.fail("ðĪŽ",`App ${r} not found. Please check the app key and try again.`);break;case 403:case 401:{const n=lr(e.response.status,`publish config for ${r}`);t?.fail("ð","Authentication/authorization error publishing app config."),n&&t?.error(n),process.exit(1);break}default:t?.fail("ðĪŽ","Failed to publish application config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const n=ur(e,`publish config for ${r}`);n&&(t?.fail("ð",`Token acquisition failed publishing config for ${r}`),t?.error(n),process.exit(1)),t?.fail("ðĪŽ","Failed to publish app config:",e instanceof Error?e.message:String(e)),process.exit(1)}},wr=async e=>{const{log:n}=e??{},r="@equinor/fusion-framework-dev-portal",i=await rn(n),o={root:i.root,environment:"local",...e?.env,mode:"development",command:"serve"},a=await nn(o,i,{log:n,manifestPath:e?.manifest}),c=await mr(o,{log:n,config:e?.config});let l,u;const p=d(import.meta.resolve(r));at(p)?(l=p,u=await f({cwd:p}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${r} is external, skipping entry point resolution`);const h=await Tt(o,i),m=u?[i.root,u]:[i.root];n?.debug(`File system access allowed for: \n${m.join("\n")}\n`);const g=t(h,{server:{port:e?.port||3e3,host:e?.host||h.server?.host||"localhost",fs:{allow:m}}}),v={template:{portal:{id:r}},app:{manifest:a,config:c}};l&&(v.portal={manifest:{name:r,build:{templateEntry:l,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",g),n?.debug("dev server config:",v),n?.start("Starting app development server...");const y=await rr(o,v,{overrides:g,log:n});await y.listen(),n?.succeed("App development server started successfully");const E=y.config.server.https?"https":"http",b=y.config.server.host||"localhost",w=y.config.server.port||5173;return n?.info(`App development server is running at: ${E}://${b}:${w}/apps/${a.appKey}`),y},Lr=async e=>{const{log:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve application");const c="@equinor/fusion-framework-dev-portal",l=await rn(n);n?.start("Loading Vite config...");const u=await Tt({root:l.root,command:"build",mode:"production"},l);n?.succeed("Vite config loaded");const p=r||(u.build?.outDir||"dist"),h=a(l.root,p),m={root:l.root,environment:"local",mode:"production",command:"serve",isPreview:!0},g=await nn(m,l,{log:n,manifestPath:e?.manifest}),v=await mr(m,{log:n,config:e?.config});if(n?.debug("Output directory:",h),!L(h))throw new Error(`Build directory does not exist: ${h}\nPlease build the application first using \`ffc app build\``);let y,E;const b=d(import.meta.resolve(c));at(b)?(y=b,E=await f({cwd:b}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${c} is external, skipping entry point resolution`);const w=await Tt(m,l),C=E?[l.root,E,h]:[l.root,h];n?.debug(`File system access allowed for: \n${C.join("\n")}\n`);const S=t(w,{server:{port:i,host:o||w.server?.host||"localhost",fs:{allow:C}}}),_={template:{portal:{id:c}},app:{manifest:g,config:v}};y&&(_.portal={manifest:{name:c,build:{templateEntry:y,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",S),n?.debug("dev server config:",_),n?.start("Starting preview server with dev-portal...");try{const e=await rr(m,_,{overrides:S,log:n});await e.listen(),n?.succeed("Preview server started successfully");const t=e.config.server?.https?"https":"http",r=e.config.server?.host||o,s=e.config.server?.port||i;return n?.info(`Preview server is running at: ${t}://${r}:${s}`),g.appKey&&n?.info(`App URL: ${t}://${r}:${s}/apps/${g.appKey}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}};class Cr extends ${satisfies(e){return x(this,e)}}var Sr=function(e,t){return Sr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Sr(e,t)};function _r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}Sr(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Ir=function(){return Ir=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Ir.apply(this,arguments)};function Dr(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,a)}c((r=r.apply(e,t||[])).next())})}function Nr(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function Or(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Pr(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function Ar(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function Rr(e){return this instanceof Rr?(this.v=e,this):new Rr(e)}function Tr(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",function(e){return function(t){return Promise.resolve(t).then(e,l)}}),r[Symbol.asyncIterator]=function(){return this},r;function s(e,t){i[e]&&(r[e]=function(t){return new Promise(function(n,r){o.push([e,t,n,r])>1||a(e,t)})},t&&(r[e]=t(r[e])))}function a(e,t){try{(n=i[e](t)).value instanceof Rr?Promise.resolve(n.value.v).then(c,l):u(o[0][2],n)}catch(e){u(o[0][3],e)}var n}function c(e){a("next",e)}function l(e){a("throw",e)}function u(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function $r(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Or(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,i){(function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)})(r,i,(t=e[n](t)).done,t.value)})}}}function xr(e){return"function"==typeof e}function Fr(e){var t=e(function(e){Error.call(e),e.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}"function"==typeof SuppressedError&&SuppressedError;var Ur=Fr(function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}});function kr(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var Br=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}var t;return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=Or(o),a=s.next();!a.done;a=s.next()){a.value.remove(this)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(xr(c))try{c()}catch(e){i=e instanceof Ur?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=Or(l),f=u.next();!f.done;f=u.next()){var p=f.value;try{jr(p)}catch(e){i=null!=i?i:[],e instanceof Ur?i=Ar(Ar([],Pr(i)),Pr(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new Ur(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)jr(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&kr(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&kr(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=((t=new e).closed=!0,t),e}(),Gr=Br.EMPTY;function Mr(e){return e instanceof Br||e&&"closed"in e&&xr(e.remove)&&xr(e.add)&&xr(e.unsubscribe)}function jr(e){xr(e)?e():e.unsubscribe()}var zr={Promise:void 0},Hr=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Ar([e,t],Pr(n)))};function qr(e){Hr(function(){throw e})}function Vr(){}function Wr(e){e()}var Kr=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,Mr(t)&&t.add(n)):n.destination=Jr,n}return _r(t,e),t.create=function(e,t,n){return new Yr(e,t,n)},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(Br),Zr=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){Xr(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){Xr(e)}else Xr(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){Xr(e)}},e}(),Yr=function(e){function t(t,n,r){var i,o=e.call(this)||this;return i=xr(t)||!t?{next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:t,o.destination=new Zr(i),o}return _r(t,e),t}(Kr);function Xr(e){qr(e)}var Jr={closed:!0,next:Vr,error:function(e){throw e},complete:Vr},Qr="function"==typeof Symbol&&Symbol.observable||"@@observable";function ei(e){return e}var ti=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r,i=this,o=(r=e)&&r instanceof Kr||function(e){return e&&xr(e.next)&&xr(e.error)&&xr(e.complete)}(r)&&Mr(r)?e:new Yr(e,t,n);return Wr(function(){var e=i,t=e.operator,n=e.source;o.add(t?t.call(o,n):n?i._subscribe(o):i._trySubscribe(o))}),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=ni(t))(function(t,r){var i=new Yr({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)})},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[Qr]=function(){return this},e.prototype.pipe=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return(0===(e=t).length?ei:1===e.length?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)})(this)},e.prototype.toPromise=function(e){var t=this;return new(e=ni(e))(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function ni(e){var t;return null!==(t=null!=e?e:zr.Promise)&&void 0!==t?t:Promise}function ri(e){return function(t){if(function(e){return xr(null==e?void 0:e.lift)}(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw new TypeError("Unable to lift unknown Observable type")}}function ii(e,t,n,r,i){return new oi(e,t,n,r,i)}var oi=function(e){function t(t,n,r,i,o,s){var a=e.call(this,t)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,a._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,a._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,a}return _r(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(Kr),si=Fr(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),ai=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return _r(t,e),t.prototype.lift=function(e){var t=new ci(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new si},t.prototype.next=function(e){var t=this;Wr(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=Or(t.currentObservers),o=i.next();!o.done;o=i.next()){o.value.next(e)}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},t.prototype.error=function(e){var t=this;Wr(function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}})},t.prototype.complete=function(){var e=this;Wr(function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,o=n.observers;return r||i?Gr:(this.currentObservers=null,o.push(e),new Br(function(){t.currentObservers=null,kr(o,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new ti;return e.source=this,e},t.create=function(e,t){return new ci(e,t)},t}(ti),ci=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return _r(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:Gr},t}(ai),li=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return _r(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(ai),ui={now:function(){return(ui.delegate||Date).now()},delegate:void 0},fi=function(e){function t(t,n,r){void 0===t&&(t=1/0),void 0===n&&(n=1/0),void 0===r&&(r=ui);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,n),i}return _r(t,e),t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,s=n._timestampProvider,a=n._windowTime;r||(i.push(t),!o&&i.push(s.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),i=0;i<r.length&&!e.closed;i+=n?1:2)e.next(r[i]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,i=e._infiniteTimeWindow,o=(i?1:2)*t;if(t<1/0&&o<r.length&&r.splice(0,r.length-o),!i){for(var s=n.now(),a=0,c=1;c<r.length&&r[c]<=s;c+=2)a=c;a&&r.splice(0,a+1)}},t}(ai),pi=function(e){function t(t,n){return e.call(this)||this}return _r(t,e),t.prototype.schedule=function(e,t){return this},t}(Br),di=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Ar([e,t],Pr(n)))},hi=function(e){return clearInterval(e)},mi=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return _r(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(i,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),di(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&hi(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,kr(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(pi),gi=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=ui.now,e}(),vi=function(e){function t(t,n){void 0===n&&(n=gi.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return _r(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(gi),yi=new vi(mi),Ei=yi,bi=new ti(function(e){return e.complete()});function wi(e){return e&&xr(e.schedule)}function Li(e){return e[e.length-1]}var Ci=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function Si(e){return xr(null==e?void 0:e.then)}function _i(e){return xr(e[Qr])}function Ii(e){return Symbol.asyncIterator&&xr(null==e?void 0:e[Symbol.asyncIterator])}function Di(e){return new TypeError("You provided "+(null!==e&&"object"==typeof e?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var Ni="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function Oi(e){return xr(null==e?void 0:e[Ni])}function Pi(e){return Tr(this,arguments,function(){var t,n,r;return Nr(this,function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,Rr(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,Rr(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,Rr(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Ai(e){return xr(null==e?void 0:e.getReader)}function Ri(e){if(e instanceof ti)return e;if(null!=e){if(_i(e))return i=e,new ti(function(e){var t=i[Qr]();if(xr(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(Ci(e))return r=e,new ti(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()});if(Si(e))return n=e,new ti(function(e){n.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,qr)});if(Ii(e))return Ti(e);if(Oi(e))return t=e,new ti(function(e){var n,r;try{for(var i=Or(t),o=i.next();!o.done;o=i.next()){var s=o.value;if(e.next(s),e.closed)return}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()});if(Ai(e))return Ti(Pi(e))}var t,n,r,i;throw Di(e)}function Ti(e){return new ti(function(t){(function(e,t){var n,r,i,o;return Dr(this,void 0,void 0,function(){var s,a;return Nr(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=$r(e),c.label=1;case 1:return[4,n.next()];case 2:if((r=c.sent()).done)return[3,4];if(s=r.value,t.next(s),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),i={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})})(e,t).catch(function(e){return t.error(e)})})}function $i(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=t.schedule(function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function xi(e,t){return void 0===t&&(t=0),ri(function(n,r){n.subscribe(ii(r,function(n){return $i(r,e,function(){return r.next(n)},t)},function(){return $i(r,e,function(){return r.complete()},t)},function(n){return $i(r,e,function(){return r.error(n)},t)}))})}function Fi(e,t){return void 0===t&&(t=0),ri(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function Ui(e,t){if(!e)throw new Error("Iterable cannot be null");return new ti(function(n){$i(n,t,function(){var r=e[Symbol.asyncIterator]();$i(n,t,function(){r.next().then(function(e){e.done?n.complete():n.next(e.value)})},0,!0)})})}function ki(e,t){if(null!=e){if(_i(e))return function(e,t){return Ri(e).pipe(Fi(t),xi(t))}(e,t);if(Ci(e))return function(e,t){return new ti(function(n){var r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}(e,t);if(Si(e))return function(e,t){return Ri(e).pipe(Fi(t),xi(t))}(e,t);if(Ii(e))return Ui(e,t);if(Oi(e))return function(e,t){return new ti(function(n){var r;return $i(n,t,function(){r=e[Ni](),$i(n,t,function(){var e,t,i;try{t=(e=r.next()).value,i=e.done}catch(e){return void n.error(e)}i?n.complete():n.next(t)},0,!0)}),function(){return xr(null==r?void 0:r.return)&&r.return()}})}(e,t);if(Ai(e))return function(e,t){return Ui(Pi(e),t)}(e,t)}throw Di(e)}function Bi(e,t){return t?ki(e,t):Ri(e)}function Gi(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=function(e){return wi(Li(e))?e.pop():void 0}(e);return Bi(e,n)}var Mi=Fr(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function ji(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o,s=!1;e.subscribe({next:function(e){o=e,s=!0},error:i,complete:function(){s?r(o):n?r(t.defaultValue):i(new Mi)}})})}function zi(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o=new Yr({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Mi)}});e.subscribe(o)})}function Hi(e){return e instanceof Date&&!isNaN(e)}var qi=Fr(function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function Vi(e){throw new qi(e)}function Wi(e,t){return ri(function(n,r){var i=0;n.subscribe(ii(r,function(n){r.next(e.call(t,n,i++))}))})}var Ki=Array.isArray;function Zi(e){return Wi(function(t){return function(e,t){return Ki(t)?e.apply(void 0,Ar([],Pr(t))):e(t)}(e,t)})}function Yi(e,t,n,r,i,o,s,a){var c=[],l=0,u=0,f=!1,p=function(){!f||c.length||l||t.complete()},d=function(e){return l<r?h(e):c.push(e)},h=function(e){o&&t.next(e),l++;var a=!1;Ri(n(e,u++)).subscribe(ii(t,function(e){null==i||i(e),o?d(e):t.next(e)},function(){a=!0},void 0,function(){if(a)try{l--;for(var e=function(){var e=c.shift();s||h(e)};c.length&&l<r;)e();p()}catch(e){t.error(e)}}))};return e.subscribe(ii(t,d,function(){f=!0,p()})),function(){null==a||a()}}function Xi(e,t,n){return void 0===n&&(n=1/0),xr(t)?Xi(function(n,r){return Wi(function(e,i){return t(n,e,r,i)})(Ri(e(n,r)))},n):("number"==typeof t&&(n=t),ri(function(t,r){return Yi(t,r,e,n)}))}var Ji=["addListener","removeListener"],Qi=["addEventListener","removeEventListener"],eo=["on","off"];function to(e,t,n,r){if(xr(n)&&(r=n,n=void 0),r)return to(e,t,n).pipe(Zi(r));var i=Pr(function(e){return xr(e.addEventListener)&&xr(e.removeEventListener)}(e)?Qi.map(function(r){return function(i){return e[r](t,i,n)}}):function(e){return xr(e.addListener)&&xr(e.removeListener)}(e)?Ji.map(no(e,t)):function(e){return xr(e.on)&&xr(e.off)}(e)?eo.map(no(e,t)):[],2),o=i[0],s=i[1];if(!o&&Ci(e))return Xi(function(e){return to(e,t,n)})(Ri(e));if(!o)throw new TypeError("Invalid event target");return new ti(function(e){var t=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1<t.length?t:t[0])};return o(t),function(){return s(t)}})}function no(e,t){return function(n){return function(r){return e[n](t,r)}}}function ro(e,t,n){void 0===e&&(e=0),void 0===n&&(n=Ei);var r=-1;return null!=t&&(wi(t)?n=t:r=t),new ti(function(t){var i=Hi(e)?+e-n.now():e;i<0&&(i=0);var o=0;return n.schedule(function(){t.closed||(t.next(o++),0<=r?this.schedule(void 0,r):t.complete())},i)})}function io(e,t){return ri(function(n,r){var i=0;n.subscribe(ii(r,function(n){return e.call(t,n,i++)&&r.next(n)}))})}function oo(e){return ri(function(t,n){var r,i=null,o=!1;i=t.subscribe(ii(n,void 0,void 0,function(s){r=Ri(e(s,oo(e)(t))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(n))})}function so(e,t,n,r,i){return function(o,s){var a=n,c=t,l=0;o.subscribe(ii(s,function(t){var n=l++;c=a?e(c,t,n):(a=!0,t),r&&s.next(c)},i&&function(){a&&s.next(c),s.complete()}))}}function ao(e,t){return ri(so(e,t,arguments.length>=2,!1,!0))}function co(e){return ri(function(t,n){var r=!1;t.subscribe(ii(n,function(e){r=!0,n.next(e)},function(){r||n.next(e),n.complete()}))})}function lo(e,t){return void 0===t&&(t=ei),e=null!=e?e:uo,ri(function(n,r){var i,o=!0;n.subscribe(ii(r,function(n){var s=t(n);!o&&e(i,s)||(o=!1,i=s,r.next(n))}))})}function uo(e,t){return e===t}function fo(e){return void 0===e&&(e=po),ri(function(t,n){var r=!1;t.subscribe(ii(n,function(e){r=!0,n.next(e)},function(){return r?n.complete():n.error(e())}))})}function po(){return new Mi}function ho(e){return ri(function(t,n){try{t.subscribe(n)}finally{n.add(e)}})}function mo(e,t){var n=arguments.length>=2;return function(e){return e.pipe(ei,(r=1)<=0?function(){return bi}:ri(function(e,t){var n=[];e.subscribe(ii(t,function(e){n.push(e),r<n.length&&n.shift()},function(){var e,r;try{for(var i=Or(n),o=i.next();!o.done;o=i.next()){var s=o.value;t.next(s)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}t.complete()},void 0,function(){n=null}))}),n?co(t):fo(function(){return new Mi}));var r}}function go(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var i=new Yr({next:function(){i.unsubscribe(),e()}});return Ri(t.apply(void 0,Ar([],Pr(n)))).subscribe(i)}}else e()}function vo(e,t){return ri(function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(ii(r,function(n){null==i||i.unsubscribe();var s=0,c=o++;Ri(e(n,c)).subscribe(i=ii(r,function(e){return r.next(t?t(n,e,c,s++):e)},function(){i=null,a()}))},function(){s=!0,a()}))})}function yo(e){return ri(function(t,n){Ri(e).subscribe(ii(n,function(){return n.complete()},Vr)),!n.closed&&t.subscribe(n)})}function Eo(e,t,n){var r=xr(e)||t||n?{next:e,error:t,complete:n}:e;return r?ri(function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;e.subscribe(ii(t,function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)},function(){var e;i=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()},function(e){var n;i=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)},function(){var e,t;i&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)}))}):ei}function bo(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n,r=xr(Li(n=e))?n.pop():void 0;return ri(function(t,n){for(var i=e.length,o=new Array(i),s=e.map(function(){return!1}),a=!1,c=function(t){Ri(e[t]).subscribe(ii(n,function(e){o[t]=e,a||s[t]||(s[t]=!0,(a=s.every(ei))&&(s=null))},Vr))},l=0;l<i;l++)c(l);t.subscribe(ii(n,function(e){if(a){var t=Ar([e],Pr(o));n.next(r?r.apply(void 0,Ar([],Pr(t))):t)}}))})}const wo=(e,t,n)=>{const r="string"==typeof t?t.split("."):t,i=r.shift();return i&&(e[i]??={},r.length?wo(e[i],r,n):Object.assign(e,{[i]:n})),e};class Lo{#Y={};createConfig(e,t){return Bi(this._createConfig(e,t))}async createConfigAsync(e,t){return ji(this.createConfig(e,t))}_set(e,t){const n="function"==typeof t?t:async()=>t;this.#Y[e]=n}_get(e){return this.#Y[e]}_has(e){return e in this.#Y}_createConfig(e,t){return Bi(this._buildConfig(e,t)).pipe(vo(t=>this._processConfig(t,e)))}_buildConfig(e,t){return Bi(Object.entries(this.#Y)).pipe(Xi(([t,n])=>Bi(n(e)).pipe(io(e=>void 0!==e),Wi(e=>({target:t,value:e})),oo(e=>(console.error(`Failed to execute config callback: ${n.name} for attribute: '${t}'`,e),bi)))),ao((e,{target:t,value:n})=>wo(e,t,n),t??{}))}_processConfig(e,t){return Gi(e)}}var Co;!function(e){e[e.Debug=0]="Debug",e[e.Information=1]="Information",e[e.Warning=2]="Warning",e[e.Error=3]="Error",e[e.Critical=4]="Critical"}(Co||(Co={}));class So{static[Symbol.hasInstance](e){if(null!==e&&"object"==typeof e&&"version"in e&&"dispose"in e){const t=e,n=T(String(t.version)),r=t.dispose;return!!n&&"function"==typeof r}return!1}#X;#J;get version(){return this.#X}constructor(e){const{version:t}=e;this.#X=new Cr(t),this.#J=new Br}_addTeardown(e){return this.#J.add(e),()=>this.#J.remove(e)}dispose(){this.#J.unsubscribe()}}class _o extends Error{constructor(){super("Module initialization timed out"),this.name="RequiredModuleTimeoutError"}}class Io{static className="ModulesConfigurator";get version(){return"6.0.0"}#Q=new fi(100);get event$(){return this.#Q.asObservable()}_configs=[];_afterConfiguration=[];_afterInit=[];_modules;constructor(e){this._modules=new Set(e)}get modules(){return[...this._modules]}configure(...e){for(const t of e)this.addConfig(t)}addConfig(e){const{module:t,afterConfig:n,afterInit:r,configure:i}=e;this._modules.add(t),this._registerEvent({level:Co.Debug,name:"moduleConfigAdded",message:`Module configurator added for ${t.name}`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown",configure:!!i,afterConfig:!!n,afterInit:!!r}}),i&&this._configs.push((e,n)=>i(e[t.name],n)),n&&this._afterConfiguration.push(e=>n(e[t.name])),r&&this._afterInit.push(e=>r(e[t.name]))}onConfigured(e){this._afterConfiguration.push(e),this._registerEvent({level:Co.Debug,name:"addOnConfigured",message:"Added onConfigured callback",properties:{count:this._afterConfiguration.length,name:e.name||"anonymous"}})}onInitialized(e){this._afterInit.push(e),this._registerEvent({level:Co.Debug,name:"addOnInitialized",message:"Added onInitialized callback",properties:{count:this._afterInit.length,name:e.name||"anonymous"}})}async initialize(e){const t=performance.now(),n=await this._configure(e),r=Math.round(performance.now()-t);this._registerEvent({level:Co.Debug,name:"initialize.configLoaded",message:`Modules configured in ${r}ms`,properties:{modules:this.modules.map(e=>e.name).join(", "),count:this.modules.length,loadTime:r},metric:r});const i=performance.now(),o=await this._initialize(n,e),s=Math.round(performance.now()-i);this._registerEvent({level:Co.Debug,name:"initialize.instanceInitialized",message:`Modules initialized in ${s}ms`,properties:{modules:this.modules.map(e=>e.name).join(", "),count:this.modules.length,loadTime:s},metric:s});const a=r+s;return this._registerEvent({level:Co.Information,name:"initialize",message:`initialize in ${a}ms`,properties:{modules:this.modules.map(e=>e.name).join(", "),configLoadTime:r,instanceLoadTime:s,totalLoadTime:a},metric:a}),await this._postInitialize(o,e),Object.seal(Object.assign({},o,{dispose:()=>this.dispose(o)}))}_registerEvent(e){const t=e.name.split("::");this.#Q.next({...e,name:`${this.constructor.className}::${t[t.length-1]}`})}async _configure(e){const t=await this._createConfig(e);return await Promise.all(this._configs.map(n=>Promise.resolve(n(t,e)))),await this._postConfigure(t),t}_createConfig(e){const{modules:t,_afterConfiguration:n,_afterInit:r}=this;return ji(Bi(t).pipe(Xi(async t=>{const n=performance.now();try{const r=await(t.configure?.(e)),i=Math.round(performance.now()-n);return this._registerEvent({level:Co.Debug,name:"_createConfig.configuratorCreated",message:`Configurator created for ${t.name} in ${i}ms`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown",configLoadTime:i},metric:i}),{[t.name]:r}}catch(e){throw this._registerEvent({level:Co.Error,name:"_createConfig.configuratorFailed",message:`Failed to create configurator for ${t.name}`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown"},metric:Math.round(performance.now()-n),error:e}),e}}),ao((e,t)=>Object.assign(e,t),{onAfterConfiguration(e){n.push(e)},onAfterInit(e){r.push(e)}})))}async _postConfigure(e){const{modules:t,_afterConfiguration:n}=this;if(await Promise.allSettled(t.filter(e=>!!e.postConfigure).map(async t=>{try{const n=performance.now();await(t.postConfigure?.(e)),this._registerEvent({level:Co.Debug,name:"_postConfigure.modulePostConfigured",message:`Module ${t.name} post-configured successfully`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown",postConfigTime:Math.round(performance.now()-n)}})}catch(e){this._registerEvent({level:Co.Warning,name:"_postConfigure.modulePostConfigureError",message:`Module ${t.name} post-configure failed`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown"},error:e})}})),n.length)try{this._registerEvent({level:Co.Debug,name:"_postConfigure.hooks",message:`Post configure hooks [${n.length}] called`});const t=performance.now();await Promise.allSettled(n.map(t=>Promise.resolve(t(e))));const r=Math.round(performance.now()-t);this._registerEvent({level:Co.Debug,name:"_postConfigure.hooksComplete",message:"Post configure hooks complete",properties:{count:n.length,postConfigHooksTime:r},metric:r})}catch(e){this._registerEvent({level:Co.Warning,name:"_postConfigure.hooksError",message:"Post configure hook failed",error:e})}}async _initialize(e,t){const n=this.modules.map(e=>e.name),r=new li({}),i=e=>n.includes(e),o=(e,t=60)=>{if(!n.includes(e)){const n=new Error(`Cannot require [${String(e)}] since module is not defined!`);throw n.name="ModuleNotDefinedError",this._registerEvent({level:Co.Error,name:"_initialize.requireInstance.moduleNotDefined",message:n.message,properties:{moduleName:String(e),wait:t},error:n}),n}if(r.value[e])return this._registerEvent({level:Co.Debug,name:"_initialize.requireInstance.moduleAlreadyInitialized",message:`Module [${String(e)}] is already initialized, skipping queue`,properties:{moduleName:String(e),wait:t}}),Promise.resolve(r.value[e]);const i=performance.now();return this._registerEvent({level:Co.Debug,name:"_initialize.requireInstance.awaiting",message:`Awaiting module [${String(e)}] initialization, timeout ${t}s`,properties:{moduleName:String(e),wait:t}}),zi(r.pipe(io(t=>!!t[e]),Wi(t=>t[e]),function(e){var t=Hi(e)?{first:e}:"number"==typeof e?{each:e}:e,n=t.first,r=t.each,i=t.with,o=void 0===i?Vi:i,s=t.scheduler,a=void 0===s?yi:s,c=t.meta,l=void 0===c?null:c;if(null==n&&null==r)throw new TypeError("No timeout provided.");return ri(function(e,t){var i,s,c=null,u=0,f=function(e){s=$i(t,a,function(){try{i.unsubscribe(),Ri(o({meta:l,lastValue:c,seen:u})).subscribe(t)}catch(e){t.error(e)}},e)};i=e.subscribe(ii(t,function(e){null==s||s.unsubscribe(),u++,t.next(c=e),r>0&&f(r)},void 0,void 0,function(){(null==s?void 0:s.closed)||null==s||s.unsubscribe(),c=null})),!u&&f(null!=n?"number"==typeof n?n:+n-a.now():r)})}({each:1e3*t,with:()=>{return r=xr(n=()=>{const n=new _o;return this._registerEvent({level:Co.Error,name:"_initialize.requireInstance.timeout",message:`Module [${String(e)}] initialization timed out after ${t}s`,properties:{moduleName:String(e),wait:t},error:n}),n})?n:function(){return n},new ti(function(e){return e.error(r())});var n,r}}),Eo(()=>{const n=Math.round(performance.now()-i);this._registerEvent({level:Co.Debug,name:"_initialize.requireInstance.moduleResolved",message:`Module [${String(e)}] required in ${n}ms`,properties:{moduleName:String(e),wait:t,requireTime:n},metric:n})})))},s=Bi(this.modules).pipe(Xi(n=>{const r=n.name;if(!n.initialize){const e=new Error(`Module ${n.name} does not have initialize method`);throw e.name="ModuleInitializeError",this._registerEvent({level:Co.Error,name:"_initialize.moduleInitializeError",message:e.message,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"},error:e}),e}this._registerEvent({level:Co.Debug,name:"_initialize.moduleInitializing",message:`Initializing module ${n.name}`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"}});const s=performance.now();return Bi(Promise.resolve(n.initialize({ref:t,config:e[r],requireInstance:o,hasModule:i}))).pipe(Wi(e=>{e instanceof So||this._registerEvent({level:Co.Warning,name:"_initialize.providerNotBaseModuleProvider",message:`Provider for module ${n.name} does not extend BaseModuleProvider`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"}}),e.version||this._registerEvent({level:Co.Warning,name:"_initialize.providerVersionWarning",message:`Provider for module ${n.name} does not expose version`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"}});const t=Math.round(performance.now()-s);return this._registerEvent({level:Co.Debug,name:"_initialize.moduleInitialized",message:`Module ${n.name} initialized in ${t}ms`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown",providerName:typeof e,providerVersion:e.version?.toString()||"unknown",moduleInitTime:t},metric:t}),[r,e]}))})),a=performance.now();s.pipe(co([])).subscribe({next:([e,t])=>{r.next(Object.assign(r.value,{[e]:t}))},error:e=>{this._registerEvent({level:Co.Error,name:"_initialize.moduleInitializationError",message:`Failed to initialize module ${e.name||"unknown"}`,error:e}),r.error(e)},complete:()=>{const e=Math.round(performance.now()-a);return this._registerEvent({level:Co.Debug,name:"_initialize.moduleInitializationComplete",message:`All modules initialized in ${e}ms`,properties:{modules:Object.keys(r.value).join(", "),loadTime:e},metric:e}),r.complete()}});const c=performance.now(),l=await ji(r),u=Math.round(performance.now()-c);return this._registerEvent({level:Co.Debug,name:"_initialize.complete",message:`Modules instance created in ${u}ms`,properties:{modules:Object.keys(l).join(", "),initTime:u},metric:u}),Object.seal(l),l}async _postInitialize(e,t){const{modules:n,_afterInit:r}=this,i=Bi(n).pipe(io(e=>!!e.postInitialize),Eo(e=>{this._registerEvent({level:Co.Debug,name:"_postInitialize.modulePostInitializing",message:`Module ${e.name} is being post-initialized`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}})}),Xi(n=>{const r=performance.now();return Bi(n.postInitialize({ref:t,modules:e,instance:e[n.name]})).pipe(Eo(()=>{const e=Math.round(performance.now()-r);this._registerEvent({level:Co.Debug,name:"_postInitialize.modulePostInitialized",message:`Module ${n.name} has been post-initialized in ${e}ms`,metric:e,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown",postInitTime:e}})}),co(null),oo(e=>(this._registerEvent({level:Co.Warning,name:"_postInitialize.modulePostInitializeError",message:`Module ${n.name} post-initialize failed`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"},error:e}),bi)))}),co(null));this._registerEvent({level:Co.Debug,name:"_postInitialize.modulesPostInitializing",message:`Post-initializing all modules [${Object.keys(e).length}]`,properties:{modules:Object.keys(e).join(", ")}});const o=performance.now();await ji(i);const s=Math.round(performance.now()-o);if(this._registerEvent({level:Co.Debug,name:"_postInitialize.modulesPostInitializeComplete",message:`Post-initialization of all modules completed in ${s}ms`,properties:{modules:Object.keys(e).join(", "),postInitTime:s},metric:s}),r.length)try{this._registerEvent({level:Co.Debug,name:"_postInitialize.afterInitHooks",message:`Executing post-initialize hooks [${r.length}]`,properties:{hooks:r.map(e=>e.name||"anonymous").join(", ")}});const t=performance.now();await Promise.allSettled(r.map(t=>Promise.resolve(t(e))));const n=Math.round(performance.now()-t);this._registerEvent({level:Co.Debug,name:"_postInitialize.afterInitHooksComplete",message:`Post-initialize hooks completed in ${n}ms`,properties:{hooks:r.map(e=>e.name||"anonymous").join(", "),afterInitTime:n},metric:n})}catch(e){this._registerEvent({level:Co.Warning,name:"_postInitialize.afterInitHooksError",message:"Post-initialize hooks failed",properties:{hooks:r.map(e=>e.name||"anonymous").join(", ")},error:e})}const a=Math.round(performance.now()-o);this._registerEvent({level:Co.Debug,name:"_postInitialize.complete",message:"Post-initialization complete",properties:{modules:Object.keys(e).join(", "),postInitCompleteTime:a}})}async dispose(e,t){this._registerEvent({level:Co.Debug,name:"dispose",message:"Disposing modules instance",properties:{modules:Object.keys(e).join(", ")}}),await Promise.allSettled(this.modules.filter(e=>!!e.dispose).map(async n=>{if(n.dispose)try{await n.dispose({ref:t,modules:e,instance:e[n.name]}),this._registerEvent({level:Co.Debug,name:"dispose.moduleDisposed",message:`Module ${n.name} disposed successfully`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"}})}catch(e){this._registerEvent({level:Co.Warning,name:"dispose.moduleDisposeError",message:`Module ${n.name} dispose failed`,properties:{moduleName:n.name,moduleVersion:n.version?.toString()||"unknown"},error:e})}})),this.#Q.complete()}}class Do{_operators;get operators(){return this._operators}constructor(e){this._operators=e&&"operators"in e?{...e.operators}:e??{}}add(e,t){if(Object.keys(this._operators).includes(e))throw Error(`Operator [${e}] already defined`);return this.set(e,t)}set(e,t){return this._operators[e]=t,this}remove(e){return delete this._operators[e],this}get(e){return this._operators[e]}process(e){return Object.values(this._operators).length?Bi(Object.values(this._operators)).pipe((t=(e,t)=>Promise.resolve(t(e)).then(t=>t??e),n=e,r=1,ri(function(e,i){var o=n;return Yi(e,i,function(e,n){return t(o,e,n)},r,function(e){o=e},!1,void 0,function(){return o=null})})),mo()):Gi(e);var t,n,r}}class No extends Do{setHeader(e,t){const n=((e,t)=>n=>{const r=new Headers(n.headers);return r.append(e,t),{...n,headers:r}})(e,t);return this.set("header-"+e,n)}}class Oo extends Do{}const Po=U.object({attributionReporting:U.object({eventSourceEligible:U.boolean().optional(),triggerEligible:U.boolean().optional()}).optional(),body:U.union([U.string(),U.instanceof(Blob),U.instanceof(ArrayBuffer),U.instanceof(FormData),U.instanceof(URLSearchParams),U.instanceof(ReadableStream)]).optional(),browsingTopics:U.boolean().optional(),cache:U.enum(["default","no-store","reload","no-cache","force-cache","only-if-cached"]).optional(),credentials:U.enum(["omit","same-origin","include"]).optional(),headers:U.record(U.string(),U.string()).optional().or(U.instanceof(Headers)),integrity:U.string().optional(),keepalive:U.boolean().optional(),method:U.enum(["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","CONNECT","TRACE"],{message:"Invalid request method. Expected one of: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, CONNECT, TRACE. See RFC 2615 Section 9 for more information: https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html"}).optional().optional(),mode:U.enum(["same-origin","cors","no-cors","navigate","websocket"]).optional(),priority:U.enum(["low","high","auto"]).optional(),redirect:U.enum(["follow","error","manual"]).optional(),referrer:U.string().optional(),referrerPolicy:U.enum(["no-referrer","no-referrer-when-downgrade","origin","origin-when-cross-origin","same-origin","strict-origin","strict-origin-when-cross-origin","unsafe-url"]).optional(),signal:U.instanceof(AbortSignal).optional()}).extend({uri:U.string(),path:U.string().optional()}),Ao=e=>e=>{const{error:t,success:n,data:r}=U.string().optional().refine(e=>void 0===e||e===e?.toUpperCase(),{message:["Provided HTTP method must be in uppercase.","See RFC 7231 Section 4.1 for more information","https://www.rfc-editor.org/rfc/rfc7231#section-4.1"].join(" ")}).safeParse(e.method);if(e.method=n?r:e.method?.toUpperCase(),t)for(const e of t.issues)console.warn(e.message);return e},Ro=e=>e=>{const{strict:t,parse:n}={},r=t?Po:Po.passthrough();try{const t=r.parse(e);return n?t:void 0}catch(e){if(n)throw e;console.error("Invalid request options",e.message)}},To=e=>{try{return JSON.parse(e)}catch{return e}};function*$o(e,t){const n=e.split("\n\n"),r=t?.dataParser||To;for(const e of n){if(!e.trim())continue;const t=e.split("\n").reduce((e,t)=>{if(!t)return e;const n=t.indexOf(":");if(-1===n)return e;const i=t.slice(0,n).trim(),o=t.slice(n+1).trim();return"data"===i?e.data=r(o):e[i]=o,e},{});Object.keys(t).length&&(yield t)}}const xo=e=>t=>{if(!t.ok)throw new Er(`HTTP error! Status: ${t.status}`,t);if(!t.body)throw new Er("Response body is not readable",t);if(!t.headers.get("Content-Type")?.includes("text/event-stream"))throw new Er("Response is not a text/event-stream",t);const n=t.body.getReader();return Bi(async function*(e,t){const n=!!t?.skipHeartbeats,r=t?.eventFilter?Array.isArray(t.eventFilter)?t.eventFilter:[t.eventFilter]:null,i=new TextDecoder;for(;;){const{done:o,value:s}=await e.read();if(o)break;const a=$o(i.decode(s,{stream:!0}),{dataParser:t?.dataParser});for(const e of a)if(e.retry)await new Promise(t=>setTimeout(t,Number.parseInt(e.retry??"300",10)));else{if(n){if(!e.event&&!e.data&&!e.id)continue;if(e.event&&["heartbeat","ping"].includes(e.event))continue}(!r||e.event&&r.includes(e.event))&&(yield e)}}}(n,{dataParser:e?.dataParser,skipHeartbeats:e?.skipHeartbeats,eventFilter:e?.eventFilter})).pipe(yo(e?.abortSignal?to(e.abortSignal,"abort"):bi),ho(async()=>{await n.cancel().catch(()=>{}),n.releaseLock()}))};class Fo{_clients={};get clients(){return{...this._clients}}defaultHttpClientCtor;defaultHttpRequestHandler=new No({"capitalize-method":Ao(),"request-validation":Ro()});constructor(e){this.defaultHttpClientCtor=e}hasClient(e){return Object.keys(this._clients).includes(e)}configureClient(e,t){const n="string"==typeof t?{baseUri:t}:t,r="function"==typeof n?{onCreate:n}:n;return this._clients[e]={...this._clients[e],...r},this}}class Uo extends Error{}const ko=["http:","https:","ws:","wss:"];class Bo extends So{config;get defaultHttpRequestHandler(){return this.config.defaultHttpRequestHandler}constructor(e){super({version:"8.0.0",config:e}),this.config=e}hasClient(e){return Object.keys(this.config.clients).includes(e)}createClient(e){const t=this._resolveConfig(e),{baseUri:n,defaultScopes:r=[],onCreate:i,ctor:o=this.config.defaultHttpClientCtor,requestHandler:s=this.defaultHttpRequestHandler,responseHandler:a}=t,c=new o(n||"",{requestHandler:s,responseHandler:a});return Object.assign(c,{defaultScopes:r}),i?.(c),c}createCustomClient(e){return this.createClient(e)}_resolveConfig(e){if("string"==typeof e){const n=this.config.clients[e];if(!n&&(e=>{try{const t=new URL(e);return ko.includes(t.protocol)}catch{return!1}})(e))return{baseUri:e};if(!n&&!(t=e).includes(" ")&&/^[a-z\d]([a-z\d-]*\.)+[a-z]{2,}/i.test(t))return console.warn(`[HttpClientProvider] "${e}" looks like a URL but is missing the http:// or https:// protocol. Treating it as "https://${e}". Pass a fully-qualified URL to silence this warning.`),{baseUri:`https://${e}`};if(!n)throw new Uo(`No registered http client for key [${e}]`);return n}var t;return e}}function Go(e,t){void 0===t&&(t={});var n=t.selector,r=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}(t,["selector"]);return new ti(function(t){var i=new AbortController,o=i.signal,s=!0,a=r.signal;if(a)if(a.aborted)i.abort();else{var c=function(){o.aborted||i.abort()};a.addEventListener("abort",c),t.add(function(){return a.removeEventListener("abort",c)})}var l=Ir(Ir({},r),{signal:o}),u=function(e){s=!1,t.error(e)};return fetch(e,l).then(function(e){n?Ri(n(e)).subscribe(ii(t,void 0,function(){s=!1,t.complete()},u)):(s=!1,t.next(e),t.complete())}).catch(u),function(){s&&i.abort()}})}const Mo=async e=>{if(204===e.status)return Promise.resolve();try{const t=await e.json();if(!e.ok)throw new yr("network response was not OK",e,{data:t});return t}catch(t){if(t instanceof yr)throw t;throw new yr("failed to parse response",e,{cause:t})}},jo=async e=>{if(!e.ok)throw new Error("network response was not OK");if(204===e.status)throw new Error("no content");const t=e.headers.get("content-disposition")?.split(";").find(e=>e.includes("filename="))?.replace("filename=","")?.trim();try{return{filename:t,blob:await e.blob()}}catch(e){throw Error("failed to parse response")}};class zo{uri;requestHandler;responseHandler;_request$=new ai;_response$=new ai;_abort$=new ai;get request$(){return this._request$.asObservable()}get response$(){return this._response$.asObservable()}constructor(e,t){this.uri=e,this.requestHandler=new No(t?.requestHandler),this.responseHandler=new Oo(t?.responseHandler),this._init()}_init(){}fetch$(e,t){return this._fetch$(e,t)}fetch(e,t){return zi(this.fetch$(e,t))}fetchAsync(e,t){return this.fetch(e,t)}json$(e,t){const n="object"==typeof t?.body?JSON.stringify(t?.body):t?.body,r=t?.selector??Mo,i=new Headers(t?.headers);return i.append("Accept","application/json"),i.append("Content-Type","application/json"),this.fetch$(e,{...t,body:n,selector:r,headers:i})}json(e,t){return zi(this.json$(e,t))}blob$(e,t){const n=t?.selector??jo,r={...t,selector:n};return this.fetch$(e,r)}blob(e,t){return zi(this.blob$(e,t))}sse$(e,t,n){const r=new Headers(t?.headers);r.append("Accept","text/event-stream"),r.append("Content-Type","text/event-stream"),r.append("Cache-Control","no-cache"),r.append("Connection","keep-alive");const i=xo({...n,abortSignal:t?.signal});return this._fetch$(e,{selector:i,...t,headers:r})}jsonAsync(e,t){return this.json(e,t)}execute(e,t,n){return this[e](t,n)}abort(){this._abort$.next()}_fetch$(e,t){const{selector:n,...r}=t||{};return Gi({...r,path:e,uri:this._resolveUrl(e)}).pipe(vo(e=>this._prepareRequest(e)),Eo(e=>this._request$.next(e)),vo(({uri:e,path:t,...n})=>Go(e,n)),vo(e=>this._prepareResponse(e)),Eo(e=>this._response$.next(e)),vo(e=>{if(n)try{return n(e)}catch(t){throw new vr("failed to execute response selector",e,{cause:t})}return Gi(e)}),yo(this._abort$))}_prepareRequest(e){return this.requestHandler.process(e)}_prepareResponse(e){return this.responseHandler.process(e)}_resolveUrl(e){const{origin:t,pathname:n}=new URL(this.uri,this.uri.startsWith("http")?void 0:window.location.origin),r=[n,e].join("/").replace(/\/{2,}/g,"/");return new URL(r,t).href}}class Ho extends zo{defaultScopes=[];fetch$(e,t){const n={...t,scopes:this.defaultScopes.concat(t?.scopes||[])};return super._fetch$(e,n)}}const qo={name:"http",configure:()=>new Fo(Ho),initialize:async({config:e,hasModule:t,requireInstance:n})=>{const r=new Bo(e);if(t("auth")){const e=await n("auth");r.defaultHttpRequestHandler.set("MSAL",async t=>{const{scopes:n=[]}=t;if(n.length){const r=await e.acquireAccessToken({request:{scopes:n}});if(r){const e=new Headers(t.headers);return e.set("Authorization",`Bearer ${r}`),{...t,headers:e}}}})}return r}},Vo=(...e)=>t=>t.pipe(function(e,t){return xr(t)?Xi(e,t,1):Xi(e,1)}(...e)),Wo=(...e)=>t=>t.pipe(Xi(...e)),Ko=(...e)=>t=>t.pipe(vo(...e)),Zo=e=>e.pipe(Wi(e=>e.value));var Yo=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function Xo(e){if(!function(e){return"string"==typeof e&&Yo.test(e)}(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>8,255&t,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)}const Jo=[];for(let e=0;e<256;++e)Jo.push((e+256).toString(16).slice(1));function Qo(e,t=0){return(Jo[e[t+0]]+Jo[e[t+1]]+Jo[e[t+2]]+Jo[e[t+3]]+"-"+Jo[e[t+4]]+Jo[e[t+5]]+"-"+Jo[e[t+6]]+Jo[e[t+7]]+"-"+Jo[e[t+8]]+Jo[e[t+9]]+"-"+Jo[e[t+10]]+Jo[e[t+11]]+Jo[e[t+12]]+Jo[e[t+13]]+Jo[e[t+14]]+Jo[e[t+15]]).toLowerCase()}let es;const ts=new Uint8Array(16);function ns(e,t,n,r,i,o){const s="string"==typeof n?function(e){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}(n):n,a="string"==typeof r?Xo(r):r;if("string"==typeof r&&(r=Xo(r)),16!==r?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+s.length);if(c.set(a),c.set(s,a.length),c=t(c),c[6]=15&c[6]|e,c[8]=63&c[8]|128,i){o=o||0;for(let e=0;e<16;++e)i[o+e]=c[e];return i}return Qo(c)}var rs={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function is(e,t,n){const r=(e=e||{}).random??e.rng?.()??function(){if(!es){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");es=crypto.getRandomValues.bind(crypto)}return es(ts)}();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=15&r[6]|64,r[8]=63&r[8]|128,Qo(r)}function os(e,t,n){return rs.randomUUID&&!e?rs.randomUUID():is(e)}function ss(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function as(e,t){return e<<t|e>>>32-t}function cs(e){const t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],r=new Uint8Array(e.length+1);r.set(e),r[e.length]=128;const i=(e=r).length/4+2,o=Math.ceil(i/16),s=new Array(o);for(let t=0;t<o;++t){const n=new Uint32Array(16);for(let r=0;r<16;++r)n[r]=e[64*t+4*r]<<24|e[64*t+4*r+1]<<16|e[64*t+4*r+2]<<8|e[64*t+4*r+3];s[t]=n}s[o-1][14]=8*(e.length-1)/Math.pow(2,32),s[o-1][14]=Math.floor(s[o-1][14]),s[o-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<o;++e){const r=new Uint32Array(80);for(let t=0;t<16;++t)r[t]=s[e][t];for(let e=16;e<80;++e)r[e]=as(r[e-3]^r[e-8]^r[e-14]^r[e-16],1);let i=n[0],o=n[1],a=n[2],c=n[3],l=n[4];for(let e=0;e<80;++e){const n=Math.floor(e/20),s=as(i,5)+ss(n,o,a,c)+l+t[n]+r[e]>>>0;l=c,c=a,a=as(o,30)>>>0,o=i,i=s}n[0]=n[0]+i>>>0,n[1]=n[1]+o>>>0,n[2]=n[2]+a>>>0,n[3]=n[3]+c>>>0,n[4]=n[4]+l>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}function ls(e,t,n,r){return ns(80,cs,e,t,n,r)}ls.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",ls.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";class us extends Error{type;request;constructor(e,t){super(t.message,{cause:t.cause}),this.type=e,this.name="QueryClientError",this.request=t.request}}var fs=Symbol.for("immer-nothing"),ps=Symbol.for("immer-draftable"),ds=Symbol.for("immer-state"),hs="production"!==process.env.NODE_ENV?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function ms(e,...t){if("production"!==process.env.NODE_ENV){const n=hs[e],r=ks(n)?n.apply(null,t):n;throw new Error(`[Immer] ${r}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var gs=Object,vs=gs.getPrototypeOf,ys="constructor",Es="prototype",bs="configurable",ws="enumerable",Ls="writable",Cs="value",Ss=e=>!!e&&!!e[ds];function _s(e){return!!e&&(Ns(e)||$s(e)||!!e[ps]||!!e[ys]?.[ps]||xs(e)||Fs(e))}var Is=gs[Es][ys].toString(),Ds=new WeakMap;function Ns(e){if(!e||!Us(e))return!1;const t=vs(e);if(null===t||t===gs[Es])return!0;const n=gs.hasOwnProperty.call(t,ys)&&t[ys];if(n===Object)return!0;if(!ks(n))return!1;let r=Ds.get(n);return void 0===r&&(r=Function.toString.call(n),Ds.set(n,r)),r===Is}function Os(e,t,n=!0){if(0===Ps(e)){(n?Reflect.ownKeys(e):gs.keys(e)).forEach(n=>{t(n,e[n],e)})}else e.forEach((n,r)=>t(r,n,e))}function Ps(e){const t=e[ds];return t?t.type_:$s(e)?1:xs(e)?2:Fs(e)?3:0}var As=(e,t,n=Ps(e))=>2===n?e.has(t):gs[Es].hasOwnProperty.call(e,t),Rs=(e,t,n=Ps(e))=>2===n?e.get(t):e[t],Ts=(e,t,n,r=Ps(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n};var $s=Array.isArray,xs=e=>e instanceof Map,Fs=e=>e instanceof Set,Us=e=>"object"==typeof e,ks=e=>"function"==typeof e,Bs=e=>"boolean"==typeof e;var Gs=e=>e.copy_||e.base_,Ms=e=>e.modified_?e.copy_:e.base_;function js(e,t){if(xs(e))return new Map(e);if(Fs(e))return new Set(e);if($s(e))return Array[Es].slice.call(e);const n=Ns(e);if(!0===t||"class_only"===t&&!n){const t=gs.getOwnPropertyDescriptors(e);delete t[ds];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const i=n[r],o=t[i];!1===o[Ls]&&(o[Ls]=!0,o[bs]=!0),(o.get||o.set)&&(t[i]={[bs]:!0,[Ls]:!0,[ws]:o[ws],[Cs]:e[i]})}return gs.create(vs(e),t)}{const t=vs(e);if(null!==t&&n)return{...e};const r=gs.create(t);return gs.assign(r,e)}}function zs(e,t=!1){return qs(e)||Ss(e)||!_s(e)||(Ps(e)>1&&gs.defineProperties(e,{set:Hs,add:Hs,clear:Hs,delete:Hs}),gs.freeze(e),t&&Os(e,(e,t)=>{zs(t,!0)},!1)),e}var Hs={[Cs]:function(){ms(2)}};function qs(e){return null===e||!Us(e)||gs.isFrozen(e)}var Vs="MapSet",Ws="Patches",Ks="ArrayMethods",Zs={};function Ys(e){const t=Zs[e];return t||ms(0,e),t}var Xs,Js=e=>!!Zs[e],Qs=()=>Xs;function ea(e,t){t&&(e.patchPlugin_=Ys(Ws),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ta(e){na(e),e.drafts_.forEach(ia),e.drafts_=null}function na(e){e===Xs&&(Xs=e.parent_)}var ra=e=>Xs={drafts_:[],parent_:Xs,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Js(Vs)?Ys(Vs):void 0,arrayMethodsPlugin_:Js(Ks)?Ys(Ks):void 0};function ia(e){const t=e[ds];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function oa(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[ds].modified_&&(ta(t),ms(4)),_s(e)&&(e=sa(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[ds].base_,e,t)}else e=sa(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&zs(t,n)}(t,e,!0),ta(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==fs?e:void 0}function sa(e,t){if(qs(t))return t;const n=t[ds];if(!n){return pa(t,e.handledSet_,e)}if(!ca(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:t}=n;if(t)for(;t.length>0;){t.pop()(e)}fa(n,e)}return n.copy_}function aa(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var ca=(e,t)=>e.scope_===t,la=[];function ua(e,t,n,r){const i=Gs(e),o=e.type_;if(void 0!==r){if(Rs(i,r,o)===t)return void Ts(i,r,n,o)}if(!e.draftLocations_){const t=e.draftLocations_=new Map;Os(i,(e,n)=>{if(Ss(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const s=e.draftLocations_.get(t)??la;for(const e of s)Ts(i,e,n,o)}function fa(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:n}=t;if(n){const r=n.getPath(e);r&&n.generatePatches_(e,r,t)}aa(e)}}function pa(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Ss(e)||t.has(e)||!_s(e)||qs(e)||(t.add(e),Os(e,(r,i)=>{if(Ss(i)){const t=i[ds];if(ca(t,n)){const n=Ms(t);Ts(e,r,n,e.type_),aa(t)}}else _s(i)&&pa(i,t,n)})),e}var da={get(e,t){if(t===ds)return e;let n=e.scope_.arrayMethodsPlugin_;const r=1===e.type_&&"string"==typeof t;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const i=Gs(e);if(!As(i,t,e.type_))return function(e,t,n){const r=ga(t,n);return r?Cs in r?r[Cs]:r.get?.call(e.draft_):void 0}(e,i,t);const o=i[t];if(e.finalized_||!_s(o))return o;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return o;if(o===ma(e.base_,t)){ya(e);const n=1===e.type_?+t:t,r=Ea(e.scope_,o,e,n);return e.copy_[n]=r}return o},has:(e,t)=>t in Gs(e),ownKeys:e=>Reflect.ownKeys(Gs(e)),set(e,t,n){const r=ga(Gs(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=ma(Gs(e),t),s=r?.[ds];if(s&&s.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(((i=n)===(o=r)?0!==i||1/i==1/o:i!=i&&o!=o)&&(void 0!==n||As(e.base_,t,e.type_)))return!0;ya(e),va(e)}var i,o;return e.copy_[t]===n&&(void 0!==n||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),function(e,t,n){const{scope_:r}=e;if(Ss(n)){const i=n[ds];ca(i,r)&&i.callbacks_.push(function(){ya(e);const r=Ms(i);ua(e,n,r,t)})}else _s(n)&&e.callbacks_.push(function(){const i=Gs(e);3===e.type_?i.has(n)&&pa(n,r.handledSet_,r):Rs(i,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&pa(Rs(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(ya(e),void 0!==ma(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),va(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=Gs(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Ls]:!0,[bs]:1!==e.type_||"length"!==t,[ws]:r[ws],[Cs]:n[t]}:r},defineProperty(){ms(11)},getPrototypeOf:e=>vs(e.base_),setPrototypeOf(){ms(12)}},ha={};for(let e in da){let t=da[e];ha[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function ma(e,t){const n=e[ds];return(n?Gs(n):e)[t]}function ga(e,t){if(!(t in e))return;let n=vs(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=vs(n)}}function va(e){e.modified_||(e.modified_=!0,e.parent_&&va(e.parent_))}function ya(e){e.copy_||(e.assigned_=new Map,e.copy_=js(e.base_,e.scope_.immer_.useStrictShallowCopy_))}ha.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&ms(13),ha.set.call(this,e,t,void 0)},ha.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&ms(14),da.set.call(this,e[0],t,n,e[0])};function Ea(e,t,n,r){const[i,o]=xs(t)?Ys(Vs).proxyMap_(t,n):Fs(t)?Ys(Vs).proxySet_(t,n):function(e,t){const n=$s(e),r={type_:n?1:0,scope_:t?t.scope_:Qs(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,o=da;n&&(i=[r],o=ha);const{revoke:s,proxy:a}=Proxy.revocable(i,o);return r.draft_=a,r.revoke_=s,[a,r]}(t,n);return(n?.scope_??Qs()).drafts_.push(i),o.callbacks_=n?.callbacks_??[],o.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const i=t;if(!i||!ca(i,r))return;r.mapSetPlugin_?.fixSetContents(i);const o=Ms(i);ua(e,i.draft_??i,o,n),fa(i,r)})}(n,o,r):o.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(o);const{patchPlugin_:t}=e;o.modified_&&t&&t.generatePatches_(o,[],e)}),i}function ba(e){if(!_s(e)||qs(e))return e;const t=e[ds];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=js(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=js(e,!0);return Os(n,(e,t)=>{Ts(n,e,ba(t))},r),t&&(t.finalized_=!1),n}var wa=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(ks(e)&&!ks(t)){const n=t;t=e;const r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}let r;if(ks(t)||ms(6),void 0===n||ks(n)||ms(7),_s(e)){const i=ra(this),o=Ea(i,e,void 0);let s=!0;try{r=t(o),s=!1}finally{s?ta(i):na(i)}return ea(i,n),oa(r,i)}if(!e||!Us(e)){if(r=t(e),void 0===r&&(r=e),r===fs&&(r=void 0),this.autoFreeze_&&zs(r,!0),n){const t=[],i=[];Ys(Ws).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}ms(1,e)},this.produceWithPatches=(e,t)=>{if(ks(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Bs(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Bs(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Bs(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){_s(e)||ms(8),Ss(e)&&(e=function(e){Ss(e)||ms(10,e);return ba(e)}(e));const t=ra(this),n=Ea(t,e,void 0);return n[ds].isManual_=!0,na(t),n}finishDraft(e,t){const n=e&&e[ds];n&&n.isManual_||ms(9);const{scope_:r}=n;return ea(r,t),oa(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=Ys(Ws).applyPatches_;return Ss(e)?r(e,t):this.produce(e,e=>r(e,t))}},La=wa.produce;const Ca=(...e)=>io(t=>e.includes(t.type));class Sa extends ti{#ee=new ai;#te;get action$(){return this.#ee.asObservable()}get value(){return this.#te.value}get closed(){return this.#te.closed||this.#ee.closed}constructor(e,t){super(e=>this.#te.subscribe(e));const n="getInitialState"in e?e.getInitialState():t;this.#te=new li(n),this.#ee.pipe(function(e,t){return ri(so(e,t,arguments.length>=2,!0))}(e,n),lo()).subscribe(this.#te),this.reset=()=>this.#te.next(n)}reset;next(e){this.#ee.next(e)}select(e,t){return this.#te.pipe(Wi(e),lo(t))}addEffect(e,t){const n="function"==typeof e?this.action$:Array.isArray(e)?this.action$.pipe(Ca(...e)):this.action$.pipe(Ca(e)),r=t||e;return n.pipe(Xi(e=>Bi(new Promise((t,n)=>{try{t(r(e,this.value))}catch(e){n(e)}})).pipe(oo(e=>(console.warn("unhandled effect",e),bi)))),io(e=>!!e),xi(yi)).subscribe(this.#ee)}addEpic(e){return this.addFlow(e)}addFlow(e){const t=e(this.action$,this);if(!t)throw new TypeError(`addEpic: one of the provided effects "${e.name||"<anonymous>"}" does not return a stream. Double check you're not missing a return statement!`);return t.pipe(oo(e=>(console.trace("unhandled exception, epic closed!",e),bi)),xi(yi)).subscribe(this.#ee)}unsubscribe(){this.#ee.unsubscribe(),this.#te.unsubscribe()}complete(){this.#ee.complete(),this.#te.complete()}asObservable(){return this.#te.asObservable()}}function _a(e,t){function n(...n){if(t){const r=t(...n);if(!r)throw new Error("prepareAction did not return an object");return{type:e,payload:r.payload,..."meta"in r&&{meta:r.meta},..."error"in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>t.type===e,n}const Ia="::";function Da(e,t,n,r){const i=_a([e,"request"].join(Ia),t);return n&&Object.assign(i,{success:_a([e,"success"].join(Ia),n)}),r&&Object.assign(i,{failure:_a([e,"failure"].join(Ia),r)}),i}function Na(e){return _s(e)?La(e,()=>{}):e}function Oa(e,t){const[n,r,i]=function(e){const t={},n=[];let r;const i={addCase(e,o){if("production"!==process.env.NODE_ENV){if(n.length>0)throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`");if(r)throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`")}const s="string"==typeof e?e:e.type;if(s in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[s]=o,i},addMatcher(e,t){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addDefaultCase` can only be called once");return r=e,i}};return e(i),[t,n,r]}(t);let o;if("function"==typeof e)o=()=>Na(e());else{const t=Na(e);o=()=>t}function s(e,t){let s=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return i&&0===s.filter(e=>!!e).length&&(s=[i]),s.reduce((e,n)=>{if(n){if(Ss(e)){const r=n(e,t);return void 0===r?e:r}if(_s(e))return La(e,e=>n(e,t));{const r=n(e,t);if(void 0===r){if(null===e)return e;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}}return e},e??o())}return s.getInitialState=o,s}const Pa={request:_a("client/request",(e,t)=>({payload:{args:e,options:t},meta:{transaction:os(),created:Date.now()}})),execute:Da("client/execute",e=>({payload:e,meta:{transaction:e,created:Date.now()}}),e=>({payload:e,meta:{transaction:e.transaction,created:Date.now()}}),(e,t)=>({payload:{error:e},meta:{transaction:t,created:Date.now()}})),cancel:_a("client/cancel",(e,t)=>({payload:{transaction:e,reason:t},meta:{transaction:e,created:Date.now()}})),error:_a("client/error",(e,t)=>({payload:{transaction:e,error:t},meta:{transaction:e,created:Date.now()}}))},Aa=e=>e.pipe(io(Pa.request.match),Wi(e=>Pa.execute(e.meta.transaction)));class Ra extends ti{#ne=new li("idle");get status(){return this.#ne.value}get status$(){return this.#ne.asObservable()}#re;#ie;get transaction(){return this.#ie}created=Date.now();get closed(){return"complete"===this.status||"error"===this.status||"canceled"===this.status}constructor(e,t,n){super(t=>{const{transaction:r}=this,i=e.action$.pipe(io(e=>e.meta.transaction===r));t.add(e.state$.pipe(io(e=>!!e[r]),Wi(e=>e[r])).subscribe(e=>{this.#ne.next(e.status)})),t.add(i.pipe(io(Pa.execute.success.match),Wi(({payload:e})=>e)).subscribe(e=>{this.#ne.next("complete"),t.next(e),t.complete()})),t.add(i.pipe(io(Pa.error.match),Wi(({payload:e})=>e)).subscribe(e=>{this.#ne.next("error"),t.error(e.error)})),t.add(i.pipe(io(Pa.cancel.match)).subscribe(e=>{this.#ne.next("canceled"),t.error(new us("abort",{message:e.payload.reason||`job: ${r} was canceled`,request:this.#re.getRequest(e.meta.transaction)}))})),n?.signal&&t.add(to(n?.signal,"abort").pipe(Wi(()=>Pa.cancel(r,`job: ${r} was aborted on signal from caller: ${n?.ref}`))).subscribe(t=>e.next(t))),t.add(()=>{this.complete()})}),this.#re=e;const r=Pa.request(t,{ref:n?.ref,retry:n?.retry});this.#ie=r.meta.transaction,this.#re.next(r)}complete(e){this.closed||this.cancel(e??`job: ${this.transaction} was completed`)}cancel(e){const t=this.transaction;this.#re.cancel(t,e??`job: ${t} was canceled`)}[Symbol.dispose](){this.complete()}}class Ta{type;transaction;data;constructor(e,t,n){this.type=e,this.transaction=t,this.data=n}}class $a extends ti{#te;#oe;#se;_registerEvent(e,t,n){this.#se.next(new Ta(e,t,n))}get closed(){return this.#te.closed}get state$(){return this.#te.asObservable()}get action$(){return this.#te.action$}get event$(){return this.#se.asObservable()}get success$(){return this.action$.pipe(io(Pa.execute.success.match),Wi(({payload:e})=>e))}get error$(){return this.action$.pipe(Ca("client/error"),bo(this.#te),Wi(([e,t])=>{const{payload:n,meta:{transaction:r}}=e,i=t[r];return new us("error",{request:i,message:`job: ${r} failed`,cause:n})}))}constructor(e,t){super(e=>this.#te.subscribe(e)),this.#te=new Sa(((e={})=>Oa(e,e=>{e.addCase(Pa.request,(e,t)=>{e[t.meta.transaction]={...t.payload,...t.meta,execution:[],errors:[],status:"idle"}}),e.addCase(Pa.execute,(e,t)=>{const n=e[t.payload];n&&(n.execution.push(Date.now()),n.status="active")}),e.addCase(Pa.execute.success,(e,t)=>{delete e[t.payload.transaction]}),e.addCase(Pa.execute.failure,(e,t)=>{const n=e[t.meta.transaction];n&&(n.errors.push(t.payload.error),n.status="failed")}),e.addCase(Pa.error,(e,t)=>{delete e[t.meta.transaction]}),e.addCase(Pa.cancel,(e,t)=>{delete e[t.meta.transaction]})}))({})),this.#oe=new Br(()=>{this.#te.complete(),this.#se.complete()}),this.#se=new ai,this.#oe.add(this.#te.addFlow(Aa)),this.#oe.add(this.#te.addFlow((e=>(t,n)=>t.pipe(io(Pa.execute.match),bo(n),Xi(([n,r])=>{const i=n.payload,o=r[i],s=new AbortController,a=t.pipe(io(Pa.cancel.match),io(e=>e.payload.transaction===i),Eo(()=>{s.signal.aborted||s.abort()}));try{return Bi(e(o.args,s.signal)).pipe(Wi(e=>Pa.execute.success({...o,status:"complete",completed:Date.now(),value:e})),oo(e=>Gi(Pa.execute.failure(e,i))),yo(a))}catch(e){return Gi(Pa.execute.failure(e,i))}})))(e))),this.#oe.add(this.#te.addFlow((e=>(t,n)=>t.pipe(io(Pa.execute.failure.match),bo(n),Xi(([t,r])=>{const{transaction:i}=t.meta,o=r[i];if(!o)return Gi(Pa.error(i,new us("error",{message:"request not found, cannot retry request, most likely removed while scheduled for retry!"})));const s=o.execution.length,a=Object.assign({},e,o.options?.retry),c=o.errors?.slice(-1)[0]??new us("error",{message:"no errors registered for request!",request:o});if(s>a.count){const e=0===a.count?c:new us("error",{message:"maximum retries executed!",cause:o.errors,request:o});return Gi(Pa.error(i,e))}return("function"==typeof a.delay?Bi(a.delay(c)).pipe(oo(e=>Gi(Pa.error(i,new us("error",{message:"retry delay callback failed!",cause:[...o.errors??[],e],request:o}))))):ro(a.delay)).pipe(bo(n),io(([e,t])=>!!t[i]),Eo(([,e])=>{if(!e[i])throw new us("error",{message:"request not found, most likely removed while scheduled for retry",cause:o.errors,request:o})}),Wi(()=>Pa.execute(i)))})))(Object.assign({count:0,delay:0},t?.retry)))),this.#te.addEffect(Pa.request.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_requested",t,e)}),this.#te.addEffect(Pa.execute.type,({meta:{transaction:e}})=>{this._registerEvent("query_client_job_executing",e)}),this.#te.addEffect(Pa.execute.success.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_completed",t,{payload:e})}),this.#te.addEffect(Pa.execute.failure.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_failed",t,{error:n})}),this.#te.addEffect(Pa.cancel.type,({payload:{reason:e},meta:{transaction:t}})=>{this._registerEvent("query_client_job_canceled",t,{reason:e||"no reason provided"})}),this.#te.addEffect(Pa.error.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_error",t,{error:n})})}next(e){this.#te.next(e)}query(e,t){const n=new Ra(this,e,t),r=n.pipe(function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new ai}:t,r=e.resetOnError,i=void 0===r||r,o=e.resetOnComplete,s=void 0===o||o,a=e.resetOnRefCountZero,c=void 0===a||a;return function(e){var t,r,o,a=0,l=!1,u=!1,f=function(){null==r||r.unsubscribe(),r=void 0},p=function(){f(),t=o=void 0,l=u=!1},d=function(){var e=t;p(),null==e||e.unsubscribe()};return ri(function(e,h){a++,u||l||f();var m=o=null!=o?o:n();h.add(function(){0!==--a||u||l||(r=go(d,c))}),m.subscribe(h),!t&&a>0&&(t=new Yr({next:function(e){return m.next(e)},error:function(e){u=!0,f(),r=go(p,i,e),m.error(e)},complete:function(){l=!0,f(),r=go(p,s),m.complete()}}),Ri(e).subscribe(t))})(e)}}({connector:()=>new fi,resetOnRefCountZero:!1}));return Object.defineProperties(r,{transaction:{get:()=>n.transaction},created:{get:()=>n.created},status:{get:()=>n.status},closed:{get:()=>n.closed},cancel:{value:e=>n.cancel(e)},complete:{value:()=>n.complete()}}),r}async nextAsync(e,t){return zi(this.query(e,t))}getRequest(e){return this.#te.value[e]}getRequestByRef(e){return Object.values(this.#te.value).find(t=>t.ref===e)}cancelTaskByRef(e,t){const n=this.getRequestByRef(e);n?.ref&&this.cancel(n.transaction,t)}cancel(e,t){if(e)this.#te.value[e]&&(t??=`cancelation requested for job: ${e}`,this.#te.next(Pa.cancel(e,t)));else for(const e of Object.keys(this.#te.value))this.cancel(e,"all transactions requested canceled")}on(e,t){return this.#te.addEffect(Pa[e].type,e=>{t(e,this)})}complete(){this.#oe.unsubscribe()}}const xa={set:_a("cache/set",(e,t)=>({payload:{key:e,record:t}})),insert:_a("cache/insert",(e,t)=>({payload:{key:e,entry:t}})),remove:_a("cache/remove",e=>({payload:e})),invalidate:_a("cache/invalidate",(e,t)=>({payload:e,meta:{item:t}})),mutate:_a("cache/mutate",(e,t,n)=>({payload:{...t,key:e},meta:{item:n}})),trim:_a("cache/trim",e=>({payload:e}))},Fa=(e,t)=>(t.updated??0)-(e.updated??0);class Ua{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class ka{#te;#se;get state(){return this.#te.value}get state$(){return this.#te.asObservable()}get action$(){return this.#te.action$}_registerEvent(e,t){this.#se.next(new Ua(e,t?.key,t?.data))}get event$(){return this.#se.asObservable()}constructor(e){const{trimming:t,initial:n}=e??{};this.#te=new Sa(function(e,t={}){return Oa(t,t=>t.addCase(e.set,(e,t)=>{const{key:n,record:r}=t.payload;e[n]=r}).addCase(e.insert,(e,t)=>{const{key:n,entry:r}=t.payload,i=e[n];if(i)i.updated=Date.now(),i.updates??=0,i.updates++,i.value=r.value,i.transaction=r.transaction,i.mutated=void 0;else{const t=Date.now();e[n]={...r,created:t,updated:t}}}).addCase(e.remove,(e,t)=>{delete e[t.payload]}).addCase(e.invalidate,(e,t)=>{const n=t.payload?[t.payload]:Object.keys(e);for(const t of n){const n=e[t];n&&(n.updated=void 0)}}).addCase(e.mutate,(e,t)=>{const{key:n,value:r,updated:i}=t.payload,o=e[n];o&&(o.value=r,o.updated=i,o.mutated=Date.now(),o.updates??=0,o.updates++)}).addCase(e.trim,(e,t)=>{const{payload:n}=t,r=n.sort??Fa,i=Object.keys(e),o=Object.entries(e).filter(([e,t])=>!n.validate||n.validate(t)).sort((e,t)=>r(e[1],t[1])).slice(0,n.size??Number.MAX_SAFE_INTEGER).map(([e])=>e);if(i.length!==o.length)for(const t of i){const n=o.indexOf(t);-1!==n?o.splice(n,1):delete e[t]}}))}(xa,n)),t&&this.#te.addEffect("cache/set",()=>this.#te.next(xa.trim(t))),this.#se=new ai}has(e){return e in this.#te.value}setItem(e,t){const{args:n,transaction:r,value:i}=t;this.#te.next(xa.insert(e,{args:n,transaction:r,value:i})),this._registerEvent("query_cache_entry_inserted",{key:e,data:{value:i,args:n,transaction:r}})}getItem(e){return this.#te.value[e]}removeItem(e){this.#te.next(xa.remove(e)),this._registerEvent("query_cache_entry_removed",{key:e})}invalidate(e){const t=e?this.#te.value[e]:void 0;this.#te.next(xa.invalidate(e,t)),e&&this._registerEvent("query_cache_entry_invalidated",{key:e,data:{previousValue:t?.value}})}mutate(e,t){const n=e in this.#te.value?this.#te.value[e]:void 0;if(!n)throw new Error(`Cannot mutate cache item with key ${e}: item not found`);const r="function"==typeof t?t(n?.value):t;return this.#te.next(xa.mutate(e,r,n)),this._registerEvent("query_cache_entry_mutated",{key:e,data:{previousValue:n.value,newValue:r,mutation:r}}),()=>this.#te.next(xa.set(e,n))}trim(e){const t=new Set(Object.keys(this.#te.value));this.#te.next(xa.trim(e));const n=new Set(Object.keys(this.#te.value)),r=Array.from(t).filter(e=>!n.has(e));this._registerEvent("query_cache_trimmed",{data:{removedKeys:r,criteria:e}})}reset(){this.#te.reset(),this._registerEvent("query_cache_reset")}complete(){this.#te.complete(),this.#se.complete()}}class Ba extends ai{key;args;options;#ae=Date.now();get created(){return this.#ae}#ce=os();get uuid(){return this.#ce}constructor(e,t,n){super(),this.key=e,this.args=t,this.options=n}processJob(e){return e.pipe(Wi(t=>{const{key:n,uuid:r,created:i}=this;return{key:n,uuid:r,created:i,status:"complete",transaction:e.transaction,complete:t.completed,value:t.value}}),ho(()=>{e.complete()})).subscribe(this)}}class Ga{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class Ma{static extractQueryValue=Zo;#oe=new Br;#re;#le;#ue=new ai;#fe={};#pe;#de;#he=os();#Q;get client(){return this.#re}_registerEvent(e,t,n){this.#Q.next(new Ga(e,t,n))}get cache(){return this.#le}get event$(){return this.#Q.asObservable()}constructor(e){this.#Q=new ai,this.#pe=t=>ls(e.key(t),this.#he),this.#de=e?.validate??((e=0)=>t=>(t.updated??0)+e>Date.now())(e?.expire),e.client instanceof $a?this.#re=e.client:(this.#re=new $a(e.client.fn,{...e.client.options}),this.#oe.add(()=>this.#re.complete())),this.#oe.add(this.#re.event$.subscribe({next:e=>this.#Q.next(e)})),e.cache instanceof ka?this.#le=e.cache:(this.#le=new ka(e.cache||{}),this.#oe.add(()=>this.#le.complete())),this.#oe.add(this.#le.event$.subscribe({next:e=>this.#Q.next(e)}));const t=((e="switch")=>"function"==typeof e?e:(()=>{switch(e){case"concat":return Vo;case"merge":return Wo;case"switch":return Ko;default:throw new Error(`Invalid queue operator: ${e}`)}})())(e.queueOperator);var n,r;this.#oe.add(()=>this.#ue.complete()),this.#oe.add(this.#ue.pipe(Eo(e=>{this._registerEvent("query_queued",e)}),io(e=>!!(e in this.#fe)),t(e=>{const t=this.#fe[e],{args:n,options:r,uuid:i}=t;if(this._registerEvent("query_job_selected",e,{taskId:i,args:n,options:r}),!t?.observed)return this._registerEvent("query_job_skipped",e,{taskId:i,args:n,options:r}),delete this.#fe[e],bi;const o=this.#re.query(n,{...r,ref:t.uuid});return new ti(s=>{const{transaction:a}=o;var c,l;this._registerEvent("query_job_started",e,{taskId:i,transaction:a,args:n,options:r}),s.add(()=>{this._registerEvent("query_job_closed",e,{taskId:i,transaction:a,args:n,options:r}),o.complete("task closed"),delete this.#fe[e]}),s.add((c=10,void 0===l&&(l=yi),ro(c,c,l)).pipe(io(()=>!t.observed)).subscribe(()=>{o.cancel(`task: ${t.uuid} is not observed`),s.complete()})),s.add(t.processJob(o).add(()=>{this._registerEvent("query_job_completed",e,{taskId:i,transaction:a,args:n,options:r})})),o.pipe(Wi(e=>({result:e,task:t})),oo(()=>bi)).subscribe(s)})}),(n=()=>!this.#re.closed,void 0===r&&(r=!1),ri(function(e,t){var i=0;e.subscribe(ii(t,function(e){var o=n(e,i++);(o||r)&&t.next(e),!o&&t.complete()}))}))).subscribe(e=>{const{value:t,transaction:n}=e.result,{args:r,key:i,uuid:o}=e.task;this._registerEvent("query_cache_added",i,{data:t,taskId:o,args:r,transaction:n}),this._registerEvent("query_completed",i,{data:t,hasValidCache:!0}),this.#le.setItem(i,{value:t,args:r,transaction:n})}))}query(e,t){return this._query(e,t)}queryAsync(e,t){const{skipResolve:n,...r}=t||{},i=n?zi:ji;return new Promise((n,o)=>{t?.signal&&t.signal.addEventListener("abort",()=>o(new Error("Query aborted"))),i(this._query(e,r).pipe(fo())).then(n,o)})}persistentQuery(e,t){const n=this.#pe(e),r=this._query(e,t);return new ti(i=>{i.add(r.subscribe({next:i.next.bind(i),error:i.error.bind(i)}));const o=t?.cache?.validate||this.#de;i.add(this.cache.state$.pipe(io(e=>n in e),Wi(t=>({...t[n],key:n,status:"cache",hasValidCache:o(t[n],e)}))).subscribe(i))}).pipe(lo((e,t)=>e.transaction===t.transaction&&e.mutated===t.mutated))}generateCacheKey(e){return this.#pe(e)}mutate(e,t,n){const r=this.#pe(e);if(r in this.cache.state==!1){if(void 0===n?.allowCreation)throw new Error(`Cannot mutate cache item with key ${r}: item not found and option "allowCreation" is false`);if(!1===n.allowCreation)return()=>{};const{value:i}="function"==typeof t?t():t;this.cache.setItem(r,{args:e,transaction:os(),value:i})}return this.#le.mutate(r,t)}invalidate(e){this.#le.invalidate(e&&this.#pe(e))}complete(){this.#oe.unsubscribe(),this.#Q?.complete()}onInvalidate(e){const t=this.#le.action$.pipe(Ca("cache/invalidate")).subscribe(t=>e({detail:{item:t.meta.item}}));return()=>t.unsubscribe()}onMutate(e){const t=this.#le.action$.pipe(Ca("cache/mutate")).subscribe(t=>e({detail:{changes:t.payload,current:t.meta.item}}));return()=>t.unsubscribe()}_query(e,t){const n=this.#pe(e),r=this._createTask(n,e,t);return this._registerEvent("query_created",n,{args:e,options:t}),r}_createTask(e,t,n){return new ti(r=>{if(n?.signal){if(n?.signal.aborted)return this._registerEvent("query_aborted",e),r.complete();r.add(to(n?.signal,"abort").subscribe(()=>{this._registerEvent("query_aborted",e),r.complete()}))}const i=this.#le.getItem(e);if(i){this._registerEvent("query_cache_hit",e,{cacheEntry:i});const o=n?.cache?.suppressInvalid??!1,s=(n?.cache?.validate||this.#de)(i,t),a={...i,key:e,status:"cache",hasValidCache:s};if(r.next(a),s||o)return this._registerEvent("query_completed",e,{data:i.value,hasValidCache:s}),r.complete();this._registerEvent("query_cache_miss",e)}const o=e in this.#fe;o?this._registerEvent("query_connected",e,{isExistingTask:!0}):(this.#fe[e]=new Ba(e,t,n),this._registerEvent("query_job_created",e,{taskId:this.#fe[e].uuid,args:t,options:n}));const s=this.#fe[e];r.add(s.subscribe(r)),o||this.#ue.next(e)})}}const ja=F.object({key:F.string().describe("The key used to identify the service"),uri:F.string().describe("The URI of the service"),id:F.string().optional().describe("The ID of the service"),environment:F.string().optional().describe("The environment of the service"),name:F.string().optional().describe("The name of the service"),scopes:F.array(F.string()).optional().default([]).describe("Endpoint authentication scopes"),tags:F.array(F.string()).optional().describe("Tags for the service")}).describe("A service from the service discovery API").transform(e=>({...e,get defaultScopes(){return e.scopes??[]}})),za=F.array(ja).describe("A list of services from the service discovery API");class Ha{#me;endpoint;http;constructor(e){this.http=e.http,this.endpoint=e.endpoint;const t=e.postProcess;this.#me=new Ma({client:{fn:()=>this.http.fetch$(this.endpoint??"",{selector:e=>((e,t)=>{const n=Bi(Mo(e)).pipe(Wi(e=>za.default([]).parse(e)));return t?n.pipe(t):n})(e,t)})},key:()=>"services",expire:3e5})}resolveServices(e){return(e?zi:ji)(Ma.extractQueryValue(this.#me.query()))}async resolveService(e,t){const n=(await this.resolveServices(t)).find(t=>t.key===e);if(!n)throw Error(`Failed to resolve service, invalid key [${e}]`);return n}}class qa extends Lo{async _createConfig(e,t){if(!e.hasModule("http"))throw new Error("http module is required");if(!this._has("discoveryClient")){(await e.requireInstance("http")).hasClient("service_discovery")&&this.configureServiceDiscoveryClientByClientKey("service_discovery")}return ji(Bi(super._createConfig(e,t)))}_processConfig(e,t){if(!e.discoveryClient)throw new Error("discoveryClient is required, please configure it");return super._processConfig(e,t)}setServiceDiscoveryClient(e){this._set("discoveryClient","function"==typeof e?e:async()=>e)}configureServiceDiscoveryClient(e){this.setServiceDiscoveryClient(async t=>{const{httpClient:n,endpoint:r}=await ji(Bi(e(t)))??{};if(n)return new Ha({http:n,endpoint:r,postProcess:Wi(e=>{const t="undefined"!=typeof globalThis?globalThis.sessionStorage:void 0;if(!t)return e;try{const n=JSON.parse(t.getItem("overriddenServiceDiscoveryUrls")||"{}");for(const[t,{url:r,scopes:i}]of Object.entries(n)){const n=e.find(e=>e.key===t);n&&(n.uri=r,n.scopes=i,n.overridden=!0)}}catch(e){console.error('Failed to JSON parse session overrides: "overriddenServiceDiscoveryUrls"',e)}return e})});throw Error("httpClient is required")})}configureServiceDiscoveryClientByClientKey(e,t){this.configureServiceDiscoveryClient(async({requireInstance:n})=>({httpClient:(await n("http")).createClient(e),endpoint:t}))}}class Va extends So{config;_http;constructor(e,t){super({version:"10.0.0",config:e}),this.config=e,this._http=t}resolveServices(){return this.config.discoveryClient.resolveServices()}async resolveService(e){return this.config.discoveryClient.resolveService(e)}async createClient(e,t){const n=await this.resolveService(e);if(!n)throw Error(`Could not load configuration of service [${e}]`);return this._http.createClient({...t,baseUri:n.uri,defaultScopes:n.scopes})}async configureClient(e,t){const{key:n,alias:r}="string"==typeof e?{key:e,alias:e}:e,{uri:i,scopes:o}=await this.resolveService(n);var s,a;t.addConfig((s=r,a={baseUri:i,defaultScopes:o},{module:qo,configure:e=>{e.configureClient(s,a)}}))}}const Wa={name:"serviceDiscovery",configure:()=>new qa,initialize:async e=>{const{requireInstance:t,ref:n}=e,r=await e.config.createConfigAsync(e,{...n?.serviceDiscovery?.config}),i=await t("http");return new Va(r,i)}},Ka=(e,t)=>{e.addConfig((e=>({module:Wa,configure:t=>e(t)}))(()=>Promise.resolve()))};var Za,Ya,Xa,Ja={},Qa=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE",pr:{env:"AC_GIT_PR",ne:"false"}},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN",pr:{env:"CODEBUILD_WEBHOOK_EVENT",any:["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{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:"Cloudflare Pages",constant:"CLOUDFLARE_PAGES",env:"CF_PAGES"},{name:"Cloudflare Workers",constant:"CLOUDFLARE_WORKERS",env:"WORKERS_CI"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{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:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{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:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{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:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{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:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}];function ec(){return Za||(Za=1,function(e){const t=Qa,n=process.env;function r(e){return"string"==typeof e?!!n[e]:"env"in e?n[e.env]&&n[e.env].includes(e.includes):"any"in e?e.any.some(function(e){return!!n[e]}):Object.keys(e).every(function(t){return n[t]===e[t]})}Object.defineProperty(e,"_vendors",{value:t.map(function(e){return e.constant})}),e.name=null,e.isPR=null,e.id=null,"false"!==n.CI&&t.forEach(function(t){const i=(Array.isArray(t.env)?t.env:[t.env]).every(function(e){return r(e)});e[t.constant]=i,i&&(e.name=t.name,e.isPR=function(e){switch(typeof e.pr){case"string":return!!n[e.pr];case"object":return"env"in e.pr?"any"in e.pr?e.pr.any.some(function(t){return n[e.pr.env]===t}):e.pr.env in n&&n[e.pr.env]!==e.pr.ne:"any"in e.pr?e.pr.any.some(function(e){return!!n[e]}):r(e.pr);default:return null}}(t),e.id=t.constant)}),e.isCI=!("false"===n.CI||!(n.BUILD_ID||n.BUILD_NUMBER||n.CI||n.CI_APP_ID||n.CI_BUILD_ID||n.CI_BUILD_NUMBER||n.CI_NAME||n.CONTINUOUS_INTEGRATION||n.RUN_ID||e.name))}(Ja)),Ja}var tc=V(Xa?Ya:(Xa=1,Ya=ec().isCI));const nc=["5a842df8-3238-415d-b168-9f16a6a6031b/.default"];var rc;!function(e){e.ContinuesIntegration="ci",e.QualityAssurance="fqa",e.Training="tr",e.Production="fprd",e.Development="dev"}(rc||(rc={}));const ic=e=>e&&!tc?rc.Development:rc.ContinuesIntegration,oc=e=>{const t=new Io,n=e.env??rc.ContinuesIntegration;return t.addConfig({module:qo,configure:t=>{const r=n===rc.Development?rc.ContinuesIntegration:n,i=e.serviceDiscovery?.url??new URL(`/service-registry/environments/${r}/services`,"https://discovery.fusion.equinor.com").toString(),o=e.serviceDiscovery?.scope??nc;t.configureClient("service_discovery",{baseUri:i,defaultScopes:o})}}),Ka(t),q(t,t=>{const{auth:n}=e;if("token"in n&&n.token){const{token:e}=n;return t.setMode("token_only"),void t.setAccessToken(e)}const{clientId:r,tenantId:i,interactive:o}=n;if(!r||!i)throw new Error("clientId and tenantId are required for auth module");if(t.setClientConfig(i,r),t.setMode(o?"interactive":"silent"),o){const{server:e}=n;if(!e.port)throw new Error("server.port is required for interactive mode");t.setServerPort(e.port),t.setServerOnOpen(e.onOpen)}}),t},sc=async e=>{const t=oc(e);return await t.initialize()},ac=e=>{const t=e.getEntry("metadata.json");if(!t)throw new Error("Metadata file not found in bundle");return new Promise((e,n)=>{t.getDataAsync((t,r)=>{if(r)return n(new Error("Failed to read metadata file",{cause:r}));try{return e(JSON.parse(String(t)))}catch(e){n(new Error("Failed to parse metadata file",{cause:e}))}})})},cc=async e=>{const{log:t,bundle:n}=e;let r;if(n)try{t?.info("ðïļ","Using artifact-based validation from bundle:",n);const e=new Zn(n),i=await(async e=>{const t=await ac(e);if(!t.appKey||"string"!=typeof t.appKey||""===t.appKey.trim())throw new Error("App manifest is missing required appKey field");return t})(e);r=i.appKey,t?.info("ðĶ",`Resolved app key "${r}" from bundle artifact`)}catch(e){return t?.fail("ðŦ","Failed to resolve app information from bundle:",e instanceof Error?e.message:String(e)),!1}else{t?.info("ð","Using traditional validation from local project files");const e=await rn(t);r=(await nn({command:"build",mode:"production"},e,{log:t})).appKey}t?.start("Initializing Fusion Framework...");const i=await sc({env:e.environment,auth:"token"in e.auth?{token:e.auth.token}:e.auth});t?.succeed("Initialized Fusion Framework");try{const e=await i.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)}),t?.info("Checking if",r,"is registered in app store");const n=await e.fetch(`/apps/${r}`,{method:"HEAD",headers:or});if(n.ok)return t?.succeed("ð",`Application ${r} is registered in app store`),!0;if(404===n.status)return t?.fail("ð",`Application ${r} is not registered in app store`),!1;if(410===n.status)return t?.fail("ð",`Application ${r} is deleted from app store`),!1;const o=lr(n.status,`check registration for ${r}`);throw o&&(t?.fail("ð",`Authentication/authorization error checking ${r}`),t?.error(o),process.exit(1)),new Error(`Unexpected response status: ${n.status}`)}catch(e){const n=ur(e,`check registration for ${r}`);return n&&(t?.fail("ð",`Token acquisition failed checking ${r}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Error checking application registration"),t?.error("Error checking application registration:",e instanceof Error?e.message:e),!1}};const lc=async e=>{const{log:t,framework:n}=e,i="string"==typeof e.fileOrBundle?new Zn(e.fileOrBundle):e.fileOrBundle,{appKey:o}=e.appKey?{appKey:e.appKey}:await ac(i).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)});t?.info("ðĶ",`Uploading application bundle for ${r.bold(o)}`),t?.debug("Bundle contents:",(await i.getEntries()).map(e=>e.entryName));const s=await i.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const e=await n.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)});const i=await e.fetch(`/bundles/apps/${o}`,{method:"POST",body:new Blob([s],{type:"application/zip"}),headers:{...or,"Content-Type":"application/zip"}});if(!i.ok){try{const{error:e}=await i.json();t?.debug("Error:",e),e.message&&t?.warn(r.red(`ðĪŊ error: ${e.code}\n`),r.yellowBright(e.message),"\n")}catch(e){t?.debug("Error:",i.statusText)}!function(e,t,n){const r=lr(e.status,`upload bundle for ${t}`);let i;switch(r&&(n?.fail("ð",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion app store`;break;case 404:i=`${e.status} - ${t} not found, please add your application in App Admin before publishing`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("ð
ââïļ",i),process.exit(1)}(i,o,t)}t?.succeed("Successfully uploaded application bundle"),t?.debug("Response:",i);try{return{appKey:o,version:(await i.json()).version}}catch(e){t?.fail("ð
ââïļ",`Failed to parse response from app service: ${e instanceof Error?e.message:e}`),process.exit(1)}}catch(e){const n=ur(e,`upload bundle for ${o}`);n&&(t?.fail("ð",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Failed to upload application bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},uc=async e=>{const{tag:t,appKey:n,version:i,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("ðĪŠ","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("ðĪŠ",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("ðĪŠ","Application key is required."),process.exit(1)),i||(s?.fail("ðĪŠ","Version is required."),process.exit(1));try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("ð","Executing request to:",en(e.uri))}),s?.start("Publishing application config");const a=await e.json(`/apps/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:or});return s?.debug("Response:",a),s?.succeed("Tagged application successfully",r.greenBright(`${n}@${i} - ${t}`)),a}catch(e){if(e instanceof yr)switch(e.response.status){case 410:s?.fail("ðĪŽ",`App ${n} is deleted from apps-service. Please check the app key and try again.`);break;case 404:s?.fail("ðĪŽ",`App ${n} not found. Please check the app key and try again.`);break;case 403:case 401:{const t=lr(e.response.status,`tag ${n}@${i}`);s?.fail("ð","Authentication/authorization error tagging application."),t&&s?.error(t),process.exit(1);break}default:s?.fail("ðĪŽ","Failed to tag application",`Status code: ${e.response.status}`,`Error: ${e.message}`)}const t=ur(e,`tag ${n}@${i}`);t&&(s?.fail("ð",`Token acquisition failed tagging ${n}@${i}`),s?.error(t),process.exit(1)),s?.fail("ðĪŽ","Failed to tag application:",e instanceof Error?e.message:String(e)),process.exit(1)}},fc=U.object({templateEntry:U.string({message:"templateEntry must be a string"}).describe("Main entry point for the portal"),schemaEntry:U.string({message:"schemaEntry must be a string"}).describe("Schema file for portal validation"),assetPath:U.string({message:"assetPath must be a string"}).optional().describe("Asset path for dev/preview builds"),githubRepo:U.string({message:"githubRepo must be a string"}).optional().describe("GitHub repo URL or local git remote"),version:U.string({message:"version must be a string"}).describe("Version from package.json"),timestamp:U.string({message:"timestamp must be a string"}).describe("Current build timestamp (ISO8601)"),commitSha:U.string({message:"commitSha must be a string"}).describe("Current git commit SHA"),annotations:U.record(U.string(),U.string().nullish()).optional().transform(e=>{if(e)return Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e))}).describe("Optional build annotations"),projectPage:U.string({message:"projectPage must be a string"}).optional().describe("Optional project homepage"),allowedExtensions:U.array(U.string({message:"Each allowed extension must be a string"}),{message:"allowedExtensions must be an array of strings"}).describe("List of allowed asset extensions (with leading dot)"),schema:U.record(U.string(),U.unknown()).optional().describe("Optional schema for the portal"),config:U.record(U.string(),U.unknown()).optional().describe("Optional configuration for the portal")}),pc=U.object({name:U.string({message:"name must be a string"}).describe("Short app key (unscoped, derived from package name)"),displayName:U.string({message:"displayName must be a string"}).optional().describe("Full package name, may include scope"),description:U.string({message:"description must be a string"}).optional().describe("Description of the portal"),build:fc}),dc=(e,t)=>{$t(t,"expected packageJson"),A(t.name,"expected [name] in packageJson"),A(t.version,"expected [version] in packageJson");const n=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/bundle.js":lt(e.root))(e,t),r=t.name.replace(/^@|\w.*\//gm,""),i=t.version,o="build"===e.command?void 0:"/@fs",s=xt(t)??Ft(),a={name:r,displayName:t.name,description:t.description||"",build:{templateEntry:n,schemaEntry:"portal.schema.json",assetPath:o,githubRepo:s,version:i,timestamp:(new Date).toISOString(),commitSha:Ut(),annotations:{...Mt()},projectPage:t.homepage,allowedExtensions:jt.map(e=>`.${e}`)}},c=pc.safeParse(a);if(!c.success){const e=c.error.issues.map(e=>`- ${e.path.join(".")}: ${e.message}`).join("\n");throw new Error(["Invalid portal manifest generated from package.json:",e].join("\n"))}return c.data},hc=async(e,t,n)=>{const i=dc(e,t.packageJson);try{n?.log?.start("loading manifest...");const t=await(async(e,t)=>{const n=t?.file??[`portal.manifest.${e.environment}`,"portal.manifest"],r=await D(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};let i;return i="function"==typeof n.default?await n.default(e,{base:r})??void 0:n.default,i?O(r,i):r}}}),i=r.config,o=pc.safeParse(i);if(!o.success)throw new Error(`Invalid portal manifest: ${o.error.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join("; ")}`);return{manifest:i,path:r.path,extension:r.extension}})(e,{base:i});return n?.log?.succeed("generated manifest from",en(t.path,{relative:!0})),t.manifest}catch(e){if(e instanceof N){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${en(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(r.dim("no local manifest config applied, using default generated from package")),i}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?en(n?.manifestPath):""}`),e}},mc=async(e,t)=>{const{log:n}=t;try{n?.start("create portal configuration"),n?.info(`generating config with ${r.red.dim(e.command)} command in ${r.green.dim(e.mode)} mode`);const i=await((e,t)=>{const n=t?.file??[`portal.config.${e.environment}`,"portal.config"];return D(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.schema??F.object({}).passthrough(),i=t?.base??{};if("function"==typeof n.default){const t=await n.default(i,e)??i;return r.parse(t)}return r.parse(n.default??i)}}})})(e,{file:t?.config});return n?.succeed("âïļ generated config from ",en(i.path,{relative:!0})),i.config}catch(e){if(e instanceof N){if(!t.config)return n?.succeed(r.dim("âïļ no local portal config applied, using built-in")),{};n?.warn(`failed to load config file ${en(t.config)}, please check the path.`)}throw n?.fail("failed to resolve portal config"),n?.debug(e),e}},gc=async e=>{const{log:n}=e??{},r=await rn(n),i={root:r.root,environment:"local",...e?.env,mode:"development",command:"serve"},o=await hc(i,r,{log:n,manifestPath:e?.manifest}),s=await mc(i,{log:n,config:e?.config}),a=t(await Tt(i,r),{server:{port:e?.server?.port,fs:{allow:[r.root]}}}),c={template:{portal:{id:o.name}},portal:{manifest:o,config:s}};n?.debug("vite config:",a),n?.debug("dev server config:",c),n?.start("Starting app development server...");const l=await rr(i,c,{overrides:a,log:n});return await l.listen(),n?.succeed(`Started app development server on ${l.resolvedUrls?.local?.[0]}`),l},vc=async e=>{const{log:t}=e??{},n=await rn(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await hc(r,n,{log:t,manifestPath:e?.manifest});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},yc=async e=>{const{log:t}=e??{};t?.log(r.bold("Starting to build portal"));const{manifest:i,pkg:o,env:s}=await vc({log:t,manifest:e?.manifest});t?.start("loading vite config...");const a=await Tt(s,o);t?.succeed("vite config applied"),t?.debug("vite config:",a),t?.start("ðĪðŧ","building portal..."),t?.startNativeConsoleCapture(),await n(a),t?.stopNativeConsoleCapture(),t?.succeed("build completed ð");return{pkg:o,manifest:i,outDir:a.build.outDir}},Ec=async e=>{const{log:t,manifest:n}=e,r={command:"build",mode:process.env.NODE_ENV??"production",environment:null,root:process.cwd()},{pkg:i,manifest:o}=await yc({log:t,manifest:n});if(!o.build)throw new Error("Manifest build config not found");const s=await(async(e,t)=>{const n=t?.file??[`portal.schema.${e.environment}`,"portal.schema"],r=await D(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async t=>{const n="function"==typeof t.default?await Promise.resolve(t.default(e)):t.default;if(!n)throw new Error("Schema function did not return a valid schema");return n}}});return{schema:r.config,path:r.path,extension:r.extension}})(r,{file:e?.schema});t?.debug("Schema:",s);return{archive:await dr(i,{log:t,archive:e?.archive,content:{"portal-template-manifest.json":JSON.stringify(o.build,null,2),"portal.schema.json":JSON.stringify(s.schema,null,2),"metadata.json":JSON.stringify({name:o.name,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o,schema:s.schema}},bc=async e=>{const{log:t}=e??{},n=await rn(t),r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env},i=await mc(r,{log:t,config:e?.config});if(t?.debug("config:",i),e?.output){t?.start("writing config to file");try{await fr(e.output,JSON.stringify(i,null,2)),t?.succeed("config written successfully",en(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:i,pkg:n}},wc=async e=>{const{log:t,portal:n}=e,{config:i}=await bc({log:t,config:e.config,env:{environment:e.environment}});t?.start("Initializing Fusion Framework...");const o=await sc({env:e.environment,auth:e.auth});t?.succeed("Initialized Fusion Framework");try{const s=await o.serviceDiscovery.createClient("portals");s.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("ð","Executing request to:",en(e.uri))}),t?.start("Publishing portal config"),t?.info("Using environment:",r.redBright(e.environment));const a=await s.json(`/portals/${n.name}@${n.version}/config`,{method:"PUT",body:i,headers:or});t?.debug("Response:",a),t?.succeed("Published portal config")}catch(e){if(e instanceof yr)switch(e.response.status){case 410:t?.fail("ðĪŽ",`Portal ${n.name} is deleted from portals-service. Please check the portal key and try again.`);break;case 404:t?.fail("ðĪŽ",`Portal ${n.name} not found. Please check the portal key and try again.`);break;case 403:case 401:{const r=lr(e.response.status,`publish config for portal ${n.name}`);t?.fail("ð","Authentication/authorization error publishing portal config."),r&&t?.error(r),process.exit(1);break}default:t?.fail("ðĪŽ","Failed to publish portal config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const r=ur(e,`publish config for portal ${n.name}`);r&&(t?.fail("ð",`Token acquisition failed publishing config for ${n.name}`),t?.error(r),process.exit(1)),t?.fail("ðĪŽ","Failed to publish portal config:",e instanceof Error?e.message:String(e)),process.exit(1)}};const Lc=async e=>{const{log:t,framework:n}=e,i="string"==typeof e.fileOrBundle?new Zn(e.fileOrBundle):e.fileOrBundle,{name:o}=e.name?{name:e.name}:await ac(i).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)}),s=await i.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const e=await n.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)});const i=await e.fetch(`/bundles/templates/${o}`,{method:"POST",body:new Blob([s],{type:"application/zip"}),headers:{...or,"Content-Type":"application/zip"}});if(!i.ok){try{const{error:e}=await i.json();t?.debug("Error:",e),e.message&&t?.warn(r.red(`ðĪŊ error: ${e.code}\n`),r.yellowBright(e.message),"\n")}catch(e){t?.debug("Error:",i.statusText)}!function(e,t,n){const r=lr(e.status,`upload portal bundle for ${t}`);let i;switch(r&&(n?.fail("ð",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion`;break;case 404:i=`${e.status} - ${t} not found`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("ð
ââïļ",i),process.exit(1)}(i,o,t)}t?.succeed("Successfully uploaded portal bundle"),t?.debug("Response:",i)}catch(e){const n=ur(e,`upload portal bundle for ${o}`);n&&(t?.fail("ð",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Failed to upload portal bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},Cc=async e=>{const{tag:t,name:n,version:i,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("ðĪŠ","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("ðĪŠ",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("ðĪŠ","Portal name is required."),process.exit(1)),i||(s?.fail("ðĪŠ","Version is required."),process.exit(1)),s?.info("Tagging portal:",r.greenBright(`${n}@${t}`,i));try{const e=await o.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("ð","Executing request to:",en(e.uri))}),s?.start("Tagging portal template...");const r=await e.json(`/templates/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:or});s?.debug("Response:",r),s?.succeed("Tagged portal template successfully"),s?.info("ð",JSON.stringify(r))}catch(e){if(e instanceof yr){const{data:t,response:o}=e;switch(s?.debug("Error:",t),t&&s?.warn(r.red(`ðĪŊ error: ${t.code}\n`),r.yellowBright(t.message),"\n"),o?.status){case 410:s?.fail(`ðĪŽ - ${o?.status} -`,`${n} is deleted. Please check the name and try again.`);break;case 404:s?.fail(`ðĪŽ - ${o?.status} -`,`${n} not found. Please check the name and try again.`);break;case 403:case 401:{const e=lr(o?.status??401,`tag portal ${n}@${i}`);s?.fail("ð","Authentication/authorization error tagging portal."),e&&s?.error(e),process.exit(1);break}default:s?.fail(`ðĪŽ - ${o?.status} -`,"Failed to tag",`Error: ${e.message}`)}}const t=ur(e,`tag portal ${n}@${i}`);t&&(s?.fail("ð",`Token acquisition failed tagging ${n}@${i}`),s?.error(t),process.exit(1)),s?.fail("ðĪŽ","Failed to tag portal:",e instanceof Error?e.message:String(e)),process.exit(1)}};export{er as ConsoleLogger,rc as FusionEnv,sn as buildApplication,yc as buildPortal,hr as bundleApp,Ec as bundlePortal,cc as checkApp,oc as configureFramework,gr as generateApplicationConfig,bc as generatePortalConfig,sc as initializeFramework,on as loadAppManifest,vc as loadPortalManifest,dr as pack,br as publishAppConfig,wc as publishPortalConfig,ic as resolveDefaultEnv,Lr as serveApplication,wr as startAppDevServer,gc as startPortalDevServer,uc as tagApplication,Cc as tagPortal,lc as uploadApplication,Lc as uploadPortalBundle};
|