@equinor/fusion-framework-cli 15.0.5 â 15.0.6
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 +7 -0
- package/bin/build/bin.mjs +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +6 -6
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"node:diagnostics_channel";import m from"url";import g from"node:module";import v from"util";import y,{accessSync as E,constants as b,readFileSync as w,statSync as L,existsSync as S,mkdirSync as C,writeFileSync as _}from"node:fs";import{stat as I,mkdir as D}from"node:fs/promises";import{importConfig as N,FileNotFoundError as O}from"@equinor/fusion-imports";import P from"deepmerge";import{rawImportsPlugin as A}from"@equinor/fusion-framework-vite-plugin-raw-imports";import x from"node:assert";import{execSync as $}from"node:child_process";import{coerce as T,SemVer as R,satisfies as F}from"semver";import U,{z as k}from"zod";import B from"fs";import G from"path";import M from"zlib";import j from"crypto";import z from"ora";import{createDevServer as H,processServices as q}from"@equinor/fusion-framework-dev-server";import{enableAzureIdentityAuth as V}from"@equinor/fusion-framework-module-azure-identity";function W(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var K,Z,Y,X;function J(){if(Z)return K;Z=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 K=e}function Q(){if(X)return Y;X=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return Y={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 ee,te,ne,re,ie,oe,se,ae,ce,le,ue,fe,pe,de={exports:{}};function he(){return ee||(ee=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=Q(),o=J(),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*$")}(de,de.exports)),de.exports}function me(){if(se)return oe;se=1;const e=J(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=Q(),{safeRe:r,t:i}=he(),o=function(){if(ne)return te;ne=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return te=n=>n?"object"!=typeof n?e:n:t}(),{compareIdentifiers:s}=function(){if(ie)return re;ie=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 re={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 oe=a}function ge(){if(ce)return ae;ce=1;const e=me();return ae=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(e){if(!r)return null;throw e}},ae}var ve,ye,Ee,be,we,Le,Se,Ce,_e,Ie,De=["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"],Ne=["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"],Oe=["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 Pe(){if(ye)return ve;ye=1;var e=[].concat(De).concat(Ne),t=Oe;return ve=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 Ae(){return be?Ee:(be=1,Ee=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 xe(){if(Le)return we;Le=1;var e=Pe(),t=Ae();return we=function(n){return t(e(n))}}function $e(){if(Ie)return _e;Ie=1;var e=xe(),t=function(){if(Ce)return Se;Ce=1;var e=xe(),t=De;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 Se=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 _e=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,Re,Fe,Ue,ke,Be,Ge,Me,je,ze,He,qe={};function Ve(){if(Te)return qe;Te=1;var e,t,n=(e=e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.tracing=e.metrics=void 0;var t=h;e.metrics=(0,t.channel)("lru-cache:metrics"),e.tracing=(0,t.tracingChannel)("lru-cache")},()=>(t||e((t={exports:{}}).exports,t),t.exports));Object.defineProperty(qe,"__esModule",{value:!0}),qe.LRUCache=void 0;var r=n(),i=()=>r.metrics.hasSubscribers||r.tracing.hasSubscribers,o="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date,s=new Set,a="object"==typeof process&&process?process:{},c=e=>!!e&&e===Math.floor(e)&&e>0&&isFinite(e),l=e=>c(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(e){super(e),this.fill(0)}},f=class e{heap;length;static#e=!1;static create(t){let n=l(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]}},p=class e{#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;#S;#C;#_;#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.#x(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(t){let{max:n=0,ttl:r,ttlResolution:i=1,ttlAutopurge:u,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:S,memoMethod:C,noDeleteOnFetchRejection:_,noDeleteOnStaleGet:I,allowStaleOnFetchRejection:D,allowStaleOnFetchAbort:N,ignoreFetchAbort:O,perf:P}=t;if(void 0!==P&&"function"!=typeof P?.now)throw new TypeError("perf option must have a now() method if specified");if(this.#a=P??o,0!==n&&!c(n))throw new TypeError("max option must be a nonnegative integer");let A=n?l(n):Array;if(!A)throw new Error("invalid max value: "+n);if(this.#e=n,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!==C&&"function"!=typeof C)throw new TypeError("memoMethod must be a function if defined");if(this.#s=C,void 0!==S&&"function"!=typeof S)throw new TypeError("fetchMethod must be a function if specified");if(this.#o=S,this.#C=!!S,this.#u=new Map,this.#f=Array.from({length:n}).fill(void 0),this.#p=Array.from({length:n}).fill(void 0),this.#d=new A(n),this.#h=new A(n),this.#m=0,this.#g=0,this.#v=f.create(n),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.#S=!!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&&!c(this.#t))throw new TypeError("maxSize must be a positive integer if specified");if(!c(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#$()}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!I,this.updateAgeOnGet=!!p,this.updateAgeOnHas=!!d,this.ttlResolution=c(i)||0===i?i:1,this.ttlAutopurge=!!u,this.ttl=r||0,this.ttl){if(!c(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#T()}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 t="LRU_CACHE_UNBOUNDED";(e=>!s.has(e))(t)&&(s.add(t),((e,t,n,r)=>{"function"==typeof a.emitWarning?a.emitWarning(e,t,n,r):console.error(`[${n}] ${t}: ${e}`)})("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",t,e))}}getRemainingTTL(e){return this.#u.has(e)?1/0:0}#T(){let e=new u(this.#e),t=new u(this.#e);this.#w=e,this.#b=t;let n=this.ttlAutopurge?Array.from({length:this.#e}):void 0;this.#L=n,this.#R=(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.#x(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.#x=n=>{let r=t[n],s=e[n];return!!s&&!!r&&(i||o())-r>s}}#F=()=>{};#k=()=>{};#R=()=>{};#x=()=>!1;#$(){let e=new u(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(!c(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),!c(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.#x(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.#x(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.#H(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.#x(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.#q(t,n.value,n)}}set(e,t,n={}){let{status:i=(r.metrics.hasSubscribers?{}:void 0)}=n;n.status=i,i&&(i.op="set",i.key=e,void 0!==t&&(i.value=t));let o=this.#q(e,t,n);return i&&r.metrics.hasSubscribers&&r.metrics.publish(i),o}#q(e,t,n={}){let{ttl:r=this.ttl,start:i,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:s=this.sizeCalculation,status:a}=n;if(void 0===t)return a&&(a.set="deleted"),this.delete(e),this;let{noUpdateTTL:c=this.noUpdateTTL}=n;a&&!this.#D(t)&&(a.value=t);let l=this.#G(e,t,n.size||0,s,a);if(this.maxEntrySize&&l>this.maxEntrySize)return this.#U(e,"set"),a&&(a.set="miss",a.maxEntrySizeExceeded=!0),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.#C&&this.#D(n)){n.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:t}=n;void 0!==t&&!o&&(this.#S&&this.#n?.(t,e,"set"),this.#_&&this.#y?.push([t,e,"set"]))}else o||(this.#S&&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.#T(),this.#w&&(c||this.#R(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.#C&&this.#D(r)?r.__abortController.abort(new Error("evicted")):(this.#S||this.#_)&&(this.#S&&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{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="has",n.key=e);let i=this.#V(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),i}#V(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.#x(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{status:n=(i()?{}:void 0)}=t;n&&(n.op="peek",n.key=e),t.status=n;let o=this.#W(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),o}#W(e,t){let{status:n,allowStale:r=this.allowStale}=t,i=this.#u.get(e);if(void 0===i||!r&&this.#x(i))return void(n&&(n.peek=void 0===i?"miss":"stale"));let o=this.#p[i],s=this.#D(o)?o.__staleWhileFetching:o;return n&&(void 0!==s?(n.peek="hit",n.value=s):n.peek="miss"),s}#N(e,t,n,r){let i=void 0===t?void 0:this.#p[t];if(this.#D(i))return i;let o=new AbortController,{signal:s}=n;s?.addEventListener("abort",()=>o.abort(s.reason),{signal:o.signal});let a={signal:o.signal,options:n,context:r},c=(r,i=!1)=>{let{aborted:s}=o.signal,c=n.ignoreFetchAbort&&void 0!==r,f=n.ignoreFetchAbort||!(!n.allowStaleOnFetchAbort||void 0===r);if(n.status&&(s&&!i?(n.status.fetchAborted=!0,n.status.fetchError=o.signal.reason,c&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),s&&!c&&!i)return l(o.signal.reason,f);let p=u,d=this.#p[t];return(d===u||void 0===d&&c&&i)&&(void 0===r?void 0!==p.__staleWhileFetching?this.#p[t]=p.__staleWhileFetching:this.#U(e,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.#q(e,r,a.options))),r},l=(r,i)=>{let{aborted:s}=o.signal,a=s&&n.allowStaleOnFetchAbort,c=a||n.allowStaleOnFetchRejection,l=c||n.noDeleteOnFetchRejection,f=u;if(this.#p[t]===u&&(!l||!i&&void 0===f.__staleWhileFetching?this.#U(e,"fetch"):a||(this.#p[t]=f.__staleWhileFetching)),c)return n.status&&void 0!==f.__staleWhileFetching&&(n.status.returnedStale=!0),f.__staleWhileFetching;if(f.__returned===f)throw r};n.status&&(n.status.fetchDispatched=!0);let u=new Promise((t,r)=>{let s=this.#o?.(e,i,a);s&&s instanceof Promise&&s.then(e=>t(void 0===e?void 0:e),r),o.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(t(void 0),n.allowStaleOnFetchAbort&&(t=e=>c(e,!0)))})}).then(c,e=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=e),l(e,!1))),f=Object.assign(u,{__abortController:o,__staleWhileFetching:i,__returned:void 0});return void 0===t?(this.#q(e,f,{...a.options,status:void 0}),t=this.#u.get(e)):this.#p[t]=f,f}#D(e){if(!this.#C)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof AbortController}fetch(e,t={}){let n=r.tracing.hasSubscribers,{status:o=(i()?{}:void 0)}=t;t.status=o,o&&t.context&&(o.context=t.context);let s=this.#K(e,t);return o&&i()&&n&&(o.trace=!0,r.tracing.tracePromise(()=>s,o).catch(()=>{})),s}async#K(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(g&&(g.op="fetch",g.key=e,m&&(g.forceRefresh=!0)),!this.#C)return g&&(g.fetch="get"),this.#H(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.#x(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}}forceFetch(e,t={}){let n=r.tracing.hasSubscribers,{status:o=(i()?{}:void 0)}=t;t.status=o,o&&t.context&&(o.context=t.context);let s=this.#Z(e,t);return o&&i()&&n&&(o.trace=!0,r.tracing.tracePromise(()=>s,o).catch(()=>{})),s}async#Z(e,t={}){let n=await this.#K(e,t);if(void 0===n)throw new Error("fetch() returned undefined");return n}memo(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="memo",n.key=e,t.context&&(n.context=t.context));let i=this.#Y(e,t);return n&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n),i}#Y(e,t={}){let n=this.#s;if(!n)throw new Error("no memoMethod provided to constructor");let{context:r,status:i,forceRefresh:o,...s}=t;i&&o&&(i.forceRefresh=!0);let a=this.#H(e,s),c=o||void 0===a;if(i&&(i.memo=c?"miss":"hit",c||(i.value=a)),!c)return a;let l=n(e,a,{options:s,context:r});return i&&(i.value=l),this.#q(e,l,s),l}get(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="get",n.key=e);let i=this.#H(e,t);return n&&(void 0!==i&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n)),i}#H(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)return void(o&&(o.get="miss"));let a=this.#p[s],c=this.#D(a);return o&&this.#k(o,s),this.#x(s)?c?(o&&(o.get="stale-fetching"),n&&void 0!==a.__staleWhileFetching?(o&&(o.returnedStale=!0),a.__staleWhileFetching):void 0):(i||this.#U(e,"expire"),o&&(o.get="stale"),n?(o&&(o.returnedStale=!0),a):void 0):(o&&(o.get=c?"fetching":"hit"),this.#O(s),r&&this.#F(s),c?a.__staleWhileFetching:a)}#X(e,t){this.#h[t]=e,this.#d[e]=t}#O(e){e!==this.#g&&(e===this.#m?this.#m=this.#d[e]:this.#X(this.#h[e],this.#d[e]),this.#X(this.#g,e),this.#g=e)}delete(e){return this.#U(e,"delete")}#U(e,t){r.metrics.hasSubscribers&&r.metrics.publish({op:"delete",delete:t,key:e});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.#J(t);else{this.#B(r);let n=this.#p[r];if(this.#D(n)?n.__abortController.abort(new Error("deleted")):(this.#S||this.#_)&&(this.#S&&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.#J("delete")}#J(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.#S&&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 qe.LRUCache=p,qe}function We(){if(ke)return Ue;ke=1;const e=m,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 Ue=(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 Ke(){if(Ge)return Be;Ge=1;const e=We();return Be=(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 Ze(){if(je)return Me;je=1;const{LRUCache:e}=Ve(),t=function(){if(Fe)return Re;Fe=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 Re=i}(),n=Ke(),r=We(),i=new e({max:1e3});class o{constructor(e,t,n,r,i,s,a={}){Object.assign(this,o.#Q[e],{type:e,user:t,auth:n,project:r,committish:i,default:s,opts:a})}static#Q={byShortcut:{},byDomain:{}};static#ee={"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.#Q[e]=t,o.#Q.byDomain[t.domain]=e,o.#Q.byShortcut[`${e}:`]=e,o.#ee[`${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.#Q,protocols:o.#ee});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)}#te(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.#te(this.sshtemplate,e)}sshurl(e){return this.#te(this.sshurltemplate,e)}browse(e,...t){return"string"!=typeof e?this.#te(this.browsetemplate,e):"string"!=typeof t[0]?this.#te(this.browsetreetemplate,{...t[0],path:e}):this.#te(this.browsetreetemplate,{...t[1],fragment:t[0],path:e})}browseFile(e,...t){return"string"!=typeof t[0]?this.#te(this.browseblobtemplate,{...t[0],path:e}):this.#te(this.browseblobtemplate,{...t[1],fragment:t[0],path:e})}docs(e){return this.#te(this.docstemplate,e)}bugs(e){return this.#te(this.bugstemplate,e)}https(e){return this.#te(this.httpstemplate,e)}git(e){return this.#te(this.gittemplate,e)}shortcut(e){return this.#te(this.shortcuttemplate,e)}path(e){return this.#te(this.pathtemplate,e)}tarball(e){return this.#te(this.tarballtemplate,{...e,noCommittish:!1})}file(e,t){return this.#te(this.filetemplate,{...t,path:e})}edit(e,t){return this.#te(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 Me=o}var Ye,Xe,Je={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 Qe(){if(Xe)return Ye;Xe=1;var{URL:e}=p,t=function(){if(ue)return le;ue=1;const e=ge();return le=(t,n)=>{const r=e(t,n);return r?r.version:null},le}(),n=function(){if(pe)return fe;pe=1;const e=ge();return fe=(t,n)=>{const r=e(t.trim().replace(/^[=v]+/,""),n);return r?r.version:null},fe}(),r=$e(),i=Ze(),{isBuiltin:o}=g,s=["dependencies","devDependencies","optionalDependencies"],a=He?ze:(He=1,ze=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=Je,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 Ye={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")}},Ye}var et,tt,nt,rt,it={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 ot(){if(tt)return et;tt=1;var e=v,t=it;function n(n,r,i){return i&&(n=i+"['"+n+"']",r=i+"['"+r+"']"),e.format(t.typo,n,r)}return et=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)},et}var st=function(){if(rt)return nt;rt=1,nt=r;var e=Qe();r.fixer=e;var t=ot(),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"]),nt}(),at=W(st);const ct=(e,t)=>{try{return E(e,b.F_OK),!0}catch(e){return!1}},lt=["index.ts","index.tsx","main.ts","main.tsx"],ut=(e,t,n)=>{const r=a(e??process.cwd(),"src"),i=lt,o=i.map(e=>a(r,e)).find(e=>ct(e));if(!o)throw new Error(`Unable to resolve entry point, ensure ${i.join(", ")} exists in ${r}`);return o},ft=(e,t)=>P(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])]}}),pt=/import\s*{\s*[^}]*\b(route|index|layout|prefix)\b[^}]*}\s*from\s*['"]@equinor\/fusion-framework-react-router(?:\/routes)?['"]/g,dt=/\b(route|index|layout|prefix)\s*\(/g,ht=/import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)/g,mt=/\b(index|layout)\s*\(\s*['"]([^'"]+)['"]\s*\)/g,gt=/\blayout\s*\(\s*import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)\s*,\s*[^)]+\s*\)/g,vt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*[^)]+\s*\)/g,yt=/\broute\s*\(\s*[^,]+,\s*['"]([^'"]+)['"]\s*\)/g,Et=/\bindex\s*\(\s*['"]([^'"]+)['"]\s*\)/g,bt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*\)\s*(?!,)/g,wt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*/g,Lt=/\broute\s*\(\s*([^,]+)\s*,\s*['"]([^'"]+)['"]\s*\)/g,St=/\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,_t=/export\s+const\s+\w+\s*=\s*/g,It=/^import\s+.*?;$/gm,Dt=/export\s+default|export\s*{\s*default\s*}/,Nt=e=>new RegExp(`\\bexport\\s+(const|function|class|async\\s+function)\\s+${e}\\b`),Ot=e=>new RegExp(`export\\s*{\\s*[^}]*${e}[^}]*}\\s*from`);function Pt(e,t,n){const r=new Set;try{const i=function(e,t){const n=o.resolve(t,e);if(y.existsSync(n))return n;const r=[".tsx",".ts",".jsx",".js"];for(const e of r){const t=n+e;if(y.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=y.readFileSync(i,"utf-8");s.match(Dt)&&r.add("default");const a=["clientLoader","action","handle","ErrorElement","HydrateFallback"];for(const e of a)(s.match(Nt(e))||s.match(Ot(e)))&&r.add(e)}catch(t){n&&console.warn(`[fusion:react-router] Error reading file ${e}:`,t)}return r}function At(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 xt(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 $t=(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(pt))return null;if(!e.match(dt))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=ht.exec(e);for(;null!==r;)n(r[1]),r=ht.exec(e);for(r=mt.exec(e);null!==r;)n(r[2]),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);for(r=yt.exec(e);null!==r;)n(r[1]),r=yt.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=Pt(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(ht,'"$1"'),c=c.replace(Et,(e,t)=>{const n=s.get(t);if(!n)return e;return`{\n index: true,\n ${At(n)}\n }`}),c=c.replace(bt,(e,t)=>{const n=s.get(t);if(!n)return e;return`{\n ${At(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=xt(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,wt,/\blayout\s*\(/,(e,t,n)=>{if(!n)return null;return`{\n ${At(n)},\n children: ${t}\n }`},s),c=c.replace(Lt,(e,t,n)=>{const r=s.get(n);if(!r)return e;return`{\n path: ${t},\n ${At(r)}\n }`}),c=function(e){let t=e,n=!0;for(;n;){n=!1;let e=St.exec(t);for(;null!==e;){const r=e.index,i=e[1],o=e.index+e[0].length-1,s=xt(t,o,"[","]");if(null===s){e=St.exec(t);continue}const a=t.slice(o+1,s);if(/\bprefix\s*\(/.test(a)){e=St.exec(t);continue}const c=t.indexOf(")",s);if(-1===c){e=St.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=_t.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=xt(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}`,_t.lastIndex=0,n=_t.exec(t);continue}}}n=_t.exec(t)}return t}(c),c=function(e,t){const n=e.match(It);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=ut(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(),$t({debug:!0}),A({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 Rt(e,t){x("object"==typeof e,t)}const Ft=e=>{if(e.repository)return"string"==typeof e.repository?e.repository:e.repository.url},Ut=()=>{try{return $("git remote get-url origin").toString().trim().replace("git@github.com:","https://github.com/").replace(/\.git$/,"")}catch(e){return}},kt=(e="HEAD")=>{try{return $(`git rev-parse ${e}`).toString().trim()}catch(e){return}},Bt=()=>{try{return $("git branch --show-current").toString().trim()||void 0}catch{return}},Gt="15.0.5",Mt=e=>{if(e?.startsWith("refs/heads/"))return e.slice(11)||void 0},jt=()=>{const e={cliVersion:Gt,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=w(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:Mt(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:Bt()}},zt=["png","jpg","jpeg","gif","svg","ico","webp","mp4","webm","mp3","woff2","woff","eot","ttf","otf","pdf","md","txt"];const Ht=(e,t,n)=>{Rt(t,"expected packageJson"),x(t.name,"expected [name] in packageJson"),x(t.version,"expected [version] in packageJson");const r=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/app-bundle.js":ut(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=Ft(t)??Ut();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:kt(),annotations:jt(),projectPage:t.homepage,allowedExtensions:zt.map(e=>`.${e}`)}}},qt=(e,t)=>P(e,t),Vt=k.object({environment:k.record(k.string(),k.any()).describe("Key-value map of environment-specific variables for the application. Defaults to an empty object if not provided.").optional().default({}),endpoints:k.record(k.string(),k.object({url:k.string({message:"The endpoint URL. This field is required."}),scopes:k.array(k.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."),Wt=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],Kt=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],Zt=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],Yt=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Xt=(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},Jt=e=>{if("number"==typeof e)return Math.log10(e);const t=e.toString(10);return t.length+Math.log10(`0.${t.slice(0,15)}`)},Qt=(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 en(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?Yt:Zt:t.binary?Kt:Wt,r=t.space?t.nonBreakingSpace?" ":" ":"",i="number"==typeof e?0===e:0n===e;if(t.signed&&i){return Qt(` 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+Xt(e,t.locale,a)+r+n[0]}else{const i=Math.min(Math.floor(t.binary?("number"==typeof(l=e)?Math.log(l):Jt(l)*Math.log(10))/Math.log(1024):Jt(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+Xt(Number(e),t.locale,a)+r+n[i]}var l;return Qt(c,t.fixedWidth)}const tn=(e,t)=>r.blueBright(t?.relative?`./${u(t?.cwd??process.cwd(),e)}`:e),nn=e=>"string"==typeof e?nn(L(e).size):r.yellowBright(en(e)),rn=async(e,t,n)=>{const i=Ht(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 N(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 qt(r,t??{})}return qt(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",tn(r,{relative:!0})),t}catch(e){if(e instanceof O){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${tn(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?tn(n?.manifestPath):""}`),e}};async function on(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 at(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 sn=async e=>{const{log:t}=e??{},n=await on(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 rn(r,n,{log:t,manifestPath:e?.manifest,snapshot:e?.snapshot});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},an=async e=>{const{log:t,snapshot:i}=e??{};t?.log(r.bold("Starting to build application"));const{manifest:o,pkg:s,env:a}=await sn({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 cn,ln,un={exports:{}};function fn(){return ln?cn:(ln=1,cn={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 pn,dn,hn,mn,gn,vn,yn,En,bn={};function wn(){return pn||(pn=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])}(bn)),bn}function Ln(){return En||(En=1,un.exports=function(){if(hn)return dn;hn=1;const e=B,t=G,n=fn(),r=wn(),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 dn=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,dn}(),un.exports.Constants=fn(),un.exports.Errors=wn(),un.exports.FileAttr=function(){if(gn)return mn;gn=1;const e=G;return mn=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")}}},mn}(),un.exports.decoder=yn?vn:(yn=1,vn={efs:!0,encode:e=>Buffer.from(e,"utf8"),decode:e=>e.toString("utf8")})),un.exports}var Sn,Cn,_n,In,Dn,Nn={};function On(){if(Cn)return Sn;Cn=1;var e=Ln(),t=e.Constants;return Sn=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 Pn(){return Dn||(Dn=1,Nn.EntryHeader=On(),Nn.MainHeader=function(){if(In)return _n;In=1;var e=Ln(),t=e.Constants;return _n=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")}}}}()),Nn}var An,xn,$n,Tn,Rn,Fn,Un,kn,Bn,Gn,Mn,jn,zn,Hn={};function qn(){if(Fn)return Rn;Fn=1;const{randomFillSync:e}=j,t=wn(),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 Vn(){return Un||(Un=1,Hn.Deflater=xn?An:(xn=1,An=function(e){var t=M,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)}}}),Hn.Inflater=function(){if(Tn)return $n;Tn=1;const e=+(process.versions?process.versions.node:"").split(".")[0]||0;return $n=function(t,n){var r=M;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)}}}}(),Hn.ZipCrypto=qn()),Hn}function Wn(){if(Bn)return kn;Bn=1;var e=Ln(),t=Pn(),n=e.Constants,r=Vn();return kn=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")}}},kn}function Kn(){if(Mn)return Gn;Mn=1;const e=Wn(),t=Pn(),n=Ln();return Gn=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)}}}},Gn}var Zn=function(){if(zn)return jn;zn=1;const e=Ln(),t=G,n=Wn(),r=Kn(),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 jn=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()}}},jn}(),Yn=W(Zn);class Xn{#ne;get ora(){return this.#ne}set attachConsole(e){e?(console.log=this.info.bind(this),console.info=this.info.bind(this)):console=er}static Global(e){return Jn=new Xn(e),Jn}static Clone(e){const{prefixText:t}=e||Jn;return new Xn({prefixText:t})}static get Current(){return Jn}static set Current(e){Jn=e}constructor(e){this.#ne=z(e)}get prefixText(){return this.#ne.prefixText}info(...e){this.#ne.info(Qn(e))}succeed(...e){this.#ne.succeed(Qn(e))}start(...e){this.#ne.start(Qn(e))}fail(...e){this.#ne.fail(Qn(e))}warn(...e){this.#ne.warn(Qn(e))}clear(){this.#ne.clear()}stop(){this.#ne.stop()}stopAndPersist(...e){this.#ne.stopAndPersist(...e)}}let Jn=new Xn;const Qn=e=>e.length?e.join(" "):void 0,er=console;class tr{spinner;debugMode;constructor(e,t){this.spinner=new Xn({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 nr=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}),rr=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:"/@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"]},{url:"/@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}=q(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},ir=async(e,t,n)=>{const{overrides:r,log:i}=n??{},o=rr(t);i?.debug("\nBase dev server config:",nr(o)),i?.debug("\nCreating dev server with overrides:",r);try{const{path:t,config:n}=await(async(e,t,n)=>N("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 ft(t,r??{})}}}))(e,o);i?.debug(`\nLoaded dev server config from ${t}`),i?.debug("\nLoaded dev server config:",nr(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 H(n,a)}catch(e){return i?.warn("\nFailed to load dev server config:",e instanceof Error?e.message:String(e)),H(o,r)}},or="fusion-framework-cli",sr={"X-Fusion-CLI-Name":or,"X-Fusion-CLI-Version":Gt,"User-Agent":`${or}/${Gt}`},ar="https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md",cr="https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/application.md";function lr(){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 ur(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=lr();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(ar)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(cr)}`,""),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=lr();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(ar)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(cr)}`,""),t.join("\n")}(t);default:return}}function fr(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 ur(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=lr();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(ar)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(cr)}`,""),l.join("\n")}const pr=(e,t,n)=>{const r=s(String(e));S(r)||C(r,{recursive:!0}),_(e,t,n)},dr=["package.json","LICENSE.md","README.md","CHANGELOG.md"],hr=async(e,t)=>{const{archive:n,log:i}=t??{},o=s(e.path),c=t?.buildDir??"dist",l=a(o,c);if(!(await I(l)).isDirectory())throw new Error(`Build directory ${c} does not exist`);i?.log(r.bold("Starting to pack bundle"));const u=new Yn;if(u.addLocalFolder(l,c),t?.content)for(const[e,n]of Object.entries(t.content))u.addFile(e,Buffer.from(n)),i?.info("ð",tn(e,{relative:!0}));i?.info("ð",tn(l,{relative:!0}));for(const t of dr.concat(e.packageJson.files??[])){const e=a(o,t),n=s(e.replace(o,""));ct(e)?(u.addLocalFile(e,n),i?.info("ð",tn(e,{relative:!0}))):i?.warn(r.dim("ð",tn(e,{relative:!0})))}return n&&(ct(s(n))||await D(s(n),{recursive:!0}),i?.start("compressing content"),await u.writeZipPromise(n),i?.succeed("ð",tn(n,{relative:!0}),nn(n))),u},mr=async e=>{const{log:t,manifest:n,snapshot:r}=e;process.env.NODE_ENV,process.cwd();const{pkg:i,manifest:o}=await an({log:t,manifest:n,snapshot:r});if(!o.build)throw new Error("Manifest build config not found");return{archive:await hr(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}},gr=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 N(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 Vt.parse(t??r)}return Vt.parse(n.default??r)}}})})(e,{file:t?.config});return n?.succeed("âïļ generated config from ",tn(i.path,{relative:!0})),i.config}catch(e){if(e instanceof O){if(!t.config)return n?.succeed(r.dim("âïļ no local application config applied, using built-in")),{environment:{},endpoints:{}};n?.warn(`failed to load config file ${tn(t.config)}, please check the path.`)}throw n?.fail("failed to resolve application config"),n?.debug(e),e}},vr=async e=>{const{log:t}=e??{};let n;try{t?.start("resolve project package"),n=await on(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 gr(o,{log:t,config:e?.config});if(t?.debug("config:",s),e?.output){t?.start("writing config to file");try{await pr(e.output,JSON.stringify(s,null,2)),t?.succeed("config written successfully",tn(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:s,pkg:n}};class yr extends Error{response;static Name="HttpResponseError";constructor(e,t,n){super(e,n),this.response=t}}class Er extends yr{static Name="HttpJsonResponseError";data;constructor(e,t,n){super(e,t,n),this.name=Er.Name,this.data=n?.data}}class br extends yr{static Name="ServerSentEventResponseError";constructor(e,t,n){super(e,t,n),this.name=br.Name}}const wr=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:",tn(e.uri))}),t?.start("Publishing application config");const s=await e.json(`/apps/${r}/builds/${i}/config`,{method:"PUT",body:n,headers:sr});t?.debug("Response:",s),t?.succeed("Published application config")}catch(e){if(e instanceof Er)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=ur(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=fr(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)}},Lr=async e=>{const{log:n}=e??{},r="@equinor/fusion-framework-dev-portal",i=await on(n),o={root:i.root,environment:"local",...e?.env,mode:"development",command:"serve"},a=await rn(o,i,{log:n,manifestPath:e?.manifest}),c=await gr(o,{log:n,config:e?.config});let l,u;const p=d(import.meta.resolve(r));ct(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 ir(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},Sr=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 on(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 rn(m,l,{log:n,manifestPath:e?.manifest}),v=await gr(m,{log:n,config:e?.config});if(n?.debug("Output directory:",h),!S(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));ct(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),L=E?[l.root,E,h]:[l.root,h];n?.debug(`File system access allowed for: \n${L.join("\n")}\n`);const C=t(w,{server:{port:i,host:o||w.server?.host||"localhost",fs:{allow:L}}}),_={template:{portal:{id:c}},app:{manifest:g,config:v}};y&&(_.portal={manifest:{name:c,build:{templateEntry:y,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",C),n?.debug("dev server config:",_),n?.start("Starting preview server with dev-portal...");try{const e=await ir(m,_,{overrides:C,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 R{satisfies(e){return F(this,e)}}var _r=function(e,t){return _r=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])},_r(e,t)};function Ir(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}_r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Dr=function(){return Dr=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},Dr.apply(this,arguments)};function Nr(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 Or(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 Pr(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 Ar(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 xr(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 $r(e){return this instanceof $r?(this.v=e,this):new $r(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 $r?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=Pr(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 Fr(e){return"function"==typeof e}function Ur(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 kr=Ur(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 Br(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var Gr=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=Pr(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(Fr(c))try{c()}catch(e){i=e instanceof kr?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=Pr(l),f=u.next();!f.done;f=u.next()){var p=f.value;try{zr(p)}catch(e){i=null!=i?i:[],e instanceof kr?i=xr(xr([],Ar(i)),Ar(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 kr(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)zr(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)&&Br(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&Br(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=((t=new e).closed=!0,t),e}(),Mr=Gr.EMPTY;function jr(e){return e instanceof Gr||e&&"closed"in e&&Fr(e.remove)&&Fr(e.add)&&Fr(e.unsubscribe)}function zr(e){Fr(e)?e():e.unsubscribe()}var Hr={Promise:void 0},qr=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,xr([e,t],Ar(n)))};function Vr(e){qr(function(){throw e})}function Wr(){}function Kr(e){e()}var Zr=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,jr(t)&&t.add(n)):n.destination=Qr,n}return Ir(t,e),t.create=function(e,t,n){return new Xr(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}(Gr),Yr=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){Jr(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){Jr(e)}else Jr(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){Jr(e)}},e}(),Xr=function(e){function t(t,n,r){var i,o=e.call(this)||this;return i=Fr(t)||!t?{next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:t,o.destination=new Yr(i),o}return Ir(t,e),t}(Zr);function Jr(e){Vr(e)}var Qr={closed:!0,next:Wr,error:function(e){throw e},complete:Wr},ei="function"==typeof Symbol&&Symbol.observable||"@@observable";function ti(e){return e}var ni=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 Zr||function(e){return e&&Fr(e.next)&&Fr(e.error)&&Fr(e.complete)}(r)&&jr(r)?e:new Xr(e,t,n);return Kr(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=ri(t))(function(t,r){var i=new Xr({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[ei]=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?ti: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=ri(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 ri(e){var t;return null!==(t=null!=e?e:Hr.Promise)&&void 0!==t?t:Promise}function ii(e){return function(t){if(function(e){return Fr(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 oi(e,t,n,r,i){return new si(e,t,n,r,i)}var si=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 Ir(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}(Zr),ai=Ur(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),ci=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 Ir(t,e),t.prototype.lift=function(e){var t=new li(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new ai},t.prototype.next=function(e){var t=this;Kr(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=Pr(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;Kr(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;Kr(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?Mr:(this.currentObservers=null,o.push(e),new Gr(function(){t.currentObservers=null,Br(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 ni;return e.source=this,e},t.create=function(e,t){return new li(e,t)},t}(ni),li=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return Ir(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:Mr},t}(ci),ui=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return Ir(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}(ci),fi={now:function(){return(fi.delegate||Date).now()},delegate:void 0},pi=function(e){function t(t,n,r){void 0===t&&(t=1/0),void 0===n&&(n=1/0),void 0===r&&(r=fi);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 Ir(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}(ci),di=function(e){function t(t,n){return e.call(this)||this}return Ir(t,e),t.prototype.schedule=function(e,t){return this},t}(Gr),hi=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,xr([e,t],Ar(n)))},mi=function(e){return clearInterval(e)},gi=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 Ir(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),hi(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&&mi(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,Br(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(di),vi=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=fi.now,e}(),yi=function(e){function t(t,n){void 0===n&&(n=vi.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return Ir(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}(vi),Ei=new yi(gi),bi=Ei,wi=new ni(function(e){return e.complete()});function Li(e){return e&&Fr(e.schedule)}function Si(e){return e[e.length-1]}var Ci=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function _i(e){return Fr(null==e?void 0:e.then)}function Ii(e){return Fr(e[ei])}function Di(e){return Symbol.asyncIterator&&Fr(null==e?void 0:e[Symbol.asyncIterator])}function Ni(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 Oi="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function Pi(e){return Fr(null==e?void 0:e[Oi])}function Ai(e){return Tr(this,arguments,function(){var t,n,r;return Or(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,$r(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,$r(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,$r(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 xi(e){return Fr(null==e?void 0:e.getReader)}function $i(e){if(e instanceof ni)return e;if(null!=e){if(Ii(e))return i=e,new ni(function(e){var t=i[ei]();if(Fr(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(Ci(e))return r=e,new ni(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()});if(_i(e))return n=e,new ni(function(e){n.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,Vr)});if(Di(e))return Ti(e);if(Pi(e))return t=e,new ni(function(e){var n,r;try{for(var i=Pr(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(xi(e))return Ti(Ai(e))}var t,n,r,i;throw Ni(e)}function Ti(e){return new ni(function(t){(function(e,t){var n,r,i,o;return Nr(this,void 0,void 0,function(){var s,a;return Or(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 Fi(e,t){return void 0===t&&(t=0),ii(function(n,r){n.subscribe(oi(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 Ui(e,t){return void 0===t&&(t=0),ii(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function ki(e,t){if(!e)throw new Error("Iterable cannot be null");return new ni(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 Bi(e,t){if(null!=e){if(Ii(e))return function(e,t){return $i(e).pipe(Ui(t),Fi(t))}(e,t);if(Ci(e))return function(e,t){return new ni(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(_i(e))return function(e,t){return $i(e).pipe(Ui(t),Fi(t))}(e,t);if(Di(e))return ki(e,t);if(Pi(e))return function(e,t){return new ni(function(n){var r;return Ri(n,t,function(){r=e[Oi](),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 Fr(null==r?void 0:r.return)&&r.return()}})}(e,t);if(xi(e))return function(e,t){return ki(Ai(e),t)}(e,t)}throw Ni(e)}function Gi(e,t){return t?Bi(e,t):$i(e)}function Mi(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=function(e){return Li(Si(e))?e.pop():void 0}(e);return Gi(e,n)}var ji=Ur(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function zi(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 ji)}})})}function Hi(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o=new Xr({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new ji)}});e.subscribe(o)})}function qi(e){return e instanceof Date&&!isNaN(e)}var Vi=Ur(function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function Wi(e){throw new Vi(e)}function Ki(e,t){return ii(function(n,r){var i=0;n.subscribe(oi(r,function(n){r.next(e.call(t,n,i++))}))})}var Zi=Array.isArray;function Yi(e){return Ki(function(t){return function(e,t){return Zi(t)?e.apply(void 0,xr([],Ar(t))):e(t)}(e,t)})}function Xi(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;$i(n(e,u++)).subscribe(oi(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(oi(t,d,function(){f=!0,p()})),function(){null==a||a()}}function Ji(e,t,n){return void 0===n&&(n=1/0),Fr(t)?Ji(function(n,r){return Ki(function(e,i){return t(n,e,r,i)})($i(e(n,r)))},n):("number"==typeof t&&(n=t),ii(function(t,r){return Xi(t,r,e,n)}))}var Qi=["addListener","removeListener"],eo=["addEventListener","removeEventListener"],to=["on","off"];function no(e,t,n,r){if(Fr(n)&&(r=n,n=void 0),r)return no(e,t,n).pipe(Yi(r));var i=Ar(function(e){return Fr(e.addEventListener)&&Fr(e.removeEventListener)}(e)?eo.map(function(r){return function(i){return e[r](t,i,n)}}):function(e){return Fr(e.addListener)&&Fr(e.removeListener)}(e)?Qi.map(ro(e,t)):function(e){return Fr(e.on)&&Fr(e.off)}(e)?to.map(ro(e,t)):[],2),o=i[0],s=i[1];if(!o&&Ci(e))return Ji(function(e){return no(e,t,n)})($i(e));if(!o)throw new TypeError("Invalid event target");return new ni(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 ro(e,t){return function(n){return function(r){return e[n](t,r)}}}function io(e,t,n){void 0===e&&(e=0),void 0===n&&(n=bi);var r=-1;return null!=t&&(Li(t)?n=t:r=t),new ni(function(t){var i=qi(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 oo(e,t){return ii(function(n,r){var i=0;n.subscribe(oi(r,function(n){return e.call(t,n,i++)&&r.next(n)}))})}function so(e){return ii(function(t,n){var r,i=null,o=!1;i=t.subscribe(oi(n,void 0,void 0,function(s){r=$i(e(s,so(e)(t))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(n))})}function ao(e,t,n,r,i){return function(o,s){var a=n,c=t,l=0;o.subscribe(oi(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 co(e,t){return ii(ao(e,t,arguments.length>=2,!1,!0))}function lo(e){return ii(function(t,n){var r=!1;t.subscribe(oi(n,function(e){r=!0,n.next(e)},function(){r||n.next(e),n.complete()}))})}function uo(e,t){return void 0===t&&(t=ti),e=null!=e?e:fo,ii(function(n,r){var i,o=!0;n.subscribe(oi(r,function(n){var s=t(n);!o&&e(i,s)||(o=!1,i=s,r.next(n))}))})}function fo(e,t){return e===t}function po(e){return void 0===e&&(e=ho),ii(function(t,n){var r=!1;t.subscribe(oi(n,function(e){r=!0,n.next(e)},function(){return r?n.complete():n.error(e())}))})}function ho(){return new ji}function mo(e){return ii(function(t,n){try{t.subscribe(n)}finally{n.add(e)}})}function go(e,t){var n=arguments.length>=2;return function(e){return e.pipe(ti,(r=1)<=0?function(){return wi}:ii(function(e,t){var n=[];e.subscribe(oi(t,function(e){n.push(e),r<n.length&&n.shift()},function(){var e,r;try{for(var i=Pr(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?lo(t):po(function(){return new ji}));var r}}function vo(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 Xr({next:function(){i.unsubscribe(),e()}});return $i(t.apply(void 0,xr([],Ar(n)))).subscribe(i)}}else e()}function yo(e,t){return ii(function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(oi(r,function(n){null==i||i.unsubscribe();var s=0,c=o++;$i(e(n,c)).subscribe(i=oi(r,function(e){return r.next(t?t(n,e,c,s++):e)},function(){i=null,a()}))},function(){s=!0,a()}))})}function Eo(e){return ii(function(t,n){$i(e).subscribe(oi(n,function(){return n.complete()},Wr)),!n.closed&&t.subscribe(n)})}function bo(e,t,n){var r=Fr(e)||t||n?{next:e,error:t,complete:n}:e;return r?ii(function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;e.subscribe(oi(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)}))}):ti}function wo(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n,r=Fr(Si(n=e))?n.pop():void 0;return ii(function(t,n){for(var i=e.length,o=new Array(i),s=e.map(function(){return!1}),a=!1,c=function(t){$i(e[t]).subscribe(oi(n,function(e){o[t]=e,a||s[t]||(s[t]=!0,(a=s.every(ti))&&(s=null))},Wr))},l=0;l<i;l++)c(l);t.subscribe(oi(n,function(e){if(a){var t=xr([e],Ar(o));n.next(r?r.apply(void 0,xr([],Ar(t))):t)}}))})}const Lo=(e,t,n)=>{const r="string"==typeof t?t.split("."):t,i=r.shift();return i&&(e[i]??={},r.length?Lo(e[i],r,n):Object.assign(e,{[i]:n})),e};class So{#re={};createConfig(e,t){return Gi(this._createConfig(e,t))}async createConfigAsync(e,t){return zi(this.createConfig(e,t))}_set(e,t){const n="function"==typeof t?t:async()=>t;this.#re[e]=n}_get(e){return this.#re[e]}_has(e){return e in this.#re}_createConfig(e,t){return Gi(this._buildConfig(e,t)).pipe(yo(t=>this._processConfig(t,e)))}_buildConfig(e,t){return Gi(Object.entries(this.#re)).pipe(Ji(([t,n])=>Gi(n(e)).pipe(oo(e=>void 0!==e),Ki(e=>({target:t,value:e})),so(e=>(console.error(`Failed to execute config callback: ${n.name} for attribute: '${t}'`,e),wi)))),co((e,{target:t,value:n})=>Lo(e,t,n),t??{}))}_processConfig(e,t){return Mi(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 _o{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}#ie;#oe;get version(){return this.#ie}constructor(e){const{version:t}=e;this.#ie=new Cr(t),this.#oe=new Gr}_addTeardown(e){return this.#oe.add(e),()=>this.#oe.remove(e)}dispose(){this.#oe.unsubscribe()}}class Io extends Error{constructor(){super("Module initialization timed out"),this.name="RequiredModuleTimeoutError"}}class Do{static className="ModulesConfigurator";get version(){return"6.0.0"}#se=new pi(100);get event$(){return this.#se.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.#se.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 zi(Gi(t).pipe(Ji(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}}),co((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 ui({}),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}}),Hi(r.pipe(oo(t=>!!t[e]),Ki(t=>t[e]),function(e){var t=qi(e)?{first:e}:"number"==typeof e?{each:e}:e,n=t.first,r=t.each,i=t.with,o=void 0===i?Wi:i,s=t.scheduler,a=void 0===s?Ei:s,c=t.meta,l=void 0===c?null:c;if(null==n&&null==r)throw new TypeError("No timeout provided.");return ii(function(e,t){var i,s,c=null,u=0,f=function(e){s=Ri(t,a,function(){try{i.unsubscribe(),$i(o({meta:l,lastValue:c,seen:u})).subscribe(t)}catch(e){t.error(e)}},e)};i=e.subscribe(oi(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=Fr(n=()=>{const n=new Io;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 ni(function(e){return e.error(r())});var n,r}}),bo(()=>{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=Gi(this.modules).pipe(Ji(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 Gi(Promise.resolve(n.initialize({ref:t,config:e[r],requireInstance:o,hasModule:i}))).pipe(Ki(e=>{e instanceof _o||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(lo([])).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 zi(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=Gi(n).pipe(oo(e=>!!e.postInitialize),bo(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"}})}),Ji(n=>{const r=performance.now();return Gi(n.postInitialize({ref:t,modules:e,instance:e[n.name]})).pipe(bo(()=>{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}})}),lo(null),so(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}),wi)))}),lo(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 zi(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.#se.complete()}}class No{_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?Gi(Object.values(this._operators)).pipe((t=(e,t)=>Promise.resolve(t(e)).then(t=>t??e),n=e,r=1,ii(function(e,i){var o=n;return Xi(e,i,function(e,n){return t(o,e,n)},r,function(e){o=e},!1,void 0,function(){return o=null})})),go()):Mi(e);var t,n,r}}class Oo extends No{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 Po extends No{}const Ao=k.object({attributionReporting:k.object({eventSourceEligible:k.boolean().optional(),triggerEligible:k.boolean().optional()}).optional(),body:k.union([k.string(),k.instanceof(Blob),k.instanceof(ArrayBuffer),k.instanceof(FormData),k.instanceof(URLSearchParams),k.instanceof(ReadableStream)]).optional(),browsingTopics:k.boolean().optional(),cache:k.enum(["default","no-store","reload","no-cache","force-cache","only-if-cached"]).optional(),credentials:k.enum(["omit","same-origin","include"]).optional(),headers:k.record(k.string(),k.string()).optional().or(k.instanceof(Headers)),integrity:k.string().optional(),keepalive:k.boolean().optional(),method:k.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:k.enum(["same-origin","cors","no-cors","navigate","websocket"]).optional(),priority:k.enum(["low","high","auto"]).optional(),redirect:k.enum(["follow","error","manual"]).optional(),referrer:k.string().optional(),referrerPolicy:k.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:k.instanceof(AbortSignal).optional()}).extend({uri:k.string(),path:k.string().optional()}),xo=e=>e=>{const{error:t,success:n,data:r}=k.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},$o=e=>e=>{const{strict:t,parse:n}={},r=t?Ao:Ao.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*Ro(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 Fo=e=>t=>{if(!t.ok)throw new br(`HTTP error! Status: ${t.status}`,t);if(!t.body)throw new br("Response body is not readable",t);if(!t.headers.get("Content-Type")?.includes("text/event-stream"))throw new br("Response is not a text/event-stream",t);const n=t.body.getReader();return Gi(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(Eo(e?.abortSignal?no(e.abortSignal,"abort"):wi),mo(async()=>{await n.cancel().catch(()=>{}),n.releaseLock()}))};class Uo{_clients={};get clients(){return{...this._clients}}defaultHttpClientCtor;defaultHttpRequestHandler=new Oo({"capitalize-method":xo(),"request-validation":$o()});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 ko extends Error{}const Bo=["http:","https:","ws:","wss:"];class Go extends _o{config;get defaultHttpRequestHandler(){return this.config.defaultHttpRequestHandler}constructor(e){super({version:"8.0.1",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 Bo.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 ko(`No registered http client for key [${e}]`);return n}var t;return e}}function Mo(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 ni(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=Dr(Dr({},r),{signal:o}),u=function(e){s=!1,t.error(e)};return fetch(e,l).then(function(e){n?$i(n(e)).subscribe(oi(t,void 0,function(){s=!1,t.complete()},u)):(s=!1,t.next(e),t.complete())}).catch(u),function(){s&&i.abort()}})}const jo=async e=>{if(204===e.status)return Promise.resolve();try{const t=await e.json();if(!e.ok)throw new Er("network response was not OK",e,{data:t});return t}catch(t){if(t instanceof Er)throw t;throw new Er("failed to parse response",e,{cause:t})}},zo=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 Ho{uri;requestHandler;responseHandler;_request$=new ci;_response$=new ci;_abort$=new ci;get request$(){return this._request$.asObservable()}get response$(){return this._response$.asObservable()}constructor(e,t){this.uri=e,this.requestHandler=new Oo(t?.requestHandler),this.responseHandler=new Po(t?.responseHandler),this._init()}_init(){}fetch$(e,t){return this._fetch$(e,t)}fetch(e,t){return Hi(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??jo,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 Hi(this.json$(e,t))}blob$(e,t){const n=t?.selector??zo,r={...t,selector:n};return this.fetch$(e,r)}blob(e,t){return Hi(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=Fo({...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 Mi({...r,path:e,uri:this._resolveUrl(e)}).pipe(yo(e=>this._prepareRequest(e)),bo(e=>this._request$.next(e)),yo(({uri:e,path:t,...n})=>Mo(e,n)),yo(e=>this._prepareResponse(e)),bo(e=>this._response$.next(e)),yo(e=>{if(n)try{return n(e)}catch(t){throw new yr("failed to execute response selector",e,{cause:t})}return Mi(e)}),Eo(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 qo extends Ho{defaultScopes=[];fetch$(e,t){const n={...t,scopes:this.defaultScopes.concat(t?.scopes||[])};return super._fetch$(e,n)}}const Vo={name:"http",configure:()=>new Uo(qo),initialize:async({config:e,hasModule:t,requireInstance:n})=>{const r=new Go(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}},Wo=(...e)=>t=>t.pipe(function(e,t){return Fr(t)?Ji(e,t,1):Ji(e,1)}(...e)),Ko=(...e)=>t=>t.pipe(Ji(...e)),Zo=(...e)=>t=>t.pipe(yo(...e)),Yo=e=>e.pipe(Ki(e=>e.value));var Xo=/^(?:[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 Jo(e){if(!function(e){return"string"==typeof e&&Xo.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 Qo=[];for(let e=0;e<256;++e)Qo.push((e+256).toString(16).slice(1));function es(e,t=0){return(Qo[e[t+0]]+Qo[e[t+1]]+Qo[e[t+2]]+Qo[e[t+3]]+"-"+Qo[e[t+4]]+Qo[e[t+5]]+"-"+Qo[e[t+6]]+Qo[e[t+7]]+"-"+Qo[e[t+8]]+Qo[e[t+9]]+"-"+Qo[e[t+10]]+Qo[e[t+11]]+Qo[e[t+12]]+Qo[e[t+13]]+Qo[e[t+14]]+Qo[e[t+15]]).toLowerCase()}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?Jo(r):r;if("string"==typeof r&&(r=Jo(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){if(o??=0,o<0||o+16>i.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);for(let e=0;e<16;++e)i[o+e]=c[e];return i}return es(c)}function rs(e,t,n){return crypto.randomUUID?crypto.randomUUID():function(e){e=e||{};const t=e.random??e.rng?.()??crypto.getRandomValues(ts);if(t.length<16)throw new Error("Random bytes length must be >= 16");return t[6]=15&t[6]|64,t[8]=63&t[8]|128,es(t)}(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)/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 ns(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 Ss(e){return!!e&&(Is(e)||xs(e)||!!e[us]||!!e[gs]?.[us]||$s(e)||Ts(e))}var Cs=hs[vs][gs].toString(),_s=new WeakMap;function Is(e){if(!e||!Rs(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===Cs}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_:xs(e)?1:$s(e)?2:Ts(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 xs=Array.isArray,$s=e=>e instanceof Map,Ts=e=>e instanceof Set,Rs=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($s(e))return new Map(e);if(Ts(e))return new Set(e);if(xs(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)||!Ss(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||!Rs(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)),Ss(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)||!Ss(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 Ss(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_||!Ss(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 Ss(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]=$s(t)?Ks(Hs).proxyMap_(t,n):Ts(t)?Ks(Hs).proxySet_(t,n):function(e,t){const n=xs(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(!Ss(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),Ss(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||!Rs(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){Ss(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)=>oo(t=>e.includes(t.type));class La extends ni{#ae=new ci;#ce;get action$(){return this.#ae.asObservable()}get value(){return this.#ce.value}get closed(){return this.#ce.closed||this.#ae.closed}constructor(e,t){super(e=>this.#ce.subscribe(e));const n="getInitialState"in e?e.getInitialState():t;this.#ce=new ui(n),this.#ae.pipe(function(e,t){return ii(ao(e,t,arguments.length>=2,!0))}(e,n),uo()).subscribe(this.#ce),this.reset=()=>this.#ce.next(n)}reset;next(e){this.#ae.next(e)}select(e,t){return this.#ce.pipe(Ki(e),uo(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(Ji(e=>Gi(new Promise((t,n)=>{try{t(r(e,this.value))}catch(e){n(e)}})).pipe(so(e=>(console.warn("unhandled effect",e),wi)))),oo(e=>!!e),Fi(Ei)).subscribe(this.#ae)}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(so(e=>(console.trace("unhandled exception, epic closed!",e),wi)),Fi(Ei)).subscribe(this.#ae)}unsubscribe(){this.#ae.unsubscribe(),this.#ce.unsubscribe()}complete(){this.#ae.complete(),this.#ce.complete()}asObservable(){return this.#ce.asObservable()}}function Sa(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 Ca="::";function _a(e,t,n,r){const i=Sa([e,"request"].join(Ca),t);return n&&Object.assign(i,{success:Sa([e,"success"].join(Ca),n)}),r&&Object.assign(i,{failure:Sa([e,"failure"].join(Ca),r)}),i}function Ia(e){return Ss(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(Ss(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:Sa("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:Sa("client/cancel",(e,t)=>({payload:{transaction:e,reason:t},meta:{transaction:e,created:Date.now()}})),error:Sa("client/error",(e,t)=>({payload:{transaction:e,error:t},meta:{transaction:e,created:Date.now()}}))},Oa=e=>e.pipe(oo(Na.request.match),Ki(e=>Na.execute(e.meta.transaction)));class Pa extends ni{#le=new ui("idle");get status(){return this.#le.value}get status$(){return this.#le.asObservable()}#ue;#fe;get transaction(){return this.#fe}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(oo(e=>e.meta.transaction===r));t.add(e.state$.pipe(oo(e=>!!e[r]),Ki(e=>e[r])).subscribe(e=>{this.#le.next(e.status)})),t.add(i.pipe(oo(Na.execute.success.match),Ki(({payload:e})=>e)).subscribe(e=>{this.#le.next("complete"),t.next(e),t.complete()})),t.add(i.pipe(oo(Na.error.match),Ki(({payload:e})=>e)).subscribe(e=>{this.#le.next("error"),t.error(e.error)})),t.add(i.pipe(oo(Na.cancel.match)).subscribe(e=>{this.#le.next("canceled"),t.error(new cs("abort",{message:e.payload.reason||`job: ${r} was canceled`,request:this.#ue.getRequest(e.meta.transaction)}))})),n?.signal&&t.add(no(n?.signal,"abort").pipe(Ki(()=>Na.cancel(r,`job: ${r} was aborted on signal from caller: ${n?.ref}`))).subscribe(t=>e.next(t))),t.add(()=>{this.complete()})}),this.#ue=e;const r=Na.request(t,{ref:n?.ref,retry:n?.retry});this.#fe=r.meta.transaction,this.#ue.next(r)}complete(e){this.closed||this.cancel(e??`job: ${this.transaction} was completed`)}cancel(e){const t=this.transaction;this.#ue.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 xa extends ni{#ce;#pe;#de;_registerEvent(e,t,n){this.#de.next(new Aa(e,t,n))}get closed(){return this.#ce.closed}get state$(){return this.#ce.asObservable()}get action$(){return this.#ce.action$}get event$(){return this.#de.asObservable()}get success$(){return this.action$.pipe(oo(Na.execute.success.match),Ki(({payload:e})=>e))}get error$(){return this.action$.pipe(wa("client/error"),wo(this.#ce),Ki(([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.#ce.subscribe(e)),this.#ce=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.#pe=new Gr(()=>{this.#ce.complete(),this.#de.complete()}),this.#de=new ci,this.#pe.add(this.#ce.addFlow(Oa)),this.#pe.add(this.#ce.addFlow((e=>(t,n)=>t.pipe(oo(Na.execute.match),wo(n),Ji(([n,r])=>{const i=n.payload,o=r[i],s=new AbortController,a=t.pipe(oo(Na.cancel.match),oo(e=>e.payload.transaction===i),bo(()=>{s.signal.aborted||s.abort()}));try{return Gi(e(o.args,s.signal)).pipe(Ki(e=>Na.execute.success({...o,status:"complete",completed:Date.now(),value:e})),so(e=>Mi(Na.execute.failure(e,i))),Eo(a))}catch(e){return Mi(Na.execute.failure(e,i))}})))(e))),this.#pe.add(this.#ce.addFlow((e=>(t,n)=>t.pipe(oo(Na.execute.failure.match),wo(n),Ji(([t,r])=>{const{transaction:i}=t.meta,o=r[i];if(!o)return Mi(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 Mi(Na.error(i,e))}return("function"==typeof a.delay?Gi(a.delay(c)).pipe(so(e=>Mi(Na.error(i,new cs("error",{message:"retry delay callback failed!",cause:[...o.errors??[],e],request:o}))))):io(a.delay)).pipe(wo(n),oo(([e,t])=>!!t[i]),bo(([,e])=>{if(!e[i])throw new cs("error",{message:"request not found, most likely removed while scheduled for retry",cause:o.errors,request:o})}),Ki(()=>Na.execute(i)))})))(Object.assign({count:0,delay:0},t?.retry)))),this.#ce.addEffect(Na.request.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_requested",t,e)}),this.#ce.addEffect(Na.execute.type,({meta:{transaction:e}})=>{this._registerEvent("query_client_job_executing",e)}),this.#ce.addEffect(Na.execute.success.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_completed",t,{payload:e})}),this.#ce.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.#ce.addEffect(Na.cancel.type,({payload:{reason:e},meta:{transaction:t}})=>{this._registerEvent("query_client_job_canceled",t,{reason:e||"no reason provided"})}),this.#ce.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.#ce.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 ci}: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 ii(function(e,h){a++,u||l||f();var m=o=null!=o?o:n();h.add(function(){0!==--a||u||l||(r=vo(d,c))}),m.subscribe(h),!t&&a>0&&(t=new Xr({next:function(e){return m.next(e)},error:function(e){u=!0,f(),r=vo(p,i,e),m.error(e)},complete:function(){l=!0,f(),r=vo(p,s),m.complete()}}),$i(e).subscribe(t))})(e)}}({connector:()=>new pi,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 Hi(this.query(e,t))}getRequest(e){return this.#ce.value[e]}getRequestByRef(e){return Object.values(this.#ce.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.#ce.value[e]&&(t??=`cancelation requested for job: ${e}`,this.#ce.next(Na.cancel(e,t)));else for(const e of Object.keys(this.#ce.value))this.cancel(e,"all transactions requested canceled")}on(e,t){return this.#ce.addEffect(Na[e].type,e=>{t(e,this)})}complete(){this.#pe.unsubscribe()}}const $a={set:Sa("cache/set",(e,t)=>({payload:{key:e,record:t}})),insert:Sa("cache/insert",(e,t)=>({payload:{key:e,entry:t}})),remove:Sa("cache/remove",e=>({payload:e})),invalidate:Sa("cache/invalidate",(e,t)=>({payload:e,meta:{item:t}})),mutate:Sa("cache/mutate",(e,t,n)=>({payload:{...t,key:e},meta:{item:n}})),trim:Sa("cache/trim",e=>({payload:e}))},Ta=(e,t)=>(t.updated??0)-(e.updated??0);class Ra{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class Fa{#ce;#de;get state(){return this.#ce.value}get state$(){return this.#ce.asObservable()}get action$(){return this.#ce.action$}_registerEvent(e,t){this.#de.next(new Ra(e,t?.key,t?.data))}get event$(){return this.#de.asObservable()}constructor(e){const{trimming:t,initial:n}=e??{};this.#ce=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??Ta,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]}}))}($a,n)),t&&this.#ce.addEffect("cache/set",()=>this.#ce.next($a.trim(t))),this.#de=new ci}has(e){return e in this.#ce.value}setItem(e,t){const{args:n,transaction:r,value:i}=t;this.#ce.next($a.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.#ce.value[e]}removeItem(e){this.#ce.next($a.remove(e)),this._registerEvent("query_cache_entry_removed",{key:e})}invalidate(e){const t=e?this.#ce.value[e]:void 0;this.#ce.next($a.invalidate(e,t)),e&&this._registerEvent("query_cache_entry_invalidated",{key:e,data:{previousValue:t?.value}})}mutate(e,t){const n=e in this.#ce.value?this.#ce.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.#ce.next($a.mutate(e,r,n)),this._registerEvent("query_cache_entry_mutated",{key:e,data:{previousValue:n.value,newValue:r,mutation:r}}),()=>this.#ce.next($a.set(e,n))}trim(e){const t=new Set(Object.keys(this.#ce.value));this.#ce.next($a.trim(e));const n=new Set(Object.keys(this.#ce.value)),r=Array.from(t).filter(e=>!n.has(e));this._registerEvent("query_cache_trimmed",{data:{removedKeys:r,criteria:e}})}reset(){this.#ce.reset(),this._registerEvent("query_cache_reset")}complete(){this.#ce.complete(),this.#de.complete()}}class Ua extends ci{key;args;options;#he=Date.now();get created(){return this.#he}#me=rs();get uuid(){return this.#me}constructor(e,t,n){super(),this.key=e,this.args=t,this.options=n}processJob(e){return e.pipe(Ki(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}}),mo(()=>{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=Yo;#pe=new Gr;#ue;#ge;#ve=new ci;#ye={};#Ee;#be;#we=rs();#se;get client(){return this.#ue}_registerEvent(e,t,n){this.#se.next(new ka(e,t,n))}get cache(){return this.#ge}get event$(){return this.#se.asObservable()}constructor(e){this.#se=new ci,this.#Ee=t=>as(e.key(t),this.#we),this.#be=e?.validate??((e=0)=>t=>(t.updated??0)+e>Date.now())(e?.expire),e.client instanceof xa?this.#ue=e.client:(this.#ue=new xa(e.client.fn,{...e.client.options}),this.#pe.add(()=>this.#ue.complete())),this.#pe.add(this.#ue.event$.subscribe({next:e=>this.#se.next(e)})),e.cache instanceof Fa?this.#ge=e.cache:(this.#ge=new Fa(e.cache||{}),this.#pe.add(()=>this.#ge.complete())),this.#pe.add(this.#ge.event$.subscribe({next:e=>this.#se.next(e)}));const t=((e="switch")=>"function"==typeof e?e:(()=>{switch(e){case"concat":return Wo;case"merge":return Ko;case"switch":return Zo;default:throw new Error(`Invalid queue operator: ${e}`)}})())(e.queueOperator);var n,r;this.#pe.add(()=>this.#ve.complete()),this.#pe.add(this.#ve.pipe(bo(e=>{this._registerEvent("query_queued",e)}),oo(e=>!!(e in this.#ye)),t(e=>{const t=this.#ye[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.#ye[e],wi;const o=this.#ue.query(n,{...r,ref:t.uuid});return new ni(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.#ye[e]}),s.add((c=10,void 0===l&&(l=Ei),io(c,c,l)).pipe(oo(()=>!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(Ki(e=>({result:e,task:t})),so(()=>wi)).subscribe(s)})}),(n=()=>!this.#ue.closed,void 0===r&&(r=!1),ii(function(e,t){var i=0;e.subscribe(oi(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.#ge.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?Hi:zi;return new Promise((n,o)=>{t?.signal&&t.signal.addEventListener("abort",()=>o(new Error("Query aborted"))),i(this._query(e,r).pipe(po())).then(n,o)})}persistentQuery(e,t){const n=this.#Ee(e),r=this._query(e,t);return new ni(i=>{i.add(r.subscribe({next:i.next.bind(i),error:i.error.bind(i)}));const o=t?.cache?.validate||this.#be;i.add(this.cache.state$.pipe(oo(e=>n in e),Ki(t=>({...t[n],key:n,status:"cache",hasValidCache:o(t[n],e)}))).subscribe(i))}).pipe(uo((e,t)=>e.transaction===t.transaction&&e.mutated===t.mutated))}generateCacheKey(e){return this.#Ee(e)}mutate(e,t,n){const r=this.#Ee(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.#ge.mutate(r,t)}invalidate(e){this.#ge.invalidate(e&&this.#Ee(e))}complete(){this.#pe.unsubscribe(),this.#se?.complete()}onInvalidate(e){const t=this.#ge.action$.pipe(wa("cache/invalidate")).subscribe(t=>e({detail:{item:t.meta.item}}));return()=>t.unsubscribe()}onMutate(e){const t=this.#ge.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.#Ee(e),r=this._createTask(n,e,t);return this._registerEvent("query_created",n,{args:e,options:t}),r}_createTask(e,t,n){return new ni(r=>{if(n?.signal){if(n?.signal.aborted)return this._registerEvent("query_aborted",e),r.complete();r.add(no(n?.signal,"abort").subscribe(()=>{this._registerEvent("query_aborted",e),r.complete()}))}const i=this.#ge.getItem(e);if(i){this._registerEvent("query_cache_hit",e,{cacheEntry:i});const o=n?.cache?.suppressInvalid??!1,s=(n?.cache?.validate||this.#be)(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.#ye;o?this._registerEvent("query_connected",e,{isExistingTask:!0}):(this.#ye[e]=new Ua(e,t,n),this._registerEvent("query_job_created",e,{taskId:this.#ye[e].uuid,args:t,options:n}));const s=this.#ye[e];r.add(s.subscribe(r)),o||this.#ve.next(e)})}}const Ga=U.object({key:U.string().describe("The key used to identify the service"),uri:U.string().describe("The URI of the service"),id:U.string().optional().describe("The ID of the service"),environment:U.string().optional().describe("The environment of the service"),name:U.string().optional().describe("The name of the service"),scopes:U.array(U.string()).optional().default([]).describe("Endpoint authentication scopes"),tags:U.array(U.string()).optional().describe("Tags for the service")}).describe("A service from the service discovery API").transform(e=>({...e,get defaultScopes(){return e.scopes??[]}})),Ma=U.array(Ga).describe("A list of services from the service discovery API");class ja{#Le;endpoint;http;constructor(e){this.http=e.http,this.endpoint=e.endpoint;const t=e.postProcess;this.#Le=new Ba({client:{fn:()=>this.http.fetch$(this.endpoint??"",{selector:e=>((e,t)=>{const n=Gi(jo(e)).pipe(Ki(e=>Ma.default([]).parse(e)));return t?n.pipe(t):n})(e,t)})},key:()=>"services",expire:3e5})}resolveServices(e){return(e?Hi:zi)(Ba.extractQueryValue(this.#Le.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 So{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 zi(Gi(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 zi(Gi(e(t)))??{};if(n)return new ja({http:n,endpoint:r,postProcess:Ki(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 _o{config;_http;constructor(e,t){super({version:"10.0.1",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:Vo,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=W(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 Do,n=e.env??tc.ContinuesIntegration;t.addConfig({module:Vo,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);const{auth:r}=e;return V(t,e=>{if("defaultCredential"in r&&r.defaultCredential)return void e.setDefaultCredential();if("token"in r&&r.token)return void e.setTokenOnly(r.token);const{clientId:t,tenantId:n}=r;if(!t||!n)throw new Error("clientId and tenantId are required for auth module");if("interactive"in r&&r.interactive){const{server:i}=r;if(!i.port)throw new Error("server.port is required for interactive mode");e.setInteractive({tenantId:n,clientId:t,redirectPort:i.port,onOpen:i.onOpen})}else e.setInteractive({tenantId:n,clientId:t,redirectPort:49741})}),t},ic=async(e,t)=>{const n=rc(e);t&&t(n);return await n.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 Yn(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 on(t);r=(await rn({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:sr});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=ur(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=fr(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 Yn(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:{...sr,"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=ur(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=fr(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:",tn(e.uri))}),s?.start("Publishing application config");const a=await e.json(`/apps/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:sr});return s?.debug("Response:",a),s?.succeed("Tagged application successfully",r.greenBright(`${n}@${i} - ${t}`)),a}catch(e){if(e instanceof Er)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=ur(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=fr(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=k.object({templateEntry:k.string({message:"templateEntry must be a string"}).describe("Main entry point for the portal"),schemaEntry:k.string({message:"schemaEntry must be a string"}).describe("Schema file for portal validation"),assetPath:k.string({message:"assetPath must be a string"}).optional().describe("Asset path for dev/preview builds"),githubRepo:k.string({message:"githubRepo must be a string"}).optional().describe("GitHub repo URL or local git remote"),version:k.string({message:"version must be a string"}).describe("Version from package.json"),timestamp:k.string({message:"timestamp must be a string"}).describe("Current build timestamp (ISO8601)"),commitSha:k.string({message:"commitSha must be a string"}).describe("Current git commit SHA"),annotations:k.record(k.string(),k.string().nullish()).optional().transform(e=>{if(e)return Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e))}).describe("Optional build annotations"),projectPage:k.string({message:"projectPage must be a string"}).optional().describe("Optional project homepage"),allowedExtensions:k.array(k.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:k.record(k.string(),k.unknown()).optional().describe("Optional schema for the portal"),config:k.record(k.string(),k.unknown()).optional().describe("Optional configuration for the portal")}),uc=k.object({name:k.string({message:"name must be a string"}).describe("Short app key (unscoped, derived from package name)"),displayName:k.string({message:"displayName must be a string"}).optional().describe("Full package name, may include scope"),description:k.string({message:"description must be a string"}).optional().describe("Description of the portal"),build:lc}),fc=(e,t)=>{Rt(t,"expected packageJson"),x(t.name,"expected [name] in packageJson"),x(t.version,"expected [version] in packageJson");const n=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/bundle.js":ut(e.root))(e,t),r=t.name.replace(/^@|\w.*\//gm,""),i=t.version,o="build"===e.command?void 0:"/@fs",s=Ft(t)??Ut(),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:kt(),annotations:{...jt()},projectPage:t.homepage,allowedExtensions:zt.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 N(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?P(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",tn(t.path,{relative:!0})),t.manifest}catch(e){if(e instanceof O){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${tn(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?tn(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 N(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.schema??U.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 ",tn(i.path,{relative:!0})),i.config}catch(e){if(e instanceof O){if(!t.config)return n?.succeed(r.dim("âïļ no local portal config applied, using built-in")),{};n?.warn(`failed to load config file ${tn(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 on(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 ir(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:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve portal");const s=await on(n);n?.start("Loading Vite config...");const c=await Tt({root:s.root,command:"build",mode:"production"},s);n?.succeed("Vite config loaded");const l=r||(c.build?.outDir||"dist"),u=a(s.root,l),f={root:s.root,environment:"local",mode:"production",command:"serve",isPreview:!0},p=await pc(f,s,{log:n,manifestPath:e?.manifest}),d=await dc(f,{log:n,config:e?.config});if(n?.debug("Output directory:",u),!S(u))throw new Error(`Build directory does not exist: ${u}\nPlease build the portal first using \`ffc portal build\``);p.build.assetPath=void 0,p.build.templateEntry=`/${p.build.templateEntry}`;const h=await Tt(f,s),m=t(h,{server:{port:i,host:o||h.server?.host||"localhost",fs:{allow:[s.root,u]}}}),g={template:{portal:{id:p.name}},portal:{manifest:p,config:d}};n?.debug("vite config:",m),n?.debug("dev server config:",g),n?.start("Starting preview server...");try{const e=await ir(f,g,{overrides:m,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}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}},gc=async e=>{const{log:t}=e??{},n=await on(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}},vc=async e=>{const{log:t}=e??{};t?.log(r.bold("Starting to build portal"));const{manifest:i,pkg:o,env:s}=await gc({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}},yc=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 vc({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 N(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 hr(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}},Ec=async e=>{const{log:t}=e??{},n=await on(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 pr(e.output,JSON.stringify(i,null,2)),t?.succeed("config written successfully",tn(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:i,pkg:n}},bc=async e=>{const{log:t,portal:n}=e,{config:i}=await Ec({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:",tn(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:sr});t?.debug("Response:",a),t?.succeed("Published portal config")}catch(e){if(e instanceof Er)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=ur(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=fr(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 wc=async e=>{const{log:t,framework:n}=e,i="string"==typeof e.fileOrBundle?new Yn(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:{...sr,"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=ur(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=fr(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)}},Lc=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:",tn(e.uri))}),s?.start("Tagging portal template...");const r=await e.json(`/templates/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:sr});s?.debug("Response:",r),s?.succeed("Tagged portal template successfully"),s?.info("ð",JSON.stringify(r))}catch(e){if(e instanceof Er){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=ur(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=fr(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{tr as ConsoleLogger,tc as FusionEnv,an as buildApplication,vc as buildPortal,mr as bundleApp,yc as bundlePortal,sc as checkApp,rc as configureFramework,vr as generateApplicationConfig,Ec as generatePortalConfig,ic as initializeFramework,sn as loadAppManifest,gc as loadPortalManifest,hr as pack,wr as publishAppConfig,bc as publishPortalConfig,nc as resolveDefaultEnv,Sr as serveApplication,mc as servePortal,Lr as startAppDevServer,hc as startPortalDevServer,cc as tagApplication,Lc as tagPortal,ac as uploadApplication,wc 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"node:diagnostics_channel";import m from"url";import g from"node:module";import v from"util";import y,{accessSync as E,constants as b,readFileSync as w,statSync as L,existsSync as S,mkdirSync as C,writeFileSync as _}from"node:fs";import{stat as I,mkdir as D}from"node:fs/promises";import{importConfig as N,FileNotFoundError as O}from"@equinor/fusion-imports";import P from"deepmerge";import{rawImportsPlugin as A}from"@equinor/fusion-framework-vite-plugin-raw-imports";import x from"node:assert";import{execSync as $}from"node:child_process";import{coerce as T,SemVer as R,satisfies as F}from"semver";import U,{z as k}from"zod";import B from"fs";import G from"path";import M from"zlib";import j from"crypto";import z from"ora";import{createDevServer as H,processServices as q}from"@equinor/fusion-framework-dev-server";import{enableAzureIdentityAuth as V}from"@equinor/fusion-framework-module-azure-identity";function W(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var K,Z,Y,X;function J(){if(Z)return K;Z=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 K=e}function Q(){if(X)return Y;X=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return Y={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 ee,te,ne,re,ie,oe,se,ae,ce,le,ue,fe,pe,de={exports:{}};function he(){return ee||(ee=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=Q(),o=J(),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*$")}(de,de.exports)),de.exports}function me(){if(se)return oe;se=1;const e=J(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=Q(),{safeRe:r,t:i}=he(),o=function(){if(ne)return te;ne=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return te=n=>n?"object"!=typeof n?e:n:t}(),{compareIdentifiers:s}=function(){if(ie)return re;ie=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 re={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 oe=a}function ge(){if(ce)return ae;ce=1;const e=me();return ae=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(e){if(!r)return null;throw e}},ae}var ve,ye,Ee,be,we,Le,Se,Ce,_e,Ie,De=["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"],Ne=["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"],Oe=["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 Pe(){if(ye)return ve;ye=1;var e=[].concat(De).concat(Ne),t=Oe;return ve=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 Ae(){return be?Ee:(be=1,Ee=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 xe(){if(Le)return we;Le=1;var e=Pe(),t=Ae();return we=function(n){return t(e(n))}}function $e(){if(Ie)return _e;Ie=1;var e=xe(),t=function(){if(Ce)return Se;Ce=1;var e=xe(),t=De;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 Se=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 _e=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,Re,Fe,Ue,ke,Be,Ge,Me,je,ze,He,qe={};function Ve(){if(Te)return qe;Te=1;var e,t,n=(e=e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.tracing=e.metrics=void 0;var t=h;e.metrics=(0,t.channel)("lru-cache:metrics"),e.tracing=(0,t.tracingChannel)("lru-cache")},()=>(t||e((t={exports:{}}).exports,t),t.exports));Object.defineProperty(qe,"__esModule",{value:!0}),qe.LRUCache=void 0;var r=n(),i=()=>r.metrics.hasSubscribers||r.tracing.hasSubscribers,o="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date,s=new Set,a="object"==typeof process&&process?process:{},c=e=>!!e&&e===Math.floor(e)&&e>0&&isFinite(e),l=e=>c(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(e){super(e),this.fill(0)}},f=class e{heap;length;static#e=!1;static create(t){let n=l(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]}},p=class e{#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;#S;#C;#_;#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.#x(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(t){let{max:n=0,ttl:r,ttlResolution:i=1,ttlAutopurge:u,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:S,memoMethod:C,noDeleteOnFetchRejection:_,noDeleteOnStaleGet:I,allowStaleOnFetchRejection:D,allowStaleOnFetchAbort:N,ignoreFetchAbort:O,perf:P}=t;if(void 0!==P&&"function"!=typeof P?.now)throw new TypeError("perf option must have a now() method if specified");if(this.#a=P??o,0!==n&&!c(n))throw new TypeError("max option must be a nonnegative integer");let A=n?l(n):Array;if(!A)throw new Error("invalid max value: "+n);if(this.#e=n,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!==C&&"function"!=typeof C)throw new TypeError("memoMethod must be a function if defined");if(this.#s=C,void 0!==S&&"function"!=typeof S)throw new TypeError("fetchMethod must be a function if specified");if(this.#o=S,this.#C=!!S,this.#u=new Map,this.#f=Array.from({length:n}).fill(void 0),this.#p=Array.from({length:n}).fill(void 0),this.#d=new A(n),this.#h=new A(n),this.#m=0,this.#g=0,this.#v=f.create(n),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.#S=!!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&&!c(this.#t))throw new TypeError("maxSize must be a positive integer if specified");if(!c(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#$()}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!I,this.updateAgeOnGet=!!p,this.updateAgeOnHas=!!d,this.ttlResolution=c(i)||0===i?i:1,this.ttlAutopurge=!!u,this.ttl=r||0,this.ttl){if(!c(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#T()}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 t="LRU_CACHE_UNBOUNDED";(e=>!s.has(e))(t)&&(s.add(t),((e,t,n,r)=>{"function"==typeof a.emitWarning?a.emitWarning(e,t,n,r):console.error(`[${n}] ${t}: ${e}`)})("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",t,e))}}getRemainingTTL(e){return this.#u.has(e)?1/0:0}#T(){let e=new u(this.#e),t=new u(this.#e);this.#w=e,this.#b=t;let n=this.ttlAutopurge?Array.from({length:this.#e}):void 0;this.#L=n,this.#R=(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.#x(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.#x=n=>{let r=t[n],s=e[n];return!!s&&!!r&&(i||o())-r>s}}#F=()=>{};#k=()=>{};#R=()=>{};#x=()=>!1;#$(){let e=new u(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(!c(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),!c(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.#x(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.#x(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.#H(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.#x(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.#q(t,n.value,n)}}set(e,t,n={}){let{status:i=(r.metrics.hasSubscribers?{}:void 0)}=n;n.status=i,i&&(i.op="set",i.key=e,void 0!==t&&(i.value=t));let o=this.#q(e,t,n);return i&&r.metrics.hasSubscribers&&r.metrics.publish(i),o}#q(e,t,n={}){let{ttl:r=this.ttl,start:i,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:s=this.sizeCalculation,status:a}=n;if(void 0===t)return a&&(a.set="deleted"),this.delete(e),this;let{noUpdateTTL:c=this.noUpdateTTL}=n;a&&!this.#D(t)&&(a.value=t);let l=this.#G(e,t,n.size||0,s,a);if(this.maxEntrySize&&l>this.maxEntrySize)return this.#U(e,"set"),a&&(a.set="miss",a.maxEntrySizeExceeded=!0),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.#C&&this.#D(n)){n.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:t}=n;void 0!==t&&!o&&(this.#S&&this.#n?.(t,e,"set"),this.#_&&this.#y?.push([t,e,"set"]))}else o||(this.#S&&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.#T(),this.#w&&(c||this.#R(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.#C&&this.#D(r)?r.__abortController.abort(new Error("evicted")):(this.#S||this.#_)&&(this.#S&&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{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="has",n.key=e);let i=this.#V(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),i}#V(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.#x(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{status:n=(i()?{}:void 0)}=t;n&&(n.op="peek",n.key=e),t.status=n;let o=this.#W(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),o}#W(e,t){let{status:n,allowStale:r=this.allowStale}=t,i=this.#u.get(e);if(void 0===i||!r&&this.#x(i))return void(n&&(n.peek=void 0===i?"miss":"stale"));let o=this.#p[i],s=this.#D(o)?o.__staleWhileFetching:o;return n&&(void 0!==s?(n.peek="hit",n.value=s):n.peek="miss"),s}#N(e,t,n,r){let i=void 0===t?void 0:this.#p[t];if(this.#D(i))return i;let o=new AbortController,{signal:s}=n;s?.addEventListener("abort",()=>o.abort(s.reason),{signal:o.signal});let a={signal:o.signal,options:n,context:r},c=(r,i=!1)=>{let{aborted:s}=o.signal,c=n.ignoreFetchAbort&&void 0!==r,f=n.ignoreFetchAbort||!(!n.allowStaleOnFetchAbort||void 0===r);if(n.status&&(s&&!i?(n.status.fetchAborted=!0,n.status.fetchError=o.signal.reason,c&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),s&&!c&&!i)return l(o.signal.reason,f);let p=u,d=this.#p[t];return(d===u||void 0===d&&c&&i)&&(void 0===r?void 0!==p.__staleWhileFetching?this.#p[t]=p.__staleWhileFetching:this.#U(e,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.#q(e,r,a.options))),r},l=(r,i)=>{let{aborted:s}=o.signal,a=s&&n.allowStaleOnFetchAbort,c=a||n.allowStaleOnFetchRejection,l=c||n.noDeleteOnFetchRejection,f=u;if(this.#p[t]===u&&(!l||!i&&void 0===f.__staleWhileFetching?this.#U(e,"fetch"):a||(this.#p[t]=f.__staleWhileFetching)),c)return n.status&&void 0!==f.__staleWhileFetching&&(n.status.returnedStale=!0),f.__staleWhileFetching;if(f.__returned===f)throw r};n.status&&(n.status.fetchDispatched=!0);let u=new Promise((t,r)=>{let s=this.#o?.(e,i,a);s&&s instanceof Promise&&s.then(e=>t(void 0===e?void 0:e),r),o.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(t(void 0),n.allowStaleOnFetchAbort&&(t=e=>c(e,!0)))})}).then(c,e=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=e),l(e,!1))),f=Object.assign(u,{__abortController:o,__staleWhileFetching:i,__returned:void 0});return void 0===t?(this.#q(e,f,{...a.options,status:void 0}),t=this.#u.get(e)):this.#p[t]=f,f}#D(e){if(!this.#C)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof AbortController}fetch(e,t={}){let n=r.tracing.hasSubscribers,{status:o=(i()?{}:void 0)}=t;t.status=o,o&&t.context&&(o.context=t.context);let s=this.#K(e,t);return o&&i()&&n&&(o.trace=!0,r.tracing.tracePromise(()=>s,o).catch(()=>{})),s}async#K(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(g&&(g.op="fetch",g.key=e,m&&(g.forceRefresh=!0)),!this.#C)return g&&(g.fetch="get"),this.#H(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.#x(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}}forceFetch(e,t={}){let n=r.tracing.hasSubscribers,{status:o=(i()?{}:void 0)}=t;t.status=o,o&&t.context&&(o.context=t.context);let s=this.#Z(e,t);return o&&i()&&n&&(o.trace=!0,r.tracing.tracePromise(()=>s,o).catch(()=>{})),s}async#Z(e,t={}){let n=await this.#K(e,t);if(void 0===n)throw new Error("fetch() returned undefined");return n}memo(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="memo",n.key=e,t.context&&(n.context=t.context));let i=this.#Y(e,t);return n&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n),i}#Y(e,t={}){let n=this.#s;if(!n)throw new Error("no memoMethod provided to constructor");let{context:r,status:i,forceRefresh:o,...s}=t;i&&o&&(i.forceRefresh=!0);let a=this.#H(e,s),c=o||void 0===a;if(i&&(i.memo=c?"miss":"hit",c||(i.value=a)),!c)return a;let l=n(e,a,{options:s,context:r});return i&&(i.value=l),this.#q(e,l,s),l}get(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="get",n.key=e);let i=this.#H(e,t);return n&&(void 0!==i&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n)),i}#H(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)return void(o&&(o.get="miss"));let a=this.#p[s],c=this.#D(a);return o&&this.#k(o,s),this.#x(s)?c?(o&&(o.get="stale-fetching"),n&&void 0!==a.__staleWhileFetching?(o&&(o.returnedStale=!0),a.__staleWhileFetching):void 0):(i||this.#U(e,"expire"),o&&(o.get="stale"),n?(o&&(o.returnedStale=!0),a):void 0):(o&&(o.get=c?"fetching":"hit"),this.#O(s),r&&this.#F(s),c?a.__staleWhileFetching:a)}#X(e,t){this.#h[t]=e,this.#d[e]=t}#O(e){e!==this.#g&&(e===this.#m?this.#m=this.#d[e]:this.#X(this.#h[e],this.#d[e]),this.#X(this.#g,e),this.#g=e)}delete(e){return this.#U(e,"delete")}#U(e,t){r.metrics.hasSubscribers&&r.metrics.publish({op:"delete",delete:t,key:e});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.#J(t);else{this.#B(r);let n=this.#p[r];if(this.#D(n)?n.__abortController.abort(new Error("deleted")):(this.#S||this.#_)&&(this.#S&&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.#J("delete")}#J(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.#S&&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 qe.LRUCache=p,qe}function We(){if(ke)return Ue;ke=1;const e=m,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 Ue=(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 Ke(){if(Ge)return Be;Ge=1;const e=We();return Be=(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 Ze(){if(je)return Me;je=1;const{LRUCache:e}=Ve(),t=function(){if(Fe)return Re;Fe=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 Re=i}(),n=Ke(),r=We(),i=new e({max:1e3});class o{constructor(e,t,n,r,i,s,a={}){Object.assign(this,o.#Q[e],{type:e,user:t,auth:n,project:r,committish:i,default:s,opts:a})}static#Q={byShortcut:{},byDomain:{}};static#ee={"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.#Q[e]=t,o.#Q.byDomain[t.domain]=e,o.#Q.byShortcut[`${e}:`]=e,o.#ee[`${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.#Q,protocols:o.#ee});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)}#te(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.#te(this.sshtemplate,e)}sshurl(e){return this.#te(this.sshurltemplate,e)}browse(e,...t){return"string"!=typeof e?this.#te(this.browsetemplate,e):"string"!=typeof t[0]?this.#te(this.browsetreetemplate,{...t[0],path:e}):this.#te(this.browsetreetemplate,{...t[1],fragment:t[0],path:e})}browseFile(e,...t){return"string"!=typeof t[0]?this.#te(this.browseblobtemplate,{...t[0],path:e}):this.#te(this.browseblobtemplate,{...t[1],fragment:t[0],path:e})}docs(e){return this.#te(this.docstemplate,e)}bugs(e){return this.#te(this.bugstemplate,e)}https(e){return this.#te(this.httpstemplate,e)}git(e){return this.#te(this.gittemplate,e)}shortcut(e){return this.#te(this.shortcuttemplate,e)}path(e){return this.#te(this.pathtemplate,e)}tarball(e){return this.#te(this.tarballtemplate,{...e,noCommittish:!1})}file(e,t){return this.#te(this.filetemplate,{...t,path:e})}edit(e,t){return this.#te(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 Me=o}var Ye,Xe,Je={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 Qe(){if(Xe)return Ye;Xe=1;var{URL:e}=p,t=function(){if(ue)return le;ue=1;const e=ge();return le=(t,n)=>{const r=e(t,n);return r?r.version:null},le}(),n=function(){if(pe)return fe;pe=1;const e=ge();return fe=(t,n)=>{const r=e(t.trim().replace(/^[=v]+/,""),n);return r?r.version:null},fe}(),r=$e(),i=Ze(),{isBuiltin:o}=g,s=["dependencies","devDependencies","optionalDependencies"],a=He?ze:(He=1,ze=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=Je,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 Ye={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")}},Ye}var et,tt,nt,rt,it={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 ot(){if(tt)return et;tt=1;var e=v,t=it;function n(n,r,i){return i&&(n=i+"['"+n+"']",r=i+"['"+r+"']"),e.format(t.typo,n,r)}return et=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)},et}var st=function(){if(rt)return nt;rt=1,nt=r;var e=Qe();r.fixer=e;var t=ot(),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"]),nt}(),at=W(st);const ct=(e,t)=>{try{return E(e,b.F_OK),!0}catch(e){return!1}},lt=["index.ts","index.tsx","main.ts","main.tsx"],ut=(e,t,n)=>{const r=a(e??process.cwd(),"src"),i=lt,o=i.map(e=>a(r,e)).find(e=>ct(e));if(!o)throw new Error(`Unable to resolve entry point, ensure ${i.join(", ")} exists in ${r}`);return o},ft=(e,t)=>P(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])]}}),pt=/import\s*{\s*[^}]*\b(route|index|layout|prefix)\b[^}]*}\s*from\s*['"]@equinor\/fusion-framework-react-router(?:\/routes)?['"]/g,dt=/\b(route|index|layout|prefix)\s*\(/g,ht=/import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)/g,mt=/\b(index|layout)\s*\(\s*['"]([^'"]+)['"]\s*\)/g,gt=/\blayout\s*\(\s*import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)\s*,\s*[^)]+\s*\)/g,vt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*[^)]+\s*\)/g,yt=/\broute\s*\(\s*[^,]+,\s*['"]([^'"]+)['"]\s*\)/g,Et=/\bindex\s*\(\s*['"]([^'"]+)['"]\s*\)/g,bt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*\)\s*(?!,)/g,wt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*/g,Lt=/\broute\s*\(\s*([^,]+)\s*,\s*['"]([^'"]+)['"]\s*\)/g,St=/\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,_t=/export\s+const\s+\w+\s*=\s*/g,It=/^import\s+.*?;$/gm,Dt=/export\s+default|export\s*{\s*default\s*}/,Nt=e=>new RegExp(`\\bexport\\s+(const|function|class|async\\s+function)\\s+${e}\\b`),Ot=e=>new RegExp(`export\\s*{\\s*[^}]*${e}[^}]*}\\s*from`);function Pt(e,t,n){const r=new Set;try{const i=function(e,t){const n=o.resolve(t,e);if(y.existsSync(n))return n;const r=[".tsx",".ts",".jsx",".js"];for(const e of r){const t=n+e;if(y.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=y.readFileSync(i,"utf-8");s.match(Dt)&&r.add("default");const a=["clientLoader","action","handle","ErrorElement","HydrateFallback"];for(const e of a)(s.match(Nt(e))||s.match(Ot(e)))&&r.add(e)}catch(t){n&&console.warn(`[fusion:react-router] Error reading file ${e}:`,t)}return r}function At(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 xt(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 $t=(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(pt))return null;if(!e.match(dt))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=ht.exec(e);for(;null!==r;)n(r[1]),r=ht.exec(e);for(r=mt.exec(e);null!==r;)n(r[2]),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);for(r=yt.exec(e);null!==r;)n(r[1]),r=yt.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=Pt(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(ht,'"$1"'),c=c.replace(Et,(e,t)=>{const n=s.get(t);if(!n)return e;return`{\n index: true,\n ${At(n)}\n }`}),c=c.replace(bt,(e,t)=>{const n=s.get(t);if(!n)return e;return`{\n ${At(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=xt(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,wt,/\blayout\s*\(/,(e,t,n)=>{if(!n)return null;return`{\n ${At(n)},\n children: ${t}\n }`},s),c=c.replace(Lt,(e,t,n)=>{const r=s.get(n);if(!r)return e;return`{\n path: ${t},\n ${At(r)}\n }`}),c=function(e){let t=e,n=!0;for(;n;){n=!1;let e=St.exec(t);for(;null!==e;){const r=e.index,i=e[1],o=e.index+e[0].length-1,s=xt(t,o,"[","]");if(null===s){e=St.exec(t);continue}const a=t.slice(o+1,s);if(/\bprefix\s*\(/.test(a)){e=St.exec(t);continue}const c=t.indexOf(")",s);if(-1===c){e=St.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=_t.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=xt(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}`,_t.lastIndex=0,n=_t.exec(t);continue}}}n=_t.exec(t)}return t}(c),c=function(e,t){const n=e.match(It);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=ut(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(),$t({debug:!0}),A({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 Rt(e,t){x("object"==typeof e,t)}const Ft=e=>{if(e.repository)return"string"==typeof e.repository?e.repository:e.repository.url},Ut=()=>{try{return $("git remote get-url origin").toString().trim().replace("git@github.com:","https://github.com/").replace(/\.git$/,"")}catch(e){return}},kt=(e="HEAD")=>{try{return $(`git rev-parse ${e}`).toString().trim()}catch(e){return}},Bt=()=>{try{return $("git branch --show-current").toString().trim()||void 0}catch{return}},Gt="15.0.6",Mt=e=>{if(e?.startsWith("refs/heads/"))return e.slice(11)||void 0},jt=()=>{const e={cliVersion:Gt,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=w(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:Mt(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:Bt()}},zt=["png","jpg","jpeg","gif","svg","ico","webp","mp4","webm","mp3","woff2","woff","eot","ttf","otf","pdf","md","txt"];const Ht=(e,t,n)=>{Rt(t,"expected packageJson"),x(t.name,"expected [name] in packageJson"),x(t.version,"expected [version] in packageJson");const r=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/app-bundle.js":ut(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=Ft(t)??Ut();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:kt(),annotations:jt(),projectPage:t.homepage,allowedExtensions:zt.map(e=>`.${e}`)}}},qt=(e,t)=>P(e,t),Vt=k.object({environment:k.record(k.string(),k.any()).describe("Key-value map of environment-specific variables for the application. Defaults to an empty object if not provided.").optional().default({}),endpoints:k.record(k.string(),k.object({url:k.string({message:"The endpoint URL. This field is required."}),scopes:k.array(k.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."),Wt=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],Kt=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],Zt=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],Yt=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Xt=(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},Jt=e=>{if("number"==typeof e)return Math.log10(e);const t=e.toString(10);return t.length+Math.log10(`0.${t.slice(0,15)}`)},Qt=(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 en(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?Yt:Zt:t.binary?Kt:Wt,r=t.space?t.nonBreakingSpace?" ":" ":"",i="number"==typeof e?0===e:0n===e;if(t.signed&&i){return Qt(` 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+Xt(e,t.locale,a)+r+n[0]}else{const i=Math.min(Math.floor(t.binary?("number"==typeof(l=e)?Math.log(l):Jt(l)*Math.log(10))/Math.log(1024):Jt(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+Xt(Number(e),t.locale,a)+r+n[i]}var l;return Qt(c,t.fixedWidth)}const tn=(e,t)=>r.blueBright(t?.relative?`./${u(t?.cwd??process.cwd(),e)}`:e),nn=e=>"string"==typeof e?nn(L(e).size):r.yellowBright(en(e)),rn=async(e,t,n)=>{const i=Ht(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 N(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 qt(r,t??{})}return qt(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",tn(r,{relative:!0})),t}catch(e){if(e instanceof O){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${tn(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?tn(n?.manifestPath):""}`),e}};async function on(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 at(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 sn=async e=>{const{log:t}=e??{},n=await on(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 rn(r,n,{log:t,manifestPath:e?.manifest,snapshot:e?.snapshot});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},an=async e=>{const{log:t,snapshot:i}=e??{};t?.log(r.bold("Starting to build application"));const{manifest:o,pkg:s,env:a}=await sn({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 cn,ln,un={exports:{}};function fn(){return ln?cn:(ln=1,cn={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 pn,dn,hn,mn,gn,vn,yn,En,bn={};function wn(){return pn||(pn=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])}(bn)),bn}function Ln(){return En||(En=1,un.exports=function(){if(hn)return dn;hn=1;const e=B,t=G,n=fn(),r=wn(),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 dn=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,dn}(),un.exports.Constants=fn(),un.exports.Errors=wn(),un.exports.FileAttr=function(){if(gn)return mn;gn=1;const e=G;return mn=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")}}},mn}(),un.exports.decoder=yn?vn:(yn=1,vn={efs:!0,encode:e=>Buffer.from(e,"utf8"),decode:e=>e.toString("utf8")})),un.exports}var Sn,Cn,_n,In,Dn,Nn={};function On(){if(Cn)return Sn;Cn=1;var e=Ln(),t=e.Constants;return Sn=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 Pn(){return Dn||(Dn=1,Nn.EntryHeader=On(),Nn.MainHeader=function(){if(In)return _n;In=1;var e=Ln(),t=e.Constants;return _n=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")}}}}()),Nn}var An,xn,$n,Tn,Rn,Fn,Un,kn,Bn,Gn,Mn,jn,zn,Hn={};function qn(){if(Fn)return Rn;Fn=1;const{randomFillSync:e}=j,t=wn(),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 Vn(){return Un||(Un=1,Hn.Deflater=xn?An:(xn=1,An=function(e){var t=M,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)}}}),Hn.Inflater=function(){if(Tn)return $n;Tn=1;const e=+(process.versions?process.versions.node:"").split(".")[0]||0;return $n=function(t,n){var r=M;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)}}}}(),Hn.ZipCrypto=qn()),Hn}function Wn(){if(Bn)return kn;Bn=1;var e=Ln(),t=Pn(),n=e.Constants,r=Vn();return kn=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")}}},kn}function Kn(){if(Mn)return Gn;Mn=1;const e=Wn(),t=Pn(),n=Ln();return Gn=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)}}}},Gn}var Zn=function(){if(zn)return jn;zn=1;const e=Ln(),t=G,n=Wn(),r=Kn(),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 jn=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()}}},jn}(),Yn=W(Zn);class Xn{#ne;get ora(){return this.#ne}set attachConsole(e){e?(console.log=this.info.bind(this),console.info=this.info.bind(this)):console=er}static Global(e){return Jn=new Xn(e),Jn}static Clone(e){const{prefixText:t}=e||Jn;return new Xn({prefixText:t})}static get Current(){return Jn}static set Current(e){Jn=e}constructor(e){this.#ne=z(e)}get prefixText(){return this.#ne.prefixText}info(...e){this.#ne.info(Qn(e))}succeed(...e){this.#ne.succeed(Qn(e))}start(...e){this.#ne.start(Qn(e))}fail(...e){this.#ne.fail(Qn(e))}warn(...e){this.#ne.warn(Qn(e))}clear(){this.#ne.clear()}stop(){this.#ne.stop()}stopAndPersist(...e){this.#ne.stopAndPersist(...e)}}let Jn=new Xn;const Qn=e=>e.length?e.join(" "):void 0,er=console;class tr{spinner;debugMode;constructor(e,t){this.spinner=new Xn({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 nr=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}),rr=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:"/@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"]},{url:"/@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}=q(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},ir=async(e,t,n)=>{const{overrides:r,log:i}=n??{},o=rr(t);i?.debug("\nBase dev server config:",nr(o)),i?.debug("\nCreating dev server with overrides:",r);try{const{path:t,config:n}=await(async(e,t,n)=>N("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 ft(t,r??{})}}}))(e,o);i?.debug(`\nLoaded dev server config from ${t}`),i?.debug("\nLoaded dev server config:",nr(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 H(n,a)}catch(e){return i?.warn("\nFailed to load dev server config:",e instanceof Error?e.message:String(e)),H(o,r)}},or="fusion-framework-cli",sr={"X-Fusion-CLI-Name":or,"X-Fusion-CLI-Version":Gt,"User-Agent":`${or}/${Gt}`},ar="https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md",cr="https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/application.md";function lr(){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 ur(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=lr();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(ar)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(cr)}`,""),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=lr();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(ar)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(cr)}`,""),t.join("\n")}(t);default:return}}function fr(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 ur(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=lr();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(ar)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(cr)}`,""),l.join("\n")}const pr=(e,t,n)=>{const r=s(String(e));S(r)||C(r,{recursive:!0}),_(e,t,n)},dr=["package.json","LICENSE.md","README.md","CHANGELOG.md"],hr=async(e,t)=>{const{archive:n,log:i}=t??{},o=s(e.path),c=t?.buildDir??"dist",l=a(o,c);if(!(await I(l)).isDirectory())throw new Error(`Build directory ${c} does not exist`);i?.log(r.bold("Starting to pack bundle"));const u=new Yn;if(u.addLocalFolder(l,c),t?.content)for(const[e,n]of Object.entries(t.content))u.addFile(e,Buffer.from(n)),i?.info("ð",tn(e,{relative:!0}));i?.info("ð",tn(l,{relative:!0}));for(const t of dr.concat(e.packageJson.files??[])){const e=a(o,t),n=s(e.replace(o,""));ct(e)?(u.addLocalFile(e,n),i?.info("ð",tn(e,{relative:!0}))):i?.warn(r.dim("ð",tn(e,{relative:!0})))}return n&&(ct(s(n))||await D(s(n),{recursive:!0}),i?.start("compressing content"),await u.writeZipPromise(n),i?.succeed("ð",tn(n,{relative:!0}),nn(n))),u},mr=async e=>{const{log:t,manifest:n,snapshot:r}=e;process.env.NODE_ENV,process.cwd();const{pkg:i,manifest:o}=await an({log:t,manifest:n,snapshot:r});if(!o.build)throw new Error("Manifest build config not found");return{archive:await hr(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}},gr=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 N(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 Vt.parse(t??r)}return Vt.parse(n.default??r)}}})})(e,{file:t?.config});return n?.succeed("âïļ generated config from ",tn(i.path,{relative:!0})),i.config}catch(e){if(e instanceof O){if(!t.config)return n?.succeed(r.dim("âïļ no local application config applied, using built-in")),{environment:{},endpoints:{}};n?.warn(`failed to load config file ${tn(t.config)}, please check the path.`)}throw n?.fail("failed to resolve application config"),n?.debug(e),e}},vr=async e=>{const{log:t}=e??{};let n;try{t?.start("resolve project package"),n=await on(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 gr(o,{log:t,config:e?.config});if(t?.debug("config:",s),e?.output){t?.start("writing config to file");try{await pr(e.output,JSON.stringify(s,null,2)),t?.succeed("config written successfully",tn(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:s,pkg:n}};class yr extends Error{response;static Name="HttpResponseError";constructor(e,t,n){super(e,n),this.response=t}}class Er extends yr{static Name="HttpJsonResponseError";data;constructor(e,t,n){super(e,t,n),this.name=Er.Name,this.data=n?.data}}class br extends yr{static Name="ServerSentEventResponseError";constructor(e,t,n){super(e,t,n),this.name=br.Name}}const wr=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:",tn(e.uri))}),t?.start("Publishing application config");const s=await e.json(`/apps/${r}/builds/${i}/config`,{method:"PUT",body:n,headers:sr});t?.debug("Response:",s),t?.succeed("Published application config")}catch(e){if(e instanceof Er)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=ur(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=fr(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)}},Lr=async e=>{const{log:n}=e??{},r="@equinor/fusion-framework-dev-portal",i=await on(n),o={root:i.root,environment:"local",...e?.env,mode:"development",command:"serve"},a=await rn(o,i,{log:n,manifestPath:e?.manifest}),c=await gr(o,{log:n,config:e?.config});let l,u;const p=d(import.meta.resolve(r));ct(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 ir(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},Sr=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 on(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 rn(m,l,{log:n,manifestPath:e?.manifest}),v=await gr(m,{log:n,config:e?.config});if(n?.debug("Output directory:",h),!S(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));ct(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),L=E?[l.root,E,h]:[l.root,h];n?.debug(`File system access allowed for: \n${L.join("\n")}\n`);const C=t(w,{server:{port:i,host:o||w.server?.host||"localhost",fs:{allow:L}}}),_={template:{portal:{id:c}},app:{manifest:g,config:v}};y&&(_.portal={manifest:{name:c,build:{templateEntry:y,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",C),n?.debug("dev server config:",_),n?.start("Starting preview server with dev-portal...");try{const e=await ir(m,_,{overrides:C,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 R{satisfies(e){return F(this,e)}}var _r=function(e,t){return _r=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])},_r(e,t)};function Ir(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}_r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Dr=function(){return Dr=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},Dr.apply(this,arguments)};function Nr(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 Or(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 Pr(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 Ar(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 xr(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 $r(e){return this instanceof $r?(this.v=e,this):new $r(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 $r?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=Pr(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 Fr(e){return"function"==typeof e}function Ur(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 kr=Ur(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 Br(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var Gr=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=Pr(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(Fr(c))try{c()}catch(e){i=e instanceof kr?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=Pr(l),f=u.next();!f.done;f=u.next()){var p=f.value;try{zr(p)}catch(e){i=null!=i?i:[],e instanceof kr?i=xr(xr([],Ar(i)),Ar(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 kr(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)zr(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)&&Br(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&Br(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=((t=new e).closed=!0,t),e}(),Mr=Gr.EMPTY;function jr(e){return e instanceof Gr||e&&"closed"in e&&Fr(e.remove)&&Fr(e.add)&&Fr(e.unsubscribe)}function zr(e){Fr(e)?e():e.unsubscribe()}var Hr={Promise:void 0},qr=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,xr([e,t],Ar(n)))};function Vr(e){qr(function(){throw e})}function Wr(){}function Kr(e){e()}var Zr=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,jr(t)&&t.add(n)):n.destination=Qr,n}return Ir(t,e),t.create=function(e,t,n){return new Xr(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}(Gr),Yr=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){Jr(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){Jr(e)}else Jr(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){Jr(e)}},e}(),Xr=function(e){function t(t,n,r){var i,o=e.call(this)||this;return i=Fr(t)||!t?{next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:t,o.destination=new Yr(i),o}return Ir(t,e),t}(Zr);function Jr(e){Vr(e)}var Qr={closed:!0,next:Wr,error:function(e){throw e},complete:Wr},ei="function"==typeof Symbol&&Symbol.observable||"@@observable";function ti(e){return e}var ni=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 Zr||function(e){return e&&Fr(e.next)&&Fr(e.error)&&Fr(e.complete)}(r)&&jr(r)?e:new Xr(e,t,n);return Kr(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=ri(t))(function(t,r){var i=new Xr({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[ei]=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?ti: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=ri(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 ri(e){var t;return null!==(t=null!=e?e:Hr.Promise)&&void 0!==t?t:Promise}function ii(e){return function(t){if(function(e){return Fr(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 oi(e,t,n,r,i){return new si(e,t,n,r,i)}var si=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 Ir(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}(Zr),ai=Ur(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),ci=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 Ir(t,e),t.prototype.lift=function(e){var t=new li(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new ai},t.prototype.next=function(e){var t=this;Kr(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=Pr(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;Kr(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;Kr(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?Mr:(this.currentObservers=null,o.push(e),new Gr(function(){t.currentObservers=null,Br(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 ni;return e.source=this,e},t.create=function(e,t){return new li(e,t)},t}(ni),li=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return Ir(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:Mr},t}(ci),ui=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return Ir(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}(ci),fi={now:function(){return(fi.delegate||Date).now()},delegate:void 0},pi=function(e){function t(t,n,r){void 0===t&&(t=1/0),void 0===n&&(n=1/0),void 0===r&&(r=fi);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 Ir(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}(ci),di=function(e){function t(t,n){return e.call(this)||this}return Ir(t,e),t.prototype.schedule=function(e,t){return this},t}(Gr),hi=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,xr([e,t],Ar(n)))},mi=function(e){return clearInterval(e)},gi=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 Ir(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),hi(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&&mi(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,Br(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(di),vi=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=fi.now,e}(),yi=function(e){function t(t,n){void 0===n&&(n=vi.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return Ir(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}(vi),Ei=new yi(gi),bi=Ei,wi=new ni(function(e){return e.complete()});function Li(e){return e&&Fr(e.schedule)}function Si(e){return e[e.length-1]}var Ci=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function _i(e){return Fr(null==e?void 0:e.then)}function Ii(e){return Fr(e[ei])}function Di(e){return Symbol.asyncIterator&&Fr(null==e?void 0:e[Symbol.asyncIterator])}function Ni(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 Oi="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function Pi(e){return Fr(null==e?void 0:e[Oi])}function Ai(e){return Tr(this,arguments,function(){var t,n,r;return Or(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,$r(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,$r(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,$r(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 xi(e){return Fr(null==e?void 0:e.getReader)}function $i(e){if(e instanceof ni)return e;if(null!=e){if(Ii(e))return i=e,new ni(function(e){var t=i[ei]();if(Fr(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(Ci(e))return r=e,new ni(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()});if(_i(e))return n=e,new ni(function(e){n.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,Vr)});if(Di(e))return Ti(e);if(Pi(e))return t=e,new ni(function(e){var n,r;try{for(var i=Pr(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(xi(e))return Ti(Ai(e))}var t,n,r,i;throw Ni(e)}function Ti(e){return new ni(function(t){(function(e,t){var n,r,i,o;return Nr(this,void 0,void 0,function(){var s,a;return Or(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 Fi(e,t){return void 0===t&&(t=0),ii(function(n,r){n.subscribe(oi(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 Ui(e,t){return void 0===t&&(t=0),ii(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function ki(e,t){if(!e)throw new Error("Iterable cannot be null");return new ni(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 Bi(e,t){if(null!=e){if(Ii(e))return function(e,t){return $i(e).pipe(Ui(t),Fi(t))}(e,t);if(Ci(e))return function(e,t){return new ni(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(_i(e))return function(e,t){return $i(e).pipe(Ui(t),Fi(t))}(e,t);if(Di(e))return ki(e,t);if(Pi(e))return function(e,t){return new ni(function(n){var r;return Ri(n,t,function(){r=e[Oi](),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 Fr(null==r?void 0:r.return)&&r.return()}})}(e,t);if(xi(e))return function(e,t){return ki(Ai(e),t)}(e,t)}throw Ni(e)}function Gi(e,t){return t?Bi(e,t):$i(e)}function Mi(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=function(e){return Li(Si(e))?e.pop():void 0}(e);return Gi(e,n)}var ji=Ur(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function zi(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 ji)}})})}function Hi(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o=new Xr({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new ji)}});e.subscribe(o)})}function qi(e){return e instanceof Date&&!isNaN(e)}var Vi=Ur(function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function Wi(e){throw new Vi(e)}function Ki(e,t){return ii(function(n,r){var i=0;n.subscribe(oi(r,function(n){r.next(e.call(t,n,i++))}))})}var Zi=Array.isArray;function Yi(e){return Ki(function(t){return function(e,t){return Zi(t)?e.apply(void 0,xr([],Ar(t))):e(t)}(e,t)})}function Xi(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;$i(n(e,u++)).subscribe(oi(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(oi(t,d,function(){f=!0,p()})),function(){null==a||a()}}function Ji(e,t,n){return void 0===n&&(n=1/0),Fr(t)?Ji(function(n,r){return Ki(function(e,i){return t(n,e,r,i)})($i(e(n,r)))},n):("number"==typeof t&&(n=t),ii(function(t,r){return Xi(t,r,e,n)}))}var Qi=["addListener","removeListener"],eo=["addEventListener","removeEventListener"],to=["on","off"];function no(e,t,n,r){if(Fr(n)&&(r=n,n=void 0),r)return no(e,t,n).pipe(Yi(r));var i=Ar(function(e){return Fr(e.addEventListener)&&Fr(e.removeEventListener)}(e)?eo.map(function(r){return function(i){return e[r](t,i,n)}}):function(e){return Fr(e.addListener)&&Fr(e.removeListener)}(e)?Qi.map(ro(e,t)):function(e){return Fr(e.on)&&Fr(e.off)}(e)?to.map(ro(e,t)):[],2),o=i[0],s=i[1];if(!o&&Ci(e))return Ji(function(e){return no(e,t,n)})($i(e));if(!o)throw new TypeError("Invalid event target");return new ni(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 ro(e,t){return function(n){return function(r){return e[n](t,r)}}}function io(e,t,n){void 0===e&&(e=0),void 0===n&&(n=bi);var r=-1;return null!=t&&(Li(t)?n=t:r=t),new ni(function(t){var i=qi(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 oo(e,t){return ii(function(n,r){var i=0;n.subscribe(oi(r,function(n){return e.call(t,n,i++)&&r.next(n)}))})}function so(e){return ii(function(t,n){var r,i=null,o=!1;i=t.subscribe(oi(n,void 0,void 0,function(s){r=$i(e(s,so(e)(t))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(n))})}function ao(e,t,n,r,i){return function(o,s){var a=n,c=t,l=0;o.subscribe(oi(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 co(e,t){return ii(ao(e,t,arguments.length>=2,!1,!0))}function lo(e){return ii(function(t,n){var r=!1;t.subscribe(oi(n,function(e){r=!0,n.next(e)},function(){r||n.next(e),n.complete()}))})}function uo(e,t){return void 0===t&&(t=ti),e=null!=e?e:fo,ii(function(n,r){var i,o=!0;n.subscribe(oi(r,function(n){var s=t(n);!o&&e(i,s)||(o=!1,i=s,r.next(n))}))})}function fo(e,t){return e===t}function po(e){return void 0===e&&(e=ho),ii(function(t,n){var r=!1;t.subscribe(oi(n,function(e){r=!0,n.next(e)},function(){return r?n.complete():n.error(e())}))})}function ho(){return new ji}function mo(e){return ii(function(t,n){try{t.subscribe(n)}finally{n.add(e)}})}function go(e,t){var n=arguments.length>=2;return function(e){return e.pipe(ti,(r=1)<=0?function(){return wi}:ii(function(e,t){var n=[];e.subscribe(oi(t,function(e){n.push(e),r<n.length&&n.shift()},function(){var e,r;try{for(var i=Pr(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?lo(t):po(function(){return new ji}));var r}}function vo(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 Xr({next:function(){i.unsubscribe(),e()}});return $i(t.apply(void 0,xr([],Ar(n)))).subscribe(i)}}else e()}function yo(e,t){return ii(function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(oi(r,function(n){null==i||i.unsubscribe();var s=0,c=o++;$i(e(n,c)).subscribe(i=oi(r,function(e){return r.next(t?t(n,e,c,s++):e)},function(){i=null,a()}))},function(){s=!0,a()}))})}function Eo(e){return ii(function(t,n){$i(e).subscribe(oi(n,function(){return n.complete()},Wr)),!n.closed&&t.subscribe(n)})}function bo(e,t,n){var r=Fr(e)||t||n?{next:e,error:t,complete:n}:e;return r?ii(function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;e.subscribe(oi(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)}))}):ti}function wo(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n,r=Fr(Si(n=e))?n.pop():void 0;return ii(function(t,n){for(var i=e.length,o=new Array(i),s=e.map(function(){return!1}),a=!1,c=function(t){$i(e[t]).subscribe(oi(n,function(e){o[t]=e,a||s[t]||(s[t]=!0,(a=s.every(ti))&&(s=null))},Wr))},l=0;l<i;l++)c(l);t.subscribe(oi(n,function(e){if(a){var t=xr([e],Ar(o));n.next(r?r.apply(void 0,xr([],Ar(t))):t)}}))})}const Lo=(e,t,n)=>{const r="string"==typeof t?t.split("."):t,i=r.shift();return i&&(e[i]??={},r.length?Lo(e[i],r,n):Object.assign(e,{[i]:n})),e};class So{#re={};createConfig(e,t){return Gi(this._createConfig(e,t))}async createConfigAsync(e,t){return zi(this.createConfig(e,t))}_set(e,t){const n="function"==typeof t?t:async()=>t;this.#re[e]=n}_get(e){return this.#re[e]}_has(e){return e in this.#re}_createConfig(e,t){return Gi(this._buildConfig(e,t)).pipe(yo(t=>this._processConfig(t,e)))}_buildConfig(e,t){return Gi(Object.entries(this.#re)).pipe(Ji(([t,n])=>Gi(n(e)).pipe(oo(e=>void 0!==e),Ki(e=>({target:t,value:e})),so(e=>(console.error(`Failed to execute config callback: ${n.name} for attribute: '${t}'`,e),wi)))),co((e,{target:t,value:n})=>Lo(e,t,n),t??{}))}_processConfig(e,t){return Mi(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 _o{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}#ie;#oe;get version(){return this.#ie}constructor(e){const{version:t}=e;this.#ie=new Cr(t),this.#oe=new Gr}_addTeardown(e){return this.#oe.add(e),()=>this.#oe.remove(e)}dispose(){this.#oe.unsubscribe()}}class Io extends Error{constructor(){super("Module initialization timed out"),this.name="RequiredModuleTimeoutError"}}class Do{static className="ModulesConfigurator";get version(){return"6.0.0"}#se=new pi(100);get event$(){return this.#se.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.#se.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 zi(Gi(t).pipe(Ji(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}}),co((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 ui({}),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}}),Hi(r.pipe(oo(t=>!!t[e]),Ki(t=>t[e]),function(e){var t=qi(e)?{first:e}:"number"==typeof e?{each:e}:e,n=t.first,r=t.each,i=t.with,o=void 0===i?Wi:i,s=t.scheduler,a=void 0===s?Ei:s,c=t.meta,l=void 0===c?null:c;if(null==n&&null==r)throw new TypeError("No timeout provided.");return ii(function(e,t){var i,s,c=null,u=0,f=function(e){s=Ri(t,a,function(){try{i.unsubscribe(),$i(o({meta:l,lastValue:c,seen:u})).subscribe(t)}catch(e){t.error(e)}},e)};i=e.subscribe(oi(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=Fr(n=()=>{const n=new Io;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 ni(function(e){return e.error(r())});var n,r}}),bo(()=>{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=Gi(this.modules).pipe(Ji(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 Gi(Promise.resolve(n.initialize({ref:t,config:e[r],requireInstance:o,hasModule:i}))).pipe(Ki(e=>{e instanceof _o||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(lo([])).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 zi(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=Gi(n).pipe(oo(e=>!!e.postInitialize),bo(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"}})}),Ji(n=>{const r=performance.now();return Gi(n.postInitialize({ref:t,modules:e,instance:e[n.name]})).pipe(bo(()=>{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}})}),lo(null),so(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}),wi)))}),lo(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 zi(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.#se.complete()}}class No{_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?Gi(Object.values(this._operators)).pipe((t=(e,t)=>Promise.resolve(t(e)).then(t=>t??e),n=e,r=1,ii(function(e,i){var o=n;return Xi(e,i,function(e,n){return t(o,e,n)},r,function(e){o=e},!1,void 0,function(){return o=null})})),go()):Mi(e);var t,n,r}}class Oo extends No{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 Po extends No{}const Ao=k.object({attributionReporting:k.object({eventSourceEligible:k.boolean().optional(),triggerEligible:k.boolean().optional()}).optional(),body:k.union([k.string(),k.instanceof(Blob),k.instanceof(ArrayBuffer),k.instanceof(FormData),k.instanceof(URLSearchParams),k.instanceof(ReadableStream)]).optional(),browsingTopics:k.boolean().optional(),cache:k.enum(["default","no-store","reload","no-cache","force-cache","only-if-cached"]).optional(),credentials:k.enum(["omit","same-origin","include"]).optional(),headers:k.record(k.string(),k.string()).optional().or(k.instanceof(Headers)),integrity:k.string().optional(),keepalive:k.boolean().optional(),method:k.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:k.enum(["same-origin","cors","no-cors","navigate","websocket"]).optional(),priority:k.enum(["low","high","auto"]).optional(),redirect:k.enum(["follow","error","manual"]).optional(),referrer:k.string().optional(),referrerPolicy:k.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:k.instanceof(AbortSignal).optional()}).extend({uri:k.string(),path:k.string().optional()}),xo=e=>e=>{const{error:t,success:n,data:r}=k.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},$o=e=>e=>{const{strict:t,parse:n}={},r=t?Ao:Ao.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*Ro(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 Fo=e=>t=>{if(!t.ok)throw new br(`HTTP error! Status: ${t.status}`,t);if(!t.body)throw new br("Response body is not readable",t);if(!t.headers.get("Content-Type")?.includes("text/event-stream"))throw new br("Response is not a text/event-stream",t);const n=t.body.getReader();return Gi(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(Eo(e?.abortSignal?no(e.abortSignal,"abort"):wi),mo(async()=>{await n.cancel().catch(()=>{}),n.releaseLock()}))};class Uo{_clients={};get clients(){return{...this._clients}}defaultHttpClientCtor;defaultHttpRequestHandler=new Oo({"capitalize-method":xo(),"request-validation":$o()});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 ko extends Error{}const Bo=["http:","https:","ws:","wss:"];class Go extends _o{config;get defaultHttpRequestHandler(){return this.config.defaultHttpRequestHandler}constructor(e){super({version:"8.0.1",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 Bo.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 ko(`No registered http client for key [${e}]`);return n}var t;return e}}function Mo(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 ni(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=Dr(Dr({},r),{signal:o}),u=function(e){s=!1,t.error(e)};return fetch(e,l).then(function(e){n?$i(n(e)).subscribe(oi(t,void 0,function(){s=!1,t.complete()},u)):(s=!1,t.next(e),t.complete())}).catch(u),function(){s&&i.abort()}})}const jo=async e=>{if(204===e.status)return Promise.resolve();try{const t=await e.json();if(!e.ok)throw new Er("network response was not OK",e,{data:t});return t}catch(t){if(t instanceof Er)throw t;throw new Er("failed to parse response",e,{cause:t})}},zo=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 Ho{uri;requestHandler;responseHandler;_request$=new ci;_response$=new ci;_abort$=new ci;get request$(){return this._request$.asObservable()}get response$(){return this._response$.asObservable()}constructor(e,t){this.uri=e,this.requestHandler=new Oo(t?.requestHandler),this.responseHandler=new Po(t?.responseHandler),this._init()}_init(){}fetch$(e,t){return this._fetch$(e,t)}fetch(e,t){return Hi(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??jo,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 Hi(this.json$(e,t))}blob$(e,t){const n=t?.selector??zo,r={...t,selector:n};return this.fetch$(e,r)}blob(e,t){return Hi(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=Fo({...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 Mi({...r,path:e,uri:this._resolveUrl(e)}).pipe(yo(e=>this._prepareRequest(e)),bo(e=>this._request$.next(e)),yo(({uri:e,path:t,...n})=>Mo(e,n)),yo(e=>this._prepareResponse(e)),bo(e=>this._response$.next(e)),yo(e=>{if(n)try{return n(e)}catch(t){throw new yr("failed to execute response selector",e,{cause:t})}return Mi(e)}),Eo(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 qo extends Ho{defaultScopes=[];fetch$(e,t){const n={...t,scopes:this.defaultScopes.concat(t?.scopes||[])};return super._fetch$(e,n)}}const Vo={name:"http",configure:()=>new Uo(qo),initialize:async({config:e,hasModule:t,requireInstance:n})=>{const r=new Go(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}},Wo=(...e)=>t=>t.pipe(function(e,t){return Fr(t)?Ji(e,t,1):Ji(e,1)}(...e)),Ko=(...e)=>t=>t.pipe(Ji(...e)),Zo=(...e)=>t=>t.pipe(yo(...e)),Yo=e=>e.pipe(Ki(e=>e.value));var Xo=/^(?:[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 Jo(e){if(!function(e){return"string"==typeof e&&Xo.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 Qo=[];for(let e=0;e<256;++e)Qo.push((e+256).toString(16).slice(1));function es(e,t=0){return(Qo[e[t+0]]+Qo[e[t+1]]+Qo[e[t+2]]+Qo[e[t+3]]+"-"+Qo[e[t+4]]+Qo[e[t+5]]+"-"+Qo[e[t+6]]+Qo[e[t+7]]+"-"+Qo[e[t+8]]+Qo[e[t+9]]+"-"+Qo[e[t+10]]+Qo[e[t+11]]+Qo[e[t+12]]+Qo[e[t+13]]+Qo[e[t+14]]+Qo[e[t+15]]).toLowerCase()}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?Jo(r):r;if("string"==typeof r&&(r=Jo(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){if(o??=0,o<0||o+16>i.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);for(let e=0;e<16;++e)i[o+e]=c[e];return i}return es(c)}function rs(e,t,n){return crypto.randomUUID?crypto.randomUUID():function(e){e=e||{};const t=e.random??e.rng?.()??crypto.getRandomValues(ts);if(t.length<16)throw new Error("Random bytes length must be >= 16");return t[6]=15&t[6]|64,t[8]=63&t[8]|128,es(t)}(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)/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 ns(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 Ss(e){return!!e&&(Is(e)||xs(e)||!!e[us]||!!e[gs]?.[us]||$s(e)||Ts(e))}var Cs=hs[vs][gs].toString(),_s=new WeakMap;function Is(e){if(!e||!Rs(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===Cs}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_:xs(e)?1:$s(e)?2:Ts(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 xs=Array.isArray,$s=e=>e instanceof Map,Ts=e=>e instanceof Set,Rs=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($s(e))return new Map(e);if(Ts(e))return new Set(e);if(xs(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)||!Ss(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||!Rs(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)),Ss(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)||!Ss(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 Ss(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_||!Ss(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 Ss(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]=$s(t)?Ks(Hs).proxyMap_(t,n):Ts(t)?Ks(Hs).proxySet_(t,n):function(e,t){const n=xs(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(!Ss(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),Ss(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||!Rs(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){Ss(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)=>oo(t=>e.includes(t.type));class La extends ni{#ae=new ci;#ce;get action$(){return this.#ae.asObservable()}get value(){return this.#ce.value}get closed(){return this.#ce.closed||this.#ae.closed}constructor(e,t){super(e=>this.#ce.subscribe(e));const n="getInitialState"in e?e.getInitialState():t;this.#ce=new ui(n),this.#ae.pipe(function(e,t){return ii(ao(e,t,arguments.length>=2,!0))}(e,n),uo()).subscribe(this.#ce),this.reset=()=>this.#ce.next(n)}reset;next(e){this.#ae.next(e)}select(e,t){return this.#ce.pipe(Ki(e),uo(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(Ji(e=>Gi(new Promise((t,n)=>{try{t(r(e,this.value))}catch(e){n(e)}})).pipe(so(e=>(console.warn("unhandled effect",e),wi)))),oo(e=>!!e),Fi(Ei)).subscribe(this.#ae)}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(so(e=>(console.trace("unhandled exception, epic closed!",e),wi)),Fi(Ei)).subscribe(this.#ae)}unsubscribe(){this.#ae.unsubscribe(),this.#ce.unsubscribe()}complete(){this.#ae.complete(),this.#ce.complete()}asObservable(){return this.#ce.asObservable()}}function Sa(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 Ca="::";function _a(e,t,n,r){const i=Sa([e,"request"].join(Ca),t);return n&&Object.assign(i,{success:Sa([e,"success"].join(Ca),n)}),r&&Object.assign(i,{failure:Sa([e,"failure"].join(Ca),r)}),i}function Ia(e){return Ss(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(Ss(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:Sa("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:Sa("client/cancel",(e,t)=>({payload:{transaction:e,reason:t},meta:{transaction:e,created:Date.now()}})),error:Sa("client/error",(e,t)=>({payload:{transaction:e,error:t},meta:{transaction:e,created:Date.now()}}))},Oa=e=>e.pipe(oo(Na.request.match),Ki(e=>Na.execute(e.meta.transaction)));class Pa extends ni{#le=new ui("idle");get status(){return this.#le.value}get status$(){return this.#le.asObservable()}#ue;#fe;get transaction(){return this.#fe}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(oo(e=>e.meta.transaction===r));t.add(e.state$.pipe(oo(e=>!!e[r]),Ki(e=>e[r])).subscribe(e=>{this.#le.next(e.status)})),t.add(i.pipe(oo(Na.execute.success.match),Ki(({payload:e})=>e)).subscribe(e=>{this.#le.next("complete"),t.next(e),t.complete()})),t.add(i.pipe(oo(Na.error.match),Ki(({payload:e})=>e)).subscribe(e=>{this.#le.next("error"),t.error(e.error)})),t.add(i.pipe(oo(Na.cancel.match)).subscribe(e=>{this.#le.next("canceled"),t.error(new cs("abort",{message:e.payload.reason||`job: ${r} was canceled`,request:this.#ue.getRequest(e.meta.transaction)}))})),n?.signal&&t.add(no(n?.signal,"abort").pipe(Ki(()=>Na.cancel(r,`job: ${r} was aborted on signal from caller: ${n?.ref}`))).subscribe(t=>e.next(t))),t.add(()=>{this.complete()})}),this.#ue=e;const r=Na.request(t,{ref:n?.ref,retry:n?.retry});this.#fe=r.meta.transaction,this.#ue.next(r)}complete(e){this.closed||this.cancel(e??`job: ${this.transaction} was completed`)}cancel(e){const t=this.transaction;this.#ue.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 xa extends ni{#ce;#pe;#de;_registerEvent(e,t,n){this.#de.next(new Aa(e,t,n))}get closed(){return this.#ce.closed}get state$(){return this.#ce.asObservable()}get action$(){return this.#ce.action$}get event$(){return this.#de.asObservable()}get success$(){return this.action$.pipe(oo(Na.execute.success.match),Ki(({payload:e})=>e))}get error$(){return this.action$.pipe(wa("client/error"),wo(this.#ce),Ki(([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.#ce.subscribe(e)),this.#ce=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.#pe=new Gr(()=>{this.#ce.complete(),this.#de.complete()}),this.#de=new ci,this.#pe.add(this.#ce.addFlow(Oa)),this.#pe.add(this.#ce.addFlow((e=>(t,n)=>t.pipe(oo(Na.execute.match),wo(n),Ji(([n,r])=>{const i=n.payload,o=r[i],s=new AbortController,a=t.pipe(oo(Na.cancel.match),oo(e=>e.payload.transaction===i),bo(()=>{s.signal.aborted||s.abort()}));try{return Gi(e(o.args,s.signal)).pipe(Ki(e=>Na.execute.success({...o,status:"complete",completed:Date.now(),value:e})),so(e=>Mi(Na.execute.failure(e,i))),Eo(a))}catch(e){return Mi(Na.execute.failure(e,i))}})))(e))),this.#pe.add(this.#ce.addFlow((e=>(t,n)=>t.pipe(oo(Na.execute.failure.match),wo(n),Ji(([t,r])=>{const{transaction:i}=t.meta,o=r[i];if(!o)return Mi(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 Mi(Na.error(i,e))}return("function"==typeof a.delay?Gi(a.delay(c)).pipe(so(e=>Mi(Na.error(i,new cs("error",{message:"retry delay callback failed!",cause:[...o.errors??[],e],request:o}))))):io(a.delay)).pipe(wo(n),oo(([e,t])=>!!t[i]),bo(([,e])=>{if(!e[i])throw new cs("error",{message:"request not found, most likely removed while scheduled for retry",cause:o.errors,request:o})}),Ki(()=>Na.execute(i)))})))(Object.assign({count:0,delay:0},t?.retry)))),this.#ce.addEffect(Na.request.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_requested",t,e)}),this.#ce.addEffect(Na.execute.type,({meta:{transaction:e}})=>{this._registerEvent("query_client_job_executing",e)}),this.#ce.addEffect(Na.execute.success.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_completed",t,{payload:e})}),this.#ce.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.#ce.addEffect(Na.cancel.type,({payload:{reason:e},meta:{transaction:t}})=>{this._registerEvent("query_client_job_canceled",t,{reason:e||"no reason provided"})}),this.#ce.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.#ce.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 ci}: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 ii(function(e,h){a++,u||l||f();var m=o=null!=o?o:n();h.add(function(){0!==--a||u||l||(r=vo(d,c))}),m.subscribe(h),!t&&a>0&&(t=new Xr({next:function(e){return m.next(e)},error:function(e){u=!0,f(),r=vo(p,i,e),m.error(e)},complete:function(){l=!0,f(),r=vo(p,s),m.complete()}}),$i(e).subscribe(t))})(e)}}({connector:()=>new pi,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 Hi(this.query(e,t))}getRequest(e){return this.#ce.value[e]}getRequestByRef(e){return Object.values(this.#ce.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.#ce.value[e]&&(t??=`cancelation requested for job: ${e}`,this.#ce.next(Na.cancel(e,t)));else for(const e of Object.keys(this.#ce.value))this.cancel(e,"all transactions requested canceled")}on(e,t){return this.#ce.addEffect(Na[e].type,e=>{t(e,this)})}complete(){this.#pe.unsubscribe()}}const $a={set:Sa("cache/set",(e,t)=>({payload:{key:e,record:t}})),insert:Sa("cache/insert",(e,t)=>({payload:{key:e,entry:t}})),remove:Sa("cache/remove",e=>({payload:e})),invalidate:Sa("cache/invalidate",(e,t)=>({payload:e,meta:{item:t}})),mutate:Sa("cache/mutate",(e,t,n)=>({payload:{...t,key:e},meta:{item:n}})),trim:Sa("cache/trim",e=>({payload:e}))},Ta=(e,t)=>(t.updated??0)-(e.updated??0);class Ra{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class Fa{#ce;#de;get state(){return this.#ce.value}get state$(){return this.#ce.asObservable()}get action$(){return this.#ce.action$}_registerEvent(e,t){this.#de.next(new Ra(e,t?.key,t?.data))}get event$(){return this.#de.asObservable()}constructor(e){const{trimming:t,initial:n}=e??{};this.#ce=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??Ta,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]}}))}($a,n)),t&&this.#ce.addEffect("cache/set",()=>this.#ce.next($a.trim(t))),this.#de=new ci}has(e){return e in this.#ce.value}setItem(e,t){const{args:n,transaction:r,value:i}=t;this.#ce.next($a.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.#ce.value[e]}removeItem(e){this.#ce.next($a.remove(e)),this._registerEvent("query_cache_entry_removed",{key:e})}invalidate(e){const t=e?this.#ce.value[e]:void 0;this.#ce.next($a.invalidate(e,t)),e&&this._registerEvent("query_cache_entry_invalidated",{key:e,data:{previousValue:t?.value}})}mutate(e,t){const n=e in this.#ce.value?this.#ce.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.#ce.next($a.mutate(e,r,n)),this._registerEvent("query_cache_entry_mutated",{key:e,data:{previousValue:n.value,newValue:r,mutation:r}}),()=>this.#ce.next($a.set(e,n))}trim(e){const t=new Set(Object.keys(this.#ce.value));this.#ce.next($a.trim(e));const n=new Set(Object.keys(this.#ce.value)),r=Array.from(t).filter(e=>!n.has(e));this._registerEvent("query_cache_trimmed",{data:{removedKeys:r,criteria:e}})}reset(){this.#ce.reset(),this._registerEvent("query_cache_reset")}complete(){this.#ce.complete(),this.#de.complete()}}class Ua extends ci{key;args;options;#he=Date.now();get created(){return this.#he}#me=rs();get uuid(){return this.#me}constructor(e,t,n){super(),this.key=e,this.args=t,this.options=n}processJob(e){return e.pipe(Ki(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}}),mo(()=>{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=Yo;#pe=new Gr;#ue;#ge;#ve=new ci;#ye={};#Ee;#be;#we=rs();#se;get client(){return this.#ue}_registerEvent(e,t,n){this.#se.next(new ka(e,t,n))}get cache(){return this.#ge}get event$(){return this.#se.asObservable()}constructor(e){this.#se=new ci,this.#Ee=t=>as(e.key(t),this.#we),this.#be=e?.validate??((e=0)=>t=>(t.updated??0)+e>Date.now())(e?.expire),e.client instanceof xa?this.#ue=e.client:(this.#ue=new xa(e.client.fn,{...e.client.options}),this.#pe.add(()=>this.#ue.complete())),this.#pe.add(this.#ue.event$.subscribe({next:e=>this.#se.next(e)})),e.cache instanceof Fa?this.#ge=e.cache:(this.#ge=new Fa(e.cache||{}),this.#pe.add(()=>this.#ge.complete())),this.#pe.add(this.#ge.event$.subscribe({next:e=>this.#se.next(e)}));const t=((e="switch")=>"function"==typeof e?e:(()=>{switch(e){case"concat":return Wo;case"merge":return Ko;case"switch":return Zo;default:throw new Error(`Invalid queue operator: ${e}`)}})())(e.queueOperator);var n,r;this.#pe.add(()=>this.#ve.complete()),this.#pe.add(this.#ve.pipe(bo(e=>{this._registerEvent("query_queued",e)}),oo(e=>!!(e in this.#ye)),t(e=>{const t=this.#ye[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.#ye[e],wi;const o=this.#ue.query(n,{...r,ref:t.uuid});return new ni(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.#ye[e]}),s.add((c=10,void 0===l&&(l=Ei),io(c,c,l)).pipe(oo(()=>!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(Ki(e=>({result:e,task:t})),so(()=>wi)).subscribe(s)})}),(n=()=>!this.#ue.closed,void 0===r&&(r=!1),ii(function(e,t){var i=0;e.subscribe(oi(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.#ge.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?Hi:zi;return new Promise((n,o)=>{t?.signal&&t.signal.addEventListener("abort",()=>o(new Error("Query aborted"))),i(this._query(e,r).pipe(po())).then(n,o)})}persistentQuery(e,t){const n=this.#Ee(e),r=this._query(e,t);return new ni(i=>{i.add(r.subscribe({next:i.next.bind(i),error:i.error.bind(i)}));const o=t?.cache?.validate||this.#be;i.add(this.cache.state$.pipe(oo(e=>n in e),Ki(t=>({...t[n],key:n,status:"cache",hasValidCache:o(t[n],e)}))).subscribe(i))}).pipe(uo((e,t)=>e.transaction===t.transaction&&e.mutated===t.mutated))}generateCacheKey(e){return this.#Ee(e)}mutate(e,t,n){const r=this.#Ee(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.#ge.mutate(r,t)}invalidate(e){this.#ge.invalidate(e&&this.#Ee(e))}complete(){this.#pe.unsubscribe(),this.#se?.complete()}onInvalidate(e){const t=this.#ge.action$.pipe(wa("cache/invalidate")).subscribe(t=>e({detail:{item:t.meta.item}}));return()=>t.unsubscribe()}onMutate(e){const t=this.#ge.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.#Ee(e),r=this._createTask(n,e,t);return this._registerEvent("query_created",n,{args:e,options:t}),r}_createTask(e,t,n){return new ni(r=>{if(n?.signal){if(n?.signal.aborted)return this._registerEvent("query_aborted",e),r.complete();r.add(no(n?.signal,"abort").subscribe(()=>{this._registerEvent("query_aborted",e),r.complete()}))}const i=this.#ge.getItem(e);if(i){this._registerEvent("query_cache_hit",e,{cacheEntry:i});const o=n?.cache?.suppressInvalid??!1,s=(n?.cache?.validate||this.#be)(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.#ye;o?this._registerEvent("query_connected",e,{isExistingTask:!0}):(this.#ye[e]=new Ua(e,t,n),this._registerEvent("query_job_created",e,{taskId:this.#ye[e].uuid,args:t,options:n}));const s=this.#ye[e];r.add(s.subscribe(r)),o||this.#ve.next(e)})}}const Ga=U.object({key:U.string().describe("The key used to identify the service"),uri:U.string().describe("The URI of the service"),id:U.string().optional().describe("The ID of the service"),environment:U.string().optional().describe("The environment of the service"),name:U.string().optional().describe("The name of the service"),scopes:U.array(U.string()).optional().default([]).describe("Endpoint authentication scopes"),tags:U.array(U.string()).optional().describe("Tags for the service")}).describe("A service from the service discovery API").transform(e=>({...e,get defaultScopes(){return e.scopes??[]}})),Ma=U.array(Ga).describe("A list of services from the service discovery API");class ja{#Le;endpoint;http;constructor(e){this.http=e.http,this.endpoint=e.endpoint;const t=e.postProcess;this.#Le=new Ba({client:{fn:()=>this.http.fetch$(this.endpoint??"",{selector:e=>((e,t)=>{const n=Gi(jo(e)).pipe(Ki(e=>Ma.default([]).parse(e)));return t?n.pipe(t):n})(e,t)})},key:()=>"services",expire:3e5})}resolveServices(e){return(e?Hi:zi)(Ba.extractQueryValue(this.#Le.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 So{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 zi(Gi(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 zi(Gi(e(t)))??{};if(n)return new ja({http:n,endpoint:r,postProcess:Ki(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 _o{config;_http;constructor(e,t){super({version:"10.0.1",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:Vo,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=W(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 Do,n=e.env??tc.ContinuesIntegration;t.addConfig({module:Vo,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);const{auth:r}=e;return V(t,e=>{if("defaultCredential"in r&&r.defaultCredential)return void e.setDefaultCredential();if("token"in r&&r.token)return void e.setTokenOnly(r.token);const{clientId:t,tenantId:n}=r;if(!t||!n)throw new Error("clientId and tenantId are required for auth module");if("interactive"in r&&r.interactive){const{server:i}=r;if(!i.port)throw new Error("server.port is required for interactive mode");e.setInteractive({tenantId:n,clientId:t,redirectPort:i.port,onOpen:i.onOpen})}else e.setInteractive({tenantId:n,clientId:t,redirectPort:49741})}),t},ic=async(e,t)=>{const n=rc(e);t&&t(n);return await n.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 Yn(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 on(t);r=(await rn({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:sr});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=ur(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=fr(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 Yn(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:{...sr,"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=ur(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=fr(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:",tn(e.uri))}),s?.start("Publishing application config");const a=await e.json(`/apps/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:sr});return s?.debug("Response:",a),s?.succeed("Tagged application successfully",r.greenBright(`${n}@${i} - ${t}`)),a}catch(e){if(e instanceof Er)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=ur(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=fr(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=k.object({templateEntry:k.string({message:"templateEntry must be a string"}).describe("Main entry point for the portal"),schemaEntry:k.string({message:"schemaEntry must be a string"}).describe("Schema file for portal validation"),assetPath:k.string({message:"assetPath must be a string"}).optional().describe("Asset path for dev/preview builds"),githubRepo:k.string({message:"githubRepo must be a string"}).optional().describe("GitHub repo URL or local git remote"),version:k.string({message:"version must be a string"}).describe("Version from package.json"),timestamp:k.string({message:"timestamp must be a string"}).describe("Current build timestamp (ISO8601)"),commitSha:k.string({message:"commitSha must be a string"}).describe("Current git commit SHA"),annotations:k.record(k.string(),k.string().nullish()).optional().transform(e=>{if(e)return Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e))}).describe("Optional build annotations"),projectPage:k.string({message:"projectPage must be a string"}).optional().describe("Optional project homepage"),allowedExtensions:k.array(k.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:k.record(k.string(),k.unknown()).optional().describe("Optional schema for the portal"),config:k.record(k.string(),k.unknown()).optional().describe("Optional configuration for the portal")}),uc=k.object({name:k.string({message:"name must be a string"}).describe("Short app key (unscoped, derived from package name)"),displayName:k.string({message:"displayName must be a string"}).optional().describe("Full package name, may include scope"),description:k.string({message:"description must be a string"}).optional().describe("Description of the portal"),build:lc}),fc=(e,t)=>{Rt(t,"expected packageJson"),x(t.name,"expected [name] in packageJson"),x(t.version,"expected [version] in packageJson");const n=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/bundle.js":ut(e.root))(e,t),r=t.name.replace(/^@|\w.*\//gm,""),i=t.version,o="build"===e.command?void 0:"/@fs",s=Ft(t)??Ut(),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:kt(),annotations:{...jt()},projectPage:t.homepage,allowedExtensions:zt.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 N(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?P(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",tn(t.path,{relative:!0})),t.manifest}catch(e){if(e instanceof O){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${tn(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?tn(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 N(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.schema??U.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 ",tn(i.path,{relative:!0})),i.config}catch(e){if(e instanceof O){if(!t.config)return n?.succeed(r.dim("âïļ no local portal config applied, using built-in")),{};n?.warn(`failed to load config file ${tn(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 on(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 ir(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:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve portal");const s=await on(n);n?.start("Loading Vite config...");const c=await Tt({root:s.root,command:"build",mode:"production"},s);n?.succeed("Vite config loaded");const l=r||(c.build?.outDir||"dist"),u=a(s.root,l),f={root:s.root,environment:"local",mode:"production",command:"serve",isPreview:!0},p=await pc(f,s,{log:n,manifestPath:e?.manifest}),d=await dc(f,{log:n,config:e?.config});if(n?.debug("Output directory:",u),!S(u))throw new Error(`Build directory does not exist: ${u}\nPlease build the portal first using \`ffc portal build\``);p.build.assetPath=void 0,p.build.templateEntry=`/${p.build.templateEntry}`;const h=await Tt(f,s),m=t(h,{server:{port:i,host:o||h.server?.host||"localhost",fs:{allow:[s.root,u]}}}),g={template:{portal:{id:p.name}},portal:{manifest:p,config:d}};n?.debug("vite config:",m),n?.debug("dev server config:",g),n?.start("Starting preview server...");try{const e=await ir(f,g,{overrides:m,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}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}},gc=async e=>{const{log:t}=e??{},n=await on(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}},vc=async e=>{const{log:t}=e??{};t?.log(r.bold("Starting to build portal"));const{manifest:i,pkg:o,env:s}=await gc({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}},yc=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 vc({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 N(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 hr(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}},Ec=async e=>{const{log:t}=e??{},n=await on(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 pr(e.output,JSON.stringify(i,null,2)),t?.succeed("config written successfully",tn(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:i,pkg:n}},bc=async e=>{const{log:t,portal:n}=e,{config:i}=await Ec({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:",tn(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:sr});t?.debug("Response:",a),t?.succeed("Published portal config")}catch(e){if(e instanceof Er)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=ur(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=fr(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 wc=async e=>{const{log:t,framework:n}=e,i="string"==typeof e.fileOrBundle?new Yn(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:{...sr,"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=ur(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=fr(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)}},Lc=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:",tn(e.uri))}),s?.start("Tagging portal template...");const r=await e.json(`/templates/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:sr});s?.debug("Response:",r),s?.succeed("Tagged portal template successfully"),s?.info("ð",JSON.stringify(r))}catch(e){if(e instanceof Er){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=ur(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=fr(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{tr as ConsoleLogger,tc as FusionEnv,an as buildApplication,vc as buildPortal,mr as bundleApp,yc as bundlePortal,sc as checkApp,rc as configureFramework,vr as generateApplicationConfig,Ec as generatePortalConfig,ic as initializeFramework,sn as loadAppManifest,gc as loadPortalManifest,hr as pack,wr as publishAppConfig,bc as publishPortalConfig,nc as resolveDefaultEnv,Sr as serveApplication,mc as servePortal,Lr as startAppDevServer,hc as startPortalDevServer,cc as tagApplication,Lc as tagPortal,ac as uploadApplication,wc as uploadPortalBundle};
|